/* hotels-in-chile.com — 1win Costa Rica — hoja de estilo — hotel 4944 */

/* === tipografia === */
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 800;font-display:swap;
src:url(/assets/fonts/intertight-latin.woff2) format('woff2');
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400 800;font-display:swap;
src:url(/assets/fonts/intertight-latin-ext.woff2) format('woff2');
unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* === paleta === */
:root{
  --petroleo:#0c2a30;--petroleo2:#123a42;--petroleo3:#1a4c55;--petroleo4:#23616c;
  --linea:#1f5a64;--linea2:#2b6f7a;
  --marfil:#eef3f1;--texto:#bdd0cf;--suave:#95aeae;--tenue:#7a9494;
  --coral:#ff7a59;--coralHondo:#e05a3a;--coralSuave:rgba(255,122,89,.14);
  --arena:#e8d5b5;--arenaHondo:#c9b08a;--arenaSuave:rgba(232,213,181,.12);
  --planta:1150px;--r1:4px;--r2:8px;--r3:14px;
  --ui:'Inter Tight',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fs:17px;--nivel:clamp(48px,5.6vw,86px);--marquesinaH:66px;
  color-scheme:dark;
}

/* === base === */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--marquesinaH) + 24px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0;font-family:var(--ui);font-size:var(--fs);line-height:1.76;color:var(--texto);
background:var(--petroleo);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
overflow-x:hidden;overflow-wrap:break-word;font-feature-settings:'kern' 1,'liga' 1;
padding-bottom:calc(64px + env(safe-area-inset-bottom))}
@media(min-width:920px){body{padding-bottom:0}}
img,svg,video{max-width:100%;height:auto;display:block}
svg{width:20px;height:20px;flex:none}
a{color:var(--arena);text-decoration:none;transition:color .15s}
a:hover{color:var(--coral);text-decoration:underline;text-underline-offset:3px}
p{margin:0 0 1.18em}
ul,ol{margin:0 0 1.2em;padding-left:1.18em}
li{margin:.48em 0}
strong,b{color:var(--marfil);font-weight:700}
em{font-style:italic}
code,kbd{font-family:var(--mono);font-size:.84em;background:var(--petroleo3);padding:.14em .46em;
border-radius:var(--r1);color:var(--marfil)}
hr{border:0;height:1px;background:var(--linea);margin:32px 0}
::selection{background:var(--coralSuave);color:var(--marfil)}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
h1,h2,h3,h4{color:var(--marfil);margin:0 0 .5em;font-weight:700;line-height:1.16;letter-spacing:-.026em}
h1{font-size:clamp(33px,4.6vw,56px);line-height:1.04;letter-spacing:-.036em}
h2{font-size:clamp(24px,2.8vw,35px);letter-spacing:-.03em}
h3{font-size:clamp(17.5px,1.7vw,20.5px)}
h4{font-size:15.6px}
.antetitulo{display:block;font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;
letter-spacing:.24em;color:var(--coral);margin:0 0 15px}

/* === estructura === */
.planta{width:100%;max-width:var(--planta);margin:0 auto;padding:0 22px}
.aparte{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.atajo{position:absolute;left:-9999px;top:0;z-index:400;background:var(--coral);color:var(--petroleo);
font-weight:700;padding:12px 20px}
.atajo:focus{left:0}

/* === etiquetas y botones === */
.etiqueta{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border:1px solid var(--linea2);
border-radius:var(--r1);font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;
letter-spacing:.12em;color:var(--tenue);background:transparent}
.etiqueta--coral{border-color:var(--coral);color:var(--coral);background:var(--coralSuave)}
.etiqueta--arena{border-color:var(--arenaHondo);color:var(--arena);background:var(--arenaSuave)}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px}
.mayoria{display:inline-flex;align-items:center;justify-content:center;min-width:33px;height:21px;padding:0 6px;
border-radius:var(--r1);background:var(--coral);color:var(--petroleo);font-family:var(--mono);font-size:10.4px;font-weight:700}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--ui);
font-weight:700;font-size:14.8px;line-height:1;cursor:pointer;border:1px solid transparent;padding:15px 28px;
border-radius:var(--r2);text-decoration:none;white-space:nowrap;letter-spacing:.01em;
transition:background .16s,color .16s,border-color .16s}
.boton:hover{text-decoration:none}
.boton svg{width:16px;height:16px}
.boton--coral{background:var(--coral);border-color:var(--coral);color:var(--petroleo)}
.boton--coral:hover{background:#ff8f72;border-color:#ff8f72;color:var(--petroleo)}
.boton--arena{background:var(--arena);border-color:var(--arena);color:var(--petroleo)}
.boton--arena:hover{background:#f2e3c9;border-color:#f2e3c9}
.boton--linea{background:transparent;border-color:var(--linea2);color:var(--marfil)}
.boton--linea:hover{border-color:var(--arena);color:var(--arena)}
.boton--ancho{padding:18px 34px;font-size:15.6px}
.boton--breve{padding:10px 17px;font-size:12.8px}
.botones{display:flex;flex-wrap:wrap;gap:13px;margin:28px 0}

/* === faja legal === */
.faja{background:var(--petroleo2);color:var(--tenue);font-size:12.4px;padding:9px 0;border-bottom:1px solid var(--linea)}
.faja__in{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;text-align:center}
.faja b{color:var(--arena);font-weight:700}

/* === marquesina (cabecera) === */
.marquesina{position:sticky;top:0;z-index:150;background:rgba(12,42,48,.94);
backdrop-filter:saturate(150%) blur(10px);-webkit-backdrop-filter:saturate(150%) blur(10px);
border-bottom:1px solid var(--linea)}
.marquesina__in{display:flex;align-items:center;gap:14px;height:var(--marquesinaH)}
.enseigne{display:inline-flex;align-items:center;gap:13px;flex:none}
.enseigne img{box-sizing:content-box;height:19px;width:auto;background:var(--petroleo3);padding:10px 13px;
border-radius:var(--r2);border:1px solid var(--linea2)}
.enseigne span{display:none;font-family:var(--mono);font-size:10.2px;font-weight:700;text-transform:uppercase;
letter-spacing:.16em;color:var(--marfil)}
@media(min-width:680px){.enseigne span{display:inline}}
.marquesina__acts{display:flex;align-items:center;gap:10px;margin-left:auto}
.marquesina__acts .boton--linea{display:none}
@media(min-width:560px){.marquesina__acts .boton--linea{display:inline-flex}}

/* === ascensor (indice) === */
.ascensor{display:none}
@media(min-width:1180px){
.ascensor{display:block;position:fixed;right:24px;bottom:24px;z-index:140;width:126px;
background:linear-gradient(180deg,var(--petroleo3),var(--petroleo2));border:1px solid var(--linea2);
border-radius:var(--r3);padding:12px 12px 14px;box-shadow:0 24px 44px -28px rgba(0,0,0,.9)}
.ascensor__tablero{display:flex;align-items:center;justify-content:center;gap:8px;height:34px;margin-bottom:10px;
background:var(--petroleo);border:1px solid var(--linea);border-radius:var(--r1);
font-family:var(--mono);font-size:13px;font-weight:700;color:var(--coral);letter-spacing:.08em}
.ascensor__tablero small{font-size:9px;color:var(--tenue);letter-spacing:.14em}
.ascensor ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ascensor li{margin:0}
.ascensor a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
background:var(--petroleo);border:1px solid var(--linea2);color:var(--texto);font-family:var(--mono);
font-size:10.4px;font-weight:700;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s}
.ascensor a:hover{background:var(--petroleo4);color:var(--marfil);text-decoration:none}
.ascensor a.encendido{background:var(--coral);color:var(--petroleo);box-shadow:0 0 0 3px var(--coralSuave)}
}

/* === lobby (portada) === */
.lobby{padding:clamp(34px,4.6vw,64px) 0 0}
.lobby__grid{display:grid;gap:clamp(24px,3vw,44px);grid-template-columns:minmax(0,1fr);align-items:center}
@media(min-width:960px){.lobby__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.lobby h1 u{text-decoration:none;color:var(--arena)}
.lobby__texto{font-size:clamp(16px,1.35vw,18.4px);color:var(--suave);max-width:55ch;margin:0 0 4px}
.lobby__pie{margin:0;font-size:12.4px;color:var(--tenue);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.postal{position:relative;border-radius:var(--r3);overflow:hidden;border:1px solid var(--linea2)}
.postal img{width:100%;aspect-ratio:1200/655;object-fit:cover}
.postal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 14px;
background:linear-gradient(to top,rgba(12,42,48,.92),rgba(12,42,48,0));
font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--texto)}
.postal figcaption b{color:var(--coral)}
/* placas con cifras */
.placas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin:clamp(26px,3vw,40px) 0 0;
background:var(--linea);border:1px solid var(--linea);border-radius:var(--r2);overflow:hidden}
@media(min-width:860px){.placas{grid-template-columns:repeat(4,minmax(0,1fr))}}
.placa{background:var(--petroleo2);padding:20px 22px}
.placa b{display:block;font-size:clamp(25px,2.8vw,34px);font-weight:700;color:var(--marfil);
letter-spacing:-.04em;line-height:1.04;font-variant-numeric:tabular-nums}
.placa b i{font-style:normal;color:var(--coral)}
.placa span{display:block;margin-top:7px;font-family:var(--mono);font-size:10px;color:var(--tenue);
text-transform:uppercase;letter-spacing:.13em;line-height:1.55}

/* === directorio === */
.directorio{padding:var(--nivel) 0 0}
.directorio__cab{display:flex;align-items:baseline;gap:14px;padding-bottom:11px;
border-bottom:1px solid var(--linea2);margin-bottom:4px}
.directorio__cab h2{margin:0;font-family:var(--mono);font-size:10.8px;font-weight:700;
text-transform:uppercase;letter-spacing:.22em;color:var(--arena)}
.directorio__cab span{margin-left:auto;font-family:var(--mono);font-size:10.2px;color:var(--tenue)}
.directorio ol{list-style:none;margin:0;padding:0;counter-reset:dr;
display:grid;grid-template-columns:minmax(0,1fr);gap:0 44px}
@media(min-width:760px){.directorio ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
.directorio li{counter-increment:dr;margin:0}
.directorio a{display:flex;align-items:baseline;gap:12px;padding:12px 0;font-size:15px;font-weight:600;
color:var(--texto);border-bottom:1px solid var(--linea);line-height:1.4}
.directorio a::before{content:'Piso ' counter(dr,decimal-leading-zero);flex:none;font-family:var(--mono);
font-size:10px;font-weight:700;color:var(--coral);letter-spacing:.09em}
.directorio a em{flex:1;font-style:normal;border-bottom:1px dotted var(--linea2);transform:translateY(-4px)}
.directorio a:hover{color:var(--marfil);text-decoration:none}

/* === pisos (capitulos) === */
.piso{padding:var(--nivel) 0 0;scroll-margin-top:calc(var(--marquesinaH) + 22px)}
.piso__cab{display:flex;align-items:flex-start;gap:clamp(16px,2.4vw,26px);margin-bottom:clamp(20px,2.6vw,30px)}
.piso__numero{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;
width:74px;padding:12px 0 10px;background:var(--petroleo2);border:1px solid var(--arenaHondo);
border-radius:var(--r2);color:var(--arena)}
.piso__numero b{font-family:var(--mono);font-size:22px;font-weight:700;line-height:1;color:var(--arena)}
.piso__numero span{margin-top:5px;font-family:var(--mono);font-size:8.6px;font-weight:700;
text-transform:uppercase;letter-spacing:.16em;color:var(--tenue)}
.piso__tit{min-width:0;padding-top:4px}
.piso__tit h2{margin:0 0 7px}
.piso__tit p{margin:0;font-size:15.4px;color:var(--suave);max-width:60ch}
.piso__cuerpo>*:last-child{margin-bottom:0}

/* === paneles === */
.panel{background:var(--petroleo2);border:1px solid var(--linea);border-radius:var(--r2);padding:22px 24px}
.panel h3,.panel h4{margin-top:0}
.panel p:last-child,.panel ul:last-child,.panel ol:last-child{margin-bottom:0}
.panel--arena{border-color:var(--arenaHondo);background:var(--arenaSuave)}
.dos{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:0 0 1.6em}
@media(min-width:760px){.dos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tres{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:0 0 1.6em}
@media(min-width:620px){.tres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.tres{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ficha del hotel */
.ficha{margin:0 0 1.7em;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;
background:var(--linea);border:1px solid var(--linea);border-radius:var(--r2);overflow:hidden}
@media(min-width:900px){.ficha{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ficha>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 18px;background:var(--petroleo2)}
@media(min-width:560px){.ficha>div{grid-template-columns:152px minmax(0,1fr);gap:18px;align-items:baseline}}
.ficha dt{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;
letter-spacing:.13em;color:var(--tenue)}
.ficha dd{margin:0;color:var(--marfil);font-size:15px;line-height:1.55}

/* llegada (pasos como lista de habitaciones) */
.llegada{list-style:none;margin:0 0 1.7em;padding:0;counter-reset:lg;
border-top:1px solid var(--linea2)}
.llegada li{counter-increment:lg;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:4px 22px;
padding:18px 0;border-bottom:1px solid var(--linea)}
@media(min-width:680px){.llegada li{grid-template-columns:74px minmax(0,1fr);align-items:start}}
.llegada li::before{content:counter(lg,decimal-leading-zero);display:flex;align-items:center;justify-content:center;
width:74px;height:40px;background:var(--petroleo2);border:1px solid var(--linea2);border-radius:var(--r2);
font-family:var(--mono);font-size:13px;font-weight:700;color:var(--arena)}
.llegada b{display:block;color:var(--marfil);font-size:16.4px;margin-bottom:3px;letter-spacing:-.022em}
.llegada p{margin:0;font-size:14.6px;color:var(--suave)}

/* recados (avisos) */
.recado{display:flex;gap:14px;margin:0 0 1.7em;padding:17px 20px;border:1px solid var(--coral);
border-left:4px solid var(--coral);border-radius:var(--r2);background:var(--coralSuave)}
.recado svg{width:19px;height:19px;color:var(--coral);margin-top:3px}
.recado p{margin:0;font-size:15.2px}
.recado--arena{border-color:var(--arenaHondo);border-left-color:var(--arena);background:var(--arenaSuave)}
.recado--arena svg{color:var(--arena)}

/* tarifas (bonificaciones) */
.tarifas{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);margin:0 0 1.8em}
@media(min-width:880px){.tarifas{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tarifa{background:var(--petroleo2);border:1px solid var(--linea);border-radius:var(--r2);
padding:22px 24px;display:flex;flex-direction:column}
.tarifa__cifra{display:flex;align-items:baseline;gap:10px;padding-bottom:12px;margin-bottom:14px;
border-bottom:1px dotted var(--linea2)}
.tarifa__cifra b{font-size:clamp(31px,3.6vw,42px);font-weight:700;color:var(--coral);line-height:1;
letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.tarifa--b .tarifa__cifra b{color:var(--arena)}
.tarifa--c .tarifa__cifra b{color:var(--marfil)}
.tarifa__cifra span{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;
letter-spacing:.15em;color:var(--tenue)}
.tarifa h3{margin:0 0 7px;font-size:17px}
.tarifa p{font-size:14.4px;color:var(--suave);margin:0 0 15px}
.tarifa .etiquetas{margin-top:auto}

/* banda de foto */
.banda{position:relative;margin:0 0 1.8em;border-radius:var(--r3);overflow:hidden;border:1px solid var(--linea2)}
.banda img{width:100%;aspect-ratio:1500/560;object-fit:cover}
.banda figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;gap:12px;align-items:baseline;
padding:30px 20px 14px;background:linear-gradient(to top,rgba(12,42,48,.94),rgba(12,42,48,0));
font-size:13px;color:var(--texto)}
.banda figcaption b{flex:none;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;
letter-spacing:.15em;color:var(--coral)}

/* listados (tablas) */
.listado{overflow-x:auto;margin:0 0 1.7em;-webkit-overflow-scrolling:touch;border:1px solid var(--linea);
border-radius:var(--r2)}
table{border-collapse:collapse;width:100%;min-width:540px;font-size:15px}
caption{caption-side:bottom;padding:12px 18px;font-size:12.4px;color:var(--tenue);text-align:left;
background:var(--petroleo2);border-top:1px solid var(--linea)}
th,td{padding:13px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linea)}
thead th{background:var(--petroleo3);color:var(--arena);font-family:var(--mono);font-size:10px;font-weight:700;
text-transform:uppercase;letter-spacing:.13em;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--petroleo2)}
td:first-child{font-weight:700;color:var(--marfil)}
.monto{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--marfil);font-weight:700}
.monto--coral{color:var(--coral)}
tr.primera td{background:var(--coralSuave)}
tr.primera:hover td{background:var(--coralSuave)}

/* cuenta (medios de pago) */
.cuenta{margin:0 0 1.8em;background:var(--petroleo2);border:1px solid var(--linea);border-radius:var(--r2);
padding:4px 22px}
.cuenta__linea{display:grid;grid-template-columns:minmax(0,1fr);gap:5px 18px;padding:16px 0;
border-bottom:1px dotted var(--linea2)}
@media(min-width:800px){.cuenta__linea{grid-template-columns:52px 184px minmax(0,1fr) 92px;align-items:baseline}}
.cuenta__linea:last-child{border-bottom:0}
.cuenta__linea i{font-family:var(--mono);font-style:normal;font-size:10.2px;font-weight:700;color:var(--coral);
letter-spacing:.06em}
.cuenta__linea b{color:var(--marfil);font-size:15.4px;letter-spacing:-.02em}
.cuenta__linea small{font-size:13.4px;color:var(--suave);line-height:1.58}
.cuenta__linea em{font-style:normal;font-family:var(--mono);font-size:11.4px;font-weight:700;color:var(--arena);
white-space:nowrap}
@media(min-width:800px){.cuenta__linea em{text-align:right}}

/* suites (juegos) */
.rotulo{display:flex;align-items:baseline;gap:12px;margin:0 0 16px;padding-bottom:9px;
border-bottom:1px solid var(--linea2)}
.rotulo h3{margin:0;font-size:16.4px}
.rotulo span{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--tenue);
text-transform:uppercase;letter-spacing:.13em}
.suites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 28px;padding:0;list-style:none}
@media(min-width:620px){.suites{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.suites{grid-template-columns:repeat(5,minmax(0,1fr))}}
.suite{margin:0;background:var(--petroleo2);border:1px solid var(--linea);border-radius:var(--r2);overflow:hidden;
transition:border-color .18s,transform .18s}
.suite:hover{border-color:var(--arenaHondo);transform:translateY(-3px)}
.suite img{width:100%;aspect-ratio:240/327;object-fit:cover}
.suite__txt{padding:11px 13px 13px;border-top:1px solid var(--linea)}
.suite b{display:block;font-size:13.2px;color:var(--marfil);line-height:1.26;letter-spacing:-.018em}
.suite small{display:block;margin-top:3px;padding-top:3px;border-top:1px solid var(--coralSuave);
font-family:var(--mono);font-size:9.2px;color:var(--tenue);text-transform:uppercase;letter-spacing:.1em}
.casas{margin:0;padding:18px 22px;border:1px solid var(--linea);border-left:4px solid var(--arena);
border-radius:var(--r2);background:var(--petroleo2);font-size:13.6px;color:var(--suave)}
.casas b{display:block;font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;
letter-spacing:.16em;color:var(--arena);margin-bottom:6px}

/* listas */
.si,.no,.guion{list-style:none;padding:0;margin:0 0 1.35em}
.si li,.no li,.guion li{position:relative;padding-left:27px;margin:.56em 0}
.si li::before{content:'';position:absolute;left:1px;top:.6em;width:9px;height:5px;
border-left:2px solid var(--arena);border-bottom:2px solid var(--arena);transform:rotate(-45deg)}
.no li::before{content:'\00d7';position:absolute;left:1px;top:-2px;color:var(--coral);font-size:16px;font-weight:700}
.guion li::before{content:'';position:absolute;left:0;top:.86em;width:14px;height:1px;background:var(--linea2)}

/* conserjeria */
.puestos{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:0 0 1.6em}
@media(min-width:760px){.puestos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.puesto{background:var(--petroleo2);border:1px solid var(--linea);border-radius:var(--r2);padding:20px 22px;
border-top:3px solid var(--coral)}
.puesto:nth-child(2){border-top-color:var(--arena)}
.puesto:nth-child(3){border-top-color:var(--linea2)}
.puesto b{display:block;color:var(--marfil);font-size:16.2px;margin:12px 0 5px;letter-spacing:-.02em}
.puesto span{display:block;font-size:13.6px;color:var(--suave)}

/* consultas */
.conserje{margin:0 0 1.6em;counter-reset:cs;display:grid;gap:0;grid-template-columns:minmax(0,1fr)}
.conserje__item{counter-increment:cs;padding:20px 0;border-bottom:1px solid var(--linea)}
.conserje__item:first-child{border-top:1px solid var(--linea2)}
.conserje h3{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;margin:0 0 10px;font-size:16.2px;line-height:1.44}
.conserje h3::before{content:counter(cs,decimal-leading-zero);display:flex;align-items:center;justify-content:center;
width:44px;height:28px;background:var(--petroleo2);border:1px solid var(--linea2);border-radius:var(--r1);
font-family:var(--mono);font-size:10.4px;font-weight:700;color:var(--coral)}
.conserje p{margin:0 0 0 58px;font-size:14.6px;color:var(--suave)}
@media(max-width:560px){.conserje p{margin-left:0}}

/* estrellas (nota final) */
.veredicto{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);margin:0 0 1.9em;align-items:center}
@media(min-width:760px){.veredicto{grid-template-columns:auto minmax(0,1fr);gap:38px}}
.veredicto__caja{background:var(--petroleo2);border:1px solid var(--arenaHondo);border-radius:var(--r2);
padding:24px 30px;text-align:center;justify-self:start}
.veredicto__caja b{display:block;font-size:clamp(44px,5.6vw,60px);font-weight:700;color:var(--arena);
line-height:.96;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.veredicto__caja span{display:block;margin-top:8px;font-family:var(--mono);font-size:9.6px;font-weight:700;
text-transform:uppercase;letter-spacing:.18em;color:var(--tenue)}
.veredicto__texto h3{margin:0 0 9px;font-size:20px}
.veredicto__texto p{margin:0;font-size:15.2px;color:var(--suave)}
.estrellas{list-style:none;margin:0 0 1.9em;padding:0;border-top:1px solid var(--linea2)}
.estrella{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:6px 20px;padding:15px 0;
border-bottom:1px solid var(--linea)}
@media(min-width:680px){.estrella{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}}
.estrella b{font-size:14.8px;font-weight:600;color:var(--marfil)}
.astros{position:relative;display:block;width:126px;height:22px}
.astros__capa{position:absolute;left:0;top:0;display:flex;gap:4px;height:22px;overflow:hidden;white-space:nowrap}
.astros__capa svg{width:22px;height:22px;flex:none}
.astros__hueco{color:var(--linea2);width:126px}
.astros__lleno{color:var(--arena);width:0;transition:width .95s cubic-bezier(.22,1,.36,1)}
.estrella var{font-style:normal;font-family:var(--mono);font-size:13.4px;font-weight:700;color:var(--arena);
font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.balcon{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.balcon{grid-template-columns:repeat(2,minmax(0,1fr))}}
.balcon>div{background:var(--petroleo2);border:1px solid var(--linea);border-radius:var(--r2);padding:20px 22px}
.balcon h4{margin:0 0 12px;font-family:var(--mono);font-size:10.2px;font-weight:700;
text-transform:uppercase;letter-spacing:.17em}
.balcon>div:first-child h4{color:var(--arena)}
.balcon>div:last-child h4{color:var(--coral)}
.balcon ul{margin:0;font-size:14.6px}
.balcon li:last-child{margin-bottom:0}

/* despedida */
.despedida{padding:var(--nivel) 0 0}
.despedida__caja{position:relative;overflow:hidden;border-radius:var(--r3);border:1px solid var(--arenaHondo);
background:var(--petroleo2);padding:clamp(32px,4.2vw,58px) clamp(22px,3vw,44px);text-align:center}
.despedida__caja::before{content:'';position:absolute;left:50%;top:-120px;width:min(660px,120%);height:300px;
transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(255,122,89,.22),transparent 70%)}
.despedida h2{color:var(--marfil);max-width:18ch;margin:0 auto 14px;position:relative}
.despedida .antetitulo{position:relative}
.despedida p{max-width:58ch;margin:0 auto 4px;color:var(--suave);position:relative}
.despedida .botones{justify-content:center;margin-bottom:12px;position:relative}
.despedida small{display:block;font-size:12.4px;color:var(--tenue);position:relative}

/* === recibidor (pie) === */
.recibidor{background:var(--petroleo2);border-top:1px solid var(--linea2);color:var(--suave);
padding:clamp(34px,4vw,50px) 0 22px;font-size:14px;margin-top:var(--nivel)}
.recibidor__cols{display:grid;gap:30px;grid-template-columns:minmax(0,1fr)}
@media(min-width:860px){.recibidor__cols{grid-template-columns:1.9fr 1fr 1fr}}
.recibidor h4{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;
letter-spacing:.17em;color:var(--arena);margin-bottom:13px;padding-bottom:8px;border-bottom:1px solid var(--linea)}
.recibidor ul{list-style:none;margin:0;padding:0}
.recibidor li{margin:.42em 0}
.recibidor a{color:var(--texto);font-size:13.8px}
.recibidor a:hover{color:var(--coral)}
.recibidor__quien p{font-size:13.2px;margin:15px 0}
.recibidor__fin{margin-top:28px;padding-top:18px;border-top:1px solid var(--linea);display:flex;
justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:12.4px;color:var(--tenue)}
.recibidor__fin p{margin:0}
.recibidor__fin span{display:inline-flex;align-items:center;gap:8px}

/* === maletero movil === */
.maletero{position:fixed;left:0;right:0;bottom:0;z-index:165;display:flex;gap:10px;padding:10px 14px;
padding-bottom:calc(10px + env(safe-area-inset-bottom));background:rgba(12,42,48,.97);
border-top:1px solid var(--arenaHondo)}
.maletero .boton{flex:1;padding:13px 10px;font-size:13.2px}
@media(min-width:920px){.maletero{display:none}}

/* subir */
.subir{position:fixed;left:18px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:155;
width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
background:var(--petroleo3);border:1px solid var(--linea2);color:var(--arena);cursor:pointer;
opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}
.subir.vista{opacity:1;visibility:visible;transform:none}
.subir:hover{background:var(--coral);color:var(--petroleo);border-color:var(--coral)}
@media(min-width:920px){.subir{bottom:24px;left:24px}}

/* === impresion === */
@media print{
 body{background:#fff;color:#111;padding:0}
 .marquesina,.faja,.ascensor,.maletero,.subir,.botones,.despedida,.directorio{display:none!important}
 .panel,.tarifa,.suite,.balcon>div,.listado,.ficha,.ficha>div,.puesto,.cuenta,.veredicto__caja,.casas,.placas,.placa{
   background:#fff;border-color:#bbb}
 .banda figcaption,.postal figcaption{position:static;background:#fff;color:#111;padding:8px 0}
 .piso__numero{background:#fff;border-color:#111;color:#111}
 .piso__numero b{color:#111}
 .astros__hueco{color:#ccc}
 .astros__lleno{color:#111}
 thead th{background:#fff;color:#111;border-bottom:1px solid #111}
 h1,h2,h3,h4,strong,b,td,dd,var{color:#111}
 .tarifa__cifra b,.veredicto__caja b,.antetitulo{color:#111}
 a{color:#111;text-decoration:underline}
 .recibidor{background:#fff}
}
