/* =========================================================================
   HOSTAL EL DESCANSO — portada, dos temas sobre una sola estructura
   tema "b" = La casa de tablas      → antofagastahostal.cl
   tema "a" = La pieza con la luz    → hostaleldescanso.cl
   Fuente única: /root/hostal-portada/  ·  build.sh genera los dos sitios
   ========================================================================= */

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
img{max-width:100%;display:block;height:auto}
button,input,select{font:inherit;color:inherit}

/* ---------- TEMA B · La casa de tablas ---------- */
html[data-tema="b"]{
  --fondo:#FBF7EF; --fondo2:#F2EADB; --fondo3:#20211F;
  --tinta:#20211F; --tinta2:#4A4B47; --tinta3:#7B7A74;
  --acento:#0E6E9C; --acento-d:#0A5679; --acento-l:#5FB0DC;
  --madera:#B8763A; --linea:#DDD3C0; --borde:#20211F;
  --sobre-oscuro:#F6F1E6; --sobre-oscuro2:#C3BDB0;
  --radio:2px; --borde-g:2px;
  --disp:"Bricolage Grotesque",Georgia,serif; --body:"Karla",system-ui,sans-serif;
  --peso-disp:800; --track-disp:-.035em;
}
/* ---------- TEMA A · La pieza con la luz encendida ---------- */
html[data-tema="a"]{
  --fondo:#F6EFE4; --fondo2:#EDE3D3; --fondo3:#17120E;
  --tinta:#241D16; --tinta2:#5C5145; --tinta3:#8A7C6C;
  --acento:#5F6B52; --acento-d:#4A5440; --acento-l:#E8A33D;
  --madera:#B07C3A; --linea:#DFD3C0; --borde:#241D16;
  --sobre-oscuro:#F6EFE4; --sobre-oscuro2:#CFC2AE;
  --radio:0px; --borde-g:1px;
  --disp:"Instrument Serif",Georgia,serif; --body:"Karla",system-ui,sans-serif;
  --peso-disp:400; --track-disp:-.015em;
}

html{scroll-behavior:smooth}
body{
  background:var(--fondo);color:var(--tinta);font-family:var(--body);
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

h1,h2,h3{font-family:var(--disp);font-weight:var(--peso-disp);letter-spacing:var(--track-disp);line-height:1.06}
a{color:var(--acento);text-decoration-thickness:1px;text-underline-offset:3px}

.skip{position:absolute;left:-9999px;top:0;background:var(--tinta);color:#fff;padding:12px 18px;z-index:99}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--acento);outline-offset:2px}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:0;border-radius:var(--radio);padding:14px 22px;cursor:pointer;
  font-family:var(--body);font-weight:700;font-size:1rem;line-height:1.2;
  text-decoration:none;min-height:48px;transition:background .18s,transform .18s}
.btn svg{width:19px;height:19px;fill:currentColor;flex:none}
.btn-principal{background:var(--acento);color:#fff}
.btn-principal:hover{background:var(--acento-d)}
.btn-wa{background:#128C4A;color:#fff}
.btn-wa:hover{background:#0E7A3F}
.btn-linea{background:transparent;color:var(--tinta);border:var(--borde-g) solid var(--borde)}
.btn-linea:hover{background:var(--fondo2)}
.btn-ancho{width:100%}

/* ================= BARRA SUPERIOR ================= */
.bar{position:sticky;top:0;z-index:40;background:var(--fondo);border-bottom:var(--borde-g) solid var(--borde)}
html[data-tema="a"] .bar{background:var(--fondo3);border-bottom-color:rgba(246,239,228,.16)}
.bar-in{max-width:1180px;margin:0 auto;padding:11px 24px;display:flex;align-items:center;gap:22px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta);font-family:var(--disp);
  font-weight:var(--peso-disp);letter-spacing:var(--track-disp);font-size:1.16rem;flex:none}
html[data-tema="a"] .marca{color:var(--sobre-oscuro)}
.bar-nav{display:flex;gap:20px;margin-left:auto;font-size:.94rem}
.bar-nav a{color:var(--tinta2);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.bar-nav a:hover{color:var(--acento);border-bottom-color:var(--acento)}
html[data-tema="a"] .bar-nav a{color:var(--sobre-oscuro2)}
html[data-tema="a"] .bar-nav a:hover{color:var(--acento-l);border-bottom-color:var(--acento-l)}
.bar-cta{display:flex;align-items:center;gap:12px;flex:none}
.tel{display:flex;align-items:center;gap:7px;color:var(--tinta);text-decoration:none;font-size:.93rem}
.tel svg{width:17px;height:17px;fill:var(--acento)}
html[data-tema="a"] .tel{color:var(--sobre-oscuro)}
html[data-tema="a"] .tel svg{fill:var(--acento-l)}
.bar .btn-wa{padding:10px 17px;min-height:42px;font-size:.92rem}

/* ================= HERO ================= */
.hero{position:relative;background:var(--fondo)}

/* — tema B: partido, texto y foto lado a lado — */
html[data-tema="b"] .hero{max-width:1180px;margin:0 auto;display:grid;
  grid-template-columns:1.02fr 1fr;border-bottom:3px solid var(--borde)}
/* texto a la izquierda y foto a la derecha, como la dirección aprobada */
html[data-tema="b"] .hero-txt{padding:52px 44px 46px 24px;min-width:0;order:1}
html[data-tema="b"] .hero-foto{position:relative;border-left:2px solid var(--borde);min-width:0;order:2}
html[data-tema="b"] .hero-foto img{width:100%;height:100%;object-fit:cover;min-height:480px}
html[data-tema="b"] .hero-pin{position:absolute;left:0;bottom:28px;background:var(--tinta);color:var(--fondo);
  padding:9px 17px;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}

/* — tema A: foto de fondo, texto encima — */
html[data-tema="a"] .hero{background:var(--fondo3);color:var(--sobre-oscuro);overflow:hidden}
html[data-tema="a"] .hero-foto{position:absolute;inset:0}
/* 0.55 es el techo: con el gradiente de abajo, el peor caso (píxel blanco de la foto
   tras el texto) da 8,5:1 en el titular y 4,52:1 en el ámbar. A 0.60 el ámbar cae a 4,20 y falla AA. */
html[data-tema="a"] .hero-foto img{width:100%;height:100%;object-fit:cover;opacity:.55}
html[data-tema="a"] .hero-foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(23,18,14,.62) 0%,rgba(23,18,14,.76) 48%,rgba(23,18,14,.95) 100%)}
html[data-tema="a"] .hero-pin{display:none}
html[data-tema="a"] .hero-txt{position:relative;max-width:1180px;margin:0 auto;padding:56px 24px 46px;min-width:0}

.ubica{font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--acento);
  margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ubica::before{content:"";width:28px;height:3px;background:var(--madera);flex:none}
html[data-tema="a"] .ubica{color:var(--acento-l)}
html[data-tema="a"] .ubica::before{background:var(--acento-l)}

.hero h1{font-size:clamp(2.1rem,5.4vw,3.65rem);margin-bottom:18px;max-width:16ch}
html[data-tema="b"] .hero h1 span{color:var(--acento);display:block}
html[data-tema="a"] .hero h1{max-width:19ch}
html[data-tema="a"] .hero h1 span{color:var(--acento-l);font-style:italic;display:block}
.hero .sub{font-size:clamp(1.02rem,2vw,1.16rem);color:var(--tinta2);max-width:46ch;margin-bottom:28px}
html[data-tema="a"] .hero .sub{color:#E2D8C8}

.cifras{list-style:none;display:grid;grid-template-columns:repeat(4,auto);gap:14px 30px;
  padding:19px 0;margin-bottom:26px;border-top:3px solid var(--borde);border-bottom:1px solid var(--linea)}
html[data-tema="a"] .cifras{border-top-color:rgba(246,239,228,.32);border-bottom-color:rgba(246,239,228,.14)}
.cifras b{display:block;font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.55rem;
  letter-spacing:var(--track-disp);line-height:1}
.cifras b i{font-style:normal;font-size:.62em;color:var(--tinta3)}
.cifras span{font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta3);
  margin-top:5px;display:block;max-width:15ch}
html[data-tema="a"] .cifras b{color:var(--sobre-oscuro)}
html[data-tema="a"] .cifras span,html[data-tema="a"] .cifras b i{color:var(--sobre-oscuro2)}

/* ---------- buscador ---------- */
.buscador{background:var(--fondo2);border:var(--borde-g) solid var(--borde);padding:16px;
  display:grid;grid-template-columns:1fr 1fr .85fr;gap:12px;align-items:end}
html[data-tema="a"] .buscador{background:var(--fondo);border-color:var(--fondo);
  box-shadow:0 22px 54px rgba(0,0,0,.42)}
.buscador .campo{min-width:0}
.buscador label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--tinta2);margin-bottom:6px}
.buscador input,.buscador select{width:100%;min-width:0;background:#fff;color:var(--tinta);
  border:var(--borde-g) solid var(--borde);border-radius:var(--radio);padding:11px 12px;
  font-size:1rem;min-height:46px}
html[data-tema="a"] .buscador input,html[data-tema="a"] .buscador select{border-color:#CFC0A8}
.buscador .btn-principal{grid-column:1/-1;width:100%;font-size:1.04rem;padding:15px}

/* tema A en escritorio: el buscador no debe cruzar los 1180px ni dejar el botón
   a todo lo ancho — queda en línea con los campos. En móvil vuelve a apilarse. */
@media(min-width:901px){
  html[data-tema="a"] .buscador{max-width:880px;grid-template-columns:1fr 1fr .85fr auto;align-items:end}
  html[data-tema="a"] .buscador .btn-principal{grid-column:auto;width:auto;padding:14px 30px}
}
.garantia{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.93rem;color:var(--tinta2);max-width:52ch}
.garantia span{flex:1;min-width:0}
.garantia svg{width:20px;height:20px;flex:none;stroke:var(--acento);margin-top:2px}
.garantia b{color:var(--tinta)}
html[data-tema="a"] .garantia{color:var(--sobre-oscuro2)}
html[data-tema="a"] .garantia b{color:var(--acento-l)}
html[data-tema="a"] .garantia svg{stroke:var(--acento-l)}

/* ================= SECCIONES ================= */
section{padding:64px 0}
.hero{padding:0}
.sec-head{margin-bottom:34px;max-width:60ch}
.sec-head h2{font-size:clamp(1.65rem,3.6vw,2.4rem);margin-bottom:12px}
.sec-head p{color:var(--tinta2);font-size:1.04rem}
.sec-head-claro h2{color:var(--sobre-oscuro)}
.sec-head-claro p{color:var(--sobre-oscuro2)}

/* ---------- galería ---------- */
.galeria{padding-bottom:0}
.tira-fotos{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:8px;
  border-top:3px solid var(--borde);border-bottom:3px solid var(--borde)}
.tira-fotos figure{position:relative;border-right:2px solid var(--borde);min-width:0;overflow:hidden}
.tira-fotos figure:nth-child(5n),.tira-fotos figure:last-child{border-right:0}
.tira-fotos img{aspect-ratio:1/1;object-fit:cover;width:100%;transition:transform .5s ease}
.tira-fotos figure:hover img{transform:scale(1.05)}
.tira-fotos figcaption{position:absolute;left:8px;top:8px;background:var(--fondo);color:var(--tinta);
  font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:var(--radio)}
/* gesto tema A: marco de ventana blanco */
html[data-tema="a"] .tira-fotos{border:0;gap:10px;padding:0 24px 4px;max-width:1180px;margin:8px auto 0}
html[data-tema="a"] .tira-fotos figure{border:8px solid var(--fondo);border-bottom-width:0}
html[data-tema="a"] .tira-fotos figcaption{left:0;top:auto;bottom:0;background:var(--fondo)}

/* ---------- tipos de habitación ---------- */
.tipos{background:var(--fondo2)}
.grid-tipos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tipo{background:var(--fondo);border:var(--borde-g) solid var(--borde);border-radius:var(--radio);
  overflow:hidden;display:flex;flex-direction:column;min-width:0}
html[data-tema="a"] .tipo{border-color:var(--linea);box-shadow:0 2px 0 rgba(36,29,22,.08)}
.tipo-foto img{aspect-ratio:4/3;object-fit:cover;width:100%}
.tipo-txt{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.tipo-tag{font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--madera);margin-bottom:8px}
.tipo h3{font-size:1.3rem;margin-bottom:9px}
.tipo p{color:var(--tinta2);font-size:.97rem;margin-bottom:14px}
.precio{margin-top:auto;padding-top:12px;border-top:1px solid var(--linea);
  display:flex;align-items:baseline;gap:8px;margin-bottom:0!important}
.precio b{font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.5rem;
  letter-spacing:var(--track-disp);color:var(--tinta)}
.precio span{font-size:.82rem;color:var(--tinta3)}

.nota-precios{margin-top:20px;font-size:.93rem;color:var(--tinta2);background:var(--fondo);
  border:1px solid var(--linea);border-left:3px solid var(--madera);padding:12px 15px;border-radius:var(--radio)}
.nota-precios b{color:var(--tinta)}

/* ---------- desayunos «Cada Mañana» ---------- */
.desayunos .sec-head{max-width:64ch}
.grid-desayunos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.desayuno{background:var(--fondo);border:var(--borde-g) solid var(--borde);border-radius:var(--radio);
  overflow:hidden;display:flex;flex-direction:column;min-width:0;position:relative}
html[data-tema="a"] .desayuno{border-color:var(--linea)}
.desayuno.destacado{border-color:var(--acento);border-width:2px}
.desayuno-foto{background:var(--fondo2)}
.desayuno-foto img{aspect-ratio:4/3;object-fit:cover;width:100%}
.desayuno-txt{padding:16px 17px 19px;display:flex;flex-direction:column;flex:1}
.desayuno h3{font-size:1.12rem;margin-bottom:6px}
.etiqueta{display:inline-block;align-self:flex-start;background:var(--acento);color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 9px;margin-bottom:8px;border-radius:var(--radio)}
.precio-desayuno{font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.5rem;
  letter-spacing:var(--track-disp);color:var(--acento);margin-bottom:11px}
.precio-desayuno span{font-family:var(--body);font-weight:400;font-size:.7rem;
  letter-spacing:0;color:var(--tinta3)}
.desayuno ul{list-style:none;margin-top:auto}
.desayuno li{font-size:.9rem;color:var(--tinta2);padding:5px 0 5px 16px;position:relative;
  border-top:1px solid var(--linea)}
.desayuno li::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;
  background:var(--madera);border-radius:50%}
.nota-desayuno{margin-top:20px;font-size:.96rem;color:var(--tinta2);
  border-left:3px solid var(--madera);padding:10px 0 10px 14px}
.nota-desayuno a{font-weight:700}

/* ---------- formulario de cotización ---------- */
/* Sin min-width:0 los inputs del grid arrastran el ancho y rompen el móvil (medido en 375px). */
.emp-grid>*,.cf-fila>*,.grid-desayunos>*,.desayuno>*{min-width:0}
.cf{margin-bottom:11px;min-width:0}
.cf-fila{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.cf label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--sobre-oscuro2);margin-bottom:5px}
.cf input,.cf textarea{width:100%;min-width:0;background:#fff;color:#20211F;
  border:1px solid rgba(246,241,230,.3);border-radius:var(--radio);
  padding:11px 12px;font-size:1rem;min-height:46px;font-family:var(--body)}
.cf textarea{min-height:62px;resize:vertical}
.cf input:focus,.cf textarea:focus{outline:3px solid var(--acento-l);outline-offset:1px}
.cf-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-error{display:none;background:#FBE9E7;color:#8C2F1F;border-left:3px solid #8C2F1F;
  padding:9px 12px;font-size:.9rem;margin:4px 0 10px}
.cf-error.visible{display:block}
#form-cotizacion .btn-principal{margin-top:6px}
.cf-legal{font-size:.78rem;color:var(--sobre-oscuro2);margin-top:9px;line-height:1.5}
.cf-ok{text-align:center;padding:8px 0 4px}
.cf-check{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#128C4A;
  display:flex;align-items:center;justify-content:center}
.cf-check svg{width:28px;height:28px;stroke:#fff}
.cf-ok h4{font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.35rem;
  letter-spacing:var(--track-disp);color:var(--sobre-oscuro);margin-bottom:8px}
.cf-ok p{color:var(--sobre-oscuro2);font-size:.95rem;margin-bottom:16px}
.emp-otra{margin-top:18px;padding-top:16px;border-top:1px solid rgba(246,241,230,.2)}
.emp-otra span{display:block;font-size:.85rem;color:var(--sobre-oscuro2);margin-bottom:9px}

/* ---------- tablero de disponibilidad ---------- */
.tablero{background:var(--fondo3);color:var(--sobre-oscuro)}
.board-idle{border:1px dashed rgba(246,241,230,.28);padding:46px 24px;text-align:center;color:var(--sobre-oscuro2)}
.board-idle svg{width:34px;height:34px;stroke:var(--acento-l);margin:0 auto 14px}
.board-idle b{color:var(--sobre-oscuro)}
.board-meta{display:flex;flex-wrap:wrap;gap:10px 26px;padding-bottom:16px;margin-bottom:20px;
  border-bottom:1px solid rgba(246,241,230,.2);font-size:.92rem;color:var(--sobre-oscuro2)}
.board-meta b{color:var(--sobre-oscuro)}
.floors{display:grid;gap:26px}
.floor-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px;
  margin-bottom:13px;border-bottom:1px solid rgba(246,241,230,.2)}
.floor-head .fn{font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.15rem;color:var(--sobre-oscuro)}
.floor-head .fc{font-size:.8rem;color:#8FD3A6;letter-spacing:.05em;text-transform:uppercase}
.floor-head .fc.zero{color:var(--sobre-oscuro2)}
.cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:11px}
.cell{text-align:left;background:rgba(246,241,230,.07);border:1px solid rgba(246,241,230,.22);
  border-radius:var(--radio);padding:13px 14px;cursor:pointer;color:var(--sobre-oscuro);
  display:grid;gap:3px;min-height:48px;transition:background .16s,border-color .16s}
.cell:hover{background:rgba(246,241,230,.14);border-color:var(--acento-l)}
.cell .cc{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--sobre-oscuro2)}
.cell .cn{font-weight:700;font-size:.98rem}
.cell .cp{font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.1rem;color:var(--acento-l)}
.cell .cx{font-size:.76rem;color:var(--sobre-oscuro2)}
.spinner{width:34px;height:34px;margin:40px auto;border:3px solid rgba(246,241,230,.25);
  border-top-color:var(--acento-l);border-radius:50%;animation:giro .8s linear infinite}
@keyframes giro{to{transform:rotate(360deg)}}

/* ---------- por qué directo ---------- */
.tabla-directo{border:var(--borde-g) solid var(--borde);border-radius:var(--radio);overflow:hidden}
.fila{display:grid;grid-template-columns:1.1fr 1.25fr 1.25fr;border-bottom:1px solid var(--linea)}
.fila:last-child{border-bottom:0}
.fila>span{padding:14px 16px;font-size:.96rem;display:flex;align-items:center;min-width:0}
.fila.cabecera{background:var(--tinta);color:var(--fondo);font-weight:700}
.fila.cabecera .col-nos{color:#fff}
.fila .qué{font-weight:700;color:var(--tinta2);background:var(--fondo2)}
.fila .col-nos{background:var(--fondo);border-left:3px solid var(--acento)}
.fila .col-ota{color:var(--tinta3)}
.fila.cabecera .col-nos{border-left:3px solid var(--acento-l)}
.nota-directo{margin-top:16px;font-size:.93rem;color:var(--tinta3);max-width:64ch}

/* ---------- empresas ---------- */
.empresas{background:var(--fondo3);color:var(--sobre-oscuro)}
.emp-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:40px;align-items:start}
.empresas h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:14px;color:var(--sobre-oscuro)}
.emp-sub{color:var(--sobre-oscuro2);margin-bottom:24px;max-width:52ch}
.emp-lista{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.emp-lista li{border-top:1px solid rgba(246,241,230,.24);padding-top:12px}
.emp-lista b{display:block;margin-bottom:4px;font-size:1rem}
.emp-lista span{color:var(--sobre-oscuro2);font-size:.92rem}
.emp-caja{background:rgba(246,241,230,.08);border:1px solid rgba(246,241,230,.2);padding:24px;border-radius:var(--radio)}
.emp-caja h3{font-size:1.3rem;margin-bottom:10px;color:var(--sobre-oscuro)}
.emp-caja p{color:var(--sobre-oscuro2);font-size:.95rem;margin-bottom:18px}
.emp-caja .btn-linea{color:var(--sobre-oscuro);border-color:rgba(246,241,230,.45);margin-top:10px}
.emp-caja .btn-linea:hover{background:rgba(246,241,230,.1)}

/* ---------- incluye ---------- */
.grid-incluye{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:0;
  border-top:3px solid var(--borde);border-bottom:1px solid var(--linea)}
.grid-incluye li{padding:20px 16px;border-right:1px solid var(--linea);min-width:0}
.grid-incluye li:last-child{border-right:0}
.grid-incluye b{display:block;font-family:var(--disp);font-weight:var(--peso-disp);
  font-size:1.12rem;letter-spacing:var(--track-disp);margin-bottom:4px}
.grid-incluye span{font-size:.85rem;color:var(--tinta3)}

/* ---------- opiniones ---------- */
.opiniones{background:var(--fondo2)}
.rating-caja{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  background:var(--fondo);border:var(--borde-g) solid var(--borde);border-radius:var(--radio);padding:30px}
.rating-num{text-align:center;padding-right:30px;border-right:1px solid var(--linea)}
.rating-num b{display:block;font-family:var(--disp);font-weight:var(--peso-disp);font-size:3.5rem;line-height:1}
.rating-num>span{font-size:.82rem;color:var(--tinta3);letter-spacing:.06em;text-transform:uppercase}
.estrellas{color:var(--madera);font-size:1.15rem;letter-spacing:2px;margin-top:6px}
.estrellas i{color:var(--linea);font-style:normal}
.rating-txt h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:10px}
.rating-txt p{color:var(--tinta2);font-size:.99rem}
.rating-links{margin-top:14px;display:flex;gap:12px 20px;flex-wrap:wrap}
/* WCAG 2.2: objetivo táctil >=24px — medido en 375px, quedaban en 21px */
.rating-links a{color:var(--acento);font-weight:700;font-size:.95rem;
  display:inline-flex;align-items:center;min-height:28px;padding:3px 0}

.resenas{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.resenas blockquote{background:var(--fondo);border:var(--borde-g) solid var(--borde);
  border-radius:var(--radio);padding:22px 20px;display:flex;flex-direction:column;min-width:0}
html[data-tema="a"] .resenas blockquote{border-color:var(--linea)}
.resenas p{font-size:.98rem;color:var(--tinta2);margin-bottom:16px;flex:1}
.resenas footer{border-top:1px solid var(--linea);padding-top:11px}
.resenas footer b{display:block;font-size:.95rem}
.resenas footer span{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta3)}

/* ---------- cómo llegar ---------- */
.llegar-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:stretch}
.llegar-mapa{border:var(--borde-g) solid var(--borde);border-radius:var(--radio);overflow:hidden;min-height:400px}
.llegar-mapa iframe{width:100%;height:100%;min-height:400px;border:0;display:block}
.llegar h2{font-size:clamp(1.5rem,3.2vw,2.1rem);margin-bottom:12px}
.llegar-sub{color:var(--tinta2);margin-bottom:22px}
.datos-contacto{display:grid;gap:14px;margin-bottom:24px}
.datos-contacto div{border-top:1px solid var(--linea);padding-top:11px}
.datos-contacto dt{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--tinta3);margin-bottom:3px}
.datos-contacto dd{font-size:1.04rem;font-weight:700}
.datos-contacto a{color:var(--tinta);text-decoration:none;border-bottom:2px solid var(--acento)}

/* ---------- pie ---------- */
.pie{background:var(--fondo3);color:var(--sobre-oscuro2);padding-top:52px}
.pie-in{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px;padding-bottom:38px}
.pie-marca{display:flex;gap:13px;align-items:flex-start}
.pie-marca img{flex:none;border-radius:var(--radio)}
.pie-marca b{color:var(--sobre-oscuro);font-family:var(--disp);font-weight:var(--peso-disp);
  font-size:1.1rem;letter-spacing:var(--track-disp)}
.pie-marca p{font-size:.92rem;max-width:42ch}
.pie-nav,.pie-contacto{display:flex;flex-direction:column;gap:9px;font-size:.93rem}
.pie-nav b,.pie-contacto b{color:var(--sobre-oscuro);font-size:.78rem;letter-spacing:.11em;
  text-transform:uppercase;margin-bottom:5px}
.pie-nav a,.pie-contacto a{color:var(--sobre-oscuro2);text-decoration:none}
.pie-nav a:hover,.pie-contacto a:hover{color:var(--acento-l)}
.pie-fin{border-top:1px solid rgba(246,241,230,.14);padding:16px 0;font-size:.85rem}

/* ---------- barra fija móvil ---------- */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:none;
  background:var(--fondo);border-top:2px solid var(--borde);padding:10px 16px;
  align-items:center;gap:14px;transform:translateY(110%);transition:transform .25s ease}
.stickybar.show{transform:none}
.sb-precio b{display:block;font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.06rem;line-height:1.1}
.sb-precio span{font-size:.76rem;color:var(--tinta3)}
.stickybar .btn{margin-left:auto;padding:12px 18px}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:60;background:rgba(20,16,12,.72);
  display:none;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto}
.modal.open{display:flex}
.modal-caja{background:var(--fondo);border-radius:var(--radio);max-width:470px;width:100%;
  padding:26px 24px 24px;position:relative;margin:auto;border:var(--borde-g) solid var(--borde)}
.modal-x{position:absolute;right:12px;top:9px;background:transparent;border:0;font-size:1.9rem;
  line-height:1;cursor:pointer;color:var(--tinta3);width:44px;height:44px}
.modal-caja h3{font-size:1.45rem;margin-bottom:5px;padding-right:34px}
#m-sub{color:var(--tinta3);font-size:.92rem;margin-bottom:18px}
.msum{border:1px solid var(--linea);border-radius:var(--radio);padding:13px 15px;margin-bottom:15px}
.msum .r{display:flex;justify-content:space-between;font-size:.95rem;color:var(--tinta2)}
.msum .r.tot{border-top:1px solid var(--linea);margin-top:9px;padding-top:9px;color:var(--tinta)}
.msum .r.tot b{font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.3rem}
.cine{background:var(--fondo2);border-left:3px solid var(--acento);padding:12px 14px;
  font-size:.91rem;color:var(--tinta2);margin-bottom:16px}
.mfield{margin-bottom:13px}
.mfield label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--tinta2);margin-bottom:5px}
.mfield input{width:100%;background:#fff;border:var(--borde-g) solid var(--borde);
  border-radius:var(--radio);padding:11px 12px;min-height:46px}
.m-err{display:none;background:#FBE9E7;color:#8C2F1F;border-left:3px solid #8C2F1F;
  padding:10px 12px;font-size:.9rem;margin-bottom:12px}
.btn-block{width:100%;margin-bottom:10px}
.btn-copper{background:var(--acento);color:#fff}
.success{text-align:center;padding:8px 0}
.success .check{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:#128C4A;
  display:flex;align-items:center;justify-content:center}
.success .check svg{width:30px;height:30px;stroke:#fff;fill:none}
.success h3{margin-bottom:10px}
.success .code{font-family:var(--disp);font-weight:var(--peso-disp);font-size:1.9rem;
  letter-spacing:.06em;background:var(--fondo2);padding:11px;margin-bottom:13px;border-radius:var(--radio)}
.success p{font-size:.95rem;color:var(--tinta2);margin-bottom:16px}

/* ---------- revelado (solo con JS; sin JS todo visible) ---------- */
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(22px)}
.js .rv.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}

/* ================= RESPONSIVE ================= */
@media(max-width:1080px){
  .tira-fotos{grid-template-columns:repeat(4,1fr)}
  .tira-fotos figure:nth-child(n+9){display:none}
  .grid-incluye{grid-template-columns:repeat(3,1fr)}
  .grid-incluye li:nth-child(3n){border-right:0}
  .grid-incluye li:nth-child(-n+3){border-bottom:1px solid var(--linea)}
}
@media(max-width:900px){
  .bar-nav{display:none}
  .bar-cta{margin-left:auto}
  html[data-tema="b"] .hero{grid-template-columns:1fr}
  html[data-tema="b"] .hero-txt{padding:34px 24px 32px;order:2}
  html[data-tema="b"] .hero-foto{order:1}
  html[data-tema="b"] .hero-foto{order:1;border-left:0;border-bottom:2px solid var(--borde)}
  html[data-tema="b"] .hero-foto img{min-height:0;aspect-ratio:16/10}
  .emp-grid,.llegar-grid,.rating-caja{grid-template-columns:1fr}
  .grid-desayunos{grid-template-columns:1fr 1fr}
  .grid-tipos{grid-template-columns:1fr}
  .tipo{display:grid;grid-template-columns:150px 1fr}
  .tipo-foto img{height:100%;aspect-ratio:auto;min-height:100%}
  .rating-num{border-right:0;border-bottom:1px solid var(--linea);padding:0 0 18px}
  .llegar-mapa{min-height:280px}
  .llegar-mapa iframe{min-height:280px}
}
@media(max-width:700px){
  body{font-size:16px}
  section{padding:46px 0}
  .wrap{padding:0 18px}
  .bar-in{padding:9px 18px;gap:12px}
  .marca span{font-size:1.02rem}
  .tel{display:none}
  html[data-tema="a"] .hero-txt{padding:38px 18px 34px}
  .cifras{grid-template-columns:1fr 1fr;gap:14px 18px}
  .buscador{grid-template-columns:1fr 1fr}
  .buscador .campo:nth-child(3){grid-column:1/-1}
  .tira-fotos{grid-template-columns:1fr 1fr}
  .tira-fotos figure:nth-child(n+7){display:none}
  .tira-fotos figure:nth-child(2n){border-right:0}
  html[data-tema="a"] .tira-fotos{padding:0 18px 4px}
  .tipo{grid-template-columns:1fr}
  .tipo-foto img{aspect-ratio:16/9}
  .fila{grid-template-columns:1fr}
  .fila>span{padding:9px 14px;border-bottom:1px solid var(--linea)}
  .fila>span:last-child{border-bottom:0}
  .fila.cabecera{display:none}
  .fila .qué{background:var(--tinta);color:var(--fondo);font-size:.78rem;
    letter-spacing:.08em;text-transform:uppercase}
  .fila .col-nos::before{content:"Directo: ";font-weight:700;color:var(--acento)}
  .fila .col-ota::before{content:"Portal: ";font-weight:700}
  .emp-lista{grid-template-columns:1fr}
  .resenas{grid-template-columns:1fr}
  .grid-desayunos{grid-template-columns:1fr}
  .desayuno{display:grid;grid-template-columns:130px 1fr}
  .desayuno-foto img{height:100%;aspect-ratio:auto;min-height:100%}
  .grid-incluye{grid-template-columns:1fr 1fr}
  .grid-incluye li:nth-child(2n){border-right:0}
  .grid-incluye li{border-bottom:1px solid var(--linea)}
  .pie-in{grid-template-columns:1fr;gap:26px}
  .stickybar{display:flex}
  body{padding-bottom:74px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none}
  .tira-fotos figure:hover img{transform:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
