/* Astra retains its hooks and page structure; the site owns only its shell. */
body.asp-custom-shell #masthead, body.asp-custom-shell #colophon { display: none !important; }
body.home.asp-custom-shell #content > .ast-container { display: block; max-width: none; padding: 0; }
body.home.asp-custom-shell #content { padding: 0; }
body.home.asp-custom-shell .ast-container .asp-home { width: 100%; }
body.home.asp-custom-shell #asp-main-content { width: 100%; }
.asp-footer-bottom nav { display: flex; flex-wrap: wrap; gap: 18px; }
.asp-footer-bottom nav a:hover { color: white; }
.asp-footer .asp-support-email { overflow-wrap: anywhere; }
/* Store promises and dark-footer text must not inherit Astra heading/link colors. */
body.asp-custom-shell .asp-topline { background: var(--asp-accent); color: #fff; font-size: 16px; font-weight: 700; }
body.asp-custom-shell .asp-topline .asp-container { min-height: 48px; flex-wrap: wrap; gap: 8px 20px; padding-block: 8px; }
body.asp-custom-shell .asp-topline p { color: #fff; line-height: 1.4; }
body.asp-custom-shell .asp-topline .asp-icon { width: 20px; height: 20px; }
body.asp-custom-shell .asp-topline a { color: #fff; font-size: 13px; font-weight: 400; text-decoration: underline; }
body.asp-custom-shell .asp-topline a:hover, body.asp-custom-shell .asp-topline a:focus-visible { color: #fff; }
body.asp-custom-shell .asp-topline a:focus-visible { outline-color: #fff; }
body.asp-custom-shell .asp-benefit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-block: 25px; }
body.asp-custom-shell .asp-benefit { align-items: flex-start; min-width: 0; }
body.asp-custom-shell .asp-benefit > div { min-width: 0; }
body.asp-custom-shell .asp-benefit strong { color: var(--asp-ink); font-size: 18px; font-weight: 700; line-height: 1.4; }
body.asp-custom-shell .asp-benefit small { color: #4b5563; font-size: 14px; line-height: 1.5; margin-top: 5px; }
body.asp-custom-shell .asp-benefit .asp-icon { width: 26px; height: 26px; margin-top: 2px; }
body.asp-custom-shell .asp-product-notes { font-size: 15px; line-height: 1.5; }
body.asp-custom-shell .asp-footer h3 { color: #fff; font-size: 16px; font-weight: 700; line-height: 1.4; }
body.asp-custom-shell .asp-footer-about p, body.asp-custom-shell .asp-footer nav a { color: #d5dce6; font-size: 14px; }
body.asp-custom-shell .asp-footer .asp-support-email { color: #fff; }
body.asp-custom-shell .asp-footer nav a:hover, body.asp-custom-shell .asp-footer nav a:focus-visible { color: #fff; }
body.asp-custom-shell .asp-footer-bottom { color: #d5dce6; font-size: 12px; }
body.asp-custom-shell .asp-footer-bottom nav a { font-size: 12px; }
@media (max-width: 1100px) {
  body.asp-custom-shell .asp-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  body.asp-custom-shell .asp-topline .asp-container { display: grid; justify-content: start; gap: 7px; padding-block: 10px; }
  body.asp-custom-shell .asp-topline .asp-cutoff { display: block; font-size: 14px; font-weight: 400; }
  body.asp-custom-shell .asp-benefit-grid { gap: 20px 16px; padding-block: 22px; }
  body.asp-custom-shell .asp-benefit:nth-child(-n+2) { grid-column: 1 / -1; }
  body.asp-custom-shell .asp-benefit strong { font-size: 16px; }
  body.asp-custom-shell .asp-benefit:nth-child(-n+2) strong { font-size: 18px; }
  body.asp-custom-shell .asp-benefit small { font-size: 13px; }
}
.asp-header-main > .asp-brand { min-width: 0; }
.asp-brand .asp-logo-image { display: block; width: 228px; height: auto; max-width: 100%; object-fit: contain; }
.asp-footer .asp-logo-image { width: 240px; }
.asp-header .asp-brand-name { font-size: 22px; }
.asp-header-actions { gap: 14px; }
.asp-header .asp-account-action { flex-shrink: 0; }
.asp-header .asp-account-action .asp-icon { width: 19px; height: 19px; }
body.asp-custom-shell:not(.home) .entry-content h2 { font-size: 25px; line-height: 1.3; }
body.asp-custom-shell:not(.home) .entry-content h3 { font-size: 20px; line-height: 1.35; }
body.asp-custom-shell .entry-content a:not(.asp-button) { text-underline-offset: 3px; }
body.asp-custom-shell .woocommerce form .form-row input.input-text,
body.asp-custom-shell .woocommerce form .form-row textarea { border-color: var(--asp-line); border-radius: 4px; font-size: 15px; }
body.asp-custom-shell .woocommerce button.button,
body.asp-custom-shell .woocommerce a.button,
body.asp-custom-shell .woocommerce input.button,
body.asp-custom-shell .wc-block-components-button:not(.is-link) { color: white; background: var(--asp-accent); border-radius: 4px; }
body.asp-custom-shell .woocommerce button.button:hover,
body.asp-custom-shell .woocommerce a.button:hover,
body.asp-custom-shell .woocommerce input.button:hover,
body.asp-custom-shell .wc-block-components-button:not(.is-link):hover { color: white; background: var(--asp-accent-hover); }
body.asp-custom-shell .woocommerce table.shop_table { border-color: var(--asp-line); border-radius: 4px; }
body.asp-custom-shell .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.asp-custom-shell .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 15px; border-bottom: 1px solid var(--asp-line); }
body.asp-custom-shell .woocommerce-MyAccount-navigation li.is-active a { color: var(--asp-accent); background: #eef4fd; font-weight: 700; }
body.asp-custom-shell .asp-header { box-shadow: none; }
body.admin-bar.asp-custom-shell .asp-header { top: 32px; }
.asp-header .asp-cart-link { min-width: 0; border: 0; padding: 6px 0; font-size: 13px; font-weight: 400; gap: 7px; }
.asp-header .asp-cart-link:hover, .asp-header .asp-cart-link:focus-visible { background: transparent; color: var(--asp-accent) !important; }
.asp-header .asp-cart-count { background: #eaf1fc; color: var(--asp-accent); margin: 0; }
.asp-header .asp-mini-cart-panel { z-index: 80; }
.asp-mini-cart-panel .woocommerce-mini-cart__buttons a { color: white; }
.asp-catalog-styles .woocommerce ul.products li.product .button,
.asp-catalog-styles.woocommerce ul.products li.product .button,
.asp-catalog-styles .woocommerce ul.products li.product .button:hover,
.asp-catalog-styles.woocommerce ul.products li.product .button:hover,
.asp-catalog-styles .woocommerce ul.products li.product .button:focus,
.asp-catalog-styles.woocommerce ul.products li.product .button:focus,
.asp-product-styles.single-product div.product form.cart .single_add_to_cart_button,
.asp-product-styles.single-product div.product form.cart .single_add_to_cart_button:hover,
.asp-product-styles.single-product div.product form.cart .single_add_to_cart_button:focus { color: white !important; }
.asp-category-nav-link.is-active { color: white; }
.asp-header .asp-search { margin: 0; }
.asp-header .asp-search input[type="search"] { padding-block: 0; background: transparent; border: 0; }
.asp-header .asp-search input[type="hidden"] { display: none; }
.asp-product-card .asp-price-row > .price { font-size: 19px; font-weight: 700; }
.asp-product-card .asp-price-row del { font-size: 12px; font-weight: 400; }
.asp-product-card .asp-price-row ins { background: none; }
.asp-product-card .added_to_cart { font-size: 10px; }
.asp-home .woocommerce-error, .asp-home .woocommerce-message, .asp-home .woocommerce-info { margin: 0; }
.woocommerce div.product .woocommerce-Tabs-panel h2 { font-size: 23px !important; line-height: 1.35 !important; margin: 27px 0 15px !important; }
.woocommerce div.product .woocommerce-Tabs-panel h3, .woocommerce div.product .woocommerce-Tabs-panel h4 { font-size: 19px !important; line-height: 1.4 !important; }
.woocommerce div.product .woocommerce-Tabs-panel table { border-collapse: collapse; font-size: 13px; }
.woocommerce div.product .woocommerce-Tabs-panel th { background: #f0f4fa; }
.woocommerce div.product .woocommerce-Tabs-panel td, .woocommerce div.product .woocommerce-Tabs-panel th { padding: 11px 13px; border: 1px solid var(--asp-line); text-align: left; }
.woocommerce div.product .woocommerce-Tabs-panel details { border-bottom: 1px solid var(--asp-line); padding: 12px 0; }
.woocommerce div.product .woocommerce-Tabs-panel summary { cursor: pointer; font-weight: 700; }
.woocommerce div.product .woocommerce-Tabs-panel img { height: auto; }
.asp-live-product-toc { display: flex; flex-wrap: wrap; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--asp-line); margin-bottom: 20px; font-size: 13px; font-weight: 700; }
.asp-live-product-toc a { color: var(--asp-accent); }
.asp-live-description-heading { scroll-margin-top: 180px; }
body.asp-custom-shell .asp-category-hero h1 { font-size: 33px; }
body.asp-custom-shell .asp-category-kicker { color: var(--asp-accent); }
@media (max-width: 782px) { body.admin-bar.asp-custom-shell .asp-header { top: 46px; } }
@media (max-width: 760px) {
  .asp-header .asp-logo-image { width: 168px; }
  .asp-header .asp-brand-name { font-size: 19px; }
  .asp-header .asp-account-action { padding: 6px 0; }
  .asp-header .asp-cart-link > span:first-of-type { display: none; }
  .asp-header .asp-cart-link { gap: 4px; }
  .asp-header .asp-search { width: 100%; }
  .asp-product-card .asp-price-row > .price { font-size: 17px; }
  .asp-product-card .asp-card-bottom .asp-text-link { font-size: 10px; }
  .woocommerce div.product .woocommerce-Tabs-panel table { display: block; overflow-x: auto; }
  body.asp-custom-shell .asp-category-hero h1 { font-size: 26px; }
}
@media (max-width: 360px) {
  .asp-header .asp-logo-image { width: 148px; }
  .asp-header .asp-brand-name { font-size: 17px; }
  .asp-header-main { column-gap: 6px; }
}
@media (max-width: 600px) { body.admin-bar.asp-custom-shell .asp-header { top: 0; } }
