/* v2.1.22 — Phone framework only. Keep both this guard and the enqueue media. */
@media (max-width: 760px) {
  :root { --sxgc-phone-nav: calc(62px + env(safe-area-inset-bottom, 0px)); }
  body { padding-bottom: var(--sxgc-phone-nav) !important; }
  body.woocommerce-checkout { padding-bottom: 0 !important; }
  body.single-product { padding-bottom: calc(var(--sxgc-phone-nav) + 82px) !important; }
  .ed-container { width: calc(100% - 32px); }
  .ed-header .ed-header-row { display: flex; height: 56px; gap: 8px; justify-content: space-between; }
  .ed-header .ed-brand-wrap { display: none; }
  .sxgc-mobile-frame-home[hidden], .ed-header .sxgc-wishlist-header { display: none !important; }
  .ed-header .ed-header-actions { width: 100%; gap: 6px; }
  .ed-header .ed-icon-link { width: 44px; height: 44px; }
  .ed-header .ed-account-link { display: none; }
  .ed-header .ed-menu-toggle { order: -1; margin-right: auto; min-width: 48px; min-height: 44px; padding: 0; text-align: left; font-size: 13px; }
  .ed-header .ed-cart-count { top: 2px; right: 2px; }
  .ed-header .sxgc-wishlist-count { top: 2px; right: 2px; }
  .ed-header .ed-mobile-menu { max-height: calc(100dvh - 130px); overflow-y: auto; overscroll-behavior: contain; }
  .ed-header .ed-mobile-menu a { min-height: 48px; padding: 13px 0; font-size: 16px !important; }
  .ed-header .ed-mobile-menu .ed-nav-business { margin-top: 10px; font-size: 13px !important; }
  body.admin-bar .ed-header { top: 46px; }
  .ed-notice { padding: 7px 0; font-size: 11px; line-height: 1.45; }
  .sxgc-mobile-header-search[hidden] { display: none !important; }
  .sxgc-mobile-header-search.is-open[hidden] { display: block !important; padding: 0 0 12px; }

  /* The first pass deliberately reserves decorative storytelling for later. */
  .ed-home > .sxgc-marquee,
  .ed-home > .ed-wall-gallery-section,
  .ed-home > .ed-detail-duet,
  .ed-home > .ed-manufacturing,
  .ed-home > .ed-install,
  .ed-home > .sxgc-home-reviews,
  .ed-home > .ed-inspiration,
  .ed-home > .sxgc-business-features { display: none !important; }
  .ed-home [data-reveal] { opacity: 1 !important; transform: none !important; animation: none !important; }
  .ed-home { display: flex; flex-direction: column; }
  .ed-home > .sxgc-mobile-frame-intro { order: 0; }
  .ed-home > .sxgc-products-mobile { order: 1; }
  .ed-home > .ed-welcome-offer { display: none !important; }
  .ed-home > .sxgc-mobile-catalog-footer { order: 1; }
  .ed-home > .sxgc-mobile-offer { order: 2; }
  .ed-home > .sxgc-mobile-frame-support { order: 3; }
  .sxgc-mobile-frame-intro[hidden],
  .sxgc-mobile-frame-support[hidden],
  .sxgc-mobile-frame-footer[hidden] { display: block !important; }
  .sxgc-mobile-frame-intro { padding: 20px 0 0; color: #171717; background: #fff; }
  .ed-home .sxgc-mobile-frame-intro h1 { margin: 0; max-width: 360px; font-size: 25px !important; line-height: 1.2; letter-spacing: -.025em; font-weight: 550; }
  .sxgc-mobile-frame-description { margin: 8px 0 16px; font-size: 14px; line-height: 1.5; color: #606060; }
  .sxgc-mobile-frame-search { display: flex; width: 100%; min-height: 48px; margin: 0; border: 1px solid #d8d8d8; background: #fff; border-radius: 4px; }
  .sxgc-mobile-frame-search input[type=search] { flex: 1; width: 0; min-width: 0; padding: 11px 12px; border: 0; background: transparent; color: #171717; font: inherit; font-size: 16px; box-shadow: none; border-radius: 4px; }
  .sxgc-mobile-frame-search button { display: grid; place-items: center; flex: 0 0 48px; width: 48px; min-height: 46px; border: 0; background: transparent; color: #171717; padding: 0; cursor: pointer; }
  .sxgc-mobile-frame-search svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
  .sxgc-mobile-frame-search:focus-within { outline: 2px solid #171717; outline-offset: 2px; }

  .ed-home .sxgc-products-mobile { padding: 16px 0 0; scroll-margin-top: 72px; }
  .sxgc-products-mobile .ed-section-heading { height: 0; margin: 0; }
  .sxgc-products-mobile .ed-section-heading .ed-kicker { display: none; }
  .ed-home .sxgc-products-mobile .ed-section-heading h2 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .sxgc-products-mobile .ed-section-heading .ed-text-link { display: none; }
  .sxgc-products-mobile .ed-product-filter-bar { margin: 0 0 20px; padding: 0; border: 0; }
  /* v2.1.22: only the category row and product cards below the homepage search. */
  .sxgc-products-mobile .ed-product-filters { display: flex; flex-wrap: nowrap; align-items: stretch; gap: clamp(10px, 3vw, 20px); overflow-x: auto; overflow-y: hidden; white-space: nowrap; border-bottom: 1px solid #e4e4e4; padding: 0; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .sxgc-products-mobile .ed-product-filters::-webkit-scrollbar { display: none; }
  .sxgc-products-mobile .ed-product-filter { position: relative; flex: 1 0 auto; min-width: 44px; min-height: 48px; padding: 12px 4px; border: 0; border-radius: 0; font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: 0; background: transparent !important; color: #666 !important; -webkit-text-fill-color: currentColor; box-shadow: none; text-align: center; }
  .sxgc-products-mobile .ed-product-filter:after { left: 4px; right: 4px; bottom: 0; height: 2px; background: #171717; transform: scaleX(0); transform-origin: center; }
  .sxgc-products-mobile .ed-product-filter:focus-visible { outline: 2px solid #171717; outline-offset: -3px; }
  .sxgc-products-mobile .ed-product-filter.is-active { background: transparent !important; color: #171717 !important; font-weight: 650; }
  .sxgc-products-mobile .ed-product-filter.is-active:after { transform: scaleX(1); }
  .sxgc-products-mobile .ed-product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 28px 12px; }
  .sxgc-products-mobile .ed-product { display: flex; flex-direction: column; min-width: 0; margin: 0; }
  .sxgc-products-mobile .ed-product[hidden] { display: none !important; }
  /* Count matching cards, including when their original indices are greater than six. */
  .sxgc-products-mobile .ed-product-grid > .ed-product:nth-child(n + 7 of .ed-product:not([hidden])) { display: none !important; }
  .sxgc-products-mobile .ed-product-image { flex-shrink: 0; aspect-ratio: 4 / 5 !important; border: 1px solid #ededed; border-radius: 6px; background: #f7f7f7 !important; }
  .sxgc-products-mobile .ed-product-image img { width: 100%; height: 100%; object-fit: contain; transform: none !important; }
  .sxgc-products-mobile .ed-product-meta { display: grid; grid-template-rows: minmax(41px, 1fr) auto; align-items: start; gap: 8px; flex: 1; min-width: 0; padding-top: 12px; }
  .sxgc-products-mobile .ed-product-meta > div small { display: none; }
  .ed-home .sxgc-products-mobile .ed-product-meta > div > a { font-size: 14px !important; font-weight: 500; line-height: 1.45; overflow-wrap: anywhere; }
  .ed-home .sxgc-products-mobile .ed-product-meta > span { display: block; align-self: end; min-height: 21px; margin: 0; font-size: 14px !important; font-weight: 600; line-height: 1.5; white-space: normal; color: #171717; }
  .sxgc-products-mobile .ed-product-action { margin-top: 12px; }
  .sxgc-products-mobile .ed-product-add-to-cart { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 10px 8px; font-size: 12px; font-weight: 550; line-height: 1.35; border-radius: 6px; text-align: center; }
  .sxgc-products-mobile .sxgc-wishlist-toggle { min-width: 44px; min-height: 44px; }

  .sxgc-mobile-catalog-footer[hidden], .sxgc-mobile-offer[hidden] { display: block !important; }
  .sxgc-mobile-catalog-footer { padding: 24px 0 32px; }
  .sxgc-mobile-catalog-all { display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 48px; padding: 10px 14px; border: 1px solid #bcbcbc; border-radius: 4px; color: #171717; background: #fff; font-size: 14px; line-height: 1.4; text-align: center; }
  .sxgc-mobile-offer { padding: 0 0 4px; }
  .sxgc-mobile-offer-inner { padding: 22px 18px; border: 1px solid #e6e6e6; border-radius: 4px; background: #f7f7f7; }
  .ed-home .sxgc-mobile-offer h2 { margin: 0; font-size: 21px !important; line-height: 1.25; font-weight: 550; letter-spacing: -.015em; }
  .sxgc-mobile-offer p { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: #606060; }
  .sxgc-mobile-offer-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; margin-top: 10px; font-size: 13px; font-weight: 600; color: #171717; text-decoration: underline; text-underline-offset: 4px; }
  .sxgc-mobile-offer .sxgc-mobile-offer-notice { padding-top: 10px; border-top: 1px solid #dedede; color: #922323; }

  .sxgc-mobile-frame-support { padding: 32px 0; background: #fff; }
  .ed-home .sxgc-mobile-frame-support h2 { margin: 0 0 14px; font-size: 22px !important; line-height: 1.25; }
  .sxgc-mobile-frame-support nav { border-top: 1px solid #dedede; }
  .sxgc-mobile-frame-support a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 80px; padding: 17px 0; border-bottom: 1px solid #dedede; }
  .sxgc-mobile-frame-support strong { display: block; font-size: 15px; line-height: 1.4; font-weight: 550; }
  .sxgc-mobile-frame-support small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.45; color: #606060; }

  .ed-footer-mobile { display: none !important; }
  .sxgc-mobile-frame-footer { padding: 16px 0 24px; background: #f7f7f7; color: #171717; }
  .sxgc-mobile-frame-footer details { border-bottom: 1px solid #dedede; }
  .sxgc-mobile-frame-footer summary { min-height: 56px; padding: 18px 0; font-size: 14px; line-height: 1.4; font-weight: 550; cursor: pointer; }
  .sxgc-mobile-frame-footer details nav { padding: 0 0 14px; }
  .sxgc-mobile-frame-footer details a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 13px; line-height: 1.45; }
  .sxgc-mobile-frame-legal { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; padding-top: 18px; font-size: 12px; }
  .sxgc-mobile-frame-legal a { display: flex; align-items: center; min-height: 44px; }
  .sxgc-mobile-frame-legal > span { margin-left: auto; color: #666; }
  .sxgc-mobile-frame-nav[hidden] { display: grid !important; }
  .sxgc-mobile-frame-nav { position: fixed; z-index: 125; bottom: 0; left: 0; right: 0; grid-template-columns: repeat(4,minmax(0,1fr)); min-height: var(--sxgc-phone-nav); padding: 4px 8px calc(4px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #dedede; background: #fff; }
  .sxgc-mobile-frame-nav a, .sxgc-mobile-frame-nav button { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 54px; gap: 3px; font-family: inherit; font-size: 11px; line-height: 1.2; color: #666; border: 0; border-radius: 0; padding: 0; background: transparent; cursor: pointer; }
  .sxgc-mobile-frame-nav a[aria-current=page] { color: #171717; font-weight: 700; }
  .sxgc-mobile-frame-nav svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
  .sxgc-mobile-frame-nav a[aria-current=page] svg { stroke-width: 2.1; }
  .sxgc-floating-support { bottom: calc(var(--sxgc-phone-nav) + 14px); z-index: 126; }
  .single-product .sxgc-floating-support { bottom: calc(var(--sxgc-phone-nav) + 94px); }
  .woocommerce-checkout .sxgc-floating-support { position: static; display: flex; justify-content: flex-end; margin: 8px 16px 20px; }
  .sxgc-mobile-buybar { bottom: var(--sxgc-phone-nav); z-index: 127; padding: 10px 16px; }
  .sxgc-mobile-buybar[hidden] { display: none !important; }
  .sxgc-mobile-buybar > button { min-height: 44px; font-size: 13px; border-radius: 4px; }
  .sxgc-mobile-buybar-meta strong { font-size: 14px; }
  .sxgc-cookie-settings { bottom: calc(var(--sxgc-phone-nav) + 14px); }
  .single-product .sxgc-cookie-settings { bottom: calc(var(--sxgc-phone-nav) + 94px); }
  .woocommerce-checkout .sxgc-cookie-settings { bottom: 10px; }

  /* Native WooCommerce pages: touch sizing and a single-column purchase flow. */
  .woocommerce-main > .container { width: 100%; max-width: 100%; padding: 0 16px; }
  .woocommerce-main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
  .woocommerce-main select, .woocommerce-main textarea { font-size: 16px !important; }
  .woocommerce-main button, .woocommerce-main .button { min-height: 44px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; line-height: 1.4; }
  .woocommerce ul.products li.product .price { font-size: 14px !important; }
  .woocommerce ul.products li.product .button { min-height: 44px; font-size: 12px !important; }
  .woocommerce .woocommerce-ordering select { min-height: 44px; max-width: 100%; }
  .single-product form.cart { flex-wrap: wrap; }
  .single-product form.variations_form { display: block; }
  .single-product form.cart .variations, .single-product form.cart .single_variation_wrap { width: 100%; }
  .single-product form.cart .variations select { width: 100%; max-width: 100%; min-height: 44px; }
  .single-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 8px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 44px; padding: 9px 12px; font-size: 13px; }
  .woocommerce-cart .form-row, .woocommerce-checkout .form-row { min-width: 0; }
  .woocommerce-checkout .col2-set, .woocommerce-checkout #order_review { float: none; width: 100%; }
  .woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }
  .sxgc-mobile-shop-tools-top button { min-height: 44px; font-size: 12px; }
  .sxgc-mobile-shop-chips a { min-height: 44px; display: flex; align-items: center; font-size: 12px; }
  .sxgc-mobile-frame-intro a:focus-visible,
  .sxgc-mobile-frame-support a:focus-visible,
  .sxgc-mobile-frame-footer a:focus-visible,
  .sxgc-mobile-frame-footer summary:focus-visible,
  .sxgc-mobile-catalog-all:focus-visible,
  .sxgc-mobile-offer-link:focus-visible,
  .sxgc-mobile-frame-nav button:focus-visible,
  .sxgc-mobile-frame-nav a:focus-visible { outline: 2px solid #171717; outline-offset: 2px; }
  :is(.woocommerce-main, .ed-welcome-offer, .sxgc-mobile-frame-intro) :is(input, select, textarea, button) { scroll-margin-block: 80px 180px; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
}
