/* DESIGN-SYSTEM-FOUNDATION  —  2026-05-25
   Solas brand palette (sampled from master logo: #346CAC)
   Loads Montserrat, sets the blue-tinted background.
   Every later rebuild section inherits from these tokens. */

:root {
  --solas-navy:    #1E4574;   /* darkest brand tone — headings, footer base */
  --solas-blue:    #346CAC;   /* primary brand — sampled from logo */
  --solas-bright:  #4A85C5;   /* hover states, accent moments */
  --solas-accent:  #A0C3DE;   /* light accent — underlines, gradient ends */
  --solas-bg:      #F4F8FD;   /* site background — blue-tinted white */
  --solas-ink:     #16243A;   /* body text */
  --solas-muted:   #5A6B80;   /* secondary text */
  --solas-line:    var(--solas-line, rgba(46, 91, 154, 0.16));
  --solas-radius:  20px;
  --solas-shadow:  var(--solas-shadow, 0 10px 30px rgba(30, 69, 116, 0.08));
}

/* Montserrat is self-hosted by WPCode 9884. The Google Fonts @import that was here sat after a rule, so browsers ignored it (removed 23 Sep 2026). */

html, body { background: var(--solas-bg); }

/* COMPONENT-STYLES-V1 */
/* ============================================================
   SOLAS COMPONENT STYLES — added 2026-05-26
   Site-wide restyle for product cards, FAQ, footer, header,
   announcement bar. Inherits tokens from DESIGN-SYSTEM-FOUNDATION.
   ============================================================ */

/* ----- Body type: Montserrat across the site ----- */
body, body p, body li, body a, body span, body button,
body h1, body h2, body h3, body h4, body h5, body h6,
.entry-content, .elementor-widget-text-editor,
.elementor-heading-title, .ast-container, .widget {
  font-family: 'Montserrat', sans-serif !important;
}

/* ===== ANNOUNCEMENT BAR (Astra above-header) ===== */
.ast-above-header-bar,
.ast-above-header-section,
.ast-above-header {
  background: var(--solas-surface-dark, #0B2349) !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  letter-spacing: .05em;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}
.ast-above-header-bar a { color: #fff !important; }

/* ===== HEADER ===== */
header.site-header, .ast-primary-header-bar {
  background: rgba(255,255,255,0.96) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--solas-line, rgba(46,91,154,0.10)) !important;
  font-family: 'Montserrat', sans-serif !important;
}
.main-header-menu > .menu-item > a,
.ast-primary-menu > .menu-item > a,
header nav.main-navigation > div > ul > li > a {
  position: relative;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  color: var(--solas-link, #385E9B) !important;
  letter-spacing: .01em;
  transition: color .25s !important;
}
.main-header-menu > .menu-item > a::after,
.ast-primary-menu > .menu-item > a::after,
header nav.main-navigation > div > ul > li > a::after {
  content: "";
  position: absolute;
  left: 50%; bottom: -6px;
  height: 2px; width: 0;
  background: linear-gradient(90deg, var(--solas-blue, #346CAC), var(--solas-bright, #4A85C5));
  transition: width .3s ease, left .3s ease;
}
.main-header-menu > .menu-item:hover > a::after,
.main-header-menu > .current-menu-item > a::after,
.ast-primary-menu > .menu-item:hover > a::after,
.ast-primary-menu > .current-menu-item > a::after,
header nav.main-navigation > div > ul > li:hover > a::after,
header nav.main-navigation > div > ul > li.current-menu-item > a::after {
  width: 100%; left: 0;
}
.main-header-menu > .menu-item:hover > a,
.main-header-menu > .current-menu-item > a,
.ast-primary-menu > .menu-item:hover > a,
.ast-primary-menu > .current-menu-item > a {
  color: var(--solas-blue, #346CAC) !important;
}
.ast-cart-menu-wrap .count,
.astra-cart-drawer-link .count {
  background: var(--solas-blue, #346CAC) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border: none !important;
}

/* ===== PRODUCT CARDS (WC + UAE/HFE/Elementor) ===== */
.woocommerce ul.products li.product,
.elementor-products-grid ul.products li.product,
.hfe-woo-products ul.products li.product,
.hfe-woo-product-grid ul.products li.product,
ul.products li.product {
  background: #fff !important;
  border: 1px solid var(--solas-line, rgba(46,91,154,0.16)) !important;
  border-radius: var(--solas-radius, 20px) !important;
  padding: 18px 18px 22px !important;
  box-shadow: var(--solas-shadow, 0 10px 30px rgba(30,69,116,0.08)) !important;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s, border-color .35s !important;
  text-align: center !important;
  overflow: hidden !important;
  font-family: 'Montserrat', sans-serif !important;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 22px 46px rgba(30,69,116,0.16) !important;
  border-color: rgba(52,108,172,0.40) !important;
}
.woocommerce ul.products li.product img,
ul.products li.product img {
  background: var(--solas-bg, #F4F8FD) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  margin-bottom: 14px !important;
}
ul.products li.product .product_cat {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--solas-muted, #5A6B80) !important;
  margin-top: 8px !important;
}
ul.products li.product .woocommerce-loop-product__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--solas-link, #385E9B) !important;
  letter-spacing: -.01em !important;
  margin: 6px 0 8px !important;
}
ul.products li.product .price,
ul.products li.product .price .amount,
ul.products li.product .price ins .amount {
  color: var(--solas-blue, #346CAC) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
ul.products li.product .button,
ul.products li.product a.button {/* solas-size: small */
  background: var(--solas-blue, #346CAC) !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  border-radius: 100px !important;
  padding: var(--solas-btn-pad-sm, 12px 16px) !important;
  font-size: 12px !important;
  border: none !important;
  margin-top: 10px !important;
  transition: transform .25s, background .25s, box-shadow .25s !important;
}
ul.products li.product .button:hover {
  background: var(--solas-btn-hover, #1D3E72) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px rgba(52,108,172,0.28) !important;
  color: #fff !important;
}

/* ===== FAQ ACCORDION (Elementor + native details) ===== */
.elementor-accordion .elementor-accordion-item,
.e-n-accordion-item,
details.solas-faq,
.elementor-widget-accordion .elementor-accordion-item {
  background: #fff !important;
  border: 1px solid var(--solas-line, rgba(46,91,154,0.16)) !important;
  border-radius: var(--solas-radius, 20px) !important;
  margin-bottom: 14px !important;
  overflow: hidden !important;
  box-shadow: var(--solas-shadow, 0 10px 30px rgba(30,69,116,0.06)) !important;
  font-family: 'Montserrat', sans-serif !important;
}
.elementor-accordion .elementor-tab-title,
.e-n-accordion-item-title,
details.solas-faq > summary {
  background: #fff !important;
  color: var(--solas-link, #385E9B) !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  padding: 18px 22px !important;
  border: none !important;
  cursor: pointer !important;
}
.elementor-accordion .elementor-tab-title.elementor-active,
.e-n-accordion-item[open] .e-n-accordion-item-title,
details.solas-faq[open] > summary {
  background: var(--solas-bg, #F4F8FD) !important;
  color: var(--solas-blue, #346CAC) !important;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon,
.elementor-accordion .elementor-tab-title .elementor-accordion-icon * {
  color: var(--solas-blue, #346CAC) !important;
  fill: var(--solas-blue, #346CAC) !important;
}
.elementor-accordion .elementor-tab-content,
.e-n-accordion-item-content,
details.solas-faq > *:not(summary) {
  background: #fff !important;
  color: var(--solas-text, #0B2349) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  padding: 16px 22px 22px !important;
  border-top: 1px solid var(--solas-line, rgba(46,91,154,0.16)) !important;
}

/* ===== FOOTER ===== */
footer, .site-footer, .elementor-location-footer,
footer[itemtype], footer.entry-footer {
  background: linear-gradient(180deg, var(--solas-surface-dark, #0B2349) 0%, var(--solas-surface-dark, #0B2349) 100%) !important;
  color: rgba(255,255,255,0.92) !important;
  font-family: 'Montserrat', sans-serif !important;
  position: relative !important;
}
footer h2, footer h3, footer h4, footer h5,
.site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5 {
  color: #fff !important;
  font-weight: 700 !important;
  position: relative !important;
  padding-bottom: 12px !important;
  margin-bottom: 14px !important;
}
footer h2::after, footer h3::after, footer h4::after, footer h5::after,
.site-footer h2::after, .site-footer h3::after, .site-footer h4::after, .site-footer h5::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 40px; height: 3px;
  background: var(--solas-accent, #A0C3DE);
  border-radius: var(--solas-radius-rect, 4px);
}
footer a, .site-footer a, .elementor-location-footer a {
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none !important;
  transition: color .25s, padding-left .25s !important;
  display: inline-block;
}
footer a:hover, .site-footer a:hover, .elementor-location-footer a:hover {
  color: #fff !important;
  padding-left: 6px;
}
footer::before, .site-footer::before, .elementor-location-footer::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--solas-accent, #A0C3DE) 30%, var(--solas-bright, #4A85C5) 70%, transparent);
}
.ast-small-footer {
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  margin-top: 12px;
  padding-top: 18px;
  font-size: 12.5px;
  color: rgba(255,255,255,0.65) !important;
}

/* ===== HERO / SECTION HEADINGS — global tightening ===== */
.elementor-heading-title { font-family: 'Montserrat', sans-serif !important; }

/* End COMPONENT-STYLES-V1 */

/* HFE-PRODUCT-CARDS */
.hfe-woo-products-wrapper { padding: clamp(40px,5vw,72px) 0; }
.hfe-woo-products-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 22px !important; max-width: 1180px; margin: 0 auto; }
.hfe-product-item { background: #fff !important; border: 1px solid var(--solas-line, rgba(46,91,154,0.16)) !important; border-radius: var(--solas-radius, 20px) !important; padding: 18px 18px 22px !important; box-shadow: var(--solas-shadow, 0 10px 30px rgba(30,69,116,0.08)) !important; text-align: center !important; overflow: hidden !important; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s, border-color .35s !important; font-family: 'Montserrat', sans-serif !important; position: relative; }
.hfe-product-item:hover { transform: translateY(-6px) !important; box-shadow: 0 22px 46px rgba(30,69,116,0.16) !important; border-color: rgba(52,108,172,0.40) !important; }
.hfe-product-item::after { content: ''; position: absolute; left:0; right:0; bottom:0; height:3px; background: linear-gradient(90deg, var(--solas-blue,#346CAC), var(--solas-bright,#4A85C5)); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.hfe-product-item:hover::after { transform: scaleX(1); }
.hfe-product-image { background: var(--solas-bg, #F4F8FD) !important; border-radius: var(--solas-radius-rect, 4px) !important; padding: 16px !important; margin-bottom: 14px !important; overflow: hidden; }
.hfe-product-image img { background: transparent !important; mix-blend-mode: normal; }
.hfe-product-content { font-family: 'Montserrat', sans-serif !important; }
.hfe-product-category, .hfe-product-category a { font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--solas-muted, #5A6B80) !important; text-decoration: none !important; }
.hfe-product-title, .hfe-product-title a, .woocommerce-loop-product__title { font-size: 16px !important; font-weight: 700 !important; color: var(--solas-link, #385E9B) !important; letter-spacing: -.01em !important; margin: 6px 0 8px !important; text-decoration: none !important; }
.hfe-product-price, .hfe-product-price .price, .hfe-product-price .amount, .hfe-product-price ins .amount { color: var(--solas-blue, #346CAC) !important; font-weight: 700 !important; font-size: 15px !important; }
.hfe-product-add-to-cart .button, .hfe-product-add-to-cart a.button, .hfe-product-add-to-cart .add_to_cart_button {/* solas-size: small */ background: var(--solas-blue, #346CAC) !important; color: #fff !important; font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; letter-spacing: .04em !important; text-transform: uppercase !important; border-radius: 100px !important; padding: var(--solas-btn-pad-sm, 12px 16px) !important; font-size: 12px !important; border: none !important; margin-top: 10px !important; transition: transform .25s, background .25s, box-shadow .25s !important; text-decoration: none !important; display: inline-block; }
.hfe-product-add-to-cart .button:hover, .hfe-product-add-to-cart a.button:hover { background: var(--solas-btn-hover, #1D3E72) !important; transform: translateY(-2px) !important; box-shadow: 0 12px 24px rgba(52,108,172,0.28) !important; color: #fff !important; }
@media (max-width: 1024px) { .hfe-woo-products-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 768px) { .hfe-woo-products-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { .hfe-woo-products-grid { grid-template-columns: 1fr !important; } }
/* End HFE-PRODUCT-CARDS */

/* SINGLE-PRODUCT-PAGE */
/* Single product page polish — staging only for now */
body.single-product { background: var(--solas-bg, #F4F8FD) !important; }
body.single-product .woocommerce-product-gallery,
body.single-product figure.woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
  background: var(--solas-bg, #F4F8FD) !important;
  border-radius: var(--solas-radius, 20px) !important;
  overflow: hidden;
}
body.single-product .woocommerce-product-gallery__image img {
  background: var(--solas-bg, #F4F8FD) !important;
  mix-blend-mode: normal;
}
body.single-product h1.product_title, body.single-product h1.entry-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  color: var(--solas-link, #385E9B) !important;
  letter-spacing: -.02em !important;
  font-size: clamp(26px, 3vw, 34px) !important;
}
body.single-product .summary .price,
body.single-product .entry-summary .price,
body.single-product .woocommerce-variation-price .price,
body.single-product .price .amount,
body.single-product .price ins .amount {
  color: var(--solas-blue, #346CAC) !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  font-family: 'Montserrat', sans-serif !important;
}
body.single-product .summary .woocommerce-product-details__short-description,
body.single-product .entry-summary .woocommerce-product-details__short-description {
  color: var(--solas-text, #0B2349) !important;
  font-family: 'Montserrat', sans-serif !important;
  line-height: 1.6 !important;
}
body.single-product .cfvsw-swatches-option {
  border: 1px solid var(--solas-line, rgba(46,91,154,0.2)) !important;
  border-radius: 100px !important;
  padding: 10px 18px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  color: var(--solas-link, #385E9B) !important;
  background: #fff !important;
  transition: all .25s !important;
}
body.single-product .cfvsw-swatches-option:hover {
  border-color: var(--solas-blue, #346CAC) !important;
  color: var(--solas-blue, #346CAC) !important;
  transform: translateY(-1px);
}
body.single-product .cfvsw-swatches-option.cfvsw-selected-swatch,
body.single-product .cfvsw-swatches-option.selected {
  background: var(--solas-blue, #346CAC) !important;
  border-color: var(--solas-blue, #346CAC) !important;
  color: #fff !important;
}
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button {/* solas-size: large */
  background: var(--solas-blue, #346CAC) !important;
  color: #fff !important;
  border-radius: 100px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: var(--solas-btn-pad-lg, 16px 24px) !important;
  font-size: 13px !important;
  border: none !important;
  box-shadow: 0 8px 18px rgba(52,108,172,0.25) !important;
  transition: transform .25s, background .25s, box-shadow .25s !important;
}
body.single-product .single_add_to_cart_button:hover:not(.disabled):not([disabled]) {
  background: var(--solas-btn-hover, #1D3E72) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(52,108,172,0.35) !important;
}
body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button[disabled] {
  background: rgba(52,108,172,0.35) !important;
  cursor: not-allowed;
  box-shadow: none !important;
}
body.single-product .quantity input.qty {
  border: 1px solid var(--solas-line, rgba(46,91,154,0.2)) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 10px 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
}
body.single-product .product_meta {
  color: var(--solas-muted, #5A6B80) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
}
body.single-product .product_meta a { color: var(--solas-blue, #346CAC) !important; }
body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: var(--solas-muted, #5A6B80) !important;
}
/* Trust strip below product — cream box — multiple selectors to catch it */
body.single-product .product-info-trust,
body.single-product .product-trust-strip,
body.single-product .single-product-trust,
body.single-product [class*="trust-row"],
body.single-product [class*="trust-strip"],
body.single-product [class*="trust-info"] {
  background: #fff !important;
  border: 1px solid var(--solas-line, rgba(46,91,154,0.16)) !important;
  border-radius: var(--solas-radius, 20px) !important;
  box-shadow: var(--solas-shadow, 0 10px 30px rgba(30,69,116,0.06)) !important;
  padding: 24px !important;
  font-family: 'Montserrat', sans-serif !important;
}
/* WC Tabs (Description/Additional Info) */
body.single-product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--solas-line, rgba(46,91,154,0.16)) !important; padding: 0 !important; }
body.single-product .woocommerce-tabs ul.tabs li { background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; margin-right: 12px !important; padding: 0 !important; }
body.single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--solas-blue, #346CAC) !important; background: transparent !important; }
body.single-product .woocommerce-tabs ul.tabs li a { font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: var(--solas-link, #385E9B) !important; padding: 12px 4px !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--solas-blue, #346CAC) !important; }
/* Related products */
body.single-product .related.products h2 { font-family: 'Montserrat', sans-serif !important; color: var(--solas-link, #385E9B) !important; font-weight: 800 !important; }
/* End SINGLE-PRODUCT-PAGE */

/* TRUST-STRIP-ICON-RESCUE */
/* Undo over-aggressive trust-strip styling that hid icons */
body.single-product [class*="trust-row"] *,
body.single-product [class*="trust-strip"] *,
body.single-product [class*="trust-info"] * {
  background: revert !important;
  padding: revert !important;
  border: revert !important;
  box-shadow: none !important;
  border-radius: revert !important;
}
body.single-product [class*="trust"] svg,
body.single-product [class*="trust"] img,
body.single-product [class*="trust"] i {
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--solas-blue, #346CAC) !important;
  fill: var(--solas-blue, #346CAC) !important;
}
/* End TRUST-STRIP-ICON-RESCUE */

/* SEARCH-BAR-POLISH */
body .ast-search-menu-icon input[type=search],
body .ast-search-menu-icon input.search-field {
  font-family: 'Montserrat', sans-serif !important;
  border-radius: 100px !important;
  border: 1px solid var(--solas-line, rgba(46,91,154,0.2)) !important;
}
/* End SEARCH-BAR-POLISH */

/* NAV-CASE-FIX */
/* Preserve menu label casing (Astra was lowercasing 'COAs' to 'Coas') */
.main-header-menu a,
.ast-primary-menu a,
.main-header-bar .menu a,
header nav.main-navigation a,
.ast-off-canvas-content a {
  text-transform: none !important;
}
/* End NAV-CASE-FIX */

/* FAQ-TITLE-COLOR-FIX */
/* FAQ accordion question text is in an inner <a class="elementor-accordion-title"> with hardcoded white. Override at higher specificity. */
.elementor-accordion .elementor-tab-title .elementor-accordion-title,
.elementor-accordion .elementor-tab-title a,
.elementor-accordion .elementor-tab-title a:link,
.elementor-accordion .elementor-tab-title a:visited {
  color: var(--solas-link, #385E9B) !important;
}
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
.elementor-accordion .elementor-tab-title.elementor-active a {
  color: var(--solas-blue, #346CAC) !important;
}
.elementor-accordion .elementor-tab-title .elementor-accordion-icon,
.elementor-accordion .elementor-tab-title .elementor-accordion-icon * {
  color: var(--solas-blue, #346CAC) !important;
  fill: var(--solas-blue, #346CAC) !important;
}
/* End FAQ-TITLE-COLOR-FIX */

/* CLASSIC-GLASS-HEADER-FOOTER */
/* Sawyer chose Option A. Enhanced header + footer targeting Elementor classes. */

/* --- HEADER --- */
.elementor-location-header { position: sticky !important; top: 0 !important; z-index: 999 !important; background: rgba(255,255,255,0.96) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(46,91,154,0.10) !important; font-family: 'Montserrat', sans-serif !important; transition: padding 0.25s ease, background 0.25s ease !important; }
.elementor-location-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: linear-gradient(90deg, transparent, #346CAC 30%, #4A85C5 70%, transparent); pointer-events: none; }
.elementor-nav-menu .elementor-item, nav.elementor-nav-menu--main .elementor-item, .elementor-nav-menu--main .menu-item > a { position: relative; font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: var(--solas-link, #385E9B) !important; letter-spacing: 0.01em !important; text-transform: none !important; transition: color 0.25s ease !important; }
.elementor-nav-menu .elementor-item::after, nav.elementor-nav-menu--main .elementor-item::after { content: ''; position: absolute; left: 50%; bottom: -6px; height: 2px; width: 0; background: linear-gradient(90deg, #346CAC, #4A85C5); transition: width 0.3s ease, left 0.3s ease; }
.elementor-nav-menu .elementor-item:hover::after, .elementor-nav-menu .elementor-item.elementor-item-active::after, .elementor-nav-menu .menu-item.current-menu-item > .elementor-item::after { width: 100%; left: 0; }
.elementor-nav-menu .elementor-item:hover, .elementor-nav-menu .elementor-item.elementor-item-active, .elementor-nav-menu .menu-item.current-menu-item > .elementor-item { color: var(--solas-link, #385E9B) !important; }
.elementor-location-header .elementor-widget-image img, .elementor-location-header .elementor-widget-image a { transition: transform 0.25s ease !important; }
.elementor-location-header .elementor-widget-image:hover img { transform: translateY(-2px); }
.elementor-menu-cart__toggle-counter, .elementor-menu-cart__counter, .ast-cart-menu-wrap .count, .astra-cart-drawer-link .count { background: #346CAC !important; color: #fff !important; font-weight: 500 !important; border: none !important; box-shadow: 0 0 0 3px rgba(52,108,172,0.15) !important; }
.elementor-location-header [href*='my-account'], .elementor-location-header [href*='account'] { color: var(--solas-link, #385E9B) !important; transition: transform 0.25s ease, color 0.25s ease !important; }
.elementor-location-header [href*='my-account']:hover { transform: translateY(-2px); color: var(--solas-link, #385E9B) !important; }
.elementor-location-header :focus-visible { outline: 2px solid var(--solas-focus-ring, #346CAC) !important; outline-offset: 3px !important; border-radius: var(--solas-radius-rect, 4px); }

/* --- FOOTER --- */
.elementor-location-footer { background: var(--solas-surface-dark, #0B2349) !important; color: rgba(255,255,255,0.92) !important; font-family: 'Montserrat', sans-serif !important; position: relative !important; overflow: hidden; }
.elementor-location-footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, transparent, #A0C3DE 30%, #4A85C5 70%, transparent); }
.elementor-location-footer h1, .elementor-location-footer h2, .elementor-location-footer h3, .elementor-location-footer h4, .elementor-location-footer h5, .elementor-location-footer h6, .elementor-location-footer .elementor-heading-title { color: #fff !important; font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; position: relative !important; padding-bottom: 14px !important; margin-bottom: 16px !important; }
.elementor-location-footer h1::after, .elementor-location-footer h2::after, .elementor-location-footer h3::after, .elementor-location-footer h4::after, .elementor-location-footer h5::after, .elementor-location-footer h6::after, .elementor-location-footer .elementor-heading-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 44px; height: 3px; background: #A0C3DE; border-radius: var(--solas-radius-rect, 4px); }
.elementor-location-footer p, .elementor-location-footer li, .elementor-location-footer .elementor-widget-text-editor { color: rgba(255,255,255,0.78) !important; font-family: 'Montserrat', sans-serif !important; }
.elementor-location-footer a, .elementor-location-footer .menu-item a { color: rgba(255,255,255,0.85) !important; text-decoration: none !important; transition: color 0.25s ease, padding-left 0.25s ease !important; display: inline-block; position: relative; }
.elementor-location-footer a:hover { color: #fff !important; padding-left: 8px; }
.elementor-location-footer .menu-item a::before { content: '→'; position: absolute; left: -10px; top: 0; opacity: 0; transform: translateX(-4px); color: #A0C3DE; transition: opacity 0.25s ease, transform 0.25s ease; font-weight: 500; }
.elementor-location-footer .menu-item a:hover::before { opacity: 1; transform: translateX(0); }
.elementor-location-footer :focus-visible { outline: 2px solid #A0C3DE !important; outline-offset: 3px !important; border-radius: var(--solas-radius-rect, 4px); }
/* End CLASSIC-GLASS-HEADER-FOOTER */

/* NAV-UNDERLINE-CENTER-FIX */
/* Fixes underline shifting left on active/hover state by keeping
   the translateX(-50%) transform applied so the underline grows
   centered under each menu item's text. */
.elementor-location-header .elementor-nav-menu .elementor-item:hover::after,
.elementor-location-header .elementor-nav-menu .elementor-item.elementor-item-active::after,
.elementor-location-header .elementor-nav-menu .menu-item.current-menu-item > .elementor-item::after,
.elementor-nav-menu .elementor-item:hover::after,
.elementor-nav-menu .elementor-item.elementor-item-active::after,
.elementor-nav-menu .menu-item.current-menu-item > .elementor-item::after {
  width: 60% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
/* Make the base state's transition smooth on both width and transform */
.elementor-location-header .elementor-nav-menu .elementor-item::after,
.elementor-nav-menu .elementor-item::after,
nav.elementor-nav-menu--main .elementor-item::after {
  transition: width 0.3s ease, transform 0.3s ease !important;
}
/* END NAV-UNDERLINE-CENTER-FIX */

/* HEADER-RAW-CSS - new raw-HTML header (snippet 7610 shortcode) - 2026-05-29 */
.solas-raw-header,
.solas-raw-drawer,
.solas-raw-drawer-backdrop {
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, sans-serif;
  box-sizing: border-box;
}
.solas-raw-header *,
.solas-raw-drawer * { box-sizing: border-box; }

/* ===== STICKY HEADER BAR ===== */
.solas-raw-header {
  position: sticky;
  top: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 28px;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  border-bottom: 1px solid rgba(15,43,77,0.08);
  box-shadow: 0 2px 12px rgba(15,43,77,0.04);
  width: 100%;
}

/* Logo - bumped 44 -> 56px */
.solas-raw-header__logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.solas-raw-header__logo img {
  display: block;
  height: 56px;
  width: auto;
  max-width: 260px;
  object-fit: contain;
}

/* Desktop nav (centered) */
.solas-raw-header__nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}
.solas-raw-nav__list,
.solas-raw-header__nav ul {
  list-style: none;
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.solas-raw-header__nav li { margin: 0; }
.solas-raw-header__nav a {
  position: relative;
  display: inline-block;
  padding: 10px 18px;
  color: var(--solas-text, #0B2349);
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  text-transform: none;
  transition: color 0.2s ease;
}
.solas-raw-header__nav a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 0;
  height: 2px;
  background: var(--solas-bright, #2F6FD6);
  border-radius: var(--solas-radius-rect, 4px);
  transform: translateX(-50%);
  transition: width 0.3s ease;
}
.solas-raw-header__nav a:hover,
.solas-raw-header__nav .current-menu-item > a,
.solas-raw-header__nav .current_page_item > a {
  color: var(--solas-link, #385E9B);
}
.solas-raw-header__nav a:hover::after,
.solas-raw-header__nav .current-menu-item > a::after,
.solas-raw-header__nav .current_page_item > a::after {
  width: 60%;
}

/* Right side: account + cart + burger */
.solas-raw-header__actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Shared pill style for account + cart icon buttons - bumped 44 -> 52px */
.solas-raw-header__account,
.solas-raw-header__cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: var(--solas-radius-rect, 4px);
  color: var(--solas-text, #0B2349);
  background: transparent;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.solas-raw-header__account:hover,
.solas-raw-header__cart:hover {
  background: rgba(47,111,214,0.10);
  color: var(--solas-link, #385E9B);
  transform: translateY(-1px);
}
.solas-raw-header__account svg,
.solas-raw-header__cart svg { display: block; }

.solas-raw-header__cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: var(--solas-radius-rect, 4px);
  background: var(--solas-link, #385E9B);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  border: 2px solid #fff;
}
.solas-raw-header__cart-count[data-cart-count="0"] { display: none; }

/* Hamburger button (hidden on desktop) - matched to 52px pill */
.solas-raw-header__burger {
  display: none;
  width: 52px;
  height: 52px;
  padding: 13px;
  background: transparent;
  border: 0;
  border-radius: var(--solas-radius-rect, 4px);
  cursor: pointer;
  transition: background 0.2s ease;
}
.solas-raw-header__burger:hover { background: rgba(47,111,214,0.10); }
.solas-raw-header__burger span {
  display: block;
  width: 100%;
  height: 2px;
  margin: 5px 0;
  background: var(--solas-text, #0B2349);
  border-radius: var(--solas-radius-rect, 4px);
  transition: transform 0.25s ease, opacity 0.2s ease;
}
.solas-raw-header__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.solas-raw-header__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.solas-raw-header__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ===== MOBILE DRAWER ===== */
.solas-raw-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15,43,77,0.45);
  z-index: 9500;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.solas-raw-drawer-backdrop[data-open="true"] {
  opacity: 1;
  pointer-events: auto;
}

.solas-raw-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(82vw, 320px);
  background: #fff;
  z-index: 9600;
  padding: 72px 22px 22px;
  box-shadow: -10px 0 40px rgba(15,43,77,0.18);
  transform: translateX(100%);
  transition: transform 0.32s cubic-bezier(.2,.8,.2,1);
  overflow-y: auto;
}
.solas-raw-drawer[data-open="true"] { transform: translateX(0); }

.solas-raw-drawer__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  font-size: 26px;
  line-height: 1;
  background: transparent;
  border: 0;
  border-radius: var(--solas-radius-rect, 4px);
  color: var(--solas-text, #0B2349);
  cursor: pointer;
}
.solas-raw-drawer__close:hover { background: rgba(15,43,77,0.06); }

.solas-raw-drawer__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.solas-raw-drawer__nav a {
  display: block;
  padding: 14px 12px;
  color: var(--solas-text, #0B2349);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  border-radius: var(--solas-radius-rect, 4px);
  transition: background 0.2s ease, color 0.2s ease;
}
.solas-raw-drawer__nav a:hover,
.solas-raw-drawer__nav .current-menu-item > a,
.solas-raw-drawer__nav .current_page_item > a {
  background: rgba(47,111,214,0.10);
  color: var(--solas-link, #385E9B);
}

/* ===== RESPONSIVE BREAKPOINT ===== */
@media (max-width: 921px) {
  .solas-raw-header { padding: 12px 18px; }
  .solas-raw-header__logo img { height: 48px; max-width: 220px; }
  .solas-raw-header__nav { display: none; }
  .solas-raw-header__burger { display: block; }
}

/* Lock body scroll while drawer open */
body.solas-drawer-open { overflow: hidden; }
/* END HEADER-RAW-CSS */

/* FOOTER-RAW-CSS - new raw-HTML footer (snippet 7612 shortcode) - 2026-05-29 */
.solas-raw-footer {
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, sans-serif;
  box-sizing: border-box;
  background: linear-gradient(180deg, var(--solas-surface-dark, #0B2349) 0%, var(--solas-surface-dark, #0B2349) 100%);
  color: rgba(255,255,255,0.78);
  padding: 64px 24px 28px;
  margin-top: 80px;
}
.solas-raw-footer * { box-sizing: border-box; }
.solas-raw-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
}

/* ===== 4-column link grid ===== */
.solas-raw-footer__cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding-bottom: 36px;
}
.solas-raw-footer__col { min-width: 0; }
.solas-raw-footer__heading {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--solas-accent, #A0C3DE);
  text-transform: uppercase;
  margin: 0 0 18px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(160,195,222,0.18);
}
.solas-raw-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.solas-raw-footer__list a {
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-block;
}
.solas-raw-footer__list a:hover {
  color: #fff;
  transform: translateX(3px);
}

/* ===== WE ACCEPT payment row ===== */
.solas-raw-footer__pay {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 18px 22px;
  margin: 8px 0 28px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(160,195,222,0.15);
  border-radius: var(--solas-radius-rect, 4px);
}
.solas-raw-footer__pay-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.20em;
  color: rgba(160,195,222,0.95);
  margin-right: 4px;
}

/* Generic pill */
.solas-pay-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 32px;
  min-width: 54px;
  padding: 0 12px;
  border-radius: var(--solas-radius-rect, 4px);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  user-select: none;
  background: #fff;
  color: var(--solas-text, #0B2349);
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
.solas-pay-visa   { color: #1A1F71; }
.solas-pay-amex   { background: #2E77BB; color: #fff; }
.solas-pay-disc   { background: #FF6000; color: #fff; }
.solas-pay-apple  { background: #000; color: #fff; }
.solas-pay-google { background: #fff; color: #4285F4; }
.solas-pay-ach    { background: #fff; color: var(--solas-text, #0B2349); }
.solas-pay-klarna { background: #FFB3C7; color: #17120F; }

/* Mastercard two-circle treatment */
.solas-pay-mc {
  background: #fff;
  position: relative;
  width: 54px;
  padding: 0;
}
.solas-pay-mc i {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
}
.solas-pay-mc i:nth-child(1) { background: #EB001B; margin-right: -7px; }
.solas-pay-mc i:nth-child(2) { background: #F79E1B; opacity: 0.88; }

/* ===== RUO disclaimer box ===== */
.solas-raw-footer__ruo {
  border: 1px solid rgba(160,195,222,0.35);
  background: rgba(160,195,222,0.06);
  border-radius: var(--solas-radius-rect, 4px);
  padding: 18px 22px;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
  margin-bottom: 24px;
}
.solas-raw-footer__ruo strong {
  color: var(--solas-accent, #A0C3DE);
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-right: 4px;
}

/* ===== bottom strip ===== */
.solas-raw-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 22px;
  border-top: 1px solid rgba(160,195,222,0.18);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}

/* ===== Responsive ===== */
@media (max-width: 921px) {
  .solas-raw-footer { padding: 48px 18px 24px; }
  .solas-raw-footer__cols { grid-template-columns: repeat(2, 1fr); gap: 28px 20px; }
  .solas-raw-footer__pay { padding: 14px 16px; gap: 8px; }
  .solas-raw-footer__pay-label { width: 100%; margin-bottom: 4px; }
  .solas-raw-footer__bottom { justify-content: center; text-align: center; }
}
@media (max-width: 480px) {
  .solas-raw-footer__cols { grid-template-columns: 1fr; gap: 24px; }
}
/* END FOOTER-RAW-CSS */

/* MOBILE-UI-OVERHAUL-V1 — 2026-05-29 — fix per Sawyer mobile feedback */
@media (max-width: 768px) {

  /* === TRUST PILLARS: 2x2 grid instead of vertical stack === */
  #solas-trust .st-cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  #solas-trust .st-card {
    padding: 16px 12px !important;
    border-radius: var(--solas-radius-rect, 4px) !important;
  }
  #solas-trust .st-card h3 {
    font-size: 13.5px !important;
    line-height: 1.2 !important;
    margin: 8px 0 6px !important;
  }
  #solas-trust .st-card p {
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
  }
  #solas-trust .st-card svg,
  #solas-trust .st-card .ico,
  #solas-trust .st-card [class*="icon"]:not(p) {
    width: 32px !important;
    height: 32px !important;
  }
  #solas-trust .st-card .pill,
  #solas-trust .st-card [class*="badge"],
  #solas-trust .st-card [class*="tag"]:not(span):not(strong) {
    font-size: 9px !important;
    padding: 3px 7px !important;
    letter-spacing: .08em !important;
  }

  

  /* === PRODUCT GRID: bigger images, full-width buttons, cleaner cards === */
  .hfe-woo-products-grid,
  .hfe-woo-products-grid ul.products {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .hfe-product-item,
  li.product.hfe-product-item {
    width: auto !important;
    margin: 0 !important;
    padding: 12px 10px !important;
    border-radius: var(--solas-radius-rect, 4px) !important;
    border: 1px solid rgba(15,43,77,.08) !important;
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .hfe-product-item img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto 10px !important;
    display: block !important;
  }
  .hfe-product-item .product-category,
  .hfe-product-item .posted_in,
  .hfe-product-item [class*="category"] {
    font-size: 9px !important;
    letter-spacing: .12em !important;
    margin-bottom: 4px !important;
  }
  .hfe-product-item .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin: 4px 0 6px !important;
    min-height: 32px !important;
    font-weight: 700 !important;
  }
  .hfe-product-item .price,
  .hfe-product-item .price .amount {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--solas-text, #0B2349) !important;
    margin-bottom: 10px !important;
    display: block !important;
    white-space: normal !important;
  }
  .hfe-product-item .price del {
    opacity: .5 !important;
    margin-right: 4px !important;
  }
  .hfe-product-item .price ins {
    text-decoration: none !important;
  }
  .hfe-product-item .button,
  .hfe-product-item .add_to_cart_button,
  .hfe-product-item a.button {/* solas-size: small */
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: var(--solas-btn-pad-sm, 12px 16px) !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
    text-align: center !important;
    border-radius: 999px !important;
    margin-top: auto !important;
  }

  /* === MOBILE HEADER: tighter, more compact === */
  .elementor-location-header .elementor-section,
  .elementor-location-header .elementor-top-section {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  .elementor-location-header img.elementor-image,
  .elementor-location-header .elementor-widget-image img,
  .elementor-location-header img[src*="logo"] {
    max-height: 60px !important;
    width: auto !important;
  }
  /* Ship notice banner above header */
  .solas-ship-notice,
  [class*="ship-notice"],
  .ast-archive-description {
    font-size: 10.5px !important;
    padding: 5px 12px !important;
    letter-spacing: .04em !important;
    line-height: 1.3 !important;
  }
  /* Cart icon badge */
  .elementor-menu-cart__toggle .elementor-button-text,
  .elementor-menu-cart__products-count,
  [class*="cart-count"] {
    font-size: 10px !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
  }
  /* Hamburger menu icon */
  .elementor-menu-toggle {
    padding: 6px !important;
    font-size: 22px !important;
  }
  /* Tighten icon/widget spacing in header */
  .elementor-location-header .elementor-widget {
    margin: 0 2px !important;
  }

  /* === HERO: shrink headline so it doesn't overflow on small screens === */
  .elementor-location-home .elementor-heading-title,
  body.home h1,
  body.home .elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.1 !important;
  }
}

/* Narrower phones — even tighter */
@media (max-width: 420px) {
  #solas-trust .st-card h3 { font-size: 12.5px !important; }
  #solas-trust .st-card p { font-size: 10.5px !important; }
  .hfe-product-item .woocommerce-loop-product__title { font-size: 12px !important; }
  .hfe-product-item .button {/* solas-size: small */ font-size: 11px !important; padding: var(--solas-btn-pad-sm, 12px 16px) !important; }
  /* image max-width removed in V2 */
}
/* END MOBILE-UI-OVERHAUL-V1 */

/* MOBILE-UI-OVERHAUL-V2 — 2026-05-29 — section heading scale + spotlight product fix */
@media (max-width: 768px) {

  /* Shrink ALL homepage section H2/H1 elementor headings (not just hero) */
  body.home .elementor-widget-heading .elementor-heading-title,
  body.home h2.elementor-heading-title,
  body.home h1.elementor-heading-title:not(.solas-hero-h1) {
    font-size: 26px !important;
    line-height: 1.18 !important;
    letter-spacing: -.01em !important;
  }
  /* The home hero stays larger but capped */
  body.home .elementor-element-0110dda .elementor-heading-title,
  body.home .elementor-top-section:first-child .elementor-heading-title {
    font-size: 32px !important;
  }
  /* Section subtitles (text editor widgets directly after a heading) */
  body.home .elementor-widget-text-editor p,
  body.home .elementor-widget-text-editor {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  /* Homepage product spotlight section — let images fill the card */
  .glp-spotlight .hfe-product-item img,
  .glp-spotlight ul.products li.product img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
  .glp-spotlight .hfe-product-item,
  .glp-spotlight ul.products li.product {
    padding: 14px 12px !important;
  }
  .glp-spotlight .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.25 !important;
    min-height: 32px !important;
    margin: 6px 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .glp-spotlight .product-category,
  .glp-spotlight [class*="category"] {
    font-size: 9.5px !important;
    letter-spacing: .12em !important;
  }
}

@media (max-width: 420px) {
  body.home .elementor-widget-heading .elementor-heading-title { font-size: 22px !important; }
  body.home .elementor-widget-text-editor p { font-size: 13px !important; }
  .glp-spotlight .woocommerce-loop-product__title { font-size: 12px !important; }
}
/* END MOBILE-UI-OVERHAUL-V2 */

/* MOBILE-UI-OVERHAUL-V3 — 2026-05-29 — aggressive product card fix */
@media (max-width: 768px) {
  .hfe-product-item,
  .glp-spotlight .hfe-product-item,
  ul.products li.product.hfe-product-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
  }
  .hfe-product-item img,
  .glp-spotlight .hfe-product-item img,
  ul.products li.product img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 130px !important;
    object-fit: contain !important;
    margin: 0 auto 8px !important;
    display: block !important;
    box-sizing: border-box !important;
  }
  .hfe-product-item .woocommerce-loop-product__title,
  .glp-spotlight .woocommerce-loop-product__title {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    margin: 4px 0 !important;
    min-height: 30px !important;
    padding: 0 4px !important;
    overflow-wrap: break-word !important;
  }
  .hfe-product-item .price,
  .hfe-product-item .price .amount {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--solas-text, #0B2349) !important;
    line-height: 1.2 !important;
  }
  .hfe-product-item .price {
    display: block !important;
    margin-bottom: 8px !important;
    text-align: center !important;
  }
  .hfe-product-item .price ins { text-decoration: none !important; }
  .hfe-product-item .price del { opacity: .5 !important; font-size: 11px !important; margin-right: 4px !important; }
  .hfe-product-item .button,
  .hfe-product-item a.button,
  .hfe-product-item .add_to_cart_button,
  ul.products li.product .button {/* solas-size: small */
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: var(--solas-btn-pad-sm, 12px 16px) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    line-height: 1.2 !important;
    text-align: center !important;
    border-radius: 999px !important;
    margin: auto 0 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .hfe-woo-products-grid,
  .hfe-woo-products-grid > ul.products,
  ul.products,
  .glp-spotlight .hfe-woo-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
}
@media (max-width: 359px) {
  .hfe-woo-products-grid,
  ul.products {
    grid-template-columns: 1fr !important;
  }
  .hfe-product-item img { min-height: 200px !important; }
}
/* END MOBILE-UI-OVERHAUL-V3 */

/* MOBILE-UI-OVERHAUL-V4 — 2026-05-29 — single column horizontal layout */
@media (max-width: 768px) {
  
  /* === Grid: 1 column only === */
  .hfe-woo-products-grid,
  .hfe-woo-products-grid > ul.products,
  ul.products,
  .glp-spotlight .hfe-woo-products-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  /* === Card: horizontal layout (image left, info right) === */
  .hfe-product-item,
  ul.products li.product.hfe-product-item {
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    grid-template-rows: auto auto auto 1fr auto !important;
    grid-template-areas:
      "image category"
      "image title"
      "image price"
      "image spacer"
      "image button" !important;
    column-gap: 14px !important;
    row-gap: 2px !important;
    padding: 14px !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    align-items: start !important;
  }
  
  /* === Image wrapper (the blue padded box) === */
  .hfe-product-item .hfe-product-image {
    grid-area: image !important;
    width: 120px !important;
    height: 120px !important;
    padding: 8px !important;
    border-radius: var(--solas-radius-rect, 4px) !important;
    background: rgb(244, 248, 253) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: start !important;
  }
  .hfe-product-item .hfe-product-image a,
  .hfe-product-item .hfe-product-image > a {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .hfe-product-item .hfe-product-image img,
  .hfe-product-item img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    margin: 0 !important;
  }
  
  /* === Right column content === */
  .hfe-product-item .product-category,
  .hfe-product-item [class*="category"] {
    grid-area: category !important;
    margin: 0 !important;
    font-size: 9.5px !important;
    letter-spacing: .12em !important;
    color: #5a6f8a !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }
  .hfe-product-item .woocommerce-loop-product__title {
    grid-area: title !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    margin: 4px 0 6px !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    font-weight: 700 !important;
    color: var(--solas-link, #385E9B) !important;
  }
  .hfe-product-item .price {
    grid-area: price !important;
    text-align: left !important;
    margin: 0 0 6px !important;
    display: block !important;
  }
  .hfe-product-item .price,
  .hfe-product-item .price .amount,
  .hfe-product-item .price > * {
    font-size: 14px !important;
    color: var(--solas-text, #0B2349) !important;
    font-weight: 700 !important;
  }
  
  /* === Button: text fits, no truncation === */
  .hfe-product-item .button,
  .hfe-product-item a.button,
  .hfe-product-item .add_to_cart_button {/* solas-size: small */
    grid-area: button !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: var(--solas-btn-pad-sm, 12px 16px) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    line-height: 1.2 !important;
    text-align: center !important;
    border-radius: 999px !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}
/* END MOBILE-UI-OVERHAUL-V4 */

/* MOBILE-UI-OVERHAUL-V5 — 2026-05-29 — price one-line + glass image */
@media (max-width: 768px) {
  .hfe-product-item, ul.products li.product.hfe-product-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    grid-template-columns: unset !important;
    grid-template-areas: unset !important;
    grid-template-rows: unset !important;
    padding: 14px !important;
    gap: 8px !important;
    text-align: center !important;
  }
  .hfe-product-item .hfe-product-image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    padding: 22px !important;
    background: linear-gradient(135deg, #eef4fd 0%, #d6e6f8 100%) !important;
    border-radius: var(--solas-radius-rect, 4px) !important;
    box-shadow: 0 8px 24px rgba(15,43,77,0.10), inset 0 0 0 1px rgba(255,255,255,0.7), inset 0 1px 0 rgba(255,255,255,0.9) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 12px !important;
    box-sizing: border-box !important;
    grid-area: unset !important;
  }
  .hfe-product-item .hfe-product-image a {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .hfe-product-item .hfe-product-image img, .hfe-product-item img {
    width: 90% !important;
    height: 90% !important;
    max-width: 90% !important;
    object-fit: contain !important;
    min-height: 0 !important;
    margin: 0 !important;
    filter: drop-shadow(0 6px 12px rgba(15,43,77,0.18)) !important;
    grid-area: unset !important;
  }
  .hfe-product-item .product-category, .hfe-product-item [class*="category"] {
    grid-area: unset !important;
    text-align: center !important;
    margin: 4px 0 0 !important;
    font-size: 10px !important;
    letter-spacing: .15em !important;
    color: #5a6f8a !important;
    font-weight: 700 !important;
  }
  .hfe-product-item .woocommerce-loop-product__title {
    grid-area: unset !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: var(--solas-link, #385E9B) !important;
    margin: 2px 0 4px !important;
    padding: 0 4px !important;
    min-height: 0 !important;
  }
  .hfe-product-item .price {
    grid-area: unset !important;
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
    margin: 0 auto 10px !important;
    font-size: 14px !important;
    color: var(--solas-text, #0B2349) !important;
    font-weight: 700 !important;
  }
  .hfe-product-item .price *, .hfe-product-item .price > span, .hfe-product-item .price .amount, .hfe-product-item .price ins, .hfe-product-item .price del, .hfe-product-item .price bdi {
    display: inline-block !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .hfe-product-item .price ins { text-decoration: none !important; }
  .hfe-product-item .price del { opacity: .5 !important; font-size: 12px !important; }
  .hfe-product-item .button, .hfe-product-item a.button, .hfe-product-item .add_to_cart_button {/* solas-size: small */
    grid-area: unset !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: auto 0 0 !important;
    padding: var(--solas-btn-pad-sm, 12px 16px) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    text-align: center !important;
  }
}
/* END MOBILE-UI-OVERHAUL-V5 */

/* HOMEPAGE-HEADINGS-NAVY-STANDARD — 2026-05-29 — match catalog H1/subtitle styling */
/* Pulled exact values from .sch-title and catalog subtitle: navy #1e4574 / gray #a0a6ab / Montserrat */
body.home .elementor-widget-heading h2.elementor-heading-title,
body.home .elementor-widget-heading h1.elementor-heading-title:not(.solas-hero-h1),
body.home section:not(.elementor-element-0110dda) h2.elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  color: var(--solas-link, #385E9B) !important;
  letter-spacing: -1px !important;
  line-height: 1.1 !important;
}
body.home .elementor-widget-text-editor,
body.home .elementor-widget-text-editor p,
body.home .elementor-widget-text-editor .elementor-widget-container {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 400 !important;
  color: #a0a6ab !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
@media (max-width: 768px) {
  body.home .elementor-widget-heading h2.elementor-heading-title,
  body.home .elementor-widget-heading h1.elementor-heading-title:not(.solas-hero-h1) {
    font-size: 28px !important;
    line-height: 1.15 !important;
    letter-spacing: -.5px !important;
  }
  body.home .elementor-widget-text-editor,
  body.home .elementor-widget-text-editor p {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}
@media (max-width: 420px) {
  body.home .elementor-widget-heading h2.elementor-heading-title { font-size: 24px !important; }
  body.home .elementor-widget-text-editor p { font-size: 13px !important; }
}
/* END HOMEPAGE-HEADINGS-NAVY-STANDARD */

/* SITEWIDE-GLOSSY-BG — 2026-05-29 — subtle vertical gradient body bg */
html { background: var(--solas-wash, #F4F8FF) !important; }
body {
  background: linear-gradient(180deg, var(--solas-wash, #F4F8FF) 0%, var(--solas-wash, #F4F8FF) 30%, var(--solas-wash, #F4F8FF) 100%) !important;
  background-attachment: fixed !important;
  background-size: 100% 100vh !important;
  background-repeat: no-repeat !important;
  min-height: 100vh !important;
}
body:before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, var(--solas-wash, #F4F8FF) 0%, var(--solas-wash, #F4F8FF) 30%, var(--solas-wash, #F4F8FF) 100%);
  z-index: -1;
  pointer-events: none;
}
/* iOS Safari fallback: fixed bg can flicker, so :before pseudo handles it */
/* END SITEWIDE-GLOSSY-BG */

/* GLOSSY-BG-FIX-V2 — 2026-05-29 — make .elementor wrappers transparent so body gradient shows */
.elementor:not(.elementor-location-header):not(.elementor-location-footer),
.elementor-location-archive,
.elementor-location-single,
.elementor-location-search-results,
.elementor-location-error-404,
#page,
.site,
.site-content,
#content,
body > div.site,
body > .ast-container {
  background-color: transparent !important;
  background: transparent !important;
}
/* Reapply gradient to html as deepest fallback */
html {
  background: linear-gradient(180deg, var(--solas-wash, #F4F8FF) 0%, var(--solas-wash, #F4F8FF) 30%, var(--solas-wash, #F4F8FF) 100%) !important;
  background-attachment: fixed !important;
  min-height: 100% !important;
}
/* END GLOSSY-BG-FIX-V2 */

/* GLOSSY-BG-FIX-V3 — 2026-05-29 — strip section bgs that hide body gradient */
#solas-catalog-header,
#solas-trust,
#solas-quality,
#solas-faq,
section.elementor-element-bbbb073,
section.elementor-element-279c270,
section.elementor-element-5d50bdf {
  background-color: transparent !important;
  background: transparent !important;
}
/* END GLOSSY-BG-FIX-V3 */

/* GLOSSY-BG-FIX-V4 — 2026-05-29 — strip glp-spotlight widget bg + other content-area off-whites */
.glp-spotlight,
.elementor-widget.glp-spotlight,
.hfe-woo-products-grid,
.elementor-widget-hfe-woo-product-grid {
  background-color: transparent !important;
  background: transparent !important;
}
/* END GLOSSY-BG-FIX-V4 */

 /* nuke the small slop sitewide */

.solas-cta-block {
  max-width: 1180px;
  margin: 40px auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.solas-cta-card {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 34px 40px;
  border-radius: var(--solas-radius-rect, 4px);
  overflow: hidden;
  background: linear-gradient(135deg, #2f6fd6, var(--solas-surface-dark, #0B2349));
  box-shadow: 0 18px 44px rgba(29,78,137,0.3);
}
.solas-cta-card::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -40px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  pointer-events: none;
}
.solas-cta-text {
  flex: 1 1 380px;
  color: #fff;
  position: relative;
  z-index: 1;
}
.solas-cta-text h2 {
  color: #fff !important;
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.solas-cta-text p {
  color: rgba(255,255,255,0.88);
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.55;
  font-family: 'Montserrat', sans-serif;
}
.solas-cta-bullets {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 6px;
}
.solas-cta-bullets span {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
}
.solas-cta-btn {/* solas-size: large */
  display: inline-block;
  padding: var(--solas-btn-pad-lg, 16px 24px);
  background: #fff;
  color: var(--solas-link, #385E9B) !important;
  font-weight: 700;
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 14px;
  letter-spacing: 0.04em;
  font-family: 'Montserrat', sans-serif;
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
  z-index: 1;
  box-shadow: 0 6px 14px rgba(15,43,77,0.15);
}
.solas-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15,43,77,0.22);
}
@media (max-width: 768px) {
  .solas-cta-block { padding: 0 16px; margin: 28px auto; }
  .solas-cta-card { padding: 22px 24px; gap: 16px; flex-direction: column; align-items: flex-start; }
  .solas-cta-text h2 { font-size: 20px; }
  .solas-cta-btn { width: 100%; text-align: center; }
}
/* END GLOBAL-BIG-CTA-CARD */

/* SOLAS_LOGO_HEADER_BLEND_V1 — 2026-05-31
 * Logo image has a baked-in white background; header is rgba(255,255,255,0.96).
 * mix-blend-mode multiply makes pure-white pixels blend invisibly into the
 * near-white header while preserving the dark blue artwork. The cleaner long-term
 * fix is replacing the logo with a transparent PNG/WebP — this rule can be removed then.
 */
.solas-raw-header__logo img,
.elementor-location-header img[src*="logo"] {
    mix-blend-mode: multiply;
}

/* ANNOUNCEMENT-BAR-V2 — scrolling trust ticker styles, pairs with JS marker ANNOUNCEMENT-TICKER-V2 in snippet 7324 */
.ast-above-header-section,
.ast-above-header-bar,
[class*="announcement"],
.solas-announce-bar {
  background: var(--solas-surface-dark, #0B2349) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding: 0 !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
.solas-ticker-track {
  display: flex !important;
  white-space: nowrap !important;
  animation: solas-ticker 42s linear infinite !important;
}
.solas-ticker-track:hover { animation-play-state: paused !important; }
.solas-ticker-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 36px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  color: #fff !important;
}
.solas-ticker-item::after { content: "·"; opacity: .4; padding-left: 36px; }
.solas-ticker-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #A0C3DE;
  box-shadow: 0 0 0 3px rgba(160,195,222,.25);
  flex: 0 0 6px;
}
@keyframes solas-ticker {
  0%  { transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .solas-ticker-track { animation: none !important; }
}


/* === SOLAS MOBILE HERO STACK (floating vials) — updated 2026-06-05 === */
/* On phones, replace the cropped composite photo with three floating product-
   vial cutouts (center tallest) on a clean brand gradient, so the vials always
   show. Desktop (>767px) is untouched. */
@media (max-width: 767px){
  .elementor-element-0110dda{
    background-image: linear-gradient(180deg,#f7faff 0%,#eef4fc 52%,#e6eef8 100%) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    padding-top: 24px !important;
    padding-bottom: 56vw !important; /* reserves room for the vial band below the text */
    position: relative !important;
    overflow: hidden !important;
  }
  .elementor-element-0110dda::after{
    content:""; position:absolute; left:0; right:0; bottom:10px;
    height:52vw; z-index:0; pointer-events:none;
    background-image:
      url('https://solasscience.shop/testing/wp-content/uploads/2026/06/solas-vial-glp-rt.png'),
      url('https://solasscience.shop/testing/wp-content/uploads/2026/06/solas-vial-glp-tz.png'),
      url('https://solasscience.shop/testing/wp-content/uploads/2026/06/solas-vial-ghk-cu.png');
    background-repeat:no-repeat,no-repeat,no-repeat;
    background-size:auto 36vw, auto 49vw, auto 36vw;
    background-position:11% bottom, 50% bottom, 89% bottom;
    filter:drop-shadow(0 12px 14px rgba(30,69,116,.22));
    animation:solas-vial-float 6s ease-in-out infinite;
  }
}
@keyframes solas-vial-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-7px);}
}
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .elementor-element-0110dda::after{animation:none !important;}
}
/* === END SOLAS MOBILE HERO STACK === */

/* SOLAS-MOBILE-DRAWER-HEIGHT-FIX — mobile nav drawer + backdrop were clipping to header height (~94px) instead of full screen, cutting off menu items. Viewport units bypass the containing-block issue. */
.solas-raw-drawer{ height:100vh !important; height:100dvh !important; overflow-y:auto !important; }
.solas-raw-drawer-backdrop{ height:100vh !important; height:100dvh !important; width:100vw !important; }

/* PRODUCT-IMG-POLISH-2026-06 — larger product images on mobile catalog */
@media (max-width:767px){
  .hfe-woo-products-grid{ gap:12px !important; column-gap:12px !important; }
  .hfe-woo-products-grid .hfe-product-item, .hfe-product-item{ padding:8px 8px 14px !important; }
  .hfe-woo-products-grid .hfe-product-image, .hfe-product-image{ padding:7px !important; margin-bottom:10px !important; }
}

/* SINGLE-PRODUCT-BLUE-GLOSS — cream product-page boxes -> clean blue gloss (Sawyer req 2026-06-07, mirrors live 7303) */
body.single-product .woocommerce-product-gallery,
body.single-product div.product div.summary,
body.single-product .summary.entry-summary,
body.single-product .solas-specs-panel {
  background: linear-gradient(168deg, var(--solas-wash, #F4F8FF) 0%, var(--solas-wash, #F4F8FF) 58%, var(--solas-wash, #F4F8FF) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), 0 12px 30px rgba(30,69,116,0.10) !important;
}
body.single-product .cfvsw-swatches-option.cfvsw-label-option,
body.single-product .cfvsw-swatches-option {
  background: #FFFFFF !important;
  border-color: var(--solas-hairline, #DFE5EC) !important;
}
body.single-product .solas-trust-strip,
body.single-product .related.products ul.products > li {
  background: #F4F8FD !important;
}



/* ============ CHECKOUT-POLISH-2026-06 ============ */
/* Clean blue design-system skin for /checkout-2/. CSS only -- never touches the WC checkout shortcode. High specificity (html body ... form) to beat the later-loaded legacy cream sheet. Gateway-agnostic so it also skins MAEF on live after the per-page transfer. */

html body.woocommerce-checkout form h3#order_review_heading,
html body.woocommerce-checkout form #customer_details h3,
html body.woocommerce-checkout form .woocommerce-billing-fields > h3,
html body.woocommerce-checkout form .woocommerce-additional-fields > h3{
  color:var(--solas-link, #385E9B) !important;
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-weight:700 !important;
}

html body.woocommerce-checkout form input[type="text"],
html body.woocommerce-checkout form input[type="email"],
html body.woocommerce-checkout form input[type="tel"],
html body.woocommerce-checkout form input[type="password"],
html body.woocommerce-checkout form input[type="number"],
html body.woocommerce-checkout form textarea,
html body.woocommerce-checkout form select,
html body.woocommerce-checkout form .select2-container .select2-selection{
  border-color:var(--solas-input-border, #EDEDED) !important;
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif !important;
  color:var(--solas-text, #0B2349) !important;
}
html body.woocommerce-checkout form input:focus,
html body.woocommerce-checkout form textarea:focus,
html body.woocommerce-checkout form select:focus,
html body.woocommerce-checkout form .select2-container--open .select2-selection{
  border-color:var(--solas-focus-ring, #4A85C5) !important;
  box-shadow:0 0 0 3px rgba(74,133,197,.18) !important;
  outline:none !important;
}

html body.woocommerce-checkout form #order_review{
  border:1px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius:var(--solas-radius-rect, 4px) !important;
  background:linear-gradient(180deg,#FFFFFF 0%,var(--solas-wash, #F4F8FF) 100%) !important;
  box-shadow:0 1px 3px rgba(30,69,116,.05) !important;
}
html body.woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table th,
html body.woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table td,
html body.woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table tr{
  border-color:var(--solas-hairline, #DFE5EC) !important;
}
html body.woocommerce-checkout form #order_review .order-total .amount,
html body.woocommerce-checkout form #order_review .order-total th{ color:var(--solas-link, #385E9B) !important; }

html body.woocommerce-checkout .woocommerce-info,
html body.woocommerce-checkout form.checkout_coupon{
  border-color:var(--solas-hairline, #DFE5EC) !important;
}

html body.woocommerce-checkout form ul.payment_methods{ border-color:var(--solas-hairline, #DFE5EC) !important; }
html body.woocommerce-checkout form .wc_payment_method label{
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif !important;
  color:var(--solas-text, #0B2349) !important;
}
html body.woocommerce-checkout form #payment .payment_box{
  background:var(--solas-wash, #F4F8FF) !important;
  border-radius:var(--solas-radius-rect, 4px) !important;
}
html body.woocommerce-checkout form #payment .payment_box::before{ border-bottom-color:var(--solas-hairline, #F4F8FD) !important; }

html body.woocommerce-checkout form #place_order,
html body.woocommerce-checkout form #place_order:hover{
  color:#FFFFFF !important;
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
  border:none !important;
  border-radius:var(--solas-radius-rect, 4px) !important;
}
html body.woocommerce-checkout form #place_order{
  background:linear-gradient(180deg,#4A85C5 0%,#346CAC 55%,var(--solas-btn-fill, #0B2349) 100%) !important;
  box-shadow:0 4px 14px rgba(30,69,116,.28),inset 0 1px 0 rgba(255,255,255,.25) !important;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease !important;
}
html body.woocommerce-checkout form #place_order:hover{
  background:linear-gradient(180deg,#5790CE 0%,#3D78B8 55%,var(--solas-btn-hover, #1D3E72) 100%) !important;
  filter:brightness(1.04) !important;
  box-shadow:0 6px 18px rgba(30,69,116,.34),inset 0 1px 0 rgba(255,255,255,.30) !important;
  transform:translateY(-1px) !important;
}

html body.woocommerce-checkout .solas-trust-signals{
  border:1px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius:var(--solas-radius-rect, 4px) !important;
  background:var(--solas-wash, #F4F8FF) !important;
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif !important;
}
html body.woocommerce-checkout .solas-trust-signals span{ color:#5A6B80 !important; font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif !important; }
html body.woocommerce-checkout .solas-trust-signals svg{ stroke:#346CAC !important; color:var(--solas-link, #385E9B) !important; }

/* ============ End CHECKOUT-POLISH-2026-06 ============ */


/* ============ COA-FULLBLEED-2026-06 ============ */
/* COA portal bands (navy six-param, white filter, light-blue results) were boxed inside Elementor's content column and stopped short of the page edges. Break them out to full viewport width; inner .coa-wrap keeps content centered at 1180. body has overflow-x:hidden so no sideways scroll. */
#solas-coa .coa-test,
#solas-coa .coa-controls,
#solas-coa .coa-grid-sec{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
/* ============ End COA-FULLBLEED-2026-06 ============ */


/* ============ ABOUT-FINAL-FULLBLEED-2026-06 ============ */
/* About page navy CTA gradient (.ab-final) was a rounded card boxed inside .ab-shell (max 1180) and floated with side gutters. Make it a full-width edge-to-edge band; inner .ab-final-inner content stays centered. body has overflow-x:hidden so no sideways scroll. */
#solas-about .ab-final{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  border-radius:var(--solas-radius-rect, 4px) !important;
}
/* ============ End ABOUT-FINAL-FULLBLEED-2026-06 ============ */


/* ============ ACCOUNT-PAGE-POLISH-2026-06 ============ */
/* My Account page -> brand blue gloss to match site + fix invisible button text (#3B82F6 text on #3B82F6 bg). Scoped body.woocommerce-account. */
body.woocommerce-account .entry-title,
body.woocommerce-account .page-title{ color:var(--solas-link, #385E9B) !important; padding-left:clamp(18px,4vw,44px) !important; }
body.woocommerce-account .entry-title{ padding-left:clamp(18px,4vw,44px) !important; }
body.woocommerce-account .woocommerce-MyAccount-content{
  background:linear-gradient(180deg,#FFFFFF 0%,#F4F8FD 100%) !important;
  border:1px solid var(--solas-hairline, #DFE5EC) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content a{ color:var(--solas-link, #385E9B) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active){ border:1px solid var(--solas-hairline, #DFE5EC) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active{
  background:linear-gradient(180deg,#4A85C5 0%,#346CAC 60%,var(--solas-surface-dark, #0B2349) 100%) !important;
  border:1px solid transparent !important;
  box-shadow:0 4px 14px rgba(30,69,116,.22),inset 0 1px 0 rgba(255,255,255,.22) !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover{ color:#FFFFFF !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active):hover{ background:#F4F8FD !important; }
body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account .woocommerce button[type="submit"],
body.woocommerce-account .woocommerce input[type="submit"]{
  background:linear-gradient(180deg,var(--solas-btn-fill, #0B2349) 0%,var(--solas-btn-fill, #0B2349) 55%,var(--solas-btn-fill, #0B2349) 100%) !important;
  color:#FFFFFF !important;
  border:none !important;
  border-radius:var(--solas-radius-rect, 4px) !important;
  box-shadow:0 4px 14px rgba(30,69,116,.28),inset 0 1px 0 rgba(255,255,255,.25) !important;
  text-shadow:none !important;
}
body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce-Button:hover,
body.woocommerce-account .woocommerce button[type="submit"]:hover,
body.woocommerce-account .woocommerce input[type="submit"]:hover{ color:#FFFFFF !important; filter:brightness(1.06) !important; }
/* ============ End ACCOUNT-PAGE-POLISH-2026-06 ============ */


/* APPLE-PAY-BADGE-EMPHASIS (2026-07-11 v2): same size as sibling badges; brighter pure-white mark per Sawyer */
.solas-pay-badge.solas-pay-apple {
  color: #FFFFFF !important; /* beats the .solas-pay-badge slate contrast rule meant for the white pills */
  border: 1px solid rgba(255,255,255,.38);
  box-shadow: 0 2px 8px rgba(0,0,0,.45);
  -webkit-font-smoothing: antialiased;
}
.solas-pay-badge.solas-pay-apple svg { fill: #FFFFFF; opacity: 1; }

/* 7-Parameter method pills: match the COA page test pills (owner request, 16 Sep 2026) */
#solas-six .six-method { background: rgba(160,195,222,.10) !important; border-color: rgba(160,195,222,.28) !important; }
