/* =========================================================
   Agripoli v0.16 — compact, information-rich mobile menu
   Scope: mobile navigation only. Desktop and page content unchanged.
   ========================================================= */

.mobile-nav-intro,
.mobile-nav-footer{
  display:none;
}

@media (max-width:900px){
  .primary-nav{
    left:50%!important;
    right:auto!important;
    width:min(calc(100vw - 24px),430px)!important;
    max-width:430px!important;
    padding:12px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    overflow:visible!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.975)!important;
    box-shadow:0 24px 70px rgba(23,52,43,.18),0 6px 18px rgba(23,52,43,.07)!important;
    transform:translate3d(-50%,-12px,0) scale(.985)!important;
  }
  .nav-open .primary-nav{
    transform:translate3d(-50%,0,0) scale(1)!important;
  }

  .mobile-nav-intro{
    grid-column:1/-1;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    min-height:38px;
    padding:2px 5px 8px;
    border-bottom:1px solid rgba(23,52,43,.07);
    opacity:0;
    transform:translateY(-5px);
    transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1);
  }
  .nav-open .mobile-nav-intro{
    opacity:1;
    transform:none;
    transition-delay:.025s;
  }
  .mobile-nav-intro span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#248d63;
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .mobile-nav-intro span::before{
    content:"";
    width:19px;
    height:2px;
    border-radius:999px;
    background:#2fb980;
  }
  .mobile-nav-intro small{
    color:#77867f;
    font-size:10.5px;
    font-weight:600;
    white-space:nowrap;
  }

  .primary-nav > a[data-nav-index]{
    position:relative!important;
    min-height:66px!important;
    display:grid!important;
    grid-template-columns:31px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:10px!important;
    padding:10px 31px 10px 10px!important;
    border:1px solid rgba(23,52,43,.065)!important;
    border-radius:17px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,251,248,.96))!important;
    box-shadow:0 4px 15px rgba(23,52,43,.035)!important;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.25!important;
    color:#2d473d!important;
    overflow:hidden!important;
    -webkit-tap-highlight-color:transparent;
  }
  .primary-nav > a[data-nav-index]::before{
    content:attr(data-nav-index)!important;
    position:static!important;
    width:31px!important;
    height:31px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:11px!important;
    background:rgba(47,185,128,.085)!important;
    color:#268f64!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.07em!important;
    box-shadow:inset 0 0 0 1px rgba(47,185,128,.09)!important;
  }
  .primary-nav > a[data-nav-index]::after{
    right:13px!important;
    width:6px!important;
    height:6px!important;
    opacity:.28!important;
  }
  .primary-nav > a[data-nav-index]:hover,
  .primary-nav > a[data-nav-index]:focus-visible,
  .primary-nav > a[data-nav-index].active{
    color:#176b4a!important;
    background:linear-gradient(145deg,#fff,rgba(234,249,241,.98))!important;
    border-color:rgba(47,185,128,.20)!important;
    box-shadow:0 8px 22px rgba(47,185,128,.085)!important;
  }
  .primary-nav > a[data-nav-index].active::before{
    background:#2fb980!important;
    color:#fff!important;
    box-shadow:0 7px 16px rgba(47,185,128,.22)!important;
  }

  .mobile-nav-footer{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) 38px;
    align-items:center;
    gap:12px;
    min-height:60px;
    padding:11px 11px 11px 15px;
    border-radius:17px;
    background:
      radial-gradient(circle at 90% 15%,rgba(255,255,255,.20),transparent 28%),
      linear-gradient(135deg,#173c30 0%,#246b50 100%);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 12px 28px rgba(23,52,43,.14);
    opacity:0;
    transform:translateY(6px);
    transition:opacity .24s ease,transform .3s cubic-bezier(.2,.8,.2,1);
  }
  .nav-open .mobile-nav-footer{
    opacity:1;
    transform:none;
    transition-delay:.21s;
  }
  .mobile-nav-footer-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .mobile-nav-footer-copy span{
    color:#75e0b3;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .mobile-nav-footer-copy strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#fff;
    font-size:11.5px;
    font-weight:650;
    letter-spacing:-.01em;
  }
  .primary-nav .mobile-nav-contact{
    position:static!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.11)!important;
    color:#fff!important;
    font-size:17px!important;
    line-height:1!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;
    opacity:1!important;
    transform:none!important;
    transition:background .18s ease,transform .18s ease!important;
  }
  .primary-nav .mobile-nav-contact::before,
  .primary-nav .mobile-nav-contact::after{
    display:none!important;
  }
  .primary-nav .mobile-nav-contact:hover,
  .primary-nav .mobile-nav-contact:focus-visible{
    background:rgba(255,255,255,.20)!important;
    transform:translateY(-1px)!important;
  }

  .nav-open .primary-nav > a[data-nav-index="01"]{transition-delay:.045s!important}
  .nav-open .primary-nav > a[data-nav-index="02"]{transition-delay:.065s!important}
  .nav-open .primary-nav > a[data-nav-index="03"]{transition-delay:.085s!important}
  .nav-open .primary-nav > a[data-nav-index="04"]{transition-delay:.105s!important}
  .nav-open .primary-nav > a[data-nav-index="05"]{transition-delay:.125s!important}
  .nav-open .primary-nav > a[data-nav-index="06"]{transition-delay:.145s!important}
}

@media (max-width:480px){
  .primary-nav{
    width:calc(100vw - 18px)!important;
    padding:10px!important;
    gap:7px!important;
    border-radius:21px!important;
  }
  .primary-nav > a[data-nav-index]{
    min-height:62px!important;
    grid-template-columns:29px minmax(0,1fr)!important;
    column-gap:8px!important;
    padding:9px 27px 9px 9px!important;
    border-radius:15px!important;
    font-size:12.5px!important;
  }
  .primary-nav > a[data-nav-index]::before{
    width:29px!important;
    height:29px!important;
    border-radius:10px!important;
  }
  .primary-nav > a[data-nav-index]::after{
    right:11px!important;
  }
  .mobile-nav-intro{
    min-height:34px;
    padding:1px 3px 7px;
  }
  .mobile-nav-intro small{
    font-size:9.5px;
  }
  .mobile-nav-footer{
    min-height:56px;
    padding:9px 9px 9px 13px;
    border-radius:15px;
  }
}

@media (max-width:350px){
  .primary-nav{
    width:calc(100vw - 14px)!important;
    gap:6px!important;
    padding:8px!important;
  }
  .primary-nav > a[data-nav-index]{
    min-height:58px!important;
    grid-template-columns:26px minmax(0,1fr)!important;
    column-gap:7px!important;
    padding:8px 23px 8px 8px!important;
    font-size:11.5px!important;
  }
  .primary-nav > a[data-nav-index]::before{
    width:26px!important;
    height:26px!important;
    font-size:8px!important;
  }
  .mobile-nav-intro small{
    display:none;
  }
  .mobile-nav-footer-copy strong{
    font-size:10.5px;
  }
}

@media (prefers-reduced-motion:reduce){
  .mobile-nav-intro,
  .mobile-nav-footer,
  .primary-nav > a[data-nav-index]{
    transition:none!important;
  }
}
