/* Responsive layer: tablet and mobile. Desktop rules remain in main.css. */
.apex-menu-toggle { display: none; }

@media (max-width: 1023px) {
  :root { --apex-gutter: clamp(20px, 4vw, 32px); --apex-header-height: 108px; }
  body.apex-menu-lock { overflow: hidden; }
  h1 { font-size: clamp(34px, 5.2vw, 44px); }
  h2 { font-size: clamp(28px, 4.2vw, 36px); }
  h3 { font-size: clamp(21px, 3vw, 27px); }
  .apex-section { padding-block: 48px; }
  .apex-topbar { height: 40px; }
  .apex-topbar__inner { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
  .apex-topbar__balance { display: none; }
  .apex-topbar__message { overflow: hidden; font-size: 13px; text-overflow: ellipsis; }
  .apex-header-actions { gap: 4px; }
  .apex-header-action { min-height: 36px; padding-inline: 5px; font-size: 13px; }
  .apex-header-action svg { width: 19px; height: 19px; }
  .apex-nav-shell__inner { display: flex; min-height: 68px; gap: 16px; justify-content: space-between; }
  .apex-brand { width: 58px; height: 58px; }
  .apex-brand__image { width: 54px; max-height: 54px; }
  .apex-menu-toggle { display: inline-flex; min-width: 88px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--apex-brand-dark); border-radius: 8px; align-items: center; justify-content: center; gap: 9px; color: var(--apex-brand-dark); background: var(--apex-white); font-weight: 700; cursor: pointer; }
  .apex-menu-toggle__icon { display: grid; width: 21px; gap: 4px; }
  .apex-menu-toggle__icon i { display: block; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform 160ms ease, opacity 160ms ease; }
  .is-menu-open .apex-menu-toggle__icon i:first-child { transform: translateY(6px) rotate(45deg); }
  .is-menu-open .apex-menu-toggle__icon i:nth-child(2) { opacity: 0; }
  .is-menu-open .apex-menu-toggle__icon i:last-child { transform: translateY(-6px) rotate(-45deg); }
  .apex-primary-nav { position: fixed; z-index: 1002; top: var(--apex-header-height); right: 0; bottom: 0; width: min(390px, 88vw); padding: 22px; overflow-y: auto; background: var(--apex-white); box-shadow: -12px 0 36px rgba(18,63,45,.18); transform: translateX(105%); visibility: hidden; transition: transform 200ms ease, visibility 200ms ease; }
  .is-menu-open .apex-primary-nav { transform: translateX(0); visibility: visible; }
  .apex-primary-menu { display: grid; min-width: 0; gap: 3px; }
  .apex-primary-menu a { display: flex; min-height: 50px; padding: 8px 5px; border-bottom: 1px solid var(--apex-border); font-size: 17px; white-space: normal; }
  .apex-primary-menu a::after { display: none; }
  .apex-primary-menu .current-menu-item > a { color: var(--apex-brand-dark); background: var(--apex-brand-soft); }
  .apex-menu-backdrop { position: fixed; z-index: 1001; inset: var(--apex-header-height) 0 0; background: rgba(18,45,34,.48); }
  .apex-menu-backdrop[hidden] { display: none; }
  .apex-site-header.is-scrolled .apex-primary-nav { top: 68px; }
  .apex-site-header.is-scrolled .apex-menu-backdrop { inset-block-start: 68px; }

  .apex-page-cta { grid-template-columns: minmax(0, 1fr) 250px; height: auto; min-height: 300px; }
  .apex-page-cta__content { padding: 34px; }
  .apex-page-cta h2 { font-size: 34px; }
  .apex-page-cta__media { height: 300px; }
  .apex-page-cta__image { width: 350px; }
  .apex-site-footer__main { grid-template-columns: 100px minmax(0,1fr); gap: 24px; padding-block: 30px; }
  .apex-site-footer__logo { width: 96px; }
  .apex-site-footer__contact { font-size: 16px; }
  .apex-site-footer__nav-wrap { grid-column: 1/-1; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 24px; }
  .apex-footer-menu { flex-direction: row; flex-wrap: wrap; }
  .apex-site-footer__copyright { margin-top: 12px; text-align: left; }
  .apex-site-footer__credit { margin: 0; }

  .home-hero::before { -webkit-mask-image: linear-gradient(180deg, transparent 30%, #000 66%); mask-image: linear-gradient(180deg, transparent 30%, #000 66%); }
  .home-hero__grid { grid-template-columns: 1fr; gap: 0; padding-top: 44px; }
  .home-hero__copy { padding-block: 0 34px; }
  .home-hero h1 { max-width: 680px; font-size: 42px; }
  .home-hero__copy > div { max-width: 650px; }
  .home-hero__cards figure { height: 300px; }
  .home-hero__visual { min-height: 430px; }
  .home-hero__visual img { right: 50%; bottom: -72px; height: 520px; transform: translateX(50%); }
  .home-audience__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apex-card-grid--4 { grid-template-columns: repeat(2,1fr); }
  .apex-card-grid--3 { grid-template-columns: repeat(2,1fr); gap: 22px; }
  .home-steps { grid-template-columns: repeat(3,1fr); }
  .home-steps li { min-height: 210px; }
  .home-split, .home-split--sustain { grid-template-columns: 1fr; gap: 28px; }
  .home-split--sustain .home-photo-stack { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .home-split--sustain .home-photo-stack img { height: 230px; }
  .home-testimonials blockquote { grid-template-columns: 110px 1fr; }
  .testimonial-avatar { width: 100px; height: 100px; }
  .about-intro__grid { grid-template-columns: minmax(0,1fr) 240px; gap: 38px; }
  .about-factory__grid, .about-cert-grid { gap: 38px; }
  .about-compositions { grid-template-columns: repeat(3,1fr); }
  .sustain-intro__grid, .sustain-feature__grid { gap: 34px; }
  .sustain-source-panel { padding: 36px 28px 24px; }
  .process-products { gap: 18px; }
  .process-products img { height: 300px; }

  .apex-configurator .config-main { padding-block: 48px 58px; }
  .apex-configurator .config-moq { grid-template-columns: 1fr; height: auto; text-align: center; }
  .apex-configurator .config-moq h1, .apex-configurator .config-moq b, .apex-configurator .config-moq p { padding: 12px 18px; }
  .apex-configurator .config-moq > span { display: none; }
  .apex-configurator .config-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
  .apex-configurator .config-panel { height: auto; min-height: 0; }
  .apex-configurator .config-preview { min-height: 650px; }
  .apex-configurator .config-preview-stage { min-height: 490px; }
  .apex-configurator .config-preview-stage img { height: 460px; }
  .apex-configurator .config-thumbs { overflow: visible; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .apex-configurator .config-summary { grid-column: 1/-1; }
  .apex-configurator .config-size-scroll { max-height: none; overflow: visible; }
  .woocommerce-cart .apex-cart-page { padding-block: 40px 56px; }
  .woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
}

@media (max-width: 767px) {
  :root { --apex-gutter: 18px; --apex-header-height: 100px; }
  body { font-size: 15px; }
  h1 { font-size: clamp(31px, 9vw, 38px); }
  h2 { font-size: clamp(26px, 7vw, 32px); }
  .apex-section { padding-block: 38px; }
  .apex-section-intro { margin-top: -8px; margin-bottom: 22px; font-size: 15px; }
  .apex-topbar { height: 40px; }
  .apex-topbar__message { display: none; }
  .apex-topbar__inner { display: flex; justify-content: flex-end; }
  .apex-header-action__label { font-size: 12px; }
  .apex-header-action:first-child .apex-header-action__label { max-width: 106px; overflow: hidden; text-overflow: ellipsis; }
  .apex-nav-shell__inner { min-height: 60px; }
  .apex-brand { width: 51px; height: 51px; }
  .apex-brand__image { width: 48px; max-height: 48px; }
  .apex-menu-toggle { min-width: 78px; min-height: 42px; padding-inline: 10px; }
  .apex-primary-nav { top: var(--apex-header-height); }
  .apex-menu-backdrop { inset-block-start: var(--apex-header-height); }
  .apex-site-header.is-scrolled .apex-primary-nav { top: 60px; }
  .apex-site-header.is-scrolled .apex-menu-backdrop { inset-block-start: 60px; }

  .apex-button { width: 100%; min-height: 46px; padding-inline: 18px; }
  .apex-page-cta-wrap { padding-block: 34px 48px; }
  .apex-page-cta { display: flex; min-height: 0; flex-direction: column; overflow: hidden; }
  .apex-page-cta__content { width: 100%; padding: 28px 24px 14px; }
  .apex-page-cta h2 { font-size: 29px; }
  .apex-page-cta__text { margin-bottom: 22px; font-size: 16px; }
  .apex-page-cta__media { width: 100%; height: 230px; }
  .apex-page-cta__image { right: -12px; width: 310px; }
  .apex-page-cta .apex-button { min-width: 0; font-size: 16px; }
  .apex-site-footer__main { display: grid; grid-template-columns: 76px 1fr; gap: 18px; }
  .apex-site-footer__logo { width: 76px; }
  .apex-site-footer__contact { min-width: 0; font-size: 14px; }
  .apex-site-footer__contact a, .apex-site-footer__contact p { overflow-wrap: anywhere; }
  .apex-site-footer__contact-row { display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; }
  .apex-site-footer__email-label { margin-left: 0; }
  .apex-site-footer__nav-wrap { display: block; min-width: 0; width: 100%; }
  .apex-footer-menu { display: grid; width: 100%; min-width: 0; gap: 9px; }
  .apex-footer-menu li { min-width: 0; }
  .apex-footer-menu a { min-width: 0; width: 100%; min-height: 42px; padding-block: 9px; }
  .apex-site-footer__copyright { margin-top: 12px; text-align: left; }
  .apex-site-footer__credit { margin-top: 20px; text-align: center; }

  .home-hero__grid { padding-top: 34px; }
  .home-hero__copy { padding-bottom: 24px; }
  .home-hero h1 { font-size: 36px; }
  .home-hero__title-line { display: inline; }
  .home-hero__meta-line { display: inline; }
  .home-hero__cards { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .home-hero__cards figure { flex: 0 0 78%; height: 320px; scroll-snap-align: start; }
  .home-hero__visual { min-height: 354px; }
  .home-hero__visual img { bottom: -68px; height: 422px; }
  .home-audience__visuals { display: flex; gap: 14px; margin-top: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .home-audience__visuals figure { flex: 0 0 82%; scroll-snap-align: start; }
  .home-audience__list { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; }
  .home-audience__item { min-height: 0; padding: 19px 72px 19px 19px; }
  .home-audience__icon { top: 16px; right: 16px; width: 42px; height: 42px; }
  .about-product-slider { display: block; }
  .about-product-slider .apex-slider-arrow { display: none; }
  .about-product-slider__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .about-product-slider__track { transform: none !important; }
  .about-product-slider__track figure { flex: 0 0 72%; scroll-snap-align: start; }
  .apex-card-grid--2, .apex-card-grid--3, .apex-card-grid--4 { grid-template-columns: 1fr; gap: 18px; }
  .apex-product-card img { height: 250px; }
  .apex-product-card > div { min-height: 0; padding: 20px; }
  .home-steps { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .home-steps li { flex: 0 0 82%; min-height: 200px; scroll-snap-align: start; }
  .home-steps__action { flex-direction: column; gap: 12px; text-align: center; }
  .home-photo-grid img, .home-photo-grid img:last-child { height: 180px; }
  .home-sustain .apex-soft-panel { min-height: 0; padding: 30px 24px; }
  .home-sustain .apex-soft-panel h3 { font-size: 27px; }
  .home-split--sustain .home-photo-stack { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .home-split--sustain .home-photo-stack img { flex: 0 0 84%; height: 220px; scroll-snap-align: start; }
  .home-testimonials blockquote { grid-template-columns: 72px 1fr; gap: 16px; padding: 20px; }
  .testimonial-avatar { width: 68px; height: 68px; }
  .home-testimonial-slider { --testimonial-visible: 1; }

  .about-hero img, .apex-wide-hero img, .config-hero > img { height: 250px; }
  .about-intro { padding-block: 38px; }
  .about-intro__grid { grid-template-columns: 1fr; gap: 24px; }
  .about-intro h1 { font-size: 34px; white-space: normal; }
  .about-intro__gallery img { height: 145px; }
  .about-intro dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .about-intro dl div { min-height: 104px; }
  .about-intro dt { font-size: 32px; }
  .about-product-strip { padding-block: 38px; }
  .about-product-strip img { height: 210px; }
  .about-video img { height: 260px; }
  .about-factory__grid, .about-cert-grid { grid-template-columns: 1fr; gap: 28px; }
  .about-factory-gallery img, .about-factory-gallery img:last-child { height: 170px; }
  .about-strength { padding: 26px 20px; }
  .about-colors { overflow-x: auto; padding-bottom: 8px; }
  .about-colors div { flex: 0 0 58px; }
  .about-colors span { width: 52px; height: 52px; }
  .about-compositions { grid-template-columns: 1fr 1fr; }

  .sustain-intro__grid, .sustain-feature__grid { grid-template-columns: 1fr; gap: 24px; }
  .sustain-intro h1 { font-size: 34px; }
  .sustain-intro p, .sustain-feature__content { font-size: 16px; }
  .sustain-intro__grid img, .sustain-feature__media > img, .sustain-feature--2 .sustain-feature__media > img { height: 240px; }
  .sustain-feature__grid.is-image-right .sustain-feature__media { order: 0; }
  .sustain-feature__content h2 { font-size: 30px; }
  .sustain-source-panel { padding: 26px 20px; border-radius: 16px; }
  .sustain-source-grid { grid-template-columns: 1fr; gap: 26px; }
  .sustain-source-grid img { height: 105px; }
  .sustain-documents { overflow-x: auto; }
  .sustain-documents img { flex: 0 0 72%; width: 72%; height: 170px; }

  .process-content { padding-top: 38px; }
  .process-content h1 { font-size: 34px; }
  .process-lead { margin: 26px 0 18px; font-size: 20px; }
  .process-content > .apex-container > p:not(.process-lead), .process-step li { font-size: 16px; }
  .process-phase > h2 { margin: 42px 0 26px; padding: 15px; font-size: 24px; }
  .process-step { grid-template-columns: 54px 1fr; gap: 14px; margin: 28px 0; }
  .process-step__number { width: 50px; height: 50px; font-size: 23px; }
  .process-step h3 { font-size: 21px; }
  .process-step ul { padding-left: 19px; }
  .process-products { display: flex; gap: 14px; margin: 34px 0; overflow-x: auto; scroll-snap-type: x mandatory; }
  .process-products article { flex: 0 0 84%; scroll-snap-align: start; }
  .process-products img { height: 300px; }

  .apex-configurator .config-main { padding-block: 34px 44px; }
  .apex-configurator .config-moq h1 { font-size: 23px; }
  .apex-configurator .config-moq b { font-size: 22px; }
  .apex-configurator .config-moq p { font-size: 15px; white-space: normal; }
  .apex-configurator .config-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 18px; }
  .apex-configurator .config-panel { padding: 18px; }
  .apex-configurator .config-controls { order: 1; }
  .apex-configurator .config-preview { order: 2; min-height: 0; padding-block: 14px; }
  .apex-configurator .config-summary { order: 3; grid-column: auto; }
  .apex-configurator .config-preview-stage { min-height: 350px; }
  .apex-configurator .config-preview-stage img { height: 330px; }
  .apex-configurator .config-thumbs { overflow: visible; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .apex-configurator .config-products span { min-height: 112px; }
  .apex-configurator .config-products img { width: 68px; height: 64px; }
  .apex-configurator .config-products b { font-size: 11px; }
  .apex-configurator .config-swatches { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 11px 6px; }
  .apex-configurator .config-swatches span { width: 27px; height: 27px; }
  .apex-configurator .config-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .apex-configurator .config-options span { min-height: 44px; }
  .apex-configurator .config-embroider { grid-template-columns: 1fr 1.25fr; }
  .apex-configurator .config-summary dl div { font-size: 12px; }
  .apex-configurator .config-summary table { font-size: 12px; table-layout: fixed; }
  .apex-configurator .config-summary th, .apex-configurator .config-summary td { padding: 7px 2px; }
  .apex-configurator .config-summary th:nth-child(1) { width: 16%; }
  .apex-configurator .config-summary th:nth-child(2) { width: 30%; }
  .apex-configurator .config-summary th:nth-child(3) { width: 24%; }
  .apex-configurator .config-summary th:nth-child(4) { width: 30%; }
  .apex-configurator .config-quantity { display: inline-grid; grid-template-columns: 28px 34px 28px; }
  .apex-configurator .config-summary input { width: 34px; }
  .apex-configurator .config-validation { font-size: 11px; }
  .apex-configurator .config-actions { position: sticky; z-index: 20; bottom: 0; margin-inline: -18px; padding: 12px 18px max(12px, env(safe-area-inset-bottom)); background: rgba(244,250,239,.96); box-shadow: 0 -8px 20px rgba(27,85,60,.1); backdrop-filter: blur(8px); }
  .apex-configurator .config-actions .apex-button { min-height: 46px; font-size: 13px; }

  .woocommerce-cart .apex-cart-page { padding-block: 30px 44px; }
  .woocommerce-cart .apex-cart-page > .apex-container > h1 { margin-bottom: 20px; font-size: 32px; }
  .woocommerce-cart table.shop_table_responsive tr { display: block; margin-bottom: 16px; padding: 14px; border: 1px solid var(--apex-border); border-radius: 10px; background: var(--apex-white); }
  .woocommerce-cart table.shop_table_responsive tr td { display: grid; grid-template-columns: minmax(105px, 38%) 1fr; min-height: 38px; padding: 8px 0; border: 0; border-bottom: 1px solid #e3ebe5; text-align: right !important; }
  .woocommerce-cart table.shop_table_responsive tr td::before { align-self: start; color: var(--apex-brand-dark); text-align: left; }
  .woocommerce-cart table.shop_table_responsive .product-thumbnail { display: block; }
  .woocommerce-cart table.shop_table_responsive .product-thumbnail::before { display: none; }
  .woocommerce-cart table.shop_table_responsive .product-thumbnail img { width: 110px; margin-inline: auto; }
  .woocommerce-cart table.shop_table_responsive .product-name { display: block; text-align: left !important; }
  .woocommerce-cart table.shop_table_responsive .product-name::before { display: none; }
  .woocommerce-cart .product-name dl.variation { grid-template-columns: minmax(110px, max-content) 1fr; }
  .woocommerce-cart table.shop_table_responsive .actions { display: block; }
  .woocommerce-cart table.shop_table_responsive .actions::before { display: none; }
  .woocommerce-cart .coupon { display: grid !important; grid-template-columns: 1fr auto; width: 100%; gap: 8px; }
  .woocommerce-cart .coupon input { width: 100% !important; min-height: 44px; }
  .woocommerce-cart .coupon button { min-height: 44px; }
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 50px; font-size: 17px; }

  .apex-checkout-page { padding-bottom: 48px; }
  .apex-checkout-header { padding-bottom: 18px; }
  .apex-checkout-grid { gap: 18px; }
  .apex-checkout-card { border-radius: 12px; }
  .apex-checkout-sidebar { position: static; }
  .apex-order-product { grid-template-columns: minmax(0,1fr) auto; }
  .apex-payment-card .wc_payment_method > label { min-height: 48px; }
  .woocommerce-account .apex-page-header { padding-top: 30px; }
  .woocommerce-account .woocommerce .u-columns, .woocommerce-account .woocommerce .col2-set { grid-template-columns: 1fr; }
  .contact-main__grid { grid-template-columns: 1fr; gap: 20px; }
  .contact-details, .contact-form-card { padding: 22px; }
  .contact-map { padding-block: 44px 52px; }
}

@media (max-width: 479px) {
  :root { --apex-gutter: 16px; }
  .apex-header-action:first-child .apex-header-action__label { display: none; }
  .apex-page-cta__media { height: 205px; }
  .home-hero__cards figure { flex-basis: 88%; height: 290px; }
  .about-intro dl { grid-template-columns: 1fr; }
  .about-intro dl div { min-height: 88px; }
  .about-intro__gallery { grid-template-columns: 1fr; }
  .contact-hero h1 { font-size: 34px; }
  .apex-configurator .config-panel { padding-inline: 14px; }
  .apex-configurator .config-swatches { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px 8px; }
  .apex-configurator .config-swatches span { width: 30px; height: 30px; }
  .apex-configurator .config-options { grid-template-columns: 1fr 1fr; }
  .apex-configurator .config-embroider { grid-template-columns: 1fr; }
  .apex-configurator .config-summary table { font-size: 11px; }
  .apex-configurator .config-quantity { grid-template-columns: 26px 30px 26px; }
  .apex-configurator .config-summary input { width: 30px; }
  .apex-configurator .config-actions { grid-template-columns: 1fr; }
  .woocommerce-cart .coupon { grid-template-columns: 1fr; }
  .apex-checkout-coupon__form { grid-template-columns: 1fr; }
  .apex-order-product { display: block; }
  .apex-order-product__price { margin-top: 12px; text-align: right; }
}

@media (max-width: 1023px) {
  .library-hero img { height: 330px; }
  .library-intro__grid { grid-template-columns: 260px 1fr; gap: 34px; }
  .library-group__grid { grid-template-columns: 300px minmax(0,1fr); gap: 18px; }
  .library-group__copy { min-height: 460px; padding: 26px 22px; }
  .library-slider__stage { height: 350px; }
  .library-slider__thumbs button { height: 82px; }
  .config-size-guide__grid { padding: 26px; grid-template-columns: 1fr; gap: 28px; }
  .config-size-guide__visual img, .config-size-guide__placeholder { height: auto; }
  .config-measurements { grid-template-columns: 1fr; }
  .config-product-guide__layout { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
	.apex-product-details__header{margin-bottom:24px;align-items:flex-start;flex-direction:column}
	.apex-product-details__cta{width:100%;min-width:0}
	.apex-product-details__grid{grid-template-columns:1fr}
	.apex-product-details__card{padding:24px}
	.apex-product-details__card::before{right:24px;left:24px}
	.apex-product-details__card h3{font-size:21px}
	.library-hero img { height: 235px; }
  .library-intro { padding-block: 38px 26px; }
  .library-intro__grid { grid-template-columns: 1fr; gap: 16px; }
  .library-intro h1 { font-size: 34px; }
  .library-intro p { font-size: 15px; }
  .library-group { margin-bottom: 46px; }
  .library-group__title { margin-bottom: 16px; padding: 14px 16px; font-size: 21px; }
  .library-group__grid { display: flex; flex-direction: column; }
  .library-group__copy { min-height: 0; padding: 22px; order: 2; }
  .library-group__copy h3 { font-size: 22px; }
  .library-group__copy .apex-button { margin-top: 8px; }
  .library-slider { order: 1; }
  .library-slider__stage { height: 330px; }
  .library-slider__thumbs { gap: 8px; overflow-x: auto; grid-template-columns: repeat(4, minmax(90px,1fr)); }
  .library-slider__thumbs button { height: 76px; }
  .config-size-guide__header h2 { font-size: 32px; }
  .config-size-guide__header p { font-size: 16px; }
  .config-size-guide__grid { padding: 20px; grid-template-columns: 1fr; }
  .config-size-guide__visual,
  .config-size-guide__content { min-width: 0; }
  .config-size-guide__visual img, .config-size-guide__placeholder { height: auto; }
  .config-size-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; }
  .config-size-table { min-width: 520px; }
  .config-product-guides { gap: 20px; }
  .config-product-guide { padding: 20px; }
  .config-product-guide > h3 { margin-bottom: 18px; font-size: 24px; }
  .config-product-guide__layout { gap: 20px; }
  .config-product-guide__visual .measure-line { stroke-width: .65; }
  .config-measurements--product li { min-height: 0; }
  .config-size-recommendations { margin-top: 26px; padding: 20px; }
  .apex-video-modal { padding: 16px; }
  .apex-video-modal__close { top: -12px; right: -8px; width: 42px; height: 42px; }
}

/* Mobile refinement: compact controls and keep the visual close to product selection. */
@media (max-width: 767px) {
  .apex-page-cta__content { position: relative; z-index: 2; padding-bottom: 18px; }
  .apex-page-cta__media { z-index: 1; height: 190px; }
  .apex-page-cta__image { right: 4px; width: min(265px, 72vw); }

  .apex-configurator .config-mobile-preview-slot { display: none; }
  .apex-configurator .config-controls > .config-preview {
    width: 100%;
    margin: 2px 0 16px;
    padding: 10px 0 4px;
    border-radius: 0;
    background: transparent;
  }
  .apex-configurator .config-controls > .config-preview .config-preview-stage { min-height: 310px; }
  .apex-configurator .config-controls > .config-preview .config-preview-stage img { height: 292px; }
  .apex-configurator .config-controls > .config-preview .config-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .apex-configurator .config-swatches,
  .apex-configurator .config-swatches:not(.config-options) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 6px;
    row-gap: 8px;
  }
  .apex-configurator .config-swatches label { min-height: 56px; }
  .apex-configurator .config-swatches span { width: 29px; height: 29px; }
  .apex-configurator .config-swatches small { min-height: 18px; margin-top: 4px; font-size: 9px; line-height: 1.05; }

  .apex-configurator .config-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .apex-configurator .config-options label { display: flex; }
  .apex-configurator .config-options span {
    min-height: 38px;
    padding: 4px 5px;
    line-height: 1.08;
  }
  .apex-configurator .config-options small { font-size: 9px; }
  .apex-configurator .config-fieldset-base-color,
  .apex-configurator .config-fieldset-trim,
  .apex-configurator .config-fieldset-trim-color { margin-bottom: 15px; }
}

@media (max-width: 374px) {
  .apex-page-cta__media { height: 175px; }
  .apex-page-cta__image { width: min(235px, 72vw); }
  .apex-configurator .config-panel { padding-inline: 12px; }
  .apex-configurator .config-swatches,
  .apex-configurator .config-swatches:not(.config-options) { column-gap: 3px; }
  .apex-configurator .config-swatches span { width: 27px; height: 27px; }
  .apex-configurator .config-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
