:root{
  --bg:#110c08;--bg-soft:#17110b;--panel:rgba(30,22,16,.78);--panel-strong:#1d150e;--line:rgba(244,213,141,.17);--line-2:rgba(255,255,255,.08);--text:#fff7e7;--muted:#c7bda8;--muted-2:#8f8778;--gold:#f4d58d;--gold-2:#b9823b;--accent:#d55735;--green:#90c99a;--shadow:0 26px 80px rgba(0,0,0,.45);--radius:28px;--radius-sm:16px;--container:min(1180px, calc(100% - 36px));--font-display:"Playfair Display",Georgia,"Times New Roman",serif;--font-caps:"Cinzel",Georgia,"Times New Roman",serif;--font-sans:"Mulish", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-anchor:none}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);overflow-x:hidden;overflow-anchor:none}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}.container{width:var(--container);margin-inline:auto}.hidden{display:none!important}.noise{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.cursor-dot{position:fixed;width:18px;height:18px;border:1px solid rgba(244,213,141,.55);border-radius:50%;z-index:9998;pointer-events:none;translate:-50% -50%;mix-blend-mode:difference;opacity:0;transition:opacity .2s ease, transform .15s ease}.preloader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#09090c;transition:opacity .55s ease,visibility .55s ease}.preloader.is-hidden{opacity:0;visibility:hidden}.preloader img{width:86px;animation:pulse 1.4s ease infinite}.preloader span{margin-top:130px;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;position:absolute}@keyframes pulse{50%{transform:scale(1.08);filter:drop-shadow(0 0 22px rgba(244,213,141,.45))}}.site-header{position:fixed;top:18px;left:50%;translate:-50% 0;width:var(--container);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(10,10,12,.48);backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(0,0,0,.28);transition:background .25s ease, border-color .25s ease, top .25s ease}.site-header.is-scrolled{top:10px;background:rgba(10,10,12,.82);border-color:rgba(244,213,141,.28)}.brand{display:flex;gap:12px;align-items:center}.brand img{width:48px;height:48px}.brand strong{display:block;font-family:var(--font-display);font-size:1.1rem}.brand small{display:block;color:var(--muted-2);font-size:.76rem;margin-top:1px}.main-nav{display:flex;gap:4px;align-items:center}.main-nav a{padding:12px 14px;border-radius:999px;color:var(--muted);font-size:.93rem;transition:.2s ease}.main-nav a:hover,.main-nav a.is-active{color:var(--text);background:rgba(244,213,141,.1)}.nav-toggle{display:none;background:transparent;border:0;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav-toggle span{width:22px;height:2px;background:var(--gold);border-radius:2px;transition:.25s ease}.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden}.hero__media{position:absolute;inset:0;transform:scale(1.02);will-change:transform}.hero__media img{width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:radial-gradient(circle at 68% 40%,rgba(244,213,141,.18),transparent 33%),linear-gradient(90deg,rgba(5,5,7,.92),rgba(5,5,7,.62) 48%,rgba(5,5,7,.35)),linear-gradient(0deg,#0b0b0e 0%,rgba(11,11,14,0) 32%)}.hero__content{position:relative;z-index:2;padding-top:140px}.eyebrow{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:800;margin:0 0 14px}.hero-title{font-family:var(--font-display);font-size:clamp(3.5rem,9vw,9.5rem);line-height:.9;max-width:980px;margin:0;text-wrap:balance;letter-spacing:-.06em}.hero-text{max-width:640px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.8;margin:28px 0 0}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#160e09;font-weight:900;box-shadow:0 16px 40px rgba(244,213,141,.18)}.btn--ghost{border-color:var(--line);background:rgba(255,255,255,.04);color:var(--text);backdrop-filter:blur(12px)}.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,145px));gap:12px;margin-top:52px}.hero__stats article,.hero__stats .stat-link{padding:18px 18px 16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.045);backdrop-filter:blur(16px)}.hero__stats strong{font-family:var(--font-display);font-size:2rem;color:var(--gold)}.hero__stats span{display:block;color:var(--muted-2);font-size:.82rem;margin-top:4px}.scroll-hint{position:absolute;bottom:32px;left:50%;z-index:5;width:32px;height:54px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:start center;padding-top:10px}.scroll-hint span{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:scrollHint 1.4s ease infinite}@keyframes scrollHint{50%{transform:translateY(18px);opacity:.35}}.marquee{border-block:1px solid var(--line-2);overflow:hidden;background:#0d0d11}.marquee__track{display:flex;width:max-content;animation:marquee 25s linear infinite}.marquee span{padding:18px 38px;color:var(--gold);font-family:var(--font-display);font-size:1.4rem;white-space:nowrap}.marquee span:after{content:"•";margin-left:38px;color:var(--muted-2)}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:112px 0}.section-heading{max-width:760px;margin-bottom:38px}.section-heading h2,.section-copy h2{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,4.6rem);line-height:.98;letter-spacing:-.04em;margin:0}.section-heading p,.section-copy p{color:var(--muted);line-height:1.85;font-size:1.05rem}.split{display:grid;grid-template-columns:1fr .82fr;gap:58px;align-items:center}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}.feature-list span,.booking-note{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);color:var(--muted)}.story-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.story-card img{aspect-ratio:1.25;object-fit:cover}.story-card div{padding:24px}.story-card small,.info-card span{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-weight:800;font-size:.72rem}.story-card strong{display:block;font-family:var(--font-display);font-size:2.2rem;margin-top:5px}.story-card p{color:var(--muted);line-height:1.7}.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.special-card{position:relative;overflow:hidden;min-height:430px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-strong);padding:18px;display:flex;flex-direction:column;justify-content:end;box-shadow:var(--shadow);transition:transform .24s ease,border-color .24s ease}.special-card:hover{transform:translateY(-8px);border-color:rgba(244,213,141,.38)}.special-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;transition:transform .45s ease}.special-card:hover img{transform:scale(1.06)}.special-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,7,9,.94) 8%,rgba(7,7,9,.18) 70%)}.special-card h3,.special-card p,.special-card span{position:relative;z-index:2}.special-card span{width:max-content;color:#1a1209;background:var(--gold);border-radius:999px;padding:8px 12px;font-weight:900;font-size:.8rem}.special-card h3{font-family:var(--font-display);font-size:2.25rem;margin:16px 0 6px}.special-card p{color:var(--muted);margin:0 0 6px}.menu-section{background:radial-gradient(circle at 15% 8%,rgba(244,213,141,.12),transparent 27%),linear-gradient(180deg,#0b0b0e,#101014)}.menu-toolbar{position:sticky;top:92px;z-index:20;display:flex;gap:18px;align-items:center;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:24px;background:rgba(13,13,17,.84);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.3);margin-bottom:22px}.group-tabs{display:flex;gap:8px;flex-wrap:wrap}.group-tab,.category-tab{border:0;cursor:pointer;color:var(--muted);background:rgba(255,255,255,.045);transition:.2s ease}.group-tab{padding:12px 16px;border-radius:999px}.group-tab.is-active,.category-tab.is-active{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#160e09;font-weight:900}.search-box{display:flex;align-items:center;gap:10px;min-width:min(420px,100%);background:rgba(0,0,0,.25);border:1px solid var(--line-2);border-radius:999px;padding:8px 14px}.search-box span{color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.search-box input{width:100%;background:transparent;border:0;color:var(--text);outline:0;padding:9px 0}.menu-layout{display:grid;grid-template-columns:290px 1fr;gap:24px;align-items:start}.category-panel{position:sticky;top:182px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:rgba(17,17,22,.68);backdrop-filter:blur(18px)}.category-panel__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--muted)}.category-panel__top strong{color:var(--gold)}.category-tabs{display:grid;gap:8px;max-height:60svh;overflow:auto;padding-right:4px}.category-tabs::-webkit-scrollbar{width:7px}.category-tabs::-webkit-scrollbar-thumb{background:rgba(244,213,141,.2);border-radius:20px}.category-tab{text-align:left;padding:14px 14px;border-radius:15px;border:1px solid transparent}.category-tab small{display:block;opacity:.62;margin-top:4px}.menu-content{min-width:0}.category-hero{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:end;margin-bottom:20px;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.025));overflow:hidden}.category-hero img{border-radius:22px;aspect-ratio:1.38;object-fit:cover;box-shadow:0 18px 48px rgba(0,0,0,.28)}.category-hero h3{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,4.2rem);margin:0 0 8px;line-height:.95}.category-hero p{color:var(--muted);line-height:1.75;margin:0}.menu-meta{color:var(--muted-2);margin:14px 4px 22px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dish-card{position:relative;overflow:hidden;min-height:190px;border:1px solid var(--line-2);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .22s ease,border-color .22s ease,background .22s ease}.dish-card:hover{transform:translateY(-5px);border-color:rgba(244,213,141,.32);background:linear-gradient(145deg,rgba(244,213,141,.08),rgba(255,255,255,.03))}.dish-card:before{content:"";position:absolute;right:-60px;top:-60px;width:150px;height:150px;border-radius:50%;background:rgba(244,213,141,.08)}.dish-card h3{font-family:var(--font-display);font-size:1.58rem;line-height:1.05;margin:0 0 10px}.dish-card p{color:var(--muted);line-height:1.65;margin:0}.dish-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.dish-tags span{font-size:.72rem;border:1px solid var(--line);color:var(--gold);padding:6px 9px;border-radius:999px;background:rgba(244,213,141,.06)}.dish-prices{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.price-pill{display:inline-flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:999px;background:rgba(0,0,0,.25);border:1px solid var(--line-2);color:var(--text)}.price-pill strong{color:var(--gold)}.empty-state{padding:28px;border:1px dashed var(--line);border-radius:20px;color:var(--muted);text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-item{border:0;padding:0;border-radius:22px;overflow:hidden;background:#111;cursor:pointer;box-shadow:0 18px 48px rgba(0,0,0,.26)}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;min-height:210px;object-fit:cover;transition:transform .45s ease,filter .45s ease}.gallery-item:hover img{transform:scale(1.07);filter:saturate(1.15)}.booking-section{background:linear-gradient(135deg,#110c08,#0b0b0e 52%,#141017)}.booking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:start}.booking-note{margin-top:22px;color:var(--gold)}.booking-form{display:grid;gap:14px;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:rgba(255,255,255,.05);box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.booking-form label{display:grid;gap:8px;color:var(--muted);font-size:.93rem}.booking-form input,.booking-form textarea{width:100%;border:1px solid var(--line-2);border-radius:16px;background:rgba(0,0,0,.26);color:var(--text);padding:15px 15px;outline:0;transition:border-color .2s ease,box-shadow .2s ease}.booking-form input:focus,.booking-form textarea:focus{border-color:rgba(244,213,141,.5);box-shadow:0 0 0 4px rgba(244,213,141,.08)}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.info-card{padding:24px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.04)}.info-card strong{display:block;font-family:var(--font-display);font-size:1.6rem;margin:12px 0 8px}.info-card p{color:var(--muted);line-height:1.7}.map-placeholder{min-height:360px;margin-top:20px;border:1px solid var(--line);border-radius:var(--radius);display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,rgba(244,213,141,.13),rgba(255,255,255,.03)),linear-gradient(135deg,#121218,#0b0b0e);color:var(--muted)}.map-placeholder span{display:block;font-family:var(--font-display);font-size:3rem;color:var(--gold);margin-bottom:10px}.site-footer{border-top:1px solid var(--line);padding:36px 0;background:#08080a}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.footer-grid img{width:64px;margin-bottom:12px}.footer-grid p{color:var(--muted);max-width:420px}.footer-grid nav{display:flex;gap:16px;flex-wrap:wrap;justify-content:end;color:var(--muted)}.footer-grid small{grid-column:1/-1;color:var(--muted-2)}.lightbox{border:0;border-radius:24px;padding:0;background:transparent;max-width:min(92vw,1100px);max-height:88vh}.lightbox::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.lightbox img{max-height:88vh;border-radius:24px;border:1px solid var(--line)}.lightbox__close{position:fixed;top:24px;right:24px;border:1px solid var(--line);background:rgba(10,10,12,.72);color:var(--text);width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:1.8rem}.back-top{position:fixed;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(12,12,14,.72);color:var(--gold);z-index:900;opacity:0;visibility:hidden;transition:.25s ease;cursor:pointer;backdrop-filter:blur(12px)}.back-top.is-visible{opacity:1;visibility:visible}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}code{color:var(--gold);background:rgba(244,213,141,.08);padding:.16em .38em;border-radius:6px}@media (hover:none){.cursor-dot{display:none}}@media (max-width:980px){.nav-toggle{display:flex}.main-nav{position:fixed;inset:82px 18px auto 18px;display:grid;padding:20px;border:1px solid var(--line);border-radius:24px;background:rgba(10,10,12,.95);backdrop-filter:blur(18px);transform:translateY(-12px);opacity:0;visibility:hidden;transition:.24s ease}.main-nav.is-open{opacity:1;visibility:visible;transform:none}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.split,.booking-grid{grid-template-columns:1fr}.special-grid{grid-template-columns:1fr}.menu-toolbar{position:static;align-items:stretch;flex-direction:column}.search-box{min-width:0}.menu-layout{grid-template-columns:minmax(0,1fr)}.category-panel{position:static}.category-tabs{display:flex;overflow:auto;max-height:none}.category-tab{min-width:180px}.category-hero{grid-template-columns:1fr}.category-hero img{max-height:240px;width:100%}.menu-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid nav{justify-content:start}}@media (max-width:640px){:root{--container:min(100% - 24px,1180px)}.site-header{top:10px;padding:10px}.brand small{display:none}.hero__content{padding-top:116px}.hero__stats{grid-template-columns:1fr;max-width:260px}.hero-title{font-size:clamp(3.1rem,18vw,5.6rem)}.section{padding:78px 0}.feature-list,.form-row{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-item:nth-child(n){grid-column:auto;grid-row:auto}.form-actions .btn{width:100%}.menu-toolbar{border-radius:20px}.category-hero h3{font-size:2.4rem}.footer-grid nav{display:grid}.marquee span{font-size:1.1rem;padding-inline:24px}}

/* ===========================================================
   El Molino de los Ventorros · mejoras de diseño 2026
   =========================================================== */

/* === Sistema tipográfico: Playfair Display + Cinzel + Mulish ===
   Inspirado en la rotulación de mesones tradicionales: serif de alto
   contraste para los titulares y capitales grabadas (Cinzel) para los
   rótulos, con tamaños sobrios y elegantes. */
body{font-weight:400;letter-spacing:0;line-height:1.6;}

/* Titulares en Playfair: contraste clásico, interlineado tranquilo */
.hero-title,.section-heading h2,.section-copy h2,.category-hero h3,.special-card h3,
.dish-card h3,.story-card strong,.info-card strong{font-family:var(--font-display);font-weight:700;}
.hero-title{font-size:clamp(2.9rem,6vw,6.2rem);line-height:1.05;letter-spacing:-.005em;font-weight:700;max-width:14ch;}
.hero-title .accent{font-style:italic;font-weight:500;color:var(--gold);}
.section-heading h2,.section-copy h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.003em;}
.section-heading p,.section-copy p{font-size:1.05rem;}
.story-card strong{font-size:1.85rem;line-height:1.1;}
.special-card h3{font-size:1.9rem;line-height:1.12;margin:14px 0 6px;}
.dish-card h3{font-size:1.48rem;line-height:1.15;}
.category-hero h3{font-size:clamp(1.9rem,3.2vw,3.3rem);line-height:1.05;}
.info-card strong{font-size:1.42rem;line-height:1.2;}
.hero__stats strong{font-size:1.9rem;font-weight:700;}

/* Rótulos en Cinzel: capitales grabadas, muy espaciadas */
.brand strong{font-family:var(--font-caps);font-weight:700;letter-spacing:.06em;font-size:1.02rem;}
.brand small{font-family:var(--font-caps);text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;}
.eyebrow{font-family:var(--font-caps);font-weight:600;letter-spacing:.22em;font-size:.74rem;}
.story-card small,.info-card span{font-family:var(--font-caps);font-weight:600;letter-spacing:.16em;}
.special-card span{font-family:var(--font-caps);font-weight:700;letter-spacing:.08em;}
.preloader span{font-family:var(--font-caps);letter-spacing:.24em;}
.map-placeholder span{font-family:var(--font-display);}
.marquee span{font-family:var(--font-caps);text-transform:uppercase;font-weight:600;font-size:1.05rem;letter-spacing:.16em;}
.marquee span:after{margin-left:30px;}
.nav-cta,.main-nav a{font-family:var(--font-sans);}

@media (max-width:640px){
  .hero-title{font-size:clamp(1.95rem,8vw,3rem);line-height:1.12;max-width:none;text-wrap:wrap;overflow-wrap:break-word;word-break:normal;}
}/* Calienta los fondos cool que quedaban del tema anterior */
.hero__overlay{background:radial-gradient(circle at 68% 38%,rgba(244,213,141,.2),transparent 34%),linear-gradient(90deg,rgba(12,8,4,.94),rgba(12,8,4,.6) 50%,rgba(12,8,4,.32)),linear-gradient(0deg,var(--bg) 0%,rgba(17,12,8,0) 34%);}
.menu-section{background:radial-gradient(circle at 15% 8%,rgba(244,213,141,.12),transparent 27%),linear-gradient(180deg,var(--bg),var(--bg-soft));}
.booking-section{background:linear-gradient(135deg,#1a1208,var(--bg) 55%,#160f17);}
.marquee{background:#160f09;}
.site-footer{background:#0c0805;}
.gallery-item{background:linear-gradient(135deg,#241a10,#150f08);}

/* La galería auto-dimensiona cada fila según el ratio de su foto más
   vertical; el último hueco (foto apaisada, sin pareja en su fila)
   quedaba con una fila corta. Se iguala a la altura típica del resto. */
.gallery-item:last-child img{min-height:380px;}

/* Hero stats: estrella y texto */
.hero__stats strong .star{font-size:1.2rem;margin-left:2px;color:var(--accent);}
.hero__stats strong.strong-text{font-size:1.5rem;}
.hero__stats .stat-link{display:block;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease;}
.hero__stats .stat-link span{transition:color .2s ease;}
.hero__stats .stat-link:hover{border-color:rgba(244,213,141,.5);transform:translateY(-3px);background:rgba(244,213,141,.08);}
.hero__stats .stat-link:hover span{color:var(--gold);}

/* CTA de "Reservar" en la navegación */
.nav-cta{color:#1a1209!important;background:linear-gradient(135deg,var(--gold),var(--gold-2));font-weight:800;}
.nav-cta:hover{filter:brightness(1.06);background:linear-gradient(135deg,var(--gold),var(--gold-2))!important;}

/* Variantes de botón */
.btn--sm{min-height:46px;padding:0 18px;font-size:.92rem;}
.btn--block{width:100%;}

/* Reservas: lista de puntos y contacto */
.booking-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;}
.booking-points li{position:relative;padding-left:26px;color:var(--muted);line-height:1.6;}
.booking-points li:before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-2));box-shadow:0 0 0 4px rgba(244,213,141,.12);}
.booking-contact{margin-top:24px;}

/* Selects del formulario (igual que los inputs) */
.booking-form select{width:100%;border:1px solid var(--line-2);border-radius:16px;background:rgba(0,0,0,.26);color:var(--text);padding:15px 44px 15px 15px;outline:0;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .2s ease,box-shadow .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%23f4d58d' stroke-width='2'%3E%3Cpath d='M1 1l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;}
.booking-form select:focus{border-color:rgba(244,213,141,.5);box-shadow:0 0 0 4px rgba(244,213,141,.08);}
.booking-form select option{background:#1d150e;color:var(--text);}
.booking-form input:invalid,.booking-form select:invalid{box-shadow:none;}
.form-error{margin:0;color:#ffb4a2;background:rgba(213,87,53,.12);border:1px solid rgba(213,87,53,.4);border-radius:14px;padding:12px 14px;font-size:.9rem;}
.form-legal{margin:4px 0 0;color:var(--muted-2);font-size:.8rem;line-height:1.5;text-align:center;}

/* Nota de la galería */
.gallery-note{margin:22px 0 0;color:var(--muted-2);font-size:.92rem;text-align:center;font-style:italic;}

/* Enlaces dentro de las tarjetas de ubicación */
.info-link{display:inline-block;margin-top:14px;color:var(--gold);font-weight:700;font-size:.92rem;transition:.2s ease;}
.info-link:hover{color:var(--text);letter-spacing:.01em;}

/* Mapa embebido */
.map-frame{position:relative;min-height:420px;margin-top:24px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05) brightness(.92);}

/* Footer mejorado + redes sociales */
.footer-grid{align-items:start;}
.footer-brand img{width:58px;}
.social{display:flex;gap:10px;margin-top:18px;}
.social a{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.9rem;font-weight:600;transition:.2s ease;}
.social a:hover{color:#1a1209;background:var(--gold);border-color:var(--gold);transform:translateY(-2px);}

/* Botón flotante de WhatsApp */
.wa-float{position:fixed;left:18px;bottom:18px;z-index:950;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#25d366,#128c4a);box-shadow:0 14px 34px rgba(18,140,74,.45);transition:transform .2s ease,box-shadow .2s ease;animation:waPulse 2.6s ease infinite;}
.wa-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 18px 42px rgba(18,140,74,.6);}
@keyframes waPulse{0%,100%{box-shadow:0 14px 34px rgba(18,140,74,.45),0 0 0 0 rgba(37,211,102,.4)}50%{box-shadow:0 14px 34px rgba(18,140,74,.45),0 0 0 12px rgba(37,211,102,0)}}

/* Altura mínima del contenido de la carta: evita que una categoría con pocos
   platos deje ver la galería justo debajo al cambiar de sección. */
.menu-content{min-height:62vh;}

/* Ancla invisible para recolocar la vista al inicio de la carta al cambiar de
   categoría. scroll-margin-top deja sitio para la cabecera fija. */
.menu-anchor{display:block;width:0;height:0;scroll-margin-top:86px;}
@media (max-width:980px){.menu-anchor{scroll-margin-top:72px;}}

/* Fotos: fondo cálido de respaldo y ocultar imágenes rotas */
.hero__media{background:linear-gradient(135deg,#2a1c10,#140d07);}
.story-card,.special-card{background:linear-gradient(135deg,#241a10,#150f08);}
.photo{background:linear-gradient(135deg,#2a1c10,#150f08);}
.img-broken{opacity:0;}

/* Foto de fondo real en tarjeta de plato/vino. A diferencia de .special-card
   (texto siempre abajo), en .dish-card el nombre/descripción van arriba y
   los precios abajo, así que el degradado oscurece más arriba (donde está
   el texto sin fondo propio) y deja la foto más visible en el centro. */
.dish-card.has-photo:before{display:none;}
.dish-card.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.dish-card.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,9,.78) 0%,rgba(7,7,9,.12) 45%,rgba(7,7,9,.30) 100%);}
.dish-card.has-photo>div{position:relative;z-index:2;}

@media (max-width:640px){
  .wa-float{width:52px;height:52px;}
  .map-frame{min-height:340px;}
  .nav-cta{text-align:center;}
}
@media (prefers-reduced-motion:reduce){
  .wa-float{animation:none;}
  .marquee__track{animation:none;}
  .reveal{opacity:1;transform:none;transition:none;}
}