/* ============================================================
   Mobile nav menu — Soft Marshmallow, COMPACT drawer.
   Same language phone + tablet (≤1020). Keep position:fixed.
   Wins over style.css leftovers (gray wells, bulky cards).
   ============================================================ */

@media (width<=1020px){

/* Panel — hug content; scroll only on very short viewports.
   NOTE: overflow-x:hidden + overflow-y:visible computes to auto (CSS quirk). */
.header .nav.nav-open{
  width:min(92vw,380px)!important;
  height:auto!important;
  max-height:min(100dvh,100vh)!important;
  top:0!important;
  bottom:auto!important;
  left:auto!important;
  background:#fff!important;
  padding:16px 16px max(16px, env(safe-area-inset-bottom))!important;
  gap:0!important;
  box-shadow:-14px 0 40px rgba(30,30,40,.10)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
@media (max-height:560px){
  .header .nav.nav-open{
    max-height:min(100dvh,100vh)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
    scrollbar-color:#e2e5ea transparent!important;
  }
  .header .nav.nav-open::-webkit-scrollbar{
    width:4px!important;
  }
  .header .nav.nav-open::-webkit-scrollbar-thumb{
    background:#e2e5ea!important;
    border-radius:4px!important;
  }
  .header .nav.nav-open::-webkit-scrollbar-track{
    background:transparent!important;
  }
}
.header .nav.nav-open:before,
.header .nav.nav-open:after{
  content:""!important;
  position:fixed!important;
  border-radius:50%!important;
  filter:blur(70px)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.header .nav.nav-open:before{
  top:-8%!important;
  right:-18%!important;
  width:min(48vw,320px)!important;
  height:min(48vw,320px)!important;
  background:radial-gradient(circle,rgba(255,141,107,.12) 0%,transparent 70%)!important;
}
.header .nav.nav-open:after{
  bottom:-8%!important;
  left:-12%!important;
  width:min(40vw,280px)!important;
  height:min(40vw,280px)!important;
  background:radial-gradient(circle,rgba(255,182,193,.10) 0%,transparent 70%)!important;
}
.header .nav.nav-open > *{
  position:relative!important;
  z-index:1!important;
}

/* Header — quieter, less air */
.header .nav .mobile-menu-head{
  min-height:48px!important;
  margin-bottom:10px!important;
  padding:0 2px 8px!important;
  gap:12px!important;
  align-items:center!important;
}
.header .nav .mobile-menu-head small{
  font-size:11px!important;
  letter-spacing:.08em!important;
  color:#8b8b93!important;
}
.header .nav .mobile-menu-head strong{
  font-size:22px!important;
  letter-spacing:-.03em!important;
  color:#1e293b!important;
}
.header .nav .mobile-menu-head > button{
  width:40px!important;
  height:40px!important;
  font-size:20px!important;
  border:1.5px solid #e8e8ec!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#2a2a32!important;
}
.header .nav .mobile-menu-head > button:hover,
.header .nav .mobile-menu-head > button:active{
  border-color:#ffc4bc!important;
  background:#fff5f3!important;
  box-shadow:none!important;
}

/* Rows — compact tap targets, soft dividers (kill old card shadows) */
.header .nav > a,
.header .nav > button{
  min-height:52px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:16px!important;
  box-shadow:none!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:12px!important;
  font-size:16px!important;
  border-bottom:1px solid #f1f4f8!important;
  white-space:normal!important;
  background:transparent!important;
}
.header .nav > a:first-of-type,
.header .nav > button:first-of-type{
  margin:0!important;
  background:transparent!important;
}
.header .nav > a:last-of-type,
.header .nav > button:last-of-type{
  border-bottom:0!important;
}
.header .nav .nav-icon{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.header .nav .nav-icon img{
  max-width:36px!important;
  max-height:36px!important;
  width:auto!important;
  height:auto!important;
}
.header .nav > a strong,
.header .nav > button strong{
  font-weight:800!important;
  letter-spacing:-.01em!important;
  color:#1e293b!important;
}

/* Active — soft wash, no heavy glow card */
.header .nav a[aria-current="page"],
.header .nav.nav-open a[aria-current="page"]{
  background:linear-gradient(135deg,rgba(255,141,107,.12) 0%,rgba(255,214,102,.10) 100%)!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}

/* Footer contacts — denser card, no gray wells */
.header .nav .mobile-menu-footer{
  margin-top:12px!important;
  padding:14px!important;
  border:1.5px solid #eef1f5!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:none!important;
  gap:10px!important;
}
.header .nav .mobile-menu-footer > a.mobile-phone{
  min-height:52px!important;
  padding:6px 14px 6px 6px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:8px!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  color:#2a2a32!important;
}
.header .nav .mobile-phone > img,
.header .nav .mobile-phone .vig-emoji{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  filter:none!important;
}
.header .nav .mobile-phone > span,
.header .nav .mobile-phone > div{
  min-width:0!important;
  overflow:hidden!important;
}
.header .nav .mobile-phone small{
  display:none!important;
}
.header .nav .mobile-phone strong{
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  color:#2a2a32!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  display:block!important;
}

.header .nav .mobile-contact-title{
  color:#8b8b93!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  margin:0!important;
}

/* Messenger tiles — compact brand chips */
.header .nav .mobile-contact-options{
  display:flex!important;
  grid-template-columns:none!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin-top:2px!important;
}
.header .nav .mobile-contact-options > a{
  flex:0 0 auto!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#2a2a32!important;
  letter-spacing:0!important;
  gap:3px!important;
  white-space:normal!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.header .nav .mobile-contact-options > a span{
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  max-width:100%!important;
  text-align:center!important;
}
.header .nav .mobile-contact-options > a svg,
.header .nav .mobile-contact-options > a img,
.header .nav .mobile-contact-options > a:nth-child(3) img{
  width:44px!important;
  height:44px!important;
  display:block!important;
  object-fit:contain!important;
  flex-shrink:0!important;
  filter:none!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
}
.header .nav .mobile-contact-options > a:nth-child(1),
.header .nav .mobile-contact-options > a:nth-child(2),
.header .nav .mobile-contact-options > a:nth-child(3){
  background:transparent!important;
  border:0!important;
}
.header .nav .mobile-contact-options > a:hover,
.header .nav .mobile-contact-options > a:active{
  box-shadow:none!important;
  filter:brightness(.98);
}

/* Location */
.header .nav .mobile-menu-footer > span{
  font-size:12px!important;
  line-height:1.4!important;
  color:#8b8b93!important;
  margin-top:6px!important;
}
}
