/* WordPress, Elementor and WooCommerce integration */
html { margin-top: 0 !important; }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
.elementor-page .site-main, .elementor-page main { overflow: hidden; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: none; }
.elementor-widget-qp-header > .elementor-widget-container,
.elementor-widget-qp-footer > .elementor-widget-container,
.elementor-widget-qp-section > .elementor-widget-container,
.elementor-widget-qp-products > .elementor-widget-container,
.elementor-widget-qp-product-detail > .elementor-widget-container,
.elementor-widget-qp-guide-tabs > .elementor-widget-container,
.elementor-widget-qp-faq > .elementor-widget-container,
.elementor-widget-qp-blog > .elementor-widget-container,
.elementor-widget-qp-contact > .elementor-widget-container,
.elementor-widget-qp-cart > .elementor-widget-container,
.elementor-widget-qp-checkout > .elementor-widget-container,
.elementor-widget-qp-account > .elementor-widget-container,
.elementor-widget-qp-legal > .elementor-widget-container,
.elementor-widget-qp-post-detail > .elementor-widget-container { margin: 0; }
.qp-header-widget, .qp-header-widget .site-header { width: 100%; }
.qp-header-widget .research-bar img, .research-only-chip img, .trust-item__icon img { width: 18px; height: 18px; object-fit: contain; }
.qp-elementor-section .hero-copy-text p { color: #b4c1d3; font-size: 1.08rem; }
.qp-elementor-section .section-heading > p:last-child { margin-bottom: 0; }
.qp-elementor-section.page-hero { background-size: cover; background-position: center; }
.qp-elementor-section.page-hero.page-hero--split .container { grid-template-columns: 1fr .72fr; }
.qp-elementor-section.statement-band { min-height: 620px; }
.statement-media { display: grid; grid-template-columns: 1.15fr .85fr; gap: 50px; align-items: center; min-height: 620px; }
.statement-band--reverse .statement-media { grid-template-columns: .85fr 1.15fr; }
.statement-band--reverse .statement-media__copy { order: 2; }
.statement-band--reverse .statement-media__visual { order: 1; }
.statement-media__copy h2 { max-width: 930px; margin: 18px 0 30px; font-size: clamp(3.2rem, 6vw, 6rem); color: #fff; }
.statement-media__copy p { max-width: 820px; color: #bbc8da; font-size: 1.08rem; }
.statement-media__visual { position: relative; min-height: 500px; overflow: hidden; border-radius: 32px; border: 1px solid rgba(255,255,255,.1); }
.statement-media__visual img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.guide-showcase--reverse .guide-showcase__image { order: 2; }
.guide-showcase--reverse .guide-showcase__copy { order: 1; }
.icon-ribbon__text-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 17px; background: var(--gradient); color: #fff; font-weight: 700; }
.feature-list--large { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.feature-list--large > article { padding: 25px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }

/* Search overlay */
.search-overlay__panel { position: relative; width: min(760px,100%); padding: 30px; border-radius: 24px; background: var(--white); box-shadow: var(--shadow-lg); transform: translateY(-20px); transition: .28s ease; }
.search-overlay.is-open .search-overlay__panel { transform: none; }
.search-overlay__close { position: absolute; top: 18px; right: 18px; }
.search-overlay__field { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 8px; min-height: 64px; margin-top: 20px; padding: 0 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.search-overlay__field input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 1.08rem; }
.search-overlay__results { display: grid; gap: 6px; max-height: 460px; margin-top: 14px; overflow: auto; }
.search-result { grid-template-columns: 64px 1fr; }
.search-loading,.search-empty { padding: 20px; text-align: center; }
.quick-view__loading { grid-column: 1/-1; padding: 80px; text-align: center; }

/* Gate is hidden until JS activates it */
.gate[data-age-gate] { display: none; }
.gate[data-age-gate].is-active { display: grid; }

/* Product and shop */
.product-card__price .amount { font-size: inherit; }
.product-card__meta span { max-width: 100%; }
.product-card .woocommerce-Price-currencySymbol { font-size: .8em; }
.qp-product-detail .product-gallery__main .woocommerce-product-gallery__image { width: 100%; }
.qp-product-detail .product-gallery__main img { width: 74%; height: 520px; object-fit: contain; }
.qp-product-detail .product-lead p { font-size: inherit; }
.qp-product-detail .variant-button .amount { color: inherit; }
.shop-sidebar button.filter-option { width: 100%; border: 0; text-align: left; cursor: pointer; }
.shop-sidebar button.filter-option.is-active { color: var(--blue); font-weight: 700; }
.filter-backdrop { position: fixed; z-index: 94; inset: 0; visibility: hidden; opacity: 0; background: rgba(5,10,18,.45); backdrop-filter: blur(4px); transition: .25s; }
.filter-backdrop.is-open { visibility: visible; opacity: 1; }

/* FAQ */
.faq-search { max-width: 760px; margin: 0 auto 42px; }
.faq-topics { position: sticky; top: 120px; align-self: start; }
.faq-topics a { display: block; padding: 18px 0; border-bottom: 1px solid var(--line); color: #64748a; }
.faq-topics a:hover { color: var(--blue); }
.accordion__content[hidden] { display: none !important; }
.accordion:not(.is-open) .accordion__content { display: none !important; }
.faq-empty { padding: 50px; text-align: center; }

/* Forms */
.qp-form-status { margin-top: 14px; font-weight: 600; }
.qp-form-status.is-success { color: var(--green); }
.qp-form-status.is-error { color: var(--danger); }

/* WooCommerce global */
.woocommerce { width: 100%; }
.woocommerce .woocommerce-notices-wrapper { width: var(--container); margin: 20px auto; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { margin: 20px 0; padding: 16px 20px 16px 48px; border: 1px solid var(--line); border-top: 3px solid var(--blue); border-radius: 14px; background: #fff; box-shadow: var(--shadow-xs); }
.woocommerce-error { border-top-color: var(--danger); }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; color: #fff; background: var(--gradient); font-weight: 650; transition: .25s; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover { color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-neon); }
.woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 7px; color: var(--ink); font-size: .82rem; font-weight: 650; }
.woocommerce form .form-row .required { color: var(--danger); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection--single { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; outline: 0; }
.woocommerce form .form-row textarea { min-height: 120px; }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 27px; padding-left: 0; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 50px; }

/* Cart */
.qp-woo-cart { padding: 0 0 110px; }
.qp-cart-layout { padding-top: 70px; }
.woocommerce-cart-form .cart-item__image img { width: 100%; height: 100%; object-fit: contain; }
.woocommerce-cart-form .quantity { display: flex; }
.woocommerce-cart-form .quantity input.qty { width: 62px; min-height: 42px; border: 1px solid var(--line); border-radius: 12px; text-align: center; }
.cart-actions-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.cart-actions-row .coupon { display: flex; gap: 8px; }
.cart-actions-row .coupon .input-text { min-height: 50px; padding: 0 15px; border: 1px solid var(--line); border-radius: 999px; }
.order-summary .wc-proceed-to-checkout { margin-top: 22px; }
.order-summary .checkout-button { width: 100%; }
.qp-cart-shipping { padding: 14px 0; border-bottom: 1px solid var(--line); }
.woocommerce-shipping-totals { list-style: none; }
.woocommerce-shipping-methods { padding: 0; list-style: none; }
.empty-cart { padding: 120px 24px; }

/* Checkout */
.qp-woo-checkout { padding: 0 0 110px; }
.checkout-progress { margin-top: 50px; }
.woocommerce-checkout .checkout-layout { align-items: start; }
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.woocommerce-checkout .col-1,.woocommerce-checkout .col-2 { float: none; width: auto; }
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3 { margin: 0 0 22px; font-size: 1.5rem; }
.qp-payment-intro { display: flex; gap: 18px; padding: 22px; border: 1px solid rgba(22,111,189,.2); border-radius: 18px; background: #f4fbff; }
.qp-payment-intro p { margin: 0; }
.woocommerce-checkout-review-order .woocommerce-checkout-payment { margin-top: 22px; }
.woocommerce-checkout-payment ul.payment_methods { margin: 0 0 18px; padding: 0; list-style: none; }
.woocommerce-checkout-payment .wc_payment_method { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.woocommerce-checkout-payment .payment_box { margin-top: 12px; color: var(--muted); }
.woocommerce-checkout-payment .place-order { margin: 20px 0 0 !important; }
.woocommerce-checkout-payment #place_order { width: 100%; }
.woocommerce-privacy-policy-text { font-size: .8rem; }
.checkout-product img { width: 64px; height: 72px; object-fit: contain; border-radius: 12px; background: var(--paper); }

/* Account */
.qp-woo-account { width: var(--container); margin: 70px auto 110px; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 270px 1fr; gap: 32px; align-items: start; }
.woocommerce-account .woocommerce-notices-wrapper,.woocommerce-account .woocommerce-form-login-toggle,.woocommerce-account .woocommerce-form-coupon-toggle { grid-column: 1/-1; }
.account-nav { position: sticky; top: 120px; padding: 18px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-xs); }
.account-nav ul { margin: 0; padding: 0; list-style: none; }
.account-nav li a { display: block; padding: 13px 15px; border-radius: 13px; color: var(--muted); }
.account-nav li.is-active a,.account-nav li a:hover { color: #fff; background: var(--gradient); }
.woocommerce-MyAccount-content { min-width: 0; padding: 34px; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: var(--shadow-xs); }
.account-dashboard__links { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 28px; }
.account-dashboard__links a { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.account-dashboard__links strong,.account-dashboard__links span { display: block; }
.account-dashboard__links span { margin-top: 7px; color: var(--muted); font-size: .86rem; }
.woocommerce form.login,.woocommerce form.register { padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.woocommerce-account:not(.logged-in) .woocommerce { grid-template-columns: 1fr; max-width: 1050px; }
.woocommerce-account:not(.logged-in) .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-account:not(.logged-in) .u-column1,.woocommerce-account:not(.logged-in) .u-column2 { float: none; width: auto; }

/* Order complete */
.order-complete { max-width: 980px; padding: 70px; border: 1px solid var(--line); border-radius: 34px; background: #fff; box-shadow: var(--shadow); text-align: center; }
.order-complete__icon { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto 20px; border-radius: 50%; color: #fff; background: var(--gradient); font-size: 2rem; }
.order-complete__icon--error { background: var(--danger); }
.order-complete__details { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin: 30px 0; text-align: left; }
.order-complete__details article { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.order-complete__details span,.order-complete__details strong { display: block; }
.order-complete__details span { color: var(--muted); font-size: .8rem; }
.order-complete__details strong { margin-top: 6px; }
.order-complete__actions { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }

/* Legal and article */
.legal-content { max-width: 930px; margin: 0 auto; padding: 70px 0 110px; }
.legal-content h2 { margin: 42px 0 14px; font-size: 2rem; }
.legal-content p,.legal-content li { font-size: 1.02rem; }
.article-shell { padding-bottom: 100px; }
.article-featured-image { margin: 50px 0; overflow: hidden; border-radius: 28px; }
.article-featured-image img { width: 100%; max-height: 600px; object-fit: cover; }
.article-content { font-size: 1.05rem; }
.article-content h2 { margin: 42px 0 14px; }

/* Elementor edit mode */
.elementor-editor-active .gate,.elementor-editor-active .search-overlay,.elementor-editor-active .cart-drawer,.elementor-editor-active .quick-view-overlay { display: none !important; }
.elementor-editor-active .reveal { opacity: 1 !important; transform: none !important; }

@media (max-width: 1050px) {
  .statement-media,.statement-band--reverse .statement-media { grid-template-columns: 1fr; }
  .statement-band--reverse .statement-media__copy,.statement-band--reverse .statement-media__visual { order: initial; }
  .statement-media__visual { min-height: 380px; }
  .statement-media__visual img { min-height: 380px; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .account-nav { position: static; }
  .account-nav ul { display: flex; overflow-x: auto; }
  .account-nav li { flex: 0 0 auto; }
  .order-complete__details { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .statement-media { min-height: 0; gap: 28px; }
  .statement-media__copy h2 { font-size: clamp(2.5rem, 12vw, 4rem); }
  .feature-list--large,.woocommerce-checkout .col2-set,.account-dashboard__links,.woocommerce-account:not(.logged-in) .u-columns { grid-template-columns: 1fr; }
  .cart-actions-row { align-items: stretch; flex-direction: column; }
  .cart-actions-row .coupon { flex-direction: column; }
  .qp-woo-account { width: min(100% - 28px, 1320px); }
  .woocommerce-MyAccount-content { padding: 24px; }
  .order-complete { padding: 40px 22px; }
  .order-complete__details { grid-template-columns: 1fr; }
  .order-complete__actions { flex-direction: column; }
  .search-overlay,.quick-view-overlay { padding: 30px 12px; }
}

/* Reliable inline SVG icon system */
.qp-icon { display: inline-block; flex: 0 0 auto; vertical-align: middle; pointer-events: none; }
.icon-button .qp-icon,.product-action .qp-icon,.quick-add .qp-icon { width: 20px; height: 20px; }
.quick-add { white-space: nowrap; }
.quick-add .qp-icon { width: 16px; height: 16px; }
.product-card__meta span { display: inline-flex; align-items: center; gap: 6px; }
.research-bar__inner > span,.research-bar__inner > a { display: inline-flex; align-items: center; gap: 8px; }
.nav-link .qp-icon { margin-left: 4px; }
.search-overlay__field .qp-icon { color: var(--muted); }
.icon-button { line-height: 1; }
.icon-button:focus-visible,.product-action:focus-visible,.quick-add:focus-visible { outline: 3px solid rgba(0,191,232,.35); outline-offset: 3px; }

/* Elementor editor clarity: irrelevant media controls are hidden by control conditions. */
.elementor-control-type-media .elementor-control-media__preview { background-size: contain; background-position: center; background-repeat: no-repeat; }
.carousel-button .qp-icon { width: 20px; height: 20px; }
.carousel-button--prev .qp-icon { transform: rotate(180deg); }
.select-field::after { content: "" !important; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); top: calc(50% - 5px); }
.product-breadcrumb .qp-icon { width: 14px; height: 14px; color: var(--muted); }
.qty-control button .qp-icon { width: 17px; height: 17px; }

/* ================================================================
   Homepage collection explorer + manual testimonial slider (v1.2.1)
   ================================================================ */
.qp-collection-explorer { position: relative; overflow: hidden; }
.qp-collection-explorer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 8% 12%, rgba(0,191,232,.08), transparent 25%),
    radial-gradient(circle at 90% 20%, rgba(113,87,231,.07), transparent 28%);
}
.qp-collection-explorer > .container { position: relative; z-index: 1; }
.qp-collection-explorer__heading {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.65fr);
  align-items: end;
  gap: clamp(32px,6vw,90px);
  margin-bottom: 52px;
}
.qp-collection-explorer__heading h2 { max-width: 760px; margin: 14px 0 0; }
.qp-collection-explorer__intro { max-width: 520px; justify-self: end; }
.qp-collection-explorer__intro p { margin: 0; font-size: 1.06rem; }
.qp-collection-explorer__grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  grid-auto-flow: dense;
  gap: 22px;
}
.qp-collection-tile {
  --tile-bg: linear-gradient(145deg,#fff 0%,#f7faff 100%);
  --tile-ink: var(--ink);
  --tile-copy: var(--muted);
  --tile-line: rgba(10,37,65,.1);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(120px,.72fr);
  min-height: 300px;
  overflow: hidden;
  border: 1px solid var(--tile-line);
  border-radius: 30px;
  color: var(--tile-ink);
  background: var(--tile-bg);
  box-shadow: 0 14px 42px rgba(11,26,48,.07);
  isolation: isolate;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.qp-collection-tile::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 260px;
  height: 260px;
  right: -100px;
  bottom: -120px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(0,191,232,.13),rgba(113,87,231,.07) 42%,transparent 69%);
  transition: transform .45s ease;
}
.qp-collection-tile:hover { transform: translateY(-7px); border-color: rgba(16,139,197,.24); box-shadow: 0 28px 70px rgba(9,28,50,.14); }
.qp-collection-tile:hover::before { transform: scale(1.18); }
.qp-collection-tile--featured { grid-column: span 7; grid-row: span 2; min-height: 548px; }
.qp-collection-tile--2,.qp-collection-tile--3 { grid-column: span 5; min-height: 263px; }
.qp-collection-tile--4,.qp-collection-tile--5,.qp-collection-tile--6 { grid-column: span 4; min-height: 330px; }
.qp-collection-tile--image,.qp-collection-tile--dark {
  --tile-bg: linear-gradient(140deg,#07111d 0%,#0d1728 48%,#15152e 100%);
  --tile-ink: #fff;
  --tile-copy: #b9c7d8;
  --tile-line: rgba(255,255,255,.08);
}
.qp-collection-tile--soft {
  --tile-bg:
    radial-gradient(circle at 84% 20%,rgba(45,224,255,.11),transparent 31%),
    linear-gradient(145deg,#fff 0%,#f4f9ff 100%);
}
.qp-collection-tile--3 {
  --tile-bg: linear-gradient(145deg,#0a1422 0%,#10182c 55%,#171536 100%);
  --tile-ink: #fff;
  --tile-copy: #b9c7d8;
  --tile-line: rgba(255,255,255,.08);
}
.qp-collection-tile--5 {
  --tile-bg: linear-gradient(145deg,#101727 0%,#111a2e 56%,#18173a 100%);
  --tile-ink: #fff;
  --tile-copy: #becadd;
  --tile-line: rgba(255,255,255,.08);
}
.qp-collection-tile__content {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px;
}
.qp-collection-tile--featured .qp-collection-tile__content { padding: 42px; }
.qp-collection-tile__top {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: auto;
}
.qp-collection-tile__icon {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  overflow: hidden;
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(135deg,#23daf6,#078fce 52%,#7355e8);
  box-shadow: 0 16px 32px rgba(21,167,214,.26);
}
.qp-collection-tile__icon img { width: 36px; height: 36px; object-fit: contain; }
.qp-collection-tile__icon span { font-weight: 700; }
.qp-collection-tile__tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(20,105,168,.12);
  border-radius: 999px;
  color: var(--blue);
  background: rgba(255,255,255,.75);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}
.qp-collection-tile--image .qp-collection-tile__tag,.qp-collection-tile--dark .qp-collection-tile__tag,.qp-collection-tile--3 .qp-collection-tile__tag,.qp-collection-tile--5 .qp-collection-tile__tag {
  color: #c9eff8;
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.07);
}
.qp-collection-tile__meta {
  display: block;
  margin: 30px 0 10px;
  color: var(--blue);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.qp-collection-tile--image .qp-collection-tile__meta,.qp-collection-tile--dark .qp-collection-tile__meta,.qp-collection-tile--3 .qp-collection-tile__meta,.qp-collection-tile--5 .qp-collection-tile__meta { color: var(--cyan-bright); }
.qp-collection-tile h3 { max-width: 340px; margin: 0 0 13px; color: var(--tile-ink); font-size: clamp(1.45rem,2vw,2rem); }
.qp-collection-tile--featured h3 { max-width: 430px; font-size: clamp(2.25rem,3.4vw,3.7rem); }
.qp-collection-tile p { max-width: 390px; margin: 0 0 24px; color: var(--tile-copy); font-size: .94rem; }
.qp-collection-tile--featured p { font-size: 1.04rem; }
.qp-collection-tile__link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  color: var(--blue);
  font-size: .84rem;
  font-weight: 700;
}
.qp-collection-tile--image .qp-collection-tile__link,.qp-collection-tile--dark .qp-collection-tile__link,.qp-collection-tile--3 .qp-collection-tile__link,.qp-collection-tile--5 .qp-collection-tile__link { color: var(--cyan-bright); }
.qp-collection-tile__link .qp-icon { transition: transform .25s ease; }
.qp-collection-tile__link:hover .qp-icon { transform: translateX(4px); }
.qp-collection-tile__media {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}
.qp-collection-tile__media::before {
  content: "";
  position: absolute;
  inset: 15% 4% -20%;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(180deg,rgba(45,224,255,.12),rgba(113,87,231,.06));
}
.qp-collection-tile__halo {
  position: absolute;
  width: 170px;
  height: 170px;
  bottom: 18%;
  border: 1px solid rgba(45,224,255,.17);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(113,87,231,.045),0 0 0 60px rgba(45,224,255,.025);
}
.qp-collection-tile__media img {
  position: relative;
  z-index: 2;
  width: min(88%,240px);
  height: 86%;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 24px 28px rgba(0,0,0,.27));
  transition: transform .42s cubic-bezier(.2,.8,.2,1);
}
.qp-collection-tile:hover .qp-collection-tile__media img { transform: translateY(-7px) scale(1.035); }
.qp-collection-tile--featured .qp-collection-tile__media img { width: min(96%,340px); height: 90%; }
.qp-collection-tile--2,.qp-collection-tile--3 { grid-template-columns: minmax(0,1.18fr) minmax(112px,.62fr); }
.qp-collection-tile--2 .qp-collection-tile__content,.qp-collection-tile--3 .qp-collection-tile__content { padding: 25px 26px; }
.qp-collection-tile--2 .qp-collection-tile__icon,.qp-collection-tile--3 .qp-collection-tile__icon { width: 50px; height: 50px; border-radius: 16px; }
.qp-collection-tile--2 .qp-collection-tile__icon img,.qp-collection-tile--3 .qp-collection-tile__icon img { width: 29px; height: 29px; }
.qp-collection-tile--2 .qp-collection-tile__meta,.qp-collection-tile--3 .qp-collection-tile__meta { margin-top: 18px; }
.qp-collection-tile--2 h3,.qp-collection-tile--3 h3 { font-size: 1.45rem; }
.qp-collection-tile--2 p,.qp-collection-tile--3 p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin-bottom: 14px; }
.qp-collection-tile--2 .qp-collection-tile__tag,.qp-collection-tile--3 .qp-collection-tile__tag { display: none; }
.qp-collection-tile--4,.qp-collection-tile--5,.qp-collection-tile--6 { grid-template-columns: 1fr; }
.qp-collection-tile--4 .qp-collection-tile__media,.qp-collection-tile--5 .qp-collection-tile__media,.qp-collection-tile--6 .qp-collection-tile__media {
  position: absolute;
  right: -18px;
  bottom: -28px;
  width: 42%;
  height: 62%;
  opacity: .95;
}
.qp-collection-tile--4 .qp-collection-tile__content,.qp-collection-tile--5 .qp-collection-tile__content,.qp-collection-tile--6 .qp-collection-tile__content { padding: 28px; }
.qp-collection-tile--4 h3,.qp-collection-tile--5 h3,.qp-collection-tile--6 h3,.qp-collection-tile--4 p,.qp-collection-tile--5 p,.qp-collection-tile--6 p { max-width: 68%; }
.qp-collection-tile--4 .qp-collection-tile__tag,.qp-collection-tile--5 .qp-collection-tile__tag,.qp-collection-tile--6 .qp-collection-tile__tag { display: none; }
.qp-collection-tile--4 .qp-collection-tile__meta,.qp-collection-tile--5 .qp-collection-tile__meta,.qp-collection-tile--6 .qp-collection-tile__meta { margin-top: 24px; }

.qp-testimonials {
  --qp-testimonials-bg: none;
  position: relative;
  overflow: hidden;
  padding: 112px 0;
  color: #fff;
  background:
    linear-gradient(115deg,rgba(6,15,27,.98),rgba(11,17,34,.95)),
    var(--qp-testimonials-bg) center/cover no-repeat;
}
.qp-testimonials::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 8% 10%,rgba(45,224,255,.17),transparent 27%),
    radial-gradient(circle at 88% 10%,rgba(113,87,231,.18),transparent 30%);
}
.qp-testimonials::after {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  right: -250px;
  bottom: -340px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.018);
}
.qp-testimonials > .container { position: relative; z-index: 2; }
.qp-testimonials__header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 30px;
  margin-bottom: 42px;
}
.qp-testimonials__intro { max-width: 850px; }
.qp-testimonials__intro .eyebrow { color: var(--cyan-bright); }
.qp-testimonials__intro h2 { max-width: 780px; margin: 14px 0 16px; color: #fff; }
.qp-testimonials__intro p { max-width: 680px; margin: 0; color: #b9c7da; font-size: 1.03rem; }
.qp-testimonials__controls { display: flex; gap: 10px; }
.qp-testimonials__controls button {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.055);
  cursor: pointer;
  transition: .25s ease;
}
.qp-testimonials__controls button:hover { color: #07111e; border-color: var(--cyan-bright); background: var(--cyan-bright); transform: translateY(-2px); }
.qp-testimonials__editor-note {
  margin: -22px 0 24px;
  padding: 10px 14px;
  border: 1px solid rgba(45,224,255,.22);
  border-radius: 12px;
  color: #bcebf4;
  background: rgba(45,224,255,.07);
  font-size: .78rem;
}
.qp-testimonials__viewport { overflow: hidden; }
.qp-testimonials__track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  padding: 5px 2px 20px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}
.qp-testimonials__track::-webkit-scrollbar { display: none; }
.qp-testimonial {
  position: relative;
  display: flex;
  flex: 0 0 calc(50% - 11px);
  min-height: 390px;
  flex-direction: column;
  overflow: hidden;
  padding: 34px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  background: linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08),0 24px 60px rgba(0,0,0,.18);
  scroll-snap-align: start;
  backdrop-filter: blur(14px);
}
.qp-testimonial::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -110px;
  top: -110px;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(45,224,255,.14),rgba(113,87,231,.06) 48%,transparent 70%);
}
.qp-testimonial__top { position: relative; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.qp-testimonial__quote { height: 58px; color: var(--cyan-bright); font-family: Georgia,serif; font-size: 5rem; line-height: .9; }
.qp-testimonial__stars { display: flex; gap: 3px; padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.06); }
.qp-testimonial__stars span { color: rgba(255,255,255,.24); font-size: .82rem; }
.qp-testimonial__stars span.is-active { color: #ffd36a; }
.qp-testimonial blockquote {
  position: relative;
  z-index: 2;
  margin: 26px 0 34px;
  color: #f6f9ff;
  font-size: clamp(1.35rem,2vw,1.85rem);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.42;
}
.qp-testimonial__author {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.09);
}
.qp-testimonial__author img,.qp-testimonial__avatar {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 18px;
  object-fit: cover;
  color: #fff;
  background: linear-gradient(135deg,#20d5f3,#0d8dcc 48%,#7557e8);
  font-weight: 700;
  box-shadow: 0 12px 25px rgba(0,0,0,.2);
}
.qp-testimonial__author strong,.qp-testimonial__author span { display: block; }
.qp-testimonial__author strong { color: #fff; font-size: 1rem; }
.qp-testimonial__author span { margin-top: 3px; color: #aebed1; font-size: .82rem; }
.qp-testimonial__author > a {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.045);
}
.qp-testimonial__author > a:hover { color: #07111e; background: var(--cyan-bright); }
.qp-testimonials__pagination { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.qp-testimonials__pagination button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.25);
  cursor: pointer;
  transition: width .25s ease,background .25s ease;
}
.qp-testimonials__pagination button.is-active { width: 30px; background: var(--cyan-bright); }

@media (max-width: 1120px) {
  .qp-collection-explorer__heading { grid-template-columns: 1fr; gap: 18px; }
  .qp-collection-explorer__intro { justify-self: start; }
  .qp-collection-tile--featured { grid-column: span 12; grid-row: auto; min-height: 480px; }
  .qp-collection-tile--2,.qp-collection-tile--3 { grid-column: span 6; min-height: 300px; }
  .qp-collection-tile--4,.qp-collection-tile--5,.qp-collection-tile--6 { grid-column: span 4; }
}
@media (max-width: 860px) {
  .qp-collection-tile--2,.qp-collection-tile--3,.qp-collection-tile--4,.qp-collection-tile--5,.qp-collection-tile--6 { grid-column: span 6; }
  .qp-collection-tile--featured { min-height: 440px; }
  .qp-testimonial { flex-basis: 78%; }
}
@media (max-width: 680px) {
  .qp-collection-explorer__heading { margin-bottom: 34px; }
  .qp-collection-explorer__grid { gap: 16px; }
  .qp-collection-tile:nth-child(n) { grid-column: 1 / -1; min-height: 330px; }
  .qp-collection-tile--featured { min-height: 480px; }
  .qp-collection-tile { grid-template-columns: minmax(0,1.1fr) minmax(105px,.65fr); border-radius: 24px; }
  .qp-collection-tile__content,.qp-collection-tile--featured .qp-collection-tile__content { padding: 24px; }
  .qp-collection-tile__icon { width: 52px; height: 52px; border-radius: 16px; }
  .qp-collection-tile__icon img { width: 30px; height: 30px; }
  .qp-collection-tile__tag { display: none; }
  .qp-collection-tile--featured h3 { font-size: 2.4rem; }
  .qp-collection-tile--4,.qp-collection-tile--5,.qp-collection-tile--6 { grid-template-columns: minmax(0,1.1fr) minmax(105px,.65fr); }
  .qp-collection-tile--4 .qp-collection-tile__media,.qp-collection-tile--5 .qp-collection-tile__media,.qp-collection-tile--6 .qp-collection-tile__media { position: relative; right: auto; bottom: auto; width: auto; height: auto; }
  .qp-collection-tile--4 h3,.qp-collection-tile--5 h3,.qp-collection-tile--6 h3,.qp-collection-tile--4 p,.qp-collection-tile--5 p,.qp-collection-tile--6 p { max-width: 100%; }
  .qp-testimonials { padding: 82px 0; }
  .qp-testimonials__header { grid-template-columns: 1fr; align-items: start; }
  .qp-testimonials__controls { justify-self: start; }
  .qp-testimonial { flex-basis: 92%; min-height: 380px; padding: 27px; }
  .qp-testimonial blockquote { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .qp-collection-tile,.qp-collection-tile__media img,.qp-testimonials__track { transition: none !important; scroll-behavior: auto !important; }
}

/* Media framing controls and safer responsive cropping — v1.2.1 */
.qp-elementor-section .photo-split__media,
.qp-elementor-section .guide-showcase__image,
.qp-elementor-section .statement-media__visual,
.qp-elementor-section .blog-feature__image,
.qp-elementor-section .editorial-main {
  background-color: #0b1422;
}
.qp-elementor-section .photo-split__media img,
.qp-elementor-section .guide-showcase__image img,
.qp-elementor-section .statement-media__visual img,
.qp-elementor-section .blog-feature__image img,
.qp-elementor-section .editorial-main > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.qp-elementor-section .page-hero,
.qp-elementor-section .guide-photo-band {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.qp-testimonials {
  --qp-testimonials-position: center center;
  background:
    linear-gradient(115deg,rgba(6,15,27,.98),rgba(11,17,34,.95)),
    var(--qp-testimonials-bg) var(--qp-testimonials-position)/cover no-repeat;
}
.qp-testimonials__viewport { width: 100%; min-width: 0; }
.qp-testimonials__track { width: 100%; }
.qp-testimonial { min-width: 0; }
.elementor-editor-active .qp-testimonials { min-height: 520px; }
.elementor-editor-active .qp-testimonials__editor-note { display: block; }

@media (max-width: 860px) {
  .qp-elementor-section .statement-media__visual,
  .qp-elementor-section .photo-split__media,
  .qp-elementor-section .guide-showcase__image { min-height: 360px; }
  .qp-elementor-section .statement-media__visual img { min-height: 360px; }
}
@media (max-width: 680px) {
  .qp-testimonials__viewport { overflow: visible; }
  .qp-testimonials__track { overflow-x: auto; padding-right: 7%; }
  .qp-testimonial { flex-basis: 93%; min-height: 360px; }
  .qp-elementor-section .statement-media__visual,
  .qp-elementor-section .photo-split__media,
  .qp-elementor-section .guide-showcase__image { min-height: 300px; }
  .qp-elementor-section .statement-media__visual img { min-height: 300px; }
}

/* === v1.2.2 client polish fixes === */
:root {
  --gradient: #0b8fd1;
  --gradient-soft: rgba(11,143,209,.08);
  --gradient-dark: #071525;
  --shadow-neon: 0 18px 42px rgba(11,143,209,.18);
}
.gradient-text {
  background: none !important;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  color: var(--blue);
}
.hero__copy h1,
.page-hero h1 { font-size: clamp(2.8rem, 5.5vw, 5rem); }
.section-heading h2,
.photo-split__copy h2,
.guide-showcase__copy h2,
.statement-media__copy h2,
.blog-feature__body h2,
.newsletter h2,
.qp-testimonials__intro h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.statement-media__copy h2 { max-width: 820px; }
.qp-collection-tile h3 { font-size: clamp(1.3rem, 1.8vw, 1.7rem); }
.qp-collection-tile--featured h3 { font-size: clamp(2rem, 3vw, 3.1rem); }

.button--primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.quick-add,
.icon-ribbon__text-icon,
.qp-collection-tile__icon {
  background: var(--blue);
}
.qp-testimonials,
.page-hero,
.guide-photo-band,
.newsletter,
.statement-band,
.section--dark,
.editorial-card--dark,
.process-card--dark {
  background-color: var(--gradient-dark);
}
.qp-testimonials::before,
.qp-testimonials::after,
.page-hero::after,
.product-card__media::before,
.product-card__media::after,
.photo-split__media::after,
.guide-showcase__image::after {
  display: none !important;
}

/* Product cards: make thumbnails fill the media area cleanly */
.product-card__media {
  height: 340px;
  padding: 0;
  background: #eef3f8;
}
.product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: none;
}

/* Collection explorer: simpler cards with stock-background imagery only */
.qp-collection-explorer::before,
.qp-collection-tile__media,
.qp-collection-tile__halo {
  display: none !important;
}
.qp-collection-tile {
  position: relative;
  grid-template-columns: 1fr !important;
  align-items: end;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.08);
  background-color: #0b1625;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-blend-mode: multiply;
  box-shadow: none;
}
.qp-collection-tile::before { display: none !important; }
.qp-collection-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(7,21,37,.55);
}
.qp-collection-tile:nth-child(1) { background-image: url('../images/stock/lab-reaction-clean-wide.webp'); }
.qp-collection-tile:nth-child(2) { background-image: url('../images/stock/test-tubes-blue-clean-wide.webp'); }
.qp-collection-tile:nth-child(3) { background-image: url('../images/stock/microscope-lab.webp'); }
.qp-collection-tile:nth-child(4) { background-image: url('../images/stock/blue-flask.webp'); background-position: center 42%; }
.qp-collection-tile:nth-child(5) { background-image: url('../images/stock/lab-reaction-clean-wide.webp'); background-position: center 38%; }
.qp-collection-tile:nth-child(6) { background-image: url('../images/stock/blue-glassware-clean-wide.webp'); }
.qp-collection-tile,
.qp-collection-tile--image,
.qp-collection-tile--soft,
.qp-collection-tile--dark,
.qp-collection-tile--3,
.qp-collection-tile--5 {
  --tile-ink: #ffffff;
  --tile-copy: rgba(255,255,255,.84);
}
.qp-collection-tile__content,
.qp-collection-tile--featured .qp-collection-tile__content {
  position: relative;
  z-index: 2;
  padding: 32px;
}
.qp-collection-tile__icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  box-shadow: none;
}
.qp-collection-tile__tag,
.qp-collection-tile__meta,
.qp-collection-tile__link,
.qp-collection-tile p,
.qp-collection-tile h3 { position: relative; z-index: 2; }
.qp-collection-tile__meta,
.qp-collection-tile--image .qp-collection-tile__meta,
.qp-collection-tile--dark .qp-collection-tile__meta,
.qp-collection-tile--3 .qp-collection-tile__meta,
.qp-collection-tile--5 .qp-collection-tile__meta,
.qp-collection-tile__link,
.qp-collection-tile--image .qp-collection-tile__link,
.qp-collection-tile--dark .qp-collection-tile__link,
.qp-collection-tile--3 .qp-collection-tile__link,
.qp-collection-tile--5 .qp-collection-tile__link { color: #c8f4ff; }
.qp-collection-tile p { max-width: 520px; }
.qp-collection-tile--4 h3,
.qp-collection-tile--5 h3,
.qp-collection-tile--6 h3,
.qp-collection-tile--4 p,
.qp-collection-tile--5 p,
.qp-collection-tile--6 p { max-width: 100%; }

/* Section/media fixes so images cover without black gaps */
.qp-elementor-section .statement-media,
.qp-elementor-section .photo-split,
.qp-elementor-section .guide-showcase,
.qp-elementor-section .blog-feature {
  align-items: stretch;
}
.qp-elementor-section .statement-media__visual,
.qp-elementor-section .photo-split__media,
.qp-elementor-section .guide-showcase__image,
.qp-elementor-section .blog-feature__image {
  display: block;
  min-height: 520px;
  background: #e9eff5;
}
.qp-elementor-section .statement-media__visual img,
.qp-elementor-section .photo-split__media img,
.qp-elementor-section .guide-showcase__image img,
.qp-elementor-section .blog-feature__image img,
.qp-elementor-section .editorial-main > img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
}
.qp-elementor-section .page-hero,
.qp-elementor-section .guide-photo-band,
.qp-testimonials {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-blend-mode: multiply;
}
.qp-testimonials {
  background-image: var(--qp-testimonials-bg);
}
.qp-testimonial {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(10px);
}
.qp-testimonial::before { display: none; }

@media (max-width: 860px) {
  .hero__copy h1,
  .page-hero h1 { font-size: clamp(2.5rem, 9vw, 4rem); }
  .section-heading h2,
  .photo-split__copy h2,
  .guide-showcase__copy h2,
  .statement-media__copy h2,
  .blog-feature__body h2,
  .newsletter h2,
  .qp-testimonials__intro h2 { font-size: clamp(1.85rem, 7vw, 3rem); }
  .product-card__media { height: 320px; }
}
body[data-page="shop"] .page-hero,
body[data-page="cart"] .page-hero,
body[data-page="checkout"] .page-hero,
body[data-page="account"] .page-hero,
body[data-page="order-confirmation"] .page-hero,
body[data-page="product"] .page-hero,
body[data-page="research"] .page-hero,
body[data-page="shipping"] .page-hero,
body[data-page="terms"] .page-hero,
body[data-page="privacy"] .page-hero {
  background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important;
  background-color: #071525;
}
body[data-page="about"] .page-hero,
body[data-page="faq"] .page-hero { background-image: url('../images/stock/microscope-lab.webp') !important; background-color: #071525; }
body[data-page="guide"] .page-hero { background-image: url('../images/stock/blue-flask.webp') !important; background-color: #071525; }
body[data-page="blog"] .page-hero,
body[data-page="article"] .page-hero { background-image: url('../images/stock/lab-reaction-clean-wide.webp') !important; background-color: #071525; }
body[data-page="contact"] .page-hero { background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important; background-color: #071525; }

/* === v1.2.3 comprehensive UX/content polish === */
:root {
  --gradient: #1479c4;
  --gradient-soft: #eef6fb;
  --gradient-dark: #071525;
}

/* Buttons use real SVG arrows; no encoded Unicode arrows. */
.button,
.quick-add,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  gap: 9px;
}
.qp-button-icon,
.qp-inline-icon { flex: 0 0 auto; vertical-align: middle; }
.button--primary,
.quick-add,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.confirmation-check,
.checkout-progress span.is-active b,
.process-step__number,
.feature-list__icon,
.qp-collection-tile__icon {
  background: #1479c4 !important;
  background-image: none !important;
}
.button--primary:hover,
.quick-add:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: #0b5f9f !important; }

/* Smaller, more controlled type scale. */
.hero__copy h1 { font-size: clamp(3rem, 5.4vw, 5.2rem) !important; line-height: .98; }
.page-hero h1 { font-size: clamp(2.8rem, 5vw, 4.6rem) !important; line-height: 1; }
.section-heading h2,
.photo-split__copy h2,
.guide-showcase__copy h2,
.statement-media__copy h2,
.blog-feature__body h2,
.newsletter h2,
.qp-testimonials__intro h2,
.guide-photo-band__copy h2 { font-size: clamp(2rem, 3.6vw, 3.25rem) !important; line-height: 1.06; }
.qp-collection-tile h3 { font-size: clamp(1.35rem, 1.7vw, 1.7rem) !important; }
.qp-collection-tile--featured h3 { font-size: clamp(1.65rem, 2vw, 2rem) !important; }

/* Every full-width page banner gets a solid dark overlay. */
.hero,
.page-hero {
  isolation: isolate;
  background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #071525 !important;
}
.hero::before,
.page-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  opacity: 1 !important;
  background: rgba(4, 14, 25, .68) !important;
  background-image: none !important;
  mask-image: none !important;
  pointer-events: none;
}
.hero::after,
.page-hero::after { display: none !important; }
.hero > .container,
.hero__inner,
.page-hero > .container { position: relative; z-index: 2; }
body[data-page="shop"] .page-hero,
body[data-page="cart"] .page-hero,
body[data-page="checkout"] .page-hero,
body[data-page="account"] .page-hero,
body[data-page="order-confirmation"] .page-hero,
body[data-page="product"] .page-hero,
body[data-page="research"] .page-hero,
body[data-page="shipping"] .page-hero,
body[data-page="terms"] .page-hero,
body[data-page="privacy"] .page-hero { background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important; }
body[data-page="about"] .page-hero,
body[data-page="faq"] .page-hero { background-image: url('../images/stock/microscope-lab.webp') !important; }
body[data-page="guide"] .page-hero { background-image: url('../images/stock/blue-flask.webp') !important; background-position: center 45% !important; }
body[data-page="blog"] .page-hero,
body[data-page="article"] .page-hero { background-image: url('../images/stock/lab-reaction-clean-wide.webp') !important; }
body[data-page="contact"] .page-hero { background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important; }

/* Guide/photo bands use the same solid-overlay treatment. */
.guide-photo-band,
.shop-callout,
.contact-info,
.auth-layout,
.guide-cta,
.empty-cart,
.order-confirmation-hero {
  position: relative;
  isolation: isolate;
  background-color: #15283a !important;
  background-blend-mode: multiply;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
}
.guide-photo-band::before,
.shop-callout::before,
.contact-info::before,
.auth-layout::before,
.guide-cta::before,
.empty-cart::before,
.order-confirmation-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(4,14,25,.56) !important;
  background-image: none !important;
  pointer-events: none;
}
.guide-photo-band > *,
.shop-callout > *,
.contact-info > *,
.auth-layout > *,
.guide-cta > *,
.empty-cart > *,
.order-confirmation-hero > * { position: relative; z-index: 2; }

/* Product cards: image fills the media frame. */
.product-card__media {
  height: 345px !important;
  padding: 0 !important;
  background: #edf2f7 !important;
  background-image: none !important;
}
.product-card__media::before,
.product-card__media::after { display: none !important; }
.product-card__media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: none !important;
  transform: none !important;
}
.product-card:hover .product-card__media img { transform: scale(1.02) !important; }

/* Research-area explorer: simple equal cards, open-source lab backgrounds, no product cut-outs. */
.qp-collection-explorer {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 20px !important;
}
.qp-collection-tile,
.qp-collection-tile--featured,
.qp-collection-tile--2,
.qp-collection-tile--3,
.qp-collection-tile--4,
.qp-collection-tile--5,
.qp-collection-tile--6 {
  grid-column: auto !important;
  grid-row: auto !important;
  grid-template-columns: 1fr !important;
  min-height: 315px !important;
  align-items: end !important;
  border: 0 !important;
  border-radius: 26px !important;
  background-color: #172638 !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-blend-mode: multiply;
  box-shadow: 0 18px 42px rgba(7,20,35,.10) !important;
}
.qp-collection-tile:nth-child(1) { background-image: url('../images/stock/lab-reaction-clean-wide.webp') !important; }
.qp-collection-tile:nth-child(2) { background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important; }
.qp-collection-tile:nth-child(3) { background-image: url('../images/stock/microscope-lab.webp') !important; }
.qp-collection-tile:nth-child(4) { background-image: url('../images/stock/blue-flask.webp') !important; background-position: center 42% !important; }
.qp-collection-tile:nth-child(5) { background-image: url('../images/stock/lab-reaction-clean-wide.webp') !important; background-position: center 40% !important; }
.qp-collection-tile:nth-child(6) { background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important; }
.qp-collection-tile::before { display: none !important; }
.qp-collection-tile::after {
  content: "";
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(5,16,29,.56) !important;
  background-image: none !important;
}
.qp-collection-tile__media,
.qp-collection-tile__halo { display: none !important; }
.qp-collection-tile__content,
.qp-collection-tile--featured .qp-collection-tile__content,
.qp-collection-tile--2 .qp-collection-tile__content,
.qp-collection-tile--3 .qp-collection-tile__content,
.qp-collection-tile--4 .qp-collection-tile__content,
.qp-collection-tile--5 .qp-collection-tile__content,
.qp-collection-tile--6 .qp-collection-tile__content {
  position: relative;
  z-index: 2;
  padding: 28px !important;
}
.qp-collection-tile__top { margin-bottom: 42px; }
.qp-collection-tile__icon { width: 52px; height: 52px; border-radius: 15px; box-shadow: none !important; }
.qp-collection-tile__icon img { width: 29px; height: 29px; }
.qp-collection-tile__tag { display: none !important; }
.qp-collection-tile__meta { margin: 0 0 10px !important; color: #9fe8f7 !important; }
.qp-collection-tile h3,
.qp-collection-tile p { max-width: 100% !important; color: #fff !important; }
.qp-collection-tile p { color: #d7e1ec !important; margin-bottom: 18px !important; }
.qp-collection-tile__link { color: #8ee9fa !important; }

/* Prevent black/empty bands by making editorial images fill their containers. */
.qp-elementor-section .photo-split__media,
.qp-elementor-section .statement-media__visual,
.qp-elementor-section .guide-showcase__image,
.qp-elementor-section .blog-feature__image,
.qp-elementor-section .editorial-main {
  position: relative !important;
  overflow: hidden !important;
  background: #eaf0f5 !important;
  background-image: none !important;
}
.qp-elementor-section .photo-split__media img,
.qp-elementor-section .statement-media__visual img,
.qp-elementor-section .guide-showcase__image img,
.qp-elementor-section .blog-feature__image img,
.qp-elementor-section .editorial-main > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.photo-split__media::after,
.guide-showcase__image::after,
.editorial-main::after { display: none !important; }
.statement-band,
.section--dark,
.newsletter,
.editorial-panel--dark { background: #071525 !important; background-image: none !important; }

/* About Us: editorial, image-led, and factual rather than design commentary. */
.qp-about-hero { min-height: 570px !important; }
.qp-about-hero .container { max-width: 1200px; }
.qp-about-intro .photo-split,
.qp-about-order .photo-split { gap: 72px; align-items: stretch; }
.qp-about-intro .photo-split__media,
.qp-about-order .photo-split__media { min-height: 610px !important; border-radius: 30px; }
.qp-about-intro .feature-list,
.qp-about-order .feature-list { gap: 0; margin-top: 28px; }
.qp-about-intro .feature-list article,
.qp-about-order .feature-list article {
  grid-template-columns: 54px 1fr;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  background: transparent !important;
}
.qp-about-intro .feature-list__icon img,
.qp-about-order .feature-list__icon img { width: 25px; height: 25px; object-fit: contain; }
.qp-about-research { padding: 82px 0 !important; background: #071525 !important; }
.qp-about-research .statement-media { gap: 64px; min-height: 500px; }
.qp-about-research .statement-media__visual { min-height: 500px !important; border-radius: 28px; }
.qp-about-order { background: #f4f7fa; }
.qp-about-process .numbered-rows { border-top: 1px solid var(--line); }
.qp-about-process .numbered-row {
  display: grid;
  grid-template-columns: 72px minmax(200px,.75fr) minmax(0,1.25fr);
  gap: 28px;
  align-items: start;
  padding: 25px 0;
  border-bottom: 1px solid var(--line);
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.qp-about-process .numbered-row__number { color: #1479c4; font-weight: 700; }
.qp-about-process .numbered-row h3,
.qp-about-process .numbered-row p { margin: 0; }
.qp-about-cta .guide-cta,
.qp-about-cta { background-color: #f4f7fa !important; background-image: none !important; }

/* Testimonials stay manual-only and visually neutral if the client later adds them. */
.qp-testimonials {
  background-color: #071525 !important;
  background-image: var(--qp-testimonials-bg) !important;
  background-size: cover !important;
  background-position: var(--qp-testimonials-position) !important;
  isolation: isolate;
}
.qp-testimonials::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(4,14,25,.78) !important;
  background-image: none !important;
}
.qp-testimonials::after { display: none !important; }
.qp-testimonial { background: rgba(255,255,255,.08) !important; background-image: none !important; }
.qp-testimonial::before { display: none !important; }

/* Product details: no fake review stars. */
.product-rating { color: #566477; }
.product-rating .qp-icon { color: #1479c4; }
.product-rating__stars { display: none !important; }

/* Contact icons now support SVG/media controls. */
.contact-method__icon img { width: 24px; height: 24px; object-fit: contain; }

/* Honest empty state for the journal while client articles are awaiting approval. */
.journal-empty {
  max-width: 820px;
  margin: 0 auto;
  padding: 72px 54px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  text-align: center;
  box-shadow: var(--shadow-xs);
}
.journal-empty h2 { margin: 12px 0 14px; font-size: clamp(2rem,3.5vw,3rem); }
.journal-empty p { max-width: 620px; margin: 0 auto 26px; }

/* Remove remaining visible gradient treatments from core commerce UI. */
.account-intro,
.product-gallery__main,
.quick-view__media,
.confirmation-hero,
.guide-cta,
.collection-card,
.insight-card,
.pillar-card,
.protocol-card,
.highlight-card,
.guide-resource-card,
.value-card { background-image: none !important; }
.account-intro,
.confirmation-hero { background-color: #f4f7fa !important; }
.product-gallery__main,
.quick-view__media { background-color: #edf2f7 !important; }

@media (max-width: 980px) {
  .qp-collection-explorer { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .qp-about-intro .photo-split,
  .qp-about-order .photo-split,
  .qp-about-research .statement-media { gap: 36px; }
  .qp-about-intro .photo-split__media,
  .qp-about-order .photo-split__media,
  .qp-about-research .statement-media__visual { min-height: 430px !important; }
}
@media (max-width: 680px) {
  .hero__copy h1,
  .page-hero h1 { font-size: clamp(2.45rem, 12vw, 3.7rem) !important; }
  .section-heading h2,
  .photo-split__copy h2,
  .guide-showcase__copy h2,
  .statement-media__copy h2,
  .blog-feature__body h2,
  .newsletter h2,
  .qp-testimonials__intro h2,
  .guide-photo-band__copy h2 { font-size: clamp(1.8rem, 8vw, 2.65rem) !important; }
  .qp-collection-explorer { grid-template-columns: 1fr !important; }
  .qp-collection-tile { min-height: 280px !important; }
  .product-card__media { height: 310px !important; }
  .qp-about-intro .photo-split__media,
  .qp-about-order .photo-split__media,
  .qp-about-research .statement-media__visual { min-height: 330px !important; }
  .qp-about-process .numbered-row { grid-template-columns: 46px 1fr; gap: 14px; }
  .qp-about-process .numbered-row p { grid-column: 2; }
  .journal-empty { padding: 46px 24px; }
}

/* === v1.2.3 gradient-free visual pass === */
.button::before,
.button--primary::before { display: none !important; }
.button--primary,
.nav-link.is-active::after,
.hero-stat__icon,
.trust-item__icon,
.collection-card__icon,
.feature-list__icon,
.guide-tabs button.is-active,
.highlight-card__icon,
.pillar-card__icon,
.insight-card__icon,
.guide-preview-card__icon,
.feature-ribbon__icon,
.account-nav li.is-active a,
.account-nav li a:hover,
.order-complete__icon,
.confirmation-check,
.checkout-progress span.is-active b,
.qp-testimonial__avatar {
  background: #1479c4 !important;
  background-image: none !important;
}
.hero {
  background-color: #071525 !important;
  background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-blend-mode: multiply;
}
.hero-stage,
.hero-orbit,
.hero-product,
.hero-stat,
.mega-menu__feature,
.lab-visual,
.asset-frame,
.section-banner,
.guide-preview-panel,
.guide-vial-card,
.editorial-feature,
.editorial-support--dark,
.about-lab-panel,
.science-band,
.mosaic-tile--dark,
.collection-card--dark-alt,
.principles-visual,
.protocol-card,
.insight-card,
.pillar-card,
.highlight-card,
.guide-resource-card,
.value-card,
.collection-card,
.collection-card--soft,
.collection-card--outline,
.shop-callout {
  background-image: none !important;
}
.hero-stage { background: rgba(20,121,196,.10) !important; }
.hero-product,
.hero-stat { background: rgba(255,255,255,.08) !important; }
.mega-menu__feature,
.lab-visual,
.section-banner,
.guide-preview-panel,
.guide-vial-card,
.editorial-feature,
.editorial-support--dark,
.about-lab-panel,
.science-band,
.mosaic-tile--dark,
.collection-card--dark-alt { background-color: #0b1828 !important; }
.asset-frame { background-color: rgba(255,255,255,.04) !important; }
.principles-visual,
.protocol-card,
.insight-card,
.pillar-card,
.highlight-card,
.guide-resource-card,
.value-card,
.collection-card,
.collection-card--soft,
.collection-card--outline { background-color: #fff !important; }
.process-steps::before { background: #cbd8e5 !important; }
.blog-card:nth-child(1) .blog-card__image { background-image: url('../images/stock/blue-flask.webp') !important; }
.blog-card:nth-child(2) .blog-card__image { background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important; }
.blog-card:nth-child(3) .blog-card__image { background-image: url('../images/stock/microscope.webp') !important; }
.blog-card:nth-child(4) .blog-card__image { background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important; }
.blog-card:nth-child(5) .blog-card__image { background-image: url('../images/stock/microscope-lab.webp') !important; }
.blog-card:nth-child(6) .blog-card__image { background-image: url('../images/stock/lab-reaction-clean-wide.webp') !important; }
.contact-info { background-image: url('../images/stock/microscope.webp') !important; }
.auth-layout { background-image: url('../images/stock/microscope-lab.webp') !important; }
.guide-cta { background-image: url('../images/stock/blue-flask.webp') !important; }
.empty-cart { background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important; }
.order-confirmation-hero { background-image: url('../images/stock/blue-flask.webp') !important; }
/* WordPress page slugs use the same banner treatments. */
body[data-page="about-us"] .page-hero { background-image: url('../images/stock/microscope-lab.webp') !important; }
body[data-page="peptide-guide"] .page-hero { background-image: url('../images/stock/blue-flask.webp') !important; background-position: center 45% !important; }
body[data-page="contact-us"] .page-hero { background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important; }
body[data-page="delivery-information"] .page-hero,
body[data-page="terms-and-conditions"] .page-hero,
body[data-page="privacy-policy"] .page-hero,
body[data-page="research-use"] .page-hero { background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important; }

/* === v1.2.4 layout repair and guide redesign === */
.qp-collection-explorer__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 22px !important;
  width: 100% !important;
}
.qp-collection-explorer__grid > .qp-collection-tile {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
.qp-collection-explorer .container {
  width: min(1320px, calc(100% - 48px)) !important;
  max-width: 1320px !important;
}
.qp-collection-tile__top { margin-bottom: 54px !important; }
.qp-collection-tile h3 { margin-bottom: 12px !important; }
.qp-collection-tile p { line-height: 1.65 !important; }

.qp-process-section .process-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 36px !important;
}
.qp-process-section .process-steps::before {
  top: 31px !important;
  left: 5% !important;
  right: 5% !important;
  background: #c9d7e5 !important;
}
.qp-process-section .process-step__number {
  width: 62px !important;
  height: 62px !important;
  margin-bottom: 22px !important;
  border: 0 !important;
  border-radius: 18px !important;
  color: #fff !important;
  background: #1479c4 !important;
  box-shadow: 0 12px 28px rgba(20,121,196,.18) !important;
}
.qp-process-section .process-step__number img {
  width: 27px !important;
  height: 27px !important;
  object-fit: contain !important;
}
.qp-process-section .process-step__number span { color: #fff !important; }
.qp-process-section .process-step h3 { margin: 0 0 10px !important; font-size: 1.3rem !important; }
.qp-process-section .process-step p { max-width: 290px; line-height: 1.65; }

.qp-guide-reference {
  padding-top: 88px !important;
  padding-bottom: 96px !important;
  background: #f3f7fb !important;
}
.qp-guide-reference .guide-layout {
  display: grid !important;
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: start !important;
}
.qp-guide-reference .guide-tabs {
  position: sticky !important;
  top: 118px !important;
  display: block !important;
  overflow: hidden !important;
  padding: 18px !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #081827 !important;
  box-shadow: 0 22px 55px rgba(7,24,39,.12) !important;
}
.guide-tabs__head {
  padding: 10px 10px 20px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.guide-tabs__label {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.guide-tabs__head small { display: block; color: #9fb0c4; line-height: 1.45; }
.qp-guide-reference .guide-tabs button {
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) 18px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 5px 0 0 !important;
  padding: 14px 12px !important;
  border: 0 !important;
  border-radius: 15px !important;
  color: #c6d2df !important;
  background: transparent !important;
  text-align: left !important;
  font-size: .9rem !important;
  line-height: 1.3 !important;
  transition: background .2s ease, color .2s ease !important;
}
.qp-guide-reference .guide-tabs button:hover {
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
}
.qp-guide-reference .guide-tabs button.is-active {
  color: #fff !important;
  background: #1479c4 !important;
  box-shadow: none !important;
}
.guide-tabs__index {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(255,255,255,.08);
  color: #8edff2;
  font-size: .69rem;
  font-weight: 700;
}
.guide-tabs button.is-active .guide-tabs__index { background: rgba(255,255,255,.15); color: #fff; }
.guide-tabs button .qp-icon { justify-self: end; opacity: .65; }
.guide-tabs button.is-active .qp-icon { opacity: 1; }
.qp-guide-reference .guide-panels { min-width: 0; }
.qp-guide-reference .guide-panel {
  min-height: 560px;
  padding: 48px 50px !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 24px 60px rgba(11,32,54,.08) !important;
}
.qp-guide-reference .guide-panel__head {
  max-width: 850px;
  padding-bottom: 26px;
  margin-bottom: 28px;
  border-bottom: 1px solid #e2e9f0;
}
.qp-guide-reference .guide-panel__head h2 {
  max-width: 820px !important;
  margin: 12px 0 0 !important;
  font-size: clamp(2.15rem, 4vw, 3.55rem) !important;
  line-height: 1.05 !important;
}
.qp-guide-reference .guide-panel__content > p {
  max-width: 900px;
  color: #5e6d80;
  font-size: 1.02rem;
  line-height: 1.75;
}
.qp-guide-reference .guide-callouts {
  counter-reset: qp-guide-card;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 16px !important;
  margin: 30px 0 34px !important;
}
.qp-guide-reference .guide-callouts article {
  counter-increment: qp-guide-card;
  position: relative;
  min-height: 190px;
  padding: 26px 24px !important;
  border: 1px solid #dce5ed !important;
  border-top: 0 !important;
  border-radius: 20px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}
.qp-guide-reference .guide-callouts article::before {
  content: "0" counter(qp-guide-card);
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 20px;
  border-radius: 11px;
  color: #fff;
  background: #1479c4;
  font-size: .7rem;
  font-weight: 700;
}
.qp-guide-reference .guide-callouts strong { margin-bottom: 8px; font-size: 1.03rem; }
.qp-guide-reference .guide-callouts span { color: #66768a; line-height: 1.6; }
.qp-guide-reference .numbered-rows { margin: 30px 0 34px; border-top: 1px solid #dfe7ef; }
.qp-guide-reference .numbered-row {
  display: grid;
  grid-template-columns: 56px minmax(190px,.8fr) minmax(0,1.2fr);
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid #dfe7ef;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.qp-guide-reference .numbered-row__number {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #1479c4;
  background: #eaf4fb;
  font-weight: 700;
}
.qp-guide-reference .numbered-row h3,
.qp-guide-reference .numbered-row p { margin: 0; }
.qp-guide-reference .numbered-row p { color: #64758a; line-height: 1.65; }

@media (max-width: 1024px) {
  .qp-collection-explorer__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .qp-process-section .process-steps { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .qp-process-section .process-steps::before { display: none !important; }
  .qp-guide-reference .guide-layout { grid-template-columns: 1fr !important; }
  .qp-guide-reference .guide-tabs { position: static !important; display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 8px; }
  .guide-tabs__head { grid-column: 1/-1; }
  .qp-guide-reference .guide-tabs button { margin: 0 !important; }
}
@media (max-width: 680px) {
  .qp-collection-explorer .container { width: min(100% - 28px,1320px) !important; }
  .qp-collection-explorer__grid { grid-template-columns: 1fr !important; }
  .qp-collection-tile { min-height: 300px !important; }
  .qp-process-section .process-steps { grid-template-columns: 1fr !important; gap: 28px !important; }
  .qp-process-section .process-step { display: grid; grid-template-columns: 62px 1fr; gap: 0 18px; }
  .qp-process-section .process-step__number { grid-row: 1/3; }
  .qp-process-section .process-step h3 { align-self: end; }
  .qp-process-section .process-step p { max-width: none; }
  .qp-guide-reference { padding: 62px 0 !important; }
  .qp-guide-reference .guide-tabs { display: flex !important; overflow-x: auto !important; padding: 14px !important; border-radius: 20px !important; }
  .guide-tabs__head { display: none; }
  .qp-guide-reference .guide-tabs button { flex: 0 0 auto; width: auto !important; grid-template-columns: 28px auto !important; padding: 11px 13px !important; white-space: nowrap; }
  .guide-tabs button .qp-icon { display: none; }
  .guide-tabs__index { width: 26px; height: 26px; }
  .qp-guide-reference .guide-panel { min-height: 0; padding: 30px 22px !important; border-radius: 22px !important; }
  .qp-guide-reference .guide-panel__head h2 { font-size: clamp(2rem,10vw,2.8rem) !important; }
  .qp-guide-reference .guide-callouts { grid-template-columns: 1fr !important; }
  .qp-guide-reference .guide-callouts article { min-height: 0; }
  .qp-guide-reference .numbered-row { grid-template-columns: 46px 1fr; gap: 12px; }
  .qp-guide-reference .numbered-row p { grid-column: 2; }
}

/* === v1.2.5 content + catalogue refinement === */
.shop-shell {
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 48px;
}
.shop-sidebar {
  top: 112px;
  padding-right: 30px;
}
.shop-sidebar__head {
  align-items: flex-start;
  margin-bottom: 8px;
}
.shop-sidebar__head .eyebrow {
  display: block;
  margin-bottom: 7px;
}
.shop-sidebar__head h3 {
  font-size: 1.35rem;
}
.filter-group {
  padding: 22px 0;
}
.filter-group > strong {
  margin-bottom: 14px;
  color: var(--ink);
  font-size: .79rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.filter-options {
  display: grid;
  gap: 6px;
}
.shop-sidebar button.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #5f6f84;
  background: transparent;
  font-size: .9rem;
  transition: background .2s ease, color .2s ease;
}
.shop-sidebar button.filter-option:hover {
  color: var(--ink);
  background: #edf4fa;
}
.shop-sidebar button.filter-option.is-active {
  color: #fff;
  background: var(--blue);
}
.shop-sidebar button.filter-option span {
  min-width: 25px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(15,40,65,.06);
  text-align: center;
  font-size: .72rem;
}
.shop-sidebar button.filter-option.is-active span {
  background: rgba(255,255,255,.18);
}
.filter-options--compact {
  grid-template-columns: 1fr 1fr;
}
.filter-options--compact .filter-option:first-child {
  grid-column: 1 / -1;
}
.shop-check {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 600;
}
.shop-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--blue);
}
.filter-group--guidance p {
  margin: 0 0 14px;
  font-size: .88rem;
  line-height: 1.65;
}
.shop-toolbar {
  grid-template-columns: minmax(280px, 1fr) 220px 210px;
  gap: 10px;
  top: 92px;
  padding: 12px;
  border-radius: 20px;
  background: rgba(255,255,255,.96);
}
.shop-toolbar .search-field,
.shop-toolbar .select-field {
  min-height: 52px;
}
.shop-filter-summary {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px 22px;
  margin: 4px 0 24px;
}
.shop-filter-summary .shop-meta {
  grid-column: 1 / -1;
  margin: 0;
}
.shop-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.shop-active-filters span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid #d9e5ef;
  border-radius: 999px;
  color: #41566d;
  background: #f7fafc;
  font-size: .75rem;
  font-weight: 600;
}
.shop-clear-filters {
  border: 0;
  padding: 6px 0;
  color: var(--blue);
  background: transparent;
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
}
.shop-empty {
  margin: 26px 0 0;
  padding: 54px 26px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  text-align: center;
}
.shop-empty > div {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 16px;
  color: #fff;
  background: var(--blue);
}
.shop-empty h3 {
  margin-bottom: 7px;
}
.shop-empty p {
  margin: 0 0 18px;
}

/* About page: keep the content editorial and product-focused. */
.qp-about-hero .page-hero__stats span {
  background: rgba(7,21,37,.68);
}
.qp-about-intro .photo-split__media,
.qp-about-handling .photo-split__media,
.qp-about-order .photo-split__media {
  min-height: 540px;
}
.qp-about-areas .numbered-row {
  grid-template-columns: 70px minmax(220px,.7fr) 1.3fr;
}
.qp-about-areas .numbered-row__number {
  color: var(--blue);
}
.qp-about-research .statement-media__copy {
  max-width: 700px;
}

@media (max-width: 1100px) {
  .shop-shell { grid-template-columns: 250px minmax(0,1fr); gap: 30px; }
  .shop-toolbar { grid-template-columns: 1fr 190px; }
  .shop-toolbar .select-field:last-child { grid-column: 2; }
}
@media (max-width: 980px) {
  .shop-shell { grid-template-columns: 1fr; }
  .shop-sidebar {
    position: fixed;
    z-index: 125;
    top: 0;
    left: 0;
    display: block;
    width: min(380px,90vw);
    height: 100%;
    padding: 28px;
    overflow-y: auto;
    border: 0;
    background: #fff;
    transform: translateX(-105%);
    transition: transform .3s ease;
  }
  .shop-sidebar.is-open { transform: translateX(0); }
  .qp-about-areas .numbered-row { grid-template-columns: 58px 1fr; }
  .qp-about-areas .numbered-row p { grid-column: 2; }
}
@media (max-width: 680px) {
  .shop-toolbar { position: static; grid-template-columns: 1fr; }
  .shop-toolbar .select-field:last-child { grid-column: auto; }
  .shop-filter-summary { grid-template-columns: 1fr; }
  .shop-filter-summary .shop-meta { grid-column: auto; }
  .shop-meta { flex-direction: column; }
  .filter-options--compact { grid-template-columns: 1fr; }
  .filter-options--compact .filter-option:first-child { grid-column: auto; }
  .qp-about-intro .photo-split__media,
  .qp-about-handling .photo-split__media,
  .qp-about-order .photo-split__media { min-height: 350px; }
}

/* v1.2.7 checkout functionality */
.qp-checkout-research-confirmation {
  margin: 18px 0 22px;
  padding: 16px 18px;
  border: 1px solid rgba(11, 143, 209, .18);
  border-radius: 16px;
  background: #f5f9fd;
}
.qp-checkout-research-confirmation .check-row {
  margin: 0;
  align-items: flex-start;
}
.qp-checkout-research-confirmation .check-row span {
  color: #33445a;
  font-size: .9rem;
  line-height: 1.55;
}

/* v1.2.8: native hidden attribute must override component display rules. */
[hidden] { display: none !important; }
.shop-shell [data-product-card][hidden],
.shop-shell [data-shop-empty][hidden],
.shop-shell [data-shop-active-filters][hidden],
.shop-shell [data-shop-clear][hidden] { display: none !important; }
.shop-shell .product-card.is-filtered-out { display: none !important; }

/* === v1.3.0 final production polish === */
:root {
  --qp-solid-dark: #071525;
  --qp-solid-dark-2: #0b1727;
  --qp-solid-blue: #1479c4;
  --qp-solid-cyan: #19b7d8;
  --qp-solid-paper: #f5f8fb;
  --qp-solid-line: #dce5ed;
}

/* Accessibility and predictable interaction states. */
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(20,121,196,.34);
  outline-offset: 3px;
}
:where(button, .button, .icon-button, .carousel-button, .filter-option, .variant-button) {
  -webkit-tap-highlight-color: transparent;
}
.qp-elementor-section, .qp-elementor-section * { min-width: 0; }
.qp-elementor-section p, .qp-elementor-section h1, .qp-elementor-section h2, .qp-elementor-section h3,
.qp-elementor-section a, .qp-elementor-section span, .qp-elementor-section strong { overflow-wrap: anywhere; }

/* Keep the visual system solid-colour based. */
.button::after,
.hero::before,
.hero-stage,
.hero-scroll::before,
.footer-glow,
.collection-card::after,
.product-card__media::before,
.product-card__media::after,
.lab-visual::before,
.lab-visual::after,
.guide-cta::before,
.newsletter::after,
.page-hero::after,
.contact-info::before,
.contact-form-card::before,
.qp-collection-explorer::before,
.qp-collection-tile::before,
.qp-collection-tile__media::before,
.qp-testimonials::before,
.qp-testimonials::after,
.qp-testimonial::before { display: none !important; }

.hero,
.page-hero,
.section--dark,
.statement-band,
.newsletter,
.site-footer,
.qp-testimonials { background-color: var(--qp-solid-dark) !important; }
.hero { background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important; background-size: cover !important; background-position: center 42% !important; }
.hero::after,
.page-hero::before,
.guide-photo-band::before,
.shop-callout::before,
.contact-info::after,
.auth-layout::before,
.guide-cta::after,
.empty-cart::before,
.order-confirmation-hero::before,
.blog-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(5,15,27,.67);
}
.hero > *, .page-hero > *, .guide-photo-band > *, .shop-callout > *, .contact-info > *,
.auth-layout > *, .guide-cta > *, .empty-cart > *, .order-confirmation-hero > *, .blog-card__image > * { position: relative; z-index: 2; }

.hero-product { background: rgba(255,255,255,.09) !important; }
.product-card__media,
.product-gallery__main,
.quick-view__media,
.cart-item__image { background: #eef3f8 !important; }
.guide-cta { background-color: var(--qp-solid-dark) !important; background-image: url('../images/stock/blue-flask.webp') !important; background-size: cover !important; background-position: center !important; }
.shop-callout { position: relative; overflow: hidden; background-color: var(--qp-solid-dark) !important; background-image: url('../images/stock/blue-flask.webp') !important; background-size: cover !important; background-position: center !important; }
.contact-info { position: relative; background-color: var(--qp-solid-dark) !important; background-image: url('../images/stock/microscope.webp') !important; background-size: cover !important; background-position: center !important; }
.auth-layout { position: relative; background-color: var(--qp-solid-dark) !important; background-image: url('../images/stock/microscope-lab.webp') !important; background-size: cover !important; background-position: center !important; }
.empty-cart { position: relative; background-color: var(--qp-solid-dark) !important; background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important; background-size: cover !important; background-position: center !important; }
.order-confirmation-hero { position: relative; background-color: var(--qp-solid-dark) !important; background-image: url('../images/stock/blue-flask.webp') !important; background-size: cover !important; background-position: center !important; }
.blog-card__image { position: relative; background-color: var(--qp-solid-dark) !important; }
.blog-card:nth-child(1) .blog-card__image { background-image: url('../images/stock/blue-flask.webp') !important; }
.blog-card:nth-child(2) .blog-card__image { background-image: url('../images/stock/test-tubes-blue-clean-wide.webp') !important; }
.blog-card:nth-child(3) .blog-card__image { background-image: url('../images/stock/microscope.webp') !important; }
.blog-card:nth-child(4) .blog-card__image { background-image: url('../images/stock/blue-glassware-clean-wide.webp') !important; }
.blog-card:nth-child(5) .blog-card__image { background-image: url('../images/stock/microscope-lab.webp') !important; }
.blog-card:nth-child(6) .blog-card__image { background-image: url('../images/stock/lab-reaction-clean-wide.webp') !important; }

.confirmation-check,
.checkout-progress span.is-active b,
.form-card__head > span,
.collection-card__icon,
.qp-collection-tile__icon,
.empty-state__icon { background: var(--qp-solid-blue) !important; }
.account-intro,
.protocol-card,
.pillar-card,
.value-card,
.guide-resource-card,
.shop-callout + .section { background-color: var(--qp-solid-paper); }
.editorial-panel--dark,
.editorial-support--dark,
.collection-card--dark-alt { background: var(--qp-solid-dark-2) !important; }

/* Solid overlays for image-led editorial panels. */
.editorial-main::after { background: rgba(5,15,27,.72) !important; }
.photo-split__media::after,
.guide-showcase__image::after { display: none !important; }

/* Professional motion system. Disabled in Elementor and for reduced motion. */
.qp-motion {
  opacity: 0;
  transition-property: opacity, translate, scale;
  transition-duration: var(--qp-reveal-duration, 650ms);
  transition-delay: var(--qp-reveal-delay, 0ms);
  transition-timing-function: cubic-bezier(.22,.75,.2,1);
  will-change: opacity, translate, scale;
}
.qp-motion--fade-up { translate: 0 24px; }
.qp-motion--fade { translate: none; scale: none; }
.qp-motion--slide-left { translate: -28px 0; }
.qp-motion--slide-right { translate: 28px 0; }
.qp-motion--zoom { scale: .975; }
.qp-motion--none,
.qp-motion.is-visible { opacity: 1; translate: 0 0; scale: 1; }
.reveal.is-visible.qp-motion { animation: none !important; }
.elementor-editor-active .qp-motion,
.elementor-editor-preview .qp-motion { opacity: 1 !important; translate: none !important; scale: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .qp-motion { opacity: 1 !important; translate: none !important; scale: none !important; }
}

/* Global section rhythm. */
.section { padding: 96px 0; }
.section-heading { margin-bottom: 44px; }
.section-heading h2 { max-width: 900px; }
.section-heading p { max-width: 720px; }
.qp-elementor-section h1 { letter-spacing: -.035em; }
.qp-elementor-section h2 { letter-spacing: -.03em; }
.qp-elementor-section h3 { letter-spacing: -.02em; }

/* Header / navigation hardening. */
.site-header { background: rgba(255,255,255,.98) !important; backdrop-filter: blur(16px); border-bottom: 1px solid rgba(13,34,56,.08); }
.site-header__inner { min-height: 76px; }
.brand img { max-height: 54px; object-fit: contain; }
.desktop-nav { gap: clamp(14px,2vw,28px); }
.desktop-nav .nav-link { white-space: nowrap; }
.header-actions { flex-shrink: 0; }
.mega-menu { max-width: min(760px,calc(100vw - 48px)); }
.mobile-nav { overflow-y: auto; overscroll-behavior: contain; }

/* Card consistency. */
.product-card,
.process-step,
.numbered-row,
.info-panel,
.blog-card,
.qp-testimonial,
.contact-form-card,
.guide-panel { border-color: var(--qp-solid-line); }
.product-card { border-radius: 22px; }
.product-card__media { height: clamp(280px,25vw,340px); }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.product-card__body { padding: 21px 21px 20px; }
.product-card h3 { line-height: 1.15; }
.product-action { opacity: 1; transform: none; }
@media (hover:hover) and (pointer:fine) {
  .product-action { opacity: 0; transform: translateX(8px); }
  .product-card:hover .product-action { opacity: 1; transform: none; }
}

/* Collection grid: stable geometry at every width. */
.qp-collection-explorer__grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 20px !important; }
.qp-collection-tile,
.qp-collection-tile--featured,
.qp-collection-tile--2,
.qp-collection-tile--3,
.qp-collection-tile--4,
.qp-collection-tile--5,
.qp-collection-tile--6 { grid-column: auto !important; grid-row: auto !important; min-height: 360px !important; }
.qp-collection-tile--featured { min-height: 440px !important; }
.qp-collection-tile__content,
.qp-collection-tile--featured .qp-collection-tile__content { padding: 30px !important; }
.qp-collection-tile__top { margin-bottom: 64px; }
.qp-collection-tile__meta { margin-top: 0; }
.qp-collection-tile h3 { max-width: 100%; }
.qp-collection-tile p { max-width: 100%; }

/* Ordering/process section. */
.qp-process-section .process-steps { align-items: stretch; }
.qp-process-section .process-step { height: 100%; padding: 30px 26px; background: #fff; border: 1px solid var(--qp-solid-line); border-radius: 20px; }
.qp-process-section .process-step__number { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 28px; border-radius: 16px; background: #eaf4fb; }
.qp-process-section .process-step__number img { width: 28px; height: 28px; object-fit: contain; }

/* Image-led sections: no black gaps, no stretching. */
.qp-elementor-section .photo-split,
.qp-elementor-section .statement-media,
.qp-elementor-section .guide-showcase,
.qp-elementor-section .blog-feature { align-items: stretch; }
.qp-elementor-section .photo-split__media,
.qp-elementor-section .statement-media__visual,
.qp-elementor-section .guide-showcase__image,
.qp-elementor-section .blog-feature__image { min-height: 500px; background: #e9eff4; }
.qp-elementor-section .photo-split__media img,
.qp-elementor-section .statement-media__visual img,
.qp-elementor-section .guide-showcase__image img,
.qp-elementor-section .blog-feature__image img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; object-position: center; }

/* Shop catalogue. */
.shop-shell { align-items: start; }
.shop-sidebar { max-height: calc(100vh - 136px); overflow-y: auto; scrollbar-width: thin; }
.shop-toolbar { box-shadow: 0 12px 28px rgba(10,30,49,.06); border: 1px solid rgba(13,34,56,.07); }
.shop-toolbar .search-field,
.shop-toolbar .select-field { background: #fff; }
.shop-active-filters span { line-height: 1.2; }
.shop-clear-filters { min-height: 40px; }

/* Product page. */
.product-layout { gap: clamp(44px,6vw,78px); }
.product-gallery__main { min-height: min(650px,72vh); }
.qp-product-detail .product-gallery__main img { width: min(74%,520px); height: min(520px,62vh); object-fit: contain; }
.product-info h1 { font-size: clamp(2.7rem,5vw,4.6rem); }
.variant-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.variant-button { min-width: 0; }
.purchase-benefits { flex-wrap: wrap; }

/* Guide tabs. */
.qp-guide-reference .guide-layout { align-items: start; }
.qp-guide-reference .guide-tabs { max-height: calc(100vh - 140px); overflow-y: auto; }
.qp-guide-reference .guide-panel { min-height: 0; }
.qp-guide-reference .guide-callouts article { min-height: 180px; }

/* FAQ / forms / legal. */
.accordion button { min-height: 64px; }
.accordion__content[hidden], [hidden] { display: none !important; }
.field input, .field select, .field textarea, .search-field input, .select-field select { font-size: 16px; }
.legal-content { max-width: 920px; }
.legal-content h2 { scroll-margin-top: 130px; }

/* Footer. */
.site-footer { overflow: hidden; }
.footer-grid { gap: clamp(28px,5vw,70px); }
.footer-brand img { max-width: 230px; height: auto; }
.footer-bottom { gap: 20px; }

/* Tablet. */
@media (max-width: 1024px) {
  .section { padding: 80px 0; }
  .qp-collection-explorer__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .qp-collection-tile--featured { min-height: 380px !important; }
  .product-layout { grid-template-columns: 1fr 1fr; gap: 36px; }
  .product-gallery__main { min-height: 520px; }
  .variant-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1.2fr repeat(3,1fr); }
}

/* Mobile. */
@media (max-width: 760px) {
  :root { --container: min(100% - 28px,1320px); }
  .section { padding: 64px 0; }
  .section-heading { margin-bottom: 32px; }
  .hero { min-height: auto; padding: 116px 0 66px; }
  .hero__inner { gap: 36px; }
  .hero__visual { min-height: 390px; }
  .page-hero { min-height: 360px; padding: 112px 0 52px; }
  .page-hero h1, .hero h1 { font-size: clamp(2.45rem,12vw,3.6rem) !important; line-height: 1.02; }
  .section-heading h2,
  .photo-split__copy h2,
  .statement-media__copy h2,
  .guide-showcase__copy h2,
  .newsletter h2,
  .qp-testimonials__intro h2 { font-size: clamp(1.9rem,9vw,2.7rem) !important; }
  .trust-strip { margin-top: 0; }
  .trust-strip__grid { grid-template-columns: 1fr 1fr; border-radius: 0; }
  .trust-item { min-height: 94px; padding: 18px 14px; }
  .qp-collection-explorer__grid { grid-template-columns: 1fr !important; }
  .qp-collection-tile, .qp-collection-tile--featured { min-height: 330px !important; }
  .qp-collection-tile__top { margin-bottom: 48px; }
  .product-layout { grid-template-columns: 1fr; gap: 28px; padding-bottom: 70px; }
  .product-gallery__main { position: relative; top: auto; min-height: 430px; }
  .product-info { padding-top: 0; }
  .variant-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .purchase-row { flex-direction: column; }
  .qty-control { width: 100%; grid-template-columns: 1fr 70px 1fr; }
  .qp-elementor-section .photo-split__media,
  .qp-elementor-section .statement-media__visual,
  .qp-elementor-section .guide-showcase__image,
  .qp-elementor-section .blog-feature__image { min-height: 320px; }
  .newsletter { padding: 34px 24px; gap: 26px; }
  .newsletter-form__row { flex-direction: column; }
  .newsletter input, .newsletter .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .qp-testimonial { min-height: 330px; padding: 26px; }
  .cart-drawer { width: 100%; }
  .search-overlay__panel { border-radius: 20px; padding: 24px 18px; }
}

@media (max-width: 480px) {
  .trust-strip__grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .variant-grid { grid-template-columns: 1fr; }
  .product-card__media { height: 300px; }
}

/* Final typography and contrast safeguards. */
.guide-intro__lead h2 { font-size: clamp(2.35rem, 4.2vw, 3.75rem) !important; line-height: 1.02; }
.site-footer { color: #ffffff; }
.site-footer .footer-grid h3 { color: #ffffff; }
.site-footer .footer-grid a { color: #aeb9c9; }
.site-footer .footer-brand p { color: #aeb9c9; }
.site-footer .footer-bottom p { color: #8997aa; }
@media (max-width: 680px) {
  .guide-intro__lead h2 { font-size: clamp(2.15rem, 11vw, 3rem) !important; }
  .product-action, .icon-button { min-width: 44px; min-height: 44px; }
}

/* Final checkout flow: details and payment must precede the submit/order card on smaller screens. */
@media (max-width: 980px) {
  .woocommerce-checkout .checkout-layout .checkout-main { order: 1; }
  .woocommerce-checkout .checkout-layout .order-summary,
  .checkout-layout .order-summary { grid-row: auto; order: 2; }
}

/* === v1.3.1 editorial-grid Elementor editing + overlay fix === */
.qp-editorial-grid-section .editorial-main {
  isolation: isolate;
}
.qp-editorial-grid-section .editorial-main__overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  pointer-events: none;
  background-color: #071525;
  opacity: .58;
}
.qp-editorial-grid-section .editorial-main__copy {
  position: relative;
  z-index: 2;
}
.qp-editorial-grid-section .editorial-main > img {
  z-index: 0;
}
.qp-editorial-grid-section .editorial-panel img {
  pointer-events: none;
}
.elementor-editor-active .qp-editorial-grid-section .editorial-main__overlay,
.elementor-editor-preview .qp-editorial-grid-section .editorial-main__overlay {
  pointer-events: none !important;
}
@media (max-width: 900px) {
  .qp-editorial-grid-section .editorial-main__overlay { opacity: .64; }
}
@media (max-width: 680px) {
  .qp-editorial-grid-section .editorial-main__overlay { opacity: .72; }
}

/* === v1.3.2 Elementor-first media and widget editability === */
/* Custom widget media must win over legacy theme fallback imagery. */
.elementor-widget-qp-section .hero.qp-has-custom-bg,
.elementor-widget-qp-section .page-hero.qp-has-custom-bg,
.elementor-widget-qp-section .guide-photo-band.qp-has-custom-bg,
.elementor-widget-qp-section .guide-cta.qp-has-custom-bg {
  background-color: #071525 !important;
  background-image: var(--qp-section-bg, none) !important;
  background-repeat: no-repeat !important;
  background-size: var(--qp-section-bg-size, cover) !important;
  background-position: var(--qp-section-bg-position, center center) !important;
}

/* Collection cards: every image/overlay is now provided by the Elementor repeater. */
.elementor-widget-qp-section .qp-collection-explorer {
  --qp-collection-cols: 3;
  --qp-collection-card-height: 360px;
  --qp-collection-gap: 20px;
}
.elementor-widget-qp-section .qp-collection-explorer__grid {
  display: grid !important;
  grid-template-columns: repeat(var(--qp-collection-cols), minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: var(--qp-collection-gap) !important;
}
.elementor-widget-qp-section .qp-collection-tile,
.elementor-widget-qp-section .qp-collection-tile:nth-child(n),
.elementor-widget-qp-section .qp-collection-tile--featured,
.elementor-widget-qp-section .qp-collection-tile--image,
.elementor-widget-qp-section .qp-collection-tile--soft,
.elementor-widget-qp-section .qp-collection-tile--dark {
  position: relative;
  grid-column: auto !important;
  grid-row: auto !important;
  grid-template-columns: 1fr !important;
  min-height: var(--qp-collection-card-height) !important;
  background-color: #071525 !important;
  background-image: var(--qp-collection-bg, none) !important;
  background-position: var(--qp-collection-bg-position, center center) !important;
  background-size: var(--qp-collection-bg-size, cover) !important;
  background-repeat: no-repeat !important;
  background-blend-mode: normal !important;
}
.elementor-widget-qp-section .qp-collection-tile::before { display: none !important; }
.elementor-widget-qp-section .qp-collection-tile::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
  background: var(--qp-collection-overlay, #071525) !important;
  opacity: var(--qp-collection-overlay-opacity, .68) !important;
}
.elementor-widget-qp-section .qp-collection-tile__content { position: relative; z-index: 2; }
.elementor-widget-qp-section .qp-collection-tile__media,
.elementor-widget-qp-section .qp-collection-tile__halo { display: none !important; }

/* Editable full-image panels supplied by their widgets. */
.elementor-widget-qp-contact .contact-info {
  position: relative;
  overflow: hidden;
  background-color: #071525 !important;
  background-image: var(--qp-contact-bg, none) !important;
  background-position: var(--qp-contact-bg-position, center center) !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.elementor-widget-qp-contact .contact-info::before { display: none !important; }
.elementor-widget-qp-contact .contact-info::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: var(--qp-contact-overlay, #071525) !important;
  opacity: var(--qp-contact-overlay-opacity, .72) !important;
}
.elementor-widget-qp-contact .contact-info > * { position: relative; z-index: 1; }

.elementor-widget-qp-products .shop-callout {
  position: relative;
  overflow: hidden;
  background-color: #071525 !important;
  background-image: var(--qp-shop-callout-bg, none) !important;
  background-position: var(--qp-shop-callout-position, center center) !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.elementor-widget-qp-products .shop-callout::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block !important;
  pointer-events: none;
  background: var(--qp-shop-callout-overlay, #071525) !important;
  opacity: var(--qp-shop-callout-overlay-opacity, .74) !important;
}
.elementor-widget-qp-products .shop-callout > * { position: relative; z-index: 1; }

.elementor-widget-qp-cart .empty-cart {
  position: relative;
  overflow: hidden;
  background-color: #071525 !important;
  background-image: var(--qp-empty-bg, none) !important;
  background-position: var(--qp-empty-bg-position, center center) !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.elementor-widget-qp-cart .empty-cart::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block !important;
  pointer-events: none;
  background: var(--qp-empty-overlay, #071525) !important;
  opacity: var(--qp-empty-overlay-opacity, .74) !important;
}
.elementor-widget-qp-cart .empty-cart > * { position: relative; z-index: 1; }
.elementor-widget-qp-cart .empty-state__icon img { width: 28px; height: 28px; object-fit: contain; }

/* Blog fallback image is an Elementor media control; remove nth-child CSS artwork. */
.elementor-widget-qp-blog .blog-card__image,
.elementor-widget-qp-blog .blog-card:nth-child(n) .blog-card__image {
  background-color: #e9eff4 !important;
  background-image: none !important;
}
.elementor-widget-qp-blog .blog-card__image::after { display: none !important; }
.elementor-widget-qp-blog .blog-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Editable image icons in formerly text/fixed-icon layouts. */
.hero__trust span { display: inline-flex; align-items: center; gap: 7px; }
.hero__trust img { width: 16px; height: 16px; object-fit: contain; }
.hero__trust b { font-weight: 700; }
.hero-stat__icon img,
.page-hero__stats img,
.guide-list b img,
.numbered-row__number img,
.research-bar__icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.page-hero__stats span { display: inline-flex; align-items: center; gap: 7px; }
.guide-list b { display: grid; place-items: center; }

/* Editor selection should never be blocked by decorative overlays. */
.elementor-editor-active .qp-collection-tile::after,
.elementor-editor-active .contact-info::after,
.elementor-editor-active .shop-callout::before,
.elementor-editor-active .empty-cart::before,
.elementor-editor-preview .qp-collection-tile::after,
.elementor-editor-preview .contact-info::after,
.elementor-editor-preview .shop-callout::before,
.elementor-editor-preview .empty-cart::before { pointer-events: none !important; }

@media (max-width: 1024px) {
  .elementor-widget-qp-section .qp-collection-explorer { --qp-collection-cols: 2; --qp-collection-card-height: 350px; }
}
@media (max-width: 760px) {
  .elementor-widget-qp-section .qp-collection-explorer { --qp-collection-cols: 1; --qp-collection-card-height: 330px; }
}

/* v1.3.2 editable overlays for image-backed content sections. */
.elementor-widget-qp-section .hero.qp-has-custom-bg::after,
.elementor-widget-qp-section .page-hero.qp-has-custom-bg::before,
.elementor-widget-qp-section .guide-photo-band.qp-has-custom-bg::before,
.elementor-widget-qp-section .guide-cta.qp-has-custom-bg::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
  background: var(--qp-section-overlay, #071525) !important;
  opacity: var(--qp-section-overlay-opacity, .67) !important;
}
.elementor-widget-qp-section .hero.qp-has-custom-bg > *,
.elementor-widget-qp-section .page-hero.qp-has-custom-bg > *,
.elementor-widget-qp-section .guide-photo-band.qp-has-custom-bg > *,
.elementor-widget-qp-section .guide-cta.qp-has-custom-bg > * { position: relative; z-index: 1; }

/* Do not introduce non-editable photographic artwork behind editable/dynamic media. */
.elementor-widget-qp-product-detail .product-gallery__main::before { display: none !important; background-image: none !important; }
.elementor-widget-qp-section .blog-feature__image { background-image: none !important; }
.product-rating img,
.gallery-note img,
.purchase-benefits img,
.research-warning img { width: 18px; height: 18px; flex: 0 0 18px; object-fit: contain; }
.info-panel__icon img { width: 24px; height: 24px; object-fit: contain; }
