/* =============================================================
   STRIVE — design system for Kadence + WooCommerce
   Ported from approved static mockup. Cream / sage / bronze.
   ============================================================= */

:root{
  --cream:#FAF7F2; --cream-dark:#F0EBE3;
  --sage:#6B8E6C; --sage-dark:#4A7C4F; --sage-light:rgba(107,142,108,.12);
  --bronze:#8B7355; --bronze-dark:#6B5A44;
  --text-primary:#2C3329; --text-secondary:#5C6657; --text-muted:#8B7355; --text-light:#D4C8B8;
  --white:#FFFFFF; --line:rgba(139,115,85,.14);
  --serif:Georgia,'Times New Roman','Palatino Linotype',serif;
  --sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --radius-full:9999px; --shadow-md:0 8px 24px rgba(0,0,0,.06); --shadow-hover:0 20px 48px rgba(0,0,0,.1);

  /* map Kadence global palette to Strive */
  --global-palette1:#8B7355; --global-palette2:#6B5A44; --global-palette3:#2C3329;
  --global-palette4:#5C6657; --global-palette5:#8B7355; --global-palette6:#F0EBE3;
  --global-palette7:#FAF7F2; --global-palette8:#FFFFFF; --global-palette9:#2C3329;
  --global-palette-highlight:#6B8E6C;
  --global-body-font-family:var(--sans);
  --global-heading-font-family:var(--serif);
}

/* ---------- Base ---------- */
body,#wrapper,.content-bg,body.wp-singular{background:var(--cream)!important;color:var(--text-primary);font-family:var(--sans)}
body{-webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2,h3,h4,.entry-title,.woocommerce-loop-product__title,.product_title{font-family:var(--serif)!important;color:var(--text-primary);letter-spacing:-.5px;font-weight:600}
a{color:var(--bronze)}
a:hover{color:var(--bronze-dark)}
:focus-visible{outline:2px solid var(--sage);outline-offset:3px}

/* ---------- Research-use top bar ---------- */
.strive-compbar{background:var(--sage-dark);color:#fff;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:9px 20px;font-weight:600}
.strive-rou{font-size:11.5px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

/* ---------- Header / nav ---------- */
#masthead,.site-header,.site-header-row,.site-main-header-wrap,.site-header-inner-wrap{
  background:rgba(250,247,242,.95)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
}
.site-branding .site-title,.site-title a{font-family:var(--serif)!important;color:var(--text-primary)!important;font-weight:600;letter-spacing:-.5px}
.header-navigation .menu-container>ul>li>a{color:var(--text-secondary)!important;font-size:13px;font-weight:500;letter-spacing:.5px}
.header-navigation .menu-container>ul>li>a:hover{color:var(--bronze)!important}

/* ---------- Buttons ---------- */
.button,.wp-block-button__link,.kb-button,
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:var(--bronze)!important;color:#fff!important;border:none!important;border-radius:var(--radius-full)!important;
  font-family:var(--sans)!important;font-weight:600!important;letter-spacing:.3px!important;padding:12px 26px!important;
  transition:background .2s,transform .2s,box-shadow .2s!important;text-transform:none!important;
}
.button:hover,.wp-block-button__link:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--bronze-dark)!important;transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(139,115,85,.5)!important;
}

/* ---------- Product loop / shop grid ---------- */
.woocommerce ul.products li.product,.wc-block-grid__product{
  background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:0!important;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:rgba(139,115,85,.25)}
.woocommerce ul.products li.product a img,.wc-block-grid__product-image img{
  margin:0;border-bottom:1px solid var(--line);
  background:linear-gradient(160deg,#F4F1EA,#EBE6DC);aspect-ratio:1/1;object-fit:cover;width:100%;height:auto;display:block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:18px 20px 4px!important;font-size:18px;color:var(--text-primary)}
.woocommerce ul.products li.product .price{color:var(--bronze)!important;font-family:var(--serif);font-size:20px;font-weight:600;padding:0 20px;display:block}
.woocommerce ul.products li.product .price del{color:var(--text-light);font-weight:400}
.woocommerce ul.products li.product .price ins{color:var(--bronze);text-decoration:none}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{margin:14px 20px 20px!important;display:inline-block}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{
  background:var(--sage)!important;color:#fff!important;border-radius:var(--radius-full);
  font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;min-height:auto;min-width:auto;padding:5px 12px;line-height:1.3;top:14px;left:14px;
}

/* ---------- Single product ---------- */
.woocommerce div.product .product_title{font-size:clamp(28px,4vw,44px);font-weight:600;color:var(--text-primary)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--bronze)!important;font-family:var(--serif);font-size:30px;font-weight:600}
.woocommerce div.product p.price del{color:var(--text-light)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--text-secondary)}
.woocommerce .woocommerce-product-gallery{background:linear-gradient(160deg,#F4F1EA,#EBE6DC);border:1px solid var(--line);border-radius:16px;padding:24px}
.woocommerce div.product form.cart div.quantity input.qty{background:#fff;color:var(--text-primary);border:1px solid var(--line);border-radius:8px}
.woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;border-bottom:2px solid transparent!important}
.woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--bronze)!important}
.woocommerce-tabs ul.tabs li a{color:var(--text-secondary)!important}
.woocommerce-tabs ul.tabs li.active a{color:var(--bronze)!important}
.woocommerce-tabs ul.tabs::before{border-bottom-color:var(--line)!important}
.woocommerce table.shop_attributes th{color:var(--text-primary)}
.woocommerce table.shop_attributes td{color:var(--text-secondary)}
.star-rating span,.woocommerce .star-rating span::before{color:var(--bronze)}

/* ---------- Cart & checkout ---------- */
.woocommerce table.shop_table,.woocommerce-cart table.cart,.woocommerce-checkout .woocommerce-checkout-review-order-table{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--text-primary)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-top:1px solid var(--line);color:var(--text-primary)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce .cart_totals{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-checkout input,.woocommerce-checkout select,.select2-container--default .select2-selection--single{
  background:#fff!important;color:var(--text-primary)!important;border:1px solid var(--line)!important;border-radius:8px!important;
}
.woocommerce .woocommerce-info,.woocommerce-message,.woocommerce .woocommerce-error{background:#fff;border-top:3px solid var(--sage);color:var(--text-primary);border-radius:0 0 8px 8px}
.woocommerce .woocommerce-info::before,.woocommerce-message::before{color:var(--sage)}

/* ---------- Footer ---------- */
#colophon,.site-footer,.site-footer-row,.footer-wrap{background:var(--text-primary)!important;border-top:none;color:var(--text-light)}
#colophon a{color:var(--text-light)}
#colophon a:hover{color:#fff}

/* ---------- Mobile drawer menu ---------- */
.mobile-navigation a,.mobile-navigation ul li a,#mobile-drawer .menu li a,.mobile-navigation .menu-item>a{color:var(--bronze)!important;font-family:var(--serif)!important;font-weight:600}
.mobile-navigation a:hover,.mobile-navigation .current-menu-item>a{color:var(--bronze-dark)!important}
#mobile-drawer,.drawer-content-wrap,.mobile-drawer{background:var(--cream)!important}
.mobile-navigation li{border-bottom:1px solid var(--line)}

/* =============================================================
   Custom page sections (scoped to .strive-page)
   ============================================================= */
.strive-page{max-width:1200px;margin:0 auto;padding:0 24px}
.strive-page *{box-sizing:border-box}
.s-eyebrow{display:inline-block;background:var(--sage-light);color:var(--sage-dark);padding:8px 16px;border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}

/* Hero */
.s-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:80px 0 90px;position:relative}
.s-hero .htext{padding-right:20px}
.s-hero h1{font-family:var(--serif);font-size:clamp(38px,6vw,56px);font-weight:600;line-height:1.1;letter-spacing:-1px;margin:24px 0 20px;color:var(--text-primary)}
.s-hero h1 em{color:var(--bronze);font-style:italic}
.s-hero p.lead{color:var(--text-secondary);font-size:17px;max-width:460px;margin-bottom:28px}
.s-badges{display:flex;gap:18px;margin-bottom:30px;flex-wrap:wrap}
.s-badge{display:flex;gap:11px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.s-badge .ic{width:34px;height:34px;border-radius:9px;background:var(--sage-light);color:var(--sage-dark);display:flex;align-items:center;justify-content:center;font-size:16px}
.s-badge b{font-size:14px;color:var(--text-primary);display:block}
.s-badge span{font-size:11.5px;color:var(--text-muted)}
.s-cta{display:flex;gap:14px;flex-wrap:wrap}
.s-btn{display:inline-block;background:var(--bronze);color:#fff;padding:14px 28px;border-radius:var(--radius-full);font-weight:600;letter-spacing:.3px;transition:.2s}
.s-btn:hover{background:var(--bronze-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(139,115,85,.5)}
.s-btn-ghost{display:inline-block;background:transparent;border:1.5px solid var(--bronze);color:var(--bronze);padding:12.5px 26px;border-radius:var(--radius-full);font-weight:600;transition:.2s}
.s-btn-ghost:hover{background:var(--bronze);color:#fff}
.s-hero .hvisual{position:relative;display:flex;align-items:center;justify-content:center}
.s-frame{width:100%;max-width:420px;aspect-ratio:4/5;border-radius:210px 210px 16px 16px;background:linear-gradient(160deg,#F4F1EA,#E8E1D5);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}
.s-vial{width:90px;height:260px;border-radius:14px 14px 20px 20px;background:linear-gradient(180deg,#fff,#f0ece4);border:2px solid #E2D9CB;position:relative;box-shadow:0 20px 40px -18px rgba(0,0,0,.25)}
.s-vial::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:42px;height:20px;background:var(--sage);border-radius:6px}
.s-vial .liq{position:absolute;left:10px;right:10px;top:32%;bottom:14px;background:linear-gradient(180deg,rgba(107,142,108,.16),rgba(107,142,108,.05));border-radius:8px}
.s-vial .lbl{position:absolute;left:10px;right:10px;top:44%;height:96px;background:#fff;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.s-vial .lbl b{font-family:var(--serif);color:var(--sage-dark);font-size:15px}
.s-vial .lbl small{font-size:7.5px;color:var(--text-muted);letter-spacing:.1em}
.s-research-tag{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(44,51,41,.9);color:#fff;font-size:11px;letter-spacing:.05em;padding:7px 16px;border-radius:var(--radius-full);white-space:nowrap}

/* Section header */
.s-section{padding:80px 0}
.s-head{text-align:center;max-width:600px;margin:0 auto 48px}
.s-head h2{font-family:var(--serif);font-size:clamp(28px,4vw,40px);font-weight:600;letter-spacing:-.5px;margin:0 0 12px;color:var(--text-primary)}
.s-head p{color:var(--text-secondary);font-size:16px}

/* Quiz cards */
.s-quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.s-quiz-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 28px;transition:.25s}
.s-quiz-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--sage)}
.s-quiz-num{width:40px;height:40px;border-radius:50%;background:var(--sage-light);color:var(--sage-dark);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:18px}
.s-quiz-card h3{font-family:var(--serif);font-size:20px;margin-bottom:8px;color:var(--text-primary)}
.s-quiz-card p{color:var(--text-secondary);font-size:14.5px}

/* Quality band (sage) */
.s-quality{background:var(--sage-dark);color:#fff;padding:76px 0}
.s-quality .s-head h2,.s-quality .s-head p{color:#fff}
.s-quality .s-head p{opacity:.85}
.s-quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1000px;margin:0 auto}
.s-q-item{text-align:center;padding:0 12px}
.s-q-item .ic{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 16px}
.s-q-item b{display:block;font-family:var(--serif);font-size:18px;margin-bottom:6px}
.s-q-item p{font-size:13.5px;opacity:.8;line-height:1.5}

/* COA table */
.s-coa-tools{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 8px}
.s-coa-search{flex:1;min-width:240px;background:#fff!important;border:1px solid var(--line)!important;border-radius:10px;color:var(--text-primary)!important;padding:13px 16px;font-family:inherit;font-size:14px}
.s-coa-search::placeholder{color:var(--text-muted)}
.s-coa-search:focus{outline:none;border-color:var(--sage)!important}
.s-coa-filter{background:#fff!important;border:1px solid var(--line)!important;border-radius:10px;color:var(--text-secondary)!important;padding:13px 16px;font-family:inherit;font-size:14px}
.s-coa-table{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:24px 0 40px;background:#fff}
.s-coa-thead,.s-coa-tr{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr 130px;gap:16px;padding:16px 24px;align-items:center}
.s-coa-thead{background:var(--cream-dark);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600}
.s-coa-tr{border-bottom:1px solid var(--line);font-size:14px}
.s-coa-tr:last-child{border-bottom:none}
.s-coa-tr:hover{background:var(--cream)}
.s-coa-tr .lot{font-family:var(--serif);color:var(--bronze);font-size:15px;font-weight:600}
.s-coa-tr .sku{color:var(--sage-dark);font-size:12px;letter-spacing:.06em;font-weight:600}
.s-coa-tr .muted{color:var(--text-secondary)}
.s-coa-pass{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--sage-dark);font-weight:600}
.s-coa-pass::before{content:"●";font-size:9px}
.s-coa-dl{background:transparent;border:1.5px solid var(--bronze);color:var(--bronze);padding:8px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;text-align:center;text-decoration:none;display:inline-block;transition:.2s}
.s-coa-dl:hover{background:var(--bronze);color:#fff}

/* Prose (about/contact/legal) */
.s-prose h2{font-family:var(--serif);font-size:28px;font-weight:600;margin:0 0 14px;color:var(--text-primary);scroll-margin-top:110px}
.s-prose h2:not(:first-child){margin-top:44px;padding-top:44px;border-top:1px solid var(--line)}
.s-prose p{color:var(--text-secondary);font-size:15.5px;margin-bottom:14px;max-width:720px}
.s-prose ul{margin:0 0 18px;max-width:720px;list-style:none;padding:0}
.s-prose ul li{color:var(--text-secondary);font-size:15px;padding:8px 0 8px 22px;position:relative;border-bottom:1px solid var(--line)}
.s-prose ul li::before{content:"✓";color:var(--sage);position:absolute;left:0;top:8px;font-weight:700}
.s-prose .callout{border:1px solid var(--line);border-left:3px solid var(--sage);border-radius:8px;padding:20px 24px;background:#fff;margin:20px 0;max-width:720px}
.s-prose .callout .t{font-family:var(--serif);color:var(--sage-dark);font-size:16px;margin-bottom:6px;font-weight:600}

/* Responsive */
@media (max-width:860px){
  .s-hero{grid-template-columns:1fr;gap:40px;padding:52px 0 60px}
  .s-hero .hvisual{order:-1}
  .s-quiz-grid{grid-template-columns:1fr}
  .s-quality-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
}
@media (max-width:520px){
  .strive-page{padding:0 18px}
  .s-quality-grid{grid-template-columns:1fr}
  .s-coa-thead{display:none}
  .s-coa-tr{grid-template-columns:1fr 1fr;row-gap:6px}
  .s-coa-tr .s-coa-dl{grid-column:1/-1}
  .s-section{padding:56px 0}
}
