/* Fuente de pizarra: solo se usa por debajo de la portada → se carga diferida */
@font-face{font-family:'Caveat';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/caveat.woff2) format('woff2')}

/* Fondos con textura (diferidos) */
.frieze{height:14px; background:var(--wood) var(--frieze) repeat-x center}
.bg-marble{background-color:var(--marble); background-image:var(--marble-v), radial-gradient(120% 80% at 10% 0%, rgba(255,255,255,.55), transparent 60%); background-size:800px 800px, auto}
.bg-wood{background-color:var(--wood); color:var(--cream); background-image:var(--grain), repeating-linear-gradient(90deg, rgba(0,0,0,.18) 0 1px, transparent 1px 160px), linear-gradient(180deg, #33201a, #2a1912)}

/* =========================================================
   SOBRE EL BAR
   ========================================================= */
.about{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,6vw,80px); align-items:center}
.about-text p{margin-top:1rem; color:var(--ink-2)}
.about-text p.first::first-letter{font-family:var(--f-sign); float:left; font-size:3.2em; line-height:.9; padding:.06em .1em 0 0; color:var(--red)}
.feats{list-style:none; padding:0; margin:2rem 0 0; display:grid; grid-template-columns:1fr 1fr; gap:14px}
.feats li{display:flex; gap:12px; align-items:flex-start; padding:14px; background:rgba(247,244,238,.7); border:1px solid rgba(107,63,38,.22); border-radius:var(--radius)}
.feats svg{width:28px; height:28px; flex:none; color:var(--red)}
.feats b{display:block; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase}
.feats span{font-size:.9rem; color:var(--ink-2); line-height:1.4}
/* Hueco para la foto real del interior */
.photo-frame{position:relative; padding:12px; background:linear-gradient(135deg,#7a4a2d,var(--wood-w) 40%,#4a2b1a); border-radius:3px; box-shadow:0 30px 60px -25px rgba(46,28,20,.6)}
.photo-frame::after{content:''; position:absolute; inset:6px; border:1px solid rgba(201,161,91,.6); pointer-events:none}
.photo-ph{position:relative; aspect-ratio:4/5; overflow:hidden; display:grid; place-items:center; text-align:center; color:var(--cream);
  background:radial-gradient(55% 35% at 50% 18%, rgba(255,196,110,.38), transparent 70%), radial-gradient(40% 30% at 20% 70%, rgba(163,32,43,.35), transparent 70%), var(--grain), repeating-linear-gradient(90deg, #3a2318 0 2px, #2c1a12 2px 64px), #2c1a12}
.photo-ph::before{content:''; position:absolute; left:0; right:0; top:58%; height:16px; background:linear-gradient(#7c4a2b,#4b2c1b); box-shadow:0 6px 16px rgba(0,0,0,.5)}
.photo-ph p{position:relative; font-family:var(--f-chalk); font-size:1.5rem; line-height:1.2; padding:0 24px; text-shadow:0 2px 8px rgba(0,0,0,.6)}
.photo-ph small{display:block; font-family:var(--f-serif); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-top:.6rem}
@media (max-width: 860px){ .about{grid-template-columns:1fr} .photo-ph{aspect-ratio:4/3} }
@media (max-width: 420px){ .feats{grid-template-columns:1fr} }

/* =========================================================
   CARTAS (mesa de mármol)
   ========================================================= */
.menus{background-color:#e9e0d1; background-image:var(--marble-v), radial-gradient(90% 60% at 50% 40%, rgba(255,255,255,.5), transparent 70%); background-size:800px 800px, auto; overflow:hidden}
.tabs{display:flex; justify-content:center; gap:6px; margin:0 auto 34px; padding:5px; width:max-content; max-width:100%; background:rgba(46,28,20,.92); border-radius:6px; box-shadow:0 10px 24px -12px rgba(46,28,20,.7)}
.tabs button{min-height:44px; padding:.5em 1.2em; border:0; border-radius:4px; background:transparent; color:var(--cream); font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background-color .25s, color .25s}
.tabs button[aria-selected="true"]{background:var(--red); color:var(--cream)}
.tabs button:not([aria-selected="true"]):hover{background:rgba(201,161,91,.18)}
.stage{position:relative; display:flex; justify-content:center; min-height:200px; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent}
.viewer{display:flex; justify-content:center; width:100%}
.ctrls{display:flex; align-items:center; justify-content:center; gap:12px; margin-top:28px; flex-wrap:wrap}
.arw{width:48px; height:48px; border-radius:50%; border:1px solid var(--wood-w); background:var(--cream); color:var(--wood); cursor:pointer; display:grid; place-items:center; box-shadow:0 4px 10px -4px rgba(46,28,20,.5); transition:transform .2s var(--ease), opacity .2s}
.arw svg{width:20px; height:20px}
.arw:hover:not(:disabled){transform:scale(1.06)}
.arw:disabled{opacity:.35; cursor:default}
.pg{min-width:9.5em; text-align:center; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2)}
.zoom-btn{margin-left:6px}
.hint{text-align:center; margin-top:12px; font-family:var(--f-chalk); font-size:1.3rem; color:var(--wood-w)}
.legend{text-align:center; margin:14px auto 0; font-size:.8rem; color:var(--ink-2); max-width:60ch}

/* Papel kraft */
.kraft{color:var(--ink); background-color:#c9a77a;
  background-image:var(--noise), var(--fibers), radial-gradient(130% 90% at 25% 15%, rgba(255,238,205,.35), transparent 60%), radial-gradient(120% 120% at 100% 100%, rgba(95,58,25,.28), transparent 55%);}
.board{color:var(--chalk); background-color:var(--board);
  background-image:var(--chalkdust), radial-gradient(70% 50% at 30% 30%, rgba(255,255,255,.07), transparent 70%), radial-gradient(60% 40% at 80% 85%, rgba(255,255,255,.05), transparent 70%)}

/* Tipografía de las cartas (escala con el ancho de la carta) */
.mface{container-type:inline-size; font-family:var(--f-serif); line-height:1.32}
.mbody{font-size:3.45cqi; padding:7cqi 7.5cqi 6cqi; height:100%; display:flex; flex-direction:column}
.m-run{display:flex; justify-content:space-between; font-size:.68em; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); border-bottom:1px solid rgba(107,63,38,.45); padding-bottom:.5em; margin-bottom:1.1em}
.m-run b{font-family:var(--f-sign); font-weight:400; letter-spacing:.12em; color:var(--red-d)}
.m-sec + .m-sec{margin-top:1.3em}
.m-h{font-family:var(--f-serif); font-weight:400; text-transform:lowercase; font-size:1.85em; line-height:1.1; color:var(--red-d); display:flex; align-items:center; gap:.4em}
.m-h::after{content:''; flex:1; height:1px; background:linear-gradient(90deg, rgba(107,63,38,.6), transparent)}
.m-subt{font-style:italic; font-size:.9em; color:var(--ink-2); margin-top:.15em}
.m-list{list-style:none; margin:.55em 0 0; padding:0}
.m-item{display:flex; align-items:baseline; gap:.35em; padding:.16em 0}
.m-name{flex:0 1 auto; text-transform:uppercase; font-size:.84em; letter-spacing:.07em}
.m-note{display:block; text-transform:none; letter-spacing:0; font-style:italic; font-size:1.07em; color:var(--ink-2); line-height:1.25}
.m-dots{flex:1 1 1.2em; min-width:1.2em; border-bottom:1px dotted rgba(42,25,15,.55); transform:translateY(-.28em)}
.m-price{flex:none; white-space:nowrap; font-weight:700; font-variant-numeric:tabular-nums}
.m-price.ask{font-weight:400; font-style:italic; font-size:.85em; color:var(--ink-2)}
.m-sub{font-style:italic; font-size:.88em; color:var(--ink-2); padding:0 0 .25em .8em; line-height:1.3}
.v{font-size:.82em; letter-spacing:0; font-weight:700; color:var(--green); margin-left:.3em; text-decoration:none; text-transform:none}
.m-legend{margin-top:auto; padding-top:1em; font-size:.72em; line-height:1.4; color:var(--ink-2); border-top:1px solid rgba(107,63,38,.4); text-align:center}
.m-legend + .m-pn{margin-top:.5em}
.m-pn{text-align:center; font-size:.7em; letter-spacing:.2em; color:var(--ink-2); margin-top:auto; padding-top:.8em}
.shade{position:absolute; inset:0; pointer-events:none; opacity:0; background:linear-gradient(90deg, rgba(20,10,4,.6), rgba(20,10,4,.25)); z-index:5}

/* ---------- CARTA: libreto (díptico con páginas) ---------- */
.book-vp{--pw:min(410px, calc((100vw - 120px) / 2)); width:calc(var(--pw) * 2); height:calc(var(--pw) * 1.45); position:relative}
.book{position:absolute; inset:0; width:calc(var(--pw) * 2); height:100%}
.leaf{position:absolute; top:0; left:50%; width:50%; height:100%; transform-origin:0 50%; transform-style:preserve-3d; cursor:pointer}
.face{position:absolute; inset:0; overflow:hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:1px 4px 4px 1px;
  box-shadow:0 1px 1px rgba(0,0,0,.18), 0 16px 26px -10px rgba(46,28,20,.55), 0 34px 60px -30px rgba(46,28,20,.5)}
.face-back{transform:rotateY(180deg); border-radius:4px 1px 1px 4px}
.leaf .face-front.inner::before,.leaf .face-back.inner::before{content:''; position:absolute; top:0; bottom:0; width:9%; z-index:4; pointer-events:none}
.leaf .face-front.inner::before{left:0; background:linear-gradient(90deg, rgba(40,20,8,.32), transparent)}
.leaf .face-back.inner::before{right:0; background:linear-gradient(270deg, rgba(40,20,8,.32), transparent)}
.cover .mbody{justify-content:center; align-items:center; text-align:center; padding:6cqi}
.cv-frame{position:absolute; inset:5cqi; border:1.5px solid rgba(125,24,32,.75); outline:1px solid rgba(125,24,32,.45); outline-offset:-2.4cqi}
.cv-top{font-size:.85em; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-2)}
.cv-logo{font-family:var(--f-sign); font-size:4.1em; line-height:.95; letter-spacing:.02em; color:var(--red-d); margin-top:.35em}
.cv-sub{font-size:2em; font-style:italic; text-transform:lowercase; margin-top:.4em}
.cv-addr{font-size:.8em; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); margin-top:1.2em}
.cv-hint{position:absolute; bottom:9cqi; left:0; right:0; font-family:var(--f-chalk); font-size:1.5em; color:var(--red-d)}
.cover .orn{color:var(--red-d)}
.special .mbody{text-align:center; align-items:center; justify-content:center; font-family:var(--f-chalk); padding:8cqi}
.special .sp-frame{position:absolute; inset:4cqi; border:2px solid rgba(241,238,230,.35); border-radius:3px}
.sp-ed{font-size:3.2em; line-height:1; transform:rotate(-4deg)}
.sp-brand{font-family:var(--f-sign); font-size:2em; letter-spacing:.06em; margin-top:.5em}
.sp-name{font-size:3.6em; font-weight:700; line-height:1; margin-top:.9em; color:#f6d48f}
.sp-ing{font-size:1.9em; line-height:1.25; margin-top:.5em}
.sp-price{font-size:3.2em; font-weight:700; margin-top:.6em; display:inline-block; border:2px solid rgba(241,238,230,.7); border-radius:50%; padding:.15em .55em; transform:rotate(-3deg)}
.sp-line{width:60%; height:2px; margin:1em auto 0; background:rgba(241,238,230,.5); border-radius:2px}
.info-page .m-sec p{font-size:.95em; margin-top:.4em}

/* ---------- DESAYUNOS: cartulina de doble cara ---------- */
.card-wrap{position:relative; width:min(780px, 100%); cursor:pointer}
.card-shadow{position:absolute; left:6%; right:6%; bottom:-14px; height:40px; border-radius:50%; background:radial-gradient(closest-side, rgba(46,28,20,.45), rgba(46,28,20,.15) 60%, transparent); z-index:0}
.card3d{position:relative; z-index:1; display:grid; transform-style:preserve-3d; transform:perspective(1800px) rotateY(0deg)}
.card3d > .face{position:relative; grid-area:1/1; inset:auto}
.card3d .mbody{font-size:clamp(11.5px, 3.15cqi, 16.5px); padding:6.5cqi 7cqi 5.5cqi}
@container (min-width: 620px){ .card3d .mbody{font-size:clamp(12px, 2.05cqi, 15.5px); padding:4.5cqi 5cqi 4cqi} .cols{columns:2; column-gap:5cqi} .cols .m-sec{break-inside:avoid; margin:0 0 1.3em} .cols .m-sec + .m-sec{margin-top:0} }
.card3d .face{border-radius:6px; border:1px solid rgba(90,55,25,.35)}
.bf-head{text-align:center; border-bottom:2px solid var(--red-d); padding-bottom:.7em; margin-bottom:1em}
.bf-head b{display:block; font-family:var(--f-sign); font-weight:400; font-size:3.3em; line-height:1; letter-spacing:.04em; color:var(--red-d)}
.bf-head span{display:block; font-size:.95em; letter-spacing:.32em; text-transform:uppercase; margin-top:.35em}
.bf-turn{text-align:center; margin-top:1em; font-family:var(--f-chalk); font-size:1.35em; color:var(--red-d)}

/* ---------- BEBIDAS: tríptico ---------- */
.tri-vp{--tp:min(300px, calc((100vw - 96px) / 3)); width:calc(var(--tp) * 3); position:relative}
.tri-strip{display:flex; align-items:stretch; width:calc(var(--tp) * 3); transform-origin:0 50%}
.panel{position:relative; width:var(--tp); flex:none; display:grid}
.panel > .face{position:relative; inset:auto; grid-area:1/1; border-radius:2px}
.panel .mbody{font-size:clamp(11px, 4.5cqi, 15px); padding:9cqi 8cqi 7cqi}
.panel-c{z-index:1}
.door{transform-style:preserve-3d; cursor:pointer}
.door-l{transform-origin:100% 50%; z-index:2; transform:perspective(2200px) rotateY(180deg)}
.door-r{transform-origin:0 50%; z-index:3; transform:perspective(2200px) rotateY(-180deg)}
.panel-c .face{box-shadow:0 1px 1px rgba(0,0,0,.18), 0 20px 40px -18px rgba(46,28,20,.6)}
.door-l .face-front.inner::before{content:''; position:absolute; top:0; bottom:0; right:0; width:7%; background:linear-gradient(270deg, rgba(40,20,8,.22), transparent); z-index:4}
.door-r .face-front.inner::before{content:''; position:absolute; top:0; bottom:0; left:0; width:7%; background:linear-gradient(90deg, rgba(40,20,8,.22), transparent); z-index:4}
.tri-cover .mbody{justify-content:center; align-items:center; text-align:center}
.tri-cover .cv-logo{font-size:3em}
.tri-cover .cv-sub{font-size:2.4em}

@media (max-width: 760px){
  .face{box-shadow:0 1px 1px rgba(0,0,0,.18), 0 10px 18px -10px rgba(46,28,20,.5)}
  .book-vp{--pw:min(420px, calc(100vw - 32px)); width:var(--pw); overflow:hidden}
  .tri-vp{--tp:min(400px, calc(100vw - 32px)); width:var(--tp); overflow:hidden}
  .tabs{width:100%}
  .tabs button{flex:1; padding:.5em .4em; letter-spacing:.08em}
  .pg{min-width:7.5em}
  .zoom-btn{flex-basis:100%; margin:4px 0 0; max-width:220px}
}

/* Ventana de ampliar */
.zoom{width:min(980px, 100vw); max-width:100vw; max-height:100dvh; height:100dvh; margin:0 auto; padding:0; border:0; background:transparent; color:var(--cream)}
.zoom::backdrop{background:rgba(20,12,8,.88)}
.zoom-bar{position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:rgba(46,28,20,.96); border-bottom:1px solid rgba(201,161,91,.35)}
.zoom-bar span{font-size:.8rem; letter-spacing:.16em; text-transform:uppercase}
.zoom-body{display:flex; flex-wrap:wrap; justify-content:center; gap:20px; padding:20px 16px 40px}
.zoom-body .face{position:relative; inset:auto; transform:none; width:min(100%, 600px); backface-visibility:visible; -webkit-backface-visibility:visible}
.zoom-body .face.is-page{aspect-ratio:1/1.45; height:auto}
.zoom-body .shade, .zoom-body .cv-hint{display:none}

/* =========================================================
   DESAYUNOS DESTACADOS
   ========================================================= */
.bf{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,6vw,72px); align-items:center}
.bf-intro .h2{color:var(--cream)}
.bf-intro p.lead{margin-top:1rem}
.bf-hours{display:inline-flex; align-items:center; gap:10px; margin-top:1.4rem; padding:.6em 1em; border:1px solid rgba(201,161,91,.55); border-radius:var(--radius); font-size:.85rem; letter-spacing:.1em; text-transform:uppercase}
.bf-hours svg{width:18px; height:18px; color:var(--gold)}
.bf-intro .btn{margin-top:1.6rem}
.chalk{position:relative; padding:clamp(26px,4vw,40px); border:12px solid #6b3f26; border-radius:4px; box-shadow:inset 0 0 0 1px rgba(0,0,0,.4), inset 0 0 40px rgba(0,0,0,.6), 0 30px 50px -24px rgba(0,0,0,.8); border-image:linear-gradient(135deg,#8a5434,#5a331f 50%,#7a4a2d) 1}
.chalk h3{font-family:var(--f-chalk); font-weight:700; font-size:clamp(2.1rem,5vw,2.8rem); line-height:1; text-align:center; transform:rotate(-2deg)}
.chalk h3 small{display:block; font-size:.45em; font-weight:500; margin-top:.3em; color:#f6d48f; transform:rotate(1deg)}
.chalk ul{list-style:none; padding:0; margin:1.2rem 0 0}
.chalk li{display:flex; align-items:baseline; gap:.5em; font-family:var(--f-chalk); font-size:clamp(1.25rem, 3vw, 1.5rem); line-height:1.3; padding:.3em 0; border-bottom:1px dashed rgba(241,238,230,.18)}
.chalk li span{flex:1}
.chalk li em{display:block; font-style:normal; font-size:.75em; opacity:.75}
.chalk li b{font-weight:700; color:#f6d48f; white-space:nowrap}
@media (max-width: 860px){ .bf{grid-template-columns:1fr} }

/* =========================================================
   RESEÑAS
   ========================================================= */
.rating{display:flex; flex-direction:column; align-items:center; text-align:center}
.rating-num{font-family:var(--f-sign); font-size:clamp(4.5rem, 14vw, 7.5rem); line-height:1; color:var(--red)}
.stars{display:flex; gap:6px; margin-top:.6rem}
.star{position:relative; width:clamp(30px,6vw,40px); height:clamp(30px,6vw,40px)}
.star svg{position:absolute; inset:0; width:100%; height:100%}
.star .s-bg{color:rgba(107,63,38,.25)}
.star .s-fg{color:var(--gold); transform:scale(0); opacity:0}
.star.half .s-fg{clip-path:inset(0 50% 0 0)}
.stars.go .s-fg{animation:starpop .6s var(--ease) forwards}
.stars.go .star:nth-child(2) .s-fg{animation-delay:.12s}.stars.go .star:nth-child(3) .s-fg{animation-delay:.24s}.stars.go .star:nth-child(4) .s-fg{animation-delay:.36s}.stars.go .star:nth-child(5) .s-fg{animation-delay:.48s}
@keyframes starpop{0%{transform:scale(0) rotate(-30deg); opacity:0}70%{transform:scale(1.18) rotate(4deg); opacity:1}100%{transform:scale(1); opacity:1}}
.rating-meta{margin-top:.8rem; font-size:1.05rem}
.rating-meta small{display:block; color:var(--ink-2); font-size:.85rem; letter-spacing:.08em; margin-top:.2rem}
.carousel{position:relative; margin-top:clamp(36px,5vw,56px)}
.track{display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px) / 3); gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:28px 4px 26px; overscroll-behavior-x:contain}
.track::-webkit-scrollbar{display:none}
.track:focus-visible{outline-offset:-2px}
.rcard{scroll-snap-align:start; position:relative; margin:0; display:flex; flex-direction:column; padding:40px 28px 24px; border:1px solid rgba(107,63,38,.22); border-radius:var(--radius);
  background-color:var(--cream); background-image:var(--marble-v), linear-gradient(160deg, #fbf8f2, #efe7d8); background-size:800px 800px, auto;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 18px 34px -20px rgba(46,28,20,.55)}
.rcard::before{content:'\201C'; position:absolute; top:-30px; left:20px; font-family:var(--f-serif); font-size:6rem; line-height:1; color:var(--red); text-shadow:0 3px 0 var(--cream)}
.rcard::after{content:''; position:absolute; left:28px; right:28px; top:0; height:2px; background:linear-gradient(90deg, var(--gold), transparent)}
.r-stars{display:flex; gap:3px; justify-content:flex-end; color:var(--gold)}
.r-stars svg{width:17px; height:17px; fill:currentColor}
.rcard blockquote{margin:.9rem 0 0; flex:1; font-family:var(--f-serif); font-style:italic; font-size:1rem; line-height:1.6; color:var(--ink)}
.rcard figcaption{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:1.2rem; padding-top:1rem; border-top:1px solid rgba(201,161,91,.45); font-size:.82rem; color:var(--ink-2)}
.r-name{font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink)}
.r-guide{font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; padding:.2em .6em; border-radius:999px; background:rgba(31,95,91,.12); color:var(--green); border:1px solid rgba(31,95,91,.3)}
.r-time{font-style:italic}
.r-src{flex-basis:100%; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(91,58,36,.7)}
.car-ctrls{display:flex; justify-content:center; align-items:center; gap:14px; margin-top:4px}
.dots{display:flex; gap:8px}
.dots span{width:8px; height:8px; border-radius:50%; background:rgba(107,63,38,.3); transition:transform .3s var(--ease), background-color .3s}
.dots span.on{background:var(--red); transform:scale(1.35)}
.rev-ctas{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px}
@media (max-width: 1000px){ .track{grid-auto-columns:calc((100% - 24px) / 2)} }
@media (max-width: 680px){ .track{grid-auto-columns:86%; gap:16px} .rcard{padding:36px 22px 20px} }

/* =========================================================
   HORARIO
   ========================================================= */
.hours{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,5vw,60px); align-items:start}
.status{padding:clamp(24px,4vw,36px); border:1px solid rgba(201,161,91,.45); border-radius:var(--radius); background:rgba(20,12,8,.35); text-align:center}
.st-badge{display:inline-flex; align-items:center; gap:.6em; font-family:var(--f-sign); font-size:clamp(1.5rem,4vw,2rem); letter-spacing:.04em}
.st-dot{width:14px; height:14px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(163,32,43,.25)}
.status.open .st-dot{background:#3fa39b; box-shadow:0 0 0 4px rgba(31,95,91,.45)}
.st-sub{margin-top:.5rem; color:rgba(247,244,238,.85)}
.st-kitchen{display:inline-flex; align-items:center; gap:.5em; margin-top:1.1rem; padding:.45em 1em; border-radius:999px; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; background:rgba(163,32,43,.25); border:1px solid rgba(163,32,43,.6)}
.st-kitchen.on{background:rgba(31,95,91,.35); border-color:rgba(63,163,155,.6)}
.st-note{margin-top:1.2rem; font-size:.78rem; color:rgba(247,244,238,.6)}
.htable{width:100%; border-collapse:collapse; font-size:.95rem}
.htable caption{text-align:left; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); padding-bottom:.6rem}
.htable th,.htable td{padding:.75em .6em; text-align:left; border-bottom:1px solid rgba(201,161,91,.2)}
.htable thead th{font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(247,244,238,.65); font-weight:400}
.htable tbody th{font-weight:400}
.htable tr.today{background:rgba(163,32,43,.28)}
.htable tr.today th::after{content:attr(data-today); margin-left:.6em; font-family:var(--f-chalk); font-size:1.1rem; color:var(--gold)}
.bf-row{margin-top:1rem; font-size:.9rem; color:rgba(247,244,238,.8)}
@media (max-width: 860px){ .hours{grid-template-columns:1fr} .htable{font-size:.88rem} .htable th,.htable td{padding:.65em .35em} }

/* =========================================================
   UBICACIÓN + CONTACTO
   ========================================================= */
.loc{display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(24px,4vw,48px); align-items:stretch}
.map{position:relative; min-height:380px; border:1px solid rgba(107,63,38,.35); border-radius:var(--radius); overflow:hidden; background:linear-gradient(135deg,#e2d8c6,#d6c9b2); box-shadow:0 20px 40px -24px rgba(46,28,20,.6)}
.map iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.map .map-ph{position:absolute; inset:0; display:grid; place-items:center; color:var(--ink-2); font-style:italic}
.addr{padding:clamp(24px,4vw,34px); background:var(--cream); border:1px solid rgba(107,63,38,.25); border-radius:var(--radius); display:flex; flex-direction:column; gap:1rem}
.addr h3{font-family:var(--f-sign); font-weight:400; font-size:1.4rem; letter-spacing:.03em}
.addr address{font-style:normal; color:var(--ink-2)}
.addr .btn{align-self:flex-start}
@media (max-width: 860px){ .loc{grid-template-columns:1fr} .map{min-height:320px} }

.contact{background:var(--red); color:var(--cream); text-align:center; background-image:var(--noise), radial-gradient(80% 120% at 50% 0%, rgba(255,255,255,.08), transparent 60%); background-size:180px, auto}
.contact .eyebrow{color:#f2d79f}
.contact .h2{color:var(--cream)}
.phone-big{display:inline-block; margin-top:1.2rem; font-family:var(--f-sign); font-size:clamp(2rem, 7vw, 3.6rem); letter-spacing:.03em; text-decoration:none}
.contact p.lead{color:rgba(247,244,238,.9); margin-top:.6rem}
.contact .orn{color:#f2d79f}
.contact-ctas{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:1.8rem}
.btn-cream{background:var(--cream); color:var(--red-d); border-color:var(--cream)}
.btn-cream:hover{background:#fff}
.btn-ghost{background:transparent; color:var(--cream); border-color:rgba(247,244,238,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}

/* =========================================================
   PIE
   ========================================================= */
.foot{padding:56px 0 30px; color:rgba(247,244,238,.8); font-size:.92rem}
.foot-grid{display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; align-items:flex-start}
.foot .brand{font-size:1.6rem; color:var(--cream)}
.foot address{font-style:normal; line-height:1.7}
.foot a{text-decoration:none} .foot a:hover{color:var(--gold)}
.foot-bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:34px; padding-top:18px; border-top:1px solid rgba(201,161,91,.25); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(247,244,238,.55)}
.foot-bottom b{color:rgba(247,244,238,.85)}

/* Movimiento reducido */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important; animation-duration:.01ms!important; animation-delay:0s!important; transition-delay:0s!important}
}
