/* LSW acceptance fixes: compact mobile overlays and keep primary content in-view. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 760px) {
  #store,
  #main-content,
  #main-content > main,
  .series-page,
  .fitment-experience,
  .inquiry-experience {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .series-page .series-hero:has(.series-scene) {
    padding-inline: 20px !important;
    overflow: hidden;
  }

  .series-page .series-hero:has(.series-scene) > div:first-child {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .series-page .series-hero:has(.series-scene) h1 {
    max-width: 100%;
    font-size: clamp(40px, 12vw, 54px) !important;
    line-height: 0.96 !important;
    overflow-wrap: break-word;
  }

  .series-page .series-models,
  .fitment-experience .fitment-method {
    position: relative;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    transform: none !important;
  }

  .series-page .series-models {
    padding-inline: 20px !important;
  }

  .series-page .series-models > *,
  .series-page .series-product-groups,
  .series-page .series-product-group,
  .series-page .series-lineup-fold,
  .series-page .series-model-grid,
  .fitment-experience .fitment-method > *,
  .fitment-experience .fitment-method-grid,
  .fitment-experience .fitment-workspace,
  .fitment-experience .fitment-form,
  .fitment-experience .fitment-result-v2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }

  .fitment-experience .fitment-method {
    padding-inline: 22px !important;
  }

  .fitment-experience .fitment-method-grid article {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  .fitment-experience .fitment-hero-index {
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
  }

  .fitment-experience .fitment-hero-index span,
  .fitment-experience .fitment-method-grid :is(b, p),
  .series-page .series-models :is(h2, h3, p, span) {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .inquiry-card .inquiry-layout {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 20px !important;
  }

  .inquiry-card .inquiry-form {
    order: 1;
    width: 100%;
    min-width: 0;
  }

  .inquiry-card .inquiry-summary {
    order: 2;
    width: 100%;
    min-width: 0;
  }

  .inquiry-card .inquiry-summary > .inquiry-summary-content {
    min-height: 0;
  }

  .inquiry-card :is(input, select, textarea, button) {
    max-width: 100%;
    min-width: 0;
  }

  .cookie-banner {
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: calc(66px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    padding: 14px !important;
    gap: 10px !important;
  }

  .cookie-banner p {
    margin-block: 5px 0 !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
  }

  .cookie-banner > div:last-child {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .cookie-banner button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding-inline: 8px !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  .mobile-actions {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mobile-actions a {
    min-width: 0;
    padding-inline: 8px;
    text-align: center;
    white-space: normal;
  }

  .woot-widget-bubble,
  .woot--bubble-holder {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 420px) {
  .inquiry-card .inquiry-hero {
    padding-inline: 20px !important;
  }

  .inquiry-card .inquiry-hero h1 {
    font-size: clamp(38px, 11vw, 48px) !important;
  }
}
