/*
Theme Name: HerraWear
Theme URI: https://herrawear.co.za
Author: HerraWear
Description: HerraWear period panties & swimwear storefront, built on WooCommerce for real product listings, cart, and checkout.
Version: 1.0.0
Text Domain: herrawear
Requires Plugins: woocommerce
*/

/* ═══════════════════════════════════════════
   HERRAWEAR DESIGN SYSTEM — Wireframe Spec
   Primary: #D32F2F | Accent: #FF4081
   Secondary: #C2185B | BG Accent: #F8BBD0
   Headings: Poppins | Body: Figtree
═══════════════════════════════════════════ */
:root {
  --primary:    #D32F2F;
  --primary-dk: #B71C1C;
  --primary-lt: #EF5350;
  --secondary:  #C2185B;
  --accent:     #FF4081;
  --bg-accent:  #F8BBD0;
  --bg-soft:    #FFF0F3;
  --bg-white:   #FFFFFF;
  --text:       #212121;
  --text-mid:   #555555;
  --text-light: #888888;
  --border:     rgba(211,47,47,0.15);
  --shadow:     0 4px 24px rgba(211,47,47,0.10);
  --shadow-lg:  0 12px 48px rgba(0,0,0,0.12);
  --radius:     12px;
  --radius-lg:  24px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Figtree',sans-serif;color:var(--text);background:var(--bg-white);overflow-x:hidden;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:'Figtree',sans-serif;cursor:pointer}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif;font-weight:700;line-height:1.2;color:var(--text)}
h1{font-size:clamp(2.2rem,5vw,3.5rem)}
h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
h4{font-size:1.1rem}
p{font-size:1rem;color:var(--text-mid);line-height:1.75}

/* UTILITY */
.container{max-width:1180px;margin:0 auto;padding:0 32px}
.text-center{text-align:center}
.section-pad{padding:96px 0}
.section-pad-sm{padding:64px 0}

/* TAGS / EYEBROWS */
.eyebrow{
  display:inline-block;font-family:'Poppins',sans-serif;font-size:0.7rem;
  font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--primary);background:rgba(211,47,47,0.08);
  padding:5px 14px;border-radius:40px;margin-bottom:14px;
}
.eyebrow-white{color:#fff;background:rgba(255,255,255,0.18)}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Poppins',sans-serif;font-size:0.88rem;font-weight:600;
  letter-spacing:0.04em;padding:14px 32px;border-radius:40px;
  border:2px solid transparent;transition:all 0.25s;cursor:pointer;
}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dk);border-color:var(--primary-dk);transform:translateY(-2px);box-shadow:0 8px 24px rgba(211,47,47,0.35)}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--primary);border-color:#fff}
.btn-white:hover{background:var(--bg-accent);transform:translateY(-2px)}
.btn-outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,0.7)}
.btn-outline-white:hover{background:rgba(255,255,255,0.12);border-color:#fff}
.btn-sm{padding:10px 22px;font-size:0.8rem}

/* ─── ANNOUNCEMENT BAR ─── */
.announce-bar{
  background:var(--primary-dk);color:#fff;text-align:center;
  padding:9px 20px;font-size:0.78rem;font-weight:500;
  letter-spacing:0.06em;
}

/* ─── NAVIGATION ─── */
.site-nav{
  position:sticky;top:0;z-index:500;background:#fff;
  border-bottom:1px solid var(--border);
  box-shadow:0 1px 12px rgba(0,0,0,0.06);
}
.nav-inner{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;
  height:72px;max-width:1180px;margin:0 auto;padding:0 32px;
}
.nav-logo{display:flex;align-items:center}
.nav-logo img,
.nav-logo .custom-logo{height:var(--logo-height,52px);width:auto;max-width:240px}
/* Logo position (Customize → HerraWear Settings → Header / Logo) */
body.logo-pos-center .nav-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
body.logo-pos-right .nav-logo{order:3}
body.logo-pos-right .nav-links{order:2}
body.logo-pos-right .nav-actions{order:1}
.nav-links{display:flex;gap:4px;list-style:none;align-items:center}
.nav-links a{
  font-family:'Poppins',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.05em;text-transform:uppercase;color:var(--text);
  padding:8px 14px;border-radius:8px;transition:all 0.2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--primary);background:rgba(211,47,47,0.06)}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-cart{
  display:flex;align-items:center;gap:7px;background:var(--primary);
  color:#fff;border:none;padding:10px 20px;border-radius:40px;
  font-size:0.8rem;font-weight:600;font-family:'Poppins',sans-serif;
  letter-spacing:0.04em;transition:all 0.2s;
}
.nav-cart:hover{background:var(--primary-dk);transform:translateY(-1px)}
.menu-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--text)}

/* ─── HERO ─── */
.hero{
  position:relative;min-height:92vh;
  display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 72px 80px 80px;position:relative;z-index:2;
  background:#fff;
}
.hero-left .eyebrow{margin-bottom:18px}
.hero-title{
  font-size:clamp(2.6rem,5vw,3.8rem);font-weight:800;
  line-height:1.05;margin-bottom:14px;color:var(--text);
}
.hero-title span{color:var(--primary)}
.hero-tagline{
  font-family:'Poppins',sans-serif;font-size:1.15rem;font-style:italic;
  font-weight:400;color:var(--secondary);margin-bottom:24px;
}
.hero-desc{font-size:1rem;color:var(--text-mid);line-height:1.75;max-width:460px;margin-bottom:40px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{
  display:flex;align-items:center;gap:16px;margin-top:36px;
  padding-top:28px;border-top:1px solid var(--border);
}
.hero-trust-stat h4{font-size:1.4rem;color:var(--primary);margin-bottom:2px}
.hero-trust-stat p{font-size:0.75rem;color:var(--text-light);margin:0}
.hero-trust-divider{width:1px;height:40px;background:var(--border)}
.hero-right{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,var(--bg-soft) 0%,var(--bg-accent) 100%);
}
.hero-right img{
  width:100%;height:100%;object-fit:cover;
  object-position:center top;
}
.hero-badge{
  position:absolute;bottom:32px;left:32px;
  background:#fff;border-radius:16px;padding:16px 20px;
  box-shadow:var(--shadow-lg);max-width:210px;
  border-left:4px solid var(--accent);
}
.hero-badge-stars{color:var(--accent);font-size:0.9rem;margin-bottom:5px}
.hero-badge p{font-size:0.75rem;color:var(--text-mid);margin:0;line-height:1.4}
.hero-badge strong{color:var(--text);font-family:'Poppins',sans-serif}

/* ─── TRUST BAR ─── */
.trust-bar{
  background:var(--primary);padding:20px 0;
}
.trust-bar-inner{
  display:flex;align-items:center;justify-content:center;
  gap:0;flex-wrap:wrap;
}
.trust-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 32px;color:#fff;
  border-right:1px solid rgba(255,255,255,0.2);
}
.trust-item:last-child{border-right:none}
.trust-item-icon{font-size:1.3rem}
.trust-item-text{font-size:0.82rem;font-weight:500;letter-spacing:0.04em}

/* ─── ABOUT SECTION ─── */
.about-section{background:var(--bg-white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-img-wrap{position:relative}
.about-img-wrap img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;object-fit:cover}
.about-float-badge{
  position:absolute;bottom:-24px;right:-24px;
  background:var(--primary);color:#fff;border-radius:var(--radius);
  padding:20px 24px;box-shadow:var(--shadow-lg);
  font-family:'Poppins',sans-serif;
}
.about-float-badge .num{font-size:2rem;font-weight:800;line-height:1}
.about-float-badge .lbl{font-size:0.72rem;opacity:0.85;letter-spacing:0.08em;text-transform:uppercase}
.about-content h2{margin-bottom:14px}
.about-content p{margin-bottom:18px}
.about-features{list-style:none;display:flex;flex-direction:column;gap:12px;margin:28px 0 36px}
.about-feature{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 18px;background:var(--bg-soft);border-radius:var(--radius);
  border-left:3px solid var(--primary);
}
.about-feature-icon{font-size:1.2rem;flex-shrink:0;margin-top:1px}
.about-feature-text h4{font-size:0.9rem;margin-bottom:2px;color:var(--text)}
.about-feature-text p{font-size:0.83rem;color:var(--text-mid);margin:0}

/* ─── SCIENCE / HOW IT WORKS ─── */
.science-section{background:var(--text);color:#fff}
.science-section h2,.science-section p{color:#fff}
.science-section .eyebrow{color:var(--bg-accent);background:rgba(255,255,255,0.1)}
.science-header{text-align:center;max-width:620px;margin:0 auto 64px}
.science-header p{color:rgba(255,255,255,0.65)}
.layers{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.layer-card{
  background:rgba(255,255,255,0.05);padding:48px 36px;
  transition:background 0.3s;
}
.layer-card:hover{background:rgba(255,255,255,0.1)}
.layer-num{
  font-family:'Poppins',sans-serif;font-size:3.5rem;font-weight:800;
  color:var(--accent);opacity:0.3;line-height:1;margin-bottom:18px;
}
.layer-card h3{color:#fff;font-size:1.25rem;margin-bottom:10px}
.layer-card p{color:rgba(255,255,255,0.6);font-size:0.9rem;margin-bottom:20px}
.layer-specs{list-style:none;display:flex;flex-direction:column;gap:8px}
.layer-spec{display:flex;align-items:center;gap:8px;font-size:0.82rem;color:rgba(255,255,255,0.5)}
.layer-spec::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}

/* ─── PRODUCTS ─── */
.products-section{background:var(--bg-soft)}
.products-header{text-align:center;margin-bottom:56px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}
.product-card{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,0.06);
  transition:transform 0.3s,box-shadow 0.3s;
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.product-img{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#fff5f7,var(--bg-accent));
}
.product-img img{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  transition:transform 0.4s;
}
.product-card:hover .product-img img{transform:scale(1.04)}
.product-badge{
  position:absolute;top:14px;left:14px;
  background:var(--primary);color:#fff;
  font-family:'Poppins',sans-serif;font-size:0.65rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:4px 12px;border-radius:30px;
}
.product-badge.new{background:var(--accent)}
.product-badge.popular{background:var(--secondary)}
.product-info{padding:22px 22px 26px}
.product-name{
  font-family:'Poppins',sans-serif;font-size:1.05rem;font-weight:700;
  color:var(--text);margin-bottom:6px;line-height:1.3;cursor:pointer;
}
.product-name:hover{color:var(--primary)}
.product-desc{font-size:0.83rem;color:var(--text-mid);line-height:1.6;margin-bottom:16px}
.product-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.product-price{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:700;color:var(--text)}
.btn-add-cart{
  background:var(--primary);color:#fff;border:none;
  padding:10px 18px;border-radius:30px;
  font-family:'Poppins',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.03em;transition:all 0.2s;
}
.btn-add-cart:hover{background:var(--primary-dk);transform:translateY(-1px)}
.product-placeholder{
  width:100%;aspect-ratio:1/1;
  background:linear-gradient(135deg,var(--bg-soft) 0%,var(--bg-accent) 100%);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:8px;cursor:pointer;
}
.product-placeholder span{font-size:3.5rem}
.product-placeholder small{font-size:0.7rem;color:var(--text-light);letter-spacing:0.12em;text-transform:uppercase}

/* ─── COLLECTIONS ─── */
.collections-section{background:#fff}
.collections-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px;margin:56px auto 0}
.collection-card{
  border-radius:var(--radius-lg);padding:52px 44px;
  position:relative;overflow:hidden;transition:transform 0.3s;
}
.collection-card:hover{transform:translateY(-4px)}
.collection-bontle{background:linear-gradient(135deg,#FFF0F3 0%,#FFCDD2 100%)}
.collection-core{background:linear-gradient(135deg,#E8F5E9 0%,#C8E6C9 100%)}
.collection-card::after{
  content:attr(data-icon);position:absolute;
  right:32px;top:32px;font-size:4.5rem;opacity:0.18;
}
.coll-eyebrow{
  font-family:'Poppins',sans-serif;font-size:0.68rem;font-weight:700;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--text);opacity:0.55;margin-bottom:10px;
}
.coll-title{font-size:2rem;font-weight:800;margin-bottom:12px;color:var(--text)}
.coll-desc{font-size:0.88rem;color:var(--text-mid);line-height:1.7;margin-bottom:16px;max-width:320px}
.coll-features{list-style:none;margin-bottom:28px;display:flex;flex-direction:column;gap:7px}
.coll-features li{font-size:0.85rem;color:var(--text-mid);display:flex;align-items:center;gap:8px}
.coll-features li::before{content:'✓';color:#4CAF50;font-weight:700}

/* ─── WHY HERRAWEAR ─── */
.why-section{background:var(--bg-soft)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.why-content h2{margin-bottom:16px}
.why-content > p{margin-bottom:32px}
.why-reasons{display:flex;flex-direction:column;gap:16px}
.why-reason{
  display:flex;align-items:flex-start;gap:16px;
  background:#fff;border-radius:var(--radius);padding:18px 20px;
  transition:all 0.2s;border:1px solid transparent;
}
.why-reason:hover{border-color:var(--primary);box-shadow:0 4px 16px rgba(211,47,47,0.1);transform:translateX(4px)}
.why-icon{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;flex-shrink:0;
}
.why-text h4{font-size:0.92rem;margin-bottom:3px}
.why-text p{font-size:0.83rem;color:var(--text-mid);margin:0;line-height:1.55}
.why-visual{position:relative}
.why-img-main{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.why-img-main img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.why-stat-card{
  position:absolute;bottom:-20px;right:-20px;
  background:#fff;border-radius:var(--radius);padding:20px 22px;
  box-shadow:var(--shadow-lg);border-top:4px solid var(--primary);
}
.why-stat-card .num{
  font-family:'Poppins',sans-serif;font-size:2.2rem;font-weight:800;
  color:var(--primary);line-height:1;
}
.why-stat-card .lbl{font-size:0.78rem;color:var(--text-mid)}

/* ─── REVIEWS ─── */
.reviews-section{background:#fff}
.reviews-header{text-align:center;margin-bottom:56px}
.reviews-aggregate{
  display:flex;align-items:center;justify-content:center;gap:20px;
  margin-bottom:48px;
}
.agg-score{
  font-family:'Poppins',sans-serif;font-size:4rem;font-weight:800;
  color:var(--text);line-height:1;
}
.agg-stars{color:#FFB300;font-size:1.3rem;letter-spacing:3px;margin-bottom:4px}
.agg-count{font-size:0.8rem;color:var(--text-light)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}
.review-card{
  background:var(--bg-soft);border-radius:var(--radius-lg);
  padding:28px;transition:transform 0.2s,box-shadow 0.2s;
  border:1px solid transparent;
}
.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--border)}
.rc-stars{color:#FFB300;font-size:0.9rem;margin-bottom:14px}
.rc-text{
  font-size:0.9rem;color:var(--text);line-height:1.65;
  margin-bottom:18px;font-style:italic;
}
.rc-author{display:flex;align-items:center;gap:10px}
.rc-avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:0.9rem;flex-shrink:0;
  font-family:'Poppins',sans-serif;
}
.rc-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:0.83rem;color:var(--text)}
.rc-product{font-size:0.75rem;color:var(--text-light)}

/* ─── EDUCATION / MENSTRUAL HEALTH ─── */
.education-section{background:linear-gradient(135deg,var(--text) 0%,#3d1a2e 100%);color:#fff}
.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.education-content h2,.education-content p{color:#fff}
.education-content .eyebrow{color:var(--bg-accent);background:rgba(255,255,255,0.1)}
.education-content h2{margin-bottom:16px}
.education-content > p{color:rgba(255,255,255,0.7);margin-bottom:32px}
.edu-points{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:36px}
.edu-point{display:flex;align-items:flex-start;gap:14px}
.edu-point-icon{
  width:40px;height:40px;border-radius:10px;
  background:rgba(255,64,129,0.2);border:1px solid rgba(255,64,129,0.4);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;flex-shrink:0;
}
.edu-point-text h4{font-size:0.9rem;color:#fff;margin-bottom:2px}
.edu-point-text p{font-size:0.83rem;color:rgba(255,255,255,0.6);margin:0;line-height:1.55}
.education-visual{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 64px rgba(0,0,0,0.4)}
.education-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}

/* ─── CONTACT SECTION ─── */
.contact-section{background:var(--bg-soft)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-info h2{margin-bottom:16px}
.contact-info > p{margin-bottom:36px}
.contact-details{display:flex;flex-direction:column;gap:20px;margin-bottom:36px}
.contact-detail{
  display:flex;align-items:flex-start;gap:16px;
  background:#fff;border-radius:var(--radius);padding:16px 20px;
  box-shadow:0 2px 8px rgba(0,0,0,0.05);
}
.contact-detail-icon{
  width:42px;height:42px;border-radius:10px;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;color:#fff;flex-shrink:0;
}
.contact-detail h4{font-size:0.82rem;color:var(--text-light);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:3px}
.contact-detail p{font-size:0.9rem;color:var(--text);margin:0;font-weight:500}
.contact-detail a{color:var(--primary);font-weight:600}
.contact-social h4{font-family:'Poppins',sans-serif;font-size:0.82rem;color:var(--text-light);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px}
.social-row{display:flex;gap:10px}
.social-link{
  width:40px;height:40px;border-radius:50%;
  background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:0.9rem;transition:all 0.2s;
}
.social-link:hover{background:var(--primary-dk);transform:translateY(-2px);box-shadow:0 4px 12px rgba(211,47,47,0.4)}
.contact-form-wrap{
  background:#fff;border-radius:var(--radius-lg);
  padding:40px;box-shadow:var(--shadow-lg);
}
.contact-form-wrap h3{font-size:1.3rem;margin-bottom:24px;color:var(--text)}
.form-group{margin-bottom:18px}
.form-group label{
  display:block;font-family:'Poppins',sans-serif;font-size:0.78rem;
  font-weight:600;color:var(--text);margin-bottom:6px;
  letter-spacing:0.05em;text-transform:uppercase;
}
.form-control{
  width:100%;padding:12px 16px;border:2px solid rgba(0,0,0,0.1);
  border-radius:var(--radius);font-family:'Figtree',sans-serif;
  font-size:0.95rem;color:var(--text);background:#fff;
  transition:border-color 0.2s;outline:none;
}
.form-control:focus{border-color:var(--primary)}
textarea.form-control{min-height:130px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ─── FAQs ─── */
.faq-section{background:#fff}
.faq-header{text-align:center;margin-bottom:56px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1100px;margin:0 auto;align-items:start}
.faq-col h3{font-size:1.1rem;color:var(--primary);margin-bottom:20px;font-size:0.78rem;letter-spacing:0.15em;text-transform:uppercase}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{
  background:var(--bg-soft);border-radius:var(--radius);
  overflow:hidden;border:1px solid transparent;transition:border-color 0.2s;
}
.faq-item.open{border-color:var(--primary)}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;cursor:pointer;gap:12px;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:0.9rem;
  color:var(--text);user-select:none;
}
.faq-q:hover{color:var(--primary)}
.faq-chevron{font-size:1.1rem;color:var(--primary);transition:transform 0.3s;flex-shrink:0}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-a{
  padding:0 22px;font-size:0.87rem;color:var(--text-mid);
  line-height:1.7;max-height:0;overflow:hidden;
  transition:max-height 0.4s ease,padding 0.2s;
}
.faq-item.open .faq-a{max-height:500px;padding:0 22px 18px}

/* ─── NEWSLETTER ─── */
.newsletter-section{
  background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);
  position:relative;overflow:hidden;
}
.newsletter-section::before{
  content:'';position:absolute;width:600px;height:600px;
  background:radial-gradient(ellipse,rgba(255,255,255,0.08) 0%,transparent 70%);
  top:-200px;right:-100px;border-radius:50%;
}
.newsletter-inner{position:relative;z-index:2;text-align:center;max-width:620px;margin:0 auto}
.newsletter-inner h2{color:#fff;margin-bottom:14px;font-size:2.2rem}
.newsletter-inner p{color:rgba(255,255,255,0.75);margin-bottom:40px;font-size:1.05rem}
.nl-form{display:flex;gap:10px;max-width:500px;margin:0 auto}
.nl-input{
  flex:1;padding:14px 22px;border-radius:40px;
  border:2px solid rgba(255,255,255,0.3);
  background:rgba(255,255,255,0.12);color:#fff;
  font-family:'Figtree',sans-serif;font-size:0.95rem;outline:none;
  transition:border-color 0.2s;
}
.nl-input::placeholder{color:rgba(255,255,255,0.5)}
.nl-input:focus{border-color:rgba(255,255,255,0.8)}
.nl-perks{
  display:flex;justify-content:center;gap:28px;
  margin-top:24px;flex-wrap:wrap;
}
.nl-perk{font-size:0.8rem;color:rgba(255,255,255,0.7);display:flex;align-items:center;gap:5px}

/* ─── INNER PAGE HERO BANNER (About / Collection / Education / FAQs / Contact) ─── */
.page-hero{
  background:linear-gradient(160deg,var(--text) 0%,#3d1a2e 100%);
  color:#fff;padding:88px 0 72px;text-align:center;
}
.page-hero .eyebrow{color:var(--bg-accent);background:rgba(255,255,255,0.12)}
.page-hero h1{color:#fff;margin-bottom:14px}
.page-hero p{color:rgba(255,255,255,0.72);max-width:560px;margin:0 auto;font-size:1.05rem}
.page-hero-crumbs{font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:16px}
.page-hero-crumbs a{color:rgba(255,255,255,0.8)}
.page-hero-crumbs a:hover{color:#fff}

/* Active nav state (WordPress adds current-menu-item / current_page_item to the <li>) */
.nav-links .current-menu-item > a,
.nav-links .current_page_item > a,
.nav-links .current-menu-ancestor > a{color:var(--primary);background:rgba(211,47,47,0.06)}

/* Custom-logo image output by the_custom_logo() in footer (header
   sizing lives with .nav-logo above, driven by --logo-height) */
.footer-brand .custom-logo{height:52px;width:auto;margin-bottom:16px}

/* Honeypot field — hidden from real visitors, left open for bots */
.hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;height:0;width:0;overflow:hidden}

/* Contact / form submission notices */
.form-notice{border-radius:var(--radius);padding:14px 18px;margin-bottom:20px;font-size:0.9rem;font-weight:500}
.form-notice.success{background:#E8F5E9;color:#2E7D32;border-left:4px solid #4CAF50}
.form-notice.error{background:#FFF0F3;color:var(--primary-dk);border-left:4px solid var(--primary)}

/* ─── FOOTER ─── */
.site-footer{background:#1a0a0e;color:rgba(255,255,255,0.7)}
.footer-top{padding:64px 0 48px;border-bottom:1px solid rgba(255,255,255,0.08)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.footer-brand{}
.footer-brand-logo{height:56px;width:auto;margin-bottom:18px}
.footer-brand p{font-size:0.85rem;line-height:1.75;margin-bottom:22px}
.footer-social-row{display:flex;gap:10px}
.footer-social-link{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.7);
  display:flex;align-items:center;justify-content:center;
  font-size:0.85rem;transition:all 0.2s;
}
.footer-social-link:hover{background:var(--primary);color:#fff}
.footer-col h4{
  font-family:'Poppins',sans-serif;font-size:0.72rem;
  letter-spacing:0.16em;text-transform:uppercase;
  color:rgba(255,255,255,0.35);margin-bottom:18px;font-weight:600;
}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:0.87rem;color:rgba(255,255,255,0.6);transition:color 0.2s}
.footer-col a:hover{color:#fff}
.footer-bottom{
  padding:24px 0;display:flex;align-items:center;
  justify-content:space-between;font-size:0.8rem;
  color:rgba(255,255,255,0.35);
}

/* ─── CART DRAWER ─── */
.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:800;opacity:0;pointer-events:none;transition:opacity 0.3s}
.cart-backdrop.open{opacity:1;pointer-events:all}
.cart-drawer{
  position:fixed;top:0;right:-440px;width:440px;max-width:95vw;
  height:100vh;background:#fff;z-index:801;
  display:flex;flex-direction:column;
  transition:right 0.35s cubic-bezier(0.4,0,0.2,1);
  box-shadow:-8px 0 48px rgba(0,0,0,0.15);
}
.cart-drawer.open{right:0}
.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 28px;border-bottom:1px solid var(--border);
}
.cart-head h2{font-size:1.3rem;color:var(--text)}
.cart-x{
  background:none;border:none;font-size:1.3rem;cursor:pointer;
  color:var(--text-mid);width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:background 0.2s;
}
.cart-x:hover{background:var(--bg-soft)}
.cart-scroll{flex:1;overflow-y:auto;padding:20px 28px}
.cart-empty-state{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;height:220px;gap:12px;
  color:var(--text-mid);font-size:0.9rem;
}
.cart-empty-state .big-icon{font-size:3rem}
.cart-foot{padding:20px 28px;border-top:1px solid var(--border)}
.cart-ship-msg{font-size:0.78rem;color:var(--primary);font-weight:600;text-align:center;margin-bottom:12px}
.cart-sub{display:flex;justify-content:space-between;font-family:'Poppins',sans-serif;font-weight:700;font-size:1rem;color:var(--text);margin-bottom:14px}
.cart-cta{
  width:100%;background:var(--primary);color:#fff;border:none;
  padding:15px;border-radius:40px;font-family:'Poppins',sans-serif;
  font-size:0.9rem;font-weight:700;letter-spacing:0.05em;
  transition:background 0.2s;
}
.cart-cta:hover{background:var(--primary-dk)}
.cart-continue{
  display:block;text-align:center;margin-top:10px;
  font-size:0.82rem;color:var(--text-mid);cursor:pointer;text-decoration:underline;
}
.cart-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,0.06)}
.ci-icon{
  width:54px;height:54px;border-radius:10px;
  background:linear-gradient(135deg,var(--bg-soft),var(--bg-accent));
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;flex-shrink:0;overflow:hidden;
}
.ci-icon img{width:100%;height:100%;object-fit:cover}
.ci-info{flex:1;min-width:0}
.ci-name{font-family:'Poppins',sans-serif;font-size:0.83rem;font-weight:700;color:var(--text);margin-bottom:2px;line-height:1.3}
.ci-size{font-size:0.75rem;color:var(--text-light);margin-bottom:8px}
.ci-row{display:flex;align-items:center;justify-content:space-between}
.ci-qty{display:flex;align-items:center;gap:8px}
.qty-b{
  width:28px;height:28px;border-radius:50%;border:2px solid var(--border);
  background:#fff;font-size:0.9rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all 0.15s;color:var(--text);font-family:'Poppins',sans-serif;font-weight:700;
}
.qty-b:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.ci-price{font-family:'Poppins',sans-serif;font-weight:700;font-size:0.92rem;color:var(--text)}
.ci-remove{background:none;border:none;font-size:1rem;cursor:pointer;color:var(--text-light);padding:2px;transition:color 0.15s}
.ci-remove:hover{color:var(--primary)}

/* ─── PRODUCT MODAL ─── */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:700;display:none;align-items:center;justify-content:center;padding:20px}
.modal-box{
  background:#fff;border-radius:var(--radius-lg);
  width:100%;max-width:580px;max-height:90vh;
  overflow-y:auto;position:relative;
}
.modal-img{
  width:100%;aspect-ratio:4/3;overflow:hidden;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  background:linear-gradient(135deg,var(--bg-soft),var(--bg-accent));
  display:flex;align-items:center;justify-content:center;
}
.modal-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.modal-img-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;width:100%;height:100%}
.modal-img-placeholder span{font-size:5rem}
.modal-img-placeholder small{font-size:0.75rem;color:var(--text-light);letter-spacing:0.12em;text-transform:uppercase}
.modal-body{padding:28px 32px 36px}
.modal-x{
  position:absolute;top:14px;right:14px;
  background:rgba(255,255,255,0.9);backdrop-filter:blur(4px);
  border:none;width:38px;height:38px;border-radius:50%;
  font-size:1.1rem;cursor:pointer;z-index:5;
  display:flex;align-items:center;justify-content:center;
  color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:all 0.2s;
}
.modal-x:hover{background:var(--bg-accent)}
.modal-badge{
  display:inline-block;font-family:'Poppins',sans-serif;
  font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:#fff;background:var(--primary);padding:3px 12px;border-radius:30px;margin-bottom:10px;
}
.modal-name{font-size:1.6rem;font-weight:800;margin-bottom:6px;color:var(--text)}
.modal-price{font-size:1.3rem;font-weight:700;color:var(--primary);margin-bottom:16px}
.modal-desc{font-size:0.9rem;color:var(--text-mid);line-height:1.7;margin-bottom:24px}
.modal-size-label{font-family:'Poppins',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text);margin-bottom:10px}
.size-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.sz-btn{
  padding:8px 16px;border-radius:20px;border:2px solid var(--border);
  background:#fff;font-family:'Poppins',sans-serif;font-size:0.8rem;font-weight:600;
  cursor:pointer;color:var(--text);transition:all 0.18s;
}
.sz-btn:hover{border-color:var(--primary);color:var(--primary)}
.sz-btn.sel{background:var(--primary);border-color:var(--primary);color:#fff}
.modal-add{
  width:100%;background:var(--primary);color:#fff;border:none;
  padding:15px;border-radius:40px;font-family:'Poppins',sans-serif;
  font-size:0.95rem;font-weight:700;letter-spacing:0.04em;
  transition:background 0.2s;
}
.modal-add:hover{background:var(--primary-dk)}

/* ─── TOAST ─── */
.toast{
  position:fixed;bottom:28px;left:50%;
  transform:translateX(-50%) translateY(80px);
  background:var(--text);color:#fff;
  padding:12px 26px;border-radius:40px;font-size:0.88rem;font-weight:500;
  z-index:999;opacity:0;transition:all 0.3s;white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,0.25);border-left:4px solid var(--accent);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ─── MOBILE MENU ─── */
.mobile-nav{
  display:none;position:fixed;inset:0;background:#fff;z-index:600;
  flex-direction:column;padding:90px 32px 48px;gap:6px;
}
.mobile-nav.open{display:flex}
.mobile-nav-x{position:absolute;top:20px;right:24px;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--text)}
.mobile-nav a{
  font-family:'Poppins',sans-serif;font-size:1.5rem;font-weight:700;
  color:var(--text);padding:10px 0;border-bottom:1px solid var(--border);
}
.mobile-nav a:hover{color:var(--primary)}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.hero-left > *{opacity:0;animation:fadeUp 0.65s forwards}
.hero-left > *:nth-child(1){animation-delay:0.1s}
.hero-left > *:nth-child(2){animation-delay:0.2s}
.hero-left > *:nth-child(3){animation-delay:0.3s}
.hero-left > *:nth-child(4){animation-delay:0.4s}
.hero-left > *:nth-child(5){animation-delay:0.5s}
.hero-left > *:nth-child(6){animation-delay:0.6s}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .nav-links{display:none}
  .menu-toggle{display:block}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:60px 32px}
  .hero-right{min-height:380px}
  .about-grid,.why-grid,.education-grid,.contact-grid,.faq-grid{grid-template-columns:1fr}
  .about-float-badge{display:none}
  .about-img-wrap img{aspect-ratio:16/9}
  .why-img-main img{aspect-ratio:16/9}
  .education-visual img{aspect-ratio:16/9}
  .layers{grid-template-columns:1fr 1fr}
  .product-grid{grid-template-columns:1fr 1fr}
  .collections-grid{grid-template-columns:1fr}
  .review-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .section-pad{padding:72px 0}
  .trust-item{padding:8px 16px}
}
@media(max-width:640px){
  .hero-left{padding:48px 20px}
  .container{padding:0 20px}
  .layers{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr}
  .review-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .nl-form{flex-direction:column}
  .form-row{grid-template-columns:1fr}
  .trust-bar-inner{flex-direction:column;gap:2px}
  .trust-item{border-right:none;border-bottom:1px solid rgba(255,255,255,0.1)}
  .trust-item:last-child{border-bottom:none}
  .section-pad{padding:56px 0}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
}

/* ═══════════════════════════════════════════
   WOOCOMMERCE INTEGRATION STYLES
═══════════════════════════════════════════ */
.woocommerce-page-wrap{padding-top:64px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;max-width:1100px;margin:0 auto}
/* WooCommerce's own woocommerce-layout.css ships a float-era clearfix —
   ul.products:before/:after { content:' '; display:table } — meant to
   clear floated li.product cards. In a CSS Grid layout that generated
   content becomes a real (invisible) grid item, occupying column 1 and
   pushing every actual product over by one slot — the "blank card before
   the first product". functions.php already tries to dequeue that
   stylesheet outright, but this neutralises the clearfix directly so the
   grid can't break even if that stylesheet loads anyway (a stale cache,
   a CDN, or a plugin re-adding it). */
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products li.product{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,0.06);transition:transform 0.3s,box-shadow 0.3s;
  padding:0!important;position:relative;text-align:left!important;
}
/* This theme's product grid only has card styling for actual products.
   WooCommerce's subcategory tiles (li.product-category) render before the
   products in the same grid and, unstyled, look like an empty card and
   break the 3-across alignment — see herrawear_disable_shop_subcategory_tiles()
   in functions.php, which turns those tiles off at the source. This is a
   safety net in case that setting ever gets switched back on. */
.woocommerce ul.products li.product-category{display:none}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:1/1;object-fit:cover;margin:0!important;
  border-radius:0!important;box-shadow:none!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Poppins',sans-serif;font-size:1.05rem;font-weight:700;
  color:var(--text);padding:22px 22px 6px;line-height:1.3;
}
.woocommerce ul.products li.product .price{
  font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:700;
  color:var(--text);padding:0 22px;display:block;
}
.woocommerce ul.products li.product .price ins{color:var(--primary);text-decoration:none}
.woocommerce ul.products li.product .price del{opacity:0.5;margin-right:6px}
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button{
  background:var(--primary)!important;color:#fff!important;border:none!important;
  padding:10px 20px!important;border-radius:30px!important;
  font-family:'Poppins',sans-serif!important;font-size:0.8rem!important;font-weight:600!important;
  letter-spacing:0.03em;transition:all 0.2s;margin:14px 22px 22px!important;
  display:inline-block;
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{
  background:var(--primary-dk)!important;transform:translateY(-1px)
}
.woocommerce span.onsale{
  position:absolute;top:14px;left:14px;background:var(--accent);color:#fff;
  font-family:'Poppins',sans-serif;font-size:0.65rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;padding:4px 12px;border-radius:30px;
  min-height:0;min-width:0;line-height:1;
}

/* Single product page */
.woocommerce div.product{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px}
.woocommerce div.product div.images{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.woocommerce div.product .summary{padding-top:8px}
.woocommerce div.product h1.product_title{font-size:1.9rem;font-weight:800;margin-bottom:10px;color:var(--text)}
.woocommerce div.product p.price, .woocommerce div.product span.price{
  font-size:1.4rem;font-weight:700;color:var(--primary);margin-bottom:18px;display:block;
}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--text-mid);line-height:1.75;margin-bottom:20px}
.woocommerce div.product form.cart{margin-bottom:24px}
.woocommerce div.product form.cart .variations select{
  padding:10px 16px;border-radius:20px;border:2px solid var(--border);font-family:'Figtree',sans-serif;
}
.woocommerce div.product form.cart .button{
  background:var(--primary);color:#fff;border:none;padding:15px 32px;border-radius:40px;
  font-family:'Poppins',sans-serif;font-size:0.95rem;font-weight:700;letter-spacing:0.04em;margin:0!important;
}
.woocommerce div.product form.cart .button:hover{background:var(--primary-dk)}

/* Cart / Checkout pages */
.woocommerce table.shop_table{border-collapse:collapse;width:100%;margin-bottom:32px}
.woocommerce table.shop_table th{
  font-family:'Poppins',sans-serif;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text-light);text-align:left;padding:12px;border-bottom:2px solid var(--border);
}
.woocommerce table.shop_table td{padding:16px 12px;border-bottom:1px solid var(--border)}
.woocommerce-cart-form img{width:64px;border-radius:10px}
.woocommerce-checkout #payment{background:var(--bg-soft);border-radius:var(--radius-lg);padding:24px}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select{
  padding:12px 16px;border:2px solid rgba(0,0,0,0.1);border-radius:var(--radius);
  font-family:'Figtree',sans-serif;width:100%;
}
.woocommerce-checkout #place_order{
  background:var(--primary)!important;width:100%;padding:16px!important;border-radius:40px!important;
  font-size:1rem!important;
}

/* Mini-cart dropdown (real WooCommerce cart widget) */
.mini-cart-panel{
  position:absolute;top:64px;right:0;width:340px;background:#fff;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);padding:20px;z-index:900;display:none;
}
.mini-cart-panel.open{display:block}
.mini-cart-panel ul.woocommerce-mini-cart{list-style:none;max-height:320px;overflow-y:auto}
.mini-cart-panel ul.woocommerce-mini-cart li{
  display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,0.06);position:relative;
}
.mini-cart-panel ul.woocommerce-mini-cart li img{width:54px;height:54px;object-fit:cover;border-radius:10px}
.mini-cart-panel ul.woocommerce-mini-cart li a.remove{
  position:absolute;top:12px;right:0;color:var(--text-light);text-decoration:none;font-size:1.1rem;
}
.mini-cart-panel .total{font-family:'Poppins',sans-serif;font-weight:700;display:flex;justify-content:space-between;padding:14px 0}
.mini-cart-panel .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:8px}
.mini-cart-panel .woocommerce-mini-cart__buttons a{
  text-align:center;padding:12px;border-radius:30px;font-family:'Poppins',sans-serif;font-weight:600;font-size:0.85rem;
}
.mini-cart-panel .woocommerce-mini-cart__empty-message{color:var(--text-mid);text-align:center;padding:20px 0}

.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:var(--bg-soft);border-left:4px solid var(--primary);border-radius:var(--radius);
  padding:14px 18px;margin-bottom:20px;list-style:none;
}

@media(max-width:1024px){
  .woocommerce ul.products{grid-template-columns:1fr 1fr}
  .woocommerce div.product{grid-template-columns:1fr}
  .mini-cart-panel{width:90vw;right:5vw}
}
@media(max-width:640px){
  .woocommerce ul.products{grid-template-columns:1fr}
}

/* ─── PRODUCT IMAGE SIZE FIX ───
   WordPress/WooCommerce output the actual pixel width/height of the
   uploaded image as HTML attributes (e.g. width="150" height="150" for
   a small source photo). Browsers use those as a sizing hint, which can
   make a product photo render tiny even though the container is much
   wider. Forcing width/height here makes every product photo fill its
   card at a consistent square crop regardless of the original upload size. */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a img{
  width:100%!important;height:auto!important;
  aspect-ratio:1/1;object-fit:cover;
  max-width:none!important;
}
.woocommerce div.product div.images img,
.woocommerce div.product div.images .woocommerce-product-gallery__image img{
  width:100%!important;height:auto!important;object-fit:cover;
}

/* ─── SIZE / VARIATION SELECTOR — bigger, clearer text ───
   The default WooCommerce variations table has no font-size of its own,
   so it inherits the browser's small default table font. This gives the
   Size label and dropdown the same type scale as the rest of the site. */
.woocommerce div.product form.cart .variations{width:100%;margin-bottom:20px;border-collapse:collapse}
.woocommerce div.product form.cart .variations tr{display:block;margin-bottom:16px}
.woocommerce div.product form.cart .variations th.label{
  display:block;font-family:'Poppins',sans-serif;font-size:0.8rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--text);padding:0 0 8px;text-align:left;
}
.woocommerce div.product form.cart .variations td.value{display:block;padding:0}
.woocommerce div.product form.cart .variations select{
  width:100%;padding:14px 18px;border-radius:var(--radius);
  border:2px solid var(--border);font-family:'Figtree',sans-serif;
  font-size:1rem!important;line-height:1.4;color:var(--text);background:#fff;cursor:pointer;
}
.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product .woocommerce-variation-price .price .woocommerce-Price-amount{
  font-size:1.3rem!important;color:var(--primary);margin:12px 0;display:block;
}
.woocommerce div.product .woocommerce-variation-add-to-cart{margin-top:6px}
.woocommerce ul.products li.product .price .woocommerce-Price-amount{font-size:inherit}

/* ─── SINGLE PRODUCT — GALLERY THUMBNAIL STRIP ───
   Only appears when a product has more than one photo. Without sizing
   of its own it renders at the browser's native small default —
   this is the other place product photos commonly look "tiny". */
.woocommerce div.product .flex-control-thumbs{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;list-style:none;
}
.woocommerce div.product .flex-control-thumbs li{width:76px}
.woocommerce div.product .flex-control-thumbs img{
  width:100%!important;height:76px!important;object-fit:cover;
  border-radius:10px;cursor:pointer;opacity:0.55;transition:opacity 0.2s;
}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover{opacity:1}

/* ═══════════════════════════════════════════
   MY ACCOUNT — LOGIN & REGISTER
═══════════════════════════════════════════ */
.woocommerce-account .woocommerce-page-wrap{padding-top:56px;padding-bottom:88px}
.woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:32px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;display:flex;flex-wrap:wrap;gap:8px;
  border-bottom:1px solid var(--border);padding-bottom:16px;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  font-family:'Poppins',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.04em;text-transform:uppercase;color:var(--text-mid);
  padding:9px 18px;border-radius:30px;display:inline-block;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:var(--primary);color:#fff;
}
.woocommerce-account .u-columns{
  display:flex;flex-wrap:wrap;gap:32px;justify-content:center;
  max-width:960px;margin:0 auto;
}
.woocommerce-account .u-column1,
.woocommerce-account .u-column2{flex:1 1 400px;max-width:440px}
.woocommerce form.login,
.woocommerce form.register{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:36px;box-shadow:var(--shadow);max-width:440px;margin:0 auto;
}
.woocommerce form.login h3,
.woocommerce form.register h3{margin-bottom:18px}
.woocommerce form.login .form-row,
.woocommerce form.register .form-row{margin-bottom:16px}
.woocommerce form .form-row label{
  display:block;font-family:'Poppins',sans-serif;font-size:0.78rem;
  font-weight:600;letter-spacing:0.03em;margin-bottom:6px;color:var(--text);
}
.woocommerce form .form-row .required{color:var(--primary);text-decoration:none}
.woocommerce-form-login__rememberme{
  display:flex;align-items:center;gap:8px;font-size:0.85rem;
  color:var(--text-mid);margin-bottom:18px;
}
.woocommerce-form-login__rememberme input{width:auto}
.woocommerce form.login .button,
.woocommerce form.register .button{width:100%;margin:8px 0 0!important;text-align:center}
.woocommerce .lost_password{margin-top:16px;text-align:center;font-size:0.85rem}
.woocommerce .lost_password a{color:var(--primary);font-weight:600}
@media(max-width:640px){
  .woocommerce form.login,
  .woocommerce form.register{padding:26px}
}

/* "Continue with Google" (Customize → HerraWear Settings → Google Login) */
.herrawear-google-divider{
  display:flex;align-items:center;gap:12px;margin:22px 0;
  color:var(--text-light);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;
}
.herrawear-google-divider::before,
.herrawear-google-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.herrawear-google-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:12px 20px;border:2px solid var(--border);border-radius:30px;
  font-family:'Poppins',sans-serif;font-size:0.85rem;font-weight:600;
  color:var(--text);background:#fff;transition:all 0.2s;
}
.herrawear-google-btn:hover{border-color:var(--primary);background:var(--bg-soft)}

/* ═══════════════════════════════════════════
   FOOTER WIDGETS & FOOTER MENU
═══════════════════════════════════════════ */
.footer-widget + .footer-widget{margin-top:24px}
.footer-widget h4,
.footer-widget .widgettitle,
.footer-widget .widget-title{
  font-family:'Poppins',sans-serif;font-size:0.85rem;letter-spacing:0.06em;
  text-transform:uppercase;color:#fff;margin-bottom:16px;
}
.footer-widget ul{list-style:none}
.footer-widget li{margin-bottom:10px;font-size:0.85rem}
.footer-widget a{color:rgba(255,255,255,0.7);transition:color 0.2s}
.footer-widget a:hover{color:#fff}
.footer-widget img{max-width:100%;height:auto;margin-bottom:16px}
.footer-widget p{color:rgba(255,255,255,0.7);font-size:0.85rem;line-height:1.75}

.footer-menu-row{padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.08)}
.footer-menu{list-style:none;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.footer-menu a{font-size:0.8rem;color:rgba(255,255,255,0.65)}
.footer-menu a:hover{color:#fff}

/* ═══════════════════════════════════════════
   PRELOADER (Customize → HerraWear Settings → Scroll-to-Top & Preloader)
═══════════════════════════════════════════ */
.herrawear-preloader{
  position:fixed;inset:0;z-index:9999;background:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:opacity 0.4s ease,visibility 0.4s ease;
}
.herrawear-preloader-spinner{
  width:44px;height:44px;border-radius:50%;
  border:4px solid var(--bg-accent);border-top-color:var(--primary);
  animation:herrawear-spin 0.8s linear infinite;
}
@keyframes herrawear-spin{to{transform:rotate(360deg)}}
body.herrawear-loaded .herrawear-preloader{opacity:0;visibility:hidden;pointer-events:none}

/* ═══════════════════════════════════════════
   SCROLL TO TOP
═══════════════════════════════════════════ */
.scroll-to-top{
  position:fixed;bottom:28px;right:28px;z-index:800;
  width:46px;height:46px;border-radius:50%;border:none;
  background:var(--primary);color:#fff;font-size:1.2rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-lg);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity 0.25s ease,visibility 0.25s ease,transform 0.25s ease,background 0.2s;
}
.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-to-top:hover{background:var(--primary-dk)}
@media(max-width:640px){
  .scroll-to-top{bottom:18px;right:18px;width:42px;height:42px;font-size:1.05rem}
}
