
/* =========================================================
   MOBILE FINAL FIX — 2026-09-01
   Only affects screens <= 640px
   ========================================================= */
@media (max-width:640px){

  html,body{
    overflow-x:hidden !important;
    width:100% !important;
  }
  body{
    padding-bottom:66px !important;
  }

  /* Header: compact, balanced */
  .header{
    height:72px !important;
  }
  .header-inner{
    height:72px !important;
    padding:0 14px !important;
    gap:10px !important;
  }
  .brand b{
    font-size:18px !important;
    letter-spacing:.2px !important;
  }
  .brand span{
    font-size:7px !important;
    letter-spacing:5px !important;
  }
  .top-phone{
    margin-left:auto !important;
    padding-left:14px !important;
  }
  .top-phone strong{
    font-size:18px !important;
    white-space:nowrap !important;
  }

  /* Hero: never crop, no floating overlap on mobile */
  .pickHero,
  .pickHeroStage{
    width:100% !important;
    overflow:hidden !important;
  }
  .pickHeroImage{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .pickHeroHotspot{
    display:none !important;
  }

  /* Top form is modal when explicitly opened from a link/button,
     but no persistent floating circle on mobile. */
  .pickLeadPanel{
    width:min(92vw,410px) !important;
    max-height:82vh !important;
    padding:18px 16px 16px !important;
  }
  .pickLeadPanel h1{
    font-size:30px !important;
  }
  .pickLeadForm input:not([type=checkbox]){
    height:46px !important;
    font-size:14px !important;
  }
  .pickSubmit{
    height:52px !important;
    font-size:17px !important;
  }

  /* Gift section: clean vertical layout, no awkward clipping */
  .gift-promo{
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:24px 18px 22px !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:12px 14px !important;
    align-items:center !important;
  }
  .gift-icon{
    grid-column:1 !important;
    grid-row:1 !important;
    font-size:50px !important;
    line-height:1 !important;
    align-self:start !important;
    margin-top:20px !important;
  }
  .gift-copy{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }
  .gift-copy>span{
    font-size:10px !important;
    padding:5px 9px !important;
  }
  .gift-copy h2{
    margin:8px 0 6px !important;
    font-size:21px !important;
    line-height:1.35 !important;
    letter-spacing:-.8px !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }
  .gift-copy p{
    font-size:11px !important;
    line-height:1.6 !important;
    word-break:keep-all !important;
  }
  .voucher{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    width:100% !important;
    height:112px !important;
    margin-top:8px !important;
    padding:18px 20px !important;
    transform:none !important;
    box-sizing:border-box !important;
  }
  .voucher small{
    font-size:13px !important;
  }
  .voucher strong{
    font-size:38px !important;
    margin-top:4px !important;
  }
  .voucher em{
    font-size:12px !important;
  }
  .gift-cta{
    display:none !important;
  }

  /* Benefits: 2x2 compact, prevent cutoff by sticky bar */
  .quick-benefit-strip{
    width:100% !important;
    min-height:0 !important;
    padding:10px 8px 14px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
  }
  .quick-benefit-strip>div{
    min-height:52px !important;
    padding:7px 4px !important;
    gap:8px !important;
    font-size:11px !important;
    text-align:center !important;
  }
  .quick-benefit-strip i{
    width:23px !important;
    height:23px !important;
    min-width:23px !important;
    font-size:11px !important;
  }

  /* Main registration block: smaller and centered */
  .big-register{
    width:auto !important;
    max-width:none !important;
    margin:16px 12px !important;
    padding:26px 16px 24px !important;
    display:block !important;
    border-radius:12px !important;
  }
  .reg-copy{
    text-align:center !important;
  }
  .reg-kicker{
    font-size:13px !important;
    letter-spacing:2px !important;
  }
  .reg-copy h2{
    margin:8px 0 10px !important;
    font-size:34px !important;
    line-height:1.15 !important;
    letter-spacing:-1.2px !important;
  }
  .reg-copy p{
    margin:0 auto !important;
    max-width:320px !important;
    font-size:14px !important;
    line-height:1.65 !important;
    word-break:keep-all !important;
  }
  .benefit-chip{
    display:inline-block !important;
    margin:15px 0 6px !important;
    padding:10px 14px !important;
    font-size:12px !important;
    line-height:1.4 !important;
    white-space:normal !important;
  }
  .reg-copy>a{
    display:block !important;
    margin:10px 0 4px !important;
    font-size:27px !important;
    white-space:nowrap !important;
  }
  .benefit-note{
    margin:8px auto 18px !important;
    max-width:320px !important;
    font-size:10px !important;
    line-height:1.5 !important;
  }

  .gold-form{
    margin-top:18px !important;
    padding:20px 14px 18px !important;
    border-radius:12px !important;
  }
  .gold-form h3{
    margin:0 0 14px !important;
    font-size:25px !important;
  }
  .gold-form .two-col{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .gold-form input{
    width:100% !important;
    height:50px !important;
    font-size:14px !important;
  }
  .gold-form button{
    height:54px !important;
    font-size:17px !important;
  }
  .gold-form .agree{
    font-size:11px !important;
    line-height:1.4 !important;
  }

  /* Other content */
  .section{
    padding:48px 14px !important;
  }
  .section-title h2{
    font-size:27px !important;
    line-height:1.3 !important;
  }
  .premium-cards{
    grid-template-columns:1fr 1fr !important;
  }
  .premium-cards article{
    min-height:142px !important;
    padding:18px 8px !important;
  }
  .map-section{
    padding:38px 8px !important;
  }

  /* Bottom sticky bar: lower visual weight and no overlap */
  .mobile-bar{
    height:66px !important;
    z-index:100 !important;
  }
  .mobile-bar a{
    font-size:13px !important;
  }
  .mobile-bar span{
    font-size:9px !important;
  }

  footer{
    padding-bottom:90px !important;
  }
}
