/* Approved store design: a shared sage menu, full panoramic banner, and clear shopping controls. */
:root {
  --aft-paper: #fbfaf7;
  --aft-ink: #243e31;
  --aft-muted: #626b63;
  --aft-line: #dce1d7;
  --aft-soft: #eff1e9;
  --aft-sage: #e9eee5;
  --aft-hover: #354f3f;
  --aft-gutter: 56px;
}
body, body #page { background: var(--aft-paper); color: var(--aft-ink); font-family: Arial, Helvetica, sans-serif; }
#page h1, #page h2, #page h3, #page h4, #page button, #page input, #page select, #page textarea { font-family: Arial, Helvetica, sans-serif; }
#page h1, #page h2, #page h3, #page h4 { color: var(--aft-ink); font-weight: 500; }
#page h1 { font-size: 32px; line-height: 1.2; letter-spacing: -.8px; }
#page h2 { font-size: 24px; line-height: 1.3; letter-spacing: -.4px; }
#page p { line-height: 1.7; }
#page a { color: var(--aft-ink); text-underline-offset: 4px; }
#page :where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #6b803d; outline-offset: 4px; }
#page :where(button, a) { touch-action: manipulation; }
.aft-wrap, #masthead .ast-container, #content.site-content > .ast-container { width: 100%; max-width: 1392px; margin-inline: auto; padding-inline: var(--aft-gutter); }
#content.site-content #primary { min-width: 0; width: 100%; margin-block: 0; padding-block: 0; }
.ast-separate-container .ast-article-single, .ast-separate-container .ast-woocommerce-container { background: transparent; padding: 0; }
#page .ast-woocommerce-container, #page div.product, #page .site-main > article.ast-article-single { background: transparent; }
.site-content .entry-content { color: var(--aft-ink); }
.home #content.site-content > .ast-container { max-width: none; padding: 0; }
.site-content .entry-header:not(.ast-no-title) { margin: 32px 0 25px; }

/* Keep the original header readable, including Astra's mobile menu and dropdowns. */
#masthead .main-header-bar, #masthead .ast-mobile-header-content, #masthead .main-header-menu,
#masthead .main-header-menu .sub-menu { background: var(--aft-sage); color: var(--aft-ink); }
#masthead .main-header-bar { border-bottom: 1px solid #d7dfd2; }
#masthead .ast-primary-header-bar { min-height: 72px; }
#masthead .site-title a { color: var(--aft-ink); font: 600 25px/1.2 Arial, Helvetica, sans-serif; letter-spacing: -1px; }
#masthead .site-title { white-space: nowrap; }
#masthead .site-branding { padding-block: 8px; }
#masthead .main-header-menu .menu-link { display: flex; align-items: center; min-height: 44px; padding: 0 14px; color: var(--aft-ink); font-size: 13px; line-height: 1.4; }
#masthead .main-header-menu .current-menu-item > .menu-link { background: #d7e2cf; color: var(--aft-ink); }
#masthead .main-header-menu .menu-link:hover { background: #e2e9db; color: var(--aft-ink); }
#masthead .main-header-menu .sub-menu { border-color: #cbd7c5; box-shadow: 0 8px 18px #243e3112; }
#masthead .ast-header-account-link, #masthead .cart-container, #masthead .menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--aft-ink); }
#masthead .ast-addon-cart-wrap { color: var(--aft-ink); border-color: #a8baa2; border-radius: 0; }
#masthead .ast-woo-header-cart-total { font-size: 13px; font-weight: 400; }
#masthead .ast-header-account-link svg { width: 18px; height: 18px; }
#masthead .ast-mobile-menu-trigger-minimal { color: var(--aft-ink); }
.aft-store-banner { width: 100%; margin: 0; padding: 0; line-height: 0; }
.aft-store-banner img { display: block; width: 100%; max-width: 100%; height: auto; max-height: none; margin: 0; border-radius: 0; }
.aft-preview-notice, .woocommerce-store-notice.demo_store { position: static; inset: auto; width: 100%; margin: 0; padding: 10px 20px; background: var(--aft-soft); color: var(--aft-muted); box-shadow: none; font: 12px/1.6 Arial, Helvetica, sans-serif; text-align: center; }
.woocommerce-store-notice.demo_store a { display: inline-flex; align-items: center; min-height: 44px; margin-left: 12px; color: var(--aft-ink); }
.woocommerce-store-notice.demo_store a.woocommerce-store-notice__dismiss-link { background: transparent; padding: 0; border: 0; color: var(--aft-ink); text-transform: none; letter-spacing: 0; }

/* Native blocks and classic WooCommerce share the same catalogue card layout. */
.entry-content .aft-home-products { box-sizing: border-box; width: 100%; max-width: 1392px !important; margin: 0 auto !important; padding: 0 var(--aft-gutter) !important; }
.aft-home-products > *, .aft-information-page > * { max-width: none !important; }
.aft-catalogue-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; padding: 34px 0 24px; margin: 0 !important; }
#page .aft-catalogue-heading h1 { margin: 0; font-size: 29px; font-weight: 500; line-height: 1.2; }
.aft-catalogue-heading p { margin: 9px 0 0; color: var(--aft-muted); font-size: 13px; }
.aft-catalogue-heading > p, .aft-catalogue-heading > span { margin: 0; padding-bottom: 2px; color: var(--aft-muted); font-size: 12px; white-space: nowrap; }
.aft-home-products .wp-block-woocommerce-product-collection { width: 100%; margin: 0; }
.aft-home-products .wc-block-product-template, .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px !important; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.aft-home-products .wc-block-product-template > li, .woocommerce ul.products li.product { display: flex; flex-direction: column; box-sizing: border-box; width: auto !important; min-width: 0; margin: 0 !important; padding: 0; border: 1px solid var(--aft-line); background: #fff; text-align: left; }
.aft-home-products .wp-block-woocommerce-product-image, .woocommerce .astra-shop-thumbnail-wrap { height: 260px; margin: 0; background: #eeecf1; aspect-ratio: auto; }
.aft-home-products .wp-block-woocommerce-product-image > a, .woocommerce .astra-shop-thumbnail-wrap > .woocommerce-loop-product__link { display: block; height: 100%; }
.aft-home-products .wp-block-woocommerce-product-image img, .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { display: block; width: 100%; height: 260px !important; margin: 0; object-fit: contain !important; aspect-ratio: auto !important; border-radius: 0; }
#page .aft-home-products .wp-block-post-title { padding: 0; margin: 18px 20px 7px; font-size: 17px !important; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.aft-home-products .wp-block-post-title a, .woocommerce ul.products li.product a { text-decoration: none; }
.aft-home-products .wp-block-post-title a:hover, .woocommerce ul.products li.product .woocommerce-loop-product__title:hover { text-decoration: underline; }
.aft-home-products .wp-block-woocommerce-product-price { margin: 0 20px; }
.aft-home-products .wc-block-components-product-price { color: var(--aft-ink); text-align: left; font-size: 15px !important; font-weight: 400; line-height: 1.5; }
.aft-card-options { margin: 8px 0 17px; color: var(--aft-muted); font-size: 12px; line-height: 1.6; }
.aft-home-products .aft-card-options { margin-inline: 20px; }
.aft-home-products .wp-block-woocommerce-product-button { width: auto; margin: auto 20px 20px; padding-top: 0; align-self: stretch; }
#page .aft-home-products .wp-block-woocommerce-product-button .wp-block-button__link { display: flex; width: 100%; min-height: 46px; padding: 12px; align-items: center; justify-content: center; background: transparent; border: 1px solid #b9c8b4; border-radius: 0; color: var(--aft-ink); font-size: 13px; font-weight: 400; line-height: 1.3; }
#page .aft-home-products .wp-block-woocommerce-product-button .wp-block-button__link:hover { background: var(--aft-sage); }
.woocommerce .astra-shop-summary-wrap { display: flex; flex: 1; flex-direction: column; padding: 18px 20px 20px; }
.woocommerce ul.products .ast-on-card-button { display: none; }
#page .woocommerce-loop-product__title { margin: 0 0 7px; padding: 0; font-size: 17px !important; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.woocommerce ul.products li.product .price { margin: 0; color: var(--aft-ink); font-size: 15px; font-weight: 400; line-height: 1.5; }
#page ul.products li.product .astra-shop-summary-wrap > .button { width: 100%; margin: auto 0 0; background: transparent; border: 1px solid #b9c8b4; color: var(--aft-ink); font-weight: 400; }
#page ul.products li.product .astra-shop-summary-wrap > .button:hover { background: var(--aft-sage); }
.woocommerce .woocommerce-breadcrumb { margin: 0; padding: 18px 0; color: var(--aft-muted); font-size: 12px; line-height: 1.6; }
.woocommerce .woocommerce-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.woocommerce .woocommerce-result-count { color: var(--aft-muted); font-size: 13px; }
.woocommerce .woocommerce-ordering { margin-bottom: 24px; }
.woocommerce .woocommerce-ordering select { min-height: 44px; background-color: #fff; font-size: 13px; }
.woocommerce .ast-woocommerce-container { padding-block: 0 42px; }
.woocommerce .woocommerce-products-header { padding-top: 30px; }
.woocommerce .woocommerce-products-header__title { margin-bottom: 20px; }
.woocommerce nav.woocommerce-pagination { margin-block: 28px; }
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li { border-color: var(--aft-line); }
.woocommerce nav.woocommerce-pagination a, .woocommerce nav.woocommerce-pagination span { min-width: 44px; min-height: 44px; display: grid; place-items: center; }
.aft-service-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; margin: 37px 0 42px !important; padding: 28px 0 0; border-top: 1px solid var(--aft-line); }
.aft-service-strip > * { min-width: 0; margin: 0; }
.aft-service-strip strong { font-size: 14px; font-weight: 600; }
.aft-service-strip p { margin: 7px 0 0; color: var(--aft-muted); font-size: 12px; }
.aft-service-strip a, .aft-service-strip button { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 0; background: none; border: 0; color: var(--aft-ink); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }

/* Product detail: WooCommerce remains responsible for stock, variations and cart actions. */
.woocommerce div.product { padding: 0; }
#page div.product > div.images { float: left; width: calc(51.25% - 27.5px) !important; margin: 0 55px 30px 0; background: #eeecf1; }
#page div.product > div.summary { float: right; width: calc(48.75% - 27.5px) !important; margin: 0 0 30px; padding: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; height: 390px; object-fit: contain; }
.woocommerce div.product div.images .flex-control-thumbs { background: var(--aft-paper); padding-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs img { height: auto; }
#page div.product .product_title { margin: 0 0 16px; font-size: 31px; font-weight: 500; line-height: 1.2; letter-spacing: -.8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 0 0 15px; color: var(--aft-ink); font-size: 26px; font-weight: 400; }
.woocommerce-product-details__short-description { max-width: 460px; margin-bottom: 18px; color: var(--aft-muted); font-size: 14px; line-height: 1.7; }
.woocommerce-product-details__short-description p { margin-bottom: 0; }
.woocommerce div.product form.cart { margin: 0 0 16px; }
.woocommerce div.product form.cart .variations { margin: 0 0 15px; border: 0; }
.woocommerce div.product form.cart .variations tbody, .woocommerce div.product form.cart .variations tr { display: block; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; border: 0; text-align: left; }
.woocommerce div.product form.cart .variations label { display: block; margin-bottom: 10px; color: var(--aft-ink); font-size: 13px; font-weight: 600; }
.woocommerce div.product form.cart .variations select { width: 100%; max-width: 340px; min-height: 46px; border: 1px solid var(--aft-line); border-radius: 0; background-color: #fff; font-size: 14px; }
.aft-variation-options { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.aft-variation-enhanced select { display: none !important; }
.aft-variation-price-in-summary .woocommerce-variation-price { display: none; }
.aft-price-currency { margin-left: 9px; color: var(--aft-muted); font-size: 11px; font-weight: 400; }
#page .aft-variable-option { display: inline-flex; justify-content: center; align-items: center; min-width: 100px; min-height: 46px; padding: 10px 19px; border: 1px solid var(--aft-line); border-radius: 0; background: transparent; color: var(--aft-ink); font-size: 13px; font-weight: 400; line-height: 1.4; text-transform: none; letter-spacing: normal; }
#page .aft-variable-option[aria-pressed="true"] { background: var(--aft-ink); border-color: var(--aft-ink); color: #fff; }
#page .aft-variable-option:disabled { opacity: .5; cursor: not-allowed; }
.woocommerce div.product form.cart .reset_variations { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; text-decoration: underline; }
.woocommerce-variation-price { margin-bottom: 12px; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; align-items: stretch; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product form.cart div.quantity { flex: 0 0 92px; width: 92px; margin: 0; }
.woocommerce .quantity .qty { width: 100%; max-width: 100%; min-height: 50px; margin: 0; padding: 8px; border: 1px solid var(--aft-line); border-radius: 0; background: #fff; color: var(--aft-ink); font-size: 15px; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 130px; min-height: 50px; margin: 0; }
.woocommerce .product_meta { padding-block: 14px; border-top: 1px solid var(--aft-line); color: var(--aft-muted); font-size: 12px; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 20px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 20px; padding: 0; border-color: var(--aft-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; background: transparent; border-color: var(--aft-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 48px; font-size: 14px; font-weight: 500; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 12px 0 24px; color: var(--aft-muted); font-size: 14px; }
.woocommerce div.product .related.products { clear: both; padding-top: 25px; border-top: 1px solid var(--aft-line); }
.woocommerce div.product .related.products > h2 { margin-bottom: 22px; }
.aft-product-delivery, .aft-product-help { padding-top: 12px; margin-top: 12px; border-top: 1px solid var(--aft-line); color: var(--aft-muted); font-size: 12px; }
.aft-product-message { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; text-decoration: underline; }
.aft-message-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--aft-muted); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }

/* Shared actions, forms and purchase pages. */
#page a.button, #page button.button, #page input.button,
#page .button.alt, #page .wp-block-button__link, #page .aft-primary,
#page .wc-block-components-button:not(.is-link) { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 18px; border: 1px solid var(--aft-ink); border-radius: 0; background: var(--aft-ink); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.4; text-decoration: none; text-transform: none; letter-spacing: 0; box-shadow: none; }
#page .button:hover, #page .wp-block-button__link:hover, #page .aft-primary:hover,
#page .wc-block-components-button:not(.is-link):hover { background: var(--aft-hover); border-color: var(--aft-hover); color: #fff; }
#page .button:disabled, #page .button.disabled { opacity: .55; cursor: not-allowed; }
#page .aft-outline-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 18px; background: transparent; border: 1px solid #b9c8b4; color: var(--aft-ink); font-size: 13px; text-decoration: none; }
#page .aft-text-button { display: inline-flex; align-items: center; min-height: 44px; padding: 0; background: transparent; border: 0; color: var(--aft-muted); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.woocommerce form .form-row label { color: var(--aft-ink); font-size: 13px; line-height: 1.5; margin-bottom: 7px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce .select2-container .select2-selection--single { min-height: 46px; padding: 11px 12px; border: 1px solid #becabc; border-radius: 0; background: #fff; color: var(--aft-ink); font-size: 16px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { padding-left: 0; line-height: 23px; }
.woocommerce .select2-container .select2-selection__arrow { top: 10px; }
.woocommerce form .form-row textarea { min-height: 120px; }
.woocommerce table.shop_table { border: 1px solid var(--aft-line); border-radius: 0; background: transparent; font-size: 14px; }
.woocommerce table.shop_table th { background: var(--aft-soft); color: var(--aft-ink); font-weight: 600; }
.woocommerce table.shop_table td { border-color: var(--aft-line); padding: 16px 12px; }
.woocommerce table.shop_table img { max-width: 90px; }
.woocommerce table.shop_table .quantity { min-width: 70px; }
.woocommerce a.remove { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 0; }
.woocommerce .cart-collaterals .cart_totals { padding: 24px; border: 1px solid var(--aft-line); background: #fff; }
.woocommerce .cart-collaterals .cart_totals h2 { margin-bottom: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; margin-bottom: 0; font-size: 15px; }
.woocommerce-cart #primary, .woocommerce-checkout #primary, .woocommerce-account #primary { padding-bottom: 40px; }
.woocommerce-checkout #payment { border: 1px solid var(--aft-line); border-radius: 0; background: var(--aft-soft); }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--aft-line); }
.woocommerce-checkout #order_review, .woocommerce-checkout #customer_details { min-width: 0; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-color: var(--aft-ink); background: var(--aft-soft); color: var(--aft-ink); font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; border: 1px solid var(--aft-line); list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--aft-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 48px; padding: 12px 18px; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--aft-sage); }
.woocommerce-account .woocommerce-MyAccount-content { color: var(--aft-muted); font-size: 14px; }
.woocommerce form.login, .woocommerce form.register { border-color: var(--aft-line); border-radius: 0; background: #fff; }
.wc-block-cart, .wc-block-checkout { color: var(--aft-ink); font-family: Arial, Helvetica, sans-serif; }
#page .entry-content .wp-block-woocommerce-cart.alignwide, #page .entry-content .wp-block-woocommerce-checkout.alignwide { width: 100%; max-width: 100%; margin-inline: 0; }
.wc-block-components-sidebar { padding: 24px; border: 1px solid var(--aft-line); background: #fff; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-textarea { min-height: 48px; border-color: #becabc; border-radius: 0; font-family: Arial, Helvetica, sans-serif; font-size: 16px; }
.wc-block-components-quantity-selector { min-height: 44px; border-radius: 0; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-width: 44px; }
.wc-block-components-totals-wrapper, .wc-block-cart-items__row { border-color: var(--aft-line); }
.wc-block-components-product-name { color: var(--aft-ink); font-weight: 500; }

/* Editable About and delivery content. */
.entry-content .aft-information-page { max-width: none !important; padding: 36px 0 48px; margin: 0; }
.aft-page-intro { padding-bottom: 25px; margin-bottom: 30px; border-bottom: 1px solid var(--aft-line); }
.aft-page-intro > p { margin-bottom: 10px; color: var(--aft-muted); font-size: 12px; }
#page .aft-page-intro h1 { margin: 0; font-size: 32px; }
.aft-information-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 85px; }
.aft-information-grid > * { min-width: 0; margin: 0; }
.aft-about-copy { max-width: 680px; }
.aft-about-copy > p { margin: 0 0 21px; font-size: 17px; line-height: 1.8 !important; }
.aft-information-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 24px; }
.aft-delivery-card { align-self: start; padding: 25px 28px; background: #edf0e8; }
#page .aft-delivery-card h2 { margin: 0 0 18px; font-size: 19px; }
.aft-delivery-card p { margin: 0 0 17px; color: var(--aft-muted); font-size: 14px; }
.aft-delivery-card dl { margin: 0; }
.aft-delivery-card dl > div { display: flex; justify-content: space-between; gap: 25px; padding: 12px 0; border-bottom: 1px solid #d3ddcd; font-size: 14px; }
.aft-delivery-card dd { margin: 0; text-align: right; }
.aft-delivery-card > a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 9px; font-size: 12px; }
.aft-help-questions details, .aft-information-page .wp-block-details { margin: 0 0 8px; border-bottom: 1px solid var(--aft-line); }
.aft-help-questions summary, .aft-information-page .wp-block-details summary { cursor: pointer; min-height: 49px; padding-block: 12px; font-size: 16px; font-weight: 500; }
.aft-help-questions details p, .aft-information-page .wp-block-details p { margin-bottom: 17px; color: var(--aft-muted); font-size: 14px; line-height: 1.8 !important; }
.aft-footer { padding: 24px 0 23px; background: #edf0e8; color: var(--aft-ink); }
.aft-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.aft-footer-brand { font: 600 25px/1.2 Arial, Helvetica, sans-serif; letter-spacing: -1px; }
.aft-footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 27px; margin: 0; padding: 0; list-style: none; }
.aft-footer-links a, .aft-footer-links button { display: inline-flex; align-items: center; min-height: 44px; padding: 0; background: none; border: 0; color: var(--aft-ink); font-size: 12px; text-decoration: none; }
.aft-footer-links a:hover, .aft-footer-links button:hover { text-decoration: underline; }
.aft-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 21px; padding-top: 19px; border-top: 1px solid #d1dccc; color: var(--aft-muted); font-size: 11px; line-height: 1.6; }
.aft-footer-bottom p { margin: 0; }

@media (max-width: 1050px) {
  :root { --aft-gutter: 32px; }
  .aft-information-grid { gap: 35px; }
  .aft-home-products .wp-block-woocommerce-product-image, .woocommerce .astra-shop-thumbnail-wrap,
  .aft-home-products .wp-block-woocommerce-product-image img, .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { height: 225px !important; }
  #page div.product > div.images { width: calc(51.25% - 17.5px) !important; margin-right: 35px; }
  #page div.product > div.summary { width: calc(48.75% - 17.5px) !important; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image img { height: 350px; }
}
@media (max-width: 921px) {
  #masthead .ast-primary-header-bar { min-height: 64px; padding-inline: var(--aft-gutter); }
  #masthead .ast-primary-header-bar .ast-container { padding-inline: 0; }
  #ast-mobile-header .ast-builder-grid-row { grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; }
  #masthead .site-title a { font-size: 23px; }
  #masthead .ast-mobile-header-content .menu-link { min-height: 48px; padding-inline: var(--aft-gutter); border-color: #d7dfd2; }
  #masthead .ast-header-woo-cart, #masthead .ast-header-account { margin-inline: 4px; }
}
@media (max-width: 700px) {
  :root { --aft-gutter: 20px; }
  #masthead .ast-woo-header-cart-info-wrap { display: none; }
  #page h1 { font-size: 28px; }
  .site-content .entry-header:not(.ast-no-title) { margin-block: 25px 20px; }
  .aft-catalogue-heading { align-items: start; gap: 14px; padding: 25px 0 20px; }
  #page .aft-catalogue-heading h1 { font-size: 26px; }
  .aft-catalogue-heading p { max-width: 240px; font-size: 12px; }
  .aft-catalogue-heading > p, .aft-catalogue-heading > span { max-width: 58px; padding-top: 4px; font-size: 10px; line-height: 1.7; text-align: right; white-space: normal; }
  .aft-home-products .wc-block-product-template, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 12px !important; }
  .aft-home-products .wp-block-woocommerce-product-image, .woocommerce .astra-shop-thumbnail-wrap,
  .aft-home-products .wp-block-woocommerce-product-image img, .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { height: 169px !important; }
  #page .aft-home-products .wp-block-post-title { margin: 12px 12px 7px; font-size: 15px !important; }
  .aft-home-products .wp-block-woocommerce-product-price { margin-inline: 12px; }
  .aft-home-products .wc-block-components-product-price { font-size: 13px !important; }
  .aft-home-products .aft-card-options { margin: 7px 12px 12px; font-size: 11px; }
  .aft-home-products .wp-block-woocommerce-product-button { margin: auto 12px 12px; }
  #page .aft-home-products .wp-block-woocommerce-product-button .wp-block-button__link { min-height: 46px; padding: 9px; font-size: 11px; }
  .woocommerce .astra-shop-summary-wrap { padding: 12px; }
  #page .woocommerce-loop-product__title { font-size: 15px !important; }
  .woocommerce ul.products li.product .price { font-size: 13px; }
  #page ul.products li.product .astra-shop-summary-wrap > .button { min-height: 46px; padding: 9px; font-size: 11px; }
  .aft-card-options { margin: 7px 0 12px; font-size: 11px; }
  .aft-service-strip { grid-template-columns: 1fr; gap: 18px; margin: 27px 0 31px !important; padding-top: 23px; }
  .aft-service-strip > * { padding-bottom: 10px; border-bottom: 1px solid var(--aft-line); }
  .aft-service-strip > :last-child { border-bottom: 0; }
  .woocommerce .woocommerce-breadcrumb { padding-block: 2px; font-size: 11px; }
  .woocommerce .woocommerce-products-header { padding-top: 24px; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; margin-bottom: 16px; }
  .woocommerce .woocommerce-ordering select { max-width: 100%; }
  #page div.product > div.images, #page div.product > div.summary { float: none; width: 100% !important; margin: 0 0 19px; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image img { height: 202px; }
  #page div.product .product_title { margin-bottom: 12px; font-size: 27px; }
  .woocommerce div.product p.price, .woocommerce div.product span.price { margin-bottom: 12px; font-size: 24px; }
  .woocommerce-product-details__short-description { margin-bottom: 16px; font-size: 13px; }
  .woocommerce div.product form.cart .variations { margin-bottom: 8px; }
  /* Woo's reveal animation can retain the height of the price moved into the summary. */
  .woocommerce div.product form.aft-variation-price-in-summary .single_variation { height: auto !important; min-height: 0; margin-bottom: 0 !important; }
  .aft-variation-price-in-summary .woocommerce-variation-description:not(:empty),
  .aft-variation-price-in-summary .woocommerce-variation-availability:not(:empty) { margin-bottom: 12px; }
  .woocommerce div.product form.cart .woocommerce-variation-add-to-cart { gap: 9px; }
  .woocommerce div.product form.cart .single_add_to_cart_button { min-width: 120px; }
  .woocommerce div.product .woocommerce-tabs { padding-top: 10px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 0 16px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 12px; }
  .woocommerce table.shop_table td { padding: 12px; overflow-wrap: anywhere; }
  .woocommerce .cart-collaterals .cart_totals, .wc-block-components-sidebar { padding: 20px; }
  .woocommerce-cart table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 10px; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1 1 130px; width: 100%; min-height: 46px; margin: 0; }
  .woocommerce-cart table.cart td.actions .coupon .button { flex: 1 1 130px; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; margin-bottom: 25px; }
  .entry-content .aft-information-page { padding: 25px 0 34px; }
  .aft-page-intro { padding-bottom: 21px; margin-bottom: 23px; }
  #page .aft-page-intro h1 { font-size: 28px; }
  .aft-information-grid { grid-template-columns: 1fr; gap: 27px; }
  .aft-about-copy > p { margin-bottom: 17px; font-size: 15px; }
  .aft-delivery-card { padding: 22px; }
  .aft-information-actions { gap: 18px; }
  .aft-help-questions summary, .aft-information-page .wp-block-details summary { font-size: 15px; }
  .aft-help-questions details p, .aft-information-page .wp-block-details p { font-size: 13px; }
  .aft-footer { padding: 26px 0 22px; }
  .aft-footer-top { display: block; }
  .aft-footer-links { gap: 17px; margin-top: 12px; }
  .aft-footer-links a, .aft-footer-links button { font-size: 11px; }
  .aft-footer-bottom { flex-direction: column; align-items: flex-start; gap: 5px; margin-top: 14px; font-size: 10px; }
  .aft-footer-bottom > * { margin: 0; }
}
@media (max-width: 360px) {
  :root { --aft-gutter: 16px; }
  #masthead .site-title a { font-size: 21px; }
  #masthead .ast-header-woo-cart, #masthead .ast-header-account { margin-inline: 0; }
  .aft-home-products .wp-block-woocommerce-product-image, .woocommerce .astra-shop-thumbnail-wrap,
  .aft-home-products .wp-block-woocommerce-product-image img, .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { height: 135px !important; }
  #page .aft-home-products .wp-block-post-title { margin-inline: 10px; font-size: 14px !important; }
  .aft-home-products .wp-block-woocommerce-product-price, .aft-home-products .aft-card-options { margin-inline: 10px; }
  .aft-home-products .wp-block-woocommerce-product-button { margin-inline: 10px; }
  #page .aft-home-products .wp-block-woocommerce-product-button .wp-block-button__link { padding: 8px; min-height: 44px; font-size: 10px; }
  .woocommerce .astra-shop-summary-wrap { padding: 10px; }
  #page .woocommerce-loop-product__title { font-size: 14px !important; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image img { height: 180px; }
  #page div.product .product_title { font-size: 25px; }
  /* Give narrow cart items two explicit columns instead of an overflowing implicit total column. */
  #page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 64px minmax(0, 1fr); gap: 8px 12px; }
  #page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image { grid-column: 1; grid-row: 1; padding: 0; }
  #page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product { grid-column: 2; grid-row: 1; min-width: 0; padding: 0; }
  #page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total { grid-column: 2; grid-row: 2; min-width: 0; padding: 0; }
  #page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__wrap { min-width: 0; }
  #page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__quantity { flex-wrap: wrap; gap: 4px 12px; padding: 0; }
  #page .wc-block-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector { flex: 0 0 134px; width: 134px; min-width: 134px; height: 46px; }
  #page .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  #page .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { flex: 1; width: 44px; min-width: 0; }
  #page .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__remove-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  #page *, #page *::before, #page *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* Native block wrappers used by the editable information pages. */
.aft-delivery-row { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid #d3ddcd; }
.aft-delivery-row p { margin:0; font-size:14px; }
.aft-delivery-row p:last-child { text-align:right; }
.aft-small-label { margin-bottom:10px; font-size:12px; color:var(--aft-muted); }
.aft-help-questions details { border-bottom:1px solid var(--aft-line); margin:0 0 8px; }
.aft-help-questions summary { min-height:49px; padding:12px 0; cursor:pointer; font-size:16px; font-weight:500; }
.aft-help-questions details p { margin:0; padding-bottom:17px; color:var(--aft-muted); font-size:14px; }
.woocommerce .aft-product-breadcrumb { padding:6px 0; }
.woocommerce .aft-product-breadcrumb span { margin-left:8px; }
.woocommerce .ast-on-card-button { display:none; }
