/*
 * apb-mobile.css — Airport Parking Bay mobile redesign v5
 * ALL rules inside @media (max-width: 767.98px).
 * Loaded via <link> in <head> after apb-premium.css.
 *
 * Desktop/tablet (≥768px) is completely untouched.
 * Elements only on mobile: .apb-mob-brand, .apb-hero-sub-mob,
 *   .apb-mob-usp-section, .apb-promo-applied-chip
 */

/* ──────────────────────────────────────────────────────────────
   DESKTOP: hide mobile-only elements outside the media query
   so they never show on ≥768px screens
   ────────────────────────────────────────────────────────────── */
.apb-mob-brand        { display: none; }
.apb-hero-sub-mob     { display: none; }
.apb-mob-usp-section  { display: none; }
.apb-promo-applied-chip { display: none; }
.apb-mob-promo-label  { display: none; }

@media (max-width: 767.98px) {

  /* ==============================================================
     1. BODY OFFSET FOR FIXED NAVBAR
     html body (0,0,2) beats body (0,0,1) for !important cascade
     ============================================================== */
  html body {
    padding-top: 64px !important;
  }

  /* ==============================================================
     2. NAVBAR — 64px solid navy, sticky
     .apb-navbar.navbar-fixed-top (0,2,0) beats
       home.php's .apb-navbar (0,1,0) max-height:56px
     ============================================================== */
  .apb-navbar.navbar-fixed-top {
    height: 64px !important;
    min-height: 64px !important;
    max-height: none !important;
    border-bottom: none !important;
    box-shadow: 0 1px 0 rgba(255,255,255,0.06) !important;
  }
  /* Override body.apb-hero-top #apbNav.apb-navbar (1,2,1) — use (1,2,2) */
  html body #apbNav.apb-navbar.navbar-fixed-top {
    background: #0a1929 !important;
  }

  .apb-nav-inner {
    height: 64px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }

  /* ── LOGO: hide <picture>, show mobile brand mark ─────────── */
  .apb-navbar .apb-logo {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: calc(100% - 60px) !important;
    text-decoration: none !important;
  }
  .apb-navbar .apb-logo picture {
    display: none !important;
  }

  /* Mobile brand: P-mark SVG + wordmark */
  .apb-mob-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .apb-mob-pmark {
    height: 38px !important;
    width: 38px !important;
    flex-shrink: 0 !important;
    display: block !important;
  }
  .apb-mob-wordmark {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
  }
  .apb-mob-name {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.6px !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
  }
  .apb-mob-sub {
    font-size: 9px !important;
    letter-spacing: 0.6px !important;
    color: #93c5fd !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
  }

  /* ── BOOK PILL: remove on mobile (form is right below) ──── */
  /* .apb-header-book-cta alone (0,1,0) loses to home.php body-level inline style
     with the same selector + !important (later position wins).
     #apbHeaderBook (1,0,0) beats (0,1,0) on specificity regardless of order. */
  .apb-header-book-cta,
  #apbHeaderBook {
    display: none !important;
  }

  /* Logo left, hamburger right — no Book button in between */
  .apb-nav-inner {
    justify-content: space-between !important;
  }

  /* ── HAMBURGER: 44×44 WCAG tap target, white lines ─────── */
  .apb-hamburger {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex-shrink: 0 !important;
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.35) !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding: 0 !important;
    cursor: pointer !important;
    margin-left: 8px !important;
  }
  .apb-hamburger span {
    background: #ffffff !important;
    width: 22px !important;
    height: 2px !important;
    border-radius: 2px !important;
    display: block !important;
  }
  /* header.php inline <style> sets .apb-hamburger span { background: #1c2536 !important }
     with specificity (0,1,1) and appears AFTER this <link> in the <head>, so it wins.
     #apbToggle span has specificity (1,0,1) which beats (0,1,1) regardless of order.
     Covers default state, .scrolled state, and body.apb-hero-top state. */
  #apbToggle {
    border: 1px solid rgba(255,255,255,0.35) !important;
    border-radius: 10px !important;
    gap: 5px !important;
  }
  #apbToggle span {
    background: #fff !important;
    width: 22px !important;
    height: 2px !important;
  }

  /* ==============================================================
     3. OFF-CANVAS MENU — slide in from right, dark panel
     ============================================================== */
  #apbNavLinks.apb-nav-links {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(300px, 88vw) !important;
    background: #0a1929 !important;
    padding: 0 !important;
    transform: translateX(110%) !important;
    transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 10010 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  #apbNavLinks.apb-nav-links.open {
    transform: translateX(0) !important;
    box-shadow: -4px 0 32px rgba(0, 0, 0, 0.5) !important;
  }

  /* Stacking-context fix: lift #apbNav above #apbMenuBackdrop (z-index 10009)
     so the menu panel (inside #apbNav) paints on top of the backdrop */
  body.nav-open #apbNav {
    z-index: 10011 !important;
  }

  /* Close button — sticky at top of panel */
  .apb-nav-close-item {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: #0a1929 !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    z-index: 2 !important;
    flex-shrink: 0 !important;
    list-style: none !important;
  }
  #apbNavClose {
    position: static !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    background: rgba(255, 255, 255, 0.09) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  /* Nav rows — 52px, full-contrast white, 17px */
  .apb-nav-links li {
    list-style: none !important;
    flex-shrink: 0 !important;
  }
  .apb-nav-links li > a {
    display: flex !important;
    align-items: center !important;
    padding: 0 20px !important;
    min-height: 52px !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
    text-decoration: none !important;
    background: transparent !important;
    letter-spacing: 0 !important;
  }
  .apb-nav-links li > a:hover,
  .apb-nav-links li > a:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #fbbf24 !important;
  }
  .apb-nav-links li > a::after {
    display: none !important;
  }

  /* Contact / email link */
  .apb-nav-phone-link {
    color: #93c5fd !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    white-space: normal !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 20px !important;
    gap: 8px !important;
    text-decoration: none !important;
  }
  .apb-nav-phone-link:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #93c5fd !important;
  }

  /* Book Now — solid full-width CTA button */
  #apbNavLinks .apb-nav-book-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 14px 14px 24px !important;
    width: calc(100% - 28px) !important;
    padding: 15px 20px !important;
    background: #1a72ba !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(26, 114, 186, 0.4) !important;
    letter-spacing: 0.01em !important;
    gap: 6px !important;
  }
  #apbNavLinks .apb-nav-book-cta:hover {
    background: #155fa0 !important;
    color: #ffffff !important;
  }
  #apbNavLinks .apb-nav-book-cta::after {
    display: none !important;
  }

  /* ==============================================================
     4. TRUST BAR
     ============================================================== */
  .apb-trust-bar {
    display: none !important;
  }

  /* ==============================================================
     5. PROMO BANNER — single compact strip, 36px
     ============================================================== */
  .apb-promo-banner {
    margin-top: 0 !important;
    overflow: hidden !important;
  }
  .apb-promo-inner {
    padding: 6px 44px 6px 14px !important;
    gap: 8px !important;
    min-height: 36px !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    display: flex !important;
  }
  .apb-promo-icon-wrap,
  .apb-promo-cta,
  .apb-promo-eyebrow,
  .apb-promo-code-hint {
    display: none !important;
  }
  /* Close × — vertically centred, 36px tap target */
  .apb-promo-close {
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    font-size: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }

  /* ==============================================================
     6. HERO — solid navy, centred, compact (~130-150px)
     ============================================================== */
  .apb-hero--split {
    background: #0a1929 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    min-height: auto !important;
  }
  /* Container: 100% width, border-box, standard gutter */
  .apb-hero--split .container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Grid: stacked column on mobile */
  .apb-hero-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    grid-template-columns: unset !important;
    grid-template-rows: unset !important;
  }

  /* Hero text-top: centred, just H1 + subtitle */
  .apb-hero-text-top {
    text-align: center !important;
    padding-bottom: 18px !important;
    order: 1 !important;
  }

  /* H1 — specificity (0,2,1) beats home.php's (0,1,1) */
  .apb-hero--split .apb-hero-headline {
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 8px !important;
    text-align: center !important;
  }

  /* Mobile subtitle: one compact line */
  .apb-hero-sub-mob {
    display: block !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-align: center !important;
    margin: 0 0 16px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.1px !important;
  }

  /* Hide badge, trust row, text-bottom on mobile */
  .apb-hero-badge {
    display: none !important;
  }
  /* home.php body-level inline style has .apb-hero-trust-row { display:flex !important }
     (0,1,0) — later in cascade so it wins over our (0,1,0) rule.
     Two-class selector (0,2,0) beats (0,1,0) on specificity. */
  .apb-hero--split .apb-hero-trust-row,
  .apb-hero-trust-row {
    display: none !important;
  }
  .apb-hero-text-bottom {
    display: none !important;
  }

  /* ==============================================================
     7. BOOKING CARD — polished, 16px radius, soft shadow
     ============================================================== */
  .apb-hero-right {
    order: 2 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* ── Card shell ── */
  .apb-bk-card,
  .apb-hero--split .apb-bk-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 20px 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
    margin: 0 !important;
    border: none !important;
    position: relative !important;
    overflow: visible !important;
  }
  /* Blue top accent (match card radius) */
  .apb-bk-card::before {
    border-radius: 16px 16px 0 0 !important;
  }

  /* ── Card title ── */
  /* home.php body-level styles override (0,1,1) selectors — use (0,2,1) */
  .apb-bk-card .apb-bk-card-title {
    margin-bottom: 16px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0a1929 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .apb-bk-card .apb-bk-card-title-main {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0a1929 !important;
    width: 100% !important;
  }
  .apb-bk-card .apb-bk-card-title-main i {
    color: #1a72ba !important;
  }
  /* "Instant quote · No booking fees" helper line via ::after */
  .apb-bk-card .apb-bk-card-title::after {
    content: 'Instant quote \b7 No booking fees';
    flex: 0 0 100% !important;
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #8a9ab5 !important;
    letter-spacing: 0 !important;
    margin-top: 2px !important;
  }
  .apb-bk-card-title .apb-tag {
    display: none !important;
  }

  /* ── Airport field — show label div (has pin icon in HTML), hide plain span ── */
  .apb-mob-airport-sublabel {
    display: none !important;
  }
  .apb-field-airport {
    display: none !important;
  }
  /* Override inline display:none + home.php rules (all (0,1,1)) with (0,2,1) */
  .apb-bk-card .apb-airport-mobile-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    position: relative !important;
    border: 1px solid #d5dbe5 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    padding: 0 40px 0 14px !important;
    min-height: 50px !important;
    margin-top: 20px !important;
    margin-bottom: 14px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #0a1929 !important;
    cursor: default !important;
    box-sizing: border-box !important;
  }
  /* "AIRPORT" label positioned above the field border */
  .apb-bk-card .apb-airport-mobile-label::before {
    content: 'AIRPORT' !important;
    position: absolute !important;
    top: -18px !important;
    left: 0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #5b6475 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
  }
  /* Green ✓ on the right */
  .apb-bk-card .apb-airport-mobile-label::after {
    content: '\2713' !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #1f9d55 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
  }
  .apb-bk-card .apb-airport-mobile-label i {
    color: #1a72ba !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
    font-size: 14px !important;
  }

  /* ── Date/time 2-column pairs ── */
  .apb-mob-date-pair {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
  }
  .apb-mob-date-pair .apb-field {
    margin-bottom: 0 !important;
    min-width: 0 !important;
  }
  /* Sentence-case labels, 13px semibold — (0,4,1) beats home.php (0,3,1) font-size:11px */
  .apb-bk-card .apb-mob-date-pair .apb-field label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #5b6475 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 6px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  /* Hide red asterisks */
  .apb-bk-card .apb-mob-date-pair .apb-field label .req {
    display: none !important;
  }

  /* ── All inputs: 50px, 10px radius, #d5dbe5 border, 16px, dark navy ── */
  .apb-control,
  select.apb-control,
  input[type="date"].apb-control,
  input[type="time"].apb-control,
  input[type="text"].apb-control,
  .apb-mob-ctrl,
  input[type="date"].apb-mob-ctrl,
  input[type="time"].apb-mob-ctrl {
    font-size: 16px !important;
    height: 50px !important;
    min-height: 50px !important;
    border: 1px solid #d5dbe5 !important;
    border-radius: 10px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    background: #ffffff !important;
    color: #0a1929 !important;
    display: block !important;
  }
  /* Beat home.php .apb-mob-ctrl (0,1,1) for border-radius:7px and min-height:48px */
  .apb-bk-card .apb-mob-ctrl,
  .apb-bk-card input[type="date"].apb-mob-ctrl,
  .apb-bk-card input[type="time"].apb-mob-ctrl {
    font-size: 16px !important;
    height: 50px !important;
    min-height: 50px !important;
    border-radius: 10px !important;
    padding: 0 12px !important;
  }
  /* Beat home.php .apb-mob-date-pair .apb-mob-ctrl (0,2,1) for min-height:44px + font-size:14px */
  .apb-bk-card .apb-mob-date-pair .apb-mob-ctrl,
  .apb-bk-card .apb-mob-date-pair input[type="date"].apb-mob-ctrl,
  .apb-bk-card .apb-mob-date-pair input[type="time"].apb-mob-ctrl {
    font-size: 16px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 12px !important;
  }
  /* 2px brand-blue focus ring */
  .apb-mob-ctrl:focus,
  input[type="date"].apb-mob-ctrl:focus,
  input[type="time"].apb-mob-ctrl:focus {
    border-color: #1a72ba !important;
    box-shadow: 0 0 0 2px rgba(26, 114, 186, 0.25) !important;
    outline: none !important;
  }

  /* Show mobile inputs, hide desktop selects/datepickers */
  .apb-mob-ctrl {
    display: block !important;
  }
  /* Class rules for desk-ctrl hiding */
  .apb-bk-card .apb-control.apb-desk-ctrl,
  .apb-desk-ctrl {
    display: none !important;
  }
  /* ID selectors (1,0,0) — guaranteed to beat any class rule */
  #pickDate,
  #pickTimeHr,
  #returnDate,
  #returnTimeH {
    display: none !important;
  }

  /* ── Discount code ── */
  /* Hide toggle link */
  .apb-promo-toggle-link {
    display: none !important;
  }
  /* (1,0,2) beats home.php #apbPromoToggle { display:inline !important } (1,0,0) */
  html body #apbPromoToggle {
    display: none !important;
  }
  /* Show the "Discount Code" label (hidden on mobile by home.php) */
  /* home.php has .apb-field-label-desktop { display:none !important } (0,1,1) — beat with (0,2,1) */
  .apb-bk-card .apb-field-label-desktop {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #5b6475 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 6px !important;
  }
  /* Always show promo wrap; CSS !important beats JS inline style.display="none" */
  #apbPromoMobileWrap {
    display: block !important;
    position: relative !important;
    margin-top: 0 !important;
  }
  /* Hide the JS-injected chip — CSS `:has()` handles applied state instead */
  .apb-promo-applied-chip {
    display: none !important;
  }
  .apb-promo-applied-badge {
    display: none !important;
  }
  /* Base discount field */
  #txtBkDisCode {
    font-size: 16px !important;
    height: 50px !important;
    min-height: 50px !important;
    width: 100% !important;
    border: 1px solid #d5dbe5 !important;
    border-radius: 10px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #0a1929 !important;
  }
  #txtBkDisCode:focus {
    border-color: #1a72ba !important;
    box-shadow: 0 0 0 2px rgba(26, 114, 186, 0.25) !important;
    outline: none !important;
  }
  /* Applied state: code entered → green border, bg, badge via ::after on wrap */
  #apbPromoMobileWrap:has(#txtBkDisCode:not(:placeholder-shown)) #txtBkDisCode {
    border-color: #1f9d55 !important;
    background: #eefaf2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    color: #1f9d55 !important;
    padding-right: 110px !important;
  }
  #apbPromoMobileWrap:has(#txtBkDisCode:not(:placeholder-shown))::after {
    content: '\2713 20% off' !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #1f9d55 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    background: rgba(238, 250, 242, 0.95) !important;
    padding: 3px 7px !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    pointer-events: none !important;
  }
  .apb-field:has(#txtBkDisCode) {
    margin-bottom: 0 !important;
  }

  /* ── SEARCH PARKING button ── */
  /* Use (1,2,1) = html body .apb-bk-card .apb-btn-quote to beat
     home.php body-level (0,2,1) = .apb-hero--split .apb-btn-quote */
  html body .apb-bk-card .apb-btn-quote {
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    margin-top: 18px !important;
    background: linear-gradient(160deg, #1e88d8 0%, #1a72ba 45%, #1259a0 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 16px rgba(26, 114, 186, 0.45) !important;
    transition: transform 0.1s, box-shadow 0.1s !important;
  }
  html body .apb-bk-card .apb-btn-quote:active {
    transform: scale(0.98) !important;
    background: linear-gradient(160deg, #1a72ba 0%, #1259a0 100%) !important;
    box-shadow: 0 2px 8px rgba(26, 114, 186, 0.3) !important;
  }
  /* Show "Search Parking" mob span, hide "Get Quote" desk span */
  .apb-btn-txt-desk {
    display: none !important;
  }
  .apb-btn-txt-mob {
    display: inline !important;
  }
  .apb-btn-ico-arrow {
    display: none !important;
  }
  .apb-btn-shine {
    display: none !important;
  }

  /* ── Trust row below button ── */
  /* home.php has .apb-trust-row { display: none !important } (0,1,1) — beat with (0,2,1) */
  .apb-bk-card .apb-trust-row {
    display: flex !important;
    justify-content: space-evenly !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #5b6475 !important;
    margin-top: 10px !important;
    flex-wrap: wrap !important;
  }
  .apb-bk-card .apb-trust-row i {
    color: #1a72ba !important;
    font-size: 13px !important;
  }

  /* ==============================================================
     8. MOBILE USP SECTION — below card, on hero background
     ============================================================== */
  .apb-mob-usp-section {
    display: block !important;
    padding: 20px 0 6px !important;
    order: 3 !important;
  }
  .apb-mob-usp-list {
    list-style: none !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  .apb-mob-usp-list li {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    line-height: 1.3 !important;
  }
  .apb-mob-usp-list li i {
    color: #4ade80 !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
  }

  /* Badge / trust card */
  .apb-mob-badge-card {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .apb-mob-auth-text {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
  }
  .apb-mob-auth-text i {
    color: #93c5fd !important;
    font-size: 15px !important;
  }
  .apb-mob-tp-wrap {
    flex: 1 !important;
    min-width: 0 !important;
  }

  /* Reassure strip: hidden (replaced by USP section) */
  .apb-mob-reassure {
    display: none !important;
  }

  /* ==============================================================
     9. STICKY BAR
     ============================================================== */
  .apb-sticky-bar {
    height: 56px !important;
    z-index: 9990 !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }

  /* ==============================================================
     10. REDUCED MOTION
     ============================================================== */
  @media (prefers-reduced-motion: reduce) {
    #apbNavLinks.apb-nav-links {
      transition: none !important;
    }
  }

} /* end @media (max-width: 767.98px) */
