/* =========================================================
   RESPONSIVE + MOBILE OPTIMIZATION PACK
========================================================= */

/* Tap targets */
@media (max-width: 980px){
  a, button, input, select, textarea{
    -webkit-tap-highlight-color: transparent;
  }
  button, .sc-btnHero, .sc-car2Btn, .sc-vbtn, .sc-formBtn, .sc-ctaEndBtn, .sc-footBtn{
    min-height: 44px;
  }
}

/* Container: less margins on mobile */
@media (max-width: 640px){
  .sc-wrap{
    width: min(1200px, calc(100% - 28px));
  }
}

/* =========================
   HEADER MOBILE
========================= */
@media (max-width: 1024px){
  .sc-head{ height: 76px; gap: 10px; }
  .sc-head__center{ display: none; }
  .sc-burger{ display: inline-flex; align-items: center; justify-content: center; }

  .sc-head__left{ flex: 1 1 auto; flex-basis: auto; }
  .sc-head__right{ flex: 0 0 auto; gap: 10px; }

  .sc-brand img,
  .sc-brand .custom-logo{
    height: 38px !important;
    max-height: 38px !important;
    max-width: 150px !important;
  }

  .sc-help__label{ display: none; }
  .sc-help__phone{ font-size: 13px; }
  .sc-help__icon{ width: 42px; height: 42px; }
}

@media (max-width: 640px){
  .sc-help__txt{ display: none; }
  .sc-head__right{ gap: 8px; }
  .sc-burger, .sc-help__icon{ width: 44px; height: 44px; }
}

/* Drawer mobile */
@media (max-width: 640px){
  .sc-drawer__panel{
    top: 10px;
    right: 10px;
    width: calc(100% - 20px);
    height: calc(100dvh - 20px);
    border-radius: 16px;
  }
  .sc-drawer__list a{
    height: 52px;
    border-radius: 14px;
    font-size: 14px;
  }
}

/* =========================
   HERO MOBILE
========================= */
@media (max-width: 980px){
  .sc-hero{ padding: 18px 0 26px; }

  .sc-heroCard{
    grid-template-columns: 1fr;
    border-radius: 22px;
    gap: 14px;
    padding: 18px;
    min-height: auto;
  }

  .sc-heroLeft{ padding-top: 0; max-width: 100%; }

  .sc-heroTitle{
    font-size: clamp(28px, 7.2vw, 38px);
    line-height: 1.03;
    margin-bottom: 12px;
  }

  .sc-heroText{
    font-size: 14px;
    line-height: 1.55;
    max-width: none;
    margin-bottom: 14px;
  }

  .sc-btnHero{
    width: 100%;
    height: 46px;
    border-radius: 12px;
  }

  .sc-heroForm{
    width: 100%;
    max-width: 520px;
    margin: 18px auto 0;
  }

  .sc-heroCar{
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: 10px;
  }
  .sc-heroCar img{ transform: none; width: 100%; }
}

@media (max-width: 640px){
  .sc-heroForm{
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 14px 46px rgba(0,0,0,.16);
  }
  .sc-heroForm__title{
    font-size: 18px;
    margin: 4px 0 12px;
  }
  .sc-field{ height: 48px; border-radius: 12px; }
  .sc-formBtn{ height: 50px; border-radius: 12px; }
}

/* =========================
   MARQUEE MOBILE
========================= */
@media (max-width: 640px){
  .sc-marqueeItem{ padding: 12px 18px; font-size: 12px; }
  .sc-marqueeItem img{ height: 30px; }
}

/* =========================
   VALUES MOBILE
========================= */
@media (max-width: 980px){
  .sc-values{ padding: 44px 0; }
  .sc-valuesTop{ grid-template-columns: 1fr; gap: 28px; margin-bottom: 44px; }
  .sc-valuesBottom{ grid-template-columns: 1fr; }
  .sc-valuesImage{ max-width: 520px; margin-inline: auto; }
}
@media (max-width: 640px){
  .sc-value h3{ font-size: 16px; }
  .sc-value p{ font-size: 13px; }
  .sc-step p{ font-size: 13px; }
}

/* =========================
   FLEET MOBILE
========================= */
@media (max-width: 1024px){
  .sc-fleet2Grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px){
  .sc-fleet2{ padding: 44px 0; }
  .sc-fleet2Head{
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
  }
  .sc-fleet2All{ margin-top: 0; }
}
@media (max-width: 640px){
  .sc-fleet2Title{ font-size: clamp(22px, 6.2vw, 30px); }
  .sc-fleet2Grid{ grid-template-columns: 1fr; gap: 14px; }

  .sc-car2{ border-radius: 12px; }
  .sc-car2Media::before{ aspect-ratio: 4 / 3; border-radius: 12px; }
  .sc-car2Body{ padding: 12px 14px 14px; }
  .sc-car2Name{ font-size: 13px; }
  .sc-car2PriceVal{ font-size: 15px; }
  .sc-car2Btn{ height: 42px; border-radius: 10px; }
}

/* =========================
   FACTS MOBILE
========================= */
@media (max-width: 1024px){
  .sc-factsGrid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px){
  .sc-facts{ padding: 44px 0; }
  .sc-factsCard{ border-radius: 22px; padding: 26px 18px; }
  .sc-factsHead{ margin-bottom: 22px; }
  .sc-factsText{ font-size: 13px; }
}
@media (max-width: 560px){
  .sc-factsGrid{ grid-template-columns: 1fr; gap: 14px; }
  .sc-fact{ padding: 14px; border-radius: 14px; }
  .sc-factIcon{ width: 44px; height: 44px; }
  .sc-factBody strong{ font-size: 18px; }
  .sc-factBody span{ font-size: 12px; }
}

/* =========================
   VEHICLES CUSTOM PAGE MOBILE
========================= */
@media (max-width: 1024px){
  .sc-vgrid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px){
  .sc-vpage{ padding: 32px 0 56px; }
  .sc-vfilters{
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 10px;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .sc-vfilters::-webkit-scrollbar{ height: 0; }
  .sc-chip{ flex: 0 0 auto; height: 34px; padding: 0 14px; }
}
@media (max-width: 640px){
  .sc-vgrid{ grid-template-columns: 1fr; }
  .sc-vtitle{ font-size: clamp(22px, 6.2vw, 30px); }
}

/* =========================
   BRANDS MOBILE
========================= */
@media (max-width: 640px){
  .sc-brands{ padding: 16px 0 22px; }
  .sc-brandsPill{ padding: 14px 16px; border-radius: 18px; }
  .sc-brandsList{ flex-wrap: wrap; justify-content: center; gap: 16px 22px; }
  .sc-brandsList img{ height: 22px; }
}

/* =========================
   ABOUT MOBILE
========================= */
@media (max-width: 980px){
  .sc-aboutHero{ padding: 34px 0 56px; }
  .sc-aboutRow{ grid-template-columns: 1fr; }
  .sc-aboutFeatures{ grid-template-columns: 1fr; gap: 18px; }
  .sc-aboutFeat p{ max-width: none; }
  .sc-aboutLeft__headline{ font-size: clamp(22px, 6vw, 32px); }
  .sc-aboutVideo{ min-height: 220px; }
}
@media (max-width: 640px){
  .sc-aboutTop__title{ font-size: clamp(22px, 6.2vw, 30px); }
  .sc-aboutFeat p{ font-size: 12.5px; }
  .sc-miniStatsGrid{ grid-template-columns: 1fr; gap: 18px; }
  .sc-aboutSplitGrid{ grid-template-columns: 1fr; }
  .sc-aboutSplitBullets{ grid-template-columns: 1fr; max-width: 520px; }
  .sc-aboutSplitMedia{ max-width: 520px; margin-inline: auto; }
}

/* =========================
   REVIEWS MOBILE
========================= */
@media (max-width: 1024px){
  .sc-reviewsGrid{ grid-template-columns: 1fr; gap: 16px; }
  .sc-reviewText{ max-width: 420px; }
}
@media (max-width: 640px){
  .sc-reviews{ padding: 44px 0; }
  .sc-reviewsTitle{ font-size: clamp(22px, 6.2vw, 30px); }
  .sc-reviewTop{ padding: 18px 16px 54px; }
  .sc-reviewText{ font-size: 12.5px; line-height: 1.65; }
  .sc-reviewBar{ padding: 36px 14px 14px; }
}

/* =========================
   FAQ MOBILE
========================= */
@media (max-width: 640px){
  .sc-faq{ padding: 44px 0; }
  .sc-faqTitle{ font-size: clamp(22px, 6.2vw, 30px); }
  .sc-faqQ{ padding: 16px; }
  .sc-faqA{ padding: 0 16px 16px; }
  .sc-faqA p{ font-size: 12.5px; }
}

/* =========================
   CTA END MOBILE
========================= */
@media (max-width: 980px){
  .sc-ctaEnd{ padding: 44px 0; }
  .sc-ctaEndCard{ grid-template-columns: 1fr; border-radius: 16px; min-height: auto; }
  .sc-ctaEndLeft{ padding: 22px 18px; }
  .sc-ctaEndPhone{ font-size: 16px; }
  .sc-ctaEndText{ font-size: 12.5px; }
  .sc-ctaEndBtn{ width: 100%; height: 44px; border-radius: 12px; }
  .sc-ctaEndRight{ min-height: 200px; }
  .sc-ctaEndRight img{ object-position: center; padding: 12px; }
  .sc-ctaEndCard::after{
    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.45) 55%,
        rgba(0,0,0,.20) 100%
      );
  }
}
@media (max-width: 640px){
  .sc-ctaEndRight{ min-height: 180px; }
  .sc-ctaEndRight img{ padding: 10px 14px 14px; }
}

/* =========================
   FOOTER MOBILE
========================= */
@media (max-width: 980px){
  .sc-footer{ padding: 44px 0 22px; }
  .sc-footerTop{ grid-template-columns: 1fr 1fr; }
  .sc-footDesc{ font-size: 13px; }
}
@media (max-width: 640px){
  .sc-footerTop{ grid-template-columns: 1fr; gap: 18px; }
  .sc-footTitle{ margin-bottom: 10px; }
  .sc-footList a, .sc-footText{ font-size: 13px; }
  .sc-footerBottom{ margin-top: 18px; padding-top: 14px; }
}

/* =========================
   Reduced motion
========================= */
@media (prefers-reduced-motion: reduce){
  *{
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* =========================
   Scroll safety
========================= */
html, body{
  height: auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

body.sc-lock{
  overflow: hidden !important;
  touch-action: none;
}

#page, .site, .site-content{
  position: relative;
  overflow: visible;
}

.sc-drawer:not(.is-open) .sc-drawer__backdrop,
.sc-drawer:not(.is-open) .sc-drawer__panel{
  display: none !important;
  pointer-events: none !important;
}
.sc-videoModal[hidden]{
  display: none !important;
  pointer-events: none;
}
