/* ==========================================================================
   GRAN MANTRA · Pack legal en ventana (pack-legal.js) · 2026-11-02
   El esquema del de Bahía Dunas con la marca de Gran Mantra: franja noche con el trazo
   dorado del pack, títulos en Cormorant Garamond (var(--gm-display)) y botones en cápsula y mayúsculas (gm-base.css).
   Rev. 2026-11-02 (b): sin Faktum; el degradado dorado solo en «Descargar PDF» (botón principal), filetes en bronce liso.
   01 Ventana · 02 Franja · 03 Hoja y documentos · 04 Pie y QR · 05 Tablet · 06 Teléfono · 07 Visor
   ========================================================================== */

/* 01 · VENTANA */
.pl{--display:var(--gm-display,'Cormorant Garamond',Georgia,serif);--navy:#152486;--noche:#0E1540;--bronce:#B78350;--bronce-dk:#8A5A2B;--oro-claro:#E2C29A;--papel:#FBF8F2;--arena:#F3EDE1;--tinta:#1B2540;--mute:#5E6275;
  --oro:linear-gradient(115deg,#9A6A3B 0%,#C08E59 26%,#F0DAB2 50%,#C08E59 74%,#9A6A3B 100%);
  position:fixed;inset:0;z-index:9500;display:grid;place-items:center;padding:clamp(8px,2vw,28px);font-family:'Montserrat',system-ui,sans-serif;color:var(--tinta)}
.pl[hidden]{display:none}
.pl *,.pl *::before,.pl *::after{box-sizing:border-box}
.pl__fondo{position:absolute;inset:0;background:rgba(9,12,38,.8);backdrop-filter:blur(4px)}
.pl__caja{position:relative;display:flex;flex-direction:column;width:min(1240px,100%);max-height:calc(100vh - 2 * clamp(8px,2vw,28px));max-height:calc(100dvh - 2 * clamp(8px,2vw,28px));
  overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border-radius:26px;background:linear-gradient(120deg,var(--papel),var(--arena) 60%,#EDEFF6);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);animation:pl-entra .35s ease}
@keyframes pl-entra{from{opacity:0;transform:translateY(14px) scale(.985)}}
html.pl-abierto{overflow:hidden}
.pl .gm-ico{width:18px;height:18px;stroke-width:1.6}
.pl :focus-visible{outline:2px solid var(--bronce);outline-offset:3px}

/* 02 · FRANJA: logo, título y la acción principal (descargar) */
.pl__head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:clamp(14px,2.4vw,32px);padding:clamp(14px,2.2vh,22px) clamp(18px,3vw,40px);color:#fff;
  background:var(--franja,none) right 120px top/auto 125% no-repeat,var(--noche)}
.pl__head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--bronce)}
.pl__logo{display:block;width:clamp(84px,8vw,118px);height:auto;flex:none}
.pl__tit{flex:1;min-width:0}
.pl__tit p{margin:0;font-size:clamp(10.5px,.9vw,12px);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--oro-claro)}
.pl__tit h2{margin:8px 0 0;font-family:var(--display);font-weight:500;font-size:clamp(34px,4.2vw,56px);line-height:1;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.pl__bajar{flex:none;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;text-decoration:none;
  font:700 12.5px/1 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--noche);background:var(--oro);background-size:220% 100%;
  box-shadow:0 14px 30px -14px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .25s,background-position .6s}
.pl__bajar:focus-visible{outline-color:#fff}
.pl__cerrar{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(226,194,154,.45);display:grid;place-items:center;cursor:pointer;color:#fff;background:rgba(255,255,255,.06);transition:background .2s,color .2s}
.pl__cerrar:focus-visible{outline-color:#fff}
@media (hover:hover){
  .pl__bajar:hover{transform:translateY(-2px);background-position:100% 0}
  .pl__cerrar:hover{background:var(--oro-claro);color:var(--noche)}
}

/* 03 · HOJA Y DOCUMENTOS (lado a lado) */
/* la carpeta del pack (imagen horizontal) lleva el protagonismo */
.pl__cuerpo{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(18px,2.6vw,36px);align-items:center;padding:clamp(16px,2.6vh,30px) clamp(18px,3vw,40px) 0}
.pl__izq{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1.8vh,18px);min-width:0}
.pl__hoja{margin:0;width:100%;display:flex;justify-content:center}
.pl__hoja img{display:block;width:auto;max-width:100%;height:auto;max-height:min(52vh,560px);border-radius:16px;background:#fff;
  box-shadow:0 22px 50px -24px rgba(14,21,64,.45),0 0 0 1px rgba(183,131,80,.25)}
.pl__docs{display:flex;flex-direction:column;gap:12px;min-width:0}
.pl__hint{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;color:var(--navy)}
.pl__hint .gm-ico{color:var(--bronce)}
.pl__docs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pl__doc{display:flex;flex-direction:column;gap:10px;width:100%;height:100%;padding:16px;border:1px solid rgba(183,131,80,.28);border-radius:18px;font:inherit;text-align:left;cursor:pointer;color:var(--mute);background:#fff;
  box-shadow:0 10px 24px -16px rgba(14,21,64,.45);transition:transform .2s,box-shadow .2s,border-color .2s}
.pl__doc > i{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--bronce-dk);background:radial-gradient(circle at 30% 25%,#fff,var(--papel));border:1px solid rgba(183,131,80,.45)}
.pl__doc > i .gm-ico{width:20px;height:20px;stroke-width:1.4}
.pl__doc span{flex:1;font-size:12px;line-height:1.45}
.pl__doc b{display:block;margin-bottom:4px;font-family:var(--display);font-weight:600;font-size:19px;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:var(--navy)}
.pl__doc em{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 16px;border-radius:999px;font-style:normal;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--navy)}
.pl__doc em .gm-ico{width:15px;height:15px}
@media (hover:hover){
  .pl__doc:hover{transform:translateY(-2px);border-color:var(--bronce);box-shadow:0 18px 30px -16px rgba(14,21,64,.5)}
  .pl__doc:hover em{background:#24389E}
}
.pl__ejido{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:18px;color:#EFE8DA;background:linear-gradient(160deg,#15254C,var(--noche));box-shadow:0 14px 30px -18px rgba(14,21,64,.7)}
.pl__ejido > i{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--oro-claro);background:rgba(255,255,255,.06);border:1px solid rgba(226,194,154,.4)}
.pl__ejido > i .gm-ico{width:22px;height:22px;stroke-width:1.4}
.pl__ejido > div{flex:1;min-width:0}
.pl__ejido b{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.pl__ejido p{margin:5px 0 0;font-size:12px;line-height:1.5;color:rgba(239,232,218,.82)}
.pl__ejido strong{color:var(--oro-claro);font-weight:700}

/* 04 · PIE: nota legal y QR */
.pl__pie{margin-top:auto;padding:clamp(12px,2vh,22px) clamp(18px,3vw,40px)}
.pl__pie p{margin:0;font-size:11px;line-height:1.5;color:var(--mute)}
.pl__qr{flex:none;margin:0;display:flex;align-items:center;gap:16px;padding:10px 18px 10px 10px;border-radius:20px;background:#fff;box-shadow:0 10px 22px -14px rgba(14,21,64,.45)}
.pl__qr[hidden]{display:none}
.pl__qr-img{display:block;width:clamp(120px,18vh,170px);padding:10px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 2px var(--oro-claro)}
.pl__qr-img svg{display:block;width:100%;height:auto}
.pl__qr-img svg path{fill:var(--noche)}
.pl__qr figcaption{max-width:170px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;font-weight:600;line-height:1.35;color:var(--mute)}
.pl__qr-liga{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy,#152486);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.pl__qr-liga .gm-ico{width:14px;height:14px;flex:none}
@media (hover:hover){.pl__qr-liga:hover{color:var(--noche)}}

/* 05 · TABLET: la hoja arriba y los documentos abajo */
@media (max-width:980px){
  .pl__cuerpo{grid-template-columns:minmax(0,1fr)}
  .pl__hoja img{max-height:34vh}
}

/* 06 · TELÉFONO: pantalla completa, tarjetas en una columna y «Descargar PDF» fijo abajo */
@media (max-width:640px){
  .pl{padding:0}
  .pl__caja{border-radius:0;height:100vh;height:100dvh;max-height:none}
  .pl__head{flex-wrap:wrap;gap:10px 14px;padding:12px 16px;background:var(--franja,none) right -90px top/auto 105% no-repeat,var(--noche)}
  .pl__logo{width:64px}
  .pl__tit p{font-size:9.5px;letter-spacing:.14em}
  .pl__tit h2{font-size:28px;white-space:nowrap}
  .pl__bajar{order:3;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:3;justify-content:center}
  .pl__cuerpo{padding:14px 16px 0}
  .pl__hoja img{max-height:30vh}
  .pl__docs ul{grid-template-columns:minmax(0,1fr)}
  .pl__doc{flex-direction:row;align-items:center}
  .pl__doc em{align-self:center}
  .pl__pie{padding:16px 16px calc(84px + env(safe-area-inset-bottom))}
  .pl__qr{margin-top:12px;padding:10px 14px 10px 10px;border-radius:16px;gap:14px}
  .pl__qr-img{width:112px;padding:7px;border-radius:12px}
  .pl__qr figcaption{max-width:none;font-size:12px}
}

/* 07 · VISOR: el documento se abre dentro de la misma ventana (encima del pack o de la ventana del lote) */
.plv{position:fixed;inset:0;z-index:9600;display:grid;place-items:center;padding:clamp(8px,2vw,28px);font-family:'Montserrat',system-ui,sans-serif}
.plv[hidden]{display:none}
.plv__fondo{position:absolute;inset:0;background:rgba(9,12,38,.85)}
.plv__caja{position:relative;display:flex;flex-direction:column;width:min(1240px,100%);height:calc(100vh - 2 * clamp(8px,2vw,28px));height:calc(100dvh - 2 * clamp(8px,2vw,28px));
  border-radius:22px;overflow:hidden;background:#FBF8F2;box-shadow:0 40px 90px -30px rgba(0,0,0,.7);animation:pl-entra .3s ease}
.plv__barra{position:relative;display:flex;align-items:center;gap:16px;padding:10px clamp(12px,2vw,20px);background:#0E1540;color:#fff}
.plv__barra::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#B78350}
.plv__volver,.plv__fuera{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border:0;border-radius:999px;cursor:pointer;text-decoration:none;
  font:700 12px/1 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#0E1540;background:#fff;transition:background .2s}
.plv__fuera{margin-left:auto;color:#fff;background:transparent;box-shadow:inset 0 0 0 1.5px rgba(226,194,154,.55)}
.plv__fuera[hidden]{display:none}
.plv .gm-ico{width:18px;height:18px;stroke-width:1.6}
@media (hover:hover){.plv__volver:hover{background:#E2C29A}.plv__fuera:hover{background:rgba(255,255,255,.08)}}
.plv__volver:focus-visible,.plv__fuera:focus-visible{outline:2px solid #fff;outline-offset:3px}
.plv__barra b{min-width:0;font-family:var(--gm-display,'Cormorant Garamond',Georgia,serif);font-weight:600;font-size:20px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plv__marco{flex:1;min-height:0;background:#525659;-webkit-overflow-scrolling:touch;overflow:auto}
.plv__marco iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.plv__marco iframe[hidden],.plv__hojas[hidden]{display:none}
.plv__hojas{display:flex;flex-direction:column;align-items:center;gap:14px;padding:clamp(10px,2vw,24px)}
.plv__hojas img{display:block;width:min(900px,100%);height:auto;background:#fff;box-shadow:0 10px 26px -12px rgba(0,0,0,.6)}
@media (max-width:640px){.plv{padding:0}.plv__caja{border-radius:0;height:100vh;height:100dvh}.plv__fuera span{display:none}.plv__fuera{padding:0 12px}}
@media (prefers-reduced-motion:reduce){.plv__caja,.pl__caja{animation:none}}
