/*
Theme Name:   OPX Child
Theme URI:    https://opx.example.com
Description:  OPX Private Catalogue — a child theme of Botiga for a premium, invite-only research-peptide laboratory. v1.1 ships the full custom homepage template (video hero, process, catalogue, science, marquee, testimonials, FAQ, CTA band) and a click-to-flip product spec-sheet card.
Author:       OPX Laboratories
Author URI:   https://opx.example.com
Template:     botiga
Version:      1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  opx-child
Tags:         dark, minimalist, e-commerce, fashion, editorial, invite-only
*/

/* ==================================================================
   OPX DESIGN SYSTEM
   ================================================================== */
:root{
  --opx-bg:         #030406;
  --opx-bg-2:       #080a0d;
  --opx-card:       #0e1013;
  --opx-card-hover: #13161a;
  --opx-line:       rgba(255,255,255,.05);
  --opx-line-2:     rgba(255,255,255,.14);
  --opx-silver-1:   #f4f4f4;
  --opx-silver-2:   #cfcfcf;
  --opx-silver-3:   #848688;
  --opx-gold:       #d4a84a;
  --opx-gold-soft:  rgba(212,168,74,.5);
  --opx-sans:       "Inter", -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------- FOUNDATION -------------------------------------------- */
*{box-sizing:border-box}
body,body.woocommerce,body.woocommerce-page{
  background:var(--opx-bg);color:#eee;font-family:var(--opx-sans);font-weight:300;
  letter-spacing:.005em;-webkit-font-smoothing:antialiased;
}
a{color:var(--opx-silver-1);text-decoration:none}
a:hover{color:var(--opx-gold)}
img{max-width:100%;display:block}

/* Film grain — cinematic tooth across the whole site */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.opx-container{max-width:1280px;margin:0 auto;padding:0 32px;position:relative}

/* ---------- TYPOGRAPHY -------------------------------------------- */
h1,h2,h3,h4,h5,h6,.woocommerce-loop-product__title{
  font-family:var(--opx-sans);color:var(--opx-silver-1);letter-spacing:-.02em;font-weight:300;
}
h1{font-weight:200;letter-spacing:-.035em;text-transform:uppercase}
h2{font-weight:200;letter-spacing:-.028em;text-transform:uppercase}
em{font-style:normal;font-weight:600}

.op{font-weight:400}
.x{font-weight:800}

/* ---------- HEADER & LOGO ----------------------------------------- */
.site-header,header.site-header{
  background:rgba(3,4,6,.6) !important;
  backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--opx-line);
}
.site-title,.site-title a,.opx-brand{
  font-size:16px !important;font-weight:400;letter-spacing:0;text-transform:uppercase;
  color:var(--opx-silver-1) !important;position:relative;display:inline-flex;align-items:center;line-height:1;
}
.opx-brand .op{font-weight:400}
.opx-brand .x{font-weight:800}
.opx-brand .dot{
  position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:10px;
  width:7px;height:7px;border-radius:50%;background:var(--opx-gold);box-shadow:0 0 10px rgba(212,168,74,.4);
}
.main-navigation ul li a,.primary-navigation a{
  font-size:11px !important;font-weight:500 !important;letter-spacing:.22em !important;
  text-transform:uppercase !important;color:var(--opx-silver-3) !important;
}
.main-navigation ul li a:hover,.primary-navigation a:hover{color:var(--opx-silver-1) !important}

/* ---------- BUTTONS ----------------------------------------------- */
.opx-cta,.button,button,input[type=submit],
.woocommerce a.button,.woocommerce button.button,.woocommerce .button.alt,
.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;gap:10px;
  background:transparent;border:1px solid rgba(255,255,255,.22);color:var(--opx-silver-1);
  font-size:10.5px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;
  padding:14px 24px;border-radius:0;cursor:pointer;transition:.25s ease;
}
.opx-cta:hover,.button:hover,button:hover,input[type=submit]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .button.alt:hover{
  background:var(--opx-silver-1);color:#000;border-color:var(--opx-silver-1);
}
.opx-cta.solid{background:var(--opx-silver-1);color:#000;border-color:var(--opx-silver-1)}
.opx-cta.solid:hover{background:transparent;color:var(--opx-silver-1)}
.opx-cta.gold,.single_add_to_cart_button{
  background:var(--opx-gold) !important;color:#0a0a0a !important;border-color:var(--opx-gold) !important;font-weight:600 !important;
}
.opx-cta.gold:hover,.single_add_to_cart_button:hover{
  background:transparent !important;color:var(--opx-gold) !important;border-color:var(--opx-gold) !important;
}

/* ==================================================================
   CUSTOM HOMEPAGE (front-page.php)
   ================================================================== */

/* ---------- HERO -------------------------------------------------- */
.opx-hero{
  position:relative;padding:180px 0 140px;text-align:left;min-height:100vh;
  background:
    radial-gradient(1400px 900px at 72% 90%,rgba(80,110,170,.14),transparent 65%),
    radial-gradient(900px 700px at 20% 30%,rgba(212,168,74,.04),transparent 60%),
    var(--opx-bg);
  overflow:hidden;display:flex;align-items:center;
}
.opx-hero > .opx-container{position:relative;z-index:2;flex:1 1 auto;width:100%;padding-left:15px}
.opx-hero-type{max-width:820px;margin:0;padding:0}
.opx-hero-film{position:absolute;inset:0;z-index:1;display:flex;justify-content:flex-end;align-items:center;pointer-events:none}
.opx-hero-video{
  display:block;width:70%;max-width:1200px;height:110%;object-fit:cover;
  mix-blend-mode:screen;filter:saturate(.82) contrast(1.08);
  border:none;outline:none;background:transparent;transform:translateX(6%);
  -webkit-mask-image:radial-gradient(ellipse 65% 70% at center,#000 25%,rgba(0,0,0,.55) 55%,transparent 85%);
          mask-image:radial-gradient(ellipse 65% 70% at center,#000 25%,rgba(0,0,0,.55) 55%,transparent 85%);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;
}
.opx-eyebrow{
  position:relative;font-size:10px;font-weight:500;letter-spacing:.44em;text-transform:uppercase;
  color:var(--opx-silver-3);margin-bottom:36px;display:inline-block;
}
.opx-eyebrow::before{content:"";position:absolute;right:100%;top:50%;margin-right:14px;width:28px;height:1px;background:var(--opx-gold)}
.opx-headline{
  font-weight:200;color:var(--opx-silver-1);
  font-size:clamp(52px,8vw,128px);line-height:.95;letter-spacing:-.035em;margin:0 0 40px;text-transform:uppercase;
}
.opx-headline .op{font-weight:300}
.opx-headline .x{font-weight:800}
.opx-headline em{font-style:normal;font-weight:600;color:#f8f8f8;letter-spacing:-.04em}
.opx-lead{
  font-size:12px;line-height:2;color:#c8c8c8;max-width:520px;margin:0 0 56px;font-weight:400;
  text-transform:uppercase;letter-spacing:.24em;
}
.opx-hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- GENERIC SECTIONS -------------------------------------- */
.opx-section{padding:160px 0;position:relative}
.opx-section-label{
  font-size:10px;font-weight:500;letter-spacing:.44em;text-transform:uppercase;color:var(--opx-silver-3);
  margin-bottom:28px;display:flex;align-items:center;gap:14px;
}
.opx-section-label::before{content:"";width:40px;height:1px;background:var(--opx-gold)}
.opx-section-title{
  font-weight:200;color:var(--opx-silver-1);
  font-size:clamp(40px,5.6vw,88px);line-height:1.02;letter-spacing:-.035em;margin:0 0 28px;max-width:900px;text-transform:uppercase;
}
.opx-section-title em{font-style:normal;font-weight:600}
.opx-section-sub{color:#a6a6a6;font-size:15px;line-height:1.75;max-width:560px;font-weight:300}

/* ---------- PROCESS ----------------------------------------------- */
.opx-process{background:linear-gradient(180deg,#060606 0%,#0a0a0a 100%);border-top:1px solid var(--opx-line);border-bottom:1px solid var(--opx-line)}
.opx-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:72px;border-top:1px solid var(--opx-line)}
.opx-step{padding:48px 32px 48px 0;border-right:1px solid var(--opx-line);position:relative}
.opx-step:last-child{border-right:none;padding-right:0}
.opx-step .num{font-size:11px;font-weight:500;color:var(--opx-silver-3);letter-spacing:.3em;margin-bottom:28px}
.opx-step h3{font-weight:400;font-size:28px;color:var(--opx-silver-1);margin:0 0 14px;letter-spacing:-.02em}
.opx-step p{color:var(--opx-gold);font-size:14.5px;line-height:1.7;margin:0;max-width:320px;font-weight:400;letter-spacing:.005em}
@media (max-width:960px){
  .opx-process-grid{grid-template-columns:1fr}
  .opx-step{border-right:none;border-bottom:1px solid var(--opx-line);padding:40px 0}
  .opx-step:last-child{border-bottom:none}
}

/* ---------- CATALOGUE --------------------------------------------- */
.opx-catalogue .products-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:64px;flex-wrap:wrap}

/* ---------- SCIENCE ----------------------------------------------- */
.opx-science{background:#080808;border-top:1px solid var(--opx-line);border-bottom:1px solid var(--opx-line)}
.opx-science-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
@media (max-width:960px){.opx-science-grid{grid-template-columns:1fr;gap:40px}}
.opx-science-visual{position:relative;aspect-ratio:1/1;background:radial-gradient(closest-side,#141416,#060606 70%);border:1px solid var(--opx-line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.opx-science-visual::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 80px),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 80px)}
.opx-science-video{
  position:relative;z-index:1;width:100%;height:100%;object-fit:cover;
  mix-blend-mode:screen;filter:saturate(.82) contrast(1.08);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at center,#000 35%,rgba(0,0,0,.6) 60%,transparent 90%);
          mask-image:radial-gradient(ellipse 70% 70% at center,#000 35%,rgba(0,0,0,.6) 60%,transparent 90%);
}
.opx-spec-list{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.opx-spec{padding:22px 0;border-top:1px solid var(--opx-line)}
.opx-spec b{display:block;font-weight:300;font-size:46px;color:var(--opx-silver-1);margin-bottom:10px;letter-spacing:-.035em;line-height:1}
.opx-spec small{font-size:10px;font-weight:500;color:var(--opx-silver-3);letter-spacing:.32em;text-transform:uppercase}

/* ---------- MARQUEE ----------------------------------------------- */
.opx-marquee{overflow:hidden;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08);background:#f5f5f3;color:#111}
.opx-marquee-track{display:flex;gap:80px;padding:26px 0;animation:opxscroll 45s linear infinite;white-space:nowrap;font-weight:500;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:#111}
.opx-marquee-track span{display:inline-flex;align-items:center;gap:80px}
.opx-marquee-track span::after{content:"✦";color:var(--opx-gold);opacity:.9;font-size:12px}
@keyframes opxscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- TESTIMONIALS ------------------------------------------ */
.opx-quotes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:72px}
@media (max-width:960px){.opx-quotes-grid{grid-template-columns:1fr}}
.opx-quote{padding:44px 36px;background:var(--opx-card);border:1px solid var(--opx-line);position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.opx-quote::before{content:"“";position:absolute;top:10px;left:24px;font-size:80px;color:rgba(255,255,255,.05);line-height:1;font-family:Georgia,serif}
.opx-quote p{font-weight:300;font-size:19px;line-height:1.5;color:#e2e2e2;margin:0 0 28px;position:relative;z-index:1;letter-spacing:-.005em}
.opx-quote .by{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--opx-line)}
.opx-quote .by b{font-size:12.5px;color:var(--opx-silver-1);font-weight:500;letter-spacing:.04em}
.opx-quote .by small{display:block;font-size:10px;color:var(--opx-silver-3);letter-spacing:.26em;text-transform:uppercase;margin-top:3px;font-weight:500}

/* ---------- FAQ --------------------------------------------------- */
.opx-faq{background:#080808;border-top:1px solid var(--opx-line)}
.opx-faq-list{margin-top:56px;border-top:1px solid var(--opx-line)}
.opx-faq-list details{border-bottom:1px solid var(--opx-line);padding:28px 0}
.opx-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:400;font-size:20px;color:var(--opx-silver-1);letter-spacing:-.015em}
.opx-faq-list summary::-webkit-details-marker{display:none}
.opx-faq-list summary::after{content:"+";font-size:24px;color:var(--opx-silver-3);transition:.3s;font-weight:300}
.opx-faq-list details[open] summary::after{transform:rotate(45deg)}
.opx-faq-list details p{color:#a4a4a4;font-size:15px;line-height:1.8;margin:18px 0 0;max-width:820px;font-weight:300}

/* ---------- CTA BAND ---------------------------------------------- */
.opx-band{padding:120px 0;text-align:center;background:radial-gradient(800px 400px at 50% 50%,rgba(220,220,220,.1),transparent 70%),linear-gradient(180deg,#050505 0%,#0c0c0c 100%)}
.opx-band h2{font-weight:200;font-size:clamp(38px,5.2vw,80px);color:var(--opx-silver-1);margin:0 auto 22px;max-width:960px;line-height:1.02;letter-spacing:-.03em}
.opx-band h2 em{font-style:normal;font-weight:500}
.opx-band p{color:#a4a4a4;max-width:560px;margin:0 auto 36px;font-size:16px;line-height:1.7;font-weight:300}

/* ==================================================================
   PRODUCT CARDS — WITH CLICK-TO-FLIP SPEC SHEET
   Overrides WooCommerce's default content-product.php markup.
   ================================================================== */

.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:40px;margin:0 !important;padding:0 !important;list-style:none;
}
@media (max-width:960px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}

.woocommerce ul.products li.product{
  background:var(--opx-card);border:1px solid transparent;padding:56px 40px 40px;
  position:relative;overflow:hidden;cursor:pointer;
  transition:background .4s ease,border-color .4s ease,transform .4s cubic-bezier(.2,.6,.2,1);
  min-height:620px;margin:0 !important;width:auto !important;float:none !important;
  list-style:none;
}
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after{display:none !important}
.woocommerce ul.products li.product:hover:not(.flipped){
  background:var(--opx-card-hover);border-color:var(--opx-line);transform:translateY(-3px);
}

/* Face (dark product view) */
.product-face{display:flex;flex-direction:column;height:100%}
.product-face .thumb{height:340px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:28px}
.product-face .thumb::after{content:"";position:absolute;inset:auto 0 6% 0;height:18px;background:radial-gradient(closest-side,rgba(255,255,255,.06),transparent 70%);filter:blur(4px);z-index:0}
.product-face .thumb img{
  position:relative;z-index:1;width:80%;height:80%;object-fit:contain;
  mix-blend-mode:screen;
  filter:drop-shadow(0 40px 50px rgba(0,0,0,.8)) drop-shadow(0 0 30px rgba(255,255,255,.05));
  transition:.5s ease;
}
.product-face:hover .thumb img{transform:translateY(-4px)}
.product-face h4,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-weight:400 !important;font-size:28px !important;margin:0 0 10px !important;
  color:var(--opx-silver-1) !important;letter-spacing:-.025em;text-transform:uppercase;padding:0 !important;
}
.product-face .subtitle{font-size:12px;color:#8c8c8c;margin:0 0 28px;line-height:1.7;letter-spacing:.04em}
.product-face .row{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--opx-line);margin-top:auto}
.product-face .price,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount{
  font-weight:400 !important;font-size:22px !important;color:var(--opx-silver-1) !important;letter-spacing:-.02em;
}
.product-face .link{
  font-size:10px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--opx-silver-1);
  display:inline-flex;align-items:center;gap:8px;transition:.3s;
}
.product-face .link span{transition:.3s;display:inline-block;color:var(--opx-gold)}
.woocommerce ul.products li.product:hover .product-face .link{color:var(--opx-gold)}
.woocommerce ul.products li.product:hover .product-face .link span{transform:translateX(4px)}

/* Back (white spec-sheet flip) */
.product-details{display:none}
.woocommerce ul.products li.product.flipped{
  background:#f6f6f3;color:#0a0a0a;border-color:rgba(0,0,0,.06);cursor:default;transform:none;
}
.woocommerce ul.products li.product.flipped .product-face{display:none}
.woocommerce ul.products li.product.flipped .product-details{display:flex;flex-direction:column;height:100%;min-height:inherit}

.product-details .detail-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}
.product-details .detail-top .tag{font-size:9.5px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:#0a0a0a}
.product-details .detail-top .close{
  font-size:10px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;
  color:#0a0a0a;border:none;background:transparent;cursor:pointer;padding:0;
}
.product-details .detail-top .close:hover{color:var(--opx-gold)}
.product-details .detail-code{
  font-weight:800;font-size:clamp(40px,4vw,72px);line-height:.9;letter-spacing:-.05em;
  color:#0a0a0a;margin:0 0 6px;text-transform:uppercase;
}
.product-details .detail-sub{
  font-size:10.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;
  color:#0a0a0a;margin:0 0 40px;
}
.product-details .detail-specs{margin:0 0 auto;padding:0;list-style:none;border-top:1px solid rgba(0,0,0,.12)}
.product-details .detail-specs li{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:14px 0;border-bottom:1px solid rgba(0,0,0,.08);
}
.product-details .detail-specs dt{
  flex:0 0 auto;font-size:9.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#555;margin:0;
}
.product-details .detail-specs dd{
  margin:0;font-size:15px;font-weight:600;color:#0a0a0a;letter-spacing:-.005em;text-align:right;font-variant-numeric:tabular-nums;
}
.product-details .detail-foot{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid rgba(0,0,0,.12)}
.product-details .detail-foot .price{font-weight:600;font-size:22px;color:#0a0a0a;letter-spacing:-.02em}
.product-details .detail-foot .add{
  display:inline-flex;align-items:center;gap:10px;padding:14px 22px;
  background:#0a0a0a;color:#fff;font-size:10px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;
  border:1px solid #0a0a0a;cursor:pointer;transition:.25s;
}
.product-details .detail-foot .add:hover{background:var(--opx-gold);border-color:var(--opx-gold);color:#0a0a0a}

/* Hide star ratings + sale flashes globally */
.woocommerce .star-rating,.woocommerce-page .star-rating,
.woocommerce span.onsale,.woocommerce-page span.onsale{display:none !important}

/* ==================================================================
   SINGLE PRODUCT PAGE
   ================================================================== */
.single-product .product{background:transparent;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:80px 0}
@media (max-width:860px){.single-product .product{grid-template-columns:1fr;gap:40px}}
.single-product .product .woocommerce-product-gallery img{mix-blend-mode:screen;max-width:70%;margin:0 auto}
.single-product .product_title{font-size:clamp(40px,5vw,72px) !important;font-weight:800 !important;letter-spacing:-.05em !important;text-transform:uppercase;color:var(--opx-silver-1);margin:0 0 12px}
.single-product .woocommerce-Price-amount{font-size:28px;color:var(--opx-silver-1)}
.single-product .woocommerce-product-attributes,.shop_attributes{border:none;margin-top:40px;width:100%}
.shop_attributes th{font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--opx-silver-3);text-align:left;padding:16px 0;border-bottom:1px solid var(--opx-line);width:40%}
.shop_attributes td{font-size:15px;font-weight:600;color:var(--opx-silver-1);padding:16px 0;border-bottom:1px solid var(--opx-line);font-variant-numeric:tabular-nums}
.shop_attributes tr:last-child th,.shop_attributes tr:last-child td{border-bottom:none}

/* ==================================================================
   MEMBERS / LOGIN PAGE (page-opx-members.php)
   ================================================================== */
.opx-members-band{
  padding:120px 0 140px;text-align:center;min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(800px 400px at 50% 50%,rgba(220,220,220,.1),transparent 70%),linear-gradient(180deg,#050505 0%,#0c0c0c 100%);
}
.opx-members-band h1{
  font-weight:200;font-size:clamp(20px,4.1vw,58px);color:var(--opx-silver-1);
  margin:0 auto 22px;max-width:none;line-height:1.05;letter-spacing:-.035em;white-space:nowrap;
}
.opx-members-band h1 em{font-style:normal;font-weight:500}
.opx-members-band h1 .op{font-weight:300}
.opx-members-band h1 .x{font-weight:800}
.opx-members-band p{color:#a4a4a4;max-width:560px;margin:0 auto 36px;font-size:16px;line-height:1.7;font-weight:300}
.opx-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

.opx-forms{padding:120px 0 160px;text-align:center;background:radial-gradient(700px 400px at 50% 30%,rgba(220,220,220,.04),transparent 70%),var(--opx-bg);border-top:1px solid var(--opx-line)}
.opx-form-panel{max-width:560px;margin:0 auto 120px;text-align:center}
.opx-form-panel:last-of-type{margin-bottom:0}
.opx-form-panel .opx-section-label{font-size:10px;font-weight:500;letter-spacing:.44em;text-transform:uppercase;color:var(--opx-silver-3);margin-bottom:22px;display:inline-flex;align-items:center;gap:14px}
.opx-form-panel .opx-section-label::before{content:"";width:32px;height:1px;background:var(--opx-gold)}
.opx-form-panel h2{font-weight:200;font-size:clamp(32px,3.6vw,52px);color:var(--opx-silver-1);margin:0 auto 18px;line-height:1.05;letter-spacing:-.028em}
.opx-form-panel h2 em{font-style:normal;font-weight:500}
.opx-form-panel p.intro{color:#a4a4a4;font-size:15px;line-height:1.75;margin:0 auto 48px;font-weight:300;max-width:480px}
.opx-form-panel form{display:flex;flex-direction:column;gap:22px;text-align:left}
.opx-form-panel label{display:flex;flex-direction:column;gap:10px;font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--opx-silver-3)}
.opx-form-panel input,.opx-form-panel textarea{
  background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.14);
  color:var(--opx-silver-1);font:inherit;font-size:14px;font-weight:400;padding:10px 0;
  letter-spacing:.01em;outline:none;transition:border-color .25s ease;
}
.opx-form-panel input:focus,.opx-form-panel textarea:focus{border-color:var(--opx-gold)}
.opx-form-panel input::placeholder,.opx-form-panel textarea::placeholder{color:#555}
.opx-form-panel .submit-row{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:16px;flex-wrap:wrap}
.opx-form-panel .hint{font-size:10.5px;color:var(--opx-silver-3);letter-spacing:.16em;text-transform:uppercase}
.opx-form-panel .hint a{color:var(--opx-gold);border-bottom:1px solid var(--opx-gold-soft)}
.opx-rule{display:block;width:60px;height:1px;background:var(--opx-line-2);margin:0 auto 80px}

/* ==================================================================
   MY-ACCOUNT / LOGIN (WooCommerce native)
   ================================================================== */
.woocommerce-account .woocommerce{max-width:560px;margin:140px auto}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{border:1px solid var(--opx-line);padding:56px 48px;border-radius:0;background:var(--opx-card)}
.woocommerce form .form-row label{font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--opx-silver-3)}
.woocommerce form .form-row input.input-text{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.14);color:var(--opx-silver-1);padding:10px 0;border-radius:0;font-size:14px;letter-spacing:.01em}
.woocommerce form .form-row input.input-text:focus{border-color:var(--opx-gold);outline:none}

/* ==================================================================
   FOOTER
   ================================================================== */
.site-footer,footer.site-footer{background:#020202;border-top:1px solid var(--opx-line);color:#888;font-size:12px}
.site-footer a{color:#888}
.site-footer a:hover{color:var(--opx-silver-1)}
.site-footer .widget-title{font-size:10.5px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--opx-silver-1)}

.opx-disclaimer{border:1px solid var(--opx-line);padding:20px;color:#8a8a8a;font-size:12px;line-height:1.7;font-weight:300;margin:40px 0}
.opx-disclaimer strong{font-weight:600;color:#c9c9c9;letter-spacing:.06em}

/* Shop page heading + clutter */
.woocommerce .page-title,.woocommerce-products-header__title{font-size:clamp(40px,5.6vw,88px);font-weight:200;letter-spacing:-.035em;text-transform:uppercase;color:var(--opx-silver-1);margin:60px 0 40px}
.woocommerce-result-count,.woocommerce-ordering{display:none}

/* ==================================================================
   OPX v1.2 HOTFIX — override Botiga header + layout conflicts
   ================================================================== */

/* ── FORCE DARK HEADER ── */
.bhfb-header,
.bhfb-header .bhfb-row,
.bhfb-above_header_row,
.bhfb-main_header_row,
.bhfb-below_header_row,
header#masthead,
header.site-header,
.site-header-inner,
.header-inner {
  background: rgba(3,4,6,.85) !important;
  backdrop-filter: saturate(140%) blur(14px) !important;
  -webkit-backdrop-filter: saturate(140%) blur(14px) !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}

/* ── SITE TITLE / BRANDING — force OPX style ── */
.site-title,
.site-title a,
.bhfb-component_site_title .site-title,
.bhfb-component_site_title .site-title a,
.site-branding .site-title,
.site-branding .site-title a {
  font-family: var(--opx-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: var(--opx-silver-1) !important;
  text-decoration: none !important;
}
.site-description,
.site-branding .site-description {
  font-family: var(--opx-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  color: var(--opx-silver-3) !important;
  text-transform: none !important;
}

/* ── NAV LINKS — tiny uppercase silver ── */
.main-navigation ul li a,
.primary-navigation a,
.bhfb-component_menu nav ul li a,
.header-navigation a,
.botiga-nav a,
.bhfb-row a:not(.site-title a):not(.button),
header nav ul li a {
  font-family: var(--opx-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--opx-silver-3) !important;
  text-decoration: none !important;
}
.main-navigation ul li a:hover,
.primary-navigation a:hover,
.bhfb-component_menu nav ul li a:hover,
header nav ul li a:hover {
  color: var(--opx-silver-1) !important;
}

/* ── HEADER ICONS (search, account, cart) — OPX silver ── */
.bhfb-component_search svg,
.bhfb-component_myaccount svg,
.bhfb-component_cart svg,
.header-search svg,
.header-myaccount svg,
.header-cart svg,
header .botiga-icon,
header svg {
  color: var(--opx-silver-3) !important;
  fill: var(--opx-silver-3) !important;
}
header svg:hover,
header .botiga-icon:hover {
  color: var(--opx-silver-1) !important;
  fill: var(--opx-silver-1) !important;
}

/* Cart count badge → gold dot */
.header-cart .count,
.bhfb-component_cart .count,
.cart-count {
  background: var(--opx-gold) !important;
  color: #000 !important;
  font-size: 9px !important;
  min-width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
  border-radius: 50% !important;
}

/* ── HERO — tighten when no video ── */
.opx-hero {
  min-height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}
.opx-hero-film {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}
.opx-hero-video {
  width: 70% !important;
  max-width: 1200px !important;
  height: 110% !important;
}

/* ── BODY / PAGE WRAPPER — kill Botiga's white backgrounds ── */
.site-content,
.site-main,
.content-area,
main#primary,
#content,
.page .entry-content,
.home .entry-content,
.woocommerce-page .site-content,
.page-template-default .site-content,
article.page,
.botiga-content-wrapper {
  background: var(--opx-bg) !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Kill Botiga breadcrumbs, page title on front page */
.botiga-breadcrumb-trail,
.woocommerce-breadcrumb,
.page-header,
.botiga-page-header,
.entry-header {
  display: none !important;
}

/* ── FOOTER — dark ── */
.site-footer,
footer.site-footer,
footer#colophon,
.bhfb-footer,
.footer-builder {
  background: #020202 !important;
  border-top: 1px solid rgba(255,255,255,.05) !important;
  color: #888 !important;
}
.site-footer a,
footer a {
  color: #888 !important;
}
.site-footer a:hover,
footer a:hover {
  color: var(--opx-silver-1) !important;
}

/* ── CONTENT WRAPPER — full-width, no sidebar ── */
.botiga-container,
.container,
.site-content > .container,
.site-content > .botiga-container {
  max-width: 100% !important;
  padding: 0 !important;
}
.content-wrapper,
.botiga-content-wrapper,
#primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
#secondary,
.sidebar,
aside.widget-area {
  display: none !important;
}

/* ── FIX PRODUCT CARD IMAGE — use vial.png placeholder ── */
.woocommerce ul.products li.product .product-face .thumb img,
.woocommerce ul.products li.product img {
  mix-blend-mode: screen !important;
  filter: drop-shadow(0 40px 50px rgba(0,0,0,.8)) drop-shadow(0 0 30px rgba(255,255,255,.05)) !important;
}

/* ── WOOCOMMERCE NOTICES — dark theme ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--opx-card) !important;
  color: var(--opx-silver-1) !important;
  border-top-color: var(--opx-gold) !important;
}

/* ── INPUTS GLOBALLY — dark underline style ── */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  color: var(--opx-silver-1) !important;
  border-radius: 0 !important;
  font-family: var(--opx-sans) !important;
  padding: 10px 0 !important;
}
input:focus,
textarea:focus,
select:focus {
  border-bottom-color: var(--opx-gold) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── WOOCOMMERCE PRODUCT GRID — ensure 3-col on front page ── */
.opx-catalogue .woocommerce ul.products,
.opx-catalogue ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
}

/* Remove Botiga's default add-to-cart button on archive */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product a.add_to_cart_button {
  display: none !important;
}

/* ── COOKIE BANNER — dark it ── */
#cookie-admin-banner,
.cookie-admin-banner,
[class*="cookie"] > div {
  font-family: var(--opx-sans) !important;
}

/* ==================================================================
   OPX v1.3 COMPREHENSIVE FIX
   Root cause: Botiga wraps front-page.php content inside
   .container.content-wrapper > .row.main-row (max-width ~1140px).
   This constrains all OPX sections and Botiga heading color
   overrides make text invisible on the dark background.
   ================================================================== */

/* ── BREAK OUT OF BOTIGA CONTAINER ── */
body.home .container.content-wrapper,
body.home .row.main-row,
body.page .container.content-wrapper,
body.page .row.main-row,
.botiga-site-layout-default .container.content-wrapper,
.botiga-site-layout-default .row.main-row,
.site > .container.content-wrapper,
.site > .container,
.container.content-wrapper,
.row.main-row {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.home article.page,
body.home main#primary,
body.home .site-main,
body.home .entry-content,
body.page article.page,
body.page main#primary,
body.page .site-main,
body.page .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── FIX HEADING COLORS ── */
body h1, body h2, body h3, body h4, body h5, body h6,
.site h1, .site h2, .site h3, .site h4, .site h5, .site h6,
body.home h1, body.home h2, body.home h3,
body.page h1, body.page h2, body.page h3,
.opx-section-title,
.opx-section h2,
.opx-process h2,
.opx-catalogue h2,
.opx-science h2,
.opx-faq h2,
.opx-band h2,
h2.opx-section-title {
  color: var(--opx-silver-1) !important;
}

/* ── FIX HERO LAYOUT ── */
.opx-hero {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  min-height: 100vh !important;
  max-height: none !important;
  overflow: hidden !important;
}
.opx-hero > .opx-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px 0 48px !important;
}

/* ── FULL-BLEED SECTIONS ── */
.opx-section,
.opx-process,
.opx-catalogue,
.opx-science,
.opx-marquee,
.opx-faq,
.opx-band,
section.opx-section {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}

/* Re-apply section backgrounds */
.opx-process {
  background: linear-gradient(180deg, #060606 0%, #0a0a0a 100%) !important;
  border-top: 1px solid var(--opx-line) !important;
  border-bottom: 1px solid var(--opx-line) !important;
}
.opx-science {
  background: #080808 !important;
  border-top: 1px solid var(--opx-line) !important;
  border-bottom: 1px solid var(--opx-line) !important;
}
.opx-marquee {
  background: #f5f5f3 !important;
  border-top: 1px solid rgba(0,0,0,.08) !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
}
.opx-faq {
  background: #080808 !important;
  border-top: 1px solid var(--opx-line) !important;
}
.opx-band {
  background: radial-gradient(800px 400px at 50% 50%, rgba(220,220,220,.1), transparent 70%), linear-gradient(180deg, #050505 0%, #0c0c0c 100%) !important;
}

/* ── INTERNAL CONTAINERS ── */
.opx-process > .opx-container,
.opx-catalogue > .opx-container,
.opx-science > .opx-container,
.opx-faq > .opx-container,
.opx-band > .opx-container,
section.opx-section > .opx-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}

/* ── TEXT COLORS (Botiga overrides) ── */
.opx-section-label { color: var(--opx-silver-3) !important; }
.opx-section-sub { color: #a6a6a6 !important; }
.opx-step h3 { color: var(--opx-silver-1) !important; }
.opx-step p { color: var(--opx-gold) !important; }
.opx-step .num { color: var(--opx-silver-3) !important; }
.opx-quote p { color: #e2e2e2 !important; }
.opx-quote .by b { color: var(--opx-silver-1) !important; }
.opx-quote .by small { color: var(--opx-silver-3) !important; }
.opx-faq-list summary { color: var(--opx-silver-1) !important; }
.opx-faq-list details p { color: #a4a4a4 !important; }
.opx-band h2 { color: var(--opx-silver-1) !important; }
.opx-band p { color: #a4a4a4 !important; }
.opx-spec b { color: var(--opx-silver-1) !important; }
.opx-spec small { color: var(--opx-silver-3) !important; }
.opx-lead { color: #c8c8c8 !important; }
.opx-eyebrow { color: var(--opx-silver-3) !important; }
.opx-headline { color: var(--opx-silver-1) !important; }

/* ── PRODUCT CARDS ── */
.opx-catalogue .woocommerce ul.products,
.opx-catalogue ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
}

/* ── BUTTONS ── */
.opx-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: var(--opx-silver-1) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: .32em !important;
  text-transform: uppercase !important;
  padding: 14px 24px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}
.opx-cta:hover { background: var(--opx-silver-1) !important; color: #000 !important; border-color: var(--opx-silver-1) !important; }
.opx-cta.solid { background: var(--opx-silver-1) !important; color: #000 !important; border-color: var(--opx-silver-1) !important; }
.opx-cta.solid:hover { background: transparent !important; color: var(--opx-silver-1) !important; }
.opx-cta.gold { background: var(--opx-gold) !important; color: #0a0a0a !important; border-color: var(--opx-gold) !important; font-weight: 600 !important; }

/* ── GLOBAL DARK ── */
body, body.home, body.page, body.woocommerce, body.woocommerce-page {
  background: var(--opx-bg) !important;
  color: #eee !important;
}

/* ── HIDE BOTIGA NOISE ── */
.botiga-breadcrumb-trail, .woocommerce-breadcrumb, .page-header,
.botiga-page-header, .entry-header, body.home .entry-header,
body.page .entry-header { display: none !important; }

/* ── GRIDS ── */
.opx-science-grid { display: grid !important; grid-template-columns: 1.1fr .9fr !important; gap: 80px !important; align-items: center !important; }
.opx-quotes-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.opx-quote { background: var(--opx-card) !important; border: 1px solid var(--opx-line) !important; }

/* ── FOOTER ── */
.site-footer, footer.site-footer, footer#colophon {
  background: #020202 !important;
  border-top: 1px solid var(--opx-line) !important;
  color: #888 !important;
  width: 100% !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .opx-process-grid { grid-template-columns: 1fr !important; }
  .opx-science-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .opx-quotes-grid { grid-template-columns: 1fr !important; }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; }
}
@media (max-width: 600px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ==================================================================
   OPX LIST VIEW — Minimal Product Catalogue
   page-catalogue-list.php
   ================================================================== */
.opx-list-page {
  padding: 160px 0 120px;
  background: var(--opx-bg);
  min-height: 100vh;
}
.opx-list-header {
  margin-bottom: 80px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--opx-line);
}
.opx-list-title {
  font-weight: 200 !important;
  font-size: clamp(40px, 5.6vw, 88px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  text-transform: uppercase !important;
  color: var(--opx-silver-1) !important;
  margin: 0 0 16px !important;
}
.opx-list-sub { color: #a6a6a6; font-size: 15px; line-height: 1.75; max-width: 560px; font-weight: 300; margin: 0; }
.opx-plist { list-style: none; margin: 0; padding: 0; }
.opx-plist-item { border-bottom: 1px solid var(--opx-line); }
.opx-plist-item:first-child { border-top: 1px solid var(--opx-line); }
.opx-plist-row { display: flex; align-items: center; gap: 24px; padding: 28px 0; transition: background .2s ease; }
.opx-plist-row:hover { background: rgba(255,255,255,.015); }
.opx-plist-num { flex: 0 0 60px; font-size: 10px; font-weight: 500; letter-spacing: .3em; color: var(--opx-silver-3); text-align: center; }
.opx-plist-name { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.opx-plist-title { font-size: 20px; font-weight: 400; color: var(--opx-silver-1); letter-spacing: -.02em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.opx-plist-desc { font-size: 12px; color: var(--opx-silver-3); letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 480px; }
.opx-plist-price, .opx-plist-price .woocommerce-Price-amount, .opx-plist-price .amount { flex: 0 0 auto; font-size: 18px; font-weight: 400; color: var(--opx-silver-1) !important; letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.opx-plist-actions { flex: 0 0 auto; display: flex; gap: 10px; align-items: center; }
.opx-plist-btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; font-size: 9.5px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; border: 1px solid rgba(255,255,255,.16); border-radius: 0; cursor: pointer; transition: .25s ease; white-space: nowrap; font-family: var(--opx-sans); text-decoration: none; }
.opx-plist-add { background: transparent; color: var(--opx-silver-1); }
.opx-plist-add:hover { background: var(--opx-gold); color: #0a0a0a; border-color: var(--opx-gold); }
.opx-plist-info { background: transparent; color: var(--opx-silver-3); border-color: rgba(255,255,255,.08); }
.opx-plist-info:hover, .opx-plist-item.expanded .opx-plist-info { background: rgba(255,255,255,.06); color: var(--opx-silver-1); border-color: rgba(255,255,255,.16); }
.opx-plist-detail { max-height: 0; overflow: hidden; transition: max-height .45s cubic-bezier(.2,.6,.2,1), opacity .3s ease; opacity: 0; }
.opx-plist-item.expanded .opx-plist-detail { max-height: 600px; opacity: 1; }
.opx-plist-detail-inner { display: grid; grid-template-columns: 200px 1fr; gap: 48px; padding: 0 0 40px; margin-left: 84px; }
.opx-plist-detail-thumb { background: var(--opx-card); border: 1px solid var(--opx-line); display: flex; align-items: center; justify-content: center; padding: 24px; aspect-ratio: 1/1; }
.opx-plist-detail-thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: screen; filter: drop-shadow(0 20px 30px rgba(0,0,0,.6)); }
.opx-plist-detail-name { font-size: 28px !important; font-weight: 400 !important; color: var(--opx-silver-1) !important; letter-spacing: -.025em; text-transform: uppercase; margin: 0 0 8px !important; }
.opx-plist-detail-desc { font-size: 14px; color: #a6a6a6; line-height: 1.7; margin: 0 0 24px; max-width: 520px; font-weight: 300; }
.opx-plist-specs { list-style: none; padding: 0; margin: 0 0 28px; border-top: 1px solid var(--opx-line); }
.opx-plist-specs li { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--opx-line); }
.opx-plist-specs dt { flex: 0 0 auto; font-size: 9.5px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--opx-silver-3); margin: 0; }
.opx-plist-specs dd { margin: 0; font-size: 15px; font-weight: 500; color: var(--opx-silver-1); letter-spacing: -.005em; text-align: right; font-variant-numeric: tabular-nums; }
.opx-plist-detail-foot { display: flex; align-items: center; gap: 24px; padding-top: 20px; border-top: 1px solid var(--opx-line); }
.opx-plist-detail-price, .opx-plist-detail-price .amount { font-size: 22px; font-weight: 400; color: var(--opx-silver-1) !important; letter-spacing: -.02em; }
@media (max-width: 960px) {
  .opx-plist-row { flex-wrap: wrap; gap: 12px; }
  .opx-plist-num { flex: 0 0 40px; font-size: 9px; }
  .opx-plist-name { flex: 1 1 200px; }
  .opx-plist-actions { flex: 1 1 100%; justify-content: flex-end; }
  .opx-plist-detail-inner { grid-template-columns: 1fr; margin-left: 0; gap: 24px; }
  .opx-plist-detail-thumb { max-width: 200px; }
}
@media (max-width: 600px) {
  .opx-plist-row { padding: 20px 0; }
  .opx-plist-title { font-size: 16px; }
  .opx-plist-desc { display: none; }
  .opx-plist-btn { padding: 8px 14px; font-size: 8.5px; }
}
/* ==================================================================
   OPX CATALOGUE v2 — Centered, bigger type, chunkier lines
   ================================================================== */

/* ── Header: centered ── */
.opx-list-header {
  text-align: center;
  border-bottom: 3px solid rgba(255,255,255,.18);
  padding-bottom: 48px;
}
.opx-list-title {
  font-size: clamp(48px, 6vw, 96px) !important;
}
.opx-list-sub {
  margin: 0 auto;
  font-size: 16px;
  max-width: 600px;
}

/* ── Product rows: centered, stacked layout ── */
.opx-plist-row {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  padding: 40px 0;
}
.opx-plist-row:hover {
  background: rgba(255,255,255,.02);
}

/* Edition number — centered above */
.opx-plist-num {
  flex: none;
  font-size: 11px;
  letter-spacing: .35em;
  color: var(--opx-silver-3);
}

/* Name + description — centered */
.opx-plist-name {
  align-items: center;
  text-align: center;
}
.opx-plist-title {
  font-size: 28px;
  white-space: normal;
  text-align: center;
}
.opx-plist-desc {
  font-size: 14px;
  white-space: normal;
  text-align: center;
  max-width: 600px;
  letter-spacing: .02em;
}

/* Price — bigger */
.opx-plist-price,
.opx-plist-price .woocommerce-Price-amount,
.opx-plist-price .amount {
  font-size: 24px !important;
  font-weight: 400;
}

/* Action buttons — centered */
.opx-plist-actions {
  justify-content: center;
}
.opx-plist-btn {
  padding: 12px 24px;
  font-size: 10px;
  letter-spacing: .30em;
}

/* ── Chunkier, bolder separator lines ── */
.opx-plist-item {
  border-bottom: 3px solid rgba(255,255,255,.18);
}
.opx-plist-item:first-child {
  border-top: 3px solid rgba(255,255,255,.18);
}

/* ── Detail card: centered too ── */
.opx-plist-detail-inner {
  margin-left: 0;
  justify-items: center;
  text-align: center;
}
.opx-plist-detail-right {
  text-align: center;
}
.opx-plist-detail-name {
  text-align: center;
}
.opx-plist-detail-desc {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.opx-plist-specs {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.opx-plist-detail-foot {
  justify-content: center;
}

/* ── Responsive tweaks ── */
@media (max-width: 960px) {
  .opx-plist-detail-inner {
    grid-template-columns: 1fr;
  }
  .opx-plist-detail-thumb {
    max-width: 200px;
    margin: 0 auto;
  }
}
/* ==================================================================
   OPX v3 FIXES — Homepage centering + Catalogue row layout
   ================================================================== */

/* ── Homepage: ensure centering ── */
body.home .opx-members-band h1 {
  white-space: normal !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Catalogue: center the section label ── */
.opx-list-header .opx-section-label {
  justify-content: center;
}

/* ── Catalogue: row layout — peptide left, price + add right ── */
.opx-plist-row {
  flex-direction: row !important;
  align-items: center !important;
  text-align: left !important;
  gap: 24px !important;
  padding: 32px 0 !important;
}

/* Hide edition number for cleaner rows */
.opx-plist-num { display: none; }

/* Name column: left-aligned, chunkier type */
.opx-plist-name {
  flex: 1 1 auto !important;
  align-items: flex-start !important;
  text-align: left !important;
}
.opx-plist-title {
  font-size: 36px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  text-align: left !important;
}
.opx-plist-desc {
  text-align: left !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}

/* Price: right side */
.opx-plist-price,
.opx-plist-price .woocommerce-Price-amount,
.opx-plist-price .amount {
  font-size: 22px !important;
}

/* Actions: right side */
.opx-plist-actions {
  justify-content: flex-end !important;
}

/* Hide info button — keep it simple */
.opx-plist-info { display: none; }

/* ── Chunkier separator lines — match type weight ── */
.opx-plist-item {
  border-bottom: 4px solid rgba(255,255,255,.22) !important;
}
.opx-plist-item:first-child {
  border-top: 4px solid rgba(255,255,255,.22) !important;
}
.opx-list-header {
  border-bottom: 4px solid rgba(255,255,255,.22) !important;
}

/* Detail card: reset left margin */
.opx-plist-detail-inner {
  margin-left: 0 !important;
}
body.home .opx-members-band{width:100%!important}body.home .row.main-row{justify-content:center!important}
/* ==================================================================
   OPX v4 — Catalogue: centered, tighter, white lines, i button
   ================================================================== */

/* ── Full-width fix for catalogue page ── */
.opx-list-page { width: 100% !important; }

/* ── Tighter rows — type sits close to the line ── */
.opx-plist-row {
  padding: 16px 0 !important;
}

/* ── Lines full white ── */
.opx-plist-item {
  border-bottom: 3px solid #fff !important;
}
.opx-plist-item:first-child {
  border-top: 3px solid #fff !important;
}
.opx-list-header {
  border-bottom: 3px solid #fff !important;
}

/* ── Show info button as circular 'i' ── */
.opx-plist-info {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0 !important;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.3) !important;
  background: transparent !important;
  color: var(--opx-silver-1) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: italic;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
  transition: .25s ease;
}
.opx-plist-info::after { content: none !important; }
.opx-plist-info:hover {
  background: rgba(255,255,255,.1) !important;
  border-color: #fff !important;
}
/* ==================================================================
   OPX v5 — Catalogue: name on line, descriptor above
   ================================================================== */

/* Flip order: descriptor above, product name below (on the line) */
.opx-plist-name {
  flex-direction: column-reverse !important;
  gap: 6px !important;
}

/* Product name sits right on top of the white line — 6px above */
.opx-plist-row {
  padding: 20px 0 6px !important;
}

/* Descriptor: smaller, above the product name */
.opx-plist-desc {
  font-size: 12px !important;
  color: var(--opx-silver-3) !important;
  letter-spacing: .06em !important;
}
body.page-template-page-opx-main .row.main-row{display:block!important;width:100%!important}body.page-template-page-opx-main .content-wrapper{width:100%!important;max-width:100%!important;padding:0!important}