/* Nina Costa v5.1 — Navigation responsive premium. CSS y JS de origen local, CSP estricta. */
.nc-mobile-shell{display:none}
@media(max-width:1080px){
  /* Ocultar cabeceras anteriores demasiado largas; conservar la navegación secundaria dentro de cada artículo */
  body:not(.broadcast) > .navigation,
  body:not(.broadcast) > .nina-site-header,
  body:not(.broadcast) > header.topbar,
  body:not(.broadcast) > header.top,
  body:not(.broadcast) > header:has(> nav):not(.nc-mobile-shell),
  body:not(.broadcast) > .wrap > nav.sitenav,
  body:not(.broadcast) > .wrap > nav[aria-label="Navegación"]{display:none!important}
  .nc-mobile-shell,.nc-mobile-shell *{box-sizing:border-box}
  body:not(.broadcast) > .nc-mobile-shell{
    display:flex!important;align-items:center;justify-content:space-between;gap:12px;
    min-height:70px;padding:10px clamp(12px,4vw,24px);width:100%;max-width:100%;
    position:sticky;top:0;z-index:990;background:#08131feF;backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);border-bottom:1px solid #33485a;
    box-shadow:0 6px 20px #0005;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
  }
  .nc-mobile-shell .nc-mobile-brand{display:flex;align-items:center;gap:10px;min-width:0;max-width:calc(100% - 96px);padding:0;color:#fff!important;text-decoration:none!important}
  .nc-mobile-brand img{height:42px;width:42px;min-width:42px;object-fit:cover;object-position:50% 35%;border-radius:50%;border:2px solid #e9a46c;background:#142635}
  .nc-mobile-shell .nc-brand-copy{display:flex;flex-direction:column;min-width:0;gap:4px;line-height:1.12}
  .nc-mobile-shell .nc-brand-copy strong{color:#fff!important;white-space:nowrap;font-size:clamp(15px,4.1vw,20px);font-weight:800;letter-spacing:.04em!important}
  .nc-mobile-shell .nc-brand-copy small{display:block;color:#b8c9d8!important;font-size:clamp(8px,2.4vw,10px);font-weight:500;letter-spacing:.045em!important;white-space:nowrap}
  .nc-mobile-shell .nc-mobile-menu{position:static;flex:0 0 auto;min-width:0;margin:0;padding:0;background:transparent;border:0}
  .nc-mobile-shell .nc-mobile-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;
     width:64px;height:48px;padding:7px 10px!important;background:#112536;border:1px solid #486176;
     border-radius:12px;color:#f6f9fc!important;font:600 11px/1.05 system-ui,-apple-system,sans-serif;cursor:pointer;user-select:none}
  .nc-mobile-menu summary::-webkit-details-marker{display:none}
  .nc-mobile-shell .nc-menu-lines{display:flex;flex-direction:column;gap:4px}
  .nc-menu-lines i{display:block;height:2px;width:21px;border-radius:2px;background:#f4af70;transition:transform .15s,opacity .15s}
  .nc-mobile-menu[open] .nc-menu-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nc-mobile-menu[open] .nc-menu-lines i:nth-child(2){opacity:0}
  .nc-mobile-menu[open] .nc-menu-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .nc-mobile-menu[open] summary{border-color:#f4af70;background:#192c3c}
  .nc-mobile-shell .nc-mobile-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
     position:absolute!important;top:calc(100% + 1px);left:12px;right:12px;width:auto!important;min-width:0;
     max-height:min(72svh,650px);overflow-y:auto;overscroll-behavior:contain;
     padding:14px;background:#0c1b2b;border:1px solid #354b60;border-radius:0 0 18px 18px;
     box-shadow:0 22px 42px #0009;z-index:991;margin:0;white-space:normal!important;
  }
  .nc-mobile-menu:not([open]) .nc-mobile-links{display:none!important}
  .nc-mobile-links a{display:flex;align-items:center;min-height:48px;padding:11px 12px!important;
    background:#15293c;color:#e7f1fb!important;border:1px solid #2c4660;border-radius:9px;
    text-decoration:none!important;text-transform:none!important;font-size:13px!important;font-weight:600!important;line-height:1.28!important;
    white-space:normal!important;overflow-wrap:break-word;letter-spacing:0!important;
  }
  .nc-mobile-links a[aria-current="page"]{background:#253f50;border-color:#f1a45b;color:#ffd19e!important}
  .nc-mobile-shell :is(a,summary):focus-visible{outline:3px solid #ffc275;outline-offset:3px}
  /* Ticker secondary strip may be horizontally scrolled but must not force the whole page wider */
  body:not(.broadcast) .ticker{max-width:100%;overflow:hidden}
  body:not(.broadcast) .ticker-track{max-width:100%}
  /* Home hero: portrait above content on small screens; labels never overlap photo or mobile nav */
  body:not(.broadcast) .hero-text{min-width:0}
}
@media(max-width:600px){
  .nc-mobile-shell .nc-mobile-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:11px}
  .nc-mobile-links a{font-size:12.5px!important;padding:10px!important}
  body:not(.broadcast) .hero#inicio{max-height:none!important;height:auto!important;min-height:600px!important;display:flex!important;flex-direction:column!important;position:relative!important}
  body:not(.broadcast) .hero#inicio .hero-img{background-size:cover!important;background-position:59% 20%!important}
  body:not(.broadcast) .hero#inicio .hero-img:after{background:linear-gradient(0deg,#0b100d 0%,rgba(8,16,17,.97) 32%,rgba(8,16,17,.48) 65%,rgba(8,16,17,.03) 100%)!important}
  body:not(.broadcast) .hero#inicio .hero-text{min-height:600px!important;padding:165px 20px 28px!important;justify-content:flex-end!important;gap:11px!important}
  body:not(.broadcast) .hero#inicio .hero-text h1{font-size:clamp(34px,10vw,49px)!important;line-height:1.07!important;overflow-wrap:break-word}
  body:not(.broadcast) .hero#inicio .hero-text h1 span{font-size:clamp(20px,6vw,29px)!important;line-height:1.18!important}
  body:not(.broadcast) .hero#inicio .hero-actions{gap:9px}
  body:not(.broadcast) .hero#inicio .hero-actions a{width:100%;min-height:45px;white-space:normal!important;text-align:center;padding:11px 14px}
  body:not(.broadcast) .hero#inicio .hero-description{font-size:14px!important;line-height:1.5!important}
  body:not(.broadcast) .hero#inicio .badges{gap:6px;flex-wrap:wrap}
}
@media(max-width:360px){
  .nc-mobile-brand img{height:36px;width:36px;min-width:36px}
  .nc-mobile-shell .nc-brand-copy small{font-size:8px}
  .nc-mobile-shell .nc-mobile-menu summary{width:55px}
  body:not(.broadcast) .hero#inicio .hero-text{padding-inline:15px!important}
}
@media(prefers-reduced-motion:reduce){.nc-menu-lines i{transition:none}}
