
@font-face{font-family:Editorial;src:url('assets/fonts/cormorant-latin.woff2') format('woff2');font-display:swap;font-weight:400 700}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin.woff2') format('woff2');font-display:swap;font-weight:400 800}
/* Paleta de la presentación «Bar La Sota»: granate #6C1712, granate vivo #851210, granate texto #7B221F, dorado #E6A444, crema #F4E6CF/#F6EDD7. */
:root{--wine:#7B221F;--deep:#6C1712;--red:#851210;--band:#6C1712;--cream:#F4E6CF;--gold:#E6A444;--ink:#3E1712;--paper:#F6EDD7;--muted:#7A4B3E;--line:#E9C990;--focus:#851210;--serif:Editorial,Georgia,serif;--sans:Manrope,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{border:0;cursor:pointer;color:inherit}
button:disabled{opacity:.5;cursor:not-allowed}
button svg,a svg{flex-shrink:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
::selection{background:var(--wine);color:#F6EDD7}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:500;line-height:1.03}
h2{font:500 clamp(44px,5.5vw,80px)/.98 var(--serif);letter-spacing:-.045em;color:var(--wine)}
h3{font:500 28px/1.1 var(--serif)}
p{line-height:1.8}
.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:14px 24px;border:1px solid var(--wine);border-radius:0;background:var(--wine);color:#F6EDD7;font-size:13px;font-weight:600;transition:background .2s,translate .3s cubic-bezier(.22,1,.36,1)}
.button:hover{background:var(--deep)}
.button-cream{background:#F4E6CF;border-color:#F4E6CF;color:#6C1712}
.button-cream:hover{background:#F6EDD7}
.text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-size:13px;font-weight:600;color:var(--wine)}
.text-link:hover{text-decoration:underline;text-underline-offset:7px}
.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--wine);transition:background .2s,transform .2s}
.icon-button:hover{background:var(--cream);transform:rotate(-6deg)}
.section-note,.section-kicker{display:block;font-size:13px;letter-spacing:.04em;color:var(--muted);margin-bottom:22px}
.ornament{width:130px;height:25px;color:var(--wine)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:15px;z-index:300;padding:15px;background:var(--wine);color:white}
.skip-link:focus{top:10px}
.demo-ribbon{background:#6C1712;color:#F4E6CF;text-align:center;font-size:12px;padding:5px 15px}
.site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 44px;border-bottom:1px solid var(--line);background:var(--paper)}
.wordmark{display:flex;align-items:center;gap:12px;color:var(--wine)}
.wordmark>svg{width:31px;height:43px}
.wordmark>span{font:600 36px/.9 var(--serif);letter-spacing:-.035em}
.wordmark small{display:block;font:500 12px/1 var(--sans);letter-spacing:.05em;margin-top:8px}
.wordmark img{max-height:55px;width:auto}
.main-nav{display:flex;gap:26px}
.main-nav a{font-size:13px;font-weight:600;padding:10px 0;position:relative}
.main-nav a:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.main-nav a:hover:after{transform:scaleX(1)}
.nav-actions{display:flex;gap:13px;align-items:center}
.theme-button{border:0}
.nav-contact{font-size:13px;min-height:43px;padding:11px 17px;gap:20px}
.mobile-toggle{display:none}
.hero-stage{position:relative;min-height:740px;height:min(840px,calc(100svh - 94px));background:#2A0806;isolation:isolate;overflow:hidden;color:#F6EDD7}
.hero-stage-image,.hero-shade{position:absolute;inset:0;z-index:-1}
.hero-stage-image img{width:100%;height:100%;object-fit:cover;object-position:65% 58%}
.hero-shade{background:linear-gradient(90deg,#2A0806e0 0%,#2A08068c 38%,#2A08061a 72%),linear-gradient(0deg,#2A08069c,transparent 45%)}
.hero-stage-inner{height:100%;min-height:740px;display:flex;flex-direction:column;padding-top:30px;padding-bottom:25px}
.hero-topline,.hero-baseline{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#F4E6CF}
.hero-topline span:last-child{padding-right:110px}
.hero-title{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex:1;padding:55px 0 45px}
.hero-title h1{font:500 clamp(86px,10.6vw,153px)/.87 var(--sans);letter-spacing:-.078em}
.hero-title h1 span{display:block}
.hero-aside{width:240px;padding-bottom:13px;display:flex;align-items:flex-start;flex-direction:column}
.hero-aside>p{font:500 31px/1.07 var(--serif);max-width:210px;margin-bottom:18px}
.hero-aside>span{font-size:13px;line-height:1.8;color:#F4E6CF}
.round-cta{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;width:118px;height:118px;border-radius:50%;background:#851210;color:#F6EDD7;margin-top:28px;border:1px solid #E6A444;transition:translate .3s cubic-bezier(.22,1,.36,1),background .25s}
.round-cta:hover{background:#6C1712}
.round-cta span{font-size:13px;font-weight:600}
.hero-baseline{border-top:1px solid #F4E6CF3b;padding-top:20px;font-size:12px}
.hero-baseline>a{display:flex;gap:12px;align-items:center}
.hero-baseline>span{font-size:12px;color:#EBD3B3}
.hero-card-accent{position:absolute;right:55px;top:38px;width:72px;height:104px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(11deg);background:#F4E6CF;color:#851210;border:1px solid #851210;outline:4px solid #F4E6CF;border-radius:3px}
.hero-card-accent>span{font:500 19px/1 var(--serif);position:absolute;left:7px;top:5px}
.hero-card-accent>svg{height:45px;width:35px}
.hero-card-accent>small{font:500 14px var(--serif)}
.brand-strip{display:flex;align-items:center;justify-content:space-evenly;gap:30px;border-bottom:1px solid var(--line);padding:25px 40px;overflow:hidden}
.brand-strip>span{font:500 clamp(22px,2.8vw,40px)/1 var(--serif);letter-spacing:-.02em;color:var(--wine);white-space:nowrap}
.brand-strip svg{width:25px;height:30px;color:var(--wine);flex-shrink:0}
.experience{padding-block:110px}
.experience-intro{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:start;margin-bottom:55px}
.experience-intro .section-note{padding-top:10px}
.experience-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:100px}
.experience-main{height:560px;overflow:hidden;position:relative}
.experience-main img{width:100%;height:100%;object-fit:cover;object-position:40% center}
.experience-main figcaption{position:absolute;bottom:22px;left:25px;color:#F6EDD7;font-size:13px;background:#2A080670;padding:5px 10px}
.experience-side{padding-top:30px}
.experience-side>.ornament{width:90px}
.experience-side>p{font-size:13px;line-height:1.95;margin:25px 0 15px;color:var(--muted)}
.experience-side figure{margin-top:45px;max-width:340px}
.experience-side figure img{width:100%;aspect-ratio:1.2;object-fit:cover}
.experience-side figcaption{font-size:12px;color:var(--muted);margin-top:12px}
.menu-section{padding:95px 0 70px;background:var(--cream);border-block:1px solid var(--line)}
.section-top,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}
.section-top p{font-size:13px;color:var(--muted);margin-top:20px}
.menu-tools{display:flex;gap:8px}
.menu-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;border-block:1px solid var(--line)}
.category-buttons{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.category-buttons button{display:flex;gap:8px;align-items:center;min-height:45px;padding:8px 12px;background:transparent;border:1px solid transparent;font-size:13px}
.category-buttons button svg{height:25px;width:20px}
.category-buttons button[aria-pressed=true]{background:var(--wine);color:var(--paper)}
.category-buttons button:hover:not([aria-pressed=true]){border-color:var(--line)}
.category-buttons .all-category{font-size:13px}
.search{display:flex;align-items:center;gap:9px;padding:0 13px;min-height:45px;width:245px;border-bottom:1px solid var(--wine);flex-shrink:0;color:var(--wine)}
.search input{min-width:0;width:100%;border:0;padding:12px 0;color:var(--ink);background:transparent;font-size:13px}
.search input:focus{outline:none}
.search:focus-within{outline:2px solid var(--wine);outline-offset:3px}
.search button{display:flex;padding:4px;background:transparent}
.menu-meta{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted);padding-block:20px}
.menu-meta label{display:flex;gap:8px;align-items:center;cursor:pointer}
input[type=checkbox]{accent-color:var(--wine);width:17px;height:17px;flex-shrink:0}
.dish-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:0}
.dish{display:grid;grid-template-columns:115px 1fr;gap:24px;padding:24px 0;background:transparent;text-align:left;border-bottom:1px solid var(--line)}
.dish-image{position:relative;height:115px;overflow:hidden}
.dish-image>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dish:hover .dish-image>img{transform:scale(1.08)}
.dish-image-label{position:absolute;left:5px;bottom:5px;background:#2A080699;color:#F6EDD7;font-size:12px;padding:1px 4px}
.dish-content{display:flex;flex-direction:column;padding-top:3px}
.dish-category{font-size:12px;color:var(--muted);margin-bottom:7px}
.dish h3{font:500 24px/1.1 var(--sans);letter-spacing:-.035em;color:var(--ink)}
.dish-content p{font-size:13px;color:var(--muted);margin-top:10px}
.dish-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;color:var(--wine)}
.dish-bottom strong{font:500 29px/1 var(--serif)}
.dish-bottom>span{font-size:13px;display:flex}
.dish-fallback{height:100%;width:100%;display:grid;place-items:center;background:var(--paper);color:var(--wine)}
.dish-fallback svg{width:55px;height:70px}
.unavailable .dish-image{filter:grayscale(.9);opacity:.6}
.tapa-note{display:flex;align-items:center;gap:25px;padding-block:30px;border-bottom:1px solid var(--line);margin-top:35px}
.tapa-note>svg{height:60px;width:45px;color:var(--wine);flex-shrink:0}
.tapa-note h3{font-size:31px;color:var(--wine)}
.tapa-note p{font-size:13px;color:var(--muted);margin-top:8px}
.extra-tapa{margin-left:auto;text-align:right;flex-shrink:0;padding-left:20px}
.extra-tapa>span{display:block;font-size:13px}
.extra-tapa strong{font:500 38px/1.3 var(--serif);color:var(--wine)}
.allergen-note,.image-disclaimer{font-size:12px;color:var(--muted);margin-top:20px}
.empty{text-align:center;padding:50px 20px}
.empty svg{width:60px;height:70px;color:var(--wine);display:inline-block}
.empty h3{font-size:34px;margin-top:15px;color:var(--wine)}
.empty p{font-size:12px;color:var(--muted);margin:15px 0 25px}
.signature-section{padding-block:110px}
.rail-controls{display:flex;gap:9px}
.signature-rail{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--wine) var(--cream);padding:20px 0 25px}
.signature{flex:0 0 calc(33.333% - 20px);min-width:290px;scroll-snap-align:start;background:transparent;padding:0;text-align:left}
.signature-1{padding-top:65px}
.signature-image{height:390px;overflow:hidden;position:relative}
.signature-image>img{height:100%;width:100%;object-fit:cover;transition:transform .6s}
.signature:hover .signature-image>img{transform:scale(1.04)}
.signature-price{position:absolute;top:18px;right:18px;background:var(--paper);color:var(--wine);border-radius:50%;height:66px;width:66px;display:grid;place-items:center;font:500 21px var(--serif)}
.signature-mark{position:absolute;bottom:15px;left:15px;background:var(--paper);height:52px;width:38px;transform:rotate(-10deg);display:grid;place-items:center;color:var(--wine)}
.signature-mark svg{height:34px;width:28px}
.signature-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;color:var(--wine)}
.signature-title h3{font:500 32px/1.1 var(--serif)}
.signature>p{font-size:13px;color:var(--muted);margin-top:10px}
.visit-section{background:var(--band);color:#F6EDD7;padding-block:90px}
.visit-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:center}
.visit-section .section-note{color:#ECB254}
.visit-section h2{font-size:clamp(60px,6.1vw,86px);color:#F4E6CF}
.visit-section address{display:flex;align-items:flex-start;gap:14px;font-style:normal;font-size:12px;max-width:360px;margin:30px 0 25px}
.visit-section address svg{flex-shrink:0;margin-top:4px}
.visit-hours{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}
.visit-hours>svg{flex-shrink:0;margin-top:4px}
.visit-hours h3{font-size:24px}
.visit-hours p{white-space:pre-line;font-size:13px;line-height:1.9;margin-top:12px;color:#F4E6CF}
.visit-hours small{display:block;font-size:12px;margin-top:8px;color:#ECB254}
.visit-section .text-link{color:#F6EDD7;border-bottom:1px solid #F4E6CF4d}
.map-panel{height:530px;position:relative;background:#2A080640;border:1px solid #E6A44477;isolation:isolate}
.map-panel:before{content:"";position:absolute;inset:12px;border:1px solid #E6A44444;pointer-events:none;z-index:-1}
.map-panel iframe{border:0;width:100%;height:100%;filter:grayscale(1) contrast(.9)}
.map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}
.map-placeholder>svg{color:#E6A444;margin-bottom:25px}
.map-placeholder h3{font:500 52px/.98 var(--serif);color:#F4E6CF}
.map-placeholder p{font-size:13px;color:#F4E6CF;margin:20px 0 25px}
.map-placeholder small{font-size:12px;color:#ECB254;margin-top:15px}
.map-area-label{position:absolute;bottom:0;left:0;right:0;background:#2A080659;text-align:center;font-size:12px;padding:5px 10px;color:#F4E6CF}
.map-panel:has(iframe) .map-area-label{top:-26px;bottom:auto;background:transparent}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:110px}
.contact-intro p{font-size:12px;color:var(--muted);margin:25px 0}
.contact-intro .text-link{display:flex}
.contact-suit{height:90px;width:65px;color:var(--wine);margin-top:40px}
.contact-form fieldset{padding:0;margin:0;border:0}
.contact-form label,.admin-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;margin-bottom:24px}
.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);width:100%;min-height:45px;padding:12px 0;border-radius:0;font-size:12px}
.contact-form textarea{resize:vertical;min-height:90px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-mode{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:25px}
.form-mode button{background:transparent;padding:10px 0 14px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}
.form-mode button[aria-pressed=true]{color:var(--wine);border-color:var(--wine)}
.reservation-fields{background:var(--cream);padding:20px 20px 0;margin-bottom:22px}
.reservation-fields small{display:block;font-size:13px;color:var(--muted);padding-bottom:18px}
.demo-form-note{padding:12px 15px;border-left:2px solid var(--gold);background:var(--cream);color:var(--muted);font-size:13px;margin-bottom:25px}
.contact-form .consent{flex-direction:row;align-items:flex-start;gap:12px;font-size:12px;font-weight:400;line-height:1.7}
.consent a{text-decoration:underline;text-underline-offset:3px}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form>small{display:block;font-size:12px;line-height:1.8;color:var(--muted);margin-top:18px}
.form-success{display:flex;align-items:center;gap:8px;color:#23692A;font-size:12px;margin-top:18px}
.form-error{color:#a01616;font-size:12px;margin-top:18px}
.spin{animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.site-footer{padding:65px 0 25px;background:var(--cream);border-top:1px solid var(--line)}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:45px;padding-bottom:50px}
.footer-wordmark{font:500 78px/.9 var(--serif);letter-spacing:-.04em;color:var(--wine)}
.footer-wordmark span{display:block;font:400 13px var(--sans);letter-spacing:0;color:var(--muted);margin-top:20px}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 50px;font-size:13px;color:var(--wine)}
.footer-to-top{color:var(--wine);width:68px;height:68px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.footer-bottom{border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:12px}
.footer-bottom>div{display:flex;gap:25px}
.footer-bottom a:hover{text-decoration:underline}
.mobile-dock{display:none}
.dialog-overlay{position:fixed;inset:0;z-index:110;background:#2A08069e;backdrop-filter:blur(5px);animation:fade-in .2s}
.dish-dialog,.qr-dialog,.mobile-menu{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:111;background:var(--paper);color:var(--ink);max-height:90dvh;overflow:auto;animation:fade-in .25s}
.dish-dialog{width:min(850px,calc(100% - 32px));display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.detail-image{height:100%;min-height:360px}
.detail-image>img{width:100%;height:100%;object-fit:cover}
.detail-copy{padding:48px 35px 35px}
.detail-copy h2{font-size:46px}
.detail-copy p{font-size:12px;color:var(--muted);margin-top:20px}
.detail-price{display:block;font:500 38px var(--serif);color:var(--wine);margin-top:20px}
.detail-copy .detail-disclaimer{font-size:13px;margin:20px 0 25px}
.dialog-close{position:absolute;top:12px;right:12px;background:var(--paper);width:36px;height:36px}
.qr-dialog{width:min(440px,calc(100% - 32px));padding:45px;text-align:center}
.qr-dialog h2{font-size:39px}
.qr-dialog p{font-size:12px;margin-top:15px}
.qr-dialog img{margin:25px auto}
.mobile-menu{inset:0;transform:none;width:100%;height:100dvh;max-height:none;padding:70px 30px 35px;display:flex;flex-direction:column}
.mobile-menu h2{font-size:50px;max-width:300px}
.mobile-menu p{font-size:13px;color:var(--muted);margin-top:17px}
.mobile-menu nav{display:flex;flex-direction:column;margin:30px 0}
.mobile-menu nav a{font:500 42px/1.1 var(--serif);display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);color:var(--wine)}
.menu-bottom{font-size:13px;color:var(--muted);margin-top:auto}
.menu-full{width:100%;height:100dvh;overflow:auto;padding-block:30px;background:var(--band)}
.menu-full:not(:fullscreen){position:fixed;inset:0;z-index:80}
.availability{color:var(--wine);font-size:13px;margin-top:10px}
.simple-page{max-width:900px;padding-block:60px 100px}
.simple-page h1{font:500 65px/.98 var(--serif);color:var(--wine);letter-spacing:-.04em;margin:30px 0 40px}
.simple-page h2{font-size:36px;margin:35px 0 16px}
.simple-page h3{font-size:27px;margin:25px 0 12px}
.simple-page p,.simple-page li{font-size:13px;color:var(--muted)}
.simple-page p{margin-bottom:16px}
.simple-page a:not(.button){text-decoration:underline;text-underline-offset:4px}
.credits-list{list-style:none;padding:0}
.credits-list h2{font:500 28px/1.1 var(--serif);letter-spacing:0;margin-top:22px}
.credits-list li{padding-bottom:22px;border-bottom:1px solid var(--line)}
.credits-list a{overflow-wrap:anywhere}
.print-menu{max-width:780px;padding:40px;margin:40px auto}
.print-menu h1{font:500 64px var(--serif);color:var(--wine)}
.print-menu h2{font-size:36px;margin:28px 0 14px}
.print-menu p{font-size:12px}
.print-menu .button{margin:25px 0}
.print-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dotted var(--line);padding:9px 0}
[data-reveal=waiting]{opacity:.01;transform:translateY(22px)}
[data-reveal=visible]{opacity:1;transform:translateY(0);transition:opacity .7s ease-out,transform .7s cubic-bezier(.22,1,.36,1)}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
[data-theme=dark]{--wine:#E6A444;--deep:#4E0F0B;--band:#4E0F0B;--cream:#7B221F;--ink:#F6EDD7;--paper:#6C1712;--muted:#EBD3B3;--line:#9D4F26;--focus:#E6A444;color-scheme:dark}
[data-theme=dark] .button{background:#851210;border-color:#E6A444;color:#F6EDD7}
[data-theme=dark] .button-cream{background:#F4E6CF;color:#6C1712}
[data-theme=dark] .form-success{color:#9DDB9F}
[data-theme=dark] .form-error{color:#F2A79B}
@media(min-width:1700px){.hero-stage{height:840px}}
@media(max-width:1150px){
 .container{width:calc(100% - 72px)}.site-header{padding:18px 28px}.main-nav{gap:18px}.nav-contact{display:none}.hero-stage{min-height:700px}.hero-stage-inner{min-height:700px}.hero-title h1{font-size:120px}.hero-aside{width:200px}.hero-aside>p{font-size:27px}.experience-grid{gap:55px}.experience-main{height:500px}.experience-intro{grid-template-columns:.6fr 2fr}.menu-controls{flex-direction:column;align-items:stretch;gap:15px}.search{width:100%}.category-buttons{justify-content:space-between}.dish-grid{gap:0 30px}.dish{grid-template-columns:90px 1fr;gap:18px}.dish-image{height:100px}.dish h3{font-size:20px}.visit-grid,.contact{gap:50px}.signature-image{height:340px}.map-panel{height:500px}
}
@media(max-width:760px){
 html{scroll-padding-top:83px}.container{width:calc(100% - 40px)}.demo-ribbon{font-size:12px;padding:5px 10px}.site-header{padding:15px 20px;gap:15px}.wordmark>span{font-size:31px}.wordmark>svg{height:35px;width:26px}.wordmark small{font-size:12px}.main-nav{display:none}.nav-actions{gap:5px}.mobile-toggle{display:inline-flex}.hero-stage{min-height:690px;height:calc(100svh - 104px);max-height:850px}.hero-stage-inner{min-height:690px;padding-top:23px;padding-bottom:23px}.hero-stage-image img{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#2A0806c4,#2A080626),linear-gradient(0deg,#2A0806ad,transparent 70%)}.hero-topline{font-size:12px}.hero-topline span:last-child{display:none}.hero-title{display:flex;align-items:flex-start;flex-direction:column;justify-content:center;gap:32px;padding:35px 0 28px}.hero-title h1{font-size:clamp(73px,17vw,108px);letter-spacing:-.075em;line-height:.91}.hero-aside{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;max-width:420px;padding:0;gap:8px 20px}.hero-aside>p{font-size:25px;max-width:155px;margin:0}.hero-aside>span{font-size:12px;order:3;width:100%;margin-top:12px}.round-cta{width:95px;height:95px;margin:0;gap:5px}.round-cta span{font-size:13px}.round-cta svg{width:24px;height:24px}.hero-baseline{font-size:12px}.hero-baseline>span{font-size:12px}.hero-card-accent{width:49px;height:74px;right:27px;top:25px}.hero-card-accent>span{font-size:14px;left:4px;top:4px}.hero-card-accent>svg{height:30px;width:24px}.hero-card-accent>small{font-size:13px}.brand-strip{padding:21px 20px;gap:23px;justify-content:flex-start}.brand-strip>span{font-size:25px}.brand-strip svg{width:20px;height:24px}.experience{padding-block:65px}.experience-intro{display:block;margin-bottom:30px}.experience-intro .section-note{padding:0;margin-bottom:18px}h2{font-size:48px}.experience-grid{grid-template-columns:1fr;gap:30px}.experience-main{height:370px;margin-right:35px}.experience-main figcaption{font-size:12px;left:15px;bottom:15px}.experience-side{padding:0 0 0 38px}.experience-side>.ornament{display:none}.experience-side>p{font-size:12px;margin:0 0 12px}.experience-side figure{margin-top:25px;max-width:none;margin-left:45px}.experience-side figure img{aspect-ratio:1.25}.experience-side figcaption{font-size:12px}.menu-section{padding-block:65px 40px}.section-top,.section-heading{align-items:flex-start;gap:20px;margin-bottom:28px}.section-top h2{font-size:46px}.section-top p{font-size:13px;margin-top:16px}.menu-tools{gap:4px}.menu-tools .icon-button{width:33px;height:33px}.menu-tools svg{width:16px;height:16px}.menu-controls{padding-block:14px;gap:14px}.category-buttons{justify-content:flex-start;gap:3px}.category-buttons button{font-size:13px;padding:7px 9px;min-height:43px}.category-buttons button svg{width:16px;height:20px}.category-buttons .all-category{font-size:12px}.menu-meta{font-size:12px;padding-block:18px}.dish-grid{grid-template-columns:1fr}.dish{grid-template-columns:90px 1fr;gap:18px;padding-block:20px}.dish-image{height:105px}.dish h3{font-size:22px}.dish-category{font-size:12px}.dish-bottom strong{font-size:27px}.dish-bottom svg{width:18px;height:18px}.tapa-note{gap:15px;flex-wrap:wrap;padding-block:24px}.tapa-note>svg{width:30px;height:40px}.tapa-note>div:not(.extra-tapa){width:calc(100% - 45px)}.tapa-note h3{font-size:26px}.tapa-note p{font-size:13px}.extra-tapa{display:flex;gap:15px;align-items:center;margin-left:45px;padding-left:0;text-align:left}.extra-tapa strong{font-size:31px}.allergen-note,.image-disclaimer{font-size:12px}.signature-section{padding-block:65px}.rail-controls{gap:5px;padding-top:8px}.rail-controls .icon-button{width:34px;height:34px}.signature-rail{gap:20px;overflow:visible;overflow-x:auto;margin-right:-20px;padding-right:20px}.signature{flex-basis:84%;min-width:255px}.signature-1{padding-top:35px}.signature-image{height:370px}.signature-title h3{font-size:32px}.signature>p{font-size:13px}.visit-section{padding-block:65px}.visit-grid{grid-template-columns:1fr;gap:40px}.visit-section h2{font-size:68px}.visit-section address{font-size:13px}.map-panel{height:390px}.map-placeholder h3{font-size:45px}.contact{grid-template-columns:1fr;gap:35px;padding-block:65px}.contact-intro p{font-size:13px;margin-top:22px}.contact-suit{display:none}.form-row{gap:18px}.contact-form .consent{font-size:12px}.contact-form>small{font-size:12px}.demo-form-note{font-size:12px}.form-mode button{font-size:13px}.reservation-fields{padding:15px 15px 0}.site-footer{padding:45px 0 95px}.footer-top{gap:25px;flex-wrap:wrap;padding-bottom:30px}.footer-wordmark{font-size:65px}.footer-wordmark span{font-size:12px;margin-top:15px}.footer-nav{font-size:13px;gap:10px 25px;grid-template-columns:1fr}.footer-to-top{width:45px;height:45px;margin-left:auto}.footer-to-top svg{height:25px;width:25px}.footer-bottom{flex-direction:column;font-size:12px;gap:15px}.footer-bottom>div{gap:15px;flex-wrap:wrap}.mobile-dock{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;padding-bottom:env(safe-area-inset-bottom);z-index:50;background:var(--paper);border-top:1px solid var(--line)}.mobile-dock a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:55px;font-size:13px;font-weight:600;color:var(--wine)}.mobile-dock a:first-child{border-right:1px solid var(--line)}.mobile-dock svg{height:24px;width:20px}.dish-dialog{grid-template-columns:1fr;max-height:88dvh}.detail-image{height:230px;min-height:0}.detail-copy{padding:25px}.detail-copy h2{font-size:40px}.qr-dialog{padding:45px 25px}.qr-dialog h2{font-size:36px}.simple-page{padding-block:35px 75px}.simple-page h1{font-size:48px}.print-menu{padding:25px;margin:0}.menu-full .container{width:calc(100% - 35px)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal=waiting]{opacity:1;transform:none}[data-parallax]{transform:none!important}
}
@media print{
 @page{size:A4;margin:16mm}body{background:white;color:#2A0806;font-size:11pt}.no-print,.site-header,.demo-ribbon,.mobile-dock{display:none!important}.print-menu{padding:0;margin:0;max-width:none}.print-menu h1{font-size:38pt}.print-menu h2{font-size:21pt;break-after:avoid}.print-menu section{break-inside:avoid}.print-row{padding:5px 0}.print-menu p{font-size:9pt}
}

/* Los rangos y palos convierten las categorías en una mano de naipes. */
.category-buttons{gap:12px;align-items:center}
.category-buttons button:not(.all-category){position:relative;flex-direction:column;justify-content:center;gap:5px;width:125px;min-height:112px;border:1px solid var(--wine);border-radius:5px;background:var(--paper);color:var(--wine);padding:18px 15px 13px;transition:transform .3s,background .2s;transform-origin:center bottom}
.category-buttons button:not(.all-category):hover{transform:translateY(-5px) rotate(-2deg)}
.category-buttons button:not(.all-category)[aria-pressed=true]{background:var(--wine);color:var(--paper);transform:translateY(-4px)}
.category-buttons button:not(.all-category)>svg{width:28px;height:36px}
.category-rank{position:absolute;top:5px;left:8px;font:500 20px/1 var(--serif)}
.category-rank-bottom{top:auto;left:auto;bottom:5px;right:8px;transform:rotate(180deg)}
.category-buttons button.all-category{width:auto;min-height:44px;align-self:center;justify-content:center;border-bottom:1px solid var(--line);margin-left:5px}
.signature-image{border:1px solid var(--line);padding:8px;background:var(--paper)}
.signature-mark{outline:1px solid var(--wine);outline-offset:-4px;border-radius:2px;width:47px;height:65px}
@media(max-width:760px){.category-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.category-buttons button:not(.all-category){width:100%;min-height:100px;padding:18px 5px 12px;font-size:12px}.category-buttons button:not(.all-category)>svg{height:30px;width:25px}.category-rank{font-size:16px;top:5px;left:6px}.category-rank-bottom{top:auto;left:auto;right:6px;bottom:5px}.category-buttons button.all-category{grid-column:1/-1;justify-self:center;min-height:37px;margin:0;padding:5px 15px}.signature-image{padding:6px}}

/* La sota histórica es una pieza gráfica real, no una nueva versión del logotipo. */
.hero-card-accent{width:132px;height:auto;aspect-ratio:3/5;right:68px;top:53px;border:0;outline:none;background:none;border-radius:5px;isolation:isolate}
.hero-card-accent>img{position:relative;width:100%;height:100%;object-fit:fill;border-radius:5px;border:5px solid #F4E6CF;box-shadow:0 10px 35px #0004}
.card-back{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#851210,#851210 5px,#E6A444 5px,#E6A444 6px);border:5px solid #F4E6CF;border-radius:5px;z-index:-1}
.card-back-one{transform:rotate(-12deg) translate(-14px,4px)}
.card-back-two{transform:rotate(-22deg) translate(-26px,10px)}
.story-sota{display:flex;align-items:center;gap:25px;margin:0 0 30px}
.story-sota img{width:90px;height:150px;object-fit:fill;transform:rotate(7deg);border:3px solid #F4E6CF;box-shadow:0 6px 20px #2A080610}
.story-sota>span{font:500 25px/1.1 var(--serif);color:var(--wine)}
@media(max-width:760px){.hero-card-accent{width:72px;right:30px;top:32px}.hero-card-accent>img{border-width:3px}.card-back{border-width:3px}.card-back-one{transform:rotate(-10deg) translate(-7px,2px)}.card-back-two{transform:rotate(-20deg) translate(-14px,5px)}.story-sota{margin-bottom:25px;gap:20px}.story-sota img{width:75px;height:125px}.story-sota>span{font-size:23px}}

.category-buttons button:not(.all-category){min-height:158px;width:125px;gap:8px;padding-top:13px}
.category-art{height:105px;width:68px;object-fit:contain;mix-blend-mode:multiply;border-radius:2px}
.category-buttons button[aria-pressed=true] .category-art{mix-blend-mode:normal}
.hero-card-accent{aspect-ratio:639/1000}.hero-card-accent>img{object-fit:contain}.story-sota img{object-fit:contain}
@media(max-width:760px){.category-buttons button:not(.all-category){min-height:132px;width:100%;gap:7px;padding:12px 4px}.category-art{width:53px;height:84px}.category-rank{font-size:13px;left:4px;top:4px}.category-rank-bottom{left:auto;top:auto;right:4px;bottom:4px}}

/* Legibilidad y paleta de la presentación: la carta se presenta como sus diapositivas, fondo granate, títulos dorados y tarjetas crema. */
h1,h2,h3{text-wrap:balance}
.hero-shade{background:linear-gradient(90deg,#2A0806e0 0%,#2A08068c 38%,#2A08061a 72%),linear-gradient(0deg,#2A08069c,transparent 45%),radial-gradient(ellipse 40% 55% at 84% 70%,#2A0806c4,transparent 75%)}
.hero-aside,.hero-topline,.hero-baseline{text-shadow:0 1px 12px #2A0806}
.hero-aside>p{color:#ECB254}
.dish-image-label{display:none}
.menu-section{background:var(--band);border-color:#E6A44466;--ink:#F6EDD7;--wine:#E6A444;--muted:#EBD3B3;--line:#E6A44466;--focus:#E6A444;color:var(--ink)}
.menu-section .search input::placeholder{color:#EBD3B3;opacity:1}
.menu-section .icon-button:hover{background:#7B221F}
.menu-section .category-buttons button.all-category{color:var(--ink)}
.menu-section .category-buttons button.all-category[aria-pressed=true]{background:#E6A444;color:#6C1712}
.menu-section .dish,.menu-section .category-buttons button:not(.all-category){--wine:#7B221F;--ink:#3E1712;--muted:#7A4B3E;--line:#E9C990;--paper:#F6EDD7;--focus:#851210}
.menu-section .category-buttons button:not(.all-category){border-color:#E6A444;padding-bottom:26px}
.menu-section .category-buttons button:not(.all-category)[aria-pressed=true]{background:#851210;color:#F6EDD7;border-color:#E6A444}
.menu-section .category-buttons button[aria-pressed=true] .category-rank{color:#E6A444}
.dish-grid{gap:18px}
.menu-section .dish{background:#F6EDD7;border:1px solid #E6A444;border-radius:12px;padding:16px;color:var(--ink);transition:transform .3s,box-shadow .3s}
.menu-section .dish:hover{transform:translateY(-3px);box-shadow:0 12px 30px #2A080655}
.menu-section .dish-image{border-radius:6px}
.signature-image{border-color:#E6A444}
.demo-ribbon{background:#6C1712;color:#F4E6CF}
.site-footer{border-top:3px double #E6A444}
.mobile-dock a{color:var(--wine)}
@media(max-width:760px){
 .brand-strip{flex-wrap:wrap;justify-content:center;gap:10px 16px;padding:18px 20px}
 .brand-strip>span{font-size:24px}
 .category-buttons{grid-template-columns:repeat(2,1fr)}
 .category-buttons button:not(.all-category){min-height:150px;padding-bottom:26px}
 .category-art{width:60px;height:94px}
 .menu-section .dish{padding:12px;gap:14px}
}

/* Versión estática: diálogos nativos en lugar de los de Radix. */
:where(.native-dialog){margin:0;border:0;padding:0;max-width:none;max-height:none}
.native-dialog:not([open]){display:none}
:where(.native-dialog:not(.mobile-menu)){right:auto;bottom:auto}
.native-dialog::backdrop{background:#2A08069e;backdrop-filter:blur(5px)}
.native-dialog.dish-dialog{max-height:90dvh}
.native-dialog .dialog-close{font-size:22px;line-height:1}
