/* GenoPept Footer */

/* ── Core ── */
.gp-footer, .gp-footer * { box-sizing:border-box; }
.site-footer, .footer, footer { background:#0f0f11!important; }
.gp-footer {
  background:#0f0f11;
  font-family:'Poppins',sans-serif;
  color:rgba(255,255,255,.55);
  line-height:1.7;
  width:100%;
  -webkit-font-smoothing:antialiased;
}

/* ── Main 4-col grid ── */
.gp-footer-main {
  display:grid!important;
  grid-template-columns:1.6fr 1fr 1fr 1fr!important;
  gap:0!important;
  padding:64px 48px 56px!important;
  max-width:1300px!important;
  margin:0 auto!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
}

/* ── Brand column ── */
.gp-footer-brand { padding-right:48px; }
.gp-footer-logo {
  font-family:'Inter',sans-serif!important;
  font-size:1.25rem!important; font-weight:800!important;
  letter-spacing:.22em!important; text-transform:uppercase!important;
  color:#fff!important; margin-bottom:6px!important; display:block!important;
}
.gp-footer-tagline {
  font-family:'Inter',sans-serif!important;
  font-size:10px!important; font-weight:600!important;
  letter-spacing:.18em!important; text-transform:uppercase!important;
  color:rgba(255,255,255,.28)!important; margin-bottom:20px!important; display:block!important;
}
.gp-footer-desc {
  font-size:.82rem!important; color:rgba(255,255,255,.42)!important;
  line-height:1.75!important; margin-bottom:20px!important; max-width:260px!important;
}
.gp-footer-warning {
  display:inline-flex!important; align-items:center!important; gap:8px!important;
  font-family:'Inter',sans-serif!important; font-size:.72rem!important;
  font-weight:600!important; color:rgba(255,255,255,.35)!important;
  letter-spacing:.04em!important;
}

/* ── Nav columns ── */
.gp-footer-col { padding-left:16px; }
.gp-footer-col-title {
  font-family:'Inter',sans-serif!important;
  font-size:10px!important; font-weight:700!important;
  letter-spacing:.2em!important; text-transform:uppercase!important;
  color:#fff!important; margin-bottom:20px!important; display:block!important;
  text-align:left!important;
}
.gp-footer-col ul {
  list-style:none!important;
  margin:0!important; padding:0!important;
  display:flex!important; flex-direction:column!important; gap:0!important;
  text-align:left!important;
}
.gp-footer-col ul li { text-align:left!important; }
.gp-footer-col ul li a {
  display:block!important;
  font-family:'Poppins',sans-serif!important;
  font-size:.82rem!important;
  color:rgba(255,255,255,.62)!important;
  text-decoration:none!important;
  padding:5px 0!important;
  transition:color .18s, padding-left .18s!important;
  text-align:left!important;
}
.gp-footer-col ul li a:hover { color:#fff!important; padding-left:6px!important; }

/* ── Badges ticker row ── */
.gp-footer-badges {
  display:flex!important; flex-wrap:wrap!important;
  gap:10px!important; padding:22px 48px!important;
  max-width:1300px!important; margin:0 auto!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
}
.gp-footer-badge-item {
  display:inline-flex!important; align-items:center!important;
  gap:7px!important; font-family:'Inter',sans-serif!important;
  font-size:10px!important; font-weight:600!important;
  letter-spacing:.1em!important; text-transform:uppercase!important;
  color:rgba(255,255,255,.35)!important;
  padding:6px 14px!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:20px!important;
}
.gp-footer-badge-dot {
  width:5px!important; height:5px!important; border-radius:50%!important;
  background:#1a6fc4!important; flex-shrink:0!important;
}

/* ── Disclaimer block ── */
.gp-footer-disclaimer-block {
  max-width:1300px!important; margin:0 auto!important;
  padding:20px 48px!important;
  border-bottom:1px solid rgba(255,255,255,.05)!important;
}
.gp-footer-disclaimer-title {
  font-family:'Inter',sans-serif!important; font-size:9px!important;
  font-weight:700!important; letter-spacing:.18em!important;
  text-transform:uppercase!important; color:rgba(255,255,255,.2)!important;
  margin-bottom:8px!important;
}
.gp-footer-disclaimer-text {
  font-family:'Poppins',sans-serif!important; font-size:.72rem!important;
  color:rgba(255,255,255,.18)!important; line-height:1.65!important;
  max-width:860px!important;
}

/* ── Bottom bar ── */
.gp-footer-bottom {
  max-width:1300px!important; margin:0 auto!important;
  padding:18px 48px!important;
  display:flex!important; align-items:center!important;
  justify-content:space-between!important; flex-wrap:wrap!important; gap:16px!important;
}
.gp-footer-copy {
  font-family:'Inter',sans-serif!important; font-size:.72rem!important;
  color:rgba(255,255,255,.22)!important; letter-spacing:.03em!important;
}
.gp-footer-bottom-links {
  display:flex!important; flex-direction:row!important;
  gap:20px!important; flex-wrap:wrap!important;
}
.gp-footer-bottom-links a {
  font-family:'Inter',sans-serif!important; font-size:.7rem!important;
  color:rgba(255,255,255,.28)!important; text-decoration:none!important;
  letter-spacing:.04em!important; transition:color .18s!important;
  display:inline!important;
}
.gp-footer-bottom-links a:hover { color:rgba(255,255,255,.7)!important; }

/* ── Mobile ── */
@media(max-width:900px) {
  .gp-footer-main { grid-template-columns:1fr!important; padding:40px 24px 36px!important; }
  .gp-footer-brand { padding-right:0!important; margin-bottom:32px!important; }
  .gp-footer-col { padding-left:0!important; margin-bottom:24px!important; }
  .gp-footer-badges { padding:16px 24px!important; }
  .gp-footer-bottom { padding:14px 24px!important; flex-direction:column!important; align-items:flex-start!important; }
}

/* Remove white line between footer sections */
.gp-footer-main { border-top: none !important; border-bottom: none !important; }
.gp-footer-badges { border-top: none !important; border-bottom: none !important; }

/* END GenoPept Footer */

/* GENOPEPT HEADER */
.main-header-bar, .ast-primary-header-bar, #masthead {
  background: #0f0f11 !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.site-header { background: #0f0f11 !important; }
.main-header-bar .ast-nav-menu > li > a,
.main-header-bar .ast-menu-toggle,
.ast-primary-header-bar .ast-nav-menu > li > a {
  color: rgba(255,255,255,0.75) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.main-header-bar .ast-nav-menu > li > a:hover,
.ast-primary-header-bar .ast-nav-menu > li > a:hover { color: #ffffff !important; }
.ast-above-header-bar { background: #0f0f11 !important; border-bottom: 1px solid rgba(255,255,255,.05) !important; }
.ast-above-header-bar * { color: rgba(255,255,255,0.45) !important; font-size: 11px !important; letter-spacing: 0.08em !important; }
/* END GENOPEPT HEADER */








/* GENOPEPT ABOUT HERO HEADER OFFSET */

/* .gp-about is OUTSIDE the .gp-about * {padding:0} reset scope,
   so padding-top here is safe and won't be zeroed out. */
.page-id-59 .gp-about,
body.page-id-59 .gp-about {
  padding-top: 160px !important;
  background: #1c1c1e !important;
}

@media (max-width: 768px) {
  .page-id-59 .gp-about,
  body.page-id-59 .gp-about { padding-top: 110px !important; }
}
@media (max-width: 480px) {
  .page-id-59 .gp-about,
  body.page-id-59 .gp-about { padding-top: 150px !important; }
}

/* Dark bg on about page wrappers to eliminate white gap */
body.page-id-59 .entry-content,
body.page-id-59 .site-main,
body.page-id-59 #main { background: #1c1c1e !important; }


/* About page: match header bg to hero to eliminate colour seam */
body.page-id-59 .main-header-bar.ast-primary-header-bar,
body.page-id-59 #masthead.site-header,
body.page-id-59 .site-header#masthead { background: #1c1c1e !important; }
body.page-id-59 .ast-above-header-bar { background: #1c1c1e !important; }

/* END GENOPEPT ABOUT HERO HEADER OFFSET */








/* GENOPEPT CONTACT FAQ FIX */
button.gc-faq-q {
  font-family: 'Inter', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #f2f5f9 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 20px !important;
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
/* END GENOPEPT CONTACT FAQ FIX */


/* GENOPEPT FAQS PAGE */
.page-id-3667 .entry-header,.page-id-3667 h1.entry-title,.page-id-3667 .page-header{display:none!important}
.page-id-3667 .entry-content{padding-top:0!important;margin-top:0!important}
.faq-search{width:100%!important;padding:14px 44px 14px 46px!important;font-family:'Poppins',sans-serif!important;font-size:.9rem!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:10px!important;color:#ffffff!important;outline:none!important;-webkit-appearance:none!important;box-shadow:none!important}
.faq-search::placeholder{color:rgba(255,255,255,.35)!important}
.faq-search:focus{background:rgba(255,255,255,.1)!important;border-color:rgba(26,111,196,.6)!important;box-shadow:none!important}
.faq-cat{font-family:'Inter',sans-serif!important;font-size:11px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding:9px 18px!important;border:1.5px solid rgba(255,255,255,.10)!important;border-radius:20px!important;background:#12161e!important;color:#c3ccd9!important;cursor:pointer!important;white-space:nowrap!important;box-shadow:none!important}
.faq-cat:hover{border-color:#1a6fc4!important;color:hsl(210, 77%, 66%)!important;background:#12161e!important}
.faq-cat.on{background:#1a6fc4!important;border-color:#1a6fc4!important;color:#ffffff!important}
.faq-q{background:transparent!important;background-color:transparent!important;color:#f2f5f9!important;text-transform:none!important;letter-spacing:normal!important;font-size:.9rem!important;font-weight:600!important;font-family:'Inter',sans-serif!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:20px 24px!important;width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;cursor:pointer!important}
.faq-q:hover{background:rgba(26,111,196,.03)!important;color:#f2f5f9!important}
.faq-item.open .faq-q{background:transparent!important}
.faq-sc{text-transform:none!important;letter-spacing:normal!important}
/* END GENOPEPT FAQS PAGE */


/* GENOPEPT SHIPPING PAGE */
.page-id-3675 .entry-header,.page-id-3675 h1.entry-title,.page-id-3675 .page-header{display:none!important}
.page-id-3675 .entry-content{padding-top:0!important;margin-top:0!important}
.si-badge{display:inline-flex!important;align-items:center!important;gap:5px!important;font-family:'Inter',sans-serif!important;font-size:.7rem!important;font-weight:600!important;letter-spacing:.07em!important;text-transform:uppercase!important;padding:3px 9px!important;border-radius:10px!important;text-decoration:none!important;cursor:default!important;width:auto!important;margin:0!important;box-shadow:none!important}
.si-badge-g{background:rgba(34,197,94,.1)!important;color:hsl(142, 72%, 66%)!important;border:1px solid rgba(34,197,94,.25)!important}
.si-badge-b{background:rgba(26,111,196,.1)!important;color:hsl(210, 77%, 66%)!important;border:1px solid rgba(26,111,196,.25)!important}
.si-table{display:block!important;border:none!important}
.si-table thead{display:none!important}
.si-table tbody{display:flex!important;flex-direction:column!important;gap:10px!important}
.si-table tr{display:flex!important;flex-direction:column!important;background:var(--of,#0b0d12)!important;border:1px solid var(--bo,rgba(255,255,255,.10))!important;border-radius:9px!important;padding:14px 16px!important;gap:6px!important}
.si-table td{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:4px 0!important;border:none!important;font-size:.83rem!important;border-bottom:1px solid var(--bo,rgba(255,255,255,.10))!important}
.si-table td:last-child{border-bottom:none!important}
.si-table td::before{content:attr(data-label)!important;font-family:'Inter',sans-serif!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(255,255,255,0.66)!important;flex-shrink:0!important;margin-right:8px!important}
@media(min-width:641px){.si-table{display:table!important;width:100%!important;border-collapse:collapse!important}.si-table thead{display:table-header-group!important}.si-table tbody{display:table-row-group!important;flex-direction:unset!important;gap:0!important}.si-table tr{display:table-row!important;flex-direction:unset!important;background:transparent!important;border:none!important;padding:0!important;gap:0!important}.si-table td{display:table-cell!important;padding:13px 14px!important;border-bottom:1px solid var(--bo,rgba(255,255,255,.10))!important;flex-direction:unset!important}.si-table td::before{display:none!important}}
/* END GENOPEPT SHIPPING PAGE */

/* GENOPEPT SHOP */

/* ─── Page ─── */
body.woocommerce-shop .site-main { background:#f2f3f5!important; }
body.woocommerce-shop .site-content .ast-container { padding-top:72px!important; }
body.woocommerce-shop .widget-area,
body.woocommerce-shop .content-area { margin-top:0!important; }

/* ─── Breadcrumb ─── */
.woocommerce-breadcrumb { font-family:'Inter',sans-serif!important; font-size:11px!important; font-weight:500!important; color:rgba(0,0,0,.38)!important; padding:0 0 18px!important; margin:0!important; }
.woocommerce-breadcrumb a { color:#1a6fc4!important; text-decoration:none!important; }

/* ─── Result count + sort ─── */
.woocommerce-result-count { font-family:'Inter',sans-serif!important; font-size:12px!important; color:rgba(0,0,0,.4)!important; font-weight:500!important; }
.woocommerce-ordering select { font-family:'Inter',sans-serif!important; font-size:12px!important; font-weight:600!important; border:1px solid #e5e7eb!important; border-radius:7px!important; padding:8px 14px!important; background:#fff!important; color:#111!important; }

/* ─── Product grid ─── */
ul.products { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:20px!important; margin:0!important; padding:0!important; list-style:none!important; }
@media(max-width:900px){ ul.products { grid-template-columns:repeat(2,1fr)!important; } }
@media(max-width:560px){ ul.products { grid-template-columns:1fr!important; } }

/* ─── Product card ─── */
li.product { background:#fff!important; border:1px solid #e5e7eb!important; border-radius:14px!important; overflow:hidden!important; padding:0!important; margin:0!important; display:flex!important; flex-direction:column!important; transition:box-shadow .25s,transform .25s,border-color .25s!important; position:relative!important; }
li.product:hover { box-shadow:0 10px 36px rgba(0,0,0,.1)!important; transform:translateY(-3px)!important; border-color:rgba(26,111,196,.35)!important; }

/* ─── Image ─── */
.astra-shop-thumbnail-wrap { background:#f8f9fb!important; overflow:hidden!important; display:block!important; flex-shrink:0!important; }
.astra-shop-thumbnail-wrap img { width:100%!important; height:210px!important; object-fit:contain!important; padding:24px!important; background:#f8f9fb!important; display:block!important; transition:transform .4s!important; }
li.product:hover .astra-shop-thumbnail-wrap img { transform:scale(1.04)!important; }
.ast-on-card-button { display:none!important; }

/* ─── Summary ─── */
.astra-shop-summary-wrap { padding:16px 20px 52px!important; display:flex!important; flex-direction:column!important; flex:1!important; position:static!important; }

/* ─── Category label ─── */
li.product .ast-woo-product-category { font-family:'Inter',sans-serif!important; font-size:10px!important; font-weight:700!important; letter-spacing:.14em!important; text-transform:uppercase!important; color:#1a6fc4!important; display:block!important; margin-bottom:4px!important; }

/* ─── Title ─── */
li.product .woocommerce-loop-product__title, li.product h2 { font-family:'Inter',sans-serif!important; font-size:1.05rem!important; font-weight:800!important; color:#111!important; margin:0 0 6px!important; padding:0!important; line-height:1.25!important; }

/* ─── Price ─── */
li.product .price { font-family:'Inter',sans-serif!important; font-size:.85rem!important; font-weight:600!important; color:rgba(0,0,0,.45)!important; margin-bottom:12px!important; padding:0!important; }
li.product .price .woocommerce-Price-amount { color:#111!important; font-weight:700!important; }

/* ─── Swatches ─── */
li.product .variable-items-wrapper { display:flex!important; flex-wrap:wrap!important; gap:6px!important; margin-bottom:16px!important; }
li.product .variable-items-wrapper .button-variable-item { font-family:'Inter',sans-serif!important; font-size:10px!important; font-weight:700!important; border:1.5px solid #e5e7eb!important; border-radius:5px!important; padding:5px 10px!important; background:#fff!important; color:#3a3a3c!important; cursor:pointer!important; transition:all .18s!important; }
li.product .variable-items-wrapper .button-variable-item:hover { border-color:#1a6fc4!important; color:#1a6fc4!important; }
li.product .variable-items-wrapper .button-variable-item.selected,
li.product .variable-items-wrapper .button-variable-item.chosen { border-color:#1a6fc4!important; background:#1a6fc4!important; color:#fff!important; }

/* ─── Real add-to-cart button for simple products ─── */
li.product.product-type-simple .gp-add-to-cart {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  background: #1a6fc4 !important; color: #fff !important;
  text-decoration: none !important;
  padding: 16px 0 !important; cursor: pointer !important;
  transition: background .2s !important;
  border: none !important; width: 100% !important; box-sizing: border-box !important;
}
li.product.product-type-simple .gp-add-to-cart:hover { background: #145aa0 !important; }
li.product.product-type-simple .gp-add-to-cart.loading { opacity: .7 !important; }
li.product.product-type-simple .gp-add-to-cart.added { background: #16a34a !important; }
/* Hide the ::after fake button on simple products — use real button instead */
li.product.product-type-simple .astra-shop-summary-wrap::after { display: none !important; }

/* ─── CTA button ─── */
.astra-shop-summary-wrap::after {
  content: 'Select Options' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  display: block !important;
  text-align: center !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: #1c1c1e !important;
  color: #fff !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  cursor: pointer !important;
}
li.product:hover .astra-shop-summary-wrap::after { background:#1a6fc4!important; color:#fff!important; }

/* ─── Link colours — product area only ─── */
li.product a { color:#111!important; }
li.product a:hover { color:#1a6fc4!important; }

/* ─── Sidebar ─── */
.widget-area { padding-right:28px!important; }
.widget-area .widget { background:#fff!important; border:1px solid #e5e7eb!important; border-radius:10px!important; padding:18px!important; margin-bottom:14px!important; }
.widget-area .widget-title { font-family:'Inter',sans-serif!important; font-size:10px!important; font-weight:700!important; letter-spacing:.15em!important; text-transform:uppercase!important; color:#111!important; margin-bottom:12px!important; padding-bottom:10px!important; border-bottom:1px solid #f0f0f0!important; }
.widget_product_search input[type="search"] { font-family:'Poppins',sans-serif!important; font-size:13px!important; border:1px solid #e5e7eb!important; border-radius:6px!important; padding:9px 14px!important; background:#f8f9fb!important; color:#111!important; width:100%!important; outline:none!important; }
.widget_product_search button { font-family:'Inter',sans-serif!important; font-size:11px!important; font-weight:700!important; background:#1a6fc4!important; color:#fff!important; border:none!important; border-radius:6px!important; padding:9px 14px!important; cursor:pointer!important; margin-top:8px!important; width:100%!important; }
.price_slider_wrapper .ui-slider { background:#e5e7eb!important; border:none!important; height:4px!important; border-radius:4px!important; margin:8px 0 16px!important; }
.price_slider_wrapper .ui-slider .ui-slider-range { background:#1a6fc4!important; }
.price_slider_wrapper .ui-slider .ui-slider-handle { background:#fff!important; border:2px solid #1a6fc4!important; border-radius:50%!important; width:16px!important; height:16px!important; top:-6px!important; outline:none!important; }
.price_slider_amount .button { font-family:'Inter',sans-serif!important; font-size:11px!important; font-weight:700!important; background:#1a6fc4!important; color:#fff!important; border:none!important; border-radius:5px!important; padding:7px 14px!important; cursor:pointer!important; letter-spacing:.06em!important; text-transform:uppercase!important; }
.price_slider_amount .price_label { font-family:'Inter',sans-serif!important; font-size:12px!important; color:rgba(0,0,0,.45)!important; }
.widget_product_categories ul { list-style:none!important; padding:0!important; margin:0!important; }
.widget_product_categories li { padding:6px 0!important; border-bottom:1px solid #f5f5f5!important; display:flex!important; align-items:center!important; justify-content:space-between!important; }
.widget_product_categories li:last-child { border-bottom:none!important; }
.widget_product_categories a { font-family:'Inter',sans-serif!important; font-size:13px!important; font-weight:500!important; color:#3a3a3c!important; text-decoration:none!important; }
.widget_product_categories a:hover { color:#1a6fc4!important; }
.widget_product_categories .count { font-size:11px!important; color:rgba(0,0,0,.35)!important; background:#f2f3f5!important; border-radius:10px!important; padding:2px 8px!important; }

/* ─── Best sellers ─── */
.widget_top_rated_products .product_list_widget { list-style:none!important; padding:0!important; margin:0!important; }
.widget_top_rated_products .product_list_widget li { display:flex!important; align-items:center!important; gap:0!important; padding:9px 0!important; border-bottom:1px solid #f0f0f0!important; }
.widget_top_rated_products .product_list_widget li:last-child { border-bottom:none!important; }
.widget_top_rated_products .product_list_widget li > span { display:none!important; }
.widget_top_rated_products .product_list_widget li > a { display:flex!important; align-items:center!important; gap:10px!important; flex:1!important; min-width:0!important; overflow:visible!important; text-decoration:none!important; }
.widget_top_rated_products .product_list_widget li > a > img { width:40px!important; height:40px!important; flex:0 0 40px!important; min-width:40px!important; position:static!important; transform:none!important; object-fit:contain!important; border-radius:5px!important; border:1px solid #e5e7eb!important; background:#f8f9fb!important; }
.widget_top_rated_products .product_list_widget .product-title { font-family:'Inter',sans-serif!important; font-size:12px!important; font-weight:600!important; color:#111!important; line-height:1.35!important; flex:1 1 auto!important; min-width:0!important; overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important; display:block!important; }
.widget_top_rated_products del, .widget_top_rated_products .screen-reader-text { display:none!important; }

/* END GENOPEPT SHOP */


/* GENOPEPT PRODUCT PAGE */

/* ─── Page background ─── */
body.single-product .site-main { background:#f2f3f5!important; }

/* ─── Constrain and centre the product area ─── */
body.single-product .ast-woocommerce-container {
  max-width:1200px!important;
  margin:0 auto!important;
  padding:100px 32px 64px!important;
}

/* ─── Two-column grid: override WooCommerce float layout ─── */
body.single-product div.product {
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:56px!important;
  align-items:start!important;
  float:none!important;
  width:100%!important;
}

/* ─── Gallery: clear float, fill column ─── */
body.single-product .woocommerce-product-gallery {
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  border-radius:16px!important;
  overflow:hidden!important;
  padding:28px!important;
  box-sizing:border-box!important;
  grid-column:1!important;
  grid-row:1!important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  margin:0!important;
}
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery img {
  width:100%!important;
  height:auto!important;
  max-height:460px!important;
  object-fit:contain!important;
  display:block!important;
}

/* ─── Summary: clear float, fill column ─── */
body.single-product .summary.entry-summary {
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  clear:none!important;
  grid-column:2!important;
  grid-row:1!important;
  padding:0!important;
}

/* ─── Category label ─── */
body.single-product .posted_in,
body.single-product .posted_in a {
  font-family:'Inter',sans-serif!important;
  font-size:10px!important; font-weight:700!important;
  letter-spacing:.14em!important; text-transform:uppercase!important;
  color:#1a6fc4!important; text-decoration:none!important;
  display:block!important; margin-bottom:8px!important;
}

/* ─── Title ─── */
body.single-product .product_title {
  font-family:'Inter',sans-serif!important;
  font-size:clamp(2rem,3vw,2.8rem)!important;
  font-weight:900!important; color:#111!important;
  letter-spacing:-.03em!important; line-height:1.05!important;
  margin:0 0 12px!important; padding:0!important;
}

/* ─── Price ─── */
body.single-product .summary .price {
  font-family:'Inter',sans-serif!important;
  font-size:1.1rem!important; font-weight:700!important;
  color:#111!important; margin:0 0 16px!important;
  display:block!important;
}
body.single-product .summary .price .woocommerce-Price-amount { color:#111!important; }

/* ─── Short description ─── */
body.single-product .woocommerce-product-details__short-description {
  font-family:'Poppins',sans-serif!important;
  font-size:.875rem!important; color:#3a3a3c!important;
  line-height:1.8!important; margin-bottom:20px!important;
}
body.single-product .woocommerce-product-details__short-description p { margin-bottom:10px!important; }
body.single-product .woocommerce-product-details__short-description strong { color:#111!important; }

/* ─── Swatches ─── */
body.single-product .variable-items-wrapper {
  display:flex!important; flex-wrap:wrap!important;
  gap:7px!important; margin-bottom:20px!important;
}
body.single-product .variable-items-wrapper .button-variable-item {
  font-family:'Inter',sans-serif!important;
  font-size:10px!important; font-weight:700!important;
  letter-spacing:.04em!important;
  border:1.5px solid #e5e7eb!important; border-radius:6px!important;
  padding:6px 13px!important; background:#fff!important;
  color:#3a3a3c!important; cursor:pointer!important;
  transition:all .18s!important;
}
body.single-product .variable-items-wrapper .button-variable-item:hover { border-color:#1a6fc4!important; color:#1a6fc4!important; }
body.single-product .variable-items-wrapper .button-variable-item.selected,
body.single-product .variable-items-wrapper .button-variable-item.chosen {
  border-color:#1a6fc4!important; background:#1a6fc4!important; color:#fff!important;
}

/* ─── Qty + Add to basket ─── */
body.single-product form.cart {
  display:flex!important; gap:10px!important;
  align-items:stretch!important; margin-bottom:20px!important;
}
body.single-product .woocommerce-variation-add-to-cart {
  display:flex!important; gap:10px!important;
  align-items:stretch!important;
}
body.single-product .qty {
  font-family:'Inter',sans-serif!important;
  font-size:.9rem!important; font-weight:600!important;
  width:64px!important; height:50px!important;
  text-align:center!important; background:#fff!important;
  border:1.5px solid #e5e7eb!important; border-radius:8px!important;
  color:#111!important; outline:none!important;
  -webkit-appearance:none!important; box-shadow:none!important;
}
body.single-product .qty:focus { border-color:#1a6fc4!important; }
body.single-product .single_add_to_cart_button {
  flex:1!important;
  font-family:'Inter',sans-serif!important;
  font-size:12px!important; font-weight:700!important;
  letter-spacing:.1em!important; text-transform:uppercase!important;
  background:#1a6fc4!important; color:#fff!important;
  border:none!important; border-radius:8px!important;
  padding:0 28px!important; height:50px!important;
  cursor:pointer!important; transition:background .2s!important;
  box-shadow:none!important; display:flex!important;
  align-items:center!important; justify-content:center!important;
}
body.single-product .single_add_to_cart_button:hover { background:#145aa0!important; }
body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button:disabled {
  background:#9ca3af!important; cursor:not-allowed!important;
}

/* ─── Meta (SKU / Category) ─── */
body.single-product .product_meta {
  font-family:'Inter',sans-serif!important;
  font-size:.78rem!important; color:rgba(0,0,0,.4)!important;
  margin-top:16px!important; padding-top:16px!important;
  border-top:1px solid #e5e7eb!important;
}

/* ─── Tabs ─── */
body.single-product .woocommerce-tabs {
  grid-column:1 / -1!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important; border-radius:14px!important;
  overflow:hidden!important; margin-top:0!important;
  clear:both!important;
}
body.single-product .woocommerce-tabs .tabs {
  display:flex!important; list-style:none!important;
  padding:0!important; margin:0!important;
  border-bottom:1px solid #e5e7eb!important;
  background:#f8f9fb!important;
}
body.single-product .woocommerce-tabs .tabs li {
  margin:0!important; padding:0!important;
  border:none!important; background:transparent!important;
}
body.single-product .woocommerce-tabs .tabs li a {
  font-family:'Inter',sans-serif!important;
  font-size:11px!important; font-weight:600!important;
  letter-spacing:.08em!important; text-transform:uppercase!important;
  color:rgba(0,0,0,.45)!important; padding:14px 24px!important;
  display:block!important; text-decoration:none!important;
  border:none!important; background:transparent!important;
  border-bottom:2px solid transparent!important;
  transition:color .18s,border-color .18s!important;
  border-radius:0!important;
}
body.single-product .woocommerce-tabs .tabs li a:hover { color:#1a6fc4!important; }
body.single-product .woocommerce-tabs .tabs li.active a {
  color:#1a6fc4!important;
  border-bottom:2px solid #1a6fc4!important;
}
body.single-product .woocommerce-tabs .panel { padding:32px 36px!important; }
body.single-product .woocommerce-tabs .panel h2 {
  font-family:'Inter',sans-serif!important;
  font-size:1.1rem!important; font-weight:800!important;
  color:#111!important; margin:0 0 16px!important;
}
body.single-product .woocommerce-tabs .panel p {
  font-family:'Poppins',sans-serif!important;
  font-size:.875rem!important; color:#3a3a3c!important;
  line-height:1.82!important; margin-bottom:12px!important;
}
body.single-product .woocommerce-tabs .panel h3 {
  font-family:'Inter',sans-serif!important;
  font-size:.95rem!important; font-weight:700!important;
  color:#111!important; margin:20px 0 8px!important;
}
body.single-product .woocommerce-tabs .panel li {
  font-family:'Poppins',sans-serif!important;
  font-size:.875rem!important; color:#3a3a3c!important;
  line-height:1.75!important; margin-bottom:4px!important;
}

/* ─── Related products ─── */
body.single-product .related.products {
  grid-column:1 / -1!important; margin-top:0!important;
}
body.single-product .related.products > h2 {
  font-family:'Inter',sans-serif!important;
  font-size:1.1rem!important; font-weight:800!important;
  color:#111!important; margin-bottom:20px!important;
}

/* ─── Link colour override — scoped to product content only ─── */
body.single-product .ast-woocommerce-container a { color:#111!important; }
body.single-product .ast-woocommerce-container a:hover { color:#1a6fc4!important; }
/* Protect header nav on product page */
body.single-product .main-header-bar a,
body.single-product .ast-primary-header-bar a { color:rgba(255,255,255,.75)!important; }
body.single-product .main-header-bar a:hover { color:#ffffff!important; }
/* Cart icon — force white on all pages + mobile */
.ast-addon-cart-wrap,
.ast-addon-cart-wrap *,
.ast-header-woo-cart,
.ast-header-woo-cart a,
.ast-header-woo-cart .ast-icon,
.ast-header-woo-cart svg,
.ast-site-header-cart,
.ast-site-header-cart a,
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart .ast-woo-header-cart-info-wrap,
.ast-site-header-cart .ast-icon,
.ast-site-header-cart svg,
.ast-mobile-header-wrap .ast-header-woo-cart,
.ast-mobile-header-wrap .ast-header-woo-cart a,
.ast-mobile-header-wrap .ast-header-woo-cart svg,
.ast-mobile-header-wrap .ast-site-header-cart,
.ast-mobile-header-wrap .ast-site-header-cart a,
.ast-mobile-header-wrap .ast-site-header-cart svg,
.ast-header-break-point .ast-header-woo-cart,
.ast-header-break-point .ast-header-woo-cart a,
.ast-header-break-point .ast-header-woo-cart svg,
.ast-header-break-point .ast-site-header-cart,
.ast-header-break-point .ast-site-header-cart a,
.ast-header-break-point .ast-site-header-cart svg { color:rgba(255,255,255,.75)!important; fill:rgba(255,255,255,.75)!important; }
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart .ast-cart-menu-wrap *,
.ast-mobile-header-wrap .ast-cart-menu-wrap,
.ast-mobile-header-wrap .ast-cart-menu-wrap * { color:rgba(255,255,255,.75)!important; }
.ast-site-header-cart li.ast-icon svg,
.ast-mobile-header-wrap li.ast-icon svg,
.ast-icon svg:not([fill]) { fill:currentcolor!important; }
.ast-header-woo-cart a:hover,
.ast-site-header-cart a:hover { color:#ffffff!important; fill:#ffffff!important; }
.ast-cart-menu-wrap .count,
.ast-mobile-header-wrap .ast-cart-menu-wrap .count { background:#1a6fc4!important; color:#fff!important; border-color:#1a6fc4!important; }
/* Protect footer on product page */
body.single-product .gp-footer a,
body.single-product .gp-footer-col a { color:#a7a7a7!important; }
body.single-product .gp-footer a:hover,
body.single-product .gp-footer-col a:hover { color:#ffffff!important; }
body.single-product .gp-footer-bottom a,
body.single-product .gp-footer-disclaimer a { color:rgba(255,255,255,.3)!important; }
a.added_to_cart {
  font-family:'Inter',sans-serif!important; font-size:11px!important;
  color:#1a6fc4!important; text-decoration:none!important; margin-left:10px!important;
}

/* ─── Mobile ─── */
@media(max-width:768px){
  body.single-product .ast-woocommerce-container { padding:80px 16px 40px!important; }
  body.single-product div.product { grid-template-columns:1fr!important; gap:24px!important; }
  body.single-product .woocommerce-product-gallery { grid-column:1!important; }
  body.single-product .summary.entry-summary { grid-column:1!important; }
  body.single-product .woocommerce-tabs { grid-column:1!important; }
  body.single-product .related.products { grid-column:1!important; }
  body.single-product .woocommerce-tabs .panel { padding:20px!important; }
}



/* GENOPEPT PRODUCT PAGE FIXES */

/* Fix red active tab top bar from Astra */
body.single-product .woocommerce-tabs .tabs li.active::before,
body.single-product .woocommerce-tabs .tabs li::before,
body.single-product .woocommerce-tabs .tabs li.active::after,
body.single-product .woocommerce-tabs .tabs li::after {
  display:none!important;
  background:transparent!important;
  height:0!important;
  content:none!important;
}

/* Tab active: blue bottom border only */
body.single-product .woocommerce-tabs .tabs li.active a {
  color:#1a6fc4!important;
  border-bottom:2px solid #1a6fc4!important;
  background:transparent!important;
}

/* Description tab heading — shrink the massive h2 */
body.single-product .woocommerce-tabs #tab-description h2:first-child {
  font-size:1.1rem!important;
  font-weight:800!important;
  color:#111!important;
  letter-spacing:-.01em!important;
  margin:0 0 16px!important;
}

/* Variations table — make swatches flow above the add-to-cart */
body.single-product table.variations {
  display:block!important;
  width:100%!important;
  border:none!important;
  margin-bottom:16px!important;
}
body.single-product table.variations tbody,
body.single-product table.variations tr {
  display:block!important;
}
body.single-product table.variations td,
body.single-product table.variations th {
  display:block!important;
  padding:0 0 8px!important;
  border:none!important;
}
body.single-product table.variations td.label { display:none!important; }

/* Price in variation wrap */
body.single-product .woocommerce-variation-price { margin-bottom:12px!important; }
body.single-product .woocommerce-variation-price .price {
  font-family:'Inter',sans-serif!important;
  font-size:1.1rem!important; font-weight:700!important; color:#111!important;
}


/* Tab panel h1 (product editor inserts page title as h1 in description) */
body.single-product .woocommerce-tabs .panel h1 {
  font-family:'Inter',sans-serif!important;
  font-size:1.2rem!important;
  font-weight:800!important;
  color:#111!important;
  letter-spacing:-.01em!important;
  line-height:1.3!important;
  margin:0 0 16px!important;
}
/* END GENOPEPT PRODUCT PAGE FIXES */
/* END GENOPEPT PRODUCT PAGE */

/* GENOPEPT MOBILE MENU */

/* Dark popup background */
#ast-mobile-popup-wrapper,
#ast-mobile-popup-wrapper .ast-mobile-popup-inner,
#ast-mobile-popup-wrapper .ast-mobile-popup-content,
#ast-mobile-popup-wrapper .ast-mobile-nav-wrap { background: #0f0f11 !important; }

/* Nav link backgrounds — override white bg from other rules */
#ast-mobile-popup-wrapper .main-navigation li,
#ast-mobile-popup-wrapper .main-navigation li a,
#ast-mobile-popup-wrapper .main-navigation ul li {
  background: transparent !important;
  background-color: transparent !important;
}

/* Nav links */
#ast-mobile-popup-wrapper .main-navigation li a {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.85) !important;
  display: block !important;
  padding: 14px 0 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  letter-spacing: .02em !important;
}
#ast-mobile-popup-wrapper .main-navigation li a:hover { color: #ffffff !important; }

/* Force vertical column layout — override inline-on-mobile flex row */
#ast-mobile-popup-wrapper .main-navigation ul,
#ast-mobile-popup-wrapper .main-navigation ul.ast-nav-menu {
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  width: 100% !important;
}
#ast-mobile-popup-wrapper .main-navigation li {
  display: block !important;
  width: 100% !important;
  list-style: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* Logo — remove Astra's dark SVG colour filter */
.ast-site-identity img,
img.custom-logo,
img.astra-logo-svg,
.site-logo-img img { filter: none !important; -webkit-filter: none !important; }

/* Hide the duplicate secondary nav (right-side header nav) in mobile popup */
#ast-mobile-popup-wrapper .ast-mobile-popup-content > .site-navigation:nth-child(2),
#ast-mobile-popup-wrapper .ast-mobile-popup-content .ast-builder-layout-element:last-child .main-navigation {
  display: none !important;
}

/* Hide user account icon in mobile popup */
#ast-mobile-popup-wrapper .ast-header-account-wrap,
#ast-mobile-popup-wrapper [class*="account"] {
  display: none !important;
}

/* Header popup - ensure proper padding */
#ast-mobile-popup-wrapper .ast-mobile-popup-content {
  padding: 24px 28px !important;
}
#ast-mobile-popup-wrapper .ast-mobile-popup-header {
  padding: 16px 28px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

/* END GENOPEPT MOBILE MENU */









/* FULLWIDTH FIX */
body:has(.rp),
body:has(.pi),
body:has(.disc),
body:has(.cp),
body:has(.pp),
body:has(.tc),
body:has(.si),
body:has(.ruo),
body:has(.gc),
body:has(.faq),
body:has(.coa) { overflow-x: hidden !important; }
body:has(.rp) .ast-container,
body:has(.pi) .ast-container,
body:has(.disc) .ast-container,
body:has(.cp) .ast-container,
body:has(.pp) .ast-container,
body:has(.tc) .ast-container,
body:has(.si) .ast-container,
body:has(.ruo) .ast-container,
body:has(.gc) .ast-container,
body:has(.faq) .ast-container,
body:has(.coa) .ast-container { max-width: 100% !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
body:has(.rp) .content-area,
body:has(.pi) .content-area,
body:has(.disc) .content-area,
body:has(.cp) .content-area,
body:has(.pp) .content-area,
body:has(.tc) .content-area,
body:has(.si) .content-area,
body:has(.ruo) .content-area,
body:has(.gc) .content-area,
body:has(.faq) .content-area,
body:has(.coa) .content-area { max-width: 100% !important; width: 100% !important; margin-top: 0 !important; padding: 0 !important; --wp--style--global--content-size: 100% !important; --wp--custom--ast-content-width-size: 100% !important; }
body:has(.rp) .site-main,
body:has(.pi) .site-main,
body:has(.disc) .site-main,
body:has(.cp) .site-main,
body:has(.pp) .site-main,
body:has(.tc) .site-main,
body:has(.si) .site-main,
body:has(.ruo) .site-main,
body:has(.gc) .site-main,
body:has(.faq) .site-main,
body:has(.coa) .site-main, body:has(.rp) article,
body:has(.pi) article,
body:has(.disc) article,
body:has(.cp) article,
body:has(.pp) article,
body:has(.tc) article,
body:has(.si) article,
body:has(.ruo) article,
body:has(.gc) article,
body:has(.faq) article,
body:has(.coa) article, body:has(.rp) .entry-content,
body:has(.pi) .entry-content,
body:has(.disc) .entry-content,
body:has(.cp) .entry-content,
body:has(.pp) .entry-content,
body:has(.tc) .entry-content,
body:has(.si) .entry-content,
body:has(.ruo) .entry-content,
body:has(.gc) .entry-content,
body:has(.faq) .entry-content,
body:has(.coa) .entry-content { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
/* END FULLWIDTH FIX */

/* CART BADGE FIX */
/* Override the CSS variable that Astra uses for cart badge bg across all header types */
#masthead,
.site-header,
.ast-primary-header-bar,
.ast-mobile-header-wrap,
.ast-header-break-point,
.ast-main-header-wrap { --ast-global-color-2: #1a6fc4 !important; }
/* Belt-and-braces: target every ::after variant Astra uses for cart badge */
i.astra-icon::after,
i.astra-icon.ast-icon-shopping-bag::after,
.ast-site-header-cart i.astra-icon::after,
.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after,
.ast-site-header-cart .ast-addon-cart-wrap .ast-icon-shopping-cart::after,
.ast-mobile-header-wrap i.astra-icon::after,
.ast-mobile-header-wrap .ast-addon-cart-wrap i.astra-icon::after,
.ast-header-break-point i.astra-icon::after,
.ast-header-break-point .ast-addon-cart-wrap i.astra-icon::after,
.ast-addon-cart-wrap i.astra-icon::after,
[class*="ast-cart"] i.astra-icon::after { background-color:#1a6fc4!important; color:#ffffff!important; }
/* END CART BADGE FIX */

/* Fix: cart icon white on mobile store page – all scroll/sticky/transparent states */
.ast-header-break-point .ast-header-woo-cart *,
.ast-header-break-point .ast-site-header-cart *,
.ast-header-break-point .ast-site-header-cart svg path,
.ast-mobile-header-wrap .ast-header-woo-cart *,
.ast-mobile-header-wrap .ast-site-header-cart *,
.ast-mobile-header-wrap .ast-site-header-cart svg path {
  color: rgba(255,255,255,.75) !important;
  fill: rgba(255,255,255,.75) !important;
}

/* ── Shop Card Fixes ── */

/* Suppress Astra's built-in pseudo-element loop button */
.woocommerce ul.products li.product .astra-shop-summary-wrap::after,
.woocommerce ul.products li.product .astra-shop-summary-wrap::before {
  display: none !important;
  content: none !important;
  height: 0 !important;
}

/* Hide variation swatches plugin in loop */
.woocommerce ul.products .cfvsw_variations_form,
.woocommerce ul.products .cfvsw-shop-variations,
.woocommerce ul.products .variations_form { display: none !important; }

/* Hide Astra's loop button element */
.woocommerce ul.products .ast-loop-product__btn { display: none !important; }

/* Equal height cards */
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid #e8e8e8 !important;
  background: #fff !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* Our Add to Cart / Select Options button */
a.gp-atc-btn,
button.gp-atc-btn,
.gp-atc-btn {
  display: block !important;
  width: 100% !important;
  padding: 14px 16px !important;
  background: #1c1c1e !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .2s !important;
  box-sizing: border-box !important;
  margin-top: auto !important;
  line-height: 1.2 !important;
}
a.gp-atc-btn:hover,
button.gp-atc-btn:hover,
.gp-atc-btn:hover {
  background: #1a6fc4 !important;
  color: #ffffff !important;
}
a.gp-atc-btn.gp-added,
button.gp-atc-btn.gp-added { background: #1a6fc4 !important; color: #fff !important; }

/* Hide Astra's pseudo-element loop button (::after on summary wrap) */
.woocommerce ul.products li.product .astra-shop-summary-wrap::after,
.woocommerce ul.products li.product .astra-shop-summary-wrap::before { display: none !important; content: none !important; }

/* Hide variation swatches plugin in loop */
.woocommerce ul.products .cfvsw_variations_form,
.woocommerce ul.products .cfvsw-shop-variations,
.woocommerce ul.products .variations_form { display: none !important; }

/* Hide Astra's own loop button element */
.woocommerce ul.products .ast-loop-product__btn { display: none !important; }

/* Equal height cards */
.woocommerce ul.products li.product { display: flex !important; flex-direction: column !important; }
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* Push our button to bottom of every card */
.woocommerce ul.products li.product .astra-shop-summary-wrap .gp-atc-btn {
  margin-top: auto !important;
}

/* Uniform button height for both a and button */
.woocommerce ul.products .gp-atc-btn {
  line-height: 1 !important;
  padding: 14px 16px !important;
  height: auto !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}

/* Card border */
.woocommerce ul.products li.product {
  border: 1px solid #e8e8e8 !important;
  background: #fff !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
/* Hide variation swatches plugin in loop - useless without product page context */
.woocommerce ul.products .cfvsw_variations_form,
.woocommerce ul.products .cfvsw-shop-variations,
.woocommerce ul.products .variations_form { display: none !important; }

/* Hide Astra's own loop button (we use gp-atc-btn instead) */
.woocommerce ul.products .ast-loop-product__btn { display: none !important; }

/* Equal height cards via flexbox */
.woocommerce ul.products li.product { display: flex; flex-direction: column; }
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* Push button to bottom of every card */
.woocommerce ul.products li.product .astra-shop-summary-wrap .gp-atc-btn {
  margin-top: auto;
  padding-top: 12px;
}

/* Remove top padding gap on summary */
.woocommerce ul.products .astra-shop-summary-wrap { padding-top: 0; }

/* Consistent card border/bg */
.woocommerce ul.products li.product {
  border: 1px solid #e8e8e8;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}

/* Fix: ensure gp-atc-btn text is always white (overrides li.product a rule) */
li.product a.gp-atc-btn,
li.product a.gp-atc-btn:link,
li.product a.gp-atc-btn:visited,
li.product a.gp-atc-btn:hover,
li.product a.gp-atc-btn:active,
.woocommerce ul.products li.product a.gp-atc-btn {
  color: #ffffff !important;
}



/* ── Shop Pagination ── */
.woocommerce-pagination {
  text-align: center;
  margin: 32px 0 16px;
  clear: both;
}
.woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  align-items: center !important;
}
.woocommerce-pagination ul.page-numbers li {
  display: block !important;
  width: auto !important;
  float: none !important;
  flex-shrink: 0 !important;
}
/* Individual page items - use li a / li span selectors to avoid hitting the ul */
.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce-pagination ul.page-numbers li span.page-numbers {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1c1c1e !important;
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: all .15s !important;
  cursor: pointer !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
  background: #f5f5f5 !important;
  border-color: #1a6fc4 !important;
  color: #1a6fc4 !important;
}
.woocommerce-pagination ul.page-numbers li span.page-numbers.current {
  background: #1c1c1e !important;
  border-color: #1c1c1e !important;
  color: #fff !important;
  cursor: default !important;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers.prev,
.woocommerce-pagination ul.page-numbers li a.page-numbers.next {
  font-size: 16px !important;
  font-weight: 400 !important;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers.prev:hover,
.woocommerce-pagination ul.page-numbers li a.page-numbers.next:hover {
  background: #1c1c1e !important;
  border-color: #1c1c1e !important;
  color: #fff !important;
}


/* Fix Astra's red border (--ast-global-color-8) on pagination ul/li */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers,
.woocommerce-pagination ul.page-numbers li {
  border: none !important;
  border-color: transparent !important;
  background: transparent !important;
}


/* Fix :visited colour on pagination links */
.woocommerce-pagination ul.page-numbers li a.page-numbers:visited,
.woocommerce-pagination ul.page-numbers li a.page-numbers:link {
  color: #1c1c1e !important;
}


/* ══════════════════════════════════════
   CART & CHECKOUT — Brand Style Fix
   ══════════════════════════════════════ */

/* ── Shared: kill the dark-red link colour on WC pages ── */
.woocommerce-cart a,
.woocommerce-checkout a {
  color: #1c1c1e !important;
}
.woocommerce-cart a:hover,
.woocommerce-checkout a:hover {
  color: #1a6fc4 !important;
}

/* ── Cart: table ── */
.woocommerce-cart-form table.shop_table {
  border: 1px solid #e8e8e8 !important;
  border-collapse: collapse !important;
}
.woocommerce-cart-form table.shop_table th {
  background: #f8f9fb !important;
  color: #1c1c1e !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid #e8e8e8 !important;
  padding: 14px 16px !important;
}
.woocommerce-cart-form table.shop_table td {
  border-bottom: 1px solid #f0f0f0 !important;
  border-top: none !important;
  border-color: #f0f0f0 !important;
  padding: 16px !important;
  vertical-align: middle !important;
}

/* ── Cart: product name link ── */
.woocommerce-cart-form .cart_item td.product-name a {
  color: #1c1c1e !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.woocommerce-cart-form .cart_item td.product-name a:hover {
  color: #1a6fc4 !important;
}

/* ── Cart: remove × button ── */
.woocommerce-cart-form a.remove {
  color: #999 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.woocommerce-cart-form a.remove:hover {
  background: #e53e3e !important;
  color: #fff !important;
}

/* ── Cart: quantity input ── */
.woocommerce-cart-form .qty {
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  text-align: center !important;
  width: 64px !important;
  background: #fff !important;
  color: #1c1c1e !important;
}
.woocommerce-cart-form .qty:focus {
  outline: none !important;
  border-color: #1a6fc4 !important;
}

/* ── Cart: coupon row ── */
.woocommerce-cart-form .coupon {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}
.woocommerce-cart-form .coupon input[name="coupon_code"] {
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #1c1c1e !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  width: 180px !important;
}
.woocommerce-cart-form .coupon input[name="coupon_code"]:focus {
  outline: none !important;
  border-color: #1a6fc4 !important;
}
.woocommerce-cart-form .coupon .button {
  background: #1c1c1e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 10px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.woocommerce-cart-form .coupon .button:hover {
  background: #1a6fc4 !important;
}

/* ── Cart: Update Basket button ── */
.woocommerce-cart-form button[name="update_cart"] {
  background: transparent !important;
  color: #1c1c1e !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  padding: 10px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all .15s !important;
}
.woocommerce-cart-form button[name="update_cart"]:hover {
  background: #1c1c1e !important;
  color: #fff !important;
}

/* ── Cart: basket totals ── */
.cart-collaterals .cart_totals h2 {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 14px 16px !important;
  background: #f8f9fb !important;
  border-bottom: 2px solid #e8e8e8 !important;
  margin: 0 !important;
}
.cart-collaterals .shop_table {
  border: 1px solid #e8e8e8 !important;
}
.cart-collaterals .shop_table th,
.cart-collaterals .shop_table td {
  border-color: #f0f0f0 !important;
  padding: 14px 16px !important;
  color: #1c1c1e !important;
}
.cart-collaterals .shop_table a {
  color: #1a6fc4 !important;
}
.cart-collaterals .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  background: #1c1c1e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s !important;
  margin-top: 12px !important;
}
.cart-collaterals .wc-proceed-to-checkout .checkout-button:hover {
  background: #1a6fc4 !important;
  color: #fff !important;
}

/* ══════════════════════════════════════
   CHECKOUT
   ══════════════════════════════════════ */

/* ── Coupon notice bar ── */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  border-top-color: #e8e8e8 !important;
  border-left: 4px solid #1c1c1e !important;
  background: #f8f9fb !important;
  color: #1c1c1e !important;
  font-size: 14px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info .woocommerce-info__icon {
  color: #1c1c1e !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle a {
  color: #1a6fc4 !important;
  font-weight: 600 !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover {
  color: #1c1c1e !important;
}

/* ── Checkout: form inputs ── */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.checkout .form-row input[type="text"],
.checkout .form-row input[type="email"],
.checkout .form-row input[type="tel"],
.checkout .form-row input[type="password"],
.checkout .form-row select,
.checkout .form-row textarea {
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: #1c1c1e !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .15s !important;
}
.checkout .form-row input:focus,
.checkout .form-row select:focus,
.checkout .form-row textarea:focus {
  outline: none !important;
  border-color: #1a6fc4 !important;
  box-shadow: 0 0 0 3px rgba(26,111,196,.08) !important;
}

/* ── Checkout: labels ── */
.checkout .form-row label {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1c1c1e !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.checkout .form-row label .required {
  color: #e53e3e !important;
}

/* ── Checkout: order review table ── */
#order_review .shop_table {
  border: 1px solid #e8e8e8 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
#order_review .shop_table th {
  background: #f8f9fb !important;
  color: #1c1c1e !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
  border-bottom: 2px solid #e8e8e8 !important;
}
#order_review .shop_table td,
#order_review .shop_table tr th {
  border-color: #f0f0f0 !important;
  padding: 12px 16px !important;
  color: #1c1c1e !important;
}
#order_review .shop_table tfoot tr:last-child th,
#order_review .shop_table tfoot tr:last-child td {
  font-weight: 700 !important;
  font-size: 15px !important;
  border-top: 2px solid #e8e8e8 !important;
}
#order_review .shop_table a {
  color: #1c1c1e !important;
}

/* ── Checkout: payment methods ── */
#payment .wc_payment_methods {
  border: 1px solid #e8e8e8 !important;
  border-radius: 4px !important;
  background: #fff !important;
  padding: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}
#payment .wc_payment_method {
  padding: 14px 16px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
#payment .wc_payment_method:last-child { border-bottom: none !important; }
#payment .wc_payment_method label {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1c1c1e !important;
  cursor: pointer !important;
}

/* ── Checkout: T&C link ── */
#payment .woocommerce-terms-and-conditions-wrapper a {
  color: #1a6fc4 !important;
  font-weight: 600 !important;
}

/* ── Checkout: Place Order button ── */
#place_order {
  display: block !important;
  width: 100% !important;
  background: #1c1c1e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s !important;
  margin-top: 16px !important;
}
#place_order:hover { background: #1a6fc4 !important; }


/* Fix order review wrapper blue border */
#order_review,
.woocommerce-checkout-review-order,
.woocommerce-checkout #order_review_heading ~ #order_review {
  border: 1px solid #e8e8e8 !important;
  border-radius: 4px !important;
}

/* Fix coupon toggle bar icon colour */
.woocommerce-checkout .woocommerce-info::before {
  color: #1c1c1e !important;
}

/* Ensure GDPR / checkout body text is dark, not blue */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  color: #555 !important;
  font-size: 13px !important;
}




/* ══════════════════════════════════════
   HEADER NAV — Clean blue hover + glow
   ══════════════════════════════════════ */

/* Reset any previous border/shadow on nav links */
#masthead .main-header-bar .menu-item > a {
  color: rgba(255,255,255,0.65) !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  transition: color .18s ease, text-shadow .18s ease !important;
  padding: 0 12px !important;
}

/* Hover: shift to bright blue + strong layered glow */
#masthead .main-header-bar .menu-item > a:hover {
  color: #5bb8ff !important;
  text-shadow:
    0 0 6px rgba(91,184,255,1),
    0 0 14px rgba(26,111,196,1),
    0 0 28px rgba(26,111,196,0.8),
    0 0 48px rgba(26,111,196,0.4) !important;
  border: none !important;
  box-shadow: none !important;
}

/* Active / current page: persistent bright glow */
#masthead .main-header-bar .current-menu-item > a,
#masthead .main-header-bar .current_page_item > a,
#masthead .main-header-bar .current-menu-ancestor > a {
  color: #7ecbff !important;
  text-shadow:
    0 0 6px rgba(126,203,255,1),
    0 0 16px rgba(26,111,196,1),
    0 0 32px rgba(26,111,196,0.7) !important;
  border: none !important;
  box-shadow: none !important;
}

/* ══════════════════════════════════════
   FOOTER LINKS — Blue glow on hover
   ══════════════════════════════════════ */

.gp-footer .gp-footer-col ul li a,
.gp-footer .gp-footer-col ul li a:link,
.gp-footer .gp-footer-col ul li a:visited {
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  transition: color .2s ease, text-shadow .2s ease !important;
  text-shadow: none !important;
}
.gp-footer .gp-footer-col ul li a:hover,
.gp-footer .gp-footer-col ul li a:focus {
  color: #5ba3e8 !important;
  text-shadow:
    0 0 8px rgba(26,111,196,1),
    0 0 18px rgba(26,111,196,0.6),
    0 0 32px rgba(26,111,196,0.3) !important;
}

/* Bottom bar links */
.gp-footer-bottom a,
.site-footer .ast-footer-copyright a {
  color: rgba(255,255,255,0.45) !important;
  transition: color .2s ease, text-shadow .2s ease !important;
  text-shadow: none !important;
}
.gp-footer-bottom a:hover,
.site-footer .ast-footer-copyright a:hover {
  color: #5ba3e8 !important;
  text-shadow:
    0 0 8px rgba(26,111,196,1),
    0 0 18px rgba(26,111,196,0.5) !important;
}


/* ══════════════════════════════════════
   MOBILE NAV — Blue glow effects
   ══════════════════════════════════════ */

/* Base state: slightly dim white, smooth transitions */
#primary-site-navigation-mobile .menu-item > a,
#secondary_menu-site-navigation-mobile .menu-item > a,
.ast-mobile-popup-inner .menu-item > a {
  color: rgba(255,255,255,0.72) !important;
  text-decoration: none !important;
  transition: color .2s ease, text-shadow .2s ease, background .2s ease !important;
  display: block !important;
}

/* Hover / tap: bright blue with glow — matches desktop intensity */
#primary-site-navigation-mobile .menu-item > a:hover,
#primary-site-navigation-mobile .menu-item > a:focus,
#secondary_menu-site-navigation-mobile .menu-item > a:hover,
#secondary_menu-site-navigation-mobile .menu-item > a:focus,
.ast-mobile-popup-inner .menu-item > a:hover,
.ast-mobile-popup-inner .menu-item > a:focus {
  color: #5bb8ff !important;
  text-shadow:
    0 0 6px rgba(91,184,255,1),
    0 0 14px rgba(26,111,196,1),
    0 0 28px rgba(26,111,196,0.8),
    0 0 48px rgba(26,111,196,0.4) !important;
  background: transparent !important;
}

/* Active / current page: persistent glow so users know where they are */
#primary-site-navigation-mobile .current-menu-item > a,
#primary-site-navigation-mobile .current_page_item > a,
#secondary_menu-site-navigation-mobile .current-menu-item > a,
.ast-mobile-popup-inner .current-menu-item > a,
.ast-mobile-popup-inner .current_page_item > a {
  color: #7ecbff !important;
  text-shadow:
    0 0 6px rgba(126,203,255,1),
    0 0 16px rgba(26,111,196,1),
    0 0 32px rgba(26,111,196,0.7) !important;
  background: transparent !important;
}

/* Divider lines between items — very subtle so glow isn't clipped */
#primary-site-navigation-mobile .menu-item,
#secondary_menu-site-navigation-mobile .menu-item,
.ast-mobile-popup-inner .menu-item {
  overflow: visible !important;
}


/* GP-DESIGN-FIXES */
.site-above-footer-wrap{border-top:0 !important;}
.gp-footer-logo-img{height:34px;width:auto;display:inline-block;margin-bottom:12px;}
.gh-cta-disclaimer{margin-top:28px !important;}


/* === GenoPept mobile fixes === */
@media (max-width: 921px){
  body.single-product div.product{ grid-template-columns:1fr !important; display:block !important; }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.images,
  .woocommerce-page div.product div.summary{
    float:none !important; width:100% !important; max-width:100% !important;
    clear:both !important; position:static !important;
  }
  .woocommerce div.product div.images{ margin:0 0 1.5em !important; }
  .woocommerce.archive .site-content .ast-container{ display:flex !important; flex-direction:column !important; }
  .woocommerce.archive #secondary.widget-area,
  .woocommerce.archive #secondary .sidebar-main,
  .woocommerce.archive #secondary .ast-filter-wrap{ display:contents; }
  .woocommerce.archive #primary{ order:2; }
  .woocommerce.archive .ast-woo-sidebar-widget.widget_block{ order:1; margin:0 0 1.2em; }
  .woocommerce.archive .widget_price_filter,
  .woocommerce.archive .widget_product_categories,
  .woocommerce.archive .widget_top_rated_products{ order:3; }
}

/* GP-POLISH-SEP2026: header nav single row */
@media (min-width:922px){
.ast-primary-header-bar .main-header-menu{flex-wrap:nowrap!important}
.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link{padding:0 8px!important;white-space:nowrap}
}


/* GP-POLISH-SEP2026: mobile cart coupon + product tabs */
@media (max-width:768px){
.woocommerce-cart table.shop_table{table-layout:fixed;width:100%!important;max-width:100%}
.woocommerce-cart td.actions .coupon{flex-wrap:wrap;gap:8px}
.woocommerce-cart td.actions .coupon #coupon_code{flex:1 1 140px;width:auto!important;min-width:0;float:none}
.woocommerce-cart td.actions .coupon .button{float:none}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;padding-left:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0 4px 4px 0}
}


/* ==========================================================================
   GP-DARK-SHOP-SEP2026  --  dark brand palette for all WooCommerce surfaces
   (store archive, category, product, cart, checkout, account).
   TO REVERT: delete everything from this marker to the end of the file.
   Palette: page #0b0d12 . panel #12151c . border rgba(255,255,255,.1)
            accent #1a6fc4 . link #3a86e0 . body text rgba(255,255,255,.78)
   Product photo wells stay light on purpose so the photography still reads.
   ========================================================================== */

body.woocommerce-page,
body.woocommerce-page #page,
body.woocommerce-page #content,
body.woocommerce-page .site-content,
body.woocommerce-page main.site-main,
body.woocommerce-page #primary,
body.woocommerce-page .ast-woocommerce-container,
body.tax-product_cat main.site-main,
body.post-type-archive-product main.site-main,
body.single-product main.site-main,
body.woocommerce-cart main.site-main,
body.woocommerce-checkout main.site-main,
body.woocommerce-account main.site-main { background-color:#0b0d12 !important; color:rgba(255,255,255,.78) !important; }
body.woocommerce-page #content h1,
body.woocommerce-page #content h2,
body.woocommerce-page #content h3,
body.woocommerce-page #content h4,
body.woocommerce-page #content h5,
body.woocommerce-page .entry-title,
body.woocommerce-page .product_title,
body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce-page .ast-archive-title { color:#fff !important; }
body.woocommerce-page #content p,
body.woocommerce-page #content li,
body.woocommerce-page #content td,
body.woocommerce-page #content dd,
body.woocommerce-page #content label,
body.woocommerce-page .woocommerce-result-count,
body.woocommerce-page .woocommerce-breadcrumb { color:rgba(255,255,255,.72) !important; }
body.woocommerce-page #content a { color:#3a86e0; }
body.woocommerce-page #content a:hover { color:#66a8ff; }
body.woocommerce-page .woocommerce-breadcrumb a { color:#3a86e0 !important; }
body.woocommerce-page .ast-woo-sidebar-widget.widget,
body.woocommerce-page #secondary .widget { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:12px !important; color:rgba(255,255,255,.78) !important; }
body.woocommerce-page #secondary .widget-title,
body.woocommerce-page #secondary .widget h2 { color:#fff !important; }
body.woocommerce-page #secondary a { color:rgba(255,255,255,.75) !important; }
body.woocommerce-page #secondary a:hover { color:#66a8ff !important; }
body.woocommerce-page #secondary li { border-color:rgba(255,255,255,.07) !important; }
body.woocommerce-page span.count { background-color:rgba(255,255,255,.07) !important; color:rgba(255,255,255,.55) !important; border-color:rgba(255,255,255,.1) !important; }
body.woocommerce-page .price_slider.ui-slider { background-color:rgba(255,255,255,.12) !important; }
body.woocommerce-page .ui-slider .ui-slider-range { background-color:#1a6fc4 !important; }
body.woocommerce-page .ui-slider .ui-slider-handle { background-color:#fff !important; border:2px solid #1a6fc4 !important; }
body.woocommerce-page .price_label, body.woocommerce-page .price_label span { color:rgba(255,255,255,.7) !important; }
body.woocommerce-page #content input[type="text"],
body.woocommerce-page #content input[type="email"],
body.woocommerce-page #content input[type="tel"],
body.woocommerce-page #content input[type="password"],
body.woocommerce-page #content input[type="search"],
body.woocommerce-page #content input[type="number"],
body.woocommerce-page #content textarea,
body.woocommerce-page #content select,
body.woocommerce-page #main input[type="text"],
body.woocommerce-page #main input[type="email"],
body.woocommerce-page #main input[type="tel"],
body.woocommerce-page #main select,
body.woocommerce-page #main textarea,
body.woocommerce-page .woocommerce-input-wrapper input,
body.woocommerce-page .select2-container--default .select2-selection--single { background-color:#0e1117 !important; background-image:none !important; border:1px solid rgba(255,255,255,.14) !important; color:#fff !important; border-radius:8px !important; }
body.woocommerce-page #content input::placeholder,
body.woocommerce-page #content textarea::placeholder { color:rgba(255,255,255,.4) !important; }
body.woocommerce-page #content input:focus,
body.woocommerce-page #content select:focus,
body.woocommerce-page #content textarea:focus,
body.woocommerce-page #main input:focus { border-color:rgba(26,111,196,.7) !important; box-shadow:0 0 0 3px rgba(26,111,196,.18) !important; }
body.woocommerce-page #content input:-webkit-autofill,
body.woocommerce-page #main input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px #0e1117 inset !important; -webkit-text-fill-color:#fff !important; }
body.woocommerce-page .select2-container--default .select2-selection--single .select2-selection__rendered { color:#fff !important; }
body.woocommerce-page .select2-dropdown,
body.woocommerce-page .select2-container--default .select2-results__option { background-color:#12151c !important; color:rgba(255,255,255,.8) !important; }
body.woocommerce-page .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color:#1a6fc4 !important; color:#fff !important; }
body.woocommerce-page ul.products li.product,
body.woocommerce-page li.ast-grid-common-col,
body.woocommerce-page li.ast-article-single { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:14px !important; overflow:hidden !important; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease !important; }
body.woocommerce-page ul.products li.product:hover,
body.woocommerce-page li.ast-article-single:hover { transform:translateY(-4px) !important; border-color:rgba(26,111,196,.5) !important; box-shadow:0 16px 34px rgba(0,0,0,.5) !important; }
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page li.ast-article-single .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product h2 { color:#fff !important; }
body.woocommerce-page ul.products li.product .price,
body.woocommerce-page li.ast-article-single .price { color:rgba(255,255,255,.85) !important; }
body.woocommerce-page ul.products li.product .price del { color:rgba(255,255,255,.4) !important; }
body.woocommerce-page .astra-shop-summary-wrap { color:rgba(255,255,255,.7) !important; }
body.woocommerce-page .astra-shop-thumbnail-wrap,
body.woocommerce-page .astra-shop-thumbnail-wrap img { background-color:#12151c !important; }
body.woocommerce-page #content .button,
body.woocommerce-page #content button.button,
body.woocommerce-page #content input.button,
body.woocommerce-page #content a.button,
body.woocommerce-page .woocommerce a.button,
body.woocommerce-page .wc-block-product-search__button { background-color:#1a6fc4 !important; color:#fff !important; border:0 !important; border-radius:6px !important; }
body.woocommerce-page #content .button:hover,
body.woocommerce-page #content button.button:hover,
body.woocommerce-page #content a.button:hover { background-color:#2f80ff !important; color:#fff !important; }
body.woocommerce-page #content .button:disabled,
body.woocommerce-page #content button.button:disabled,
body.woocommerce-page #content button.single_add_to_cart_button:disabled { background-color:rgba(255,255,255,.12) !important; color:rgba(255,255,255,.45) !important; }
body.woocommerce-page .button.wc-backward,
body.woocommerce-page a.button.wc-backward { background-color:transparent !important; border:1px solid rgba(255,255,255,.2) !important; color:#fff !important; }
body.woocommerce-page .woocommerce-pagination a.page-numbers,
body.woocommerce-page .woocommerce-pagination span.page-numbers { background-color:#12151c !important; border:1px solid rgba(255,255,255,.12) !important; color:rgba(255,255,255,.75) !important; border-radius:6px !important; }
body.woocommerce-page .woocommerce-pagination span.page-numbers.current,
body.woocommerce-page .woocommerce-pagination a.page-numbers:hover { background-color:#1a6fc4 !important; border-color:#1a6fc4 !important; color:#fff !important; }
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery img,
body.single-product img.zoomImg { background-color:#12151c !important; }
body.single-product .woocommerce-product-gallery { border-radius:14px !important; overflow:hidden !important; }
body.single-product .woocommerce-product-gallery__trigger { background-color:rgba(11,13,18,.75) !important; color:#fff !important; border-radius:8px !important; }
body.single-product .summary .price,
body.single-product .summary .woocommerce-Price-amount { color:#fff !important; }
body.single-product .summary .price del { color:rgba(255,255,255,.4) !important; }
body.single-product .product_meta,
body.single-product .product_meta a,
body.single-product .posted_in,
body.single-product .sku_wrapper { color:rgba(255,255,255,.6) !important; }
body.single-product .cfvsw-swatches-option,
body.single-product .cfvsw-swatches-option.cfvsw-label-option { background-color:#12151c !important; border:1px solid rgba(255,255,255,.16) !important; color:rgba(255,255,255,.82) !important; border-radius:8px !important; }
body.single-product .cfvsw-swatches-option.cfvsw-selected-swatch,
body.single-product .cfvsw-swatches-option:hover { background-color:rgba(26,111,196,.18) !important; border-color:#1a6fc4 !important; color:#fff !important; }
body.single-product .variations th, body.single-product .variations label { color:#fff !important; }
body.single-product .woocommerce-variation-price .price { color:#fff !important; }
body.single-product .reset_variations { color:#3a86e0 !important; }
body.single-product .woocommerce-tabs,
body.single-product .woocommerce-tabs .panel { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:14px !important; color:rgba(255,255,255,.78) !important; }
body.single-product .woocommerce-tabs ul.tabs { background-color:transparent !important; border-bottom:1px solid rgba(255,255,255,.1) !important; }
body.single-product .woocommerce-tabs ul.tabs li { background-color:transparent !important; border:0 !important; }
body.single-product .woocommerce-tabs ul.tabs li a { color:rgba(255,255,255,.6) !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover { color:#fff !important; }
body.single-product .woocommerce-tabs ul.tabs li.active { box-shadow:inset 0 -2px 0 #1a6fc4 !important; }
body.single-product .woocommerce-tabs table,
body.single-product .shop_attributes th,
body.single-product .shop_attributes td { background-color:transparent !important; color:rgba(255,255,255,.78) !important; border-color:rgba(255,255,255,.09) !important; }
body.woocommerce-cart .shop_table,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .shop_table,
body.woocommerce-checkout #order_review,
body.woocommerce-account .shop_table { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:12px !important; color:rgba(255,255,255,.8) !important; }
body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td,
body.woocommerce-checkout .shop_table th,
body.woocommerce-checkout .shop_table td,
body.woocommerce-checkout #order_review th,
body.woocommerce-checkout #order_review td,
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td { background-color:transparent !important; color:rgba(255,255,255,.8) !important; border-color:rgba(255,255,255,.09) !important; }
body.woocommerce-cart .shop_table thead th,
body.woocommerce-checkout #order_review thead th,
body.woocommerce-checkout .shop_table thead th { color:rgba(255,255,255,.55) !important; background-color:rgba(255,255,255,.03) !important; }
body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout #order_review_heading { color:#fff !important; }
body.woocommerce-cart .product-name a, body.woocommerce-checkout .product-name { color:#fff !important; }
body.woocommerce-cart .order-total .amount, body.woocommerce-checkout .order-total .amount { color:#fff !important; }
body.woocommerce-cart .coupon input, body.woocommerce-cart .actions input { background-color:#0e1117 !important; }
body.woocommerce-cart .cart-collaterals, body.woocommerce-cart .cross-sells { background-color:transparent !important; }
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout h3 { color:#fff !important; }
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields { color:rgba(255,255,255,.78) !important; }
body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-payment { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:12px !important; }
body.woocommerce-checkout #payment ul.payment_methods { background-color:transparent !important; border-bottom:1px solid rgba(255,255,255,.09) !important; }
body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment label { color:rgba(255,255,255,.82) !important; }
body.woocommerce-checkout #payment div.payment_box { background-color:rgba(26,111,196,.1) !important; border:1px solid rgba(26,111,196,.25) !important; color:rgba(255,255,255,.75) !important; border-radius:8px !important; }
body.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:rgba(26,111,196,.25) !important; }
body.woocommerce-checkout #payment .form-row.place-order { background-color:transparent !important; }
body.woocommerce-checkout #place_order { background-color:#1a6fc4 !important; color:#fff !important; border-radius:6px !important; }
body.woocommerce-checkout #place_order:hover { background-color:#2f80ff !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-text { color:rgba(255,255,255,.6) !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions { background-color:#0e1117 !important; border:1px solid rgba(255,255,255,.1) !important; }
body.woocommerce-page .woocommerce-message,
body.woocommerce-page .woocommerce-info,
body.woocommerce-page .woocommerce-error,
body.woocommerce-page .cart-empty { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-top-width:1px !important; border-radius:10px !important; color:rgba(255,255,255,.8) !important; }
body.woocommerce-page .woocommerce-message { border-left:3px solid #1a6fc4 !important; }
body.woocommerce-page .woocommerce-error { border-left:3px solid #d9534f !important; }
body.woocommerce-page .woocommerce-message::before,
body.woocommerce-page .woocommerce-info::before { color:#3a86e0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:12px !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { color:rgba(255,255,255,.75) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color:#fff !important; }
body.woocommerce-account .woocommerce-MyAccount-content { color:rgba(255,255,255,.78) !important; }
body.woocommerce-account form.login, body.woocommerce-account form.register { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:12px !important; }
#astra-mobile-cart-drawer .astra-cart-drawer-content,
#astra-mobile-cart-drawer .astra-cart-drawer-header { background-color:#0f1218 !important; color:rgba(255,255,255,.8) !important; }
#astra-mobile-cart-drawer .astra-cart-drawer-title { color:#fff !important; }
body.woocommerce-page .wc-block-product-search__field { background-color:#0e1117 !important; border:1px solid rgba(255,255,255,.14) !important; color:#fff !important; }

body.woocommerce-checkout #payment ul.payment_methods li,
body.woocommerce-checkout #payment .wc_payment_method { border-color:rgba(255,255,255,.1) !important; background-color:transparent !important; }
body.woocommerce-page #content input[type="checkbox"],
body.woocommerce-page #content input[type="radio"] { accent-color:#1a6fc4 !important; }

body.woocommerce-checkout #payment label.checkbox input[type="checkbox"],
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox input[type="checkbox"],
body.woocommerce-page label.woocommerce-form__label-for-checkbox input[type="checkbox"] { display:inline-block !important; float:none !important; width:auto !important; margin:0 8px 0 0 !important; vertical-align:middle !important; }
body.woocommerce-checkout #payment label.checkbox span.required { display:inline !important; }
body.woocommerce-checkout #payment label.checkbox,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox { display:block !important; text-align:left !important; }

/* --- specificity boosters over the old light shop design --- */
body.woocommerce-page #content thead,
body.woocommerce-page #content tbody,
body.woocommerce-page #content tfoot,
body.woocommerce-page #content table tr { background-color:transparent !important; }
body.woocommerce-page #content table.shop_table,
body.woocommerce-page #content table.cart { background-color:#12151c !important; }
body.woocommerce-page #content table.shop_table th,
body.woocommerce-page #content table.shop_table td { background-color:transparent !important; color:rgba(255,255,255,.8) !important; border-color:rgba(255,255,255,.09) !important; }
body.woocommerce-page #content table.shop_table thead th { background-color:rgba(255,255,255,.03) !important; color:rgba(255,255,255,.55) !important; }
body.woocommerce-page #content td.product-name a,
body.woocommerce-page #content .cart_item td.product-name a,
body.woocommerce-page #content td.product-name { color:#fff !important; }
body.woocommerce-page #content .cart_totals h2,
body.woocommerce-page #content .cart-collaterals .cart_totals h2 { background-color:transparent !important; color:#fff !important; }
body.woocommerce-page #content .woocommerce-cart-form,
body.woocommerce-page #content .cart-collaterals,
body.woocommerce-page #content .cart_totals { background-color:transparent !important; }
body.woocommerce-page #content .cart_totals table { background-color:#12151c !important; }
body.woocommerce-cart #content a:not(.button),
body.woocommerce-checkout #content a:not(.button) { color:#3a86e0 !important; }
body.woocommerce-page #content .woocommerce-Price-amount,
body.woocommerce-page #content .amount { color:inherit !important; }

body.single-product #content .woocommerce-product-gallery,
body.single-product #content .woocommerce-product-gallery__wrapper { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; }
body.single-product #content .woocommerce-product-gallery__image img { background-color:#12151c !important; border-radius:10px !important; }
body.single-product #content .flex-control-thumbs img { background-color:#12151c !important; border-radius:8px !important; }

body.woocommerce-page #secondary .product_list_widget .product-title,
body.woocommerce-page #secondary .product-title,
body.woocommerce-page #secondary .product_list_widget li,
body.woocommerce-page #secondary .widget li,
body.woocommerce-page #secondary .widget p { color:#fff !important; }
body.woocommerce-page #secondary .product_list_widget .woocommerce-Price-amount,
body.woocommerce-page #secondary .product_list_widget .amount,
body.woocommerce-page #secondary del { color:rgba(255,255,255,.65) !important; }
body.woocommerce-page #secondary .product_list_widget img { background-color:#12151c !important; border-radius:6px !important; }

/* --- sidebar (Astra uses .sidebar-main, not #secondary) --- */
body.woocommerce-page #content .sidebar-main .widget,
body.woocommerce-page #content .ast-woo-sidebar-widget.widget { background-color:#12151c !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:12px !important; }
body.woocommerce-page #content .sidebar-main,
body.woocommerce-page #content .ast-filter-wrap { background-color:transparent !important; }
body.woocommerce-page #content .sidebar-main .widget-title,
body.woocommerce-page #content .sidebar-main .widget h2,
body.woocommerce-page #content .sidebar-main .product-title,
body.woocommerce-page #content .sidebar-main li,
body.woocommerce-page #content .sidebar-main p { color:#fff !important; }
body.woocommerce-page #content .sidebar-main a { color:rgba(255,255,255,.78) !important; }
body.woocommerce-page #content .sidebar-main a:hover { color:#66a8ff !important; }
body.woocommerce-page #content .sidebar-main li { border-color:rgba(255,255,255,.07) !important; }
body.woocommerce-page #content .sidebar-main .amount,
body.woocommerce-page #content .sidebar-main .woocommerce-Price-amount { color:rgba(255,255,255,.65) !important; }
body.woocommerce-page #content .sidebar-main .product_list_widget img { background-color:#12151c !important; border-radius:6px !important; }
body.woocommerce-page #content .sidebar-main span.count { background-color:rgba(255,255,255,.07) !important; color:rgba(255,255,255,.55) !important; }
body.woocommerce-page #content .sidebar-main .price_slider.ui-slider { background-color:rgba(255,255,255,.12) !important; }
/* --- pagination --- */
body.woocommerce-page #content nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
body.woocommerce-page #content nav.woocommerce-pagination ul.page-numbers li span.page-numbers { background-color:#12151c !important; border:1px solid rgba(255,255,255,.12) !important; color:rgba(255,255,255,.75) !important; border-radius:6px !important; }
body.woocommerce-page #content nav.woocommerce-pagination ul.page-numbers li span.current,
body.woocommerce-page #content nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover { background-color:#1a6fc4 !important; border-color:#1a6fc4 !important; color:#fff !important; }
body.woocommerce-page #content nav.woocommerce-pagination ul.page-numbers { background-color:transparent !important; border:0 !important; }
/* --- category eyebrow: brighter blue on dark --- */
body.woocommerce-page #content .ast-woo-product-category { color:#3a86e0 !important; }

body.woocommerce-account #content .woocommerce-MyAccount-navigation li a { background-color:transparent !important; color:rgba(255,255,255,.75) !important; }
body.woocommerce-account #content .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account #content .woocommerce-MyAccount-navigation li a:hover { background-color:rgba(26,111,196,.16) !important; color:#fff !important; }
body.woocommerce-account #content .woocommerce-MyAccount-navigation li { border-color:rgba(255,255,255,.08) !important; }
body.woocommerce-account #content .woocommerce-MyAccount-content strong { color:#fff !important; }


/* --- GP-DARK-SHOP-PATCH-1 --- */
body.single-product #content .single-product-category,
body.single-product #content .single-product-category a { color:#3a86e0 !important; }
body.single-product #content a.reset_variations { color:#3a86e0 !important; }
body.single-product #content .woocommerce-Tabs-panel a { color:#3a86e0 !important; }
@media (max-width:768px){
  body.woocommerce-page #content .woocommerce-result-count,
  body.woocommerce-page #content .woocommerce-ordering { float:none !important; width:100% !important; margin:0 0 12px 0 !important; }
  body.woocommerce-page #content .woocommerce-ordering select { width:100% !important; }
}


/* --- GP-DARK-SHOP-PATCH-2: product photos are DARK studio JPEGs (corners ~rgb(70,70,70)),
   so the photo wells must be dark too. A light well framed every thumbnail in white. --- */
body.woocommerce-page #content .astra-shop-thumbnail-wrap,
body.woocommerce-page #content .astra-shop-thumbnail-wrap img,
body.woocommerce-page #content ul.products li.product img,
body.woocommerce-page #content td.product-thumbnail img,
body.woocommerce-page #content .sidebar-main .product_list_widget img,
body.single-product #content .woocommerce-product-gallery img,
body.single-product #content .woocommerce-product-gallery__image img,
body.single-product #content .flex-control-thumbs img,
body.single-product #content img.zoomImg { background-color:#12151c !important; }
body.woocommerce-page #content .astra-shop-thumbnail-wrap { border-bottom:1px solid rgba(255,255,255,.07) !important; }
body.single-product #content .woocommerce-product-gallery__image img { border-radius:0 !important; }
