/*
Theme Name: PepTitans
Theme URI: https://peptitans.com
Author: PepTitans
Author URI: https://peptitans.com
Description: A premium WooCommerce-ready WordPress theme for PepTitans, a peptide wellness brand. Clean, minimal, luxury clinical aesthetic with full WooCommerce template integration (shop, single product, cart, checkout, my account) plus custom page templates for home, FAQ, contact, affiliate, and legal pages.
Version: 2.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: peptitans
Tags: e-commerce, woocommerce, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, full-width-template
*/

/* ============================================================
   PepTitans 2.0 — Clean Luxury Minimal Clinical (WooCommerce)
   ============================================================ */

:root{
  --bg:#fff;
  --bg-soft:#f7f8fa;
  --bg-cream:#faf8f3;
  --ink:#0f1f2c;
  --ink-soft:#44525d;
  --ink-mute:#7a8691;
  --line:#e4e7eb;
  --gold:#b8924a;
  --gold-soft:#d9bd84;
  --gold-bg:#f5efe1;
  --accent:#1c3d5a;
  --success:#2e7d57;
  --danger:#c0392b;
  --radius:4px;
  --radius-lg:10px;
  --shadow-sm:0 1px 2px rgba(15,31,44,.06);
  --shadow:0 6px 24px rgba(15,31,44,.08);
  --shadow-lg:0 20px 50px rgba(15,31,44,.12);
  --font-sans:"Inter","Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-serif:"Cormorant Garamond","Playfair Display",Georgia,serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--bg);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--gold)}
button{font-family:inherit;cursor:pointer}

h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;color:var(--ink);letter-spacing:.01em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.15}
h3{font-size:1.4rem}
p{margin:0 0 1em;color:var(--ink-soft)}

.container{max-width:1240px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section-tight{padding:48px 0}
.text-center{text-align:center}
.eyebrow{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:14px;display:inline-block}

/* Buttons */
.btn,.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce-page #respond input#submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 28px;
  border:1px solid var(--gold);
  background:var(--gold);
  color:#fff;
  font-size:.85rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:500;
  border-radius:var(--radius);
  cursor:pointer;
  transition:all .25s ease;
  text-decoration:none;
  line-height:1;
}
.btn:hover,.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background:#a07d3a;
  border-color:#a07d3a;
  color:#fff;
}
.btn-outline,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.btn-outline:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
}
.btn-gold-outline{background:transparent;color:var(--gold)}
.btn-gold-outline:hover{background:var(--gold);color:#fff}
.btn-sm{padding:10px 18px;font-size:.75rem}
.btn-block{display:flex;width:100%}

/* Announcement bar */
.announcement{
  background:var(--ink);
  color:#f1ece1;
  font-size:.78rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-align:center;
  padding:10px 24px;
  overflow:hidden;
  position:relative;
}
.announcement-track{display:flex;gap:60px;justify-content:center;flex-wrap:wrap}
.announcement-track span::before{content:"✦ ";color:var(--gold);margin-right:8px}

/* Header */
.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:12px 0}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}
.brand-logo,
.custom-logo,
.custom-logo-link img,
.wp-custom-logo .custom-logo-link img{
  height:80px !important;
  width:auto !important;
  max-width:260px !important;
  object-fit:contain;
  display:block;
}
.custom-logo-link,
.brand.brand-with-logo{
  display:inline-block;
  line-height:0;
}
@media (max-width:980px){
  .brand-logo,
  .custom-logo,
  .custom-logo-link img,
  .wp-custom-logo .custom-logo-link img{
    height:64px !important;
    max-width:220px !important;
  }
}
@media (max-width:720px){
  .brand-logo,
  .custom-logo,
  .custom-logo-link img,
  .wp-custom-logo .custom-logo-link img{
    height:52px !important;
    max-width:180px !important;
  }
}
.brand-mark{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-soft) 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-family:var(--font-sans);font-size:1.2rem}
.brand-name{color:var(--ink);font-family:var(--font-serif);font-size:1.7rem;font-weight:500;letter-spacing:.04em}
.brand-name em{font-style:italic;color:var(--gold);font-weight:400}
.nav{display:flex;gap:36px;justify-content:center;list-style:none;margin:0;padding:0}
.nav a{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink);position:relative;padding:8px 0}
.nav a:hover,.nav a.active,.nav .current-menu-item > a,.nav .current_page_item > a{color:var(--gold)}
.nav .current-menu-item > a::after,.nav .current_page_item > a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold)}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.icon-btn{background:none;border:0;padding:8px;color:var(--ink);display:inline-flex;align-items:center;gap:8px;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.icon-btn:hover{color:var(--gold)}
.cart-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.cart-link:hover{color:var(--gold)}
.cart-count{background:var(--gold);color:#fff;font-size:.7rem;font-weight:600;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.mobile-toggle{display:none}

/* Hero */
.hero{background:#fff;padding:48px 0 60px;border-bottom:1px solid var(--line)}
.hero-banner{position:relative;width:100%;max-width:1400px;margin:0 auto;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#0a1620 0%,#1c3d5a 100%);min-height:380px;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center}
.hero-banner img{width:100%;height:100%;object-fit:cover;display:block}
.hero-banner-placeholder{color:#d9bd84;font-family:var(--font-serif);font-size:1.4rem;letter-spacing:.15em;text-align:center;padding:40px;line-height:1.6}
.hero-banner-placeholder strong{display:block;font-size:2.2rem;color:#fff;letter-spacing:.05em;margin-bottom:8px}
.hero-banner-placeholder small{display:block;font-family:var(--font-sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#a9b3bc;margin-top:18px}
.hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.hero-eyebrow{display:block;text-align:center;margin-top:32px;margin-bottom:4px}
@media (max-width:720px){.hero-banner{aspect-ratio:auto;min-height:240px}.hero-banner-placeholder strong{font-size:1.4rem}.hero-banner-placeholder{font-size:1rem}}

/* Section header */
.section-header{text-align:center;margin-bottom:56px;max-width:720px;margin-left:auto;margin-right:auto}
.section-header p{color:var(--ink-mute)}

/* Category grid */
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.category-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:48px 36px;text-align:center;transition:all .3s ease;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:12px}
.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-soft)}
.category-icon{width:80px;height:80px;border-radius:50%;background:#fff;border:1px solid var(--gold-soft);display:inline-flex;align-items:center;justify-content:center;color:var(--gold);font-size:2rem;margin-bottom:12px;box-shadow:var(--shadow-sm)}
.category-card h3{font-family:var(--font-serif);margin:0}
.category-card span.link{color:var(--gold);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;margin-top:8px}

/* Trust bar */
.trust-bar{background:var(--bg-cream);padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.trust-item{text-align:center;padding:12px}
.trust-item .icon{font-size:1.6rem;color:var(--gold);margin-bottom:10px;display:block}
.trust-item h4{font-family:var(--font-sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--ink);margin:0 0 6px}
.trust-item p{font-size:.85rem;color:var(--ink-mute);margin:0;line-height:1.5}

/* Sets apart */
.sets-apart{background:var(--ink);color:#d8dee3;padding:100px 0}
.sets-apart h2{color:#fff}
.sets-apart .eyebrow{color:var(--gold)}
.sets-apart p{color:#a9b3bc}
.sets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}
.set-item{padding:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:28px}
.set-item .icon{color:var(--gold);font-size:1.8rem;margin-bottom:16px;display:block}
.set-item h3{color:#fff;font-family:var(--font-sans);font-size:1.05rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin-bottom:10px}
.set-item p{color:#a9b3bc;font-size:.92rem;margin:0}

/* Newsletter */
.newsletter{background:var(--bg-cream);padding:80px 0;text-align:center}
.newsletter-form{display:flex;gap:8px;max-width:480px;margin:30px auto 0}
.newsletter-embed{max-width:520px;margin:30px auto 0}
.newsletter-embed [class^="klaviyo-form-"]{margin:0 auto}
.newsletter-form input{flex:1;padding:14px 18px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:.95rem;border-radius:var(--radius)}
.newsletter-form input:focus{outline:none;border-color:var(--gold)}

/* Footer */
.footer{background:#0a1620;color:#a9b3bc;padding:80px 0 0}
.footer h4{color:#fff;font-family:var(--font-sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600;margin-bottom:20px}
.footer p{color:#8a96a3;font-size:.92rem;line-height:1.7}
.footer a{color:#b8c3cf;font-size:.92rem}
.footer a:hover{color:var(--gold)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.footer-brand p{max-width:320px}
.footer-disclaimer{border-top:1px solid rgba(255,255,255,.08);margin-top:60px;padding:28px 0;font-size:.8rem;color:#6c7884;text-align:center;line-height:1.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:.82rem}
.footer-bottom span{color:#6c7884}

/* Page hero */
.page-hero{background:var(--bg-cream);padding:80px 0 60px;text-align:center;border-bottom:1px solid var(--line)}
.page-hero h1{margin-bottom:12px}
.page-hero p{max-width:640px;margin:0 auto;color:var(--ink-mute)}

/* Generic page content */
.page-content{max-width:820px;margin:0 auto;padding:60px 24px}
.page-content h2{font-family:var(--font-serif);margin-top:36px}
.page-content p,.page-content li{color:var(--ink-soft);line-height:1.75}

/* Legal pages (Terms, Privacy, Shipping) */
.legal-content h2{font-size:1.35rem;color:var(--ink);margin-top:42px;margin-bottom:10px;letter-spacing:.01em}
.legal-content h2:first-of-type{margin-top:28px}
.legal-content p{margin-bottom:16px}
.legal-content .legal-effective{padding:14px 18px;background:var(--bg-cream);border-left:3px solid var(--gold);border-radius:6px;margin-bottom:28px;color:var(--ink)}
.legal-content .legal-disclaimer{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--ink-mute);font-size:.92rem}
.legal-content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.legal-content a:hover{color:#9a7836}

/* FAQ */
.faq-list{max-width:820px;margin:0 auto;padding:40px 24px 80px}
.faq-item{border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:14px;background:#fff;overflow:hidden}
.faq-q{padding:22px 26px;cursor:pointer;font-weight:600;font-size:1.02rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-q::after{content:"+";color:var(--gold);font-size:1.4rem;transition:transform .2s ease}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{padding:0 26px;max-height:0;overflow:hidden;transition:max-height .25s ease,padding .25s ease;color:var(--ink-soft)}
.faq-item.open .faq-a{max-height:600px;padding:0 26px 26px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;padding:60px 24px}
.contact-info{padding:8px}
.contact-info h3{font-family:var(--font-serif)}
.contact-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px}
.contact-card .icon{color:var(--gold);font-size:1.4rem;margin-bottom:8px;display:block}
.contact-card h4{font-family:var(--font-sans);font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);margin:0 0 6px;font-weight:600}
.contact-card p{margin:0;color:var(--ink-soft);font-size:.95rem}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px}
.contact-form .field{margin-bottom:16px}
.contact-form label{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-weight:600}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px 14px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:.95rem;border-radius:var(--radius)}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--gold)}

/* Affiliate */
.affiliate-hero{background:linear-gradient(135deg,#faf8f3 0%,#f5efe1 100%);padding:100px 0;text-align:center}
.affiliate-features{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:60px 24px}
.affiliate-card{text-align:center;padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}
.affiliate-card .num{font-family:var(--font-serif);font-size:3rem;color:var(--gold);margin-bottom:8px;display:block}

/* ================= WooCommerce overrides ================= */

.woocommerce-page .site-main,
.woocommerce .site-main{
  max-width:1240px;
  margin:0 auto;
  padding:60px 24px;
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb{
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-mute);
  margin-bottom:32px;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--ink-soft)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--gold)}

/* Page title */
.woocommerce-products-header__title{
  font-family:var(--font-serif);
  font-weight:500;
  font-size:clamp(2rem,4vw,3rem);
  margin:0 0 24px;
  text-align:center;
}

/* Result count + sort */
.woocommerce .woocommerce-result-count{
  color:var(--ink-mute);
  font-size:.85rem;
  letter-spacing:.05em;
  margin-bottom:24px;
}
.woocommerce .woocommerce-ordering select{
  padding:10px 14px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:var(--radius);
  font-family:inherit;
  font-size:.9rem;
  color:var(--ink);
}

/* Product grid */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  list-style:none;
  margin:32px 0;
  padding:0;
}
@media (max-width:980px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr}}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:all .3s ease;
  display:flex !important;
  flex-direction:column;
  position:relative;
  width:100% !important;
  margin:0 !important;
  float:none !important;
  padding:0 !important;
  text-align:left;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:var(--gold-soft);
}
.woocommerce ul.products li.product a img{
  margin:0;
  aspect-ratio:1/1;
  object-fit:cover;
  width:100%;
  background:linear-gradient(135deg,#fafaf7 0%,#f1ece0 100%);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2.woocommerce-loop-product__title{
  font-family:var(--font-serif);
  font-size:1.15rem;
  font-weight:500;
  padding:14px 20px 4px;
  margin:0;
  color:var(--ink);
}
.woocommerce ul.products li.product .price{
  padding:0 20px 4px;
  font-size:1rem;
  font-weight:600;
  color:var(--ink);
}
.woocommerce ul.products li.product .price del{color:var(--ink-mute);font-weight:400;margin-right:6px}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--gold);font-weight:600}
.woocommerce ul.products li.product .button{
  margin:auto 20px 20px;
  display:flex;
  width:calc(100% - 40px);
}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  background:var(--ink);
  color:#fff;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:3px;
  min-height:0;
  min-width:0;
  line-height:1;
  top:12px;
  left:12px;
  right:auto;
  margin:0;
}

/* Single product */
.woocommerce div.product{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
}
@media (max-width:980px){.woocommerce div.product{grid-template-columns:1fr;gap:32px}}
.woocommerce div.product .woocommerce-product-gallery{
  width:100% !important;
  float:none !important;
  background:linear-gradient(135deg,#fafaf7 0%,#f1ece0 100%);
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  padding:24px;
}
.woocommerce div.product .summary{
  width:100% !important;
  float:none !important;
  margin:0 !important;
}
.woocommerce div.product .product_title{
  font-family:var(--font-serif);
  font-weight:500;
  font-size:2.4rem;
  margin:0 0 12px;
  color:var(--ink);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-size:1.8rem;
  font-weight:600;
  color:var(--gold);
  margin:16px 0 24px;
}
.woocommerce div.product .woocommerce-product-details__short-description p{
  color:var(--ink-soft);
  line-height:1.75;
}
.woocommerce div.product form.cart{margin:24px 0}
.woocommerce div.product form.cart .quantity{margin-right:12px}
.woocommerce .quantity .qty{
  width:80px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  font-family:inherit;
  font-size:1rem;
  text-align:center;
}
.woocommerce div.product .product_meta{
  border-top:1px solid var(--line);
  margin-top:32px;
  padding-top:24px;
  font-size:.9rem;
  color:var(--ink-mute);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.woocommerce div.product .product_meta > span strong{
  color:var(--ink);
  font-weight:600;
  margin-right:6px;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{margin-top:48px;grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  gap:0;
  border-bottom:1px solid var(--line);
  margin:0 0 32px;
  padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;
  border:0;
  border-radius:0;
  margin:0;
  padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:14px 24px;
  font-size:.85rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-mute);
  font-weight:600;
  border-bottom:2px solid transparent;
  display:inline-block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--ink);
  border-bottom-color:var(--gold);
}
.woocommerce div.product .woocommerce-tabs .panel{
  max-width:760px;
  color:var(--ink-soft);
  line-height:1.75;
}

/* Related products */
.woocommerce .related h2,
.woocommerce .upsells h2{
  font-family:var(--font-serif);
  text-align:center;
  margin-bottom:32px;
}

/* Cart */
.woocommerce table.shop_table{
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  border-collapse:separate;
  margin-bottom:24px;
  overflow:hidden;
}
.woocommerce table.shop_table th{
  background:var(--bg-soft);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:16px;
}
.woocommerce table.shop_table td{
  border-top:1px solid var(--line);
  padding:16px;
  color:var(--ink-soft);
}
.woocommerce table.shop_table .product-name a{color:var(--ink);font-family:var(--font-serif);font-size:1.05rem}
.woocommerce table.shop_table .product-name a:hover{color:var(--gold)}
.woocommerce .cart-collaterals{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:48px;
}
@media (max-width:980px){.woocommerce .cart-collaterals{grid-template-columns:1fr}}
.woocommerce .cart_totals{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px;
}
.woocommerce .cart_totals h2{
  font-family:var(--font-serif);
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}

/* Checkout */
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:48px;
}
@media (max-width:980px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}}
.woocommerce-checkout #customer_details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px;
}
.woocommerce-checkout h3{font-family:var(--font-serif);font-size:1.3rem;margin-bottom:20px}
.woocommerce form .form-row label{
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:600;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  padding:12px 14px;
  border:1px solid var(--line);
  background:#fff;
  font-family:inherit;
  font-size:.95rem;
  border-radius:var(--radius);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--gold)}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px;
}
#payment{
  background:transparent !important;
  border-radius:0 !important;
}
#payment ul.payment_methods{
  border:0 !important;
  padding:0 !important;
}
#payment ul.payment_methods li{
  padding:14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-bottom:8px;
  background:#fff;
}
#payment ul.payment_methods li.payment_method_selected{
  border-color:var(--gold);
  background:var(--gold-bg);
}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  padding:0;
  margin:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;
  padding:12px 0;
  font-size:.85rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--gold)}

/* Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:var(--radius);
  padding:18px 20px;
  background:var(--bg-cream);
  border-top:3px solid var(--gold);
}
.woocommerce-message{border-top-color:var(--success)}
.woocommerce-error{border-top-color:var(--danger)}

/* Shop sidebar */
.shop-layout{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:48px;
}
@media (max-width:980px){.shop-layout{grid-template-columns:1fr}}
.shop-sidebar h4{
  font-family:var(--font-sans);
  font-size:.8rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.shop-sidebar .widget{margin-bottom:32px}
.shop-sidebar ul{list-style:none;padding:0;margin:0}
.shop-sidebar li{padding:8px 0}
.shop-sidebar a{font-size:.92rem;color:var(--ink-soft)}
.shop-sidebar a:hover{color:var(--gold)}

/* Mobile responsive */
@media (max-width:980px){
  .category-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .sets-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .affiliate-features{grid-template-columns:1fr}
}
@media (max-width:720px){
  .header-inner{grid-template-columns:auto auto}
  .nav{display:none}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:24px;border-bottom:1px solid var(--line);gap:20px}
  .mobile-toggle{display:inline-flex;background:none;border:0;color:var(--ink);font-size:1.4rem;padding:6px}
  .trust-grid,.affiliate-features{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .announcement-track{gap:24px}
}

/* Toast */
.toast{position:fixed;bottom:30px;right:30px;background:var(--ink);color:#fff;padding:16px 24px;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;opacity:0;transform:translateY(20px);transition:all .3s ease;font-size:.9rem;border-left:3px solid var(--gold)}
.toast.show{opacity:1;transform:translateY(0)}
