/* HA mobile homepage punch-up */
@media (max-width: 999px) {
  :root {
    --theme-container-width: 100% !important;
    --theme-normal-container-max-width: 100% !important;
  }

  html, body {
    overflow-x: clip !important;
    max-width: 100vw !important;
  }

  /* Tighter header */
  .ct-header [data-device="mobile"] [data-row="middle"] {
    min-height: 64px !important;
    background: #fff !important;
  }
  .ct-header [data-device="mobile"] .site-logo-container img {
    max-height: 48px !important;
    min-height: 40px !important;
    max-width: min(58vw, 200px) !important;
  }

  /* Full-bleed vermillion bar */
  .ha-vc-topbar {
    font-size: 0.72rem !important;
    letter-spacing: 0.02em !important;
  }
  .ha-vc-topbar__inner {
    justify-content: center !important;
    text-align: center !important;
    padding: 0.55rem 0.75rem !important;
    gap: 0.35rem !important;
  }
  .ha-vc-topbar__inner > span:last-child { display: none !important; }

  /* HERO: edge-to-edge, taller, less empty white */
  .ha-vc-hero {
    background: #1a1210 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .ha-slider--wide {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: #1a1210 !important;
  }
  .ha-slider--wide .ha-slide img {
    aspect-ratio: 3/4 !important;
    width: 100% !important;
    max-height: 72vh !important;
    object-fit: cover !important;
  }
  .ha-slide__panel {
    padding: 1.25rem 1rem 3.2rem !important;
    background: linear-gradient(transparent, rgba(20,10,8,0.88)) !important;
  }
  .ha-slide__caption {
    font-size: 1.35rem !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
  }
  .ha-slide__price {
    font-size: 1.05rem !important;
    margin-top: 0.25rem !important;
  }
  .ha-slider-btn {
    width: 34px !important;
    height: 34px !important;
    background: rgba(255,255,255,0.95) !important;
    color: #C41E3A !important;
    border: 1px solid #c9a227 !important;
  }
  .ha-slider-btn--prev { left: 8px !important; }
  .ha-slider-btn--next { right: 8px !important; }
  .ha-slider-dots { bottom: 1.1rem !important; }

  /* Mobile sale CTA under hero */
  .ha-mobile-cta-band {
    display: block !important;
    background: #C41E3A !important;
    color: #fff !important;
    text-align: center !important;
    padding: 1rem 1.1rem 1.15rem !important;
  }
  .ha-mobile-cta-band h2 {
    color: #fff !important;
    margin: 0 0 0.35rem !important;
    font-size: 1.55rem !important;
    font-weight: 500 !important;
  }
  .ha-mobile-cta-band p {
    margin: 0 0 0.75rem !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 0.95rem !important;
  }
  .ha-mobile-cta-band a {
    display: inline-block !important;
    background: #fff !important;
    color: #C41E3A !important;
    text-decoration: none !important;
    padding: 0.7em 1.5em !important;
    border-radius: 999px !important;
    font-weight: 500 !important;
  }

  /* Category rail denser */
  .ha-vc-shopcats { padding: 1.25rem 0 0.5rem !important; }
  .ha-vc-head { margin-bottom: 0.75rem !important; padding: 0 0.75rem !important; }
  .ha-vc-head h2 { font-size: 1.45rem !important; }
  .ha-vc-catrail {
    gap: 0.75rem !important;
    padding: 0.15rem 0.75rem 1rem !important;
  }
  .ha-vc-cat { flex-basis: 92px !important; }
  .ha-vc-cat img {
    width: 88px !important;
    height: 88px !important;
    border-width: 2px !important;
    border-color: #c9a227 !important;
  }
  .ha-vc-cat span { font-size: 0.82rem !important; }

  /* Sections tighter, less dull whitespace */
  .ha-vc-section { padding: 1.35rem 0 0.35rem !important; }
  .ha-vc-picks { background: #faf8f3 !important; padding-bottom: 1rem !important; }

  /* PRODUCT GRID — must fit viewport */
  .ct-container, .ct-container-full, .entry-content, #main, .site-main, article.page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }
  .woocommerce ul.products,
  ul.products.columns-2,
  ul.products.columns-4,
  ul.products {
    --shop-columns: repeat(2, minmax(0, 1fr)) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .woocommerce ul.products li.product,
  ul.products li.product {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0.5rem !important;
    float: none !important;
    border: 1px solid rgba(201,162,39,0.4) !important;
    background: #fff !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .ct-woo-card-title {
    font-size: 0.92rem !important;
    line-height: 1.25 !important;
  }
  .woocommerce ul.products li.product .button {
    width: 100% !important;
    padding: 0.55em 0.5em !important;
    font-size: 0.85rem !important;
  }

  .ha-vc-pickgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 0 10px 1rem !important;
  }
  .ha-vc-trust {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    padding: 1.1rem 10px !important;
    margin: 0.5rem 0 0 !important;
  }
  .ha-vc-about__inner { padding: 0.5rem 1rem 1.5rem !important; }
  .ha-vc-about__inner h2 { font-size: 1.4rem !important; }
}

/* hide mobile CTA band on desktop */
.ha-mobile-cta-band { display: none; }

/* HA_GRID_MOBILE_V3 — fix underfill (231px → ~full width) */
@media (max-width: 999px) {
  :root {
    --theme-container-width: 100% !important;
    --theme-container-edge-spacing: 12px !important;
  }
  .entry-content .woocommerce,
  .ct-container .woocommerce,
  .ct-container-full .woocommerce,
  .woocommerce.columns-2,
  .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }
  .ct-container,
  .ct-container-full,
  .entry-content,
  #main,
  .site-main,
  article.page,
  .woo-listing-top,
  .shop-results-count,
  .ct-woo-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* products should span nearly full clientWidth */
  .woocommerce ul.products,
  ul.products.columns-2,
  ul.products.columns-3,
  ul.products.columns-4,
  ul.products {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-inline: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --shop-columns: repeat(2, minmax(0, 1fr)) !important;
    --theme-container-width: 100% !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }
  .woocommerce ul.products li.product,
  ul.products li.product {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .ct-woo-card-title,
  .woocommerce ul.products li.product .entry-title {
    font-size: 0.88rem !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

/* HA_GRID_MOBILE_V4 — kill Blocksy 88vw edge-spacing underfill + FOUC */
@media (max-width: 999.98px) {
  :root {
    --theme-container-edge-spacing: 100% !important;
    --theme-normal-container-max-width: 100% !important;
    --theme-narrow-container-max-width: 100% !important;
    --theme-container-width: 100% !important;
    --theme-block-max-width: 100% !important;
  }
  .ct-container,
  .ct-container-full,
  [class*="ct-container"],
  .entry-content,
  .wp-block-post-content,
  .wp-block-group,
  .wp-block-group__inner-container,
  .wp-block-shortcode,
  .site-main,
  #main,
  article.page,
  .home .site-main > .ct-container,
  .home .site-main .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  .woocommerce.columns-2,
  .woocommerce.columns-3,
  .woocommerce.columns-4,
  .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1rem !important;
    float: none !important;
  }
  ul.products,
  ul.products.columns-2,
  ul.products[data-products],
  .woocommerce ul.products,
  .woocommerce ul.products[data-products],
  [data-products] {
    --shop-columns: repeat(2, minmax(0, 1fr)) !important;
    --theme-container-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 12px !important;
    float: none !important;
    box-sizing: border-box !important;
  }
  ul.products li.product,
  .woocommerce ul.products li.product,
  [data-products] .product {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }
}
@media (max-width: 689.98px) {
  [data-products] {
    --shop-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* HA_GRID_MOBILE_V5 — stop stacked padding underfill (243→~351) */
@media (max-width: 999px) {
  body,
  #main,
  #main-container,
  .ct-container,
  .ct-container-full,
  [class*="ct-container"],
  article.page,
  .entry-content,
  .wp-block-shortcode,
  .woocommerce,
  .woocommerce.columns-2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .ha-vc-hero,
  .ha-slider--wide,
  .ha-mobile-cta-band {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
  }
  .ha-vc-shopcats,
  .ha-vc-section,
  .ha-vc-picks,
  .ha-vc-head,
  .ha-vc-catrail,
  .ha-vc-pickgrid,
  .ha-vc-trust,
  .ha-vc-about,
  ul.products,
  ul.products[data-products],
  .woocommerce ul.products {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 12px !important;
    box-sizing: border-box !important;
  }
  ul.products,
  ul.products[data-products],
  .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --shop-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 0 1rem !important;
  }
}

/* HA_GRID_MOBILE_V6 — nuclear: kill nested + constrained-layout gutters */
@media (max-width: 999px) {
  html body {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #main,
  #main-container,
  .ct-container,
  .ct-container-full,
  [class*="ct-container"],
  article.page,
  .entry-content.is-layout-constrained,
  .entry-content,
  .wp-block-post-content,
  .wp-block-group,
  .wp-block-group__inner-container,
  .wp-block-shortcode {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .entry-content > *,
  .entry-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ha-vc-hero,
  .ha-slider--wide,
  .ha-mobile-cta-band,
  .ha-vc-topbar {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
  .ha-vc-shopcats,
  .ha-vc-section,
  .ha-vc-picks,
  .ha-vc-head,
  .ha-vc-about,
  .woocommerce,
  ul.products,
  ul.products[data-products],
  .woocommerce ul.products {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 12px !important;
    box-sizing: border-box !important;
  }
  ul.products,
  ul.products[data-products],
  .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --shop-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 0 1rem !important;
  }
  ul.products li.product {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* HA_GRID_MOBILE_V6C — do NOT grid .woocommerce wrapper */
@media (max-width: 999px) {
  .woocommerce, .woocommerce.columns-2, .woocommerce.columns-3, .woocommerce.columns-4 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
  ul.products, ul.products[data-products], .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
