/* ===== Comidas de Navidad 2026 · Grupo Eventos Alma ===== */
.nv-page{--nv-card:#fbf6ec;--nv-gold:#e6a363}

/* Hero con fotos que cambian */
.hero-city.nv-hero{background:#0e0c08;overflow:hidden;isolation:isolate}
.nv-hero .nv-slide{opacity:0;will-change:opacity,transform;animation:nvFade 30s linear infinite}
.nv-hero .nv-slide:nth-child(1){animation-delay:-1.2s}
.nv-hero .nv-slide:nth-child(2){animation-delay:4.8s}
.nv-hero .nv-slide:nth-child(3){animation-delay:10.8s}
.nv-hero .nv-slide:nth-child(4){animation-delay:16.8s}
.nv-hero .nv-slide:nth-child(5){animation-delay:22.8s}
@keyframes nvFade{0%{opacity:0;transform:scale(1)}4%{opacity:.62}20%{opacity:.62}24%{opacity:0;transform:scale(1.07)}100%{opacity:0;transform:scale(1.07)}}
@media (prefers-reduced-motion:reduce){.nv-hero .nv-slide{animation:none}.nv-hero .nv-slide:nth-child(1){opacity:.55}}
.nv-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.nv-chips span{font-family:var(--mono);font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:#f4ede0;padding:9px 14px;border:1px solid rgba(230,163,99,.5);background:rgba(14,12,8,.35);backdrop-filter:blur(6px)}
.nv-chips b{color:var(--nv-gold);font-weight:500}

/* Cabecera de sección centrada opcional */
.nv-lead{font-family:var(--display);font-style:italic;font-size:19px;color:var(--ink-soft);max-width:720px;line-height:1.55;margin:-8px 0 48px}

/* Ventajas */
.nv-features{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rule)}
.nv-feature{padding:34px 28px 34px 0;border-right:1px solid var(--rule-soft)}
.nv-feature+.nv-feature{padding-left:28px}
.nv-feature:last-child{border-right:0}
.nv-feature .nv-num{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--copper);text-transform:uppercase}
.nv-feature h3{font-family:var(--display);font-size:30px;font-weight:400;line-height:1.05;margin:14px 0 12px;color:var(--ink)}
.nv-feature p{font-size:17px;color:var(--ink-soft);line-height:1.55}

/* Bloque de espacio / local */
.nv-group+.nv-group{margin-top:100px;padding-top:80px;border-top:1px solid var(--rule)}
.nv-venue{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;margin-bottom:48px}
.nv-venue--solo{grid-template-columns:1fr;max-width:820px}
.nv-venue-tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:#f4ede0;background:var(--oxblood);padding:8px 14px;margin-bottom:18px}
.nv-venue h3{font-family:var(--display);font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1;letter-spacing:-.02em;margin-bottom:16px}
.nv-venue h3 em{font-style:italic;color:var(--copper);font-weight:500}
.nv-venue p{font-size:19px;color:var(--ink-soft);line-height:1.55}
.nv-venue ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.nv-venue li{font-family:var(--mono)!important;font-size:10px!important;letter-spacing:1.5px;text-transform:uppercase;padding:8px 12px;border:1px solid var(--rule);color:var(--ink-soft)}
.nv-venue-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.nv-venue-img img{width:100%;height:100%;object-fit:cover}
.nv-venue-img::after{content:"";position:absolute;inset:14px;border:1px solid rgba(244,237,224,.6);pointer-events:none}

/* Tarjetas de menú */
.nv-menus{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.nv-menu{position:relative;background:var(--nv-card);border:1px solid var(--rule);padding:46px 34px 34px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.nv-menu::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--copper)}
.nv-menu:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(25,22,19,.45)}
.nv-menu.nv-star{border:2px solid var(--oxblood)}
.nv-menu.nv-star::before{background:var(--oxblood)}
.nv-label{position:absolute;top:-13px;left:28px;background:var(--oxblood);color:#f4ede0;padding:6px 13px;font-family:var(--mono);font-size:9.5px;letter-spacing:2px;text-transform:uppercase}
.nv-price{font-family:var(--display);font-size:58px;font-style:italic;font-weight:500;line-height:1;color:var(--copper)}
.nv-price-detail{display:block;font-family:var(--mono);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-mute);margin:8px 0 20px}
.nv-menu h3{font-family:var(--display);font-size:34px;font-weight:400;line-height:1.05;margin-bottom:6px}
.nv-pax{align-self:flex-start;font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--oxblood);border:1px solid rgba(92,26,38,.35);padding:6px 10px;margin-top:8px}
.nv-menu h4{font-family:var(--mono);font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:var(--copper);font-weight:500;margin:24px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.nv-menu ul{list-style:none}
.nv-menu li{font-size:18px!important;font-style:italic;line-height:1.35;color:var(--ink);padding:5px 0}
.nv-drink{margin-top:auto;padding-top:22px;font-size:16px;line-height:1.5;color:var(--ink-soft)}
.nv-drink strong{display:block;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--oxblood);font-weight:500;margin:18px 0 6px;padding-top:18px;border-top:1px dashed var(--rule)}
.nv-menu .btn{margin-top:22px;justify-content:center}
.nv-notes{margin-top:34px;max-width:860px;font-size:17px;font-style:italic;color:var(--ink-soft);line-height:1.6}
.nv-notes p+p{margin-top:6px}

/* Galería */
.nv-gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:220px;gap:12px}
.nv-gallery figure{position:relative;overflow:hidden;margin:0;background:var(--paper-deep)}
.nv-gallery figure:nth-child(1){grid-column:span 3;grid-row:span 2}
.nv-gallery figure:nth-child(2),.nv-gallery figure:nth-child(3){grid-column:span 3}
.nv-gallery figure:nth-child(n+4){grid-column:span 2}
.nv-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.nv-gallery figure:hover img{transform:scale(1.05)}
.nv-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;background:linear-gradient(transparent,rgba(14,12,8,.78));color:#f4ede0;font-family:var(--display)!important;font-size:21px;font-style:italic}

/* Para quién */
.nv-audience{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nv-aud{background:var(--nv-card);border:1px solid var(--rule)}
.nv-aud img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.nv-aud div{padding:28px 28px 32px}
.nv-aud h3{font-family:var(--display);font-size:30px;font-weight:400;margin-bottom:10px}
.nv-aud p{font-size:17px;color:var(--ink-soft);line-height:1.55}

/* Pasos (sección oscura) */
.nv-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:nvstep}
.nv-step{position:relative;padding:44px 30px 34px;border:1px solid rgba(244,237,224,.18);background:rgba(244,237,224,.03)}
.nv-step::before{counter-increment:nvstep;content:"0" counter(nvstep);position:absolute;top:-16px;left:28px;background:var(--nv-gold);color:#0e0c08;font-family:var(--mono);font-size:12px;letter-spacing:1px;padding:7px 12px}
.nv-step h3{font-family:var(--display);font-size:30px;font-weight:400;color:#f4ede0;margin-bottom:10px}
.nv-step p{font-size:17px;color:rgba(244,237,224,.72);line-height:1.55}

/* Formulario (abre WhatsApp) */
.nv-form-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:start}
.nv-form-intro p{font-size:19px;color:var(--ink-soft);line-height:1.55;margin:18px 0}
.nv-form-intro ul{list-style:none}
.nv-form-intro li{padding:12px 0;border-bottom:1px solid var(--rule);font-size:18px}
.nv-form-intro li::before{content:"—";color:var(--copper);margin-right:12px}
.nv-form{background:var(--nv-card);border:1px solid var(--rule);padding:40px;box-shadow:0 30px 60px -44px rgba(25,22,19,.5)}
.nv-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nv-field{margin-bottom:18px}
.nv-form label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-mute);margin-bottom:8px}
.nv-form input,.nv-form select,.nv-form textarea{width:100%;padding:14px 15px;border:1px solid var(--rule);background:var(--paper);font-family:var(--sans);font-size:15px;color:var(--ink);border-radius:0}
.nv-form input:focus,.nv-form select:focus,.nv-form textarea:focus{outline:none;border-color:var(--copper);background:#fff}
.nv-form textarea{min-height:96px;resize:vertical}
.nv-form label.nv-check{display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink-soft);cursor:pointer}
.nv-check input{width:18px;height:18px;accent-color:var(--oxblood)}
.nv-form button{width:100%;margin-top:6px;padding:18px;border:0;background:var(--oxblood);color:#f4ede0;font-family:var(--mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:background .25s}
.nv-form button:hover{background:var(--copper)}
.nv-form small{display:block;margin-top:12px;font-size:13px;color:var(--ink-mute);text-align:center}

/* Preguntas frecuentes */
.nv-faq{max-width:900px;border-top:1px solid var(--rule)}
.nv-faq details{border-bottom:1px solid var(--rule)}
.nv-faq summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;font-family:var(--display)!important;font-size:24px;line-height:1.25;color:var(--ink)}
.nv-faq summary::-webkit-details-marker{display:none}
.nv-faq summary::after{content:"+";position:absolute;right:4px;top:18px;font-family:var(--display);font-size:32px;color:var(--copper);transition:transform .3s}
.nv-faq details[open] summary::after{transform:rotate(45deg)}
.nv-faq details p{padding:0 0 24px;font-size:18px;color:var(--ink-soft);line-height:1.6;max-width:760px}
.nv-faq a{color:var(--copper);text-decoration:underline}

@media (max-width:1024px){
  .nv-features{grid-template-columns:1fr 1fr}
  .nv-feature,.nv-feature+.nv-feature{padding:28px 20px 28px 0;border-right:0;border-bottom:1px solid var(--rule-soft)}
  .nv-venue{grid-template-columns:1fr;gap:30px}
  .nv-form-wrap{grid-template-columns:1fr;gap:36px}
}
@media (max-width:768px){
  .nv-features,.nv-audience,.nv-steps{grid-template-columns:1fr}
  .nv-steps{gap:36px}
  .nv-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .nv-gallery figure:nth-child(n){grid-column:span 1;grid-row:span 1}
  .nv-gallery figure:nth-child(1){grid-column:span 2;grid-row:span 2}
  .nv-form{padding:28px 22px}
  .nv-row{grid-template-columns:1fr;gap:0}
  .nv-menu{padding:44px 24px 30px}
  .nv-group+.nv-group{margin-top:70px;padding-top:56px}
}


/* Menús largos: lista desplegable (Navidad 2026, más espacios) */
.nv-more{margin-top:2px}
.nv-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--oxblood);padding:8px 0 4px}
.nv-more summary::-webkit-details-marker{display:none}
.nv-more summary::after{content:"+";font-size:15px;line-height:1;color:var(--copper);transition:transform .3s}
.nv-more[open] summary::after{transform:rotate(45deg)}
.nv-more[open] summary{margin-bottom:2px}

/* ==========================================================
   Menús de Navidad en acordeón compacto (oct 2026)
   ========================================================== */
.nv-menus--acc{display:grid;grid-template-columns:1fr;gap:14px}
.nv-acc{position:relative;background:var(--nv-card);border:1px solid var(--rule);transition:box-shadow .3s,border-color .3s}
.nv-acc::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--copper)}
.nv-acc:hover{border-color:rgba(184,115,51,.45)}
.nv-acc.nv-star{border-color:var(--oxblood)}
.nv-acc.nv-star::before{background:var(--oxblood)}
.nv-acc[open]{box-shadow:0 26px 50px -34px rgba(25,22,19,.45);border-color:rgba(184,115,51,.55)}
.nv-acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:172px minmax(0,1fr) auto;gap:30px;align-items:center;padding:26px 30px 26px 34px}
.nv-acc summary::-webkit-details-marker{display:none}
.nv-acc summary:focus-visible{outline:2px solid var(--copper);outline-offset:-3px}
.nv-acc-price{font-family:var(--display);font-style:italic;font-weight:500;font-size:48px;line-height:1;color:var(--copper)}
.nv-acc-price small{display:block;font-family:var(--mono);font-style:normal;font-weight:400;font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-mute);margin-top:9px;white-space:nowrap}
.nv-acc-name{display:block;font-family:var(--display);font-size:31px;font-weight:400;line-height:1.08;color:var(--ink)}
.nv-acc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.nv-acc-meta span{font-family:var(--mono);font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--oxblood);border:1px solid rgba(92,26,38,.3);padding:5px 9px}
.nv-acc-meta .is-star{background:var(--oxblood);border-color:var(--oxblood);color:#f4ede0}
.nv-acc-sum{display:block;margin-top:11px;font-size:16.5px;line-height:1.5;font-style:italic;color:var(--ink-soft)}
.nv-acc-cta{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--oxblood);border:1px solid var(--rule);padding:13px 16px;transition:border-color .25s,background .25s}
.nv-acc-cta::after{content:"+";font-size:17px;line-height:1;color:var(--copper);transition:transform .3s}
.nv-acc summary:hover .nv-acc-cta{border-color:var(--copper)}
.nv-acc[open] .nv-acc-cta{background:var(--oxblood);border-color:var(--oxblood);color:#f4ede0}
.nv-acc[open] .nv-acc-cta::after{transform:rotate(45deg);color:#f4ede0}
.nv-acc-body{border-top:1px solid var(--rule);padding:30px 34px 30px}
.nv-acc-cols{column-count:3;column-gap:44px}
.nv-acc-sec{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:24px}
.nv-acc-sec h4{font-family:var(--mono);font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:var(--copper);font-weight:500;margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid var(--rule)}
.nv-acc-sec ul{list-style:none;margin:0;padding:0}
.nv-acc-sec li{font-size:17px!important;font-style:italic;line-height:1.38;color:var(--ink);padding:4px 0}
.nv-acc-foot{display:flex;align-items:center;justify-content:space-between;gap:20px 30px;flex-wrap:wrap;border-top:1px dashed var(--rule);padding-top:22px;margin-top:4px}
.nv-acc-foot p{font-size:15.5px;line-height:1.55;color:var(--ink-soft);max-width:660px;margin:0}
.nv-acc-foot p strong{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--oxblood);font-weight:500;margin-right:10px}
.nv-acc-foot .btn{margin:0}
@media (max-width:1024px){.nv-acc-cols{column-count:2}}
@media (max-width:768px){
  .nv-acc summary{grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;padding:20px 18px 20px 22px}
  .nv-acc-price{grid-column:1;grid-row:1;font-size:38px}
  .nv-acc-price small{margin-top:7px}
  .nv-acc-cta{grid-column:2;grid-row:1;align-self:start;padding:10px 12px}
  .nv-acc-main{grid-column:1/-1;grid-row:2}
  .nv-acc-name{font-size:25px}
  .nv-acc-sum{font-size:15.5px}
  .nv-acc-body{padding:22px 20px 24px}
  .nv-acc-cols{column-count:1}
  .nv-acc-foot .btn{width:100%;justify-content:center}
}