/* ==========================================================================
   Del Barrio Valpo — estilos del tema
   ========================================================================== */
/* Tipografías alojadas en el tema (OFL) — sin dependencia de Google Fonts */
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/archivo-black-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-latin-700-normal.woff2') format('woff2');}
:root{
  --black:#0a0a0a;
  --white:#ffffff;
  --gray:#8a8a8a;
  --line:#2a2a2a;
  --gold:#e0b84a;
  --panel:#111111;
  --font-display:'Archivo Black',sans-serif;
  --font-body:'Inter',sans-serif;
  --header-h:91px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--white);font-family:var(--font-body);-webkit-font-smoothing:antialiased;}
img{max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;}
.screen-reader-text:focus{background:var(--white);color:var(--black);clip:auto!important;clip-path:none;display:block;height:auto;left:8px;top:8px;padding:12px 18px;width:auto;z-index:100000;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- Botones y etiquetas ---------- */
.btn{display:inline-block;padding:16px 34px;font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;border:1px solid var(--white);cursor:pointer;line-height:1.2;transition:background .2s,border-color .2s,color .2s;}
.btn-solid{background:var(--white);color:var(--black);}
.btn-solid:hover{background:var(--gold);border-color:var(--gold);}
.btn-outline{background:transparent;color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,.08);}
.tag{font-size:11px;letter-spacing:4px;color:var(--gold);font-weight:700;text-transform:uppercase;}
.tag.is-block{display:block;margin-bottom:10px;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;background:var(--black);z-index:50;border-bottom:1px solid var(--line);}
.admin-bar .site-header{top:32px;}
@media(max-width:782px){.admin-bar .site-header{top:46px;}}
@media(max-width:600px){.admin-bar .site-header{top:0;}}
.nav{display:flex;align-items:center;justify-content:space-between;padding:5px 40px;max-width:1280px;margin:0 auto;}
.logo{display:flex;align-items:center;}
.logo img{height:80px;width:auto;display:block;}
.foot-logo{height:78px;width:auto;display:block;margin-bottom:20px;}
nav.links ul{display:flex;gap:36px;list-style:none;}
nav.links a{font-size:1rem;letter-spacing:2px;font-weight:600;color:#d8d8d8;transition:color .2s;}
nav.links a:hover{color:var(--white);}
nav.links .current-menu-item>a,nav.links .current_page_item>a{color:var(--gold);}
.btn-order{border:1px solid var(--white);padding:10px 20px;font-size:1rem;letter-spacing:2px;font-weight:700;transition:background .2s,color .2s;}
.btn-order:hover{background:var(--white);color:var(--black);}

/* Menú móvil */
.menu-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer;}
.menu-toggle svg{width:28px;height:28px;stroke:var(--white);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.menu-overlay.show{opacity:1;pointer-events:auto;}
.mobile-menu{position:fixed;top:0;right:0;height:100%;width:78%;max-width:320px;background:var(--black);border-left:1px solid var(--line);z-index:70;transform:translateX(100%);transition:transform .35s ease;display:flex;flex-direction:column;padding:90px 32px 40px;gap:2px;overflow-y:auto;visibility:hidden;}
.mobile-menu.open{transform:translateX(0);visibility:visible;}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;}
.mobile-menu ul a{display:block;padding:18px 2px;font-size:14px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;color:#d8d8d8;border-bottom:1px solid var(--line);}
.mobile-menu ul a:hover,.mobile-menu .current-menu-item>a{color:var(--gold);}
.mobile-menu .menu-close{position:absolute;top:26px;right:26px;background:none;border:none;cursor:pointer;padding:6px;}
.mobile-menu .menu-close svg{width:24px;height:24px;stroke:var(--white);fill:none;stroke-width:1.6;stroke-linecap:round;}
.mobile-menu .btn-order-mobile{margin-top:24px;text-align:center;border:1px solid var(--white);padding:15px;font-size:12px;letter-spacing:2px;font-weight:700;text-transform:uppercase;}
body.menu-is-open{overflow:hidden;}

/* ---------- Hero portada ---------- */
.hero{position:relative;height:88vh;min-height:560px;overflow:hidden;}
.hero>img{width:100%;height:100%;object-fit:cover;filter:brightness(0.55) contrast(1.05);display:block;}
.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.hero-copy .eyebrow{font-size:12px;letter-spacing:5px;color:var(--gold);font-weight:700;margin-bottom:18px;text-transform:uppercase;}
.hero-copy h1{font-family:var(--font-display);font-weight:400;font-size:clamp(38px,7vw,72px);line-height:1.02;text-transform:uppercase;max-width:900px;}
.hero-copy p{margin-top:20px;max-width:560px;color:#d8d8d8;font-size:16px;line-height:1.6;}
.hero-ctas{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}

/* ---------- Hero interior ---------- */
.page-hero{position:relative;height:52vh;min-height:360px;overflow:hidden;background:#111;}
.page-hero--short{height:46vh;min-height:320px;}
.page-hero>img{width:100%;height:100%;object-fit:cover;filter:brightness(0.4) contrast(1.05);display:block;}
.page-hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.page-hero-copy h1{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,6vw,64px);text-transform:uppercase;margin-top:14px;line-height:1.05;}
.page-hero-copy p{margin-top:16px;max-width:600px;color:#d8d8d8;font-size:15px;line-height:1.6;}

/* ---------- Accesos rápidos ---------- */
.quick{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.quick a,.quick .quick-item{padding:38px 30px;border-left:1px solid var(--line);text-align:center;transition:background .2s;}
.quick>*:first-child{border-left:none;}
.quick a:hover{background:#141414;}
.quick .icon{display:flex;align-items:center;justify-content:center;height:34px;}
.icon svg{width:30px;height:30px;stroke:var(--gold);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.quick h3{font-family:var(--font-display);font-weight:400;font-size:18px;margin-top:16px;text-transform:uppercase;letter-spacing:1px;}
.quick p{margin-top:8px;color:var(--gray);font-size:13px;line-height:1.5;}

/* ---------- Split imagen / texto ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;border-top:1px solid var(--line);}
.split>img,.split>.split-media{width:100%;height:100%;object-fit:cover;display:block;min-height:460px;filter:grayscale(.15) contrast(1.05);}
.split .copy{padding:70px 60px;}
.split.reverse>img,.split.reverse>.split-media{order:2;}
.split.reverse .copy{order:1;}
.split h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.4vw,44px);text-transform:uppercase;margin:16px 0 20px;line-height:1.05;}
.split p{color:#c9c9c9;font-size:15px;line-height:1.75;max-width:480px;}
.split .btn{margin-top:28px;}

/* ---------- Grilla de platos (portada) ---------- */
.strip{padding:90px 0;text-align:center;border-top:1px solid var(--line);}
.strip .tag{display:block;margin-bottom:10px;}
.strip h2{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,4vw,52px);text-transform:uppercase;margin-bottom:50px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);}
.grid4 figure{position:relative;overflow:hidden;background:#000;aspect-ratio:1;}
.grid4 img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .5s;opacity:.85;display:block;}
.grid4 figure:hover img{transform:scale(1.08);opacity:1;}
.grid4 figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;text-align:left;}
.grid4 a{display:block;height:100%;}

/* ---------- Instagram (plugin) ---------- */
.instafeed{background:var(--panel);padding:90px 0;border-top:1px solid var(--line);}
.instafeed h2{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,5vw,60px);text-transform:uppercase;text-align:center;letter-spacing:1px;}
.instafeed .tag{display:block;text-align:center;margin-bottom:10px;}
.instafeed .sub{text-align:center;color:var(--gray);font-size:13px;margin:14px auto 46px;max-width:640px;padding:0 20px;}
.instafeed .follow{text-align:center;margin-top:46px;}
.plugin-slot{max-width:1280px;margin:0 auto;}
.instafeed #sb_instagram{padding-bottom:0!important;}
.instafeed #sb_instagram .sb_instagram_header,.instafeed #sb_instagram .sbi_header_text h3{color:var(--white);}

/* ---------- Reseñas Google (plugin) ---------- */
.reviews{padding:90px 0;border-top:1px solid var(--line);text-align:center;}
.reviews .tag{display:block;margin-bottom:10px;}
.reviews h2{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,5vw,60px);text-transform:uppercase;letter-spacing:1px;margin-bottom:50px;}
.reviews .plugin-slot{padding:0 20px;text-align:left;}

/* Aviso solo visible para administradores cuando falta el plugin */
.admin-notice-slot{max-width:720px;margin:0 auto;border:1px dashed var(--gold);border-radius:8px;padding:22px 26px;color:#d8d8d8;font-size:14px;line-height:1.6;text-align:left;background:rgba(224,184,74,.06);}
.admin-notice-slot strong{color:var(--gold);}
.admin-notice-slot code{background:#000;padding:2px 6px;border-radius:3px;font-size:12px;}

/* ---------- Carta ---------- */
.catnav{position:sticky;top:var(--catnav-top,91px);z-index:40;background:var(--panel);border-bottom:1px solid var(--line);}
.catnav .wrap{padding:6px 16px;display:flex;flex-wrap:wrap;gap:2px 6px;justify-content:center;}
.catnav a{padding:14px;font-size:11.5px;letter-spacing:1px;font-weight:700;text-transform:uppercase;color:#c9c9c9;border-bottom:2px solid transparent;white-space:nowrap;text-align:center;}
.catnav a:hover{color:var(--white);}
.catnav a.active{color:var(--gold);border-bottom-color:var(--gold);}
.menu-section{padding:70px 40px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--catnav-top,91px) + 60px);}
.menu-section .head{max-width:900px;margin:0 auto 40px;text-align:center;}
.menu-section h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.6vw,42px);text-transform:uppercase;margin-top:10px;}
.menu-section .desc{color:var(--gray);font-size:14px;margin-top:12px;line-height:1.6;}
.dish-list{max-width:920px;margin:0 auto;}
.dish-row{display:flex;gap:22px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--line);}
.dish-row .thumb{width:68px;height:68px;border-radius:6px;object-fit:cover;flex-shrink:0;filter:grayscale(.1) contrast(1.05);}
.dish-row .thumb.placeholder{background:#141414;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);}
.dish-row .thumb.placeholder svg{width:26px;height:26px;stroke:#3a3a3a;fill:none;stroke-width:1.3;}
.dish-row .info{flex:1;}
.dish-row .info-top{display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
.dish-row h3{font-family:var(--font-display);font-weight:400;font-size:15px;text-transform:uppercase;letter-spacing:.4px;}
.dish-row .price{font-family:var(--font-display);color:var(--gold);font-size:15px;white-space:nowrap;}
.dish-row p{color:var(--gray);font-size:13.5px;margin-top:6px;line-height:1.55;max-width:600px;}
.dish-row .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.dish-row .badge{font-size:10px;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--line);color:#bdbdbd;padding:3px 8px;border-radius:20px;}
.dish-row .badge.is-gold{border-color:var(--gold);color:var(--gold);}
.empty-note{text-align:center;color:var(--gray);padding:60px 20px;}

/* ---------- CTA banner ---------- */
.cta-banner{position:relative;padding:90px 40px;text-align:center;border-top:1px solid var(--line);background:var(--panel);}
.cta-banner.has-bg{background:linear-gradient(rgba(10,10,10,.82),rgba(10,10,10,.88)),var(--bg) center/cover no-repeat;}
.cta-banner h2{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,3.6vw,42px);text-transform:uppercase;margin:14px 0 20px;}
.cta-banner p{color:#c9c9c9;max-width:520px;margin:0 auto 28px;line-height:1.6;}
.cta-banner .cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ---------- Cartelera ---------- */
.activities{padding:90px 40px;border-top:1px solid var(--line);background:var(--panel);}
.activities .head{text-align:center;margin-bottom:50px;}
.activities h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,4vw,44px);text-transform:uppercase;text-align:center;margin-top:10px;}
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1140px;margin:0 auto;}
.act-poster{position:relative;border-radius:14px;overflow:hidden;background:var(--black);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s,border-color .3s;}
.act-poster:hover{transform:translateY(-4px);border-color:var(--gold);}
.act-poster .photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#000;}
.act-poster .photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s;display:block;}
.act-poster:hover .photo img{transform:scale(1.06);}
.act-poster .day{position:absolute;top:14px;left:14px;background:var(--gold);color:var(--black);font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:6px 10px;border-radius:3px;}
.act-poster .block{padding:26px 24px 22px;display:flex;flex-direction:column;flex:1;}
.act-poster h3{font-family:var(--font-display);font-weight:400;font-size:19px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;}
.act-poster p{color:var(--gray);font-size:12.5px;line-height:1.6;margin-bottom:20px;}
.act-poster .meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:#666;}

/* ---------- Coctelería / Más vendido ---------- */
.intro{padding:70px 40px 20px;text-align:center;}
.intro p{max-width:640px;margin:0 auto;color:#c9c9c9;font-size:15px;line-height:1.75;}
.coctel-grid{padding:50px 40px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:1280px;margin:0 auto;}
.section-head{padding:80px 40px 10px;text-align:center;}
.section-head .tag{display:block;margin-bottom:10px;}
.section-head h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,4vw,44px);text-transform:uppercase;}
.items-grid{padding:40px 40px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:1280px;margin:0 auto;}
.item-card{border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;}
.coctel-grid .item-card{background:transparent;}
.item-card figure{aspect-ratio:1;overflow:hidden;background:#161616;}
.item-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1) contrast(1.05);display:block;}
.item-card .body{padding:24px 22px 26px;display:flex;flex-direction:column;flex:1;}
.item-card .num{font-family:var(--font-display);font-size:12px;color:var(--gold);letter-spacing:2px;}
.item-card h3{font-family:var(--font-display);font-weight:400;font-size:18px;text-transform:uppercase;margin:10px 0 12px;line-height:1.2;}
.item-card p{color:var(--gray);font-size:13.5px;line-height:1.65;}
.item-card .value{margin-top:auto;padding-top:14px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#666;border-top:1px solid var(--line);}
.item-card p + .value{margin-top:16px;}
.item-card.no-photo figure{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1a1710,#0a0a0a 70%);}
.item-card.no-photo figure svg{width:64px;height:64px;stroke:var(--gold);fill:none;stroke-width:1.2;opacity:.85;}
.cta-center{padding:10px 40px 90px;text-align:center;}

/* ---------- Celebra con nosotros ---------- */
.benefits{padding:90px 40px;border-top:1px solid var(--line);text-align:center;}
.benefits .head{max-width:700px;margin:0 auto 50px;}
.benefits h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.8vw,44px);text-transform:uppercase;margin-top:10px;}
.benefits .head p{color:#c9c9c9;font-size:15px;margin-top:16px;line-height:1.7;}
.benefits .head .btn{margin-top:28px;}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);max-width:1280px;margin:0 auto;}
.benefit-card{background:var(--panel);padding:40px 26px;text-align:center;}
.benefit-card .icon{margin-bottom:16px;display:flex;justify-content:center;}
.benefit-card .icon svg{width:32px;height:32px;}
.benefit-card h3{font-family:var(--font-display);font-weight:400;font-size:14px;text-transform:uppercase;margin-bottom:10px;letter-spacing:.5px;}
.benefit-card p{color:var(--gray);font-size:13px;line-height:1.55;}
.steps{padding:90px 40px;border-top:1px solid var(--line);background:var(--panel);}
.steps .head{text-align:center;margin-bottom:56px;}
.steps h2{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.8vw,44px);text-transform:uppercase;text-align:center;margin-top:10px;}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1000px;margin:0 auto;text-align:center;}
.step-grid .n{font-family:var(--font-display);font-size:40px;color:var(--gold);margin-bottom:14px;}
.step-grid h3{font-family:var(--font-display);font-weight:400;font-size:15px;text-transform:uppercase;margin-bottom:10px;}
.step-grid p{color:var(--gray);font-size:13.5px;line-height:1.6;}
.quote-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:480px;margin:36px auto 0;padding:40px 34px;text-align:left;}

/* ---------- Contacto ---------- */
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.info-cards>div{padding:44px 30px;border-left:1px solid var(--line);text-align:center;}
.info-cards>div:first-child{border-left:none;}
.info-cards .icon{display:flex;align-items:center;justify-content:center;height:34px;margin-bottom:14px;}
.info-cards h3{font-family:var(--font-display);font-weight:400;font-size:16px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;}
.info-cards p{color:var(--gray);font-size:13.5px;line-height:1.6;}
.info-cards p a:hover{color:var(--white);}
.info-cards a.mapl{display:inline-block;margin-top:12px;font-size:12px;color:var(--gold);border-bottom:1px solid var(--gold);}
.map{padding:90px 40px;border-bottom:1px solid var(--line);}
.map-box{max-width:1000px;margin:0 auto;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);}
.map-box iframe{display:block;width:100%;height:420px;border:0;filter:grayscale(1) invert(.92) contrast(.9);}
.map-box .map-info{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;flex-wrap:wrap;}
.map-box h3{font-family:var(--font-display);font-weight:400;font-size:18px;text-transform:uppercase;margin-bottom:6px;}
.map-box p{color:var(--gray);font-size:14px;}
.social{padding:70px 40px;text-align:center;border-bottom:1px solid var(--line);background:var(--panel);}
.social.has-bg{background:linear-gradient(rgba(10,10,10,.82),rgba(10,10,10,.88)),var(--bg) center/cover no-repeat;}
.social h2{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,3vw,34px);text-transform:uppercase;margin-bottom:26px;}
.social-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.work{padding:90px 40px;background:var(--panel);}
.work .head{text-align:center;margin-bottom:50px;}
.work h2{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,3.6vw,40px);text-transform:uppercase;text-align:center;margin-top:10px;}
.work .head p{color:var(--gray);font-size:14px;margin-top:14px;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.6;}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);max-width:1280px;margin:0 auto;}
.work-card{background:var(--black);padding:40px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.work-card h3{font-family:var(--font-display);font-weight:400;font-size:15px;text-transform:uppercase;margin-bottom:12px;}
.work-card p{color:var(--gray);font-size:13px;line-height:1.6;margin-bottom:22px;}
.work-card .btn{margin-top:auto;}

/* ---------- Modales ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:90;opacity:0;pointer-events:none;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;}
.modal-overlay.show{opacity:1;pointer-events:auto;visibility:visible;}
.modal-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:480px;width:100%;padding:44px 34px;position:relative;transform:translateY(16px);transition:transform .3s ease;max-height:88vh;overflow-y:auto;}
.modal-overlay.show .modal-box{transform:translateY(0);}
.modal-close{position:absolute;top:18px;right:18px;background:none;border:none;cursor:pointer;padding:6px;}
.modal-close svg{width:22px;height:22px;stroke:var(--white);fill:none;stroke-width:1.6;stroke-linecap:round;}
.modal-box .tag{display:block;margin-bottom:10px;}
.modal-box h3{font-family:var(--font-display);font-weight:400;font-size:22px;text-transform:uppercase;margin-bottom:10px;}
.modal-box .sub{color:var(--gray);font-size:13px;line-height:1.6;margin-bottom:28px;}
.form-success{display:none;text-align:center;padding:10px 0 6px;}
.form-success.show{display:block;}
.form-success svg{width:50px;height:50px;stroke:var(--gold);fill:none;stroke-width:1.4;margin:0 auto 18px;display:block;}
.form-success h3{font-family:var(--font-display);font-weight:400;font-size:19px;text-transform:uppercase;margin-bottom:10px;}
.form-success p{color:var(--gray);font-size:13.5px;line-height:1.6;}
.is-sent .form-body{display:none;}
body.modal-is-open{overflow:hidden;}

/* ---------- Formularios (Contact Form 7) ---------- */
.db-form form{display:flex;flex-direction:column;gap:16px;}
.db-form .db-field{display:block;}
.db-form label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);display:block;margin-bottom:6px;}
.db-form .wpcf7-form-control-wrap{display:block;}
.db-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.db-form select,.db-form textarea{width:100%;background:var(--black);border:1px solid var(--line);color:var(--white);padding:12px 14px;font-family:var(--font-body);font-size:14px;border-radius:4px;color-scheme:dark;}
.db-form input:focus,.db-form select:focus,.db-form textarea:focus{outline:none;border-color:var(--gold);}
.db-form textarea{resize:vertical;min-height:80px;height:110px;}
.db-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px;}
.db-form input[type=submit],.db-form .wpcf7-submit{width:100%;text-align:center;border:none;cursor:pointer;margin-top:6px;font-family:var(--font-body);background:var(--white);color:var(--black);padding:16px 34px;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;transition:background .2s;}
.db-form input[type=submit]:hover,.db-form .wpcf7-submit:hover{background:var(--gold);}
.db-form .wpcf7-submit:disabled{opacity:.6;cursor:wait;}
.db-form .wpcf7-spinner{display:block;margin:10px auto 0;background-color:var(--gold);}
.db-form .wpcf7-not-valid-tip{color:#ff8a7a;font-size:12px;margin-top:6px;}
.db-form .wpcf7-not-valid{border-color:#ff8a7a!important;}
.db-form .wpcf7 form .wpcf7-response-output,.db-form .wpcf7-response-output{margin:4px 0 0!important;padding:12px 14px!important;border-radius:4px;font-size:13px;line-height:1.5;color:#d8d8d8;border:1px solid var(--line)!important;}
.db-form .wpcf7 form.invalid .wpcf7-response-output,.db-form .wpcf7 form.unaccepted .wpcf7-response-output{border-color:#ff8a7a!important;}
.db-form .wpcf7 form.sent .wpcf7-response-output{border-color:var(--gold)!important;}
.db-form .wpcf7-acceptance label,.db-form .wpcf7-list-item label{text-transform:none;letter-spacing:0;font-size:13px;color:#c9c9c9;display:flex;gap:8px;align-items:flex-start;}
.db-form .wpcf7-list-item{margin:0;}
.db-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* ---------- Contenido genérico (páginas / entradas) ---------- */
.entry{max-width:820px;margin:0 auto;padding:80px 40px;color:#d0d0d0;font-size:16px;line-height:1.8;}
.entry h1,.entry h2,.entry h3,.entry h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;color:var(--white);line-height:1.15;margin:1.6em 0 .6em;}
.entry h2{font-size:28px;}.entry h3{font-size:21px;}
.entry p,.entry ul,.entry ol{margin-bottom:1.2em;}
.entry ul,.entry ol{padding-left:1.4em;}
.entry a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;}
.entry img{height:auto;border-radius:6px;}
.entry blockquote{border-left:3px solid var(--gold);padding-left:20px;color:#c9c9c9;font-style:italic;}
.post-list{max-width:1100px;margin:0 auto;padding:80px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.post-card{border:1px solid var(--line);background:var(--panel);}
.post-card figure{aspect-ratio:16/10;overflow:hidden;}
.post-card img{width:100%;height:100%;object-fit:cover;display:block;}
.post-card .body{padding:22px;}
.post-card h2{font-family:var(--font-display);font-weight:400;font-size:18px;text-transform:uppercase;margin:8px 0 10px;}
.post-card p{color:var(--gray);font-size:13.5px;line-height:1.6;}
.pagination{text-align:center;padding:0 40px 80px;}
.pagination .page-numbers{display:inline-block;padding:10px 14px;border:1px solid var(--line);margin:2px;font-size:13px;}
.pagination .current{border-color:var(--gold);color:var(--gold);}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line);padding:60px 40px 30px;}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;max-width:1280px;margin:0 auto;}
.foot-grid h4{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:16px;}
.foot-grid p,.foot-grid a{display:block;color:#d8d8d8;font-size:14px;margin-bottom:10px;line-height:1.5;}
.foot-grid a:hover{color:var(--gold);}
.foot-grid ul{list-style:none;}
.copyright{text-align:center;color:#555;font-size:12px;margin-top:50px;letter-spacing:1px;}
.copyright a:hover{color:var(--gray);}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .items-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  :root{--header-h:55px;}
  .wrap{padding:0 20px;}
  nav.links{display:none;}
  .menu-toggle{display:flex;align-items:center;justify-content:center;}
  .nav{padding:5px 16px;gap:10px;}
  .logo img{height:44px;}
  .btn-order{padding:8px 12px;font-size:1rem;letter-spacing:1px;}
  .split{grid-template-columns:1fr;}
  .split>img,.split>.split-media{min-height:320px;order:0!important;}
  .split .copy{order:1!important;padding:50px 24px;}
  .quick{grid-template-columns:1fr;}
  .quick a,.quick .quick-item{border-left:none;border-top:1px solid var(--line);}
  .quick>*:first-child{border-top:none;}
  .grid4{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr;}
  .dish-row .info-top{flex-direction:column;gap:4px;}
  .act-grid{grid-template-columns:repeat(2,1fr);}
  .coctel-grid{grid-template-columns:1fr;max-width:520px;}
  .items-grid{grid-template-columns:1fr;max-width:520px;}
  .benefit-grid{grid-template-columns:repeat(2,1fr);}
  .step-grid{grid-template-columns:1fr;gap:36px;}
  .info-cards{grid-template-columns:1fr;}
  .info-cards>div{border-left:none;border-top:1px solid var(--line);}
  .info-cards>div:first-child{border-top:none;}
  .work-grid{grid-template-columns:1fr;}
  .post-list{grid-template-columns:1fr;}
  .menu-section,.activities,.benefits,.steps,.work,.map,.social,.cta-banner,.intro,.section-head,.items-grid,.coctel-grid,.cta-center{padding-left:20px;padding-right:20px;}
  .coctel-grid,.items-grid{margin-left:auto;margin-right:auto;}
  .site-footer{padding:50px 24px 30px;}
}
@media(max-width:640px){
  .catnav a{padding:10px 8px;font-size:10.5px;letter-spacing:.5px;}
  .act-grid{grid-template-columns:1fr;max-width:420px;}
  .benefit-grid{grid-template-columns:1fr;}
  .db-form .field-row{grid-template-columns:1fr;}
  .modal-box{padding:40px 22px;}
  .quote-box{padding:30px 20px;}
  .map-box iframe{height:320px;}
  .btn{padding:15px 26px;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none!important;animation:none!important;}
}
.carta-nota p{max-width:720px;margin:0 auto;text-align:center;color:var(--gray);font-size:13px;line-height:1.7;}
