@font-face{font-family:"Barlow";src:url(fonts/Barlow-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/Barlow-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/Barlow-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/Barlow-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/Barlow-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --negro:#0E0B0A; --tinta:#1A1512; --blanco:#F7F3EE; --rojo:#E3241B; --gris:#8E8680; --linea:rgba(247,243,238,.14);
  --f:"Barlow", "Helvetica Neue", Arial, sans-serif; --fd:"Barlow Condensed", "Arial Narrow", sans-serif;
  --pad:clamp(16px,3.2vw,44px); --r:18px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%;background:var(--negro)}
body{margin:0;background:var(--negro);color:var(--blanco);font:400 16px/1.55 var(--f);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--rojo);outline-offset:3px}
.xl,h1,h2,h3{font-family:var(--fd);font-weight:800;text-transform:uppercase;line-height:.86;letter-spacing:-.01em;margin:0}
.wrap{padding:0 var(--pad)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:0;border-radius:999px;padding:1em 1.6em;font:800 15px/1 var(--f);text-transform:uppercase;letter-spacing:.02em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),background .25s,color .25s}
.btn:hover{transform:scale(1.04)}
.btn-rojo{background:var(--rojo);color:var(--blanco)}
.btn-blanco{background:var(--blanco);color:var(--negro)}
.btn-linea{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn svg{width:1.1em;height:1.1em}
.path{font:600 15px/1 var(--f);text-decoration:none;letter-spacing:.01em;display:inline-flex;gap:2px;align-items:center}
.path::before{content:"/";color:var(--rojo)}
.path:hover{color:var(--rojo)}
.social{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;text-decoration:none;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor;transition:background .25s,color .25s}
.social svg{width:20px;height:20px}
.social:hover{background:var(--rojo);color:var(--blanco);box-shadow:none}
.social span{display:none}
.redes{display:flex;flex-wrap:wrap;gap:10px}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;gap:14px;padding:calc(14px + env(safe-area-inset-top,0px)) var(--pad) 14px;transition:background .3s}
.nav.scrolled{background:rgba(14,11,10,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.brand img{height:44px;width:auto}
.nav-r{margin-left:auto;display:flex;gap:10px;align-items:center}
.menu-btn{width:52px;height:52px;border-radius:50%;border:0;background:var(--blanco);color:var(--negro);cursor:pointer;display:grid;place-items:center}
.menu-btn span{display:block;width:20px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}

/* MENU OVERLAY */
.ov{position:fixed;inset:0;z-index:70;background:var(--rojo);color:var(--blanco);padding:calc(18px + env(safe-area-inset-top,0px)) var(--pad) calc(24px + env(safe-area-inset-bottom,0px));display:grid;grid-template-rows:auto 1fr auto;clip-path:circle(0 at calc(100% - 50px) 40px);transition:clip-path .7s var(--ease);visibility:hidden}
.ov.on{clip-path:circle(150% at calc(100% - 50px) 40px);visibility:visible}
.ov-top{display:flex;justify-content:space-between;align-items:center}
.ov-top img{height:44px}
.ov-close{width:52px;height:52px;border-radius:50%;border:0;background:var(--negro);color:var(--blanco);font-size:26px;cursor:pointer}
.ov nav{display:flex;flex-direction:column;justify-content:center}
.ov nav a{font:800 clamp(40px,min(10vw,8.4vh),140px)/.92 var(--fd);text-transform:uppercase;text-decoration:none;transition:color .2s,padding .3s var(--ease)}
.ov nav a:hover{color:var(--negro);padding-left:.12em}
.ov-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;font-size:14px}
.ov-foot .legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.ov-foot a{text-decoration:none}
.ov .social:hover{background:var(--negro)}

/* HERO */
.dest{min-height:100svh;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--pad);align-items:end;padding:calc(100px + env(safe-area-inset-top,0px)) var(--pad) var(--pad)}
.dest-txt{padding-bottom:clamp(10px,3vw,40px)}
.kick{font:600 clamp(16px,1.6vw,22px)/1.2 var(--f);text-transform:uppercase;margin:0 0 14px;color:var(--gris)}
.kick b{color:var(--blanco)}
.dest h1{font-size:clamp(76px,12.6vw,220px);color:var(--rojo);animation:up 1s var(--ease) both}
.dest .lema{font:800 clamp(22px,2.4vw,34px)/1 var(--fd);text-transform:uppercase;margin:22px 0 30px;animation:up 1s .1s var(--ease) both}
.dest-actions{display:flex;flex-wrap:wrap;gap:10px;animation:up 1s .2s var(--ease) both}
.dest-actions .btn{font-size:16px;padding:1.1em 1.8em}
.dest-img{position:relative;height:min(78svh,820px);border-radius:var(--r);overflow:hidden;animation:zoom 1.4s var(--ease) both}
.dest-img img{width:100%;height:100%;object-fit:cover}
.dest-tag{position:absolute;left:16px;bottom:16px;background:var(--blanco);color:var(--negro);border-radius:999px;padding:10px 16px;font:800 14px/1 var(--f);text-transform:uppercase;text-decoration:none}
.dest-tag b{color:var(--rojo)}
.status{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;background:rgba(14,11,10,.72);backdrop-filter:blur(8px);border-radius:999px;padding:9px 14px;font:700 13px/1 var(--f);text-transform:uppercase}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:#8C8078}
.status.open::before{background:#5ADB8C}
@keyframes up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}

/* MARQUEE */
.mq{background:var(--rojo);color:var(--blanco);overflow:hidden;border-block:1px solid var(--negro)}
.mq-t{display:flex;width:max-content;animation:mq 30s linear infinite}
.mq span{font:800 clamp(28px,3.6vw,52px)/1 var(--fd);text-transform:uppercase;padding:14px 20px;white-space:nowrap;display:flex;gap:40px;align-items:center}
.mq img{height:.8em}
@keyframes mq{to{transform:translateX(-50%)}}

section{padding:clamp(80px,10vw,150px) 0}
.sec-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:clamp(30px,4vw,56px)}
.sec-top h2{font-size:clamp(56px,9vw,150px)}
.sec-top p{margin:0;max-width:40ch;color:var(--gris)}

/* MENÚ tipo lista con barras */
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.fchip{border:0;cursor:pointer;border-radius:999px;padding:11px 17px;font:800 14px/1 var(--f);text-transform:uppercase;background:var(--tinta);color:var(--blanco)}
.fchip[aria-pressed="true"]{background:var(--blanco);color:var(--negro)}
.slash{font:800 clamp(38px,5vw,86px)/1.04 var(--fd);text-transform:uppercase;letter-spacing:-.005em;margin:0}
.slash button{all:unset;cursor:pointer;transition:color .2s;position:relative}
.slash button:hover,.slash button:focus-visible{color:var(--rojo)}
.slash button sup{font:700 .22em/1 var(--f);vertical-align:.3em;margin-left:.2em;color:var(--gris);letter-spacing:.02em}
.slash .sep{color:var(--gris);font-weight:300;margin:0 .14em}
.carta-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:34px;color:var(--gris);font-size:14px}
.carta-foot i{color:var(--rojo);font-style:normal}
.float{position:fixed;left:0;top:0;z-index:40;width:clamp(220px,22vw,340px);aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;pointer-events:none;opacity:0;transform:translate(0,-50%) scale(.85) rotate(-4deg);transition:opacity .25s,transform .35s var(--ease)}
.float.on{opacity:1;transform:translate(0,-50%) scale(1) rotate(-4deg)}
.float img{width:100%;height:100%;object-fit:cover}

/* BENTO */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(200px,22vw,330px);gap:12px;grid-template-areas:"v v r1 fe" "v v ne bl" "ba ba ne vi" "ba ba r2 r2"}
.a-v{grid-area:v}.a-r1{grid-area:r1}.a-fe{grid-area:fe}.a-ne{grid-area:ne}.a-bl{grid-area:bl}.a-ba{grid-area:ba}.a-vi{grid-area:vi}.a-r2{grid-area:r2}
.tile{position:relative;border-radius:var(--r);overflow:hidden;background:var(--tinta);display:flex;flex-direction:column;justify-content:space-between;padding:22px;text-decoration:none;isolation:isolate}
.tile>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform 1s var(--ease)}
.tile:hover>img.bg{transform:scale(1.05)}
.tile .xl{font-size:clamp(34px,3.6vw,60px)}
.t-video{grid-column:span 2;grid-row:span 2;padding:0;background:#000 center/cover;container-type:size}
.t-video .vid{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.t-video iframe{position:absolute;top:50%;left:50%;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);transform:translate(-50%,-50%);border:0}
.t-video .btn{position:absolute;left:18px;bottom:18px}
.t-rojo{background:var(--rojo)}
.t-blanco{background:var(--blanco);color:var(--negro)}
.t-blanco .path::before{color:var(--rojo)}
.tile .path{align-self:flex-start;background:rgba(14,11,10,.7);backdrop-filter:blur(6px);padding:9px 13px;border-radius:999px}
.t-rojo .path,.t-blanco .path{background:none;backdrop-filter:none;padding:0}
.t-wide{grid-column:span 2}
.t-tall{grid-row:span 2}

/* TOP 5 */
.top5{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.t5{border-bottom:1px solid var(--linea)}
.t5-btn{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:clamp(60px,8vw,120px) 90px 1fr;gap:clamp(14px,2.4vw,30px);align-items:center;width:100%;padding:18px 0;transition:background .25s}
.t5-btn:hover .t5-name{color:var(--rojo)}
.t5-rank{font:800 clamp(64px,8vw,120px)/.8 var(--fd);color:var(--rojo)}
.t5-media{width:90px;height:90px;border-radius:14px;overflow:hidden;background:var(--tinta);display:grid;place-items:center}
.t5-media img{width:100%;height:100%;object-fit:cover}
.t5-media .t5-emblem{width:54%;height:auto;object-fit:contain}
.t5-body{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:end}
.t5-name{font:800 clamp(30px,3.6vw,56px)/.9 var(--fd);text-transform:uppercase;transition:color .2s}
.t5-cat{font-size:13px;color:var(--gris);text-transform:uppercase;letter-spacing:.06em;grid-column:1}
.t5-bar{grid-column:1/-1;height:4px;background:var(--tinta);margin:10px 0 4px;border-radius:9px;overflow:hidden}
.t5-bar span{display:block;height:100%;width:0;background:var(--rojo);transition:width 1.2s var(--ease)}
.top5.is-in .t5-bar span{width:var(--w)}
.t5-stats{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 24px;font-size:14px;color:#CFC6BD}
.t5-stats b{font:800 20px var(--fd);color:var(--blanco)}
.t5-trend.up{color:#5ADB8C}.t5-trend.down{color:#FF8A78}
.kpis{display:flex;flex-wrap:wrap;gap:30px}
.kpi b{display:block;font:800 clamp(48px,5vw,80px)/.9 var(--fd);color:var(--blanco)}
.kpi span{font-size:13px;color:var(--gris);text-transform:uppercase;letter-spacing:.05em}

/* RESEÑAS */
.revs{background:var(--blanco);color:var(--negro)}
.revs .sec-top p{color:#6E6660}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rv{margin:0;border-radius:var(--r);padding:26px;background:#fff;display:flex;flex-direction:column;gap:18px;justify-content:space-between}
.rv:first-child{grid-row:span 2;background:var(--rojo);color:var(--blanco)}
.rv blockquote{margin:0;font:700 clamp(20px,1.8vw,26px)/1.15 var(--fd);text-transform:uppercase}
.rv:first-child blockquote{font-size:clamp(34px,3.6vw,58px);line-height:.95;font-weight:800}
.rv .st{color:var(--rojo);letter-spacing:3px}
.rv:first-child .st{color:var(--blanco)}
.rv figcaption{font-size:14px;display:flex;justify-content:space-between;gap:10px}
.rv figcaption b{text-transform:uppercase}
.rv figcaption span{opacity:.6}
.g-pill{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:800 14px/1 var(--f);text-transform:uppercase;background:var(--negro);color:var(--blanco);border-radius:999px;padding:8px 16px 8px 8px}
.g-pill .g{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0)}

/* BLOG */
.bcards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bcard{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:var(--tinta);text-decoration:none;transition:transform .3s var(--ease)}
.bcard:hover{transform:translateY(-4px)}
.bcard .ph{aspect-ratio:4/3;background:center/cover}
.bcard .tx{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.bcard .meta{display:flex;gap:12px;font:700 12.5px/1 var(--f);text-transform:uppercase;letter-spacing:.06em;color:var(--gris)}
.bcard .cat{all:unset;color:var(--rojo)}
.bcard h3{font-size:clamp(30px,2.6vw,40px)}
.bcard p{margin:0;color:#CFC6BD;font-size:15px;flex:1}
.bcard .more{font:800 14px var(--f);text-transform:uppercase;color:var(--rojo)}

/* CONTACTO / FOOTER */
footer{background:var(--rojo);color:var(--blanco);padding:clamp(60px,8vw,110px) 0 calc(28px + env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}
.f-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px;padding:0 var(--pad) 50px}
.f-top h2{font-size:clamp(56px,7vw,120px)}
.f-top h4{margin:0 0 12px;font:800 15px/1 var(--f);text-transform:uppercase;letter-spacing:.06em;color:var(--negro)}
.f-top p,.f-top ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:16px}
.f-top a{text-decoration:none}
.f-top a:hover{color:var(--negro)}
.f-top .btn{margin-top:22px}
.f-top .btn-blanco:hover{color:var(--rojo)}
.f-logo{padding:0 var(--pad)}
.f-logo img{width:100%;height:auto}
.f-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:24px var(--pad) 0;font-size:13px}
.f-bot button{all:unset;cursor:pointer;text-decoration:underline}
footer .social:hover{background:var(--negro)}

/* COOKIES / MODAL */
.cookie{position:fixed;left:16px;bottom:16px;z-index:80;max-width:400px;background:var(--blanco);color:var(--negro);border-radius:var(--r);padding:20px;box-shadow:0 20px 50px -10px rgba(0,0,0,.6);transform:translateY(140%);transition:transform .5s var(--ease)}
.cookie.on{transform:none}
.cookie p{margin:0 0 14px;font-size:14px;line-height:1.5}
.cookie p::before{content:"Si entras aquí, puede que repitas. ";display:block;font:800 22px/1 var(--fd);text-transform:uppercase;margin-bottom:8px}
.cookie p a{font-weight:800}
.cookie-acts{display:flex;gap:8px;justify-content:flex-end}
.cookie .btn{padding:.8em 1.2em;font-size:13px}
.cookie .btn-primary{background:var(--rojo);color:var(--blanco)}
.cookie .btn-ghost{background:none;box-shadow:inset 0 0 0 1.5px var(--negro);color:var(--negro)}
.mbar{display:none}
dialog{border:0;padding:0;border-radius:var(--r);width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 24px);background:var(--blanco);color:var(--negro);overflow:hidden}
dialog::backdrop{background:rgba(14,11,10,.8)}
dialog[open]{animation:zoom .4s var(--ease)}
.modal-close{position:absolute;top:14px;right:14px;z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:var(--negro);color:var(--blanco);font-size:22px;cursor:pointer}
.modal-body{display:grid;grid-template-columns:1.1fr 1fr;max-height:calc(100dvh - 24px)}
.modal-media{position:relative;min-height:340px;background:var(--negro)}
.modal-media img{width:100%;height:100%;object-fit:cover;max-height:calc(100dvh - 24px)}
.modal-media.empty{display:grid;place-items:center;align-content:center;gap:12px;background:var(--rojo);color:var(--blanco);font:800 15px var(--f);text-transform:uppercase}
.modal-media.empty .modal-emblem{width:120px;height:auto;object-fit:contain}
.modal-media.video{aspect-ratio:9/16;min-height:0}
.modal-media.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.modal-info{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:14px;overflow:auto}
.modal-cat{margin:0;font:800 13px var(--f);text-transform:uppercase;letter-spacing:.08em;color:var(--rojo)}
.modal-info h3{font-size:clamp(48px,5.4vw,84px)}
.modal-info h3 small{display:block;font:700 15px var(--f);color:#6E6660;margin-top:8px}
.modal-desc{margin:0;font-size:17px;color:#3F3833}
.modal-price{margin:6px 0 10px;font:800 44px/1 var(--fd);color:var(--rojo)}
.modal-info .btn{align-self:flex-start}
.modal-info .btn-primary{background:var(--rojo);color:var(--blanco)}
dialog.is-video{width:min(1100px,calc(100vw - 24px));background:#000}
dialog.is-video .modal-body,dialog.is-legal .modal-body{display:block}
dialog.is-legal{width:min(640px,calc(100vw - 24px))}
.legal{padding:clamp(28px,5vw,52px)}
.legal h3{font-size:clamp(40px,5vw,60px);margin-bottom:16px;padding-right:44px}
.legal p{margin:0;color:#3F3833}
.modal-media.video.wide{aspect-ratio:16/9}
@supports (animation-timeline:view()){.reveal{animation:up linear both;animation-timeline:view();animation-range:entry 0% entry 35%}}

@media (max-width:980px){
  .dest{grid-template-columns:1fr;align-items:start;padding-top:calc(90px + env(safe-area-inset-top,0px))}
  .dest-img{height:52svh;order:-1}
  .bento{grid-template-columns:1fr 1fr;grid-template-areas:"v v" "v v" "r1 fe" "ne bl" "ne vi" "ba ba" "r2 r2"}
  .t-video{grid-column:span 2}
  .rv-grid{grid-template-columns:1fr 1fr}
  .rv:first-child{grid-column:span 2;grid-row:auto}
  .bcards{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr 1fr}
  .f-top>div:first-child{grid-column:span 2}
  .float{display:none}
  .modal-body{grid-template-columns:1fr;overflow:auto}
  .modal-media{min-height:0;aspect-ratio:4/3}
  .modal-media img{max-height:none}
}
@media (max-width:640px){
  .nav-r .btn{display:none}
  .brand img{height:36px}
  .dest h1{font-size:22vw}
  .dest-actions .btn{flex:1 1 auto}
  .bento{grid-template-columns:1fr;grid-auto-rows:220px;grid-template-areas:"v" "v" "r1" "fe" "ne" "bl" "vi" "ba" "r2"}
  .t-video,.t-wide{grid-column:auto}
  .t-video{grid-row:span 1;min-height:300px}
  .t-tall{grid-row:span 1}
  .rv-grid{grid-template-columns:1fr}.rv:first-child{grid-column:auto}
  .t5-btn{grid-template-columns:56px 64px 1fr}
  .t5-media{width:64px;height:64px}
  .f-top{grid-template-columns:1fr}.f-top>div:first-child{grid-column:auto}
  .cookie{left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px));max-width:none}
  .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:55;gap:8px;padding:8px;border-radius:999px;background:var(--blanco);box-shadow:0 10px 30px rgba(0,0,0,.5)}
  .mbar .btn{flex:1}
  .mbar .btn-linea{color:var(--negro)}
  footer{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.chat{max-width:780px;margin:0 auto;background:var(--c-card);color:var(--c-text);border-radius:var(--c-r,22px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 70px -30px rgba(0,0,0,.6);border:var(--c-border,0)}
.chat-head{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--c-line)}
.chat-av{width:46px;height:46px;border-radius:50%;background:var(--c-accent);display:grid;place-items:center;flex:none}
.chat-av img{width:62%;height:auto}
.chat-head b{display:block;font:var(--c-head-font);line-height:1.1}
.chat-head small{font-size:13px;opacity:.75}
.chat-head small::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#5FD38A;margin-right:6px;vertical-align:1px}
.chat-log{height:min(58vh,560px);overflow-y:auto;padding:22px 20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin}
.msg{max-width:86%;padding:13px 16px;border-radius:18px;font-size:16px;line-height:1.5;animation:msg .35s ease both}
.msg a{color:inherit;font-weight:700}
.msg.bot{align-self:flex-start;background:var(--c-bot);border-bottom-left-radius:6px}
.msg.user{align-self:flex-end;background:var(--c-user);color:var(--c-user-text);border-bottom-right-radius:6px}
.msg.typing{display:flex;gap:5px;padding:16px 18px}
.msg.typing span{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.5;animation:dot 1s infinite}
.msg.typing span:nth-child(2){animation-delay:.15s}.msg.typing span:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{opacity:1;transform:translateY(-3px)}}
@keyframes msg{from{opacity:0;transform:translateY(8px)}}
.rec-list{display:grid;gap:10px;margin-top:12px}
.rec-card{display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:center;background:var(--c-cardin);border-radius:14px;padding:8px}
.rec-card>img,.rec-em{width:78px;height:78px;border-radius:10px;object-fit:cover}
.rec-em{display:grid;place-items:center;background:var(--c-accent)}
.rec-em img{width:55%}
.rec-card b{display:block;font:var(--c-head-font);font-size:20px;line-height:1.1}
.rec-card small{display:block;opacity:.7;font-size:13px;margin:2px 0 6px}
.rec-ver{all:unset;cursor:pointer;font-weight:700;font-size:13px;color:var(--c-link);text-decoration:underline;text-underline-offset:3px}
.rec-acts{margin-top:12px}
.rec-res{display:inline-block;background:var(--c-accent);color:var(--c-accent-text);padding:10px 16px;border-radius:999px;text-decoration:none!important;font-weight:700;font-size:14px}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 14px;min-height:8px}
.chip-r{border:0;cursor:pointer;border-radius:999px;padding:10px 15px;font:600 14px/1 var(--c-font);background:transparent;color:var(--c-text);box-shadow:inset 0 0 0 1.5px var(--c-accent);transition:background .2s,color .2s}
.chip-r:hover{background:var(--c-accent);color:var(--c-accent-text)}
.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--c-line)}
.chat-form input{flex:1;min-width:0;border:0;border-radius:999px;padding:14px 18px;font:500 16px var(--c-font);background:var(--c-bot);color:var(--c-text);outline:none}
.chat-form input::placeholder{color:var(--c-text);opacity:.5}
.chat-form button{border:0;border-radius:999px;padding:0 20px;font:700 15px var(--c-font);background:var(--c-accent);color:var(--c-accent-text);cursor:pointer}
.reco-teaser{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.reco-teaser .fake{display:flex;flex-direction:column;gap:10px;background:var(--c-card);color:var(--c-text);border-radius:var(--c-r,22px);padding:22px;border:var(--c-border,0)}
.reco-teaser .fake .msg{animation:none}
@media (max-width:980px){.reco-teaser{grid-template-columns:1fr}}
@media (max-width:640px){.chat-log{height:56vh;padding:16px 12px}.msg{max-width:92%;font-size:15px}.chat-chips{padding:0 12px 12px}}

/* ===== PORTADA (idea de la Moderna con estilo Urbana) ===== */
.hero2{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#000 center/cover no-repeat;padding:calc(110px + env(safe-area-inset-top,0px)) 0 clamp(30px,5vw,64px)}
.hero2 .hero-video{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.hero2 .hero-video iframe{position:absolute;top:50%;left:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%) scale(1.03);border:0}
.hero2::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 15% 100%,rgba(14,11,10,.94) 20%,rgba(14,11,10,.4) 62%,rgba(14,11,10,.25)),linear-gradient(180deg,rgba(14,11,10,.6),transparent 28%)}
.hero2-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;width:100%}
.hero2 .kick{color:#D9CFC5;display:flex;align-items:center;gap:12px;animation:up .9s var(--ease) both}
.hero2 .kick::before{content:"";width:34px;height:2px;background:var(--rojo)}
.hero2 h1{font-size:clamp(84px,14vw,250px);line-height:.82;animation:up 1s .08s var(--ease) both}
.hero2 h1 .plus{color:var(--rojo)}
.neon{display:block;font:800 clamp(30px,4.2vw,70px)/1 var(--fd);text-transform:uppercase;letter-spacing:.01em;color:#FFE3DE;margin-top:14px;text-shadow:0 0 4px #fff,0 0 12px #FF5A47,0 0 28px var(--rojo),0 0 56px var(--rojo),0 0 90px rgba(227,36,27,.7);animation:neon 2.4s .7s steps(1,end) both}
@keyframes neon{0%{opacity:0}8%{opacity:.9}10%{opacity:.1}14%{opacity:1}16%{opacity:.25}22%{opacity:1}100%{opacity:1}}
.hero2-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(26px,3.6vw,40px);animation:up 1s .3s var(--ease) both}
.hero2-actions .btn{font-size:16px;padding:1.1em 1.7em}
.hero2-side{display:flex;flex-direction:column;align-items:flex-end;gap:16px;animation:up 1s .4s var(--ease) both}
.hero2-side .redes{flex-direction:column}
.hero2 .status{position:static}
.badge{position:absolute;top:calc(96px + env(safe-area-inset-top,0px));right:var(--pad);width:clamp(112px,11vw,150px);aspect-ratio:1;border-radius:50%;background:var(--rojo);display:grid;place-items:center;text-decoration:none;transition:transform .4s var(--ease);z-index:2}
.badge:hover{transform:scale(1.06) rotate(-6deg)}
.badge svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 18s linear infinite}
.badge img{width:42%}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== CABECERAS DE PÁGINA ===== */
.page-head{padding:calc(130px + env(safe-area-inset-top,0px)) 0 clamp(40px,5vw,60px)}
.page-head h1{font-size:clamp(72px,12vw,210px);color:var(--rojo)}
.page-head p{max-width:52ch;color:var(--gris);font-size:18px;margin:18px 0 0}
.info-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.info-strip span{background:var(--tinta);border-radius:999px;padding:10px 16px;font:700 14px/1.2 var(--f)}
.info-strip b{color:var(--rojo)}

/* ===== PUNTO DE LA CARNE ===== */
.punto{background:var(--blanco);color:var(--negro)}
.punto-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.punto h2{font-size:clamp(56px,8vw,130px)}
.punto h2 em{font-style:normal;color:var(--rojo)}
.punto .lead{font-size:18px;max-width:42ch;color:#4B423C;margin:20px 0 30px}
.steak{width:100%;max-width:560px;margin:0 auto;filter:drop-shadow(0 30px 40px rgba(14,11,10,.25))}
.steak .in{transition:fill .6s var(--ease)}
.punto-ctl{display:grid;gap:16px}
.punto-name{font:800 clamp(48px,5.4vw,84px)/.9 var(--fd);text-transform:uppercase;color:var(--rojo)}
.punto-meta{display:flex;flex-wrap:wrap;gap:8px 26px;font-weight:700;font-size:15px;color:#4B423C;align-items:baseline}
.punto-meta b{font:800 34px/1 var(--fd);color:var(--negro);margin-right:4px}
.punto-desc{margin:0;color:#4B423C;min-height:3.2em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:14px;border-radius:99px;background:linear-gradient(90deg,#7A1830,#C5283C,#E0626A,#B98270,#7E5B48);outline:none;margin:6px 0 0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:50%;background:var(--negro);border:5px solid var(--blanco);box-shadow:0 4px 14px rgba(0,0,0,.35);cursor:grab}
input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--negro);border:5px solid var(--blanco);cursor:grab}
.punto-steps{display:flex;justify-content:space-between;font:800 13px var(--f);text-transform:uppercase;color:#8A7F78}
.punto-steps button{all:unset;cursor:pointer;padding:4px 0}
.punto-steps button[aria-pressed="true"]{color:var(--rojo)}

/* ===== ASISTENTE ===== */
:root{--c-card:#1A1512;--c-text:#F7F3EE;--c-bot:#26201C;--c-user:#E3241B;--c-user-text:#fff;--c-accent:#E3241B;--c-accent-text:#fff;--c-line:rgba(247,243,238,.12);--c-cardin:#322a25;--c-link:#F7F3EE;--c-font:var(--f);--c-head-font:800 22px var(--fd)}
.reco-teaser h2{font-size:clamp(56px,7vw,120px);margin-bottom:18px}.reco-teaser p{color:var(--gris);font-size:18px;max-width:42ch;margin:0 0 28px}
.rec-btns{display:flex;gap:14px;align-items:center}
.rec-add{all:unset;cursor:pointer;font-weight:800;font-size:13px;background:var(--rojo);color:#fff;padding:7px 12px;border-radius:999px}

/* ===== PEDIDO ONLINE ===== */
.ped-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ped{display:flex;flex-direction:column;background:var(--tinta);border-radius:var(--r);overflow:hidden}
.ped .ph{aspect-ratio:16/10;background:#26201C center/cover;display:grid;place-items:center;border:0;padding:0;cursor:pointer;width:100%}
.ped .ph img.em{width:22%;opacity:.8}
.ped .tx{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.ped h3{font-size:30px;line-height:.95}
.ped h3 small{font:700 12px var(--f);color:var(--gris);margin-left:6px;text-transform:none}
.ped p{margin:0;color:#CFC6BD;font-size:14.5px;flex:1}
.ped-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.ped-price{font:800 26px/1 var(--fd);color:var(--blanco)}
.add{border:0;cursor:pointer;background:var(--rojo);color:#fff;border-radius:999px;padding:11px 16px;font:800 14px/1 var(--f);text-transform:uppercase;display:inline-flex;gap:6px;align-items:center}
.add:hover{background:#c71d15}
.stepper{display:inline-flex;align-items:center;gap:4px;background:var(--blanco);color:var(--negro);border-radius:999px;padding:4px}
.stepper button{border:0;cursor:pointer;width:32px;height:32px;border-radius:50%;background:var(--negro);color:var(--blanco);font:800 18px/1 var(--f)}
.stepper span{min-width:26px;text-align:center;font:800 16px var(--f)}
.tag-punto{font:800 11px var(--f);text-transform:uppercase;letter-spacing:.06em;color:var(--rojo)}

/* Modal: añadir al pedido */
.add-box{display:grid;gap:14px;margin-top:6px}
.puntos{display:flex;flex-wrap:wrap;gap:6px}
.puntos button{border:0;cursor:pointer;border-radius:999px;padding:9px 13px;font:700 13px/1 var(--f);background:#EDE6DE;color:var(--negro)}
.puntos button[aria-pressed="true"]{background:var(--negro);color:var(--blanco)}
.add-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.add-row .stepper{background:#EDE6DE}
.modal-info .btn-sec{background:none;box-shadow:inset 0 0 0 1.5px var(--negro);color:var(--negro)}

/* Carrito */
.cart-fab{position:fixed;right:18px;bottom:18px;z-index:58;display:flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--blanco);color:var(--negro);border-radius:999px;padding:12px 18px 12px 14px;font:800 15px/1 var(--f);box-shadow:0 14px 36px -8px rgba(0,0,0,.6);transition:transform .25s var(--ease)}
.cart-fab:hover{transform:translateY(-2px)}
.cart-fab svg{width:22px;height:22px}
.cart-fab .n{background:var(--rojo);color:#fff;border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:13px;padding:0 6px}
.cart-fab[hidden]{display:none}
.cart{position:fixed;top:0;right:0;bottom:0;z-index:75;width:min(460px,100vw);background:var(--blanco);color:var(--negro);display:flex;flex-direction:column;transform:translateX(105%);transition:transform .45s var(--ease);box-shadow:-20px 0 60px rgba(0,0,0,.45)}
.cart.on{transform:none}
.cart-shade{position:fixed;inset:0;z-index:74;background:rgba(14,11,10,.6);opacity:0;pointer-events:none;transition:opacity .3s}
.cart-shade.on{opacity:1;pointer-events:auto}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:calc(16px + env(safe-area-inset-top,0px)) 20px 16px;border-bottom:1px solid #E5DDD4}
.cart-head h2{font-size:44px}
.cart-head button{width:44px;height:44px;border-radius:50%;border:0;background:var(--negro);color:var(--blanco);font-size:22px;cursor:pointer}
.cart-body{flex:1;overflow-y:auto;padding:6px 20px 20px}
.ci{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0;border-bottom:1px solid #EDE6DE}
.ci b{font:800 22px/1 var(--fd);text-transform:uppercase}
.ci small{display:block;color:#7A6F68;font-size:13px;margin-top:3px}
.ci .lt{font:800 18px var(--fd);text-align:right}
.ci .stepper{background:#EDE6DE;grid-column:1}
.cart-empty{text-align:center;padding:40px 10px;color:#6E6660}
.cart-empty b{display:block;font:800 30px var(--fd);text-transform:uppercase;color:var(--negro);margin-bottom:8px}
.cart-form{display:grid;gap:12px;margin-top:18px}
.cart-form h3{font-size:26px;margin-top:6px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:#EDE6DE;border-radius:999px;padding:4px}
.seg button{border:0;cursor:pointer;border-radius:999px;padding:11px;font:800 14px var(--f);background:none;color:var(--negro)}
.seg button[aria-pressed="true"]{background:var(--negro);color:var(--blanco)}
.cart-form label{display:grid;gap:5px;font:700 13px var(--f);color:#4B423C}
.cart-form input,.cart-form textarea{border:1.5px solid #DCD2C8;border-radius:12px;padding:12px 14px;font:500 16px var(--f);background:#fff;color:var(--negro);outline:none}
.cart-form input:focus,.cart-form textarea:focus{border-color:var(--negro)}
.cart-form textarea{min-height:70px;resize:vertical}
.pagos{display:flex;flex-wrap:wrap;gap:6px}
.pagos button{border:1.5px solid #DCD2C8;cursor:pointer;border-radius:999px;padding:9px 14px;font:700 14px var(--f);background:#fff;color:var(--negro)}
.pagos button[aria-pressed="true"]{background:var(--negro);border-color:var(--negro);color:var(--blanco)}
.recog{font-size:14px;color:#4B423C;background:#EDE6DE;border-radius:12px;padding:12px 14px}
.cart-foot{border-top:1px solid #E5DDD4;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));display:grid;gap:8px;background:#fff}
.row{display:flex;justify-content:space-between;font-size:15px}
.row.total{font:800 30px/1 var(--fd);text-transform:uppercase;margin-top:4px}
.falta{font-size:13px;color:var(--rojo);font-weight:700}
.cart-err{font-size:13px;color:var(--rojo);font-weight:700;min-height:1em}
.wa-btn{border:0;cursor:pointer;background:#25D366;color:#06371B;border-radius:999px;padding:16px;font:800 16px var(--f);text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px}
.wa-btn svg{width:22px;height:22px}
.wa-btn:disabled{opacity:.45;cursor:not-allowed}
.cart-ok{font-size:13px;color:#1E7A43;font-weight:700}
.toast{position:fixed;left:50%;bottom:90px;z-index:90;transform:translate(-50%,30px);opacity:0;background:var(--negro);color:var(--blanco);border-radius:999px;padding:12px 18px;font:700 14px var(--f);box-shadow:0 10px 30px rgba(0,0,0,.4);transition:opacity .25s,transform .3s var(--ease);pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media (max-width:980px){
  .hero2-grid{grid-template-columns:1fr}
  .hero2-side{align-items:flex-start}.hero2-side .redes{flex-direction:row}
  .punto-grid{grid-template-columns:1fr}
  .ped-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .hero2 h1{font-size:25vw}
  .neon{font-size:9.4vw}
  .badge{top:calc(74px + env(safe-area-inset-top,0px));width:92px}
  .hero2-actions .btn{flex:1 1 auto}
  .ped-grid{grid-template-columns:1fr}
  .cart-fab{display:none}
  .toast{bottom:96px}
}
.b-hero{padding:calc(140px + env(safe-area-inset-top,0px)) 0 clamp(50px,7vw,90px)}
.b-hero .neon{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cobre);margin-bottom:18px}
.b-hero .neon::before{content:"";width:28px;height:1px;background:currentColor}
.b-hero h1{font-size:clamp(60px,10vw,168px);display:block}
.b-hero p.sub{max-width:46ch;color:var(--ceniza);font-size:18px;margin:24px 0 0}
.b-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:36px}
.b-search{flex:1 1 280px;max-width:420px;display:flex;align-items:center;gap:10px;background:var(--panel);border-radius:999px;padding:0 18px}
.b-search input{all:unset;flex:1;padding:14px 0;font:500 15px var(--text);color:var(--hueso)}
.b-search svg{width:18px;height:18px;opacity:.6}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:0;cursor:pointer;border-radius:999px;padding:11px 16px;font:700 14px/1 var(--text);background:var(--panel);color:var(--hueso)}
.chip[aria-pressed="true"]{background:var(--hueso);color:var(--noche)}
.b-list{padding:0 0 clamp(70px,9vw,120px)}
.feat{position:relative;display:flex;align-items:flex-end;min-height:min(78vh,640px);border-radius:var(--r);overflow:hidden;text-decoration:none;isolation:isolate;margin-bottom:14px}
.feat .ph{position:absolute;inset:0;background:center/cover;z-index:-2;transition:transform 1.2s var(--ease)}
.feat:hover .ph{transform:scale(1.04)}
.feat::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(18,13,11,.94))}
.feat .tx{padding:clamp(26px,4vw,52px);display:grid;gap:14px;max-width:820px}
.feat h2{font-size:clamp(44px,6vw,92px)}
.feat p{margin:0;color:#D7CCC3;font-size:18px;max-width:54ch}
.meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cobre)}
.cat{color:var(--brasa)}
.more{font-weight:700;color:var(--brasa);font-size:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{display:flex;flex-direction:column;background:var(--panel);border-radius:var(--r);overflow:hidden;text-decoration:none;transition:transform .3s var(--ease)}
.card:hover{transform:translateY(-4px)}
.card .ph{aspect-ratio:4/3;background:center/cover}
.card .tx{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:32px;line-height:1}
.card p{margin:0;color:var(--ceniza);font-size:15px;flex:1}
.empty{padding:40px;text-align:center;background:var(--panel);border-radius:var(--r);color:var(--ceniza)}
.post-hero{padding:calc(130px + env(safe-area-inset-top,0px)) 0 0}
.post-hero .wrap{max-width:1000px}
.back{display:inline-block;font-weight:700;font-size:14px;color:var(--ceniza);text-decoration:none;margin-bottom:24px}
.back:hover{color:var(--brasa)}
.post-hero h1{font-size:clamp(48px,7vw,110px);margin:18px 0 0}
.post-img{max-width:1360px;margin:44px auto 0;padding:0 var(--pad)}
.post-img img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--r)}
.post{padding:clamp(50px,7vw,90px) 0 clamp(70px,9vw,120px)}
.prose{max-width:700px;margin:0 auto;padding:0 var(--pad);font-size:19px;line-height:1.75;color:#E6DDD4}
.prose p.intro{font:400 clamp(26px,2.6vw,34px)/1.3 var(--display);color:var(--hueso);margin-top:0}
.prose h2{font-size:clamp(34px,3.6vw,50px);margin:48px 0 12px;color:var(--hueso)}
.prose strong{color:var(--hueso)}
.prose li{margin-bottom:8px}.prose li::marker{color:var(--brasa)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:44px;padding-top:26px;border-top:1px solid rgba(244,238,230,.14);font-weight:700;font-size:14px}
.share .social{border:0;cursor:pointer}
.post-cta{max-width:700px;margin:50px auto 0;padding:0 var(--pad)}
.post-cta div{background:var(--brasa);color:var(--noche);border-radius:var(--r);padding:clamp(26px,4vw,42px);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.post-cta h3{font-size:clamp(34px,3.4vw,48px)}
.post-cta .btn-primary{background:var(--noche);color:var(--hueso)}
.related{max-width:1360px;margin:80px auto 0;padding:0 var(--pad)}
.related h3.t{font-size:clamp(40px,4.4vw,64px);margin-bottom:26px}
.related .cards{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cards,.related .cards{grid-template-columns:1fr}.post-img img{aspect-ratio:4/3}.prose{font-size:17.5px}}

/* ===== BLOG ===== */
:root{--noche:var(--negro);--panel:var(--tinta);--brasa:var(--rojo);--cobre:var(--rojo);--ceniza:var(--gris);--hueso:var(--blanco);--display:var(--fd);--text:var(--f)}
.b-hero h1{font-size:clamp(70px,12vw,200px);font-family:var(--fd)}
.feat h2,.card h3,.post-hero h1,.prose h2,.related h3.t,.post-cta h3{font-family:var(--fd);text-transform:uppercase;line-height:.9}
.prose p.intro{font:600 clamp(22px,2.2vw,28px)/1.35 var(--f)}
.post-cta div{background:var(--rojo);color:var(--blanco)}
.post-cta .btn-primary{background:var(--blanco);color:var(--negro)}
.ct-d{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ct-d .tile{min-height:300px}
.reco-home{background:var(--tinta)}
@media (max-width:980px){.ct-d{grid-template-columns:1fr!important}}
.hero2-grid>*{min-width:0}
.ci .stepper{justify-self:start}
@media (max-width:640px){.hero2 h1{font-size:19vw}.neon{font-size:8.6vw}}

/* ===== PEDIDO: SIEMPRE A LA VISTA ===== */
.nav-cart{position:relative;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;background:var(--rojo);color:#fff;display:grid;place-items:center}
.nav-cart svg{width:24px;height:24px}
.nav-cart .n{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--blanco);color:var(--negro);font:800 12px/22px var(--f);text-align:center;box-shadow:0 0 0 2px var(--negro)}
body:not(.has-cart) .nav-cart{background:rgba(247,243,238,.12)}
body:not(.has-cart) .nav-cart .n{display:none}
.order-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:62;width:min(620px,calc(100vw - 24px));display:flex;align-items:center;gap:14px;border:0;cursor:pointer;background:var(--rojo);color:#fff;border-radius:999px;padding:10px 10px 10px 12px;box-shadow:0 18px 44px -10px rgba(227,36,27,.75),0 6px 20px rgba(0,0,0,.45);text-align:left;font-family:var(--f)}
.order-bar[hidden]{display:none}
.order-bar:hover{background:#cf1f16}
.ob-ic{position:relative;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
.ob-ic svg{width:24px;height:24px}
.ob-ic .n{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--blanco);color:var(--negro);font:800 12px/22px var(--f);text-align:center}
.ob-tx{display:grid;flex:1;min-width:0}
.ob-tx b{font:800 20px/1 var(--fd);text-transform:uppercase}
.ob-tx small{font:700 14px/1.3 var(--f);opacity:.9}
.ob-go{background:var(--blanco);color:var(--negro);border-radius:999px;padding:13px 18px;font:800 15px/1 var(--f);text-transform:uppercase;white-space:nowrap}
.order-bar.pulse{animation:obpulse .6s var(--ease)}
@keyframes obpulse{30%{transform:translateX(-50%) scale(1.05)}}
body.has-cart .mbar{display:none!important}
body.has-cart footer{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
body.has-cart .cookie{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.toast{display:flex;align-items:center;gap:12px;bottom:calc(96px + env(safe-area-inset-bottom,0px));pointer-events:none}
.toast.on{pointer-events:auto}
.toast button{border:0;cursor:pointer;background:var(--rojo);color:#fff;border-radius:999px;padding:8px 13px;font:800 13px var(--f)}
.stepn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--rojo);color:#fff;font:800 15px/1 var(--f);margin-right:10px;vertical-align:4px}
.cart-step{font-size:26px;margin:14px 0 2px}
@media (max-width:640px){
  .nav-cart{width:46px;height:46px}
  .ob-go{padding:12px 14px;font-size:13px}
  .ob-tx b{font-size:18px}
  .toast{bottom:calc(92px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100vw - 24px)}
}
@media (max-width:380px){.ob-go{display:none}}

/* ===== IDIOMAS ===== */
.langs{display:flex;gap:2px;background:rgba(247,243,238,.1);border-radius:999px;padding:3px}
.langs button{border:0;cursor:pointer;background:none;color:inherit;border-radius:999px;padding:7px 9px;font:800 12px/1 var(--f);opacity:.7}
.langs button[aria-pressed="true"]{background:var(--blanco);color:var(--negro);opacity:1}
.ov-foot .langs{background:rgba(14,11,10,.25)}
@media (max-width:640px){.nav-r .langs{display:none}}

/* ===== CARTA: menú del día, agotados ===== */
.menu-dia{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;background:var(--tinta);border-left:4px solid var(--rojo);border-radius:12px;padding:14px 18px;margin-top:30px}
.menu-dia b{font:800 24px/1 var(--fd);text-transform:uppercase}
.menu-dia span{color:#CFC6BD;font-size:14.5px}
.slash button.agot{opacity:.35;text-decoration:line-through}
.agotado-tag{display:inline-block;background:#3A2F2A;color:#CFC6BD;border-radius:999px;padding:9px 13px;font:800 12px/1 var(--f);text-transform:uppercase}
.agotado-tag.soft{background:transparent;box-shadow:inset 0 0 0 1.5px #5A4D46}
.ped.is-agotado .ph{filter:grayscale(1) brightness(.6)}
.ped-price small{font:700 13px var(--f);color:var(--gris);margin-left:2px}
.agotado-msg{margin:4px 0;background:#F1E9E1;border-radius:12px;padding:12px 14px;font:800 14px var(--f);color:var(--rojo);text-transform:uppercase}
.agotado-msg.soft{color:#6E6660}
.cerrado-aviso{background:var(--rojo);color:#fff;border-radius:14px;padding:14px 18px;font:700 15px/1.4 var(--f);margin:0 0 20px}

/* ===== CARRITO: sugerencias, horario y pie compacto ===== */
.upsell{margin:18px 0 4px;background:#F1E9E1;border-radius:16px;padding:14px}
.upsell h3{font-size:22px;margin:0 0 10px}
.up-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.up{border:0;cursor:pointer;background:#fff;border-radius:12px;padding:10px 12px;text-align:left;display:grid;gap:2px;font:600 13.5px/1.25 var(--f);color:var(--negro);transition:transform .2s}
.up:hover{transform:translateY(-2px)}
.up b{color:var(--rojo);font:800 14px var(--f)}
.cerrado-msg{margin:0;background:#FDE8E6;color:#9F1A13;border-radius:12px;padding:10px 12px;font:700 13.5px/1.4 var(--f)}
.seg button:disabled{opacity:.4;cursor:not-allowed}
.when{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cart-form select,.res-body select{border:1.5px solid #DCD2C8;border-radius:12px;padding:12px 12px;font:600 16px var(--f);background:#fff;color:var(--negro);width:100%}
.lbl{margin:0 0 6px;font:700 13px var(--f);color:#4B423C}
.resumen{border-top:1px solid #E5DDD4;padding-top:10px;display:grid;gap:6px}
.cart-foot{gap:6px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px))}
.row.total{font:800 22px/1 var(--fd)}
.wa-btn{padding:14px}
.cart{height:100dvh}
@media (max-width:640px){
  .cart:has(input:not([type=checkbox]):not([name=codigoTxt]):focus, textarea:focus, select:focus) .cart-foot{display:none}
  .cart-head{padding-top:calc(10px + env(safe-area-inset-top,0px));padding-bottom:10px}
  .cart-head h2{font-size:34px}
  .up-row{grid-template-columns:1fr 1fr}
}

/* ===== RESERVAS ===== */
.res-dlg{width:min(560px,calc(100vw - 24px));background:var(--blanco);color:var(--negro);border-radius:var(--r);padding:0}
.res-body{padding:clamp(24px,4vw,40px);display:grid;gap:14px;max-height:calc(100dvh - 40px);overflow:auto}
.res-body h3{font-size:clamp(38px,5vw,56px);padding-right:44px}
.res-body label{display:grid;gap:5px;font:700 13px var(--f);color:#4B423C}
.res-body input,.res-body textarea{border:1.5px solid #DCD2C8;border-radius:12px;padding:12px 14px;font:500 16px var(--f);background:#fff;color:var(--negro);outline:none}
.res-body textarea{min-height:64px;resize:vertical}
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pers{display:flex;flex-wrap:wrap;gap:6px}
.pers button{border:1.5px solid #DCD2C8;cursor:pointer;background:#fff;color:var(--negro);border-radius:12px;min-width:46px;height:46px;font:800 16px var(--f)}
.pers button[aria-pressed="true"]{background:var(--negro);border-color:var(--negro);color:#fff}
.res-nota{color:#6E6660;font-size:12.5px;text-align:center}
.res-ok{text-align:center;display:grid;gap:12px;justify-items:center;padding:20px 0}
.ok-ic{width:64px;height:64px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;font:800 32px var(--f)}
@media (max-width:640px){.res-grid{grid-template-columns:1fr}}

/* ===== PÁGINA DE GRACIAS ===== */
.gracias .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:start;max-width:1200px;margin:0 auto}
.g-card{background:var(--blanco);color:var(--negro);border-radius:var(--r);padding:clamp(24px,4vw,44px);display:grid;gap:14px}
.g-card .kick{color:var(--rojo);margin:0}
.g-card h2{font-size:clamp(48px,6vw,90px);color:var(--negro)}
.g-lead{margin:0;color:#4B423C;font-size:17px;max-width:48ch}
.g-acts{display:flex;flex-wrap:wrap;gap:10px}
.g-acts .wa-btn{text-decoration:none;padding:15px 20px}
.g-acts .btn-blanco{box-shadow:inset 0 0 0 1.5px var(--negro)}
.g-sum{border-top:1px solid #E5DDD4;padding-top:14px;display:grid;gap:8px}
.g-sum .row small{color:#7A6F68}
.g-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#F1E9E1;border-radius:14px;padding:12px 14px;margin-bottom:6px}
.g-meta span{display:grid;font:800 15px/1.2 var(--f)}
.g-meta small{font:600 12px var(--f);color:#7A6F68}
.g-promo{background:var(--rojo);color:#fff;border-radius:var(--r);padding:clamp(22px,3vw,34px);display:grid;gap:18px}
.g-promo .kick{color:rgba(255,255,255,.75);margin:0 0 6px}
.g-promo h3{font-size:clamp(36px,4vw,56px)}
.g-promo p{margin:8px 0 16px}
.g-promo .btn-rojo{background:var(--negro)}
.g-qr{background:#fff;border-radius:14px;padding:12px;justify-self:start}
.g-qr img{width:170px;height:170px}
@media (max-width:980px){.gracias .wrap{grid-template-columns:1fr}.g-meta{grid-template-columns:1fr 1fr}}
.g-app{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:var(--tinta);border-radius:var(--r);padding:20px 24px}
.g-app img{border-radius:16px}
.g-app h3{font-size:30px}
.g-app p{margin:4px 0 0;color:#CFC6BD;font-size:15px}
.g-app[hidden]{display:none}
.pasos{margin:0;padding-left:1.2em;display:grid;gap:10px;font-size:16px}
.check{display:grid!important;grid-template-columns:22px 1fr;gap:10px;align-items:start;font:500 13.5px/1.45 var(--f)!important;color:#4B423C}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--rojo)}
.check a{color:var(--negro);font-weight:700}
@media (max-width:640px){.g-app{grid-template-columns:auto 1fr}.g-app .btn{grid-column:1/-1}}
/* páginas legales */
.legal-page .wrap{max-width:820px}
.legal-doc{background:var(--blanco);color:var(--negro);border-radius:var(--r);padding:clamp(24px,4vw,52px);font-size:16px;line-height:1.7}
.legal-doc h2{font-size:clamp(30px,3.4vw,42px);margin:34px 0 10px}
.legal-doc h2:first-child{margin-top:0}
.legal-doc h3{font-size:24px;margin:22px 0 6px}
.legal-doc table{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0}
.legal-doc th,.legal-doc td{border:1px solid #E1D8CF;padding:8px 10px;text-align:left;vertical-align:top}
.legal-doc th{background:#F1E9E1}
.legal-doc .upd{color:#7A6F68;font-size:13px}
.horario-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.horario-list li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(247,243,238,.14);padding:6px 0}
.horario-list b{text-transform:uppercase;font-family:var(--fd);font-size:20px}
.legal-doc table{display:block;overflow-x:auto;max-width:100%}
.legal-page .wrap{margin:0 auto}
.legal .btn-primary{background:var(--rojo);color:#fff}
.legal .btn-sec{box-shadow:inset 0 0 0 1.5px var(--negro);color:var(--negro);background:none}

/* ======================= v3: NARANJA + TÍTULOS ELEGANTES ======================= */
@font-face{font-family:"Fraunces";src:url(fonts/Fraunces.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(fonts/Fraunces-Italic.woff2) format("woff2");font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:"Mr Dafoe";src:url(fonts/MrDafoe.woff2) format("woff2");font-weight:400;font-display:swap}
:root{--rojo:#C8211B;--naranja-luz:#FF6B5E;--fs:"Fraunces",Georgia,"Times New Roman",serif;--script:"Mr Dafoe","Brush Script MT",cursive}
.btn-rojo:hover,.add:hover{background:#A51A15}
/* Títulos con remates, más pequeños y sin mayúsculas */
.xl,h1,h2,h3,.page-head h1,.sec-top h2,.reco-teaser h2,.punto h2,.cart-head h2,.res-body h3,.g-card h2,.g-promo h3,.g-app h3,.legal h3,.modal-info h3,.bcard h3,.f-top h2,.legal-doc h2,.legal-doc h3,.t5-name,.mc-cat h2,.feat h2,.card h3,.post-hero h1,.prose h2,.related h3.t,.post-cta h3,.b-hero h1{font-family:var(--fs)!important;text-transform:none!important;font-weight:600;letter-spacing:-.015em;line-height:1.02}
.page-head h1{font-size:clamp(46px,7vw,104px);color:var(--blanco)}
.page-head h1 em{font-style:italic;color:var(--rojo)}
.sec-top h2{font-size:clamp(40px,5.4vw,84px)}
.reco-teaser h2,.f-top h2{font-size:clamp(40px,5vw,76px)}
.t5-name{font-size:clamp(22px,2.4vw,34px)}
.cart-head h2{font-size:34px}
.modal-info h3{font-size:clamp(32px,3.6vw,48px)}
.tile .xl{font-size:clamp(28px,2.8vw,44px)}

/* Portada al estilo Moderna */
.hero2 h1{font-family:var(--fs)!important;font-size:clamp(58px,8.6vw,142px);line-height:.92;font-weight:600;text-transform:none;letter-spacing:-.03em}
.hero2 h1 .plus{font-style:italic;font-weight:400;color:var(--rojo)}
.neon{font:400 clamp(34px,4.6vw,76px)/1 var(--script)!important;text-transform:none;letter-spacing:0;color:#FFE9DA;margin:8px 0 0 .06em;transform:rotate(-4deg);transform-origin:left;white-space:nowrap;
  text-shadow:0 0 4px #fff,0 0 12px var(--naranja-luz),0 0 26px var(--rojo),0 0 52px var(--rojo),0 0 90px rgba(200,33,27,.7)}
.hero2 .kick::before{background:var(--rojo)}
.hero2-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font:600 15px var(--f);color:#E9DCCF;animation:up 1s .45s var(--ease) both}
.hero2-meta span{display:inline-flex;align-items:center;gap:6px}
@media (max-width:640px){.hero2 h1{font-size:15vw}.neon{font-size:8.4vw}}

/* Navegación visible en ordenador */
.nav-links{display:none}
@media (min-width:1101px){
  .nav-links{display:flex;gap:2px;margin-left:24px;padding:5px;border-radius:999px;background:rgba(14,11,10,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .nav-links a{text-decoration:none;font:700 14.5px/1 var(--f);padding:11px 15px;border-radius:999px;color:var(--blanco);transition:background .2s,color .2s}
  .nav-links a:hover,.nav-links a[aria-current="page"]{background:var(--blanco);color:var(--negro)}
  .nav-r .btn-blanco{display:none}
}
/* Barra inferior con iconos en el móvil */
.tabbar{display:none}
@media (max-width:820px){
  .mbar{display:none!important}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(14,11,10,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(247,243,238,.12);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px))}
  .tabbar a,.tabbar button{all:unset;cursor:pointer;display:grid;justify-items:center;gap:3px;padding:7px 2px;border-radius:12px;font:700 11.5px/1 var(--f);color:#D9CFC5;text-align:center}
  .tabbar svg{width:24px;height:24px}
  .tabbar .on,.tabbar a[aria-current="page"]{color:var(--blanco)}
  .tabbar .tb-res{background:var(--rojo);color:#fff}
  .order-bar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
  body.has-cart .cookie,.cookie{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  body.has-cart .cookie{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
  footer{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important}
  body.has-cart footer{padding-bottom:calc(180px + env(safe-area-inset-bottom,0px))!important}
  .nav-r .langs,.nav-r .btn,.nav-r .nav-cart{display:none}
}

/* Bloques con texto grande y botón claro */
.tile{justify-content:flex-end;gap:14px}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,11,10,0) 35%,rgba(14,11,10,.82));pointer-events:none}
.tile.t-rojo::after,.tile.t-blanco::after,.tile.t-video::after{display:none}
.tile .tt{font:600 clamp(26px,2.6vw,40px)/1.02 var(--fs);color:var(--blanco);letter-spacing:-.01em}
.t-blanco .tt{color:var(--negro)}
.cta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:var(--blanco);color:var(--negro);border-radius:999px;padding:12px 18px;font:800 14px/1 var(--f);text-transform:uppercase;transition:gap .25s var(--ease),background .25s}
.cta::after{content:"→";transition:transform .25s var(--ease)}
.tile:hover .cta::after{transform:translateX(5px)}
.t-blanco .cta{background:var(--negro);color:var(--blanco)}
.t-rojo .cta{background:var(--negro);color:var(--blanco)}
.t-video .cta{position:absolute;left:18px;bottom:18px}

/* Pie de página: logo pequeño */
.f-logo{display:none}
.f-brand img{height:56px;width:auto;margin-bottom:16px}
.f-top{grid-template-columns:1.2fr 1fr 1fr 1fr}
.f-top h2{font-size:clamp(36px,4vw,60px)}
.f-hor{font-size:15px;line-height:1.5;color:#fff}

/* Reseñas en movimiento */
.g-score{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;text-decoration:none;color:inherit;background:var(--blanco);color:var(--negro);border-radius:999px;padding:10px 18px}
.g-n{font:800 26px/1 var(--fd)}
.g-st{position:relative;color:#D8CFC6;letter-spacing:2px;font-size:18px}
.g-st::before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--p);overflow:hidden;color:#F2A60C}
.g-t{font:700 14px var(--f)}
.rq-wrap{overflow:hidden;margin-top:30px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rq-track{display:flex;gap:14px;width:max-content;animation:rqmove 55s linear infinite}
.rq-wrap:hover .rq-track{animation-play-state:paused}
@keyframes rqmove{to{transform:translateX(calc(-50% - 7px))}}
.rq{width:min(420px,80vw);flex:none;margin:0;background:#fff;color:var(--negro);border-radius:var(--r);padding:22px 24px;display:flex;flex-direction:column;gap:12px}
.rq .st{color:#F2A60C;letter-spacing:3px}
.rq blockquote{margin:0;font:500 italic 19px/1.35 var(--fs)}
.rq figcaption{font-size:13.5px;color:#6E6660}
@media (prefers-reduced-motion:reduce){.rq-track{animation:none;overflow-x:auto}}

/* Primer pedido, zona y avisos */
.regalo{margin:4px 0 0;background:#FDECEA;color:#8E1712;border-radius:10px;padding:8px 10px;font:700 13px var(--f)}
.zona{margin:-4px 0 0;font-size:12.5px;color:#6E6660}
.medias{position:fixed;top:calc(78px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:61;background:var(--blanco);color:var(--negro);border-radius:999px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:10px;font:700 14px var(--f);box-shadow:0 10px 30px rgba(0,0,0,.4);max-width:calc(100vw - 20px)}
.medias button{border:0;cursor:pointer;background:var(--rojo);color:#fff;border-radius:999px;padding:8px 12px;font:800 13px var(--f)}
.medias .x{background:none;color:var(--negro);font-size:18px;padding:4px 8px}
.salida{text-align:center;display:grid;justify-items:center;gap:10px}
.salida .acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}

/* ======================= CARTAS A / B / C ======================= */
.fchip small{opacity:.55;font-size:11px;margin-left:6px}
.pname{all:unset;cursor:pointer;font:600 21px/1.15 var(--fs);color:inherit}
.pname small{font:700 12px var(--f);color:var(--gris);margin-left:4px}
.pname:hover{color:var(--rojo)}
.pprice{font:800 19px/1 var(--fd);white-space:nowrap}
.pdesc{margin:6px 0 0;font-size:14.5px;line-height:1.45;color:#B9AEA4}
.lead-row{display:flex;align-items:baseline;gap:10px}
.dots{flex:1;border-bottom:1.5px dotted rgba(247,243,238,.25);transform:translateY(-5px);min-width:16px}
.pfoot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tg{display:inline-block;font:800 11px/1 var(--f);text-transform:uppercase;letter-spacing:.04em;padding:6px 9px;border-radius:999px;background:rgba(200,33,27,.16);color:#FFB3AD}
.tg.soft{background:rgba(247,243,238,.08);color:#CFC6BD}
.tg.off{background:#3A2F2A;color:#CFC6BD}
.tg.link{border:0;cursor:pointer;background:none;color:var(--naranja-luz);text-decoration:underline;text-underline-offset:3px;padding:6px 2px}
.is-off .pname{text-decoration:line-through;opacity:.55}
.mfoto{border:0;padding:0;cursor:pointer;width:76px;height:76px;border-radius:12px;overflow:hidden;flex:none;background:none}
.mfoto img{width:100%;height:100%;object-fit:cover}
/* A: tarjetas como la Moderna */
.ma-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.ma{display:flex;gap:14px;background:var(--tinta);border-radius:var(--r);padding:18px 20px}
.ma-main{flex:1;min-width:0}
/* B: lista elegante como la Brasa */
.mb-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,56px);align-items:start}
.mb-photo{position:sticky;top:100px;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-height:calc(100svh - 140px)}
.mb-photo img{width:100%;height:100%;object-fit:cover}
.mb-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(14,11,10,.92))}
.mb-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:26px}
.mb-cap b{display:block;font:600 clamp(32px,3.4vw,50px)/1 var(--fs)}
.mb-cap span{color:#D9CFC5}
.mb-list ul{list-style:none;margin:18px 0 0;padding:0}
.mb{padding:18px 0;border-bottom:1px solid rgba(247,243,238,.12)}
.mb-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.mb .pname{font-size:clamp(22px,2.2vw,30px)}
/* C: carta con índice */
.mc-wrap{display:grid;grid-template-columns:240px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.mc-index{position:sticky;top:96px;display:grid;gap:14px}
.mc-search{display:flex;align-items:center;gap:8px;background:var(--tinta);border-radius:999px;padding:0 14px}
.mc-search svg{width:16px;height:16px;opacity:.6}
.mc-search input{all:unset;flex:1;padding:12px 0;font:500 14.5px var(--f);color:var(--blanco)}
.mc-index nav{display:grid;gap:2px}
.mc-index nav a{text-decoration:none;font:600 18px/1 var(--fs);padding:10px 12px;border-radius:10px;color:#CFC6BD;transition:background .2s,color .2s}
.mc-index nav a:hover,.mc-index nav a.on{background:var(--tinta);color:var(--blanco)}
.mc-index nav a.on{box-shadow:inset 3px 0 0 var(--rojo)}
.mc-cat{padding:6px 0 34px;scroll-margin-top:96px}
.mc-cat header{border-bottom:1px solid rgba(247,243,238,.14);padding-bottom:12px;margin-bottom:6px}
.mc-cat h2{font-size:clamp(34px,3.6vw,52px)}
.mc-cat header p{margin:6px 0 0;color:var(--gris)}
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.mc{padding:16px 0;border-bottom:1px dashed rgba(247,243,238,.1)}
.mc-empty{color:var(--gris)}
@media (max-width:980px){
  .ma-grid,.mc-grid{grid-template-columns:1fr}
  .mb-wrap,.mc-wrap{grid-template-columns:1fr}
  .mb-photo{position:relative;top:0;aspect-ratio:16/9}
  .mc-index{position:sticky;top:calc(64px + env(safe-area-inset-top,0px));z-index:6;background:var(--negro);padding:8px 0}
  .mc-index nav{display:flex;overflow-x:auto;scrollbar-width:none;gap:6px}
  .mc-index nav::-webkit-scrollbar{display:none}
  .mc-index nav a{flex:none;font-size:15px;background:var(--tinta)}
}
/* Comparador de cartas */
.cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cmp a{display:grid;gap:8px;text-decoration:none;background:var(--tinta);border-radius:var(--r);padding:24px}
.cmp b{font:600 34px/1 var(--fs)}
.cmp span{color:#CFC6BD}
.cmp em{font-style:normal;color:var(--naranja-luz);font-weight:800}
@media (max-width:820px){.cmp{grid-template-columns:1fr}}
.carta-meta{margin:14px 0 0;color:var(--gris);font-size:14px}
.precio-medio{margin:26px 0 0;color:#CFC6BD;font-size:16px}
.precio-medio b{color:var(--blanco)}
.nos-intro{font:500 clamp(24px,2.6vw,38px)/1.25 var(--fs);max-width:30ch;margin:0}
.revs .g-score{background:var(--negro);color:var(--blanco)}
.revs .g-st{color:#5a504a}
.revs{padding-bottom:clamp(60px,8vw,110px)}
.tile .horario-list{margin-top:6px}
.tile .horario-list li{border-color:rgba(255,255,255,.25)}
.tile .horario-list b{font-size:16px}
.ct-d .tile{min-height:280px}
.b-hero .neon{white-space:normal;font-size:clamp(30px,4vw,56px)!important}
.ct-d .tt{overflow-wrap:anywhere}.ct-d .t-rojo .tt{font-size:clamp(22px,2.4vw,34px)}

/* ======================= v5 ======================= */
/* Secciones de la carta: naranja, deslizables y fijas */
.fchips.sticky-chips{position:sticky;top:calc(76px + env(safe-area-inset-top,0px));z-index:7;background:var(--negro);padding:10px 0;margin:0;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;-webkit-overflow-scrolling:touch}
.fchips.sticky-chips::-webkit-scrollbar{display:none}
.fchip{flex:none;background:rgba(200,33,27,.18);color:#FFB3AD}
.fchip[aria-pressed="true"]{background:var(--rojo);color:#fff}
@media (max-width:820px){.fchips.sticky-chips{top:calc(64px + env(safe-area-inset-top,0px))}}
.sub-sep{font:600 26px/1.1 var(--fs)!important;margin:26px 0 4px;padding-bottom:8px;border-bottom:1px solid rgba(200,33,27,.45);color:var(--blanco)}
.pvar{margin:6px 0 0;font-size:14px;color:#E3D7CC}
.pvar b{color:var(--blanco)}
.ma-grid{margin-top:14px}
/* Ventana del plato: opciones, extras y alérgenos */
.opts{display:grid;gap:6px}
.opt{display:grid!important;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;background:#F1E9E1;border-radius:10px;padding:10px 12px;font:600 14px var(--f);color:var(--negro);cursor:pointer}
.opt input{width:18px;height:18px;accent-color:var(--rojo);margin:0}
.opt b{color:var(--rojo)}
.al-box{margin:4px 0 0;font-size:13.5px;color:#4B423C}
.al-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.al-chip{background:#F1E9E1;border-radius:999px;padding:5px 10px;font:700 12.5px var(--f);color:var(--negro)}
/* Tabla de alérgenos */
.al-intro{color:#CFC6BD;margin:0 0 12px}
.al-filtro{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.al-filtro button{border:0;cursor:pointer;border-radius:999px;padding:9px 12px;font:700 13px var(--f);background:var(--tinta);color:var(--blanco)}
.al-filtro button[aria-pressed="true"]{background:var(--rojo)}
.al-wrap{overflow-x:auto;border-radius:var(--r);background:var(--blanco)}
.al-tabla{border-collapse:collapse;width:100%;min-width:900px;color:var(--negro);font-size:13.5px}
.al-tabla th{position:sticky;top:0;background:#F1E9E1;padding:8px 4px;font-weight:700;text-align:center;vertical-align:bottom}
.al-tabla th:first-child{text-align:left;padding-left:14px;min-width:220px}
.al-tabla th span{display:block;font-size:20px}
.al-tabla th small{display:block;font-size:10.5px;line-height:1.1;margin-top:3px}
.al-tabla td{border-top:1px solid #EAE2DA;padding:7px 4px;text-align:center;color:var(--rojo);font-size:16px}
.al-tabla td:first-child{text-align:left;padding-left:14px;color:var(--negro);font-size:14px;font-weight:600}
.al-tabla td:first-child small{color:#8A7F78;font-weight:500}
.al-tabla .al-cat td{background:var(--negro);color:var(--blanco);font:600 17px var(--fs);text-align:left;padding:10px 14px}
.al-tabla tr.al-no td:first-child{color:#B42318;text-decoration:line-through}
.al-tabla tr.al-ok td:first-child::after{content:" ✓";color:#1E7A43}
.al-tabla tr.al-cons td:first-child{color:#8A7F78}
.al-nota{color:var(--gris);font-size:13px;margin-top:14px}
/* Favoritos de la casa */
.favs-sec{padding-top:clamp(40px,6vw,80px)}
.favs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.fav{border:0;padding:0;cursor:pointer;text-align:left;background:var(--tinta);border-radius:var(--r);overflow:hidden;color:var(--blanco);display:flex;flex-direction:column;transition:transform .3s var(--ease)}
.fav:hover{transform:translateY(-4px)}
.fav-ph{aspect-ratio:1;background:#26201C center/cover;display:grid;place-items:center}
.fav-ph img{width:42%;opacity:.8}
.fav-tx{padding:14px;display:grid;gap:3px}
.fav-tx b{font:600 18px/1.1 var(--fs)}
.fav-tx small{color:var(--gris);font-size:12.5px}
.fav-tx em{font-style:normal;font:800 16px var(--fd);color:var(--naranja-luz)}
@media (max-width:1100px){.favs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.favs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.fav{flex:none;width:62vw;scroll-snap-align:start}}
.dest-h{font-size:clamp(52px,7vw,112px)!important;color:var(--rojo)}
/* Botones de los bloques blancos en naranja */
.t-blanco .cta{background:var(--rojo)!important;color:#fff!important}
/* Pie de página en vertical */
.f-col{max-width:720px;margin:0 auto;padding:0 var(--pad) 36px;display:grid;gap:22px;text-align:center;justify-items:center}
.f-col h4{margin:0 0 6px;font:800 14px var(--f);text-transform:uppercase;letter-spacing:.08em;color:var(--negro)}
.f-col p{margin:0;font-size:16px;line-height:1.55}
.f-col a{text-decoration:none}
.f-col a:hover{color:var(--negro)}
.f-logo-s{height:58px;width:auto}
.f-col .redes{justify-content:center}
.f-legal{font-size:14px!important}
.f-bot{justify-content:center;text-align:center}
.f-top,.f-logo{display:none!important}
/* Bizum, lista del local y vista para el camarero */
.bizum{margin:8px 0 0;background:#E8F3FF;color:#0B3E71;border-radius:10px;padding:10px 12px;font:600 14px/1.45 var(--f)}
.lista-nota{margin:8px 0 0;font-size:13px;color:#6E6660;background:#F1E9E1;border-radius:10px;padding:8px 10px}
.wa-btn.camarero{background:var(--rojo);color:#fff}
.vaciar{all:unset;cursor:pointer;font-size:13px;text-align:center;color:#6E6660;text-decoration:underline}
.camarero-view ul{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}
.camarero-view li{font:600 clamp(22px,4vw,30px)/1.2 var(--fs);border-bottom:1px solid #E5DDD4;padding-bottom:8px}
.camarero-view li small{display:block;font:600 15px var(--f);color:#6E6660}
.cv-total{font-size:17px}
/* Avisos del menú del local */
.salon-promo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.salon-promo[hidden]{display:none}
.sp-card{all:unset;cursor:pointer;display:flex;gap:12px;align-items:center;background:var(--tinta);border-radius:14px;padding:14px 16px;color:var(--blanco);font-size:14px}
.sp-card span:first-child{font-size:26px}
.sp-card b{display:block;font:600 17px var(--fs)}
@media (max-width:640px){.salon-promo{grid-template-columns:1fr}}

/* ======================= v6 ======================= */
.rq-wrap{display:grid;gap:14px}
.rq-track.rev{animation-direction:reverse;animation-duration:62s}
.bizum{display:grid;gap:8px;background:#E8F3FF;color:#0B3E71;border-radius:12px;padding:12px;margin-top:8px}
.bz-t{margin:0;font:800 14px var(--f)}
.bz-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border-radius:10px;padding:8px 8px 8px 12px}
.bz-row span{display:grid;line-height:1.2}
.bz-row small{font:600 11.5px var(--f);color:#5A7090}
.bz-row b{font:800 17px var(--f);color:#0B3E71}
.bz-copy{border:0;cursor:pointer;background:#0B5CAD;color:#fff;border-radius:999px;padding:9px 14px;font:800 13px var(--f);white-space:nowrap}
.bz-copy.ok{background:#1E7A43}
.g-bizum{grid-column:1/-1}
.home-chat{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,60px);align-items:center}
.home-chat .chat-log{height:min(46vh,430px)}
@media (max-width:980px){.home-chat{grid-template-columns:1fr}}
.version{opacity:.55;font-size:11px}

/* ======================= v7 ======================= */
/* Selector En el local / A domicilio */
.modo-sel{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--tinta);border-radius:999px;padding:5px;margin:0 0 18px}
.modo-sel button{border:0;cursor:pointer;border-radius:999px;padding:12px 20px;font:800 15px/1 var(--f);background:none;color:#D9CFC5}
.modo-sel button[aria-pressed="true"]{background:var(--rojo);color:#fff}
[data-solo-domicilio][hidden],[data-solo-local][hidden]{display:none}
@media (max-width:640px){.modo-sel{display:grid;width:100%}.modo-sel button{padding:13px 8px;font-size:14px}}
/* Accesos a separadores dentro de una sección */
.sub-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px 0 6px;margin-top:6px}
.sub-nav::-webkit-scrollbar{display:none}
.sub-nav button{flex:none;border:1px solid rgba(200,33,27,.5);background:none;color:#FFB3AD;border-radius:999px;padding:8px 12px;font:700 12.5px var(--f);cursor:pointer}
.sub-nav button:hover{background:rgba(200,33,27,.18)}
/* Asistente con foto del local */
.hc-foto{position:relative;min-height:440px;border-radius:var(--r);overflow:hidden;background:center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,3vw,36px);isolation:isolate}
.hc-foto::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,11,10,.1) 20%,rgba(14,11,10,.9))}
.hc-foto h2{font-size:clamp(38px,4.6vw,68px)!important;margin:6px 0 10px}
.hc-foto p{color:#E9DCCF;max-width:46ch;margin:0}
@media (max-width:980px){.hc-foto{min-height:300px}}
/* Pie: columnas en ordenador, centrado en el móvil */
@media (min-width:821px){
  .f-col{max-width:none;grid-template-columns:auto 1fr 1fr 1fr 1fr;align-items:start;text-align:left;justify-items:start;gap:34px;padding:0 var(--pad) 40px}
  .f-col .redes{justify-content:flex-start}
  .f-bot{justify-content:space-between;text-align:left}
}
/* Aviso de cookies: compacto y siempre con los botones a la vista */
.cookie{max-height:calc(100dvh - 200px);overflow:auto}
@media (max-width:820px){
  .cookie{left:10px;right:10px;padding:14px 16px;border-radius:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}
  body.has-cart .cookie{bottom:calc(156px + env(safe-area-inset-bottom,0px))!important}
  .cookie p{font-size:13px;margin-bottom:10px}
  .cookie p::before{font-size:18px;margin-bottom:4px}
  .cookie-acts .btn{padding:.75em 1.1em}
}
.cookie:not(.on){visibility:hidden;pointer-events:none}
@media (min-width:1101px){.nav-r .btn-blanco{display:inline-flex}}
@media (max-width:820px){
  .cookie,body.has-cart .cookie{top:calc(72px + env(safe-area-inset-top,0px));bottom:auto!important;transform:translateY(-140%)}
  .cookie.on{transform:none}
}
@media (max-width:820px){body .cookie.on,body.has-cart .cookie.on{transform:none}}

/* ======================= v8 ======================= */
.f-legal{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}
.nos-texto{max-width:860px}
.nos-texto p{font-size:18px;line-height:1.7;color:#E3D7CC;margin:0 0 18px}
.nos-texto .nos-intro{font:500 clamp(24px,2.6vw,36px)/1.3 var(--fs);color:var(--blanco);max-width:none}
.qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.qa{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:6px;align-content:start;background:var(--tinta);border-radius:var(--r);padding:24px;color:var(--blanco);transition:transform .25s var(--ease),background .25s}
.qa:hover{transform:translateY(-3px);background:#2A221E}
.qa span{font-size:34px}
.qa b{font:600 24px/1.15 var(--fs)}
.qa small{color:#CFC6BD;font-size:14.5px}
.cv-ok{margin-top:14px;justify-self:start}
@media (max-width:980px){.qa-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.qa-grid{grid-template-columns:1fr}}
.camarero-view{padding:clamp(26px,4vw,44px)}
.camarero-view .btn-primary{background:var(--rojo);color:#fff}
/* v10: último paso y "se te olvidó algo" */
.g-paso{margin:0;background:#E9F9EF;border:2px solid #25D366;color:#0E5A2C;border-radius:14px;padding:14px 16px;font-size:16px}
.g-wa{font-size:17px;padding:17px 22px}
.olvide{all:unset;cursor:pointer;justify-self:start;font:800 15px var(--f);color:var(--rojo);text-decoration:underline;text-underline-offset:4px;padding:4px 0}

/* ======================= v11 ======================= */
/* "Auténticos amantes del grill" sin efecto neón */
.neon{text-shadow:none!important;animation:none!important;color:#F7F3EE!important;opacity:1!important}
/* Pago en efectivo */
.efectivo{display:grid;gap:8px;margin-top:10px;background:#F1E9E1;border-radius:12px;padding:12px}
.efectivo label:not(.check){display:grid;gap:5px;font:700 13px var(--f);color:#4B423C}
.ef-row{display:flex;align-items:center;gap:8px}
.ef-row input{flex:1;max-width:160px}
.ef-row b{font:800 18px var(--f);color:var(--negro)}
.efectivo small{color:#6E6660;font-size:12.5px}

/* ======================= v12: pop-up de promoción ======================= */
.promo{position:fixed;inset:0;z-index:90;background:rgba(14,11,10,.6);display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .35s}
.promo.on{opacity:1}
.promo-in{position:relative;width:min(820px,100%);display:grid;grid-template-columns:1fr 1fr;background:var(--blanco);color:var(--negro);border-radius:var(--r);overflow:hidden;transform:translateY(24px) scale(.97);transition:transform .45s var(--ease);box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.promo.on .promo-in{transform:none}
.promo-foto{position:relative;min-height:380px;background:#000 center/cover}
.promo-tag{position:absolute;top:16px;left:16px;background:var(--rojo);color:#fff;border-radius:999px;padding:8px 14px;font:800 13px/1 var(--f);letter-spacing:.08em}
.promo-tx{padding:clamp(22px,3.4vw,38px);display:flex;flex-direction:column;gap:10px;justify-content:center}
.promo-tx h3{font-size:clamp(34px,4vw,48px)!important;margin:0}
.promo-frase{margin:0;font:500 italic 17px/1.4 var(--fs);color:#4B423C}
.promo-ing{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;font:600 15px var(--f)}
.promo-precio{margin:8px 0 4px;font:800 40px/1 var(--fd);color:var(--rojo)}
.promo-acts{display:flex;flex-wrap:wrap;gap:8px}
.promo-acts .btn-linea{color:var(--negro)}
.promo-x{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(14,11,10,.75);color:#fff;font-size:22px;cursor:pointer}
.promo-no{all:unset;cursor:pointer;align-self:flex-start;font-size:13px;color:#6E6660;text-decoration:underline;margin-top:4px}
@media (max-width:700px){
  .promo{place-items:end center;padding:0}
  .promo-in{grid-template-columns:1fr;border-radius:22px 22px 0 0;max-height:92dvh;overflow:auto;transform:translateY(100%)}
  .promo-foto{min-height:0;aspect-ratio:4/3}
  .promo-tx{padding:20px 20px calc(22px + env(safe-area-inset-bottom,0px))}
  .promo-tx h3{font-size:34px!important}
  .promo-precio{font-size:34px}
}

/* ======================= v13 ======================= */
.pausa-aviso{margin:0 0 8px;background:#FFF4D6;color:#5C4400;border-radius:10px;padding:10px 12px;font:600 13.5px/1.4 var(--f)}
/* Pop-up compacto en el móvil */
@media (max-width:700px){
  .promo{background:rgba(14,11,10,.45);place-items:end center;padding:0 10px calc(10px + env(safe-area-inset-bottom,0px))}
  .promo-in{grid-template-columns:116px 1fr;border-radius:18px;max-height:none;overflow:hidden;transform:translateY(120%)}
  .promo-foto{aspect-ratio:auto;min-height:100%}
  .promo-tag{top:8px;left:8px;padding:5px 9px;font-size:10.5px}
  .promo-tx{padding:12px 12px 12px 14px;gap:4px}
  .promo-tx h3{font-size:21px!important;line-height:1.05;padding-right:26px}
  .promo-frase{display:none}
  .promo-ing{display:flex;flex-wrap:wrap;gap:3px 8px;margin:2px 0 0;font-size:12px}
  .promo-precio{font-size:22px;margin:4px 0 2px}
  .promo-acts .btn{padding:9px 13px;font-size:12.5px}
  .promo-acts .btn-linea{display:none}
  .promo-x{top:6px;right:6px;width:30px;height:30px;font-size:17px}
  .promo-no{font-size:11.5px;margin-top:2px}
}
.ma-search{display:flex;align-items:center;gap:10px;background:#fff;color:#0E0B0A;border-radius:999px;padding:0 16px;margin:0 0 12px;max-width:520px}
.ma-search svg{width:18px;height:18px;flex:none;color:#6E6660}
.ma-search input{flex:1;border:0;background:none;font:600 15px var(--f);padding:13px 0;color:inherit;min-width:0}
.ma-search input:focus{outline:none}
.ma-search:focus-within{outline:2px solid var(--rojo)}
.mc-empty{padding:20px 0;opacity:.8}
/* v14: seguimiento del pedido */
.g-seg{margin:18px 0 6px;background:#F1E9E1;border-radius:14px;padding:14px 16px;color:#0E0B0A}
.g-seg-t{margin:0 0 10px;font:600 14px/1.4 var(--f)}
.g-seg-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;counter-reset:s}
.g-seg-l li{display:grid;justify-items:center;gap:6px;text-align:center;font:700 11.5px/1.2 var(--f);color:#8B827B;position:relative}
.g-seg-l li span{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid #D8CFC6;position:relative;z-index:1}
.g-seg-l li::before{content:"";position:absolute;top:10px;left:-50%;width:100%;height:2px;background:#D8CFC6}
.g-seg-l li:first-child::before{display:none}
.g-seg-l li.hecho,.g-seg-l li.ahora{color:#0E0B0A}
.g-seg-l li.hecho span{background:var(--rojo);border-color:var(--rojo)}
.g-seg-l li.hecho::before,.g-seg-l li.ahora::before{background:var(--rojo)}
.g-seg-l li.ahora span{border-color:var(--rojo);box-shadow:0 0 0 4px rgba(200,33,27,.18);animation:segp 1.6s infinite}
@keyframes segp{50%{box-shadow:0 0 0 8px rgba(200,33,27,.05)}}
.g-seg small{display:block;margin-top:10px;color:#6E6660;font-size:12.5px}

/* ======================= v17 ======================= */
.f-credit{opacity:.75;font-size:12.5px}
.f-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.f-credit a:hover{opacity:1;color:#fff}
.tg.web{background:var(--rojo);color:#fff}
.agotado-tag.web{background:var(--rojo);color:#fff;text-decoration:none;border-radius:999px;padding:7px 12px;font:800 12px/1 var(--f);text-transform:uppercase;white-space:nowrap}
.excl-web{display:grid;gap:10px;background:#FDECEA;color:#5A0F0C;border-radius:14px;padding:14px 16px}
.excl-web p{margin:0;font-size:14px;line-height:1.45}
.excl-web .btn{justify-self:start}
.res-full{color:#8E1712;font-size:13px;font-weight:700;margin:6px 0 0}
.g-resena{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:#0E0B0A;color:#fff;border-radius:999px;padding:10px 16px;font:800 13px var(--f);text-decoration:none;text-transform:uppercase}

.olvide-off{margin:14px 0 0;font-size:14px;line-height:1.45;color:#5E5650}
.olvide-off a{color:var(--rojo);font-weight:800;text-decoration:none}

/* v18 · tarjetas de reseña */
.resena-card{margin-top:14px;padding:14px 16px;border-radius:14px;background:#F7F3EE;border:1px solid rgba(14,11,10,.12);color:#0E0B0A}
.resena-card b{font-size:17px}.resena-card p{margin:4px 0 0;font-size:14.5px;line-height:1.4}
.cv-resena{margin:12px 0 0;font-size:13px;opacity:.8;text-align:center}
.resena-mesa{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:90;max-width:420px;margin:0 auto;background:#0E0B0A;color:#F7F3EE;border-radius:16px;padding:16px 18px;box-shadow:0 12px 32px rgba(0,0,0,.35);transform:translateY(130%);transition:transform .35s ease}
.resena-mesa.on{transform:none}.resena-mesa b{font-size:17px}.resena-mesa p{margin:4px 0 0;font-size:14.5px;line-height:1.4;opacity:.9}
.resena-mesa .g-resena{background:#C8211B}
.resena-mesa .rm-x{position:absolute;top:6px;right:8px;background:none;border:0;color:inherit;font-size:24px;line-height:1;padding:6px;cursor:pointer;opacity:.7}
/* v20 · aviso de cookies por categorías */
.cookie-cfg:not([hidden]){display:grid;gap:8px;margin:0 0 14px}
.ck-op{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;cursor:pointer}
.ck-op input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:#C8211B}
.cookie-acts{flex-wrap:wrap}

/* v21 · foto del plato más grande en el móvil, entera (sin recortar) y a pantalla completa al tocarla */
.modal-media.foto{overflow:hidden}
.modal-media.foto img{cursor:zoom-in;position:relative;z-index:1}
.mm-zoom{position:absolute;right:12px;bottom:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(14,11,10,.7);color:#fff;font-size:20px;cursor:pointer}
@media (max-width:980px){
  .modal-media.foto{aspect-ratio:auto;height:min(62svh,620px)}
  .modal-media.foto::before{content:"";position:absolute;inset:-20px;background:var(--bg) center/cover;filter:blur(18px) brightness(.55);transform:scale(1.1)}
  .modal-media.foto img{object-fit:contain;height:100%}
}
.fotofull{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.94);display:grid;place-items:center;overflow:auto;opacity:0;transition:opacity .25s}
.fotofull.on{opacity:1}
.fotofull img{max-width:100vw;max-height:100dvh;object-fit:contain;cursor:zoom-in}
.fotofull.zoom{place-items:start}
.fotofull.zoom img{max-width:none;max-height:none;width:220vw;cursor:zoom-out}
.ff-x{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#000;font-size:24px;cursor:pointer;z-index:2}
.ff-tip{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);color:#fff;font-size:13px;opacity:.7;pointer-events:none}
.fotofull.zoom .ff-tip{display:none}
/* v21 · código promocional en el carrito */
.cupon{margin:4px 0 2px;padding:12px 14px;border-radius:14px;background:rgba(200,33,27,.06);border:1px dashed rgba(200,33,27,.45)}
.cupon label{display:grid;gap:6px;font-weight:700;font-size:14px}
.cupon-row{display:flex;gap:8px}
.cupon-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em}
.cupon-row .btn{padding:.7em 1em;white-space:nowrap}
.cupon-ok{margin:0;font-size:14.5px;line-height:1.45}
.cupon-ok small{opacity:.8}
.cupon-x{border:0;background:none;color:#C8211B;font:700 13px var(--f);text-decoration:underline;cursor:pointer;padding:0 0 0 6px}
.cupon-err{margin:6px 0 0;color:#C8211B;font-size:13.5px;font-weight:600}
.cupon-regalo{margin-top:8px}
.resumen .row.desc span:last-child{color:#1F7A3E;font-weight:700}
/* v21 · pop-up de código */
.promo-codigo{display:flex;align-items:center;gap:10px;margin:6px 0 4px;padding:10px 12px;border:2px dashed #C8211B;border-radius:12px}
.promo-codigo span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.promo-codigo b{font:800 24px/1 var(--fd);letter-spacing:.06em;flex:1}
.promo-codigo button{border:0;background:#0E0B0A;color:#fff;border-radius:999px;padding:7px 12px;font:700 12.5px var(--f);cursor:pointer}
.promo-foto.sin-foto{background:#C8211B url(img/emblem_cream.png) center/52% no-repeat}
@media (max-width:700px){
  .promo-t-aviso .promo-frase,.promo-t-codigo .promo-frase,.promo-t-descuento .promo-frase{display:block;font-size:14px;line-height:1.35}
  .promo-codigo{padding:7px 9px;gap:7px}.promo-codigo b{font-size:20px}
}

/* v22 · IVA incluido */
.iva{display:block;font:500 10.5px/1.1 var(--f,inherit);letter-spacing:.02em;text-transform:none;opacity:.62;margin-top:2px}
.pprice .iva{text-align:right}.modal-price .iva{display:inline;margin-left:6px;font-size:12px}.row.total .iva{display:inline;margin-left:4px;font-size:11px}
.ped-price .iva{display:inline;margin-left:4px}
