/* Shrink single product gallery, expand details */
@media (min-width: 922px) {
  .woocommerce .ast-woocommerce-container div.product div.images,
  .woocommerce-page .ast-woocommerce-container div.product div.images {
    width: 35% !important;
  }
  .woocommerce .ast-woocommerce-container div.product div.summary,
  .woocommerce-page .ast-woocommerce-container div.product div.summary {
    width: 60% !important;
  }
}


/* (Hide Related Products rule removed — they are now shown and styled below) */

/* Darken short description text on single product pages */
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description p {
  color: var(--ast-global-color-2) !important;
}

/* === Single Product Page: Framed Box Layout (Amino-Club style) === */

/* Light blue tinted box around the product image gallery (left column) */
.woocommerce .ast-woocommerce-container div.product div.images,
.woocommerce-page .ast-woocommerce-container div.product div.images {
  background-color: var(--solas-wash, #F4F8FF);
  padding: 2.5rem;
  border-radius: var(--solas-radius-rect, 4px);
  box-sizing: border-box;
}

/* Light blue tinted box around the product info/summary (right column) */
.woocommerce .ast-woocommerce-container div.product div.summary,
.woocommerce-page .ast-woocommerce-container div.product div.summary {
  background-color: var(--solas-wash, #F4F8FF);
  padding: 2.5rem;
  border-radius: var(--solas-radius-rect, 4px);
  box-sizing: border-box;
}

/* Mobile: tighter padding and a touch of spacing between stacked boxes */
@media (max-width: 921px) {
  .woocommerce .ast-woocommerce-container div.product div.images,
  .woocommerce-page .ast-woocommerce-container div.product div.images,
  .woocommerce .ast-woocommerce-container div.product div.summary,
  .woocommerce-page .ast-woocommerce-container div.product div.summary {
    padding: 1.5rem;
    border-radius: var(--solas-radius-rect, 4px);
    margin-bottom: 1rem;
  }
}


/* === Equal-height side-by-side boxes (desktop only) === */
@media (min-width: 922px) {
  /* Turn the product container into a flex row so both boxes stretch to equal heights */
  .woocommerce .ast-woocommerce-container div.product,
  .woocommerce-page .ast-woocommerce-container div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
  }
  /* Push tabs, related products, and the new specs panel onto their own row below */
  .ast-woocommerce-container div.product .woocommerce-tabs,
  .ast-woocommerce-container div.product .related.products,
  .ast-woocommerce-container div.product .solas-trust-strip,
  .ast-woocommerce-container div.product .solas-specs-panel {
    width: 100% !important;
    flex-basis: 100% !important;
    margin-top: 2rem;
  }
  /* Vertically center the image inside the taller gallery box */
  .ast-woocommerce-container div.product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
  }
}

/* === Collapsible Specifications panel (below both boxes) === */
.solas-specs-panel {
  background-color: var(--solas-wash, #F4F8FF);
  border-radius: var(--solas-radius-rect, 4px);
  padding: 1.5rem 2rem;
  box-sizing: border-box;
}
.solas-specs-panel > summary {
  font-size: 1.15rem;
  font-weight: 700;
  cursor: pointer;
  color: var(--ast-global-color-2);
  list-style: none;
  padding: 0.5rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.solas-specs-panel > summary::-webkit-details-marker { display: none; }
.solas-specs-panel > summary::before {
  content: "▸";
  display: inline-block;
  transition: transform 0.2s ease;
  color: var(--ast-global-color-0);
  font-size: 0.9em;
}
.solas-specs-panel[open] > summary::before { transform: rotate(90deg); }
.solas-specs-panel .solas-specs { margin-top: 1rem; }

/* === Free-shipping note inside the right box === */
.solas-shipping-note {
  display: block;
  text-align: center;
  margin: 0.75rem 0;
  padding: 0.6rem 1rem;
  background-color: rgba(59, 130, 246, 0.08);
  border-radius: var(--solas-radius-rect, 4px);
  font-size: 0.9rem;
  color: var(--ast-global-color-3);
  font-weight: 500;
}
.solas-shipping-note::before {
  content: "🚚";
  font-size: 1.1em;
  margin-right: 0.4rem;
}


/* === Vertically center the product image inside the (now taller) gallery box === */
@media (min-width: 922px) {
  .ast-woocommerce-container div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
}


/* === Amino-Club style: narrower container, smaller image, tighter feel === */
@media (min-width: 922px) {
  /* Constrain product container to a comfortable max-width and center it */
  .woocommerce .ast-woocommerce-container div.product,
  .woocommerce-page .ast-woocommerce-container div.product {
    max-width: 1320px;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Tighten padding inside both framed boxes (was 2.5rem) */
  .woocommerce .ast-woocommerce-container div.product div.images,
  .woocommerce-page .ast-woocommerce-container div.product div.images,
  .woocommerce .ast-woocommerce-container div.product div.summary,
  .woocommerce-page .ast-woocommerce-container div.product div.summary {
    padding: 1.75rem 2rem !important;
  }

  /* Shrink the product image — fill ~45% of the gallery box, centered both axes */
  .ast-woocommerce-container div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    max-width: 50%;
    margin: auto !important;
  }
}


/* === Override: enlarge image so it fills the box, stop forcing equal heights === */
@media (min-width: 922px) {
  /* Boxes hug their own content instead of stretching to match each other */
  .woocommerce .ast-woocommerce-container div.product,
  .woocommerce-page .ast-woocommerce-container div.product {
    align-items: flex-start !important;
  }
  /* Enlarge product image inside the gallery box */
  .ast-woocommerce-container div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    max-width: 80% !important;
  }
}


/* === Final polish: bigger image, no zoom circle, rounded image corners === */

/* Hide the WooCommerce zoom trigger (the blue circle in the top right) */
.ast-woocommerce-container div.product .woocommerce-product-gallery__trigger {
  display: none !important;
}

/* Soften the image corners */
.ast-woocommerce-container div.product .woocommerce-product-gallery img {
  border-radius: var(--solas-radius-rect, 4px);
}

/* Let the image fill the gallery box */
@media (min-width: 922px) {
  .ast-woocommerce-container div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    max-width: 100% !important;
  }
}


/* === Widen the gallery column so the image grows === */
@media (min-width: 922px) {
  .woocommerce .ast-woocommerce-container div.product div.images,
  .woocommerce-page .ast-woocommerce-container div.product div.images {
    width: 40% !important;
  }
  .woocommerce .ast-woocommerce-container div.product div.summary,
  .woocommerce-page .ast-woocommerce-container div.product div.summary {
    width: 55% !important;
  }
}

/* === Box background: warm off-white instead of subtle blue === */
.woocommerce .ast-woocommerce-container div.product div.images,
.woocommerce-page .ast-woocommerce-container div.product div.images,
.woocommerce .ast-woocommerce-container div.product div.summary,
.woocommerce-page .ast-woocommerce-container div.product div.summary,
.solas-specs-panel {
  background-color: var(--solas-wash, #F4F8FF) !important;
}


/* === Hover animation: gentle lift + soft shadow + slight image zoom (premium easing) === */
.ast-woocommerce-container div.product div.images {
  transition: box-shadow 0.75s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.75s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden;
}
.ast-woocommerce-container div.product div.images:hover {
  box-shadow: 0 12px 28px rgba(59, 130, 246, 0.10);
  transform: translateY(-3px);
}

.ast-woocommerce-container div.product .woocommerce-product-gallery img {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.ast-woocommerce-container div.product div.images:hover .woocommerce-product-gallery img {
  transform: scale(1.035);
}


/* Hide WPC Frequently Bought Together upsell on single product page */
.woobt-wrap { display: none !important; }


/* HIDE-BOTTOM-AREA */
/* Hide collapsible specifications panel and the WooCommerce description/additional info tabs */
.solas-specs-panel,
.woocommerce-tabs { display: none !important; }


/* TRUST-STRIP-AND-RELATED-PRODUCTS-BLOCK */

/* === Trust Strip (4 value props row above related products) === */
.solas-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin: 3rem 0 2rem;
  padding: 1.75rem 1.5rem;
  background: #F4F8FD;
  border-radius: var(--solas-radius-rect, 4px);
  border: 1px solid rgba(59, 130, 246, 0.10);
}
.solas-trust-strip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.6rem;
}
.solas-trust-strip__icon {
  width: 36px;
  height: 36px;
  color: var(--ast-global-color-0);
  display: flex;
  align-items: center;
  justify-content: center;
}
.solas-trust-strip__icon svg { width: 100%; height: 100%; }
.solas-trust-strip__label {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ast-global-color-2);
  line-height: 1.25;
}
.solas-trust-strip__sub {
  font-size: 0.8rem;
  color: var(--ast-global-color-3);
  line-height: 1.35;
  margin: 0;
}
@media (max-width: 768px) {
  .solas-trust-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    padding: 1.5rem 1rem;
  }
}

/* === Related products restyle === */
.ast-woocommerce-container .related.products {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0,0,0,0.06);
}
.ast-woocommerce-container .related.products > h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: var(--ast-global-color-2);
  text-align: left;
}
.ast-woocommerce-container .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.ast-woocommerce-container .related.products ul.products > li {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 1rem !important;
  background: #F4F8FD;
  border-radius: var(--solas-radius-rect, 4px);
  border: 1px solid rgba(59, 130, 246, 0.08);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}
.ast-woocommerce-container .related.products ul.products > li:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(59, 130, 246, 0.08);
}
.ast-woocommerce-container .related.products ul.products > li img {
  border-radius: var(--solas-radius-rect, 4px);
}
@media (max-width: 992px) {
  .ast-woocommerce-container .related.products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .ast-woocommerce-container .related.products ul.products {
    grid-template-columns: 1fr;
  }
}


/* HIDE-STICKY-ATC */
/* Hide Astra Pro sticky Add-to-Cart bar that appears on scroll */
.ast-sticky-add-to-cart { display: none !important; }


/* HOMEPAGE-HFE-CARDS-STANDARDIZE */
/* Match Featured Research Compounds cards to /product/ shop page card styling */
.glp-spotlight .hfe-product-item {
  background: rgba(255, 255, 255, 0.54) !important;
  border: 20px solid #ffffff !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 0 !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.12) !important;
}
.glp-spotlight .hfe-product-item img {
  border-radius: var(--solas-radius-rect, 4px) !important;
}
.glp-spotlight .hfe-product-category {
  display: block !important;
  font-size: 12px !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #000 !important;
  font-weight: 400 !important;
}
.glp-spotlight .hfe-product-title,
.glp-spotlight .hfe-product-title .woocommerce-loop-product__title,
.glp-spotlight .hfe-product-title a {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--solas-link, #385E9B) !important;
  line-height: 1.3 !important;
}
.glp-spotlight .hfe-product-price,
.glp-spotlight .hfe-product-price .price,
.glp-spotlight .hfe-product-price .woocommerce-Price-amount,
.glp-spotlight .hfe-product-price .woocommerce-Price-amount * {
  font-size: 15px !important;
  color: var(--solas-link, #385E9B) !important;
}
.glp-spotlight .hfe-product-add-to-cart .button {
  background: var(--solas-btn-fill, #0B2349) !important;
  color: #fff !important;
}


/* HFE-CARDS-GLOBAL-HOVER */
/* Hover lift animation on any HFE product card (covers /product/ shop page) */
.hfe-product-item {
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}
.hfe-product-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(59, 130, 246, 0.08);
}

/* SOLAS-TERMS-PAGE */
/* Terms of Service page styling — brand-matched reading column */
.solas-terms {
  max-width: 820px !important;
  margin: 2rem auto 4rem !important;
  padding: 0 1.5rem;
  color: var(--ast-global-color-3);
  line-height: 1.7;
}
.solas-terms .terms-header {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(59, 130, 246, 0.15);
}
.solas-terms .terms-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--ast-global-color-2);
  margin: 0 0 0.5rem;
  letter-spacing: -0.02em;
}
.solas-terms .terms-effective {
  font-size: 0.95rem;
  color: var(--ast-global-color-3);
  font-style: italic;
  margin: 0;
}
.solas-terms .terms-intro {
  background: #F4F8FD;
  border-left: 3px solid var(--ast-global-color-0);
  padding: 1.5rem 1.75rem;
  border-radius: 0 12px 12px 0;
  margin: 2rem 0 3rem;
  font-size: 1.05rem;
}
.solas-terms .terms-intro p { margin: 0; }
.solas-terms h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ast-global-color-2);
  margin: 3rem 0 1rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(59, 130, 246, 0.10);
  letter-spacing: -0.01em;
}
.solas-terms h2:first-of-type {
  border-top: none;
  padding-top: 0;
  margin-top: 1rem;
}
.solas-terms h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ast-global-color-2);
  margin: 1.75rem 0 0.5rem;
}
.solas-terms p {
  margin: 0 0 1rem;
  font-size: 1rem;
}
.solas-terms ul,
.solas-terms ol {
  margin: 0 0 1.25rem 1.5rem;
  padding: 0;
}
.solas-terms li { margin-bottom: 0.5rem; }
.solas-terms a {
  color: var(--ast-global-color-0);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}
.solas-terms a:hover { color: var(--ast-global-color-1); }
.solas-terms strong {
  color: var(--ast-global-color-2);
  font-weight: 600;
}
.solas-terms .terms-callout {
  background: #eff6ff;
  border: 1px solid rgba(59, 130, 246, 0.25);
  border-radius: var(--solas-radius-rect, 4px);
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0;
  font-size: 0.97rem;
}
.solas-terms .terms-callout .callout-label {
  display: block;
  color: var(--ast-global-color-0);
  margin-bottom: 0.4rem;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.solas-terms .terms-contact-card {
  background: var(--solas-wash, #F4F8FF);
  border-radius: var(--solas-radius-rect, 4px);
  padding: 1.5rem 1.75rem;
  margin-top: 1rem;
  border: 1px solid rgba(59, 130, 246, 0.10);
}
.solas-terms .terms-contact-card p { margin: 0.25rem 0; }
.solas-terms .terms-disclaimer {
  margin-top: 3rem;
  padding: 1.25rem 1.5rem;
  background: #fafafa;
  border-radius: var(--solas-radius-rect, 4px);
  font-size: 0.85rem;
  color: var(--ast-global-color-3);
  font-style: italic;
}
@media (max-width: 768px) {
  .solas-terms { padding: 0 1rem; margin: 1rem auto 3rem; }
  .solas-terms .terms-title { font-size: 2rem; }
  .solas-terms h2 { font-size: 1.3rem; }
}

/* TRUST-PILLARS-HOMEPAGE-HOVER */
/* Hover lift animation for the 4 trust pillar cards on the homepage */
.elementor-element-b7d8d58 .elementor-col-25 > .elementor-widget-wrap.elementor-element-populated {
  transition: transform 0.5s ease, box-shadow 0.5s ease !important;
  will-change: transform;
}
.elementor-element-b7d8d58 .elementor-col-25 > .elementor-widget-wrap.elementor-element-populated:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 32px rgba(52, 104, 168, 0.18) !important;
}

/* QUALITY-STANDARD-SECTION-FRAMING */
/* Frame the image + text columns in the OUR QUALITY STANDARD section, + scroll slide-in */

/* Image column frame (less padding so the vial dominates the frame) */
.elementor-element-89e397a .elementor-column.elementor-element-bec0a4d > .elementor-widget-wrap.elementor-element-populated {
  background: var(--solas-wash, #F4F8FF);
  border-radius: var(--solas-radius-rect, 4px);
  border: 1px solid rgba(59, 130, 246, 0.10);
  padding: 1.5rem !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

/* Text column frame (more breathing room for typography) */
.elementor-element-89e397a .elementor-column.elementor-element-8988b99 > .elementor-widget-wrap.elementor-element-populated {
  background: var(--solas-wash, #F4F8FF);
  border-radius: var(--solas-radius-rect, 4px);
  border: 1px solid rgba(59, 130, 246, 0.10);
  padding: 2.5rem !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

/* Slide-in initial state (only applies when JS adds .solas-anim-init) */
.elementor-element-89e397a.solas-anim-init .elementor-column.elementor-element-bec0a4d {
  opacity: 0;
  transform: translateX(-60px);
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.9s ease;
  will-change: transform;
}
.elementor-element-89e397a.solas-anim-init .elementor-column.elementor-element-8988b99 {
  opacity: 0;
  transform: translateX(60px);
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.9s ease;
  will-change: transform;
}

/* Slide-in final state */
.elementor-element-89e397a.solas-anim-init.solas-slide-in .elementor-column.elementor-element-bec0a4d,
.elementor-element-89e397a.solas-anim-init.solas-slide-in .elementor-column.elementor-element-8988b99 {
  opacity: 1;
  transform: translateX(0);
}

/* QUALITY-STANDARD-GAP */
/* Horizontal gap between the two framed boxes in OUR QUALITY STANDARD section */
.elementor-element-89e397a .elementor-column.elementor-element-bec0a4d > .elementor-widget-wrap.elementor-element-populated {
  margin-right: 16px !important;
}
.elementor-element-89e397a .elementor-column.elementor-element-8988b99 > .elementor-widget-wrap.elementor-element-populated {
  margin-left: 16px !important;
}

/* SINGLE-PRODUCT-MG-SELECTOR */
/* Aesthetic restyle + hover animation for CFVSW variation swatches (mg selector) */
/* Scoped to single product pages where the swatches plugin is active (e.g. GLP-TZ, GLP-RT) */
body.cfvsw-product-page .cfvsw-swatches-container.cfvsw-product-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 8px 0 4px;
}
body.cfvsw-product-page .cfvsw-swatches-option.cfvsw-label-option {
  background: #F4F8FD !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  color: #1a1a1a !important;
  padding: 9px 20px !important;
  font-family: Inter, sans-serif;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.4;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  cursor: pointer;
  box-shadow: none;
  transition: transform 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
body.cfvsw-product-page .cfvsw-swatches-option.cfvsw-label-option:hover {
  transform: translateY(-2px);
  border-color: #3b82f6 !important;
  color: var(--solas-link, #385E9B) !important;
  box-shadow: 0 5px 15px -4px rgba(59,130,246,0.28);
}
body.cfvsw-product-page .cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px -2px rgba(59,130,246,0.35);
}
body.cfvsw-product-page .cfvsw-swatches-option.cfvsw-label-option.cfvsw-selected-swatch:hover {
  transform: translateY(-2px);
  background: #3468a8 !important;
  border-color: #3468a8 !important;
  box-shadow: 0 5px 16px -4px rgba(52,104,168,0.4);
}
body.cfvsw-product-page .cfvsw-swatch-inner {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border: none !important;
}

/* SOLAS-HERO-POLISH */
/* Generic hero treatment: apply to any page hero by giving the heading widget the
   class "solas-hero-heading" and inserting an HTML widget with .solas-hero-accent and .solas-hero-sub */
.solas-hero-heading .elementor-heading-title {
  letter-spacing: -0.01em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.25);
  opacity: 0;
  animation: solas-hero-fade 0.9s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}
.solas-hero-accent {
  width: 48px;
  height: 3px;
  background: #3b82f6;
  border-radius: var(--solas-radius-rect, 4px);
  margin: 14px auto 12px;
  transform: scaleX(0);
  transform-origin: center;
  animation: solas-hero-pill 0.7s cubic-bezier(0.16,1,0.3,1) 0.4s forwards;
}
.solas-hero-sub {
  text-align: center;
  color: #ffffff;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.01em;
  margin: 0;
  opacity: 0;
  text-shadow: 0 1px 8px rgba(0,0,0,0.25);
  animation: solas-hero-fade 0.9s cubic-bezier(0.16,1,0.3,1) 0.55s forwards;
}
@keyframes solas-hero-fade {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes solas-hero-pill {
  to { transform: scaleX(1); }
}
@media (max-width: 768px) {
  .solas-hero-sub { font-size: 14px; padding: 0 24px; }
  .solas-hero-accent { width: 40px; height: 2.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .solas-hero-heading .elementor-heading-title,
  .solas-hero-sub { opacity: 1; animation: none; transform: none; }
  .solas-hero-accent { transform: scaleX(1); animation: none; }
}

/* CONTACT-HERO-OVERLAY-FIX */
/* Force a soft top-to-bottom brand-blue gradient on the contact hero overlay.
   Elementor's editor stripped the alpha on the first color and applied a 0.5 opacity multiplier,
   making the overlay flatter and bluer than intended. */
body.page-id-6708 .elementor-element-e70c141 > .elementor-background-overlay {
  background-image: linear-gradient(180deg, rgba(52,104,168,0.15) 0%, rgba(52,104,168,0.65) 100%) !important;
  opacity: 1 !important;
}

/* COA-PAGE-FIX */
/* Fixes the white-on-white bug on /coas/ and hides the redundant "001" batch badge.
   Using body-scoped selectors to override the plugin's inline CSS that comes later in source order. */
body .pt8-product-name {
  color: #1a1a1a !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-align: center !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}
body #pt8-search,
body input#pt8-search {
  color: #1a1a1a !important;
  font-family: Inter, sans-serif !important;
}
body #pt8-search::placeholder,
body input#pt8-search::placeholder {
  color: var(--solas-disabled-text, #ABABAB) !important;
  opacity: 1 !important;
}
body .pt8-pills {
  display: none !important;
}

/* HEADER-HOVER-POLISH */
/* Option B: center-expand underline hover on nav links, subtle letter-spacing breathe,
   lift on cart/account icons, brand-blue counter badge instead of red.
   Scoped to .elementor-location-header so it only affects the site header. */
.elementor-location-header .elementor-item {
  position: relative !important;
  transition: color 0.25s ease, letter-spacing 0.3s ease !important;
}
.elementor-location-header .elementor-item::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -3px;
  height: 2.5px;
  width: 0;
  background: #3b82f6;
  transform: translateX(-50%);
  transition: width 0.4s cubic-bezier(0.34,1.56,0.64,1);
  border-radius: var(--solas-radius-rect, 4px);
  pointer-events: none;
}
.elementor-location-header .elementor-item:hover {
  color: var(--solas-link, #385E9B) !important;
  letter-spacing: 0.02em !important;
}
.elementor-location-header .elementor-item:hover::after,
.elementor-location-header .elementor-item.elementor-item-active::after {
  width: 75%;
}
.elementor-location-header .elementor-menu-cart__toggle_button,
.elementor-location-header .elementor-element-25f5da3 a.elementor-icon {
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), color 0.3s ease !important;
  display: inline-block;
}
.elementor-location-header .elementor-menu-cart__toggle_button:hover,
.elementor-location-header .elementor-element-25f5da3 a.elementor-icon:hover {
  transform: translateY(-2px);
}
.elementor-location-header .elementor-menu-cart__toggle_button:hover svg {
  fill: var(--solas-btn-hover, #1D3E72) !important;
}
.elementor-location-header .elementor-button-icon-qty {
  background: var(--solas-btn-fill, #0B2349) !important;
}
@media (prefers-reduced-motion: reduce) {
  .elementor-location-header .elementor-item,
  .elementor-location-header .elementor-item::after,
  .elementor-location-header .elementor-menu-cart__toggle_button,
  .elementor-location-header .elementor-element-25f5da3 a.elementor-icon { transition: none !important; }
}

/* SIDE-CART-POLISH */
/* Option B: framed-boxes look for the WooCommerce side cart, with View Cart + Checkout buttons
   made clearly visible in their default state. Scoped to .elementor-menu-cart__wrapper. */
body .elementor-menu-cart__wrapper {
  background: var(--solas-wash, #F4F8FF) !important;
  padding: 18px 16px 18px 16px !important;
}
body .elementor-menu-cart__close-button {
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  opacity: 0.6;
}
body .elementor-menu-cart__close-button:hover {
  opacity: 1;
  transform: scale(1.1);
}
body.admin-bar .elementor-menu-cart__main {
  padding-top: 32px !important;
}
body .elementor-menu-cart__close-button:hover {
  background: rgba(0,0,0,0.06) !important;
  color: var(--solas-link, #385E9B) !important;
}
body .elementor-menu-cart__product {
  background: rgba(255,255,255,0.85) !important;
  border: 1.5px solid #ffffff !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
body .elementor-menu-cart__product:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.06) !important;
}
body .elementor-menu-cart__product img {
  border-radius: var(--solas-radius-rect, 4px) !important;
}
body .elementor-menu-cart__wrapper .quantity input.qty {
  border: 1.5px solid var(--solas-input-border, #EDEDED) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 5px 8px !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-align: center !important;
  width: 56px !important;
  transition: border-color 0.2s ease !important;
  background: white !important;
}
body .elementor-menu-cart__wrapper .quantity input.qty:focus,
body .elementor-menu-cart__wrapper .quantity input.qty:hover {
  border-color: var(--solas-focus-ring, #3B82F6) !important;
  outline: none !important;
}
body .elementor-menu-cart__product-remove {
  transition: transform 0.2s ease, color 0.2s ease !important;
}
body .elementor-menu-cart__product-remove:hover {
  transform: scale(1.18) rotate(90deg);
  color: var(--solas-link, #385E9B) !important;
}
body .cart_list::after,
body .woocommerce-mini-cart::after {
  content: 'Free shipping on orders over $150';
  display: block;
  padding: 10px 14px;
  background: var(--solas-wash, #F4F8FF);
  border: 1.5px solid rgba(180, 210, 245, 0.5);
  border-radius: var(--solas-radius-rect, 4px);
  font-family: Inter, sans-serif;
  font-size: 11.5px;
  color: var(--solas-link, #385E9B);
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.02em;
  margin: 4px 0 12px 0;
  text-transform: none;
}
body .elementor-menu-cart__subtotal {
  background: #ffffff !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 14px 16px !important;
  margin: 0 0 12px 0 !important;
  font-family: Inter, sans-serif !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
}
body .elementor-menu-cart__subtotal strong {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #888 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
body .elementor-menu-cart__subtotal .woocommerce-Price-amount,
body .elementor-menu-cart__subtotal .amount {
  font-size: 22px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
}
body .elementor-menu-cart__footer-buttons {
  display: flex !important;
  gap: 10px !important;
  margin-top: 4px !important;
}
body .elementor-menu-cart__wrapper a.elementor-button--view-cart,
body .elementor-menu-cart__wrapper .elementor-button--view-cart {/* solas-size: small */
  background: #ffffff !important;
  color: var(--solas-link, #385E9B) !important;
  border: 1.5px solid #3b82f6 !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-sm, 12px 16px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  flex: 1 !important;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body .elementor-menu-cart__wrapper a.elementor-button--view-cart:hover,
body .elementor-menu-cart__wrapper .elementor-button--view-cart:hover {
  background: #e6f1fb !important;
  border-color: #3468a8 !important;
  color: var(--solas-link, #385E9B) !important;
  transform: translateY(-2px) !important;
}
body .elementor-menu-cart__wrapper a.elementor-button--checkout,
body .elementor-menu-cart__wrapper .elementor-button--checkout {/* solas-size: small */
  background: var(--solas-btn-fill, #0B2349) !important;
  color: #ffffff !important;
  border: 1.5px solid #3b82f6 !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-sm, 12px 16px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  flex: 1 !important;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  box-shadow: 0 4px 14px -4px rgba(59,130,246,0.55) !important;
  text-decoration: none !important;
}
body .elementor-menu-cart__wrapper a.elementor-button--checkout:hover,
body .elementor-menu-cart__wrapper .elementor-button--checkout:hover {
  background: var(--solas-btn-hover, #1D3E72) !important;
  border-color: #3468a8 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px -4px rgba(52,104,168,0.55) !important;
}

/* CHECKOUT-POLISH */
/* Framed-boxes style: off-white page background, white framed cards for
   Customer Information and Your Order, brand-blue accents, brand-blue
   Place Order button matching the cart-page "Proceed to Checkout".
   Targets the WC [woocommerce_checkout] shortcode DOM (not the Elementor
   Pro woocommerce-checkout-page widget, which is bypassed on this site).
   Drafted 2026-05-15. */


/* ========== PAGE-LEVEL FRAME ==========
   Off-white background makes the white cards pop. */
body.woocommerce-checkout {
  background: var(--solas-wash, #F4F8FF) !important;
}
body.woocommerce-checkout .e-con,
body.woocommerce-checkout .e-con-inner {
  background: transparent !important;
}


/* ========== CUSTOMER INFORMATION / BILLING — WHITE FRAMED CARD ========== */
body.woocommerce-checkout #customer_details {
  background: white !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 24px 28px !important;
  box-shadow: 0 4px 16px -8px rgba(0,0,0,0.08) !important;
  margin-bottom: 16px !important;
}
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout .woocommerce-billing-fields h3 {
  color: #1a1a1a !important;
  font-family: Inter, sans-serif !important;
  font-weight: 500 !important;
  margin-top: 0 !important;
  font-size: 18px !important;
  margin-bottom: 12px !important;
}


/* ========== FORM FIELDS — FIX LABEL CLIPPING ==========
   Inputs get top padding so the floating label has room above the typed text.
   Labels sit absolutely-positioned at the top-left of the field. */
body.woocommerce-checkout .form-row {
  position: relative !important;
  margin-bottom: 16px !important;
}
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  background: white !important;
  color: #1a1a1a !important;
  border: 1.5px solid var(--solas-input-border, #EDEDED) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 22px 14px 8px 14px !important;
  min-height: 56px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
body.woocommerce-checkout .form-row .input-text:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
  border-color: var(--solas-focus-ring, #3B82F6) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.12) !important;
}
body.woocommerce-checkout .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
  position: absolute !important;
  top: 6px !important;
  left: 14px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #888 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background: transparent !important;
  margin: 0 !important;
}
body.woocommerce-checkout .form-row .required {
  color: var(--solas-link, #385E9B) !important;
}


/* ========== YOUR ORDER PANEL — KILL THE DARK NAVY ==========
   Override the inherited rgb(18,24,38) background and rgb(160,166,171) text. */
body.woocommerce-checkout #order_review,
body .woocommerce-checkout #order_review {
  background: white !important;
  background-color: white !important;
  color: #1a1a1a !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 20px !important;
  box-shadow: 0 4px 16px -8px rgba(0,0,0,0.08) !important;
}
body.woocommerce-checkout #order_review_heading {
  color: #1a1a1a !important;
  font-family: Inter, sans-serif !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  margin-bottom: 12px !important;
}
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table,
body.woocommerce-checkout #order_review table {
  background: transparent !important;
  color: #1a1a1a !important;
  border-collapse: separate !important;
  width: 100% !important;
}
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th *,
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td * {
  color: #1a1a1a !important;
}

/* Compact circular product thumbs (Option C retained) */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-thumbnail img,
body.woocommerce-checkout .woocommerce-checkout-review-order-table img.attachment-woocommerce_thumbnail,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name img {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  margin: 6px 12px 6px 0 !important;
}

/* Totals styling */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr th {
  font-family: Inter, sans-serif !important;
  padding: 10px 12px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.fee th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .tax-rate th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .tax-total th {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #666 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .shipping td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .tax-rate td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .tax-total td {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  text-align: right !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount td * {
  color: var(--solas-link, #385E9B) !important;
  font-weight: 500 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total {
  border-top: 2px solid var(--solas-hairline, #DFE5EC) !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding-top: 16px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td * {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  padding-top: 16px !important;
}


/* ========== PAYMENT METHODS — WHITE BOXES, BRAND-BLUE SELECTED RING ========== */
body.woocommerce-checkout #payment {
  background: transparent !important;
}
body.woocommerce-checkout #payment ul.payment_methods {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  list-style: none !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
body .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
  background: white !important;
  background-color: white !important;
  color: #1a1a1a !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 14px 16px !important;
  margin-bottom: 10px !important;
  list-style: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover {
  border-color: #3b82f6 !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 2px rgba(59,130,246,0.18) !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label,
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label * {
  color: #1a1a1a !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  margin-right: 8px !important;
  accent-color: #3b82f6 !important;
}

/* Zelle/expanded payment_box: force near-black on ALL descendants */
body.woocommerce-checkout #payment .payment_box,
body .woocommerce-checkout #payment .payment_box {
  background: var(--solas-wash, #F4F8FF) !important;
  color: #1a1a1a !important;
  border: 1px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 12px 14px !important;
  margin-top: 8px !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout #payment .payment_box *,
body .woocommerce-checkout #payment .payment_box,
body .woocommerce-checkout #payment .payment_box * {
  color: #1a1a1a !important;
}

/* Specificity bump: legacy sheet-82 rule sets `.payment_box p { color: white !important }`
   at specificity (1,2,1) and loads after ours. Targeting elements directly gives us (1,2,2). */
body.woocommerce-checkout #payment .payment_box p,
body.woocommerce-checkout #payment .payment_box li,
body.woocommerce-checkout #payment .payment_box div,
body.woocommerce-checkout #payment .payment_box span,
body.woocommerce-checkout #payment .payment_box strong {
  color: #1a1a1a !important;
}
body.woocommerce-checkout #payment .payment_box a {
  color: var(--solas-link, #385E9B) !important;
}


/* ========== PLACE ORDER BUTTON — BRAND-BLUE PRIMARY (MATCH CART) ========== */
body.woocommerce-checkout #place_order,
body .woocommerce-checkout #place_order,
body #place_order {/* solas-size: large */
  background: var(--solas-btn-fill, #0B2349) !important;
  background-color: var(--solas-btn-fill, #0B2349) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-lg, 16px 24px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 4px 14px -4px rgba(59,130,246,0.4) !important;
  height: auto !important;
  line-height: 1.4 !important;
  margin-top: 16px !important;
}
body.woocommerce-checkout #place_order:hover,
body #place_order:hover {
  background: #3468a8 !important;
  background-color: #3468a8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px -4px rgba(59,130,246,0.55) !important;
}


/* ========== TRUST SIGNALS ROW (injected by CHECKOUT-POLISH-JS) ========== */
.solas-trust-signals {
  display: flex !important;
  gap: 18px !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 14px 12px !important;
  margin: 0 0 16px 0 !important;
  font-family: Inter, sans-serif !important;
  font-size: 12px !important;
  color: #666 !important;
  flex-wrap: wrap !important;
  background: white !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
}
.solas-trust-signals span {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.solas-trust-signals svg {
  width: 14px !important;
  height: 14px !important;
  color: var(--solas-link, #385E9B) !important;
  flex-shrink: 0 !important;
}


/* ========== DISCOUNT BANNER ========== */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
  background: white !important;
  border: 1.5px solid #3b82f6 !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  color: #1a1a1a !important;
  padding: 14px 16px !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  margin-bottom: 16px !important;
}


/* ========== CONSENT CHECKBOXES (age confirmation, marketing) ========== */
body.woocommerce-checkout label.checkbox,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  color: #1a1a1a !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
body.woocommerce-checkout label.checkbox input[type="checkbox"],
body.woocommerce-checkout .woocommerce-form__input-checkbox {
  accent-color: #3b82f6 !important;
}


/* ========== COUPON FORM — restored from Astra's display:none ==========
   Astra Pro's Modern Checkout hides .woocommerce-form-coupon-toggle without !important.
   We override with !important and style the expanded form to match cart-page framed-box. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
  display: block !important;
}
body.woocommerce-checkout form.checkout_coupon {
  background: white !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 16px 18px !important;
  margin-bottom: 16px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}
body.woocommerce-checkout form.checkout_coupon p.form-row {
  margin: 0 !important;
}
body.woocommerce-checkout form.checkout_coupon p.form-row-first {
  flex: 1 1 220px !important;
}
body.woocommerce-checkout form.checkout_coupon p.form-row-last {
  flex: 0 0 auto !important;
}
/* Override the tall floating-label input padding for the coupon code field specifically */
body.woocommerce-checkout form.checkout_coupon .form-row .input-text {
  padding: 10px 14px !important;
  min-height: 0 !important;
}
/* Hide the screen-reader label since the input has a placeholder */
body.woocommerce-checkout form.checkout_coupon .form-row > label {
  display: none !important;
}
body.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"] {/* solas-size: small */
  background: var(--solas-btn-fill, #0B2349) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-sm, 12px 16px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
  box-shadow: 0 2px 8px -2px rgba(59,130,246,0.35) !important;
}
body.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover {
  background: var(--solas-btn-hover, #1D3E72) !important;
  transform: translateY(-1px) !important;
}


/* ========== ORDER-RECEIVED — BOLD PAYMENT INSTRUCTIONS CALLOUT ==========
   On /checkout-2/order-received/ pages, the BACS/Zelle/Cash App/Venmo instructions
   are output as a bare <p> inside .woocommerce-order. Default coloring is light gray
   and font-weight 400, so customers can miss critical "send-to" account info.
   Fix: wrap the bare <p> in a brand-blue callout box with bold near-black text. */
body.woocommerce-checkout .woocommerce-order > p:not([class]) {
  background: var(--solas-wash, #F4F8FF) !important;
  border-left: 4px solid #3b82f6 !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 18px 22px !important;
  color: #1a1a1a !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 20px 0 !important;
}
/* Also target the woocommerce-bacs-bank-details section in case other gateways wrap instructions there */
body.woocommerce-checkout .woocommerce-bacs-bank-details,
body.woocommerce-checkout .woocommerce-bacs-bank-details p,
body.woocommerce-checkout .woocommerce-bacs-bank-details h2,
body.woocommerce-checkout .woocommerce-bacs-bank-details li {
  color: #1a1a1a !important;
  font-weight: 600 !important;
}


/* ========== COUPON LINK ========== */
body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
body.woocommerce-checkout .checkout_coupon a {
  color: var(--solas-link, #385E9B) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover,
body.woocommerce-checkout .checkout_coupon a:hover {
  color: var(--solas-link, #385E9B) !important;
  text-decoration: underline !important;
}


/* ========== HEADER CART WRAPPER FIX (carried over from prior block) ========== */
body .elementor-menu-cart__wrapper {
  background: transparent !important;
}


/* CART-PAGE-POLISH */
/* Option B: framed boxes for the /cart-2/ page items + coupon + totals.
   Brand-blue Apply Coupon and Proceed to Checkout buttons with shadow + hover lift. */

/* Cart items table - hide default borders, use spaced framed boxes */
body.woocommerce-cart .shop_table.cart,
body.woocommerce-cart .woocommerce-cart-form__contents {
  border: none !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .shop_table.cart thead {
  display: none !important;
}
body.woocommerce-cart .shop_table.cart tr.cart_item {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  background: rgba(255,255,255,0.85) !important;
  border: 1.5px solid white !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  margin-bottom: 10px !important;
  padding: 14px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
body.woocommerce-cart .shop_table.cart tr.cart_item:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.06) !important;
}
body.woocommerce-cart .shop_table.cart tr.cart_item > td {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}
body.woocommerce-cart .shop_table.cart td.product-remove {
  flex: 0 0 auto !important;
  width: auto !important;
}
body.woocommerce-cart .shop_table.cart td.product-remove a.remove {
  width: 24px !important;
  height: 24px !important;
  font-size: 18px !important;
  line-height: 22px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  color: #888 !important;
  background: white !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}
body.woocommerce-cart .shop_table.cart td.product-remove a.remove:hover {
  border-color: #3b82f6 !important;
  color: var(--solas-link, #385E9B) !important;
  transform: scale(1.1);
}
body.woocommerce-cart .shop_table.cart td.product-thumbnail {
  flex: 0 0 auto !important;
  width: auto !important;
}
body.woocommerce-cart .shop_table.cart td.product-thumbnail img {
  width: 56px !important;
  height: 56px !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  object-fit: cover !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  display: block !important;
  margin: 0 !important;
}
body.woocommerce-cart .shop_table.cart td.product-name {
  flex: 1 1 auto !important;
  min-width: 120px !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
body.woocommerce-cart .shop_table.cart td.product-name a {
  color: var(--solas-link, #385E9B) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
body.woocommerce-cart .shop_table.cart td.product-name a:hover {
  color: var(--solas-link, #385E9B) !important;
}
body.woocommerce-cart .shop_table.cart td.product-price,
body.woocommerce-cart .shop_table.cart td.product-subtotal {
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  min-width: 70px !important;
  text-align: right !important;
}
body.woocommerce-cart .shop_table.cart td.product-quantity {
  flex: 0 0 auto !important;
}
body.woocommerce-cart .shop_table.cart td.product-quantity input.qty {
  width: 60px !important;
  padding: 6px 8px !important;
  border: 1.5px solid var(--solas-input-border, #EDEDED) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-align: center !important;
  background: white !important;
  transition: border-color 0.2s ease !important;
}
body.woocommerce-cart .shop_table.cart td.product-quantity input.qty:focus {
  border-color: var(--solas-focus-ring, #3B82F6) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.12) !important;
}

/* Coupon row - framed card */
body.woocommerce-cart .shop_table.cart tr.cart_item + tr,
body.woocommerce-cart .shop_table.cart tr:has(.coupon),
body.woocommerce-cart .shop_table.cart .actions {
  background: white !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  margin-top: 10px !important;
  padding: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.woocommerce-cart .shop_table.cart .actions > td,
body.woocommerce-cart .shop_table.cart tr.cart_item + tr > td {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .coupon {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  flex: 1 !important;
}
body.woocommerce-cart #coupon_code {
  flex: 1 !important;
  padding: 10px 14px !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  background: white !important;
  transition: border-color 0.2s ease !important;
}
body.woocommerce-cart #coupon_code:focus {
  border-color: var(--solas-focus-ring, #3B82F6) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.12) !important;
}
body.woocommerce-cart .coupon button[name="apply_coupon"],
body.woocommerce-cart .coupon .button {/* solas-size: small */
  background: var(--solas-btn-fill, #0B2349) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-sm, 12px 16px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 3px 10px -2px rgba(59,130,246,0.4) !important;
  white-space: nowrap !important;
}
body.woocommerce-cart .coupon button[name="apply_coupon"]:hover,
body.woocommerce-cart .coupon .button:hover {
  background: var(--solas-btn-hover, #1D3E72) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 14px -2px rgba(52,104,168,0.45) !important;
}

/* Hide the standard "Update cart" button (rarely needed with auto-update) */
body.woocommerce-cart button[name="update_cart"] {
  display: none !important;
}

/* Cart totals - framed card */
body.woocommerce-cart .cart_totals {
  background: white !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 18px !important;
  font-family: Inter, sans-serif !important;
}
body.woocommerce-cart .cart_totals h2 {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #f0ebe0 !important;
}
body.woocommerce-cart .cart_totals table {
  border: none !important;
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
}
body.woocommerce-cart .cart_totals table tr {
  border: none !important;
}
body.woocommerce-cart .cart_totals table tr th,
body.woocommerce-cart .cart_totals table tr td {
  border: none !important;
  padding: 10px 0 !important;
  background: transparent !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
}
body.woocommerce-cart .cart_totals table tr th {
  color: #888 !important;
  font-weight: 400 !important;
}
body.woocommerce-cart .cart_totals table tr td {
  color: #1a1a1a !important;
  font-weight: 500 !important;
  text-align: right !important;
}
body.woocommerce-cart .cart_totals table tr.order-total {
  border-top: 2px solid var(--solas-hairline, #DFE5EC) !important;
}
body.woocommerce-cart .cart_totals table tr.order-total th {
  font-size: 14px !important;
  color: #1a1a1a !important;
  font-weight: 500 !important;
  padding-top: 16px !important;
}
body.woocommerce-cart .cart_totals table tr.order-total td,
body.woocommerce-cart .cart_totals table tr.order-total td * {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  padding-top: 16px !important;
}

/* Proceed to Checkout button */
body.woocommerce-cart .wc-proceed-to-checkout {
  padding-top: 18px !important;
}
body.woocommerce-cart a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.button {/* solas-size: large */
  background: var(--solas-btn-fill, #0B2349) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-lg, 16px 24px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 6px 18px -4px rgba(59,130,246,0.5) !important;
}
body.woocommerce-cart a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.button:hover {
  background: var(--solas-btn-hover, #1D3E72) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px -4px rgba(52,104,168,0.55) !important;
}

/* CART-CHECKOUT-BUTTON-BR-FIX - hides a stray <br> that pushed the button label onto a 2nd line */
body.woocommerce-cart a.checkout-button br,
body.woocommerce-cart .wc-proceed-to-checkout a.button br {
  display: none !important;
}

/* Shipping calculator inside cart totals */
body.woocommerce-cart .cart_totals .shipping-calculator-button,
body.woocommerce-cart .cart_totals a {
  color: var(--solas-link, #385E9B) !important;
}
body.woocommerce-cart .cart_totals .shipping-calculator-button:hover,
body.woocommerce-cart .cart_totals a:hover {
  color: var(--solas-link, #385E9B) !important;
}

/* Mobile responsive */
@media (max-width: 600px) {
  body.woocommerce-cart .shop_table.cart tr.cart_item {
    flex-wrap: wrap !important;
  }
  body.woocommerce-cart .shop_table.cart td.product-name {
    flex: 1 0 60% !important;
  }
}

/* SOLAS-MYACCOUNT-FRAMED-COMPOUND — /my-account/ redesign matching Featured Compounds aesthetic */

/* Strip the old blue UL background, set the menu list as an off-white framed box */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: transparent !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  background: #F4F8FD !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 16px !important;
  margin: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

/* Each menu item is a white card */
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  background: #ffffff !important;
  border: 1px solid rgba(59, 130, 246, 0.10) !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  margin-bottom: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.18) !important;
}

/* Anchor fills the whole card so the click target is large */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  color: #1f2937 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  transition: color 0.3s ease !important;
}

/* SVG icons (Astra inline icons) take brand blue */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a .ahfb-svg-iconset {
  color: var(--solas-link, #385E9B) !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: color 0.3s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a .ahfb-svg-iconset svg {
  fill: currentColor !important;
  width: 18px !important;
  height: 18px !important;
}

/* Active item: solid brand blue with white text and icon */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: #ffffff !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a .ahfb-svg-iconset {
  color: #ffffff !important;
}

/* Hover text shift to darker brand blue (non-active items only) */
.woocommerce-account .woocommerce-MyAccount-navigation ul li:not(.is-active):hover a {
  color: var(--solas-link, #385E9B) !important;
}

/* Content area framed to match */
.woocommerce-account .woocommerce-MyAccount-content {
  background: #F4F8FD !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 28px 32px !important;
  color: #1f2937 !important;
  line-height: 1.7 !important;
  box-sizing: border-box !important;
}

/* "Hello Solas Science" greeting becomes a heading */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--solas-link, #385E9B) !important;
  margin: 0 0 14px 0 !important;
}

/* Inline links in content area follow the brand-blue → darker-blue hover convention */
.woocommerce-account .woocommerce-MyAccount-content a {
  color: var(--solas-link, #385E9B) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.woocommerce-account .woocommerce-MyAccount-content a:hover {
  color: var(--solas-link, #385E9B) !important;
  text-decoration: underline !important;
}

/* SOLAS-HEADER-BOTTOM-SEPARATOR — Option C: hairline brand-blue + soft drop shadow on the bottom of the white header */
.elementor-location-header {
  border-bottom: 1px solid rgba(59, 130, 246, 0.18) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06) !important;
  position: relative !important;
  z-index: 10 !important;
}


/* AFFILIATE-HERO-BUTTON-CSS */
/* Solid white button on the brand-blue affiliate hero, brand-blue text.
   Injected into the hero via WPCode 7324 marker AFFILIATE-HERO-BUTTON (no slashes to avoid nesting). */
.solas-hero-cta-wrap {
  display: block !important;
  text-align: center !important;
  margin-top: 28px !important;
}
.solas-hero-cta-btn {/* solas-size: large */
  display: inline-block !important;
  background: white !important;
  color: var(--solas-link, #385E9B) !important;
  border: 2px solid white !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-lg, 16px 24px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 4px 14px -4px rgba(0,0,0,0.25) !important;
}
.solas-hero-cta-btn:hover {
  background: var(--solas-btn-hover, #1D3E72) !important;
  color: white !important;
  border-color: white !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px -4px rgba(0,0,0,0.35) !important;
}


/* CONSULT-CTA-CSS */
/* Free consultation callout. Injected on home (under trust pillars) and on contact page (below WPForm) via WPCode 7324 marker CONSULT-CTA. */
.solas-consult-cta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  max-width: 880px !important;
  margin: 36px auto 24px auto !important;
  background: white !important;
  border: 1.5px solid var(--solas-hairline, #DFE5EC) !important;
  border-left: 4px solid #3b82f6 !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: 22px 28px !important;
  box-shadow: 0 4px 16px -8px rgba(0,0,0,0.08) !important;
  font-family: Inter, sans-serif !important;
  box-sizing: border-box !important;
}
.solas-consult-cta__text {
  flex: 1 1 320px !important;
  text-align: left !important;
}
.solas-consult-cta__lead {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
}
.solas-consult-cta__body {
  font-size: 14px !important;
  color: #555 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}
.solas-consult-cta__btn {/* solas-size: large */
  display: inline-block !important;
  flex: 0 0 auto !important;
  background: var(--solas-btn-fill, #0B2349) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  padding: var(--solas-btn-pad-lg, 16px 24px) !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 2px 10px -3px rgba(59,130,246,0.4) !important;
  white-space: nowrap !important;
}
.solas-consult-cta__btn:hover {
  background: var(--solas-btn-hover, #1D3E72) !important;
  color: white !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px -4px rgba(59,130,246,0.55) !important;
}


/* BUNDLE-SAVINGS-BADGE-CSS */
/* Green "Save $X (Y% off)" pill that appears under the price on Research Bundle
   product pages. Paired with marker BUNDLE-SAVINGS-BADGE (no slashes to avoid
   nested-comment trap) in WPCode 7324. */

body .solas-savings-badge,
body.single-product .solas-savings-badge {
  display: inline-block !important;
  margin: 6px 0 12px 0 !important;
  padding: 5px 12px !important;
  background: #e6f7ec !important;
  color: #1f7a3a !important;
  border: 1px solid #b8e3c6 !important;
  border-radius: 999px !important;
  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}


/* RETA-LANDING-CSS — Reta Research landing page (page id 7425) only */

/* Hide global announcement bar on this page (Canvas still shows it) */
.page-id-7425 .ast-above-header-section,
.page-id-7425 .ast-above-header,
.page-id-7425 .ast-above-header-bar,
.page-id-7425 [data-section="section-above-header-builder"] {
  display: none !important;
}

/* Soften the vial image's dark background via multiply blend on white hero */
.page-id-7425 .elementor-section:first-of-type .elementor-widget-image img {
  mix-blend-mode: multiply;
}

/* Constrain hero content max-width so logo + RUO pill don't fly to viewport edges on desktop */
.page-id-7425 .elementor-section:first-of-type > .elementor-container {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
/* MOBILE-WC-NOTICE-ICON-FIX  ▸ 2026-05-18
   WooCommerce info/message/error notices draw an icon via ::before at
   left:19.5px. A prior CHECKOUT-POLISH rule shrank the text's left padding
   to 16px, so the icon overlapped the first letter. This restores room.
   Specificity (0,2,2) intentionally beats the existing
   body.woocommerce-checkout .woocommerce-info rule (0,2,1). */
body.woocommerce-checkout div.woocommerce-info,
body.woocommerce-checkout div.woocommerce-message,
body.woocommerce-checkout div.woocommerce-error {
  padding-left: 44px !important;
}
/* CHECKOUT-ORDER-REVIEW-NO-STICKY  ▸ 2026-05-18
   Astra pins #ast-order-review-wrapper as position:sticky via an inline style.
   The visible "Your order" box hangs ~373px below that zero-height anchor and
   overlaps the footer at the bottom of the page. Making it static = the box
   sits in normal column flow and can never reach the footer. */
#ast-order-review-wrapper {
  position: static !important;
}

/* HEADER-CART-ICON-COLOR — header cart matches brand blue */
.elementor-element-35747e1 .hfe-cart-count,
.elementor-element-35747e1 .hfe-cart-count::before,
.elementor-element-35747e1 .hfe-cart-count::after,
.elementor-element-35747e1 .hfe-site-header-cart,
.elementor-element-35747e1 .hfe-site-header-cart * {
  color: var(--solas-link, #385E9B) !important;
  border-color: #3b82f6 !important;
}

/* CONTACT-LEFT-COLUMN-BOX - frames the left contact-info column to match the form card on the right */
.elementor-element-552cc7f > .elementor-widget-wrap {
  width: calc(100% - 30px) !important;
  background-color: #ffffff !important;
  border-radius: var(--solas-radius-rect, 4px) !important;
  box-shadow: 0 0 10px 0 rgba(0,0,0,0.11) !important;
  padding: 30px !important;
  align-content: flex-start !important;
  align-self: flex-start !important;
}
@media (max-width: 767px) {
  .elementor-element-552cc7f > .elementor-widget-wrap {
    width: 100% !important;
  }
}

/* PRODUCT-HERO-MATCH - shop hero gets the Contact hero blue gradient + entrance animation (accent + subtitle are injected via WPCode 7324 marker PRODUCT-HERO-MATCH) */
.elementor-element-99a4a25 {
  background-color: #ffffff !important;
  background-image: linear-gradient(rgba(52,104,168,0.15) 0%, rgba(52,104,168,0.65) 100%) !important;
}
.elementor-element-99a4a25 > .elementor-background-overlay {
  background: transparent !important;
}
.elementor-element-99a4a25 .elementor-motion-effects-layer {
  display: none !important;
}
.elementor-element-0879bcb .elementor-heading-title {
  letter-spacing: -0.01em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.25);
  opacity: 0;
  animation: solas-hero-fade 0.9s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}


/* SINGLE-PRODUCT-BLUE-GLOSS — cream product-page boxes (#F4F8FD) -> clean blue gloss (Sawyer req 2026-06-07) */
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; /* swatch */
  border-color: var(--solas-hairline, #DFE5EC) !important;
}
body.single-product .solas-trust-strip,
body.single-product .related.products ul.products > li {
  background: #F4F8FD !important;
}


/* GALLERY-FLASH-FIX (2026-07-23): show product photo immediately instead of waiting for gallery JS. Remove this block to revert. */
.woocommerce-product-gallery{opacity:1 !important;}
