/* BANÚS REFINED V1 · Stage 4 · Mobile navigation + narrow RWD patch
   User-approved scope: mobile menu presentation and 320px overflow.
   Desktop, editorial text, logo geometry and original typefaces remain untouched. */
@media (max-width: 1120px) {
  body.menu-open .header::before { opacity:1 !important; }
  .mobile-nav {
    background:
      radial-gradient(ellipse at 18% 20%, rgba(83,108,124,.12), transparent 49%),
      linear-gradient(155deg,#10212c 0%,#0c1922 63%,#101c25 100%);
    color:#f5f5f0;
    z-index:95;
    justify-content:flex-start;
    padding:clamp(103px,11svh,121px) clamp(24px,6vw,80px) max(27px,env(safe-area-inset-bottom));
    overflow:hidden;
    transform:translateY(-9px);
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
  }
  .mobile-nav.open { transform:none; }
  .mobile-nav nav {
    width:min(100%,690px);
    max-height:calc(100svh - 215px);
    min-height:0;
    margin:0 auto;
    padding:0 6px 8px 0;
    display:flex;
    flex-direction:column;
    gap:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(191,203,210,.38) transparent;
    counter-reset:banus-mobile-link;
  }
  .mobile-nav nav::before {
    content:"EXPLORE BANÚS";
    display:block;
    width:100%;
    font-family:var(--text);
    font-size:10px;
    font-weight:500;
    line-height:1.5;
    letter-spacing:.23em;
    color:#b5c3ca;
    padding:0 0 16px;
    border-bottom:1px solid rgba(219,229,233,.32);
  }
  html[lang="es"] .mobile-nav nav::before { content:"EXPLORA BANÚS"; }
  .mobile-nav nav a {
    counter-increment:banus-mobile-link;
    display:grid;
    grid-template-columns:28px minmax(0,1fr) 22px;
    align-items:center;
    column-gap:12px;
    min-height:46px;
    padding:10px 1px;
    margin:0;
    border-bottom:1px solid rgba(209,221,228,.15);
    font-family:var(--text) !important;
    font-size:clamp(13px,3.7vw,16px) !important;
    font-weight:400 !important;
    line-height:1.33 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase;
    text-decoration:none;
    color:#f0f1ec !important;
    opacity:1 !important;
    white-space:normal;
    overflow-wrap:normal;
    transition:color .2s ease,background-color .2s ease,padding-left .2s ease;
  }
  .mobile-nav nav a::before {
    content:counter(banus-mobile-link,decimal-leading-zero);
    align-self:center;
    font-family:var(--text);
    font-size:10px;
    font-weight:400;
    line-height:1;
    letter-spacing:.05em;
    color:#a0b1bc;
  }
  .mobile-nav nav a::after {
    content:"↗";
    justify-self:end;
    font-size:16px;
    font-weight:300;
    line-height:1;
    color:#a9b8c2;
    opacity:.8;
  }
  .mobile-nav nav a:hover,
  .mobile-nav nav a:focus-visible {
    color:#fff !important;
    background:rgba(235,242,241,.075);
    padding-left:8px;
  }
  .mobile-nav nav a:last-child {
    border:1px solid rgba(218,226,231,.70);
    background:rgba(192,209,220,.065);
    margin-top:16px;
    padding:13px 12px;
    min-height:51px;
  }
  .mobile-nav nav a:last-child:hover,
  .mobile-nav nav a:last-child:focus-visible {
    background:rgba(236,241,239,.14);
    padding-left:17px;
  }
  .mobile-nav > span {
    display:block;
    width:min(100%,690px);
    margin:0 auto;
    margin-top:auto;
    padding:18px 0 0;
    border-top:1px solid rgba(209,221,228,.19);
    font-family:var(--text);
    font-size:10px;
    font-weight:300;
    letter-spacing:.17em;
    color:#bbc6c9;
    text-transform:uppercase;
  }
}
@media (min-width:720px) and (max-width:1120px) {
  .mobile-nav nav {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;}
  .mobile-nav nav::before {grid-column:1 / -1;}
  .mobile-nav nav a:last-child {margin-top:0;}
}
@media (max-width:370px) {
  /* Nine course selector buttons fit a 320px viewport without horizontal scroll. */
  .hole-selector button {width:27px;height:29px;flex:0 0 27px;}
  .mobile-nav {padding:92px 20px max(20px,env(safe-area-inset-bottom));}
  .mobile-nav nav {max-height:calc(100svh - 162px);}
  .mobile-nav nav a {grid-template-columns:24px minmax(0,1fr) 19px;column-gap:9px;min-height:38px;padding:6px 1px;font-size:12.8px !important;}
  .mobile-nav nav a:last-child {min-height:44px;margin-top:10px;padding:9px 10px;}
  .mobile-nav nav::before {padding-bottom:10px;}
  .mobile-nav > span {padding-top:12px;}
}
@media (prefers-reduced-motion:reduce) {
 .mobile-nav,.mobile-nav nav a {transition:none !important;}
}
