/*
Theme Name: MAGANZA Pharma
Theme URI: https://maganzapharma.com
Author: MAGANZA Pharma
Author URI: https://maganzapharma.com
Description: Custom WordPress + WooCommerce theme for MAGANZA Pharma — a herbal medicine manufacturer, product developer, and private-label/OEM manufacturing partner. Includes homepage, manufacturing, private label/OEM, factory & laboratory, process, blog, and WooCommerce product catalog templates.
Version: 1.0.11
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maganza-pharma
Tags: e-commerce, one-column, two-columns, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   Design tokens & base styles
   ========================================================================== */

  :root{
    --green-deep:#173226;
    --green-mid:#2b5940;
    --green-line:#3f7a58;
    --green-soft:#eef4ee;
    --gold:#b6893a;
    --off-white:#faf8f3;
    --paper:#ffffff;
    --charcoal:#20241f;
    --muted:#5c6660;
    --radius:14px;
    --maxw:1200px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:'Inter',sans-serif;color:var(--charcoal);background:var(--off-white);line-height:1.6;overflow-x:hidden;}
  h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;margin:0 0 .5em;color:var(--green-deep);}
  p{margin:0 0 1em;color:var(--muted);}
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--gold);margin-bottom:10px;display:inline-block;}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:.25s;}
  .btn-primary{background:var(--green-deep);color:#fff;}
  .btn-primary:hover{background:var(--gold);}
  .btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;}
  .btn-ghost:hover{background:rgba(255,255,255,.12);}
  .btn-outline{border-color:var(--green-deep);color:var(--green-deep);}
  .btn-outline:hover{background:var(--green-deep);color:#fff;}

  /* Header */
  header{position:sticky;top:0;z-index:50;background:rgba(250,248,243,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(23,50,38,.08);}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;max-width:var(--maxw);margin:0 auto;}
  .logo{display:flex;align-items:center;gap:8px;font-family:'Fraunces',serif;font-weight:700;font-size:1.15rem;color:var(--green-deep);flex-shrink:0;}
  .logo-mark{width:38px;height:38px;flex-shrink:0;object-fit:contain;}
  .logo-mark.on-dark{filter:brightness(0) invert(1);}
  /* WordPress's the_custom_logo() outputs its own markup (a .custom-logo-link
     wrapping an img.custom-logo) once a real logo is uploaded via the
     Customizer — that markup doesn't carry our .logo-mark class, so without
     this it renders at native/uploaded size instead of the intended 38px. */
  .logo .custom-logo-link{display:flex;align-items:center;flex-shrink:0;}
  .logo .custom-logo-link img.custom-logo{width:38px !important;height:38px !important;object-fit:contain;}
  footer .logo .custom-logo-link img.custom-logo{filter:brightness(0) invert(1);}
  .logo .logo-text{color:inherit;font-family:inherit;font-weight:inherit;font-size:inherit;}
  .logo-name{text-transform:uppercase;}
  .logo-accent{color:var(--gold);font-weight:400;text-transform:none;}
  nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;font-size:.84rem;font-weight:500;}
  nav ul a:hover{color:var(--green-mid);}
  nav ul li a{white-space:nowrap;}
  .nav-actions{display:flex;align-items:center;gap:14px;flex-shrink:0;}
  .nav-actions .btn{padding:11px 20px;font-size:.85rem;white-space:nowrap;}
  .mobile-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--green-deep);}
  @media(max-width:1180px){
    nav ul{display:none;}
    .nav-actions .btn{display:none;}
    .mobile-toggle{display:block;}
  }

  /* Hero */
  .hero{position:relative;background:linear-gradient(180deg,var(--green-deep) 0%,#122a1f 100%);color:#fff;overflow:hidden;padding:90px 0 110px;}
  .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(182,137,58,.18),transparent 60%);}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative;}
  .hero h1{color:#fff;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.12;margin-bottom:22px;}
  .hero p.lead{color:rgba(255,255,255,.82);font-size:1.15rem;max-width:520px;margin-bottom:32px;}
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:44px;}
  .hero-stats{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);padding-top:24px;}
  .hero-stats div span{display:block;font-family:'Fraunces',serif;font-size:1.4rem;color:var(--gold);font-weight:600;}
  .hero-stats div small{color:rgba(255,255,255,.65);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;}
  .hero-media{position:relative;display:flex;align-items:center;justify-content:center;min-height:460px;}
  .hero-media::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(182,137,58,.25),transparent 70%);filter:blur(10px);}
  .hero-media img{position:relative;max-height:480px;width:auto;margin:0 auto;filter:drop-shadow(0 40px 40px rgba(0,0,0,.45));transform:rotate(-7deg);animation:heroImgIn .8s cubic-bezier(.2,.8,.2,1) both;}
  @media(max-width:960px){.hero-media{min-height:320px;} .hero-media img{max-height:340px;}}
  @keyframes heroImgIn{from{opacity:0;transform:rotate(-7deg) scale(.85) translateY(24px);}to{opacity:1;transform:rotate(-7deg) scale(1) translateY(0);}}
  @keyframes heroTextIn{from{opacity:0;transform:translateX(-36px);}to{opacity:1;transform:translateX(0);}}
  .hero-text-in{opacity:0;animation:heroTextIn .7s cubic-bezier(.2,.8,.2,1) both;}
  .hero-text-in.d1{animation-delay:.35s;}
  .hero-text-in.d2{animation-delay:.48s;}
  .hero-text-in.d3{animation-delay:.6s;}
  .hero-text-in.d4{animation-delay:.72s;}
  .hero-text-in.d5{animation-delay:.84s;}
  .placeholder-tag{position:absolute;bottom:14px;left:14px;background:rgba(0,0,0,.55);color:#fff;font-size:.7rem;padding:5px 12px;border-radius:999px;letter-spacing:.05em;}

  section{padding:88px 0;}
  .section-head{max-width:640px;margin-bottom:48px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

  /* Intro / value pillars */
  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .pillar{background:var(--paper);border:1px solid rgba(23,50,38,.08);border-radius:var(--radius);padding:28px 24px;}
  .pillar .icon{width:44px;height:44px;border-radius:10px;background:var(--green-soft);display:flex;align-items:center;justify-content:center;color:var(--green-deep);font-size:1.3rem;margin-bottom:16px;}
  .pillar h3{font-size:1.05rem;margin-bottom:8px;}
  .pillar p{font-size:.9rem;margin:0;}

  /* Split section */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .split img{border-radius:var(--radius);}
  .split.reverse .media{order:2;}
  .checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
  .checklist li{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;color:var(--charcoal);}
  .checklist li::before{content:"✓";flex-shrink:0;width:22px;height:22px;background:var(--green-deep);color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center;margin-top:2px;}

  .section-alt{background:var(--paper);}
  .section-dark{background:var(--green-deep);color:#fff;}
  .section-dark h2,.section-dark h3{color:#fff;}
  .section-dark p{color:rgba(255,255,255,.75);}

  /* Process timeline */
  .timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;counter-reset:step;}
  .tstep{position:relative;padding-top:56px;}
  .tstep::before{counter-increment:step;content:counter(step);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--green-deep);font-weight:700;font-family:'Fraunces',serif;display:flex;align-items:center;justify-content:center;}
  .tstep h4{font-size:.95rem;color:#fff;margin-bottom:6px;}
  .tstep p{font-size:.82rem;color:rgba(255,255,255,.65);margin:0;}
  @media(max-width:960px){.timeline{grid-template-columns:repeat(2,1fr);}}

  /* Products grid */
  .cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .cat-card{position:relative;border-radius:var(--radius);overflow:hidden;height:230px;background:var(--green-soft);}
  .cat-card img{width:100%;height:100%;object-fit:cover;}
  .cat-card .label{position:absolute;inset:auto 0 0 0;padding:18px;background:linear-gradient(180deg,transparent,rgba(15,30,22,.85));color:#fff;font-weight:600;}

  .product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .product-card{background:var(--paper);border-radius:var(--radius);border:1px solid rgba(23,50,38,.08);overflow:hidden;transition:.25s;}
  .product-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(23,50,38,.12);}
  .product-card .img{aspect-ratio:1/1;background:var(--green-soft);overflow:hidden;}
  .product-card .img img{width:100%;height:100%;object-fit:cover;}
  .product-card .body{padding:18px;}
  .product-card .tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);font-weight:700;}
  .product-card h4{font-size:1rem;margin:6px 0;}
  .product-card .price{font-weight:700;color:var(--green-deep);}
  .product-card .btn{width:100%;justify-content:center;margin-top:12px;padding:10px;font-size:.85rem;}

  /* CTA banner */
  .cta-banner{background:linear-gradient(120deg,var(--green-deep),#0f2117);color:#fff;border-radius:24px;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
  .cta-banner h2{color:#fff;margin-bottom:10px;}
  .cta-banner p{color:rgba(255,255,255,.75);margin:0;max-width:480px;}

  /* Testimonial */
  .quote-card{background:var(--paper);border-left:4px solid var(--gold);border-radius:var(--radius);padding:32px;font-style:italic;font-size:1.05rem;color:var(--charcoal);}

  footer{background:#0f2117;color:rgba(255,255,255,.75);padding:64px 0 24px;}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
  footer h4{color:#fff;font-size:.95rem;margin-bottom:16px;}
  footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.88rem;}
  footer ul a:hover{color:var(--gold);}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;font-size:.8rem;flex-wrap:wrap;gap:12px;}

  @media(max-width:960px){
    .hero-grid,.split,.split.reverse{grid-template-columns:1fr;}
    .split.reverse .media{order:0;}
    .pillars,.cat-grid,.product-grid{grid-template-columns:repeat(2,1fr);}
    .foot-grid{grid-template-columns:1fr 1fr;}
    section{padding:56px 0;}
  }
  @media(max-width:560px){
    .pillars,.cat-grid,.product-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;}
    .hero{padding:64px 0 72px;}
    .cta-banner{padding:32px;}
  }

  .banner-note{background:#fff7e6;border:1px solid #f0d999;color:#7a5b12;font-size:.82rem;padding:10px 24px;text-align:center;}

  /* Scroll reveal */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);}
  .reveal.in-view{opacity:1;transform:translateY(0);}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

.page-hero{background:linear-gradient(180deg,var(--green-deep),#122a1f);color:#fff;padding:64px 0 56px;}
.page-hero h1{color:#fff;margin-bottom:10px;}
.page-hero p{color:rgba(255,255,255,.78);max-width:640px;margin:0;}
.breadcrumb{font-size:.8rem;color:rgba(255,255,255,.6);margin-bottom:16px;}
.breadcrumb a{color:rgba(255,255,255,.85);}
.breadcrumb a:hover{color:var(--gold);}

/* Filter chips */
.chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.chip{padding:9px 18px;border-radius:999px;border:1px solid rgba(23,50,38,.18);font-size:.85rem;font-weight:600;color:var(--green-deep);background:#fff;cursor:pointer;transition:.2s;}
.chip.active,.chip:hover{background:var(--green-deep);color:#fff;border-color:var(--green-deep);}
.search-row{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap;}
.search-input{flex:1;min-width:220px;padding:13px 18px;border-radius:10px;border:1px solid rgba(23,50,38,.18);font-family:inherit;font-size:.92rem;}
.search-input:focus{outline:2px solid var(--green-mid);}

/* Product detail */
.pd-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:flex-start;}
.pd-gallery img{border-radius:var(--radius);border:1px solid rgba(23,50,38,.08);}
.pd-thumbs{display:flex;gap:10px;margin-top:12px;}
.pd-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid rgba(23,50,38,.15);cursor:pointer;}
.pd-price{font-size:1.6rem;font-weight:700;color:var(--green-deep);font-family:'Fraunces',serif;margin:14px 0;}
.pd-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.pd-meta span{font-size:.75rem;padding:6px 12px;border-radius:999px;background:var(--green-soft);color:var(--green-deep);font-weight:600;}
.qty-row{display:flex;align-items:center;gap:14px;margin:22px 0;}
.qty-box{display:flex;align-items:center;border:1px solid rgba(23,50,38,.2);border-radius:10px;overflow:hidden;}
.qty-box button{background:none;border:none;width:38px;height:42px;font-size:1.1rem;cursor:pointer;color:var(--green-deep);}
.qty-box input{width:42px;text-align:center;border:none;font-family:inherit;font-size:1rem;}
.tabs{display:flex;gap:0;border-bottom:1px solid rgba(23,50,38,.12);margin:44px 0 24px;}
.tab-btn{padding:14px 22px;font-weight:600;font-size:.92rem;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;}
.tab-btn.active{color:var(--green-deep);border-color:var(--gold);}
.tab-panel{display:none;font-size:.95rem;}
.tab-panel.active{display:block;}
.spec-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.spec-table td{padding:10px 0;border-bottom:1px solid rgba(23,50,38,.08);}
.spec-table td:first-child{color:var(--muted);width:40%;}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery-grid img{border-radius:var(--radius);width:100%;height:260px;object-fit:cover;}
.gallery-grid .wide{grid-column:span 2;}

/* Vertical process */
.vprocess{display:grid;gap:0;max-width:760px;margin:0 auto;}
.vstep{display:grid;grid-template-columns:60px 1fr;gap:24px;padding-bottom:40px;position:relative;}
.vstep:not(:last-child)::before{content:"";position:absolute;left:29px;top:52px;bottom:-4px;width:2px;background:rgba(23,50,38,.15);}
.vnum{width:60px;height:60px;border-radius:50%;background:var(--green-deep);color:var(--gold);font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.vstep h3{margin-bottom:6px;}

/* Forms */
.form-card{background:var(--paper);border-radius:var(--radius);border:1px solid rgba(23,50,38,.08);padding:40px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-grid.full,.form-field.full{grid-column:1/-1;}
.form-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--charcoal);}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(23,50,38,.2);font-family:inherit;font-size:.92rem;}
.form-field textarea{resize:vertical;min-height:110px;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--green-mid);}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.blog-card{background:var(--paper);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(23,50,38,.08);}
.blog-card img{height:180px;width:100%;object-fit:cover;}
.blog-card .body{padding:20px;}
.blog-card .cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);font-weight:700;}
.blog-card h3{font-size:1.05rem;margin:8px 0;}
.blog-card .meta{font-size:.78rem;color:var(--muted);}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;}
.contact-info-card{background:var(--green-deep);color:#fff;border-radius:var(--radius);padding:36px;}
.contact-info-card h3{color:#fff;}
.contact-info-card .item{display:flex;gap:14px;margin-bottom:22px;font-size:.92rem;color:rgba(255,255,255,.85);}
.contact-info-card .item strong{display:block;color:#fff;margin-bottom:3px;}
.map-box{border-radius:var(--radius);overflow:hidden;margin-top:24px;height:200px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:rgba(255,255,255,.6);border:1px dashed rgba(255,255,255,.3);}

/* Legal */
.legal-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.legal-section{padding:32px 0;border-bottom:1px solid rgba(23,50,38,.08);}
.legal-section:last-child{border-bottom:none;}

@media(max-width:960px){
  .pd-grid,.contact-grid{grid-template-columns:1fr;}
  .gallery-grid,.blog-grid{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .gallery-grid,.blog-grid{grid-template-columns:1fr;}
  .gallery-grid .wide{grid-column:span 1;}
}


/* ==========================================================================
   WordPress core alignment / accessibility classes
   ========================================================================== */
.alignleft{float:left;margin:0 24px 12px 0;}
.alignright{float:right;margin:0 0 12px 24px;}
.aligncenter{display:block;margin:0 auto 12px;}
.wp-caption, .wp-caption-text{font-size:.85rem;color:var(--muted);}
.screen-reader-text{position:absolute !important;left:-9999px;top:-9999px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--green-deep);color:#fff;padding:10px 18px;z-index:999;}
.skip-link:focus{left:0;}
img{height:auto;}

/* WooCommerce baseline restyle to match design system */
.woocommerce ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:22px;list-style:none;margin:0 !important;padding:0;}
/* WooCommerce's own stylesheet gives ul.products a float-era "clearfix" via
   ::before/::after with content:" " and display:table. Under display:grid,
   those pseudo-elements become real (invisible) grid items and silently eat
   2 grid cells — with exactly 4 products this pushes the 1st product into
   column 2 and wraps the 4th product alone onto its own row, with a mystery
   blank gap where the invisible pseudo-elements sit. Disabling the clearfix
   removes those phantom grid items entirely. */
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none !important;display:none !important;}
/* WooCommerce's own plugin stylesheet sets a percentage width + float + margin on
   li.product for its default float-based grid; those percentages get misapplied
   inside our CSS Grid layout (narrow cards with big gaps). Force full-width/no-float
   so our grid-template-columns fully controls sizing instead. */
.woocommerce ul.products li.product{width:100% !important;float:none !important;margin:0 !important;clear:none !important;background:var(--paper);border-radius:var(--radius);border:1px solid rgba(23,50,38,.08);overflow:hidden;padding:0 !important;transition:.25s;list-style:none;}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(23,50,38,.12);}
.woocommerce ul.products li.product a{text-decoration:none;color:inherit;display:block;}
.woocommerce ul.products li.product img{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:0;margin-bottom:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Fraunces',serif;font-size:1rem;color:var(--green-deep);padding:14px 16px 0;margin:0;}
.woocommerce ul.products li.product .price{font-weight:700;color:var(--green-deep);padding:0 16px;display:block;}
.woocommerce ul.products li.product .button{margin:12px 16px 16px;width:calc(100% - 32px);text-align:center;background:var(--green-deep);color:#fff;border-radius:999px;padding:10px;font-size:.85rem;font-weight:600;}
.woocommerce ul.products li.product .button:hover{background:var(--gold);}
.woocommerce div.product .product_title{font-family:'Fraunces',serif;color:var(--green-deep);}
.woocommerce div.product p.price{font-size:1.4rem;color:var(--green-deep);font-family:'Fraunces',serif;}
.woocommerce div.product form.cart .button{background:var(--green-deep);color:#fff;border-radius:999px;padding:14px 28px;border:none;font-weight:600;}
.woocommerce div.product form.cart .button:hover{background:var(--gold);}
.woocommerce nav.woocommerce-pagination ul{border:none;gap:8px;display:flex;}
.woocommerce nav.woocommerce-pagination ul li{border:none;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:8px;border:1px solid rgba(23,50,38,.15);color:var(--green-deep);}
.woocommerce-message, .woocommerce-info, .woocommerce-error{border-top-color:var(--green-deep);border-radius:8px;}
.woocommerce .quantity .qty{border-radius:8px;border:1px solid rgba(23,50,38,.2);padding:10px;}
/* WooCommerce's own stylesheet styles these tabs as boxed/bordered "folder
   tab" pills (.woocommerce div.product .woocommerce-tabs ul.tabs li{border:
   1px solid #cfc8d8;background:#e9e6ed;...}) using a more specific selector
   than our theme's, so it wins regardless of load order. Matching (and
   exceeding) that specificity here to force the flat underline-tab look used
   throughout the rest of the site (see .tab-btn), instead of overriding
   individual properties that kept losing the specificity fight. */
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:0;list-style:none;padding:0;margin:32px 0 24px;border-bottom:1px solid rgba(23,50,38,.12);overflow:visible;}
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border:none;background:none;border-radius:0;margin:0;padding:14px 22px 12px;display:inline-block;border-bottom:2px solid transparent;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after{content:none;display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted);font-weight:600;font-size:.92rem;padding:0;text-shadow:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--gold);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--green-deep);text-shadow:none;}
.star-rating span{color:var(--gold);}
@media(max-width:960px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.woocommerce ul.products{grid-template-columns:1fr;}}

/* Comments */
.comment-list{list-style:none;padding:0;}
.comment-form input, .comment-form textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(23,50,38,.2);font-family:inherit;}
.comment-form .form-submit input{width:auto;background:var(--green-deep);color:#fff;border:none;border-radius:999px;padding:12px 28px;cursor:pointer;font-weight:600;}

/* Mobile nav dropdown (JS-toggled) */
@media(max-width:1180px){
  header nav.mobile-open{position:absolute;top:100%;left:0;right:0;background:var(--off-white);border-bottom:1px solid rgba(23,50,38,.1);box-shadow:0 12px 24px rgba(0,0,0,.08);}
  header nav.mobile-open ul{display:flex;flex-direction:column;gap:0;padding:8px 24px 16px;}
  header nav.mobile-open ul li{padding:10px 0;border-bottom:1px solid rgba(23,50,38,.06);}
  header{position:relative;}
}
