:root{--cream:#f5f1e8;--paper:#faf8f2;--espresso:#2c241f;--sand:#ddd1bf;--terracotta:#b56e4b;--olive:#7c806a;--line:#d5cbbd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--espresso);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px}.container{width:min(1250px,calc(100% - 100px));margin:auto}.demo{text-align:center;background:var(--espresso);color:#eee0cb;font-size:9px;letter-spacing:.16em;padding:10px 16px}.site-header{min-height:94px;max-width:1450px;margin:auto;padding:0 50px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{font-family:'Newsreader',Georgia,serif;font-weight:600;font-size:34px;letter-spacing:.2em;line-height:1}.logo{position:relative;display:inline-block;padding-bottom:8px}.logo::after{content:"";position:absolute;left:0;bottom:0;width:44%;height:3px;background:#c46f3e;border-radius:2px;transform:skewX(-16deg)}.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav a{font-size:11px;font-weight:600;transition:color .25s}.site-header nav a:hover{color:var(--terracotta)}.site-header nav .nav-book{border:1px solid var(--espresso);padding:14px 20px}.nav-book span{margin-left:17px}.menu-button{display:none;border:0;background:none;padding:14px}.menu-button span{display:block;width:24px;height:1px;background:var(--espresso);margin:6px 0}.hero-image{width:100%;height:clamp(320px,42vw,590px);background:linear-gradient(180deg,transparent 73%,rgba(44,36,31,.18)),url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=2000&q=85') center 53%/cover;position:relative}.photo-tag{position:absolute;bottom:22px;right:50px;color:white;font-size:10px;letter-spacing:.18em;text-shadow:0 1px 7px #3a2c22}.hero-copy{padding-top:50px;padding-bottom:116px}.hero-intro{display:flex;justify-content:space-between;gap:20px}.eyebrow{color:var(--terracotta);text-transform:uppercase;font-size:10px;letter-spacing:.22em;font-weight:700}.hero-scroll{font-size:10px;letter-spacing:.15em;color:#8b8176}.hero-copy-grid{display:grid;grid-template-columns:1.45fr .65fr;gap:80px;align-items:end;padding-top:22px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Newsreader',Georgia,serif;font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(65px,7.1vw,120px);line-height:.94;margin-bottom:0}h1 em,h2 em{font-weight:400}.hero-aside{padding-bottom:9px}.hero-aside p,.section-head>p,.gallery-head>p{font-size:13px;line-height:1.9;color:#665b51}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:27px;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 23px;font-size:11px;font-weight:700;letter-spacing:.02em;border:none;min-height:48px;white-space:nowrap}.btn span{font-size:17px;line-height:1}.btn-dark{background:var(--espresso);color:#fff}.btn-dark:hover{background:#57473d}.btn-light{background:var(--cream);color:var(--espresso)}.btn-light:hover{background:#fff}.text-link{font-size:11px;font-weight:700;white-space:nowrap;border-bottom:1px solid var(--espresso);padding-bottom:7px;display:inline-flex;gap:11px;align-items:center}.text-link span{font-size:16px;line-height:1}.section{padding:115px 0}.concept{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:clamp(36px,6vw,94px);align-items:center;border-top:1px solid var(--line);padding-top:82px;padding-bottom:90px}.concept-copy{max-width:590px}.concept-copy .eyebrow{margin-bottom:23px}.concept-copy h2{font-size:clamp(51px,5.1vw,78px);line-height:1.04;margin:0 0 25px}.concept-rule{display:block;width:54px;height:3px;background:#c46f3e;margin-bottom:23px}.concept-sub{font-size:15px;font-weight:600;line-height:1.65;max-width:450px;margin-bottom:19px}.photo{background-color:var(--sand);background-position:center;background-size:cover}.photo-vertical{height:560px;background-image:url('https://images.unsplash.com/photo-1504674900247-0877df9cc836?auto=format&fit=crop&w=1100&q=85');background-position:center}.concept-body{max-width:530px}.concept-body p{font-size:12px;color:#655b52;line-height:1.85;margin-bottom:12px}.concept-body .text-link{margin-top:13px;display:inline-flex}
.menu-section{background:#e9e1d3}.section-head,.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:60px}.section-head h2,.gallery-head h2{margin:25px 0 0}.section-head>p,.gallery-head>p{max-width:340px}.menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:stretch}.photo-food{min-height:540px;background-image:url('https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=1100&q=85');position:relative}.photo-food span{position:absolute;bottom:26px;left:24px;color:white;font-size:10px;letter-spacing:.13em;text-shadow:0 1px 8px #333}.menu-right{padding:10px 0 0}.menu-tabs{display:flex;gap:20px;border-bottom:1px solid #c3b6a4;margin-bottom:25px}.menu-tabs button{border:0;background:none;color:#80766c;padding:0 2px 18px;font-size:12px}.menu-tabs button.active{color:var(--espresso);box-shadow:0 2px 0 var(--espresso)}.dish{padding:20px 0;border-bottom:1px solid #cfc4b5}.dish-top{display:flex;gap:20px;align-items:baseline;justify-content:space-between}.dish h3{font-family:'Newsreader',Georgia,serif;font-size:28px;font-weight:500;margin:0 0 9px}.dish-price{font-size:12px}.dish p{font-size:11px;line-height:1.8;color:#776d62;margin:0}.microcopy{color:#867a6d;font-size:10px;margin:25px 0 0}.space{position:relative;min-height:720px;display:flex;align-items:center;justify-content:flex-end;padding-right:max(7%,calc((100% - 1250px)/2))}.space-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 55%,rgba(20,18,16,.1)),url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=2000&q=85');background-position:center 48%}.space-card{position:relative;background:var(--cream);width:min(460px,40vw);padding:65px 55px}.space-card h2{margin:22px 0 30px}.space-card>p:not(.eyebrow){font-size:12px;line-height:2;color:#6d6258}.space-stamp{display:block;padding-top:24px;font-size:9px;letter-spacing:.2em;color:var(--terracotta)}.gallery-head{align-items:end}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:250px 250px;gap:18px}.gallery-a{grid-row:1/3;background-image:url('https://images.unsplash.com/photo-1512621776951-a57141f2eefd?auto=format&fit=crop&w=1100&q=85')}.gallery-b{background-image:url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=900&q=85')}.gallery-c{background-image:url('https://images.unsplash.com/photo-1552566626-52f8b828add9?auto=format&fit=crop&w=900&q=85')}.book-section{background:var(--espresso);color:var(--cream);text-align:center}.book-inner{padding:110px 0 95px}.book-inner h2{font-size:clamp(55px,7vw,110px);margin:27px 0 25px}.book-inner>p:not(.eyebrow){color:#d8c9bb;font-size:13px;line-height:1.9;max-width:440px;margin:0 auto 35px}.book-inner .book-note{font-size:10px!important;color:#c0ad9f!important;margin:20px auto 0!important}footer{background:#201b18;color:var(--cream)}.footer-top{padding:60px 0 55px;display:flex;justify-content:space-between}.footer-top p{font-size:12px;color:#c5b6a6;padding-top:15px}.footer-links{display:flex;gap:25px;align-items:start}.footer-links a{font-size:11px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #594a40;padding:23px 0 28px;font-size:9px;letter-spacing:.1em;color:#bfae9e}dialog{border:0;padding:0;max-width:440px;width:calc(100% - 36px);background:var(--cream);color:var(--espresso);box-shadow:0 25px 100px #19110d70}dialog::backdrop{background:rgba(22,18,15,.7)}.dialog-shell{padding:35px;display:grid;gap:14px}.dialog-shell h2{font-size:55px;margin:0}.dialog-shell>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#65584e}.dialog-shell label{font-size:11px;display:grid;gap:7px}.dialog-shell input,.dialog-shell select{width:100%;padding:12px;background:#fff;border:1px solid var(--line);color:var(--espresso)}.dialog-close{justify-self:end;background:none;border:0;font-size:26px}.booking-result{font-size:12px;color:#554e43!important;margin:0!important}.photo,.hero-image{transition:background-size .5s ease}
@media(max-width:1050px){.site-header{padding:0 28px}.site-header nav{gap:18px}.container{width:calc(100% - 60px)}.hero-copy-grid{gap:25px}.concept{grid-template-columns:1.05fr .85fr;gap:36px}.photo-vertical{height:490px}.space-card{width:min(460px,48vw)}}
@media(max-width:720px){.container{width:calc(100% - 38px)}.site-header{min-height:73px;padding:0 20px}.logo{font-size:30px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:107px;left:0;right:0;background:var(--cream);z-index:10;flex-direction:column;align-items:stretch;padding:25px 20px 32px;box-shadow:0 17px 25px #2c241f1c;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:15px 8px;font-size:13px}.site-header nav .nav-book{margin-top:10px;text-align:center}.hero-image{height:350px;background-position:center}.photo-tag{bottom:12px;right:14px;font-size:8px}.hero-copy{padding:40px 0 65px}.hero-scroll{display:none}.hero-copy-grid{grid-template-columns:1fr;gap:25px;padding-top:20px}h1{font-size:clamp(60px,14vw,90px)}.hero-aside p{max-width:440px}.hero-actions{gap:19px}.section{padding:75px 0}.concept{grid-template-columns:1fr;gap:25px;padding-top:63px;padding-bottom:65px}.concept-copy h2{font-size:clamp(51px,10vw,70px)}.concept-copy .eyebrow{margin-bottom:18px}.concept-sub{margin-bottom:15px}.photo-vertical{height:370px}.concept-body p{margin-bottom:12px}.section-head,.gallery-head{display:block;margin-bottom:35px}.section-head h2,.gallery-head h2{margin:17px 0}.menu-layout{grid-template-columns:1fr;gap:28px}.photo-food{min-height:330px}.menu-tabs{justify-content:space-between;gap:6px}.space{min-height:0;display:block;padding:0}.space-photo{position:relative;height:330px}.space-card{width:calc(100% - 38px);margin:-50px auto 0;padding:35px 28px}.space-card h2{margin:20px 0}.gallery-grid{grid-template-rows:190px 190px;gap:10px}.book-inner{padding:80px 0}.footer-top{display:block;padding:48px 0 30px}.footer-links{margin-top:30px;flex-wrap:wrap;gap:16px}.footer-bottom{display:block;line-height:2}.dialog-shell{padding:25px}.dialog-shell h2{font-size:45px}}
@media(max-width:390px){h1{font-size:55px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-image{height:300px}.gallery-grid{grid-template-rows:150px 150px}.site-header nav{top:107px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* LEVANTE V3 — lectura mas comoda y serif contemporanea */
.logo{font-family:Manrope,Arial,sans-serif;font-size:27px;font-weight:600;letter-spacing:.17em;line-height:1.25;padding-bottom:10px;white-space:nowrap}
.logo::after{width:100%;height:2px;left:0;bottom:0;transform:none;border-radius:0;background:#c46f3e}
h1,h2,.dish h3{font-family:'Newsreader',Georgia,serif;letter-spacing:-.035em}
h1{line-height:1.02}
h2{line-height:1.08}
.hero-aside p,.section-head>p,.gallery-head>p,.concept-body p,.space-card>p:not(.eyebrow),.book-inner>p:not(.eyebrow),.dialog-shell>p:not(.eyebrow){font-size:18px;line-height:1.7}
.concept-sub{font-size:19px;line-height:1.55}
.dish p{font-size:16px;line-height:1.65}
.dish h3{font-size:29px}
.footer-top p{font-size:15px;line-height:1.7}
.hero-aside p{max-width:465px}
.section-head>p,.gallery-head>p{max-width:410px}
.concept-body{max-width:520px}
.concept-body p{margin-bottom:16px}
.space-card{width:min(525px,43vw);padding:57px 48px}
.book-inner>p:not(.eyebrow){max-width:530px}
.dialog-shell>p:not(.eyebrow){font-size:16px}
@media(max-width:1050px){.space-card{width:min(500px,51vw)}}
@media(max-width:720px){
 .logo{font-size:23px;padding-bottom:8px}
 .hero-aside p,.section-head>p,.gallery-head>p,.concept-body p,.space-card>p:not(.eyebrow),.book-inner>p:not(.eyebrow){font-size:17px;line-height:1.7}
 .concept-sub{font-size:18px}
 .dish p{font-size:15px}
 .space-card{width:calc(100% - 38px);padding:35px 28px}
}

/* LEVANTE V3.1 — ajustes puntuales aprobados */
/* Reducimos la separación entre las letras del logo y su línea. */
.logo{padding-bottom:3px}
.logo::after{bottom:0}
/* El enlace de Nuestra esencia tiene mayor presencia y flecha horizontal. */
.concept-body .text-link{font-size:16px;line-height:1.4;gap:13px;padding-bottom:8px}
.concept-body .text-link span{font-size:21px;line-height:1;transition:transform .22s ease}
.concept-body .text-link:hover span{transform:translateX(4px)}
@media(max-width:720px){.logo{padding-bottom:3px}.concept-body .text-link{font-size:16px}}
@media(prefers-reduced-motion:reduce){.concept-body .text-link span{transition:none}}

/* LEVANTE V3.2 — hero editorial compacto */
/* Foto provisional de restaurante luminoso; confirmar encuadre y licencia antes de publicar. */
.hero-image{
  height:clamp(310px,28vw,445px);
  background-image:linear-gradient(180deg,transparent 78%,rgba(44,36,31,.12)),url('https://images.pexels.com/photos/19965093/pexels-photo-19965093.jpeg?auto=compress&cs=tinysrgb&w=2000');
  background-position:center 53%;
}
.hero-copy{padding-top:29px;padding-bottom:77px}
.hero-copy-grid{grid-template-columns:minmax(0,1fr) minmax(265px,350px);gap:clamp(28px,4vw,62px);align-items:end;padding-top:15px}
.hero-copy h1{font-size:clamp(56px,5.4vw,87px);line-height:1.02;letter-spacing:-.042em}
.hero-headline-first{white-space:nowrap}
.hero-aside{padding-bottom:6px}
.hero-actions{margin-top:20px}
@media(max-width:1050px){
 .hero-copy-grid{grid-template-columns:minmax(0,1fr) minmax(235px,300px);gap:28px}
 .hero-copy h1{font-size:clamp(52px,5.4vw,72px)}
}
@media(max-width:720px){
 .hero-image{height:clamp(245px,61vw,350px)}
 .hero-copy{padding-top:28px;padding-bottom:60px}
 .hero-copy-grid{grid-template-columns:1fr;gap:15px;padding-top:17px}
 .hero-copy h1{font-size:clamp(40px,8.7vw,64px);line-height:1.04}
 .hero-actions{margin-top:19px}
}
@media(max-width:390px){
 .hero-image{height:245px}
 .hero-copy h1{font-size:clamp(37px,9.3vw,40px)}
}


/* LEVANTE V3.3 — revisión focalizada de cabecera y portada */
/* Una cabecera más discreta, conservando la identidad tipográfica aprobada. */
.site-header{min-height:74px}
.site-header nav .nav-book{padding:12px 18px}
/* Foto temporal: Pexels, The Castlebar, https://www.pexels.com/photo/interior-of-a-modern-restaurant-5914508/ */
.hero-image{
  background-image:linear-gradient(180deg,transparent 83%,rgba(44,36,31,.15)),url('https://images.pexels.com/photos/5914508/pexels-photo-5914508.jpeg?auto=compress&cs=tinysrgb&w=2000');
  background-position:center 54%;
}
/* Eliminar la separación sobrante del hero y dar aire entre antetítulo y titular. */
.hero-copy{padding-top:33px;padding-bottom:39px}
.hero-copy-grid{padding-top:28px}
.hero-copy h1{margin:0;line-height:1.065}
.hero-intro{align-items:center}
/* Flechas uniformes, horizontales; deslizamiento discreto en hover. */
.hero-actions .btn span,.hero-actions .text-link span,.nav-book span,.book-inner .btn span,.dialog-shell .btn span{display:inline-block;transition:transform .22s ease}
.hero-actions a:hover span,.nav-book:hover span,.book-inner .btn:hover span,.dialog-shell .btn:hover span{transform:translateX(4px)}
@media(max-width:720px){
 .site-header{min-height:66px;position:relative}
 .site-header nav{top:100%}
 .hero-copy{padding-top:27px;padding-bottom:43px}
 .hero-copy-grid{padding-top:21px}
 .hero-image{background-position:center 55%}
}
@media(max-width:390px){.site-header nav{top:100%}}
@media(prefers-reduced-motion:reduce){.hero-actions .btn span,.hero-actions .text-link span,.nav-book span,.book-inner .btn span,.dialog-shell .btn span{transition:none}}

/* LEVANTE V3.4 — fotografía elegida por el usuario.
   Se conserva la composición del hero V3.3 y se retira el rótulo superpuesto.
   Archivo local provisional, origen y derechos pendientes de confirmar. */
.hero-image{
 background-image:url('../assets/img/terraza-levante-provisional.jpg');
 background-position:center 55%;
 background-size:cover;
 background-repeat:no-repeat;
}
@media(max-width:720px){.hero-image{background-position:center 55%}}


/* LEVANTE V3.5 — dirección visual aprobada: hero Pexels opción 3.
   Foto: Надежда Окопник, https://www.pexels.com/photo/interior-design-of-bar-18471789/
   Imagen remota provisional: requiere conexión a Internet.
   Se conservan el menú compacto, el hero editorial y las flechas horizontales. */
.site-header .logo,
.footer-top .logo {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.08;
  padding-bottom: 3px;
}
.site-header .logo::after,
.footer-top .logo::after {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #c46f3e;
  transform: none;
}
.hero-image {
  background-image: url('https://images.pexels.com/photos/18471789/pexels-photo-18471789.jpeg?auto=compress&cs=tinysrgb&w=2200');
  background-position: center 50%;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero-copy { padding-top: 34px; padding-bottom: 42px; }
.hero-copy-grid { padding-top: 31px; }
.hero-copy h1 { line-height: 1.07; }
.hero-aside { padding-bottom: 4px; }
.hero-actions { margin-top: 22px; }
@media (max-width:720px) {
  .site-header .logo,.footer-top .logo { font-size: 28px; }
  .hero-image { background-position: center 50%; }
  .hero-copy { padding-top: 28px; padding-bottom: 42px; }
  .hero-copy-grid { padding-top: 23px; }
}
@media (max-width:390px) {
  .site-header .logo,.footer-top .logo { font-size: 25px; }
}


/* LEVANTE V3.6 — candidata B, Doğu Tuncer / Pexels.
   Importante: la fuente es VERTICAL, por tanto en un hero panorámico
   resulta inevitable perder gran parte de la imagen. Enfocamos la zona
   inferior, donde se encuentran las mesas. Es una prueba de encuadre. */
.hero-image {
  background-image: url('https://images.pexels.com/photos/17631105/pexels-photo-17631105.jpeg?auto=compress&cs=tinysrgb&w=1800');
  background-position: center 82%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 720px) {
  .hero-image { background-position: center 79%; }
}


/* LEVANTE V3.7 — carta editorial B (mantiene la foto y el texto original). */
.menu-section{background:var(--cream)}
.menu-editorial{max-width:1160px}
.menu-editorial-head{max-width:900px;margin-bottom:38px}
.menu-eyebrow-row{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:25px}
.menu-eyebrow-row .eyebrow{margin:0}
.menu-orange-rule{width:38px;height:2px;flex-shrink:0;background:var(--terracotta)}
.menu-editorial-head h2{font-size:clamp(58px,6.2vw,92px);line-height:1.05;letter-spacing:-.035em;margin:0 0 25px;max-width:1000px}
.menu-description{font-size:18px;line-height:1.72;color:#67594d;max-width:730px;margin:0}
.menu-editorial .menu-photo{width:100%;min-height:0;aspect-ratio:16/8;background-position:center 50%;margin-bottom:39px}
.menu-categories{border-top:1px solid #c8b9a6}
.menu-category{border-bottom:1px solid #c8b9a6}
.menu-category h3{margin:0;font:inherit}
.menu-category-button{background:transparent;border:0;color:var(--espresso);display:grid;grid-template-columns:65px minmax(0,1fr) 36px;gap:22px;align-items:center;width:100%;text-align:left;padding:26px 4px}
.menu-category-number{font-size:13px;font-weight:600;color:var(--terracotta)}
.menu-category-name{font-family:'Newsreader',Georgia,serif;font-size:clamp(31px,3.1vw,46px);line-height:1.1;letter-spacing:-.025em;font-weight:500}
.menu-category-arrow{font-size:28px;line-height:1;text-align:right;transition:transform .2s ease}
.menu-category-button:hover .menu-category-arrow,.menu-expand-all:hover span{transform:translateX(5px)}
.menu-category-button:hover .menu-category-name{color:#9c5b38}
.menu-category-panel{padding:0 6% 30px 88px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}
.menu-category-panel[hidden]{display:none}
.menu-category-panel .dish{padding:16px 0}
.menu-category-panel .dish h4{font-family:'Newsreader',Georgia,serif;font-size:25px;font-weight:500;margin:0 0 6px}
.menu-category-panel .dish p{font-size:15px;line-height:1.55}
.menu-category-panel .dish-price{font-size:14px;white-space:nowrap}
.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:23px}
.menu-bottom .microcopy{margin:0;font-size:11px}
.menu-expand-all{border:0;background:none;color:var(--espresso);font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:12px;padding:10px 0;white-space:nowrap}
.menu-expand-all span{font-size:21px;display:inline-block;transition:transform .2s ease}
@media(max-width:720px){
 .menu-editorial-head{margin-bottom:26px}
 .menu-eyebrow-row{margin-bottom:20px}
 .menu-editorial-head h2{font-size:clamp(48px,10vw,67px);margin-bottom:19px}
 .menu-description{font-size:17px;line-height:1.7}
 .menu-editorial .menu-photo{aspect-ratio:4/3;margin-bottom:23px}
 .menu-category-button{grid-template-columns:27px minmax(0,1fr) 26px;gap:13px;padding:23px 1px}
 .menu-category-name{font-size:clamp(27px,7vw,38px)}
 .menu-category-arrow{font-size:23px}
 .menu-category-panel{padding:0 1px 24px 40px;grid-template-columns:1fr;gap:0}
 .menu-bottom{align-items:flex-start;flex-direction:column-reverse;gap:8px}
 .menu-expand-all{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.menu-category-arrow,.menu-expand-all span{transition:none}}


/* LEVANTE V3.8 — sistema tipográfico compartido y ritmo vertical.
   Hero permanece con jerarquía propia; textos y fotografías aprobados intactos. */
:root{
  --section-heading-size:clamp(54px,5.35vw,76px);
  --section-heading-leading:1.045;
  --section-eyebrow-gap:24px;
  --section-copy-size:18px;
  --section-copy-leading:1.72;
}
/* Única regla de antetítulo para todas las secciones */
main section:not(.hero) .eyebrow{
  font-family:Manrope,Arial,sans-serif;
  font-size:11px;
  letter-spacing:.19em;
  line-height:1.5;
  font-weight:700;
  color:var(--terracotta);
  margin:0 0 var(--section-eyebrow-gap);
}
/* Escala y tipografía compartidas: Nuestra esencia, Carta, Espacio, Momentos, Cierre */
#concepto h2,#carta h2,#espacio h2,#galeria h2,#reservas h2{
  font-family:'Newsreader',Georgia,serif;
  font-size:var(--section-heading-size);
  font-weight:500;
  line-height:var(--section-heading-leading);
  letter-spacing:-.035em;
  margin:0 0 26px;
}
#concepto .concept-copy .eyebrow{margin-bottom:var(--section-eyebrow-gap)}
#concepto .concept-sub,#concepto .concept-body p,#carta .menu-description,
#espacio .space-card>p:not(.eyebrow),#galeria .gallery-head>p,
#reservas .book-inner>p:not(.eyebrow):not(.book-note){
  font-size:var(--section-copy-size);
  line-height:var(--section-copy-leading);
}
/* Conserva el texto y la foto de la carta; retira el detalle naranja a la derecha */
.menu-orange-rule{display:none}
.menu-eyebrow-row{display:block;margin:0}
.menu-editorial-head{max-width:1050px;margin-bottom:38px}
#carta h2{max-width:1000px}
#carta .menu-description{max-width:730px}
/* Separaciones entre bloques editoriales */
#concepto{padding-top:94px;padding-bottom:94px}
#carta{padding-top:94px;padding-bottom:94px}
#galeria{padding-top:94px;padding-bottom:94px}
#galeria .gallery-head h2{margin-top:0}
#galeria .gallery-head>p{max-width:360px}
#espacio .space-card{padding-top:54px;padding-bottom:54px}
#reservas .book-inner{padding-top:100px;padding-bottom:95px}
#reservas .book-inner>p:not(.eyebrow):not(.book-note){max-width:520px;margin:0 auto 33px}
#reservas .book-inner .book-note{font-size:11px!important}
@media(max-width:1050px){
 :root{--section-heading-size:clamp(48px,5.6vw,65px)}
 #espacio .space-card{padding:40px 34px}
}
@media(max-width:720px){
 :root{--section-heading-size:clamp(42px,9vw,58px);--section-eyebrow-gap:18px;--section-copy-size:17px}
 #concepto,#carta,#galeria{padding-top:70px;padding-bottom:70px}
 #concepto h2,#carta h2,#espacio h2,#galeria h2,#reservas h2{margin-bottom:22px}
 #carta .menu-editorial-head{margin-bottom:26px}
 #espacio .space-card{padding:34px 27px}
 #reservas .book-inner{padding-top:74px;padding-bottom:70px}
}

/* V3.9 — El espacio: composición editorial B2; resto de secciones intacto */
#espacio.space{display:block;min-height:0;padding:94px 0;background:#e9dfd0}
#espacio .space-editorial{width:min(1250px,calc(100% - 100px))}
#espacio .space-heading{max-width:1150px;margin-bottom:36px}
#espacio .space-heading h2{max-width:950px;margin:0;}
#espacio .space-composition{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(0,1fr);gap:clamp(24px,3.1vw,45px);align-items:stretch}
#espacio .space-main-photo{min-height:590px;background-image:url('../images/espacio-mesa.webp');background-position:40% center;background-size:cover;background-repeat:no-repeat}
#espacio .space-side{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:26px}
#espacio .space-copy{padding:4px 0 0;max-width:455px}
#espacio .space-copy p{margin:0 0 18px;font-size:var(--section-copy-size);line-height:var(--section-copy-leading);color:#655b52}
#espacio .space-copy p:last-child{margin-bottom:0}
#espacio .space-detail-photo{height:310px;min-height:220px;background-image:url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&w=1000&q=85');background-position:center 54%}
@media(max-width:1050px){#espacio .space-editorial{width:calc(100% - 60px)}#espacio .space-main-photo{min-height:530px}#espacio .space-detail-photo{height:270px}}
@media(max-width:720px){
 #espacio.space{padding:70px 0}
 #espacio .space-editorial{width:calc(100% - 38px)}
 #espacio .space-heading{margin-bottom:26px}
 #espacio .space-composition{display:grid;grid-template-columns:1fr;gap:23px}
 #espacio .space-main-photo{min-height:0;aspect-ratio:4/5}
 #espacio .space-side{display:contents}
 #espacio .space-copy{max-width:100%;order:2;padding:0}
 #espacio .space-detail-photo{height:auto;min-height:0;aspect-ratio:4/3;order:3;width:82%;justify-self:end}
 #espacio .space-main-photo{order:1}
}

/* V3.10 — El espacio: una sola fotografía + texto centrado verticalmente.
   Sin modificar estilos de ninguna otra sección. */
#espacio .space-composition{
  grid-template-columns:minmax(0,1.34fr) minmax(0,1fr);
  align-items:center;
}
#espacio .space-side{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-self:stretch;
  gap:0;
}
#espacio .space-copy{padding:0;max-width:455px}
@media(max-width:720px){
  #espacio .space-composition{grid-template-columns:1fr;align-items:stretch}
  #espacio .space-side{display:block;align-self:auto}
  #espacio .space-copy{order:2;max-width:100%}
}

/* V3.11 — Momentos LEVANTE: tríptico editorial. Solo afecta a #galeria. */
#galeria .gallery-head-v311{display:block;margin-bottom:37px;max-width:1050px}
#galeria .gallery-head-v311 .eyebrow{margin-bottom:var(--section-eyebrow-gap)}
#galeria .gallery-head-v311 h2{margin:0 0 21px;font-size:var(--section-heading-size);line-height:1.05}
#galeria .gallery-head-v311>p:not(.eyebrow){max-width:760px;margin:0;color:#655b52;font-size:var(--section-copy-size);line-height:var(--section-copy-leading)}
#galeria .gallery-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:17px}
#galeria .gallery-triptych .photo{grid-row:auto;min-height:0;aspect-ratio:3/4;background-size:cover}
#galeria .gallery-triptych .gallery-a{background-image:url('https://images.unsplash.com/photo-1528605248644-14dd04022da1?auto=format&fit=crop&w=950&q=85');background-position:center 50%}
#galeria .gallery-triptych .gallery-b{background-image:url('https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=950&q=85');background-position:center 50%}
#galeria .gallery-triptych .gallery-c{background-image:url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=950&q=85');background-position:center 50%}
@media(max-width:720px){
  #galeria .gallery-head-v311{margin-bottom:26px}
  #galeria .gallery-triptych{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:9px}
  #galeria .gallery-triptych .photo{flex:0 0 78%;aspect-ratio:3/4;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){#galeria .gallery-triptych{scroll-behavior:auto}}

/* LEVANTE V3.12 — Momentos: composición editorial A. Sin cambios en otras secciones. */
#galeria .gallery-head-v311{display:block;max-width:100%;margin-bottom:34px}
#galeria .gallery-head-v311 .eyebrow{font-size:var(--section-eyebrow-size,11px);letter-spacing:var(--section-eyebrow-tracking,.19em);margin-bottom:var(--section-eyebrow-gap,24px)}
#galeria .gallery-head-v311 h2{font-size:var(--section-heading-size);line-height:1.05;margin:0 0 23px}
#galeria .gallery-head-v311>p:not(.eyebrow){max-width:850px;font-size:var(--section-copy-size,18px);line-height:var(--section-copy-leading,1.7);margin:0}
#galeria .gallery-duo{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-rows:none;gap:18px;align-items:stretch;overflow:visible}
#galeria .gallery-duo .photo{grid-row:auto;min-height:0;aspect-ratio:4/3;background-size:cover;background-repeat:no-repeat}
#galeria .gallery-duo .gallery-a{background-image:url('https://images.unsplash.com/photo-1528605248644-14dd04022da1?auto=format&fit=crop&w=1400&q=85');background-position:center}
#galeria .gallery-duo .gallery-b{background-image:url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=1000&q=85');background-position:center}
@media(max-width:720px){
  #galeria .gallery-head-v311{margin-bottom:25px}
  #galeria .gallery-duo{display:grid;grid-template-columns:1fr;gap:12px;overflow:visible;padding:0}
  #galeria .gallery-duo .photo{width:100%;aspect-ratio:16/10;flex:auto;scroll-snap-align:unset}
}

/* V3.13 — Ajustes acotados a Momentos y al enlace de reserva del hero. */
#galeria .gallery-duo{
  width:100%;max-width:1010px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);
  gap:18px;align-items:start;overflow:clip;
}
#galeria .gallery-duo .photo{
  box-sizing:border-box;display:block;min-width:0;max-width:100%;width:100%;
  height:clamp(235px,26vw,320px);min-height:0;aspect-ratio:auto;
  grid-column:auto;grid-row:auto;background-size:cover;
}
.hero-actions .hero-book-link{gap:9px;transition:color .22s ease,border-color .22s ease}
.hero-actions .hero-book-link span{font-size:inherit;line-height:inherit}
.hero-actions .hero-book-link .calendar-icon{display:block;width:16px;height:16px;flex:none}
.hero-actions .hero-book-link:hover{color:var(--terracotta);border-color:var(--terracotta)}
@media(max-width:720px){
  #galeria .gallery-duo{max-width:100%;grid-template-columns:1fr;gap:12px;overflow:clip}
  #galeria .gallery-duo .photo{height:auto;aspect-ratio:16/10;min-width:0}
}

/* V3.14 — Momentos: fotografías protagonistas, márgenes alineados con el contenido. */
@media (min-width:721px){
  #galeria .gallery-duo{
    width:100%;max-width:100%;margin:0;
    grid-template-columns:minmax(0,57fr) minmax(0,43fr);
    gap:20px;align-items:stretch;overflow:visible;
  }
  #galeria .gallery-duo .photo{
    width:100%;min-width:0;max-width:100%;
    height:clamp(345px,34vw,455px);aspect-ratio:auto;
    background-size:cover;
  }
}

/* V3.16 — Fotografías elegidas para Momentos LEVANTE, composición V3.14 intacta. */
#galeria .gallery-duo .gallery-a{background-image:url('../images/momentos-mesa-preparada.webp');background-position:50% 50%}
#galeria .gallery-duo .gallery-b{background-image:url('../images/momentos-brindis.webp');background-position:50% 50%}

/* LEVANTE V3.17 — imagen del hero suministrada por el usuario.
   Se mantienen las dimensiones del hero y la composición previa. */
.hero-image{
  background-image:url('../images/cabecera-terraza.webp');
  background-position:center 55%;
  background-size:cover;
  background-repeat:no-repeat;
}
@media(max-width:720px){.hero-image{background-position:center 55%}}

/* LEVANTE V3.18 — CTA de reservas y footer editorial compacto */
#reservas .book-calendar-btn{border-radius:4px;justify-content:center;gap:13px;transition:background-color .25s ease}
#reservas .book-calendar-btn .calendar-icon{width:17px;height:17px;flex:none;display:block}
footer .footer-top{padding-top:30px;padding-bottom:24px;align-items:flex-start}
footer .footer-top p{margin:5px 0 0;padding-top:0}
footer .footer-bottom{padding-top:14px;padding-bottom:16px}
footer .footer-links{padding-top:4px}
@media(max-width:720px){
 footer .footer-top{padding-top:30px;padding-bottom:20px;display:block}
 footer .footer-links{margin-top:21px;padding-top:0;gap:16px}
 footer .footer-bottom{padding-top:14px;padding-bottom:20px;line-height:1.9}
}


/* LEVANTE V3.19 — legibilidad, hover del hero y auditoría tipográfica.
   Escala editorial compartida de V3.8 conservada: Newsreader para títulos,
   Manrope para navegación, antetítulos y textos. El hero tiene jerarquía propia. */
:root{
  --nav-text-size:13px;
  --hero-action-text-size:13px;
}
/* Navegación más legible sin alterar su estructura. */
.site-header nav a{font-size:var(--nav-text-size);line-height:1.4}
/* CTA principal y secundario comparten tamaño visual y grosor. */
.hero-actions .btn,
.hero-actions .hero-book-link{
  font-family:Manrope,Arial,sans-serif;
  font-size:var(--hero-action-text-size);
  font-weight:700;
  line-height:1.4;
}
.hero-actions .btn{border-radius:4px}
/* Alineación estable del enlace y del subrayado: nunca mover el texto. */
.hero-actions .hero-book-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 0 6px;
  border-bottom:1px solid currentColor;
  transition:color .22s ease;
  vertical-align:middle;
}
.hero-actions .hero-book-link span,
.hero-actions .hero-book-link:hover span,
.hero-actions a.hero-book-link:hover span{
  display:inline;
  font-size:inherit;
  line-height:inherit;
  transform:none;
  transition:none;
}
.hero-actions .hero-book-link .calendar-icon{width:17px;height:17px;flex:0 0 17px}
/* Mismo cuerpo/ritmo para textos corridos; excepción deliberada: texto
   destacado en la introducción y microtextos de carta/avisos. */
#concepto .concept-body p,
#espacio .space-copy p,
#galeria .gallery-head-v311>p:not(.eyebrow),
#carta .menu-description,
#reservas .book-inner>p:not(.eyebrow):not(.book-note){
  font-family:Manrope,Arial,sans-serif;
  font-size:var(--section-copy-size);
  font-weight:400;
  line-height:var(--section-copy-leading);
}
/* Mantener igual estilo de antetítulos sin alterar contenido. */
#galeria .gallery-head-v311 .eyebrow{font-size:11px;letter-spacing:.19em}
@media(max-width:720px){
  :root{--nav-text-size:15px;--hero-action-text-size:13px}
  .site-header nav a{line-height:1.5}
}


/* V3.20 — cabecera sticky, única reserva superior, y CTAs legibles. */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(245,241,232,.97);
  min-height:94px;
  transition:min-height .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.site-header.is-scrolled{
  min-height:72px;
  background:rgba(245,241,232,.985);
  box-shadow:0 5px 18px rgba(44,36,31,.09);
}
/* Mantener la reserva transparente como en la V3.19, con radio sutil. */
.site-header nav .nav-book{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--espresso);
  background:transparent;
  color:var(--espresso);
  border-radius:4px;
  padding:12px 18px;
  font-family:Manrope,Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  white-space:nowrap;
  transition:background-color .22s ease,color .22s ease;
}
.site-header nav .nav-book:hover{background:rgba(44,36,31,.07);color:var(--espresso)}
#reservas .book-calendar-btn{
  font-family:Manrope,Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}
/* Evitar que el header pegajoso tape los destinos de navegación. */
#concepto,#carta,#espacio,#galeria,#reservas{scroll-margin-top:110px}
@media(max-width:720px){
  .site-header{position:sticky;top:0;min-height:73px}
  .site-header.is-scrolled{min-height:66px}
  .site-header nav{top:100%;max-height:calc(100dvh - 75px);overflow-y:auto}
  .site-header nav .nav-book{font-size:14px;padding:13px 18px}
  #concepto,#carta,#espacio,#galeria,#reservas{scroll-margin-top:80px}
}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}


/* V3.21 — barra sticky a todo el ancho, contenido alineado a la retícula. */
.site-header {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  display:block;
  border-bottom:1px solid rgba(44,36,31,.11);
}
.site-header.is-scrolled { box-shadow:0 3px 12px rgba(44,36,31,.055); }
.site-header .header-inner {
  width:min(1250px,calc(100% - 100px));
  margin:0 auto;
  min-height:inherit;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  position:relative;
}
@media(max-width:1050px){
  .site-header{padding:0;}
  .site-header .header-inner{width:calc(100% - 60px);}
}
@media(max-width:720px){
  .site-header{padding:0;}
  .site-header .header-inner{width:calc(100% - 38px);position:static;}
  .site-header nav{left:0;right:0;top:100%;}
}


/* V3.22 — responsive consolidado. Sin alteraciones de la maqueta aprobada en escritorio. */
/* Los elementos de grid pueden encoger sin empujar el viewport. */
.hero-copy-grid > *, .menu-editorial > *, .space-composition > *,
.gallery-duo > *, .dish-top > * { min-width:0; }
img, svg { max-width:100%; }
/* El header debe seguir siendo operable con navegación por teclado. */
.site-header nav a:focus-visible, .menu-button:focus-visible { outline-offset:3px; }
@media (max-width:1050px) and (min-width:721px) {
  .site-header .header-inner {gap:18px;}
  .site-header nav {gap:clamp(12px,1.65vw,19px);}
  .site-header nav a:not(.nav-book) {font-size:12px;}
  #espacio .space-composition {gap:26px;}
  #espacio .space-main-photo {min-height:490px;}
  #galeria .gallery-duo {gap:16px;}
}
@media (max-width:820px) and (min-width:721px) {
  .site-header .header-inner {width:calc(100% - 42px);gap:12px;}
  .site-header nav {gap:10px;}
  .site-header nav .nav-book {padding:11px 12px;font-size:13px;}
  .logo {font-size:23px;letter-spacing:.12em;}
  .hero-copy-grid {grid-template-columns:minmax(0,1fr) minmax(200px,260px);gap:22px;}
  .hero-copy h1 {font-size:clamp(46px,6vw,59px);}
}
@media (max-width:720px) {
  /* Un único sistema de anchura en las secciones y header móvil. */
  .container, #espacio .space-editorial, .site-header .header-inner {width:calc(100% - 38px);}
  .site-header {z-index:200;}
  .site-header nav {box-sizing:border-box;top:100%;width:100%;max-height:calc(100dvh - 66px);overflow-y:auto;overscroll-behavior:contain;}
  .site-header nav a {min-height:44px;display:flex;align-items:center;}
  .site-header nav .nav-book {justify-content:center;min-height:46px;}
  .menu-button {min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
  .hero-copy h1 {font-size:clamp(38px,8.7vw,63px);overflow-wrap:normal;}
  .hero-headline-first {white-space:normal;}
  .hero-copy-grid {min-width:0;}
  .hero-copy {padding-bottom:clamp(54px,9vw,75px);}
  .hero-image {background-position:50% 55%;}
  .hero-actions .btn {font-size:14px;min-height:48px;}
  #concepto .concept-sub {max-width:100%;}
  #espacio .space-composition {grid-template-columns:minmax(0,1fr);gap:23px;}
  #espacio .space-main-photo {background-position:40% center;aspect-ratio:4/5;}
  #espacio .space-side {display:block;}
  #galeria .gallery-duo {grid-template-columns:minmax(0,1fr);gap:13px;}
  #galeria .gallery-duo .photo {height:auto;aspect-ratio:16/10;}
  #carta .menu-category-name {overflow-wrap:break-word;}
  #carta .menu-category-panel .dish-top {gap:12px;}
  #carta .menu-category-panel .dish-price {flex-shrink:0;}
  #reservas .book-inner h2 br {display:none;}
  #reservas .book-calendar-btn {font-size:14px;min-height:48px;}
  footer .footer-links {line-height:1.5;}
}
@media (max-width:650px) {
  /* Punto fino utilizado también en NUMA: más aire para texto y controles. */
  .hero-copy h1 {font-size:clamp(36px,9vw,56px);}
  .hero-image {height:clamp(240px,64vw,345px);}
  .menu-category-name {font-size:clamp(26px,7.1vw,35px);}
  #espacio .space-main-photo {aspect-ratio:4/5;}
  #galeria .gallery-duo .photo {aspect-ratio:5/4;}
  .section-head>p, .gallery-head>p {max-width:100%;}
}
@media (max-width:390px) {
  .hero-copy h1 {font-size:clamp(34px,8.8vw,40px);letter-spacing:-.042em;}
  #concepto h2,#carta h2,#espacio h2,#galeria h2,#reservas h2 {font-size:clamp(38px,10vw,45px);}
  .menu-category-button {gap:9px;grid-template-columns:23px minmax(0,1fr) 23px;}
  .menu-category-name {font-size:clamp(25px,7.4vw,30px);}
  .menu-category-panel {padding-left:33px;}
  .dish-top h4 {overflow-wrap:anywhere;}
  footer .footer-links {gap:12px 16px;}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
  *,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

/* V3.23 — ajuste fino de titulares móviles */
.book-title-line, .space-title-line {display:inline;}
@media (max-width:720px) {
  #espacio .space-heading h2 {line-height:1.02;}
  #espacio .space-title-line,
  #espacio .space-heading h2 em {display:block;}

  #reservas .book-inner h2 {font-size:clamp(34px,9vw,42px); line-height:1.02;}
  #reservas .book-title-line,
  #reservas .book-inner h2 em {display:block;}
  #reservas .book-title-line {white-space:nowrap;}
}
@media (max-width:390px) {
  #espacio .space-heading h2 {font-size:clamp(32px,11vw,43px);}
  #reservas .book-inner h2 {font-size:clamp(31px,9.2vw,36px);}
}

/* V3.24 — ajuste fino de jerarquía tipográfica móvil */
.menu-title-line {display:inline;}
@media (max-width:720px) {
  /* Coherencia visual entre hero y títulos de sección en móvil */
  .hero-copy h1,
  #concepto h2,
  #carta h2,
  #espacio .space-heading h2,
  #galeria h2,
  #reservas .book-inner h2 {
    font-size:clamp(36px,9.2vw,42px);
    letter-spacing:-.04em;
  }
  .hero-copy h1 {line-height:1.04;}
  #concepto h2, #carta h2, #espacio .space-heading h2, #galeria h2, #reservas .book-inner h2 {line-height:1.03;}

  #carta h2 {margin-bottom:20px;}
  #carta .menu-title-line,
  #carta h2 em {display:block;}
}
@media (max-width:390px) {
  .hero-copy h1,
  #concepto h2,
  #carta h2,
  #espacio .space-heading h2,
  #galeria h2,
  #reservas .book-inner h2 {font-size:clamp(33px,9.4vw,39px);}
}

/* V3.25 — ritmo vertical móvil: fotografía de Esencia y encabezado de Carta.
   La suma de padding inferior/superior de secciones contiguas del mismo color
   creaba un vacío de ~140 px. Mantener separación editorial sin duplicarla. */
@media (max-width:720px) {
  #concepto {padding-bottom:28px;}
  #carta {padding-top:28px;}
}

/* V3.26: accesibilidad funcional, sin cambios de disposición */
#booking-date:invalid:not(:placeholder-shown) {border-color:var(--terracotta);}
@media (prefers-reduced-motion:reduce) {html:focus-within {scroll-behavior:auto;}}

/* V3.27 — Modal de reservas: sistema visual propio, sin afectar al resto de LEVANTE */
#booking-dialog {
  box-sizing:border-box;
  width:min(490px, calc(100% - 32px));
  max-width:490px;
  max-height:min(92dvh, 860px);
  margin:auto;
  overflow-y:auto;
  padding:0;
  border:1px solid #ddd2c3;
  border-radius:4px;
  background:var(--cream);
  color:var(--espresso);
  box-shadow:0 24px 85px rgba(14,12,10,.36);
}
#booking-dialog::backdrop {background:rgba(18,15,12,.70);}
#booking-dialog .dialog-shell {
  position:relative;
  display:grid;
  gap:0;
  padding:38px 38px 36px;
}
#booking-dialog .dialog-close {
  position:absolute;right:16px;top:14px;
  display:grid;place-items:center;
  width:44px;height:44px;
  padding:0;border:0;border-radius:4px;
  background:transparent;color:var(--espresso);
  font-size:28px;line-height:1;
}
#booking-dialog .dialog-close:hover {background:#e8dfd3;}
#booking-dialog .eyebrow {margin:12px 46px 12px 0;font-size:10px;}
#booking-dialog #dialog-title {
  margin:0 0 12px;
  font-size:clamp(42px,5vw,59px);
  line-height:1.03;
  letter-spacing:-.035em;
}
#booking-dialog .dialog-shell>p:not(.eyebrow):not(.booking-result) {
  margin:0 0 23px;
  font-size:15px;
  line-height:1.65;
  color:#655b52;
}
#booking-dialog .dialog-shell label {
  display:grid;
  gap:8px;
  margin-bottom:15px;
  font-size:14px;
  font-weight:600;
  color:var(--espresso);
}
#booking-dialog input,#booking-dialog select {
  width:100%;height:50px;min-height:50px;
  padding:11px 14px;
  border:1px solid #cbbfb0;
  border-radius:4px;
  background:#fffdf9;color:var(--espresso);
  font-family:Manrope,Arial,sans-serif;
  font-size:15px;
  font-weight:500;
  color-scheme:light;
}
#booking-dialog input[type=date] {min-width:0;}
#booking-dialog input[type=date]::-webkit-calendar-picker-indicator {width:19px;height:19px;cursor:pointer;opacity:.8;}
#booking-dialog input:focus-visible,#booking-dialog select:focus-visible {
  outline:2px solid var(--terracotta);outline-offset:2px;
}
#booking-dialog #booking-confirm {
  width:100%;min-height:52px;margin-top:3px;
  justify-content:center;gap:22px;
  border-radius:4px;
  font-size:14px;font-weight:700;
}
#booking-dialog #booking-confirm span {font-size:19px;}
#booking-dialog .booking-result:not([hidden]) {
  display:block;
  margin:16px 0 0!important;
  padding:13px 15px;
  background:#e6eadf;
  border-left:3px solid #7c806a;
  font-size:14px!important;
  line-height:1.55;
}
#booking-dialog .booking-result.is-error:not([hidden]) {
  background:#f5e4db;border-left-color:var(--terracotta);
}
@media(max-width:520px){
  #booking-dialog {width:calc(100% - 24px);max-height:calc(100dvh - 24px);}
  #booking-dialog .dialog-shell {padding:28px 23px 26px;}
  #booking-dialog #dialog-title {font-size:43px;}
  #booking-dialog .eyebrow {margin-top:8px;}
}

/* V3.28 — ajuste fino del modal de reservas */
#booking-dialog .eyebrow {margin:10px 46px 18px 0;}
#booking-dialog select {
  -webkit-appearance:none;
  appearance:none;
  padding-right:46px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232c241f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  background-size:12px 8px;
}
@media(max-width:520px){
  #booking-dialog .eyebrow {margin:8px 40px 16px 0;}
}

/* V3.31 — ajuste del desplegable de carta en móvil */
@media (max-width:720px) {
  #carta .menu-category-panel {
    padding:0 2px 24px 0;
  }
  #carta .menu-category-panel .dish {
    padding-left:0;
    padding-right:0;
  }
}
@media (max-width:390px) {
  #carta .menu-category-panel {
    padding:0 0 22px 0;
  }
}

/* V3.32 — Fallback de anclas cuando JS no está disponible */
#concepto,#carta,#espacio,#galeria,#reservas{scroll-margin-top:84px;}
@media(max-width:720px){#concepto,#carta,#espacio,#galeria,#reservas{scroll-margin-top:76px;}}
