/** Shopify CDN: Minification failed

Line 924:0 Expected "*/" to terminate multi-line comment

**/
/* PromoMogul Theme Overrides — pm-overrides.css */
/* Last updated: 2026-04-02 */

/* ===== Fix 22: Global font consistency ===== */
/* Inputs/textareas/selects default to browser monospace — force inherit to match site font */
input, textarea, select, button {
  font-family: inherit !important;
}
/* Ensure all custom pm-/pmq-/pmhf- body text (not headings) uses consistent sans-serif */
.pmq__input, .pmq__textarea, .pmq__select, .pmq__label,
.pmq__p, .pmq__lead, .pmq__sub, .pmq__help, .pmq__a,
.pmq__trust-line, .pmq__browse-link, .pmq__chip,
.pm-tier__table, .pm-tier__heading, .pm-tier__perks {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* Fix 1: Remove black bars on collection product cards */
body.template-collection .card__inner.color-scheme-2,
body.template-collection .card--standard .card__inner {
  background: #ffffff !important;
  --gradient-background: #ffffff !important;
}

body.template-collection .card__badge {
  display: none !important;
}

/* Fix 2: Hide subnav everywhere (removed per user request) */
.pm-subnav {
  display: none !important;
}

/* Fix 3: Collection grid 4 columns */
body.template-collection .collection .grid,
body.template-collection .product-grid,
body.template-collection ul.grid.grid--2-col-tablet-down {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}

/* Fix 3b: Grid items must use auto width to fill grid columns; stretch to equal row height */
body.template-collection #product-grid > .grid__item {
  width: auto !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
body.template-collection #product-grid > .grid__item .card-wrapper {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

@media screen and (max-width: 749px) {
  body.template-collection .collection .grid,
  body.template-collection .product-grid,
  body.template-collection ul.grid.grid--2-col-tablet-down {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Fix 4: Remove duplicate teal badge on product pages */
body.template-product .price::after {
  display: none !important;
}

/* Fix 5: Hide Shop Pay installment message on product pages */
body.template-product [class*="shopify-payment"],
body.template-product .spi-banner,
body.template-product shopify-payment-terms {
  display: none !important;
}


/* Fix 6: Horizontal overflow — remove scrollbar on every page */
html {
  overflow-x: clip !important;
}
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

    /* Fix 7: Footer links invisible (blue on black) */
    .shopify-section-group-footer-group a,
    footer a,
    .pm-footer-info__links a {
      color: #94a3b8 !important;
      }
      .shopify-section-group-footer-group a:hover,
      footer a:hover {
        color: #60A5FA !important;
        }

        /* Fix 8: Announcement bar text too small (7.8px) */
        .pm-topbar,
        .pm-topbar__reviews,
        .pm-topbar__reviews-full,
        .pm-topbar a {
          font-size: 12px !important;
          }

          /* Fix 9: Breadcrumbs invisible on collection/product pages */
          body.template-collection .breadcrumbs a,
          body.template-collection .breadcrumbs span,
          body.template-collection nav[aria-label="breadcrumb"] a,
          body.template-collection nav[aria-label="breadcrumb"] span,
          body.template-product .breadcrumbs a,
          body.template-product .breadcrumbs span {
            color: #6b7280 !important;
            }
            

/* ===== Fix 10: Footer 4-column grid ===== */
.pm-footer-info__grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr !important;
  gap: 40px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
}
@media (max-width: 749px) {
  .pm-footer-info__grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 32px 20px !important;
  }
}
.pm-footer-info__col {
  display: flex !important;
  flex-direction: column !important;
}
.pm-footer-info__label {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin-bottom: 16px !important;
}
.pm-footer-info__links {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* ===== Fix 11: Hero image full width, no crop (layout handled in pm-home-funnel.liquid) ===== */
#pmhf-hero .pmhf-heroBanner {
  width: 100% !important;
}
#pmhf-hero .pmhf-bannerMedia--image,
#pmhf-hero .pmhf-bannerMedia {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}



/* ===== Fix 13: Animation fallback — sections stay invisible without this ===== */
.pmhf-reveal { animation: pmhf-fallback-reveal .85s ease 1.5s both; }
.pmhf-reveal.is-in { animation: none; }
.pmhf-anim { animation: pmhf-fallback-reveal .95s ease 2s both; }
.pmhf-reveal.is-in .pmhf-anim { animation: none; }
@keyframes pmhf-fallback-reveal { to { opacity: 1; transform: translateY(0); } }

/* ===== Fix 14: Footer contrast ===== */
.pm-footer-info__detail { color: rgba(170,179,190,0.85) !important; }
.pm-footer-info__copyright { opacity: 0.7 !important; }


/* ===== Fix 16: Product page — force dark theme on Dawn native elements ===== */
body.template-product .product__title { color: #f5f7fa !important; }
body.template-product .price__regular .price-item { color: #f5f7fa !important; }
body.template-product .price__sale .price-item--sale { color: #f5f7fa !important; }
body.template-product .price__compare .price-item--regular { color: rgba(255,255,255,0.45) !important; text-decoration: line-through !important; }
body.template-product .product-form__submit { background: linear-gradient(180deg, #4A82B8 0%, #2E5A8A 100%) !important; color: #fff !important; border-color: transparent !important; }
body.template-product .product__description { color: #d7dde5 !important; }
body.template-product .product-form__input label { color: #d7dde5 !important; }

/* ===== Fix 24: Product description — force dark theme on ALL inline-styled elements ===== */
/* Targets any element with a hardcoded light background from imprint.com HTML */
.pm-retail .pm-panelbody * {
  border-color: rgba(255,255,255,0.10) !important;
}
.pm-retail .pm-panelbody [style*="background:#f"],
.pm-retail .pm-panelbody [style*="background: #f"],
.pm-retail .pm-panelbody [style*="background:#e"],
.pm-retail .pm-panelbody [style*="background: #e"],
.pm-retail .pm-panelbody [style*="background:#d"],
.pm-retail .pm-panelbody [style*="background: #d"],
.pm-retail .pm-panelbody [style*="background:#c"],
.pm-retail .pm-panelbody [style*="background: #c"],
.pm-retail .pm-panelbody [style*="background:#b"],
.pm-retail .pm-panelbody [style*="background: #b"],
.pm-retail .pm-panelbody [style*="background:#a"],
.pm-retail .pm-panelbody [style*="background: #a"],
.pm-retail .pm-panelbody [style*="background: white"],
.pm-retail .pm-panelbody [style*="background:white"],
.pm-retail .pm-panelbody [style*="background-color:#f"],
.pm-retail .pm-panelbody [style*="background-color: #f"],
.pm-retail .pm-panelbody [style*="background-color:#e"],
.pm-retail .pm-panelbody [style*="background-color: #e"],
.pm-retail .pm-panelbody [style*="background-color:#d"],
.pm-retail .pm-panelbody [style*="background-color: #d"],
.pm-retail .pm-panelbody [style*="background-color:#c"],
.pm-retail .pm-panelbody [style*="background-color: #c"],
.pm-retail .pm-panelbody [style*="background-color: white"],
.pm-retail .pm-panelbody [style*="background-color:white"],
.pm-retail .pm-panelbody [style*="background-color: rgb(255"],
.pm-retail .pm-panelbody [style*="background-color: rgb(24"],
.pm-retail .pm-panelbody [style*="background-color: rgb(23"],
.pm-retail .pm-panelbody [style*="background-color: rgb(22"],
.pm-retail .pm-panelbody [style*="background-color: rgb(21"],
.pm-retail .pm-panelbody [style*="background-color: rgb(20"] {
  background: #12161b !important;
  background-color: #12161b !important;
  color: #c8d0db !important;
}
/* Table cells always dark */
.pm-retail .pm-panelbody td,
.pm-retail .pm-panelbody th {
  background-color: transparent !important;
  color: #c8d0db !important;
}
.pm-retail .pm-panelbody tr:nth-child(odd) td {
  background-color: rgba(255,255,255,0.02) !important;
}
/* Inline color text — make light */
.pm-retail .pm-panelbody [style*="color:#0"],
.pm-retail .pm-panelbody [style*="color: #0"],
.pm-retail .pm-panelbody [style*="color:#1"],
.pm-retail .pm-panelbody [style*="color: #1"],
.pm-retail .pm-panelbody [style*="color:#2"],
.pm-retail .pm-panelbody [style*="color: #2"],
.pm-retail .pm-panelbody [style*="color:#3"],
.pm-retail .pm-panelbody [style*="color: #3"],
.pm-retail .pm-panelbody [style*="color:#4"],
.pm-retail .pm-panelbody [style*="color: #4"],
.pm-retail .pm-panelbody [style*="color:#5"],
.pm-retail .pm-panelbody [style*="color: #5"],
.pm-retail .pm-panelbody [style*="color: black"],
.pm-retail .pm-panelbody [style*="color:black"],
.pm-retail .pm-panelbody [style*="color: rgb(0"],
.pm-retail .pm-panelbody [style*="color: rgb(5"],
.pm-retail .pm-panelbody [style*="color: rgb(3"] {
  color: #c8d0db !important;
}
/* Badges / pill buttons in description */
.pm-retail .pm-panelbody button,
.pm-retail .pm-panelbody input[type="button"],
.pm-retail .pm-panelbody .badge,
.pm-retail .pm-panelbody [class*="badge"],
.pm-retail .pm-panelbody [class*="trust"],
.pm-retail .pm-panelbody [class*="chip"],
.pm-retail .pm-panelbody [class*="pill"] {
  background: #1e2733 !important;
  background-color: #1e2733 !important;
  color: #c8d0db !important;
  border-color: rgba(255,255,255,0.15) !important;
}


.pm-retail .pm-title { color: #f5f7fa !important; }
.pm-retail .pm-price .money { color: #f5f7fa !important; }
.pm-retail .pm-price .pm-compare { color: rgba(255,255,255,0.5) !important; }
.pm-retail .pm-trust { color: #cfd6df !important; }
.pm-retail .pm-info { color: #cfd6df !important; }
.pm-retail .pm-accordion summary { color: #f5f7fa !important; border-color: rgba(255,255,255,0.1) !important; }
.pm-retail .pm-accordion .rte { color: #cfd6df !important; }
/* ===== Fix 18: Hide shipping badge on collection cards (removed from template) ===== */
.pm-card__shipping-badge { display: none !important; }

/* ===== Fix 15: Collection card placeholders ===== */
.collection-card-wrapper .placeholder-svg { fill: #3A6EA5; opacity: 0.3; }
.collection-card-wrapper .card__heading a:hover { color: #3A6EA5; }
/* ===== Fix 17: Solution card gradient fallback when no image set ===== */
.pmhf-cardMedia:not(:has(img)) {
  background: linear-gradient(145deg, #0b1929 0%, #0f2035 50%, #122540 100%);
  }
  .pmhf-cardMedia:not(:has(img))::after {
    content: '';
      position: absolute;
        inset: 0;
          background: radial-gradient(ellipse at 50% 110%, rgba(58,110,165,0.20) 0%, transparent 65%);
            pointer-events: none;
            }

/* ===== Fix 19: Hide homepage scroll cue + progress bar ===== */
.pmhf-scrollCue,
.pmhf-progress { display: none !important; }

/* ===== Fix 19b: About page — more breathing room between sections ===== */
.pm-about__divider {
  margin: 120px 0 !important;
}

/* ===== Fix 21: Shared primary button — matches hero pmhf-btn--primary ===== */
.pm-btn-primary {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: #ffffff !important;
  background: linear-gradient(180deg, #4A82B8 0%, #2E5A8A 100%) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.20), 0 0 24px rgba(58,110,165,.14), inset 0 1px 0 rgba(255,255,255,.18) !important;
  border: 1px solid transparent !important;
  transition: transform .18s ease, box-shadow .22s ease, background .22s ease;
}
.pm-btn-primary::before {
  content: "";
  position: absolute;
  inset: -30%;
  background: linear-gradient(120deg, transparent 25%, rgba(255,255,255,.20) 50%, transparent 75%);
  transform: translateX(-140%);
  transition: transform .8s ease;
  pointer-events: none;
}
.pm-btn-primary:hover::before { transform: translateX(140%); }
.pm-btn-primary:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, #5A94C8 0%, #1E4A72 100%) !important;
}
.pm-btn-primary:active { transform: translateY(0); }

/* ===== Fix 20: T&C / Privacy page — reduce oversized H1 in page content ===== */
body.template-page .rte h1 {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin-bottom: 1rem !important;
}

/* ===== Fix 23: Page content going under sticky header ===== */
body.template-page .shopify-section:first-child > * {
  padding-top: 24px !important;
}
body.template-page section.section {
  margin-top: 0 !important;
}

/* ===== Fix 25: Mobile — reduce vertical padding (less scrolling) ===== */
@media (max-width: 749px) {

  /* Standalone page sections — cut 48px → 28px */
  .pm-faq     { padding: 28px 0 24px !important; }
  .pm-ind     { padding: 28px 0 24px !important; }
  .pm-proc    { padding: 28px 0 24px !important; }
  .pm-contact { padding: 28px 0 24px !important; }
  .pm-about   { padding: 28px 0 24px !important; }

  /* Hero eyebrow / title / subtitle block — tighten margin below */
  .pm-faq__hero,
  .pm-ind__hero,
  .pm-proc__hero { margin-bottom: 28px !important; }

  /* Hero subtitle — smaller font so it doesn't run wide */
  .pm-faq__subtitle,
  .pm-ind__subtitle,
  .pm-proc__subtitle {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  /* Industries — tighter card padding */
  .pm-ind__card { padding: 18px 16px !important; }

  /* Process — tighter step card padding */
  .pm-proc__step { padding: 20px 16px !important; margin-bottom: 12px !important; }
  .pm-proc__compare { margin-bottom: 32px !important; }

  /* Home funnel hero copy section */
  #pmhf-hero .pmhf-heroCopy {
    padding: 28px 20px 24px !important;
  }

  /* Quote form — tighten page padding */
  .pmq__inner {
    padding-top: 12px !important;
    padding-bottom: 32px !important;
  }

  /* Quote form hero card */
  .pmq__hero { padding: 16px !important; }

  /* Quote form chips row — smaller gaps/text */
  .pmq__chips { gap: 8px !important; margin-top: 12px !important; }
  .pmq__chip  { font-size: 12px !important; padding: 8px 10px !important; }

  /* Quote form — reveal fallback (prevents blank space if IO doesn't fire) */
  .pmq-reveal {
    animation: pmq-fallback-reveal 0.6s ease 0.4s both;
  }
  .pmq-reveal.is-visible { animation: none; }
  @keyframes pmq-fallback-reveal { to { opacity: 1; transform: translateY(0); } }

  /* Footer — prevent contact text clipping */
  .pm-footer-info__grid .pm-footer-info__col:last-child {
    overflow: hidden;
  }
  .pm-footer-info__detail,
  .pm-footer-info__links a {
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* Announcement bar — prevent text overflow */
  .pm-topbar__reviews-full {
    display: none !important;
  }
  .pm-topbar {
    font-size: 11px !important;
  }

  /* CTA sections — tighter spacing */
  .pm-faq__cta,
  .pm-ind__cta,
  .pm-proc__cta {
    padding: 28px 0 0 !important;
  }

  /* Internal links strip — tighten */
  .pm-internal-links {
    padding: 24px 0 0 !important;
    margin-top: 24px !important;
  }
  .pm-internal-links__grid {
    gap: 10px !important;
  }

  /* Prevent any pm-* wide elements overflowing viewport */
  .pm-faq__list,
  .pm-ind__grid,
  .pm-proc__steps-wrap {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* ── Quote form step indicator — fix labels running together ── */
  .pmq__steps {
    gap: 0 !important;
    justify-content: center !important;
    padding: 0 8px !important;
  }
  .pmq__step {
    flex: 0 0 auto !important;
    min-width: 90px !important;
    align-items: center !important;
  }
  .pmq__step-line {
    flex: 1 1 auto !important;
    min-width: 16px !important;
    max-width: 48px !important;
  }
  .pmq__step-label {
    font-size: 11px !important;
    text-align: center !important;
  }

  /* ── Footer contact column — prevent "Ships Nationwi..." clipping ── */
  .pm-footer-info__col {
    overflow: visible !important;
  }
  .pm-footer-info__detail {
    white-space: normal !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  /* ── Home funnel: reduce hero copy section padding ── */
  #pmhf-hero .pmhf-heroCopy {
    padding: 24px 16px 20px !important;
  }

  /* ── Home funnel heading sizes — prevent overflow ── */
  .pmhf-heroTitle {
    font-size: clamp(24px, 7vw, 36px) !important;
  }

  /* ── Process page: tighten compare table ── */
  .pm-proc__step-card {
    padding: 18px 14px !important;
  }
  .pm-proc__timeline { gap: 14px !important; }
}

/* ============================================================
   Fix 26: Dawn page H1 (.main-page-title) — too large on mobile
   Dawn's h0 class renders at 40px on mobile — reduce to 26px
   ============================================================ */
@media (max-width: 749px) {
  .main-page-title {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }
}

/* ============================================================
   Fix 27: Shop page — category grid 2-column on mobile
   The inline CSS uses minmax(240px,1fr) which forces 1 col at 390px.
   Override to 2-col grid with tighter card padding.
   ============================================================ */
@media (max-width: 749px) {
  .pm-cat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* Reduce excessive card padding on mobile */
  .pm-cat-card {
    padding: 18px 14px !important;
  }

  /* "Shop Now →" link — make it a proper tap target */
  .pm-cat-link {
    display: block !important;
    padding: 8px 0 2px !important;
    min-height: 36px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  /* Category icon — tighten margin */
  .pm-cat-icon {
    margin-bottom: 10px !important;
    font-size: 2rem !important;
  }

  /* Card title — reduce from 1.4rem */
  .pm-cat-card h3 {
    font-size: 14px !important;
    margin-bottom: 6px !important;
  }

  /* Card description text */
  .pm-cat-card p {
    font-size: 12px !important;
    margin-bottom: 10px !important;
  }

  /* Section top padding — 80px is excessive */
  .pm-categories {
    padding: 36px 16px 40px !important;
  }

  /* Section title "Shop by Category" */
  .pm-section-title {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    margin-bottom: 8px !important;
  }

  .pm-section-sub {
    font-size: 14px !important;
    margin-bottom: 28px !important;
  }
}

/* ============================================================
   Fix 28: Hero CTA buttons — ensure full-width on mobile
   pmhf-home-funnel.css @media 560px rule is not applied to live
   theme yet. Override here to guarantee full-width buttons.
   ============================================================ */
@media (max-width: 749px) {
  .pmhf-cta,
  .pmhf-finalActions,
  .pmhf-cardActions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }
  .pmhf-btn {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 13px !important;
    justify-content: center !important;
  }
}

/* ============================================================
   Fix 29: Hero H1 line-height too tight (1.08 at mobile)
   ============================================================ */
@media (max-width: 749px) {
  .pmhf-h1 {
    line-height: 1.2 !important;
    font-size: clamp(22px, 5.5vw, 30px) !important;
  }

  /* pmhf-h2 section titles — bump from 18px to 20px minimum */
  .pmhf-h2 {
    font-size: clamp(20px, 4.5vw, 26px) !important;
    line-height: 1.25 !important;
  }

  /* pmhf-sub subtitle */
  .pmhf-sub {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}

/* ============================================================
   Fix 30: FAQ CTA button — full-width on mobile
   ============================================================ */
@media (max-width: 749px) {
  .pm-faq__cta-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    line-height: 48px !important;
    padding: 0 20px !important;
  }
  .pm-faq__cta-link {
    display: block !important;
    text-align: center !important;
    padding: 10px 0 !important;
  }
  .pm-faq__cta-title {
    font-size: 20px !important;
  }
}

/* ============================================================
   Fix 31: Industries + Process CTA buttons — full-width mobile
   Class names confirmed from live DOM: pm-ind__cta-btn, pm-proc__cta-btn
   ============================================================ */
@media (max-width: 749px) {
  .pm-ind__cta-btn,
  .pm-proc__cta-btn,
  .pm-ind__cta .pm-btn-primary,
  .pm-proc__cta .pm-btn-primary,
  .pm-contact__submit,
  .pm-mobile-drawer__cta-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    line-height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ============================================================
   Fix 32: Footer mobile — ensure single column stacks cleanly
   and "Contact" column content has proper spacing
   ============================================================ */
@media (max-width: 749px) {
  .pm-footer__main {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    padding: 32px 20px !important;
  }
  .pm-footer__col-heading {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
  }
  /* Footer CTA button — full-width, proper tap target */
  .pm-footer__cta {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    line-height: 44px !important;
    padding: 0 20px !important;
    border-radius: 8px !important;
  }
  /* Footer social icons row */
  .pm-footer__social {
    margin-top: 16px !important;
  }
  /* Footer bottom strip */
  .pm-footer__bottom {
    padding: 16px 20px !important;
    font-size: 12px !important;
  }
  /* Ensure footer contact items (email, address) wrap properly */
  .pm-footer__col a,
  .pm-footer__col p,
  .pm-footer__col span {
    white-space: normal !important;
    word-break: break-word !important;
    font-size: 14px !important;
  }
}

/* ============================================================
   Fix 33: Page-level horizontal padding — ensure all pm- pages
   have minimum 16px horizontal padding on mobile
   ============================================================ */
@media (max-width: 749px) {
  /* pm-faq already uses page-width, but ensure inner content has padding */
  .pm-faq__list {
    padding: 0 4px !important;
  }

  /* Process page timeline */
  .pm-proc__timeline {
    padding: 0 4px !important;
  }

  /* Industries grid */
  .pm-ind__grid {
    padding: 0 4px !important;
  }

  /* Ensure .page-width respects 16px minimum on mobile */
  .page-width {
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
  }
}

/* ============================================================
   Fix 34: Quote form — "Estimated Quantity" label positioning
   The label appears at y=822 on 844px screen (at bottom edge).
   Ensure the form field is visible and not clipped by header.
   ============================================================ */
@media (max-width: 749px) {
  /* Ensure pmq form fields have adequate line-height and size */
  .pmq__label {
    font-size: 14px !important;
    margin-bottom: 6px !important;
    display: block !important;
  }

  /* Ensure the form doesn't overflow and fields are scrollable */
  .pmq__form-body,
  .pmq__step-body {
    padding-bottom: 80px !important;
  }

  /* Next/Submit button — full width */
  .pmq__btn,
  .pmq__btn-next,
  .pmq__btn-submit,
  [class*="pmq__btn"] {
    display: block !important;
    width: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
}

/* ============================================================
   Fix 36: Tap targets — small interactive elements under 44px
   ============================================================ */
@media (max-width: 749px) {
  /* "Explore →" and similar inline links in home funnel */
  .pmhf-link {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 6px 0 !important;
  }

  /* Footer logo — increase tap area */
  .pm-footer__logo {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 6px 0 !important;
  }

  /* Mobile drawer close button */
  .pm-mobile-drawer__close {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Privacy Policy / Terms footer links at bottom */
  .pm-footer__bottom a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 4px 0 !important;
  }

  /* pmhf section card tags — bump to 12px minimum */
  .pmhf-cardT {
    font-size: 12px !important;
  }
}

/* ============================================================
   Fix 35: Announcement bar — prevent overflow at narrow widths
   ============================================================ */
.pm-topbar {
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
@media (max-width: 479px) {
  .pm-topbar {
    font-size: 11px !important;
    padding: 6px 12px !important;
  }
  /* Hide star rating full text on very small screens */
  .pm-topbar__reviews-text {
    display: none !important;
  }
}

/* ============================================================
   Fix 37: WCAG AA contrast — footer text colors fail 4.5:1
   #475569 on #0b0d10 ≈ 3.1:1 (fail)
   #64748b on #0b0d10 ≈ 4.4:1 (borderline fail)
   Bumping to #94a3b8 ≈ 6.7:1 (pass) and #7e97b0 ≈ 5.2:1 (pass)
   ============================================================ */
.pm-footer__tagline {
  color: #94a3b8 !important;
}
.pm-footer__col nav a,
.pm-footer__col nav span {
  color: #94a3b8 !important;
}
.pm-footer__bottom span,
.pm-footer__bottom a {
  color: #7e97b0 !important;
}
.pm-footer__legal a:hover,
.pm-footer__col nav a:hover {
  color: #c4d4e4 !important;
}

/* ============================================================
   Fix 38: WCAG — contact page inline links need non-color indicator
   "quote form" link in pm-contact section copy relies on color alone
   ============================================================ */
.pm-contact .rte a,
.pm-contact__copy a,
.pm-contact p a {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* ============================================================
   Fix 39: Accessibility — decorative marquee section ARIA cleanup
   aria-label on marquee wrap is fine; second pass is aria-hidden.
   But star-rating / review count decorative elements should be hidden.
   ============================================================ */
.pmhf-stars[aria-hidden],
.pmhf-reviewCount[aria-hidden] {
  speak: none;
}
/* Fix prohibited aria-* on non-interactive decorative elements */
.pmhf-trustBadge,
.pmhf-statItem {
  role: presentation;
}

/* ============================================================
   Fix 40: Mobile header — shrink logo link padding + cap logo height
   base.css sets header__heading-link { padding: 0.75rem } which inflates
   the header to ~166px on mobile. Capping the logo at 32px and removing
   the excess link padding brings it down to ~60px.
   ============================================================ */
@media screen and (max-width: 749px) {
  .pm-header__center .header__heading-link {
    padding: 2px 6px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .header__heading-logo {
    max-height: 32px !important;
    width: auto !important;
    height: auto !important;
  }
  .header__heading-logo-wrapper {
    display: flex !important;
    align-items: center !important;
  }
}

/* ============================================================
   Fix 41: Mobile pm-hero title — reduce from 40px min (2.5rem) to ~24px
   The section's inline CSS uses clamp(2.5rem, 5.2vw, 4.25rem).
   Override here covers both the inline-style section and any copy of it.
   ============================================================ */
@media screen and (max-width: 749px) {
  .pm-hero__title {
    font-size: clamp(22px, 5.5vw, 28px) !important;
    line-height: 1.2 !important;
  }
  .pm-hero__subtitle,
  .pm-hero__sub {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .pm-hero__inner,
  .pm-hero__wrap {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
}

/* ============================================================
