/* =========================================================
   ATEMPORAL — Sistema de diseño
   Restaurante · Lorquí (Murcia)
   Basado en el Cuaderno de Marca
   ========================================================= */

:root{
  --negro:      #1A1A1A;
  --crema:      #F4EEE1;
  --granate:    #6E1B2B;
  --bronce:     #A6824A;
  --piedra:     #8C8579;

  --crema-osc:  #EAE1CE;
  --granate-osc:#571522;
  --blanco:     #FFFCF7;

  --serif:  'Playfair Display', Georgia, serif;
  --sans:   'Lato', -apple-system, 'Segoe UI', sans-serif;
  --cursiva:'Cormorant Garamond', Georgia, serif;

  --ancho: 1180px;
  --ancho-texto: 720px;
  --radio: 2px;
  --transicion: .35s cubic-bezier(.22,.61,.36,1);
  --alto-cabecera: 72px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--crema);color:var(--negro);
  font-family:var(--sans);font-size:17px;line-height:1.75;font-weight:400;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}

/* ---------- Tipografía ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.15;margin:0 0 .5em;}
h1{font-size:clamp(2.2rem,5.5vw,4rem);letter-spacing:.01em;}
h2{font-size:clamp(1.9rem,4vw,2.9rem);}
h3{font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:400;}
p{margin:0 0 1.2em;}

.sobretitulo{
  font-family:var(--sans);font-size:.72rem;font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;color:var(--bronce);
  margin:0 0 1.1rem;display:block;
}
.cita{
  font-family:var(--cursiva);font-style:italic;font-weight:400;
  font-size:clamp(1.3rem,2.6vw,1.85rem);line-height:1.45;
}
.texto-suave{color:var(--piedra);}
.seccion--oscura .texto-suave{color:#A9A197;}

/* ---------- Filete ---------- */
.filete{width:64px;height:14px;margin:1.6rem 0;border:0;overflow:visible;}
.filete::after{
  content:"";display:block;height:14px;background:no-repeat center/contain
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 14'%3E%3Cpath d='M0 7h18M46 7h18' stroke='%23A6824A' stroke-width='1'/%3E%3Cpath d='M24 10c3-6 9-6 12 0' stroke='%23A6824A' stroke-width='1' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
.filete.centrado{margin-left:auto;margin-right:auto;}

/* ---------- Layout ---------- */
.contenedor{width:min(var(--ancho),92vw);margin-inline:auto;}
.seccion{padding:clamp(3.5rem,8vw,7rem) 0;}
.seccion--oscura{background:var(--negro);color:var(--crema);}
.centrado{text-align:center;}
.medida{max-width:var(--ancho-texto);}
.medida.centrado{margin-inline:auto;}

/* ---------- Botones ---------- */
.btn{
  display:inline-block;padding:.95em 2.3em;border:1px solid var(--granate);
  background:var(--granate);color:var(--crema);
  font-family:var(--sans);font-size:.76rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;border-radius:var(--radio);
  transition:var(--transicion);text-align:center;
}
.btn:hover{background:var(--granate-osc);border-color:var(--granate-osc);transform:translateY(-2px);}
.btn--linea{background:transparent;color:var(--granate);}
.btn--linea:hover{background:var(--granate);color:var(--crema);}
.btn--claro{background:transparent;border-color:rgba(244,238,225,.6);color:var(--crema);}
.btn--claro:hover{background:var(--crema);color:var(--negro);border-color:var(--crema);}

/* ---------- Cabecera ----------
   Siempre oscura: sobre la portada es transparente y al hacer
   scroll se vuelve negra sólida, nunca clara. Así el botón
   "Ver la carta" mantiene el texto en crema en todo momento. */
.cabecera{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.1rem clamp(1rem,4vw,3rem);transition:var(--transicion);
}
.cabecera--fija,
.pagina-interior .cabecera{
  background:rgba(20,17,15,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(166,130,74,.28);
  padding-top:.7rem;padding-bottom:.7rem;
}
.cabecera__logo img{height:30px;width:auto;}
.cabecera__logo .wordmark--negro{display:none;}

.nav{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.1rem);}
.nav a{
  font-size:.73rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--crema);padding:.4rem 0;position:relative;transition:var(--transicion);
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--bronce);transition:var(--transicion);
}
.nav a:hover::after,.nav a[aria-current="page"]::after{width:100%;}
.nav .btn{
  padding:.7em 1.5em;font-size:.68rem;
  color:var(--crema);background:var(--granate);border-color:var(--granate);
}
.nav .btn:hover{background:var(--granate-osc);border-color:var(--granate-osc);color:var(--crema);}
.nav .btn::after{display:none;}

.hamburguesa{display:none;background:none;border:0;padding:.4rem;width:42px;height:38px;}
.hamburguesa span{display:block;height:1.5px;width:24px;background:var(--crema);margin:5px auto;transition:var(--transicion);}

/* Páginas interiores: el contenido arranca bajo la cabecera */
.pagina-interior{padding-top:var(--alto-cabecera);}

/* ---------- Portada ---------- */
.portada{
  min-height:100svh;display:flex;align-items:center;
  position:relative;overflow:hidden;background:#151210;color:var(--crema);
}
.portada__fondo{
  position:absolute;inset:0;
  background:#151210 url('../img/portada.jpg') center/cover no-repeat;
}
.portada__contenido{
  position:relative;z-index:2;
  width:min(var(--ancho),92vw);margin-inline:auto;
  padding:calc(var(--alto-cabecera) + 3rem) 0 5rem;
  max-width:min(var(--ancho),92vw);
}
.portada__caja{max-width:520px;}
.portada__isotipo{width:52px;margin-bottom:1.5rem;}
.portada__wordmark{width:min(360px,80%);margin-bottom:1.4rem;}
.portada h1{
  font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:400;
  letter-spacing:.03em;margin-bottom:.7rem;
}
.portada__lema{
  font-family:var(--cursiva);font-style:italic;
  font-size:clamp(1.15rem,2.2vw,1.5rem);color:#E4DAC7;margin-bottom:2.2rem;
}
.portada__acciones{display:flex;gap:.9rem;flex-wrap:wrap;}
.portada__pie{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  background:linear-gradient(transparent,rgba(12,10,9,.75));
  padding:2.5rem 0 1.4rem;
}
.portada__pie .contenedor{
  padding-right:96px;
  display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:space-between;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#C9BFAE;
}
.portada__pie strong{color:var(--crema);font-weight:700;}

@media(max-width:820px){
  .portada__fondo{background-image:url('../img/portada-movil.jpg');}
  .portada__caja{max-width:none;text-align:center;}
  .portada__isotipo,.portada__wordmark{margin-inline:auto;}
  .portada__acciones{justify-content:center;}
  .portada__pie .contenedor{justify-content:center;text-align:center;font-size:.7rem;}
}

/* ---------- Rejillas ---------- */
.rejilla{display:grid;gap:clamp(1.5rem,3vw,2.6rem);}
.rejilla--3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
@media(max-width:820px){.duo{grid-template-columns:1fr;}
  /* en móvil la foto va siempre después del texto */
  .duo .orden-1{order:2;}}
.duo--arriba{align-items:start;}

/* ---------- Imágenes ---------- */
.marco{position:relative;}
.marco img{width:100%;height:auto;object-fit:contain;}
.marco::after{content:"";position:absolute;inset:12px;border:1px solid rgba(166,130,74,.5);pointer-events:none;}

/* ---------- Galería ----------
   Escritorio: rejilla de 4 x 2.
   Móvil: carrusel horizontal con arrastre y puntos. */
.galeria{width:min(var(--ancho),92vw);margin-inline:auto;}
.galeria__pista{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
}
.galeria figure{margin:0;overflow:hidden;position:relative;}
.galeria img{
  width:100%;aspect-ratio:3/2;object-fit:cover;
  transition:var(--transicion);
}
.galeria figure:hover img{transform:scale(1.05);}
.galeria__puntos{display:none;}

@media(max-width:900px){
  .galeria{width:100%;}
  .galeria__pista{
    display:flex;gap:10px;
    overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    padding-inline:4vw;
  }
  .galeria__pista::-webkit-scrollbar{display:none;}
  .galeria figure{flex:0 0 86%;scroll-snap-align:center;}
  .galeria img{aspect-ratio:3/2;}
  .galeria figure:hover img{transform:none;}

  .galeria__puntos{
    display:flex;justify-content:center;gap:7px;margin-top:1rem;
  }
  .galeria__puntos span{
    width:6px;height:6px;border-radius:50%;
    background:rgba(140,133,121,.45);transition:var(--transicion);
  }
  .galeria__puntos span.activo{background:var(--bronce);width:18px;border-radius:3px;}
}

/* botones alineados con el texto de su columna */
.acciones{display:flex;gap:.9rem;flex-wrap:wrap;}

/* ---------- Valores ---------- */
.valor{text-align:center;padding:1.5rem 1rem;}
.valor__icono{width:42px;height:42px;margin:0 auto 1rem;color:var(--bronce);}
.valor__icono svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.1;}
.valor h3{font-size:1.1rem;margin-bottom:.4rem;}
.valor p{font-size:.94rem;color:#A9A197;margin:0;}

/* ---------- Horarios ---------- */
.horario{padding:clamp(1.6rem,3.5vw,2.4rem);border:1px solid rgba(166,130,74,.45);}
.seccion--oscura .horario{background:rgba(244,238,225,.04);}
.horario__lista{list-style:none;margin:0;padding:0;}
.horario__lista li{
  display:flex;justify-content:space-between;gap:1.2rem;align-items:baseline;
  padding:.7rem 0;border-bottom:1px dotted rgba(140,133,121,.5);font-size:.96rem;
}
.horario__lista li:last-child{border-bottom:0;}
.horario__lista .dia{font-weight:700;letter-spacing:.05em;}
.horario__lista .horas{text-align:right;font-variant-numeric:tabular-nums;}
.horario__lista .cerrado{color:var(--bronce);font-style:italic;}
.horario__lista li.hoy{background:rgba(166,130,74,.12);margin-inline:-.7rem;padding-inline:.7rem;}
.horario__lista li.hoy .dia::before{content:"● ";color:var(--bronce);font-size:.7em;vertical-align:middle;}

/* ---------- Pie ---------- */
.pie{background:var(--negro);color:#C9BFAE;padding:clamp(3rem,6vw,5rem) 0 1.8rem;font-size:.92rem;}
.pie a:hover{color:var(--bronce);}
.pie__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(2rem,5vw,4rem);}
@media(max-width:760px){.pie__grid{grid-template-columns:1fr;text-align:center;}}
.pie__logo{width:150px;margin-bottom:1.3rem;}
@media(max-width:760px){.pie__logo{margin-inline:auto;}}
.pie h4{
  font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--bronce);margin-bottom:1rem;
}
.pie ul{list-style:none;margin:0;padding:0;}
.pie ul li{margin-bottom:.55rem;}
.pie__redes{display:flex;gap:.8rem;margin-top:1.3rem;}
@media(max-width:760px){.pie__redes{justify-content:center;}}
.pie__redes a{
  width:40px;height:40px;border:1px solid rgba(166,130,74,.5);border-radius:50%;
  display:grid;place-items:center;transition:var(--transicion);
}
.pie__redes a:hover{background:var(--bronce);border-color:var(--bronce);color:var(--negro);}
.pie__redes svg{width:18px;height:18px;}
.pie__legal{
  margin-top:2.6rem;padding-top:1.5rem;border-top:1px solid rgba(140,133,121,.3);
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.76rem;color:#8C8579;
}
.pie__legal nav{display:flex;gap:1.3rem;flex-wrap:wrap;}
.pie__legal-izq{display:flex;flex-direction:column;gap:.85rem;}

/* Crédito de RIMA Consulting */
.pie__rima{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.73rem;line-height:1.35;color:#9C9387;
  transition:var(--transicion);
}
.pie__rima img{
  height:28px;width:auto;flex:0 0 auto;
  opacity:.9;transition:var(--transicion);
}
.pie__rima strong{font-weight:700;color:var(--bronce);}
.pie__rima:hover{color:#C9BFAE;}
.pie__rima:hover img{opacity:1;}

@media(max-width:760px){
  .pie__legal-izq{align-items:center;}
  .pie__rima{flex-direction:column;gap:.45rem;text-align:center;}
  .pie__rima img{height:30px;}
}

/* ---------- WhatsApp ---------- */
.wsp-zona{position:fixed;right:20px;bottom:20px;z-index:90;}
.wsp{
  position:relative;display:grid;place-items:center;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.28);transition:var(--transicion);
}
.wsp:hover{transform:scale(1.07);}
.wsp svg{width:31px;height:31px;fill:currentColor;}
.wsp::before{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:2px solid rgba(37,211,102,.5);animation:pulso 2.6s infinite;
}
@keyframes pulso{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.35);opacity:0}100%{opacity:0}}

.wsp__globo{
  position:absolute;right:72px;bottom:2px;white-space:nowrap;
  background:var(--blanco);color:var(--negro);
  padding:.7rem 1.1rem;
  font-size:.84rem;line-height:1.35;border-radius:var(--radio);
  box-shadow:0 5px 18px rgba(0,0,0,.2);
  opacity:0;transform:translateX(10px);pointer-events:none;
  transition:opacity .3s ease,transform .3s ease;
}
.wsp__globo b{display:block;font-size:.9rem;}
.wsp__globo::after{
  content:"";position:absolute;right:-6px;bottom:20px;
  border:6px solid transparent;border-left-color:var(--blanco);
}
.wsp-zona.visible .wsp__globo{opacity:1;transform:translateX(0);pointer-events:auto;}
.wsp-zona.cerrado .wsp__globo{display:none;}

.wsp__cerrar{
  position:absolute;top:-10px;right:-10px;
  width:28px;height:28px;padding:0;border:1px solid rgba(140,133,121,.35);
  border-radius:50%;background:var(--blanco);color:var(--negro);
  display:grid;place-items:center;line-height:0;
  box-shadow:0 2px 8px rgba(0,0,0,.18);transition:var(--transicion);
}
.wsp__cerrar:hover{background:var(--granate);border-color:var(--granate);color:var(--crema);}
.wsp__cerrar svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;fill:none;}

@media(max-width:600px){
  .wsp-zona{right:16px;bottom:16px;}
  .wsp__globo{
    position:fixed;right:16px;bottom:84px;left:auto;
    white-space:normal;max-width:min(280px,74vw);
    padding:.8rem 1rem;
    transform:translateY(8px);
  }
  .wsp__globo::after{display:none;}
  .wsp-zona.visible .wsp__globo{transform:translateY(0);}
  .wsp__cerrar{width:32px;height:32px;top:-12px;right:-8px;}
}

/* =========================================================
   PÁGINA DE CARTAS
   ========================================================= */
.carta-intro{padding:clamp(2.2rem,5vw,3.5rem) 0 1.2rem;text-align:center;}
.carta-intro__isotipo{width:48px;margin:0 auto 1rem;}

.pestanas{
  position:sticky;top:calc(var(--alto-cabecera) - 14px);z-index:60;
  background:rgba(244,238,225,.98);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(140,133,121,.3);
  margin-bottom:clamp(2rem,4vw,3rem);
}
.pestanas__pista{
  display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;
  width:min(var(--ancho),94vw);margin-inline:auto;padding:.6rem 0;
}
.pestanas__pista::-webkit-scrollbar{display:none;}
.pestana{
  flex:0 0 auto;background:none;border:1px solid transparent;
  padding:.62em 1.1em;border-radius:var(--radio);
  font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--piedra);white-space:nowrap;transition:var(--transicion);
}
.pestana:hover{color:var(--negro);}
.pestana[aria-selected="true"]{background:var(--granate);color:var(--crema);border-color:var(--granate);}

.panel[hidden]{display:none;}
.panel{animation:entra .45s ease;}
@keyframes entra{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.panel__cabecera{text-align:center;max-width:660px;margin:0 auto clamp(2rem,4vw,3rem);}
.panel__cabecera h2{margin-bottom:.3rem;}
.panel__cabecera p{color:var(--piedra);font-size:.97rem;margin:0;}

.aviso-horario{
  display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(110,27,43,.07);border:1px solid rgba(110,27,43,.28);
  color:var(--granate);padding:.55em 1.1em;border-radius:var(--radio);
  font-size:.8rem;font-weight:700;letter-spacing:.03em;margin:1.2rem 0 0;
}
.aviso-horario svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;flex:0 0 auto;}

.grupo{margin-bottom:clamp(2.2rem,4.5vw,3.5rem);}
.grupo__titulo{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.5rem;}
.grupo__titulo h3{
  margin:0;font-family:var(--serif);font-size:clamp(1.15rem,2.1vw,1.5rem);
  font-weight:500;letter-spacing:.05em;white-space:nowrap;
}
.grupo__titulo::after{content:"";flex:1;height:1px;background:rgba(166,130,74,.5);}
.grupo__nota{
  font-size:.85rem;color:var(--piedra);margin:-.8rem 0 1.4rem;
  font-style:italic;
}

.platos{display:grid;gap:1.4rem 3.4rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));}
.platos--compacta{grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:.9rem 3rem;}
.platos--una{grid-template-columns:1fr;max-width:820px;}
.plato{display:flex;align-items:baseline;gap:.7rem;}
.plato__cuerpo{flex:1;min-width:0;}
.plato__nombre{font-family:var(--sans);font-size:1rem;font-weight:700;display:inline;}
.plato__cuerpo{padding-right:.2rem;}
.plato__puntos{flex:1;border-bottom:1px dotted rgba(140,133,121,.7);min-width:16px;transform:translateY(-4px);}
.plato__precio{
  font-family:var(--serif);font-size:1.02rem;font-weight:500;
  color:var(--granate);white-space:nowrap;font-variant-numeric:tabular-nums;
}
.plato__precio--doble{display:inline-flex;gap:1.5rem;}
.plato__precio--doble span{min-width:5.2rem;text-align:right;}
.plato__desc{
  display:block;font-family:var(--cursiva);font-style:italic;
  font-size:1rem;line-height:1.5;color:var(--piedra);margin-top:.1rem;
}
.plato__etiqueta{
  display:inline-block;vertical-align:middle;margin-left:.45rem;
  font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--bronce);border:1px solid rgba(166,130,74,.6);
  padding:.14em .48em;border-radius:var(--radio);
}
.plato--pendiente .plato__precio{color:var(--piedra);font-style:italic;font-size:.85rem;}

.cabecera-precios{
  display:flex;justify-content:flex-end;gap:1.5rem;
  max-width:820px;
  font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bronce);margin-bottom:.6rem;
}
.cabecera-precios span{min-width:5.2rem;text-align:right;}

.suplementos{
  background:var(--crema-osc);padding:1.2rem 1.5rem;margin-top:1rem;
  border-left:2px solid var(--bronce);
}
.suplementos h4{
  font-family:var(--sans);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bronce);margin:0 0 .7rem;
}
.suplementos ul{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.3rem 1.5rem;
  font-size:.92rem;
}
.suplementos li{display:flex;justify-content:space-between;gap:.8rem;}
.suplementos li span{color:var(--granate);font-weight:700;}

.sabores{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:.4rem 1.5rem;list-style:none;padding:0;margin:0;
  font-size:.95rem;
}
.sabores li{padding:.35rem 0;border-bottom:1px dotted rgba(140,133,121,.4);}

.nota-carta{
  margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid rgba(140,133,121,.3);
  font-size:.85rem;color:var(--piedra);
}
.aviso-precios{
  background:rgba(110,27,43,.07);border-left:3px solid var(--granate);
  padding:.9rem 1.2rem;font-size:.88rem;color:var(--granate);margin-bottom:2rem;
}

@media(max-width:600px){
  .pestanas{top:calc(var(--alto-cabecera) - 14px);}
  .platos{grid-template-columns:1fr;}
  .plato__precio--doble{gap:.9rem;}
  .plato__precio--doble span,.cabecera-precios span{min-width:4.2rem;}
  .cabecera-precios{gap:.9rem;}
}

/* =========================================================
   CONTACTO
   ========================================================= */
.formulario{display:grid;gap:1.1rem;}
.campo{display:grid;gap:.35rem;}
.campo label{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--piedra);}
.campo input,.campo textarea,.campo select{
  font-family:var(--sans);font-size:1rem;padding:.8em .95em;
  background:var(--blanco);border:1px solid rgba(140,133,121,.5);
  border-radius:var(--radio);color:var(--negro);transition:var(--transicion);
}
.campo input:focus,.campo textarea:focus,.campo select:focus{
  outline:none;border-color:var(--granate);box-shadow:0 0 0 3px rgba(110,27,43,.1);
}
.campo textarea{min-height:150px;resize:vertical;}
.consentimiento{display:flex;gap:.65rem;align-items:flex-start;font-size:.84rem;color:var(--piedra);}
.consentimiento input{margin-top:.3rem;accent-color:var(--granate);}

.mapa-caja{position:relative;aspect-ratio:16/11;background:var(--crema-osc);overflow:hidden;}
.mapa-caja iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05);}
.mapa-carga{
  position:absolute;inset:0;display:grid;place-items:center;gap:.8rem;
  text-align:center;padding:2rem;background:var(--crema-osc);
  border:1px solid rgba(166,130,74,.4);
}
.mapa-carga p{font-size:.85rem;color:var(--piedra);margin:0 0 .9rem;max-width:320px;}

.dato{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem;}
.dato__icono{width:22px;height:22px;flex:0 0 auto;color:var(--bronce);margin-top:.25rem;}
.dato__icono svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.4;}
.dato p{margin:0;line-height:1.6;}
.dato strong{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--piedra);margin-bottom:.15rem;}

/* =========================================================
   LEGALES
   ========================================================= */
.legal{max-width:var(--ancho-texto);margin-inline:auto;}
.legal h2{font-size:clamp(1.35rem,2.5vw,1.8rem);margin-top:2.4rem;}
.legal h3{font-size:1.1rem;font-weight:700;margin-top:1.6rem;}
.legal ul{padding-left:1.2rem;}
.legal li{margin-bottom:.45rem;}
.legal table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.88rem;}
.legal th,.legal td{border:1px solid rgba(140,133,121,.4);padding:.65em .85em;text-align:left;vertical-align:top;}
.legal th{background:var(--crema-osc);font-family:var(--sans);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;}
.legal .ficha{background:var(--crema-osc);padding:1.3rem 1.6rem;border-left:3px solid var(--bronce);}
.legal .ficha ul{list-style:none;padding:0;margin:0;}

/* =========================================================
   MENÚ MÓVIL
   ========================================================= */
@media(max-width:900px){
  .hamburguesa{display:block;z-index:110;}
  .nav{
    position:fixed;inset:0;background:var(--negro);
    flex-direction:column;justify-content:center;gap:1.8rem;
    transform:translateX(100%);transition:var(--transicion);
  }
  .nav.abierto{transform:translateX(0);}
  .nav a,.cabecera--fija .nav a,.pagina-interior .nav a{color:var(--crema);font-size:1rem;}
  body.menu-abierto{overflow:hidden;}
  .hamburguesa.activa span{background:var(--crema)!important;}
  .hamburguesa.activa span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .hamburguesa.activa span:nth-child(2){opacity:0;}
  .hamburguesa.activa span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
}

/* ---------- Aparición ---------- */
.aparece{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease;}
.aparece.visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .aparece{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  .wsp::before{animation:none;}
}

/* ---------- Pendiente ---------- */
.pendiente{background:rgba(110,27,43,.08);border-left:3px solid var(--granate);padding:.2em .5em;font-style:italic;}

/* =========================================================
   BANDA DE RESEÑAS — estrecha, clara, separa dos secciones oscuras
   ========================================================= */
.resena{
  background:var(--crema);
  border-top:1px solid rgba(166,130,74,.3);
  border-bottom:1px solid rgba(166,130,74,.3);
  padding:1.15rem 0;
}
.resena__caja{
  display:flex;align-items:center;justify-content:center;
  gap:1.1rem;flex-wrap:wrap;
}
.resena__google{display:inline-flex;flex:0 0 auto;}
.resena__google svg{width:22px;height:22px;display:block;}
.resena p{
  margin:0;font-size:.94rem;line-height:1.45;
}
.resena strong{font-weight:700;}
.resena .btn{flex:0 0 auto;padding:.7em 1.6em;font-size:.68rem;}

@media(max-width:680px){
  .resena{padding:1.3rem 0;}
  .resena__caja{gap:.75rem;text-align:center;}
  .resena p{font-size:.88rem;width:100%;}
  .resena__google svg{width:20px;height:20px;}
}

/* =========================================================
   AJUSTES FINOS DE MÓVIL
   ========================================================= */
@media(max-width:600px){
  /* el wordmark no debe comerse la cabecera */
  .cabecera__logo img{height:22px;}
  .cabecera{padding-left:1rem;padding-right:1rem;}
}

/* correos y enlaces largos: que partan en vez de desbordar */
.dato p,.pie ul li,.legal p,.legal li{overflow-wrap:anywhere;}
.dato a,.pie a{overflow-wrap:anywhere;}

/* el globo de WhatsApp no debe tapar contenido en móvil */
@media(max-width:600px){
  .wsp__globo{bottom:80px;font-size:.8rem;padding:.6rem .9rem;}
}
