/* Geometry only: preserve Astra typefaces, brand colours and button lettering.
   WooCommerce loads global .button rules on non-shop pages as well. */
body.drk-layout :is(.drq-home-cta a.button, .drq-root .drq-button, .drb-root .drb-button, .drb-search button, .drkl-page .drkl-buy-button) {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:auto;
  min-width:0;
  max-width:100%;
  line-height:1.5;
  padding-block:16px;
  text-align:center;
  white-space:normal;
  vertical-align:middle;
}
body.drk-layout :is(.drq-home-cta a.button, .drb-root .drb-button) > span[aria-hidden] { flex-shrink:0; }
body.drk-layout .drq-root .drq-secondary { background:#fff; color:#16798d; border:1px solid #93b9c2; }
body.drk-layout .drq-root .drq-secondary:hover { background:#eef7f9; color:#125f6f; }
body.drk-layout .drq-actions { align-items:stretch; }
body.drk-layout :is(.drq-home-cta a.button, .drq-root .drq-button, .drb-root .drb-button, .drkl-buy-button):focus-visible { outline:3px solid #16798d; outline-offset:4px; }

/* Light headers need a dark menu icon; keep the white icon on photo headers. */
body.drk-layout:not(.ast-theme-transparent-header) .ast-mobile-header-wrap .menu-toggle { color:#323232; }
body.drk-layout:not(.ast-theme-transparent-header) .ast-mobile-header-wrap .menu-toggle .ast-mobile-svg { fill:#323232; }

/* The CTA is inserted after a Spectra container; isolate it from block widths. */
body.drk-layout .entry-content .drq-home-cta {
  width:calc(100% - 40px);
  max-width:1140px;
  margin:42px auto!important;
  padding:32px!important;
  column-gap:32px;
  row-gap:24px;
}
body.drk-layout .drq-home-cta > div { min-width:0; }
body.drk-layout .drq-home-cta a.button { min-height:56px; padding-inline:24px; }

/* Shop hierarchy: make room for the actual catalogue on the first screen. */
body.drk-layout.woocommerce-shop .woocommerce-products-header__title,
body.drk-layout.tax-product_cat .woocommerce-products-header__title {
  font-size:clamp(30px,3.1vw,44px);
  line-height:1.2;
  margin:0 0 24px;
  overflow-wrap:break-word;
}
body.drk-layout :is(.woocommerce-result-count,.woocommerce-ordering) { margin-bottom:24px; }
body.drk-layout ul.products li.product { display:flex; flex-direction:column; min-width:0; }
body.drk-layout ul.products li.product .astra-shop-summary-wrap { display:flex; flex-direction:column; flex:1; min-width:0; }
body.drk-layout ul.products li.product .woocommerce-loop-product__title { overflow-wrap:break-word; }
body.drk-layout ul.products li.product .price { margin-top:auto; padding-top:8px; }
body.drk-layout ul.products li.product .astra-shop-thumbnail-wrap img { display:block; }
body.drk-layout .drk-price-filter .price_slider_amount { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
body.drk-layout .drk-price-filter .price_slider_amount .button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; line-height:1.5; padding:12px 16px; }
body.drk-layout .drk-price-filter .price_label { line-height:1.5; }

@media(min-width:922px) {
  body.drk-layout.woocommerce-shop #primary { padding-left:26px; }
  body.drk-layout.woocommerce-shop .ast-woocommerce-container { padding:40px; }
}
@media(min-width:601px) and (max-width:1000px) {
  body.drk-layout.woocommerce-js ul.products[class*="columns-"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
  body.drk-layout.drq-page .site-content > .ast-container { padding-inline:20px!important; }
  body.drk-layout .entry-content .drq-home-cta { margin:32px auto!important; padding:24px!important; }
  body.drk-layout .drq-home-cta a.button { width:100%; padding-inline:18px; }
  body.drk-layout .drq-actions .drq-button { padding-inline:14px; }
  body.drk-layout .drb-search button { padding-inline:14px; padding-block:12px; }
  body.drk-layout .drkl-mobile-buy .drkl-buy-button { padding:12px 16px; }
}
@media(max-width:600px) {
  body.drk-layout.woocommerce-js ul.products[class*="columns-"] { grid-template-columns:minmax(0,1fr); gap:32px; }
  body.drk-layout ul.products li.product { width:100%!important; margin:0!important; }
  body.drk-layout .drq-actions { flex-wrap:wrap; }
  body.drk-layout .drq-actions .drq-button { flex:1 1 110px; }
}

/* Audit 2026-09-28: WooCommerce controls inherited a 1em line box. */
body.drk-layout .woocommerce :is(a.button,button.button,input.button),
body.drk-layout.single-product .summary .single_add_to_cart_button {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  max-width:100%;
  height:auto;
  padding:14px 22px;
  line-height:1.5;
  text-align:center;
  white-space:normal;
  vertical-align:middle;
}
body.drk-layout .woocommerce :is(a.button,button.button,input.button):focus-visible,
body.drk-layout .single_add_to_cart_button:focus-visible { outline:3px solid #16798d; outline-offset:4px; }
body.drk-layout .woocommerce .show-password-input { width:44px; height:44px; top:50%; right:0; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; }
body.drk-layout .woocommerce .show-password-input::after { margin-left:0; }
body.drk-layout .woocommerce input[type="password"] { padding-right:48px; }
body.drk-layout .woocommerce :is(input.input-text,textarea.input-text,.select2-container .select2-selection--single) { min-height:48px; }
body.drk-layout .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height:46px; padding-left:12px; padding-right:36px; }
body.drk-layout .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height:46px; }

/* Avoid missing private-use glyphs when the legacy WooCommerce font is absent. */
body.drk-layout :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { padding:18px 22px 18px 56px; line-height:1.6; }
body.drk-layout :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before {
  font-family:Cabin,sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:24px;
  width:24px;
  height:24px;
  top:18px;
  left:20px;
  text-align:center;
}
body.drk-layout .woocommerce-info::before { content:'i'; border:1px solid currentColor; border-radius:50%; }
body.drk-layout .woocommerce-message::before { content:'✓'; }
body.drk-layout .woocommerce-error::before { content:'!'; border:1px solid currentColor; border-radius:50%; }

/* Drop the unused footer column without hiding any populated widget. */
body.drk-layout .site-footer-primary-section-1:not(:has(.widget)) { display:none; }
body.drk-layout .site-primary-footer-inner-wrap:has(.site-footer-primary-section-1:not(:has(.widget))) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
body.drk-layout .site-primary-footer-wrap { padding:48px 30px; }
body.drk-layout .site-primary-footer-wrap .uagb-block-1136eae3 { padding:0; }
body.drk-layout .site-footer-primary-section-2 { text-align:left; }
body.drk-layout .site-footer-primary-section-2 .uagb-container-inner-blocks-wrap { align-items:flex-start; }
body.drk-layout .site-footer-primary-section-2 img { width:180px; height:auto; }
body.drk-layout .site-footer-primary-section-3 .widget-title { margin-bottom:14px; }
body.drk-layout .site-footer-primary-section-3 .menu-link { display:inline-block; padding:6px 0; }
body.drk-layout .site-below-footer-wrap { padding-block:20px; }
/* Some Spectra quotes specified Cabin without a Cyrillic fallback. */
body.drk-layout :is(.uagb-tm__desc,.uagb-tm__company,.uagb-tm__author-name) { font-family:Cabin,sans-serif; }
body.drk-layout #ast-mobile-header .main-header-menu > .menu-item > .menu-link { min-height:44px; display:flex; align-items:center; line-height:1.5; padding-block:10px; }

/* The original hero kept a 100px right margin even at 320px screen width. */
@media(max-width:767px) {
  body.drk-layout.home .uagb-block-a84b47a8 { padding-top:130px; padding-bottom:44px; }
  body.drk-layout.home .uagb-block-a84b47a8::before { background:linear-gradient(90deg,rgba(5,22,29,.84),rgba(5,22,29,.42)); opacity:1; }
  body.drk-layout.home .uagb-block-63603b07 .uagb-ifb-desc { margin-right:0; max-width:34rem; }
  body.drk-layout.home .uagb-block-63603b07 .uagb-ifb-title-prefix { line-height:1.5; }
  body.drk-layout.home .uagb-block-63603b07 .uagb-ifb-button-wrapper { margin-top:0; }
  body.drk-layout .site-primary-footer-inner-wrap:has(.site-footer-primary-section-1:not(:has(.widget))) { grid-template-columns:1fr; gap:28px; }
  body.drk-layout .site-footer-primary-section-2,
  body.drk-layout .site-footer-primary-section-3 { text-align:center; margin:0; }
  body.drk-layout .site-footer-primary-section-2 .uagb-container-inner-blocks-wrap { align-items:center; }
  body.drk-layout .site-primary-footer-wrap { padding:36px 20px; }
  body.drk-layout .site-footer-primary-section-3 .menu-link { min-height:44px; padding:8px 0; }
  body.drk-layout .site-footer-section .widget { margin-bottom:0; }
  body.drk-layout.page-id-546 .uag-col-2-wrap { display:flex; flex-direction:column; gap:18px; }
  body.drk-layout.page-id-546 .uagb-block-bf6a74c5 { padding:40px 20px; }
  body.drk-layout.page-id-546 .uagb-block-70ada8c2 { padding:24px; }
  body.drk-layout.page-id-546 .uag-col-2-wrap .uag-col-2 { width:100%; margin:0; }
  body.drk-layout.page-id-546 .uagb-forms-main-form .uagb-forms-input { min-width:0; width:100%; }
  body.drk-layout.page-id-544 .uagb-block-1509dcf3 { padding-top:220px; background-size:cover; background-position:center; }
  body.drk-layout.page-id-544 .uagb-block-1d0f24c0 { padding:0 20px 40px; }
  body.drk-layout.page-id-544 .uagb-block-85e92537 { padding:24px; }
}
@media(max-width:600px) {
  body.drk-layout .woocommerce form :is(.form-row-first,.form-row-last) { float:none; width:100%; }
  body.drk-layout.single-product .summary .single_add_to_cart_button { width:100%; }
  body.drk-layout .woocommerce .cart .coupon { display:flex; flex-direction:column; gap:10px; width:100%; }
  body.drk-layout .woocommerce .cart .coupon :is(input.input-text,button.button) { flex:none; width:100%!important; float:none!important; margin:0; }
  body.drk-layout .woocommerce table.cart td.actions .button { width:100%; }
  body.drk-layout .woocommerce a.remove { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; line-height:1; color:#526569!important; background:#fff; border:1px solid #d4e5e9; }
  body.drk-layout .woocommerce form :is(.form-row,.form-row-first,.form-row-last) { padding-inline:0; }
  body.drk-layout .woocommerce :is(input.input-text,textarea.input-text,.select2-selection__rendered) { font-size:16px; }

  /* Keep table roles/column headers while exposing labels in each stacked row. */
  body.drk-layout .drk-comparison { overflow:visible!important; }
  body.drk-layout .drk-comparison table { display:block; border:0; font-size:16px; line-height:1.5; }
  body.drk-layout .drk-comparison thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  body.drk-layout .drk-comparison tbody { display:grid; gap:16px; }
  body.drk-layout .drk-comparison tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; border:1px solid #d4e5e9; border-radius:12px; background:#fff; padding:20px; }
  body.drk-layout .drk-comparison td { display:block; width:auto!important; min-width:0; padding:0!important; border:0; }
  body.drk-layout .drk-comparison td:first-child,
  body.drk-layout .drk-comparison td:nth-child(2) { grid-column:1/-1; }
  body.drk-layout .drk-comparison td:first-child { font-family:Montserrat,sans-serif; font-size:17px; font-weight:500; line-height:1.4; }
  body.drk-layout .drk-comparison td:not(:first-child)::before { content:attr(data-label); display:block; color:#526569; font-size:13px; margin-bottom:4px; }
  body.drk-layout .drk-comparison td:nth-child(3) { font-weight:600; color:#323232; }
}
