/*
Theme Name: TrendyCarts
Theme URI: https://trendycartridges.com
Author: Trendy Cartridges
Description: Custom lightweight theme for trendycartridges.com: zero JavaScript (checkout excepted), SEO-first semantic HTML, WooCommerce native. Replaces Astra + Elementor. Palette: ink/forest/moss/gold/silver.
Version: 0.9.8
Requires PHP: 7.4
Text Domain: trendycarts
*/

/* ================= FONTS (self-hosted, 39KB total) ================= */
@font-face{
  font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/bebas-neue-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Nunito Sans';font-style:normal;font-weight:200 1000;font-display:swap;
  src:url('fonts/nunito-sans-latin.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ================= DESIGN TOKENS ================= */
:root{
  --c-ink:#0E100F;        /* page background */
  --c-forest:#1A2921;     /* surface / cards / header */
  --c-moss:#21362C;       /* raised surface / hover / borders */
  --c-gold:#C9971E;       /* PRIMARY accent: CTAs, prices, links, H1s */
  --c-gold-l:#E0AF35;     /* gold hover */
  --c-gold-ink:#161307;   /* text on gold */
  --c-silver:#C9C9C7;     /* body text on dark */
  --c-white:#FFFFFF;      /* headings, product image panels */
  --c-mut:#8A9A90;        /* muted text */
  --c-sale:#E85858;       /* sale badges */
  --f-display:'Bebas Neue',Oswald,sans-serif;
  --f-body:'Nunito Sans','Segoe UI',sans-serif;
  --r:6px;
  --sh:0 4px 32px rgba(0,0,0,.55);
  --tr:.22s cubic-bezier(.4,0,.2,1);
  --topbar-h:36px;
  --header-h:66px;
  --wrap:1200px;
}

/* ================= RESET / BASE ================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html{background:var(--c-forest)}
body{
  margin:0;background:var(--c-forest)!important; /* !important: Elementor kit CSS paints body white until Phase 5 removes it */
  color:var(--c-silver);
  font-family:var(--f-body);font-size:15.5px;line-height:1.65;
}
/* Elementor kit/global wrappers that force white canvases (loaded until Elementor retires) */
[class*="elementor-kit"]{background-color:var(--c-forest)!important}
.elementor-section[style*="background"],.e-con[style*="background"]{background-color:transparent!important}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-gold);text-decoration:none;transition:color var(--tr)}
a:hover{color:var(--c-gold-l)}
h1,h2,h3,h4,h5,h6{color:var(--c-white);line-height:1.25;margin:0 0 .6em}
h1,.tc-display{font-family:var(--f-display);font-weight:400;letter-spacing:1px}
h1{font-size:clamp(30px,4.4vw,44px);color:var(--c-gold)}
h2{font-size:clamp(23px,3vw,30px)}
h3{font-size:19px}
p{margin:0 0 1.1em}
ul,ol{padding-left:1.3em}
hr{border:0;border-top:1px solid var(--c-moss);margin:2em 0}
input,select,textarea,button{font-family:var(--f-body);font-size:15px}
input[type=text],input[type=search],input[type=email],input[type=tel],input[type=number],input[type=password],select,textarea{
  background:var(--c-ink);border:1px solid var(--c-moss);border-radius:var(--r);
  color:var(--c-silver);padding:10px 13px;width:100%;transition:border-color var(--tr),box-shadow var(--tr);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-gold);box-shadow:0 0 0 3px rgba(201,151,30,.15)}
::placeholder{color:var(--c-mut)}
table{border-collapse:collapse;width:100%}
th,td{border:1px solid var(--c-moss);padding:9px 12px;text-align:left}
th{background:var(--c-forest);color:var(--c-white)}

.tc-wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Buttons: gold primary */
.tc-btn,button.tc-btn,input[type=submit],button[type=submit],
.button,a.button,.woocommerce a.button,.woocommerce button.button{
  display:inline-block;background:var(--c-gold);color:var(--c-gold-ink);
  border:0;border-radius:var(--r);cursor:pointer;text-align:center;
  font-family:var(--f-body);font-weight:800;font-size:13.5px;text-transform:uppercase;
  letter-spacing:.45px;padding:11px 22px;transition:background var(--tr),transform var(--tr);
}
.tc-btn:hover,input[type=submit]:hover,.button:hover{background:var(--c-gold-l);color:var(--c-gold-ink)}
.tc-btn--ghost{background:transparent;border:1.5px solid var(--c-gold);color:var(--c-gold)}
.tc-btn--ghost:hover{background:var(--c-gold);color:var(--c-gold-ink)}

/* ================= TOP BAR ================= */
#tc-topbar{
  background:var(--c-ink);border-bottom:1px solid var(--c-moss);
  display:flex;justify-content:space-between;align-items:center;
  height:var(--topbar-h);padding:0 22px;font-size:12.5px;
}
#tc-topbar a{color:var(--c-silver);display:inline-flex;align-items:center;gap:7px}
#tc-topbar a:hover{color:var(--c-gold)}
#tc-topbar svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.tc-tl,.tc-tr{display:flex;align-items:center;gap:16px}
.tc-ts{width:1px;height:14px;background:var(--c-moss)}

/* ================= HEADER ================= */
#tc-mainbar{
  background:var(--c-ink);box-shadow:var(--sh);
  display:flex;align-items:center;gap:22px;
  height:var(--header-h);padding:0 22px;
  position:sticky;top:0;z-index:900;
}
.tc-logo-lnk img{height:44px;width:auto}
#tc-logo-mob{display:none}

/* Desktop nav + CSS-only dropdowns */
#tc-nav{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
#tc-nav>li{position:relative}
#tc-nav>li>a{
  display:flex;align-items:center;gap:5px;color:var(--c-silver);
  font-weight:700;font-size:13.5px;padding:9px 11px;border-radius:var(--r);
}
#tc-nav>li>a:hover,#tc-nav>li:focus-within>a{color:var(--c-gold);background:rgba(201,151,30,.07)}
.tc-chev{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform var(--tr)}
.tc-has-drop:hover .tc-chev,.tc-has-drop:focus-within .tc-chev{transform:rotate(180deg)}
.tc-drop{
  position:absolute;top:100%;left:0;min-width:210px;
  background:var(--c-forest);border:1px solid var(--c-moss);border-radius:var(--r);
  box-shadow:var(--sh);list-style:none;margin:0;padding:8px;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity var(--tr),transform var(--tr),visibility var(--tr);z-index:950;
}
.tc-has-drop:hover>.tc-drop,.tc-has-drop:focus-within>.tc-drop{opacity:1;visibility:visible;transform:translateY(0)}
.tc-drop a{display:block;color:var(--c-silver);font-size:13.5px;font-weight:600;padding:7px 11px;border-radius:4px}
.tc-drop a:hover{color:var(--c-gold);background:var(--c-moss)}
.tc-mega{display:flex;gap:6px;min-width:640px;padding:14px}
.tc-mc{flex:1;min-width:190px}
.tc-mc-h{
  font-family:var(--f-display);color:var(--c-gold);font-size:16px;
  letter-spacing:1.2px;padding:2px 11px 7px;border-bottom:1px solid var(--c-moss);margin-bottom:6px;
}
.tc-mc ul{list-style:none;margin:0;padding:0}

/* Search */
#tc-search-wrap{flex:1;max-width:340px;margin-left:auto}
#tc-search-wrap form{display:flex}
#tc-search-input{border-radius:var(--r) 0 0 var(--r);border-right:0}
#tc-search-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--c-gold);color:var(--c-gold-ink);border:0;
  border-radius:0 var(--r) var(--r) 0;font-weight:800;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.5px;padding:0 16px;cursor:pointer;
  transition:background var(--tr);
}
#tc-search-btn:hover{background:var(--c-gold-l)}
#tc-search-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4}

/* Cart / account icons */
#tc-icons{display:flex;align-items:center;gap:14px}
.tc-icon-btn{position:relative;display:inline-flex;color:var(--c-silver)}
.tc-icon-btn:hover{color:var(--c-gold)}
.tc-icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2}
.tc-cart-count{
  position:absolute;top:-7px;right:-9px;background:var(--c-gold);color:var(--c-gold-ink);
  font-size:10.5px;font-weight:800;min-width:17px;height:17px;line-height:17px;
  text-align:center;border-radius:50%;padding:0 3px;
}
#tc-cart-total{color:var(--c-gold);font-weight:800;font-size:14px}

/* ================= MOBILE NAV (CSS-only burger) ================= */
#tc-nav-toggle{position:absolute;opacity:0;pointer-events:none}
#tc-burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;padding:8px;cursor:pointer;border:0;background:none;
}
.tc-bar{display:block;width:100%;height:2.5px;background:var(--c-silver);border-radius:2px;transition:transform var(--tr),opacity var(--tr)}
#tc-drawer{
  position:fixed;inset:0 30% 0 0;max-width:330px;z-index:1000;
  background:var(--c-forest);box-shadow:var(--sh);
  padding:20px;overflow-y:auto;
  transform:translateX(-102%);transition:transform .28s cubic-bezier(.4,0,.2,1);
}
#tc-nav-toggle:checked~#tc-drawer{transform:translateX(0)}
#tc-drawer-overlay{
  position:fixed;inset:0;z-index:990;background:rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transition:opacity var(--tr),visibility var(--tr);
}
#tc-nav-toggle:checked~#tc-drawer-overlay{opacity:1;visibility:visible}
#tc-drawer a{display:block;color:var(--c-silver);font-weight:700;font-size:15px;padding:10px 6px;border-bottom:1px solid var(--c-moss)}
#tc-drawer a:hover{color:var(--c-gold)}
#tc-drawer details{border-bottom:1px solid var(--c-moss)}
#tc-drawer details a{border-bottom:0;font-weight:600;font-size:14px;padding:7px 6px 7px 18px}
#tc-drawer summary{
  color:var(--c-silver);font-weight:700;font-size:15px;padding:10px 6px;
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
}
#tc-drawer summary::-webkit-details-marker{display:none}
#tc-drawer summary::after{content:"+";color:var(--c-gold);font-weight:800}
#tc-drawer details[open] summary::after{content:"–"}
#tc-drawer .tc-drawer-close{
  display:flex;justify-content:flex-end;margin-bottom:6px;border:0;
}
#tc-drawer .tc-drawer-close label{color:var(--c-gold);font-size:26px;cursor:pointer;line-height:1}

@media(max-width:1100px){
  #tc-nav{display:none}
  #tc-burger{display:flex}
  #tc-search-wrap{max-width:none}
}
@media(max-width:640px){
  #tc-topbar .tc-tl a:nth-child(3){display:none} /* hide email on small */
  #tc-search-wrap{display:none}
  #tc-logo-desk{display:none}
  #tc-logo-mob{display:block}
  .tc-logo-lnk img{height:38px}
}

/* ================= CONTENT AREA ================= */
.tc-main{padding:34px 0 60px}
.tc-panel{background:var(--c-moss);border:1px solid rgba(201,151,30,.12);border-radius:var(--r);padding:24px}
.tc-badge-sale{background:var(--c-sale);color:#fff;font-size:11px;font-weight:800;padding:3px 9px;border-radius:3px;letter-spacing:.5px}

/* entry content readability */
.tc-content h2,.tc-content h3{margin-top:1.5em}
.tc-content h2{color:var(--c-gold)}
.tc-content img{border-radius:var(--r);margin:1em 0}
.tc-content a{text-decoration:underline;text-underline-offset:3px}

/* ================= FOOTER ================= */
#tc-footer{background:var(--c-ink);border-top:2px solid var(--c-gold);margin-top:60px}
.tf-newsletter{background:var(--c-moss);padding:26px 0}
.tf-nl-inner{max-width:var(--wrap);margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.tf-nl-text h3{font-family:var(--f-display);color:var(--c-white);font-size:24px;letter-spacing:1px;margin:0 0 2px}
.tf-nl-text p{margin:0;color:var(--c-silver);font-size:13.5px}
.tf-nl-form{display:flex;width:100%;max-width:420px}
.tf-nl-form input{border-radius:var(--r) 0 0 var(--r);border-right:0;background:var(--c-ink)}
.tf-nl-form button{
  background:var(--c-gold);color:var(--c-gold-ink);border:0;border-radius:0 var(--r) var(--r) 0;
  font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.5px;padding:0 22px;cursor:pointer;
  transition:background var(--tr);
}
.tf-nl-form button:hover{background:var(--c-gold-l)}
.tf-main{
  max-width:var(--wrap);margin:0 auto;padding:46px 22px 40px;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;
}
.tf-logo img{height:46px;width:auto;margin-bottom:14px}
.tf-tagline{font-size:13.5px;color:var(--c-mut);line-height:1.7}
.tf-contact-list{list-style:none;margin:16px 0 0;padding:0}
.tf-contact-list li{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13.5px}
.tf-contact-list svg{width:15px;height:15px;fill:none;stroke:var(--c-gold);stroke-width:2;flex-shrink:0}
.tf-contact-list a,.tf-contact-list span{color:var(--c-silver)}
.tf-contact-list a:hover{color:var(--c-gold)}
.tf-col h4{
  font-family:var(--f-display);color:var(--c-gold);font-size:17px;letter-spacing:1.4px;
  margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid var(--c-moss);
}
.tf-col ul{list-style:none;margin:0;padding:0}
.tf-col ul li a{
  display:inline-flex;align-items:center;gap:8px;color:var(--c-silver);
  font-size:13.5px;padding:4.5px 0;transition:color var(--tr),transform var(--tr);
}
.tf-col ul li a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c-moss);transition:background var(--tr)}
.tf-col ul li a:hover{color:var(--c-gold);transform:translateX(3px)}
.tf-col ul li a:hover::before{background:var(--c-gold)}
.tf-divider{border:0;border-top:1px solid var(--c-moss);margin:0;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.tf-bottom{
  max-width:var(--wrap);margin:0 auto;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12.5px;
}
.tf-copy{color:var(--c-mut)}
.tf-copy a{color:var(--c-silver)}
.tf-copy a:hover{color:var(--c-gold)}
.tf-bottom-links{display:flex;gap:16px}
.tf-bottom-links a{color:var(--c-silver);font-size:12.5px}
.tf-socials{display:flex;gap:9px}
.tf-soc{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;border:1px solid var(--c-moss);
  transition:border-color var(--tr),background var(--tr);
}
.tf-soc:hover{border-color:var(--c-gold);background:rgba(201,151,30,.1)}
.tf-soc svg{width:15px;height:15px;fill:none;stroke:var(--c-silver);stroke-width:1.8;transition:stroke var(--tr)}
.tf-soc:hover svg{stroke:var(--c-gold)}

@media(max-width:960px){
  .tf-main{grid-template-columns:1fr 1fr;gap:32px}
  .tf-brand{grid-column:1/-1}
}
@media(max-width:640px){
  .tf-nl-inner{flex-direction:column;align-items:flex-start}
  .tf-nl-form{max-width:100%}
  .tf-bottom{flex-direction:column;align-items:flex-start;gap:10px}
}
@media(max-width:400px){
  .tf-main{grid-template-columns:1fr}
}

/* ================= WHATSAPP FLOAT (no-JS replacement) ================= */
.tc-wa-float{
  position:fixed;left:18px;bottom:18px;z-index:980;
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:50%;background:var(--c-gold);
  box-shadow:var(--sh);transition:transform var(--tr),background var(--tr);
}
.tc-wa-float:hover{transform:scale(1.08);background:var(--c-gold-l)}
.tc-wa-float svg{width:26px;height:26px;fill:none;stroke:var(--c-gold-ink);stroke-width:2}

/* ================= HOMEPAGE SECTIONS ================= */
.th-home{padding-top:0}
.th-sec{margin:54px auto}
.th-center{text-align:center}
.th-big{font-size:clamp(26px,3.4vw,36px);color:var(--c-white)}

/* 1. hero: full-width, 960px, Customizer background image */
.th-hero{
  position:relative;width:100%;
  height:min(960px,92svh);min-height:520px;
  display:flex;align-items:center;
  background:linear-gradient(135deg,var(--c-ink) 0%,var(--c-forest) 55%,var(--c-moss) 100%);
  background-size:cover;background-position:center;
  border-bottom:1px solid var(--c-moss);
}
.th-hero--img{background-size:cover;background-position:center;background-repeat:no-repeat}
.th-hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,
    rgba(14,16,15,.94) 0%,
    rgba(14,16,15,.78) 34%,
    rgba(14,16,15,.38) 66%,
    rgba(14,16,15,.10) 100%);
}
.th-hero-inner{position:relative;z-index:1;width:100%}
.th-hero-txt{max-width:600px}
.th-eyebrow{color:var(--c-gold);font-weight:800;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:10px}
.th-hero-txt h1{margin-bottom:4px;font-size:clamp(34px,4.8vw,54px)}
.th-hero-brands{font-family:var(--f-display);font-size:clamp(19px,2.3vw,27px);color:var(--c-white);letter-spacing:1px;margin-bottom:14px}
.th-hero-txt>p{font-size:16px}
@media(max-width:760px){
  .th-hero{height:auto;min-height:0;padding:88px 0}
  .th-hero-shade{background:linear-gradient(180deg,rgba(14,16,15,.9) 0%,rgba(14,16,15,.72) 100%)}
}

/* 2. trust band */
.th-trust{background:var(--c-ink);padding:26px 0}
.th-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.th-trust-item{display:flex;align-items:center;gap:13px}
.th-trust-item svg{width:34px;height:34px;fill:none;stroke:var(--c-gold);stroke-width:1.8;flex-shrink:0}
.th-trust-item strong{display:block;color:var(--c-white);font-size:15px}
.th-trust-item span{color:var(--c-silver);font-size:12.5px}

/* 3. category cards (logo icons) */
.th-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}
.th-cat{
  display:flex;align-items:center;gap:13px;
  background:var(--c-moss);border:1px solid rgba(201,151,30,.14);border-radius:var(--r);
  padding:15px 17px;box-shadow:0 5px 20px rgba(0,0,0,.4);
  transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);
}
.th-cat:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--c-gold)}
.th-cat-ic{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:44px;height:44px;border-radius:50%;
  background:var(--c-ink);border:1px solid rgba(201,151,30,.4);
}
.th-cat-ic img{width:28px;height:28px;object-fit:contain}
.th-cat-name{color:var(--c-white);font-weight:700;font-size:14.5px;flex:1}
.th-cat:hover .th-cat-name{color:var(--c-gold)}
.th-cat-arrow{color:var(--c-gold);font-size:17px;opacity:0;transform:translateX(-6px);transition:opacity var(--tr),transform var(--tr)}
.th-cat:hover .th-cat-arrow{opacity:1;transform:none}

/* 4. brands word cloud: 4 selectable styles */
.th-band{background:var(--c-ink);padding:46px 0;margin:54px 0;box-shadow:inset 0 6px 24px rgba(0,0,0,.3)}
.th-cloud{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:12px 22px;max-width:960px;margin:28px auto 0;
}
.th-cw{line-height:1.15;transition:color var(--tr),transform var(--tr),background var(--tr),border-color var(--tr);display:inline-block}
.th-cw:hover{transform:scale(1.06)}
/* tones */
.th-cw-gold span{color:var(--c-gold)}
.th-cw-goldl span{color:var(--c-gold-l)}
.th-cw-white span{color:var(--c-white)}
.th-cw-silver span{color:var(--c-silver)}
.th-cw-mut span{color:var(--c-mut)}
.th-cw:hover span{color:var(--c-gold-l)}
/* style: classic: big display font */
.th-cloud--classic .th-cw{font-family:var(--f-display);letter-spacing:1px}
.th-cloud--classic .th-cw-s1{font-size:15px}
.th-cloud--classic .th-cw-s2{font-size:19px}
.th-cloud--classic .th-cw-s3{font-size:25px}
.th-cloud--classic .th-cw-s4{font-size:33px}
.th-cloud--classic .th-cw-s5{font-size:42px}
/* style: scaled: clean body font, tighter range */
.th-cloud--scaled .th-cw{font-family:var(--f-body);font-weight:800}
.th-cloud--scaled .th-cw-s1{font-size:13px}
.th-cloud--scaled .th-cw-s2{font-size:15px}
.th-cloud--scaled .th-cw-s3{font-size:18px}
.th-cloud--scaled .th-cw-s4{font-size:22px}
.th-cloud--scaled .th-cw-s5{font-size:27px}
/* style: buttons: pill chips, cloud-sized */
.th-cloud--buttons{gap:12px 14px}
.th-cloud--buttons .th-cw{
  font-family:var(--f-body);font-weight:800;
  background:var(--c-moss);border:1px solid rgba(201,151,30,.25);
  border-radius:999px;padding:.5em 1.15em;box-shadow:0 4px 16px rgba(0,0,0,.35);
}
.th-cloud--buttons .th-cw:hover{background:var(--c-gold);border-color:var(--c-gold)}
.th-cloud--buttons .th-cw:hover span{color:var(--c-gold-ink)}
.th-cloud--buttons .th-cw-s1{font-size:12px}
.th-cloud--buttons .th-cw-s2{font-size:14px}
.th-cloud--buttons .th-cw-s3{font-size:16.5px}
.th-cloud--buttons .th-cw-s4{font-size:20px}
.th-cloud--buttons .th-cw-s5{font-size:24px}
/* style: clouds: cloud-shaped chips */
.th-cloud--clouds{gap:20px 18px}
.th-cloud--clouds .th-cw{
  position:relative;font-family:var(--f-body);font-weight:800;
  background:var(--c-moss);border-radius:999px;padding:.55em 1.25em;
  box-shadow:0 6px 18px rgba(0,0,0,.4);margin-top:.7em;
}
.th-cloud--clouds .th-cw::before,
.th-cloud--clouds .th-cw::after{
  content:"";position:absolute;background:inherit;border-radius:50%;
}
.th-cloud--clouds .th-cw::before{width:.95em;height:.95em;top:-.4em;left:20%}
.th-cloud--clouds .th-cw::after{width:1.35em;height:1.35em;top:-.6em;left:42%}
.th-cloud--clouds .th-cw span{position:relative;z-index:1}
.th-cloud--clouds .th-cw:hover{background:var(--c-gold)}
.th-cloud--clouds .th-cw:hover span{color:var(--c-gold-ink)}
.th-cloud--clouds .th-cw-s1{font-size:12px}
.th-cloud--clouds .th-cw-s2{font-size:14px}
.th-cloud--clouds .th-cw-s3{font-size:16.5px}
.th-cloud--clouds .th-cw-s4{font-size:20px}
.th-cloud--clouds .th-cw-s5{font-size:24px}

/* 5-7. shadowed text boxes */
.th-box{
  background:var(--c-moss);border:1px solid rgba(201,151,30,.14);border-radius:10px;
  padding:26px;box-shadow:0 10px 34px rgba(0,0,0,.45);
  transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);
}
.th-box:hover{transform:translateY(-3px);border-color:rgba(201,151,30,.5);box-shadow:0 14px 44px rgba(0,0,0,.55)}
.th-box h2{color:var(--c-gold);letter-spacing:.8px;font-size:clamp(21px,2.6vw,27px)}
.th-box h3{color:var(--c-gold);font-size:17px}
.th-box p{font-size:14px;color:var(--c-silver)}
.th-box .tc-btn{margin-top:6px}
.th-box-wide{margin-bottom:22px}
.th-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:26px 0}
.th-cols2{display:grid;grid-template-columns:1fr 1fr;gap:22px}

/* 8. CTA band */
.th-cta{background:var(--c-gold);padding:34px 0;margin:54px 0}
.th-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.th-cta h2{color:var(--c-gold-ink);margin:0 0 4px}
.th-cta p{color:rgba(22,19,7,.75);margin:0;font-weight:600}
.th-cta-btn{display:inline-block;background:var(--c-ink);color:var(--c-gold);border-radius:var(--r);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.5px;padding:13px 28px;transition:background var(--tr)}
.th-cta-btn:hover{background:var(--c-forest);color:var(--c-gold-l)}

/* 9. reviews */
.th-review{position:relative;display:flex;flex-direction:column;gap:9px;padding-top:34px}
.th-quote{
  position:absolute;top:6px;left:18px;
  font-family:Georgia,serif;font-size:64px;line-height:1;color:rgba(201,151,30,.35);
}
.th-stars{color:var(--c-gold);font-size:17px;letter-spacing:2.5px}
.th-review p{font-size:14px;font-style:italic;flex:1;color:var(--c-silver)}
.th-rev-by{display:flex;align-items:center;gap:11px;border-top:1px solid rgba(201,151,30,.15);padding-top:13px}
.th-avatar{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:38px;height:38px;border-radius:50%;
  background:var(--c-gold);color:var(--c-gold-ink);font-weight:800;font-size:16px;
}
.th-rev-name{display:block;color:var(--c-white);font-size:14px}
.th-rev-prod{font-size:12px}
.th-rev-prod a{color:var(--c-mut)}
.th-rev-prod a:hover{color:var(--c-gold)}

/* third-party widgets: keep them dark */
.gtranslate_wrapper select,#gt_float_wrapper select,select.gt_selector{
  background:var(--c-moss)!important;color:var(--c-silver)!important;
  border:1px solid rgba(201,151,30,.25)!important;border-radius:6px!important;
}

/* responsive */
@media(max-width:1000px){
  .th-cats{grid-template-columns:repeat(2,1fr)}
  .th-trust-grid{grid-template-columns:repeat(2,1fr)}
  .th-cols3,.th-cols2{grid-template-columns:1fr}
  .th-cta-inner{flex-direction:column;text-align:center}
  .th-cloud--classic .th-cw-s4{font-size:27px}
  .th-cloud--classic .th-cw-s5{font-size:33px}
}
@media(max-width:560px){
  .th-cats{grid-template-columns:1fr}
  .th-trust-grid{grid-template-columns:1fr}
}

/* ================= WOOCOMMERCE ================= */
/* CRITICAL: Woo hides the gallery until its JS runs; we run no JS */
.woocommerce-product-gallery{opacity:1!important}

/* layout: archive sidebar + grid */
.tc-shop-layout{display:grid;grid-template-columns:250px 1fr;gap:30px;padding-top:30px}
.tc-shop-main{min-width:0}
@media(max-width:900px){.tc-shop-layout{grid-template-columns:1fr}.tc-shop-side{order:2}}

/* sidebar */
.tc-side-block{background:var(--c-moss);border:1px solid rgba(201,151,30,.14);border-radius:var(--r);padding:17px;margin-bottom:18px;box-shadow:0 5px 20px rgba(0,0,0,.35)}
.tc-side-search{display:flex;gap:0}
.tc-side-search input[type=search]{border-radius:var(--r) 0 0 var(--r);border-right:0}
.tc-side-search .tc-btn{border-radius:0 var(--r) var(--r) 0;padding:10px 14px}
.tc-side-h{font-family:var(--f-display);color:var(--c-gold);font-size:17px;letter-spacing:1.4px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid rgba(201,151,30,.2)}
.tc-side-list{list-style:none;margin:0;padding:0}
.tc-side-list a{display:block;color:var(--c-silver);font-size:13.5px;font-weight:600;padding:5px 0}
.tc-side-list a:hover{color:var(--c-gold);padding-left:4px}
.tc-side-prod{display:flex;gap:11px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(201,151,30,.1)}
.tc-side-prod:last-child{border-bottom:0}
.tc-side-prod-img img{width:52px;height:52px;object-fit:contain;background:var(--c-white);border-radius:5px}
.tc-side-prod-name{display:block;color:var(--c-silver);font-size:12.5px;font-weight:700;line-height:1.35}
.tc-side-prod:hover .tc-side-prod-name{color:var(--c-gold)}
.tc-side-prod-price{color:var(--c-gold);font-size:12.5px;font-weight:800}
.tc-side-prod-price del{color:var(--c-mut);margin-right:5px}
.tc-side-prod-price ins{text-decoration:none}

/* archive header */
.woocommerce-products-header{margin-bottom:6px}
.woocommerce-products-header__title{color:var(--c-gold)}
.term-description{max-width:860px;color:var(--c-silver);font-size:14px}
.woocommerce-result-count{color:var(--c-mut);font-size:13px}
.woocommerce-ordering select{width:auto;background:var(--c-moss)}
.woocommerce-notices-wrapper .woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--c-moss);border-top:3px solid var(--c-gold);color:var(--c-silver);
  border-radius:var(--r);padding:14px 18px;margin-bottom:18px;list-style:none;
}
.woocommerce-error{border-top-color:var(--c-sale)}

/* product loop grid */
ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:22px 0;padding:0}
@media(max-width:1100px){ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){ul.products{grid-template-columns:1fr}}
ul.products li.product{
  background:var(--c-moss);border:1px solid rgba(201,151,30,.14);border-radius:var(--r);
  overflow:hidden;position:relative;display:flex;flex-direction:column;text-align:center;
  transition:transform var(--tr),box-shadow var(--tr);width:auto!important;margin:0!important;padding:0!important;float:none!important;
}
ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--sh)}
ul.products li.product a img{
  width:100%;height:215px;object-fit:contain;background:var(--c-white);
  margin:0!important;padding:12px;
}
ul.products li.product .onsale{
  position:absolute;top:10px;left:10px;z-index:2;
  background:var(--c-sale);color:#fff;font-size:11px;font-weight:800;
  padding:4px 10px;border-radius:3px;letter-spacing:.5px;min-width:0;min-height:0;line-height:1.4;
}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2{
  font-size:14.5px;color:var(--c-white);font-family:var(--f-body);font-weight:700;
  padding:13px 14px 4px;margin:0;line-height:1.4;
}
ul.products li.product .woocommerce-loop-category__title{font-size:15px;color:var(--c-white);padding:13px 14px}
ul.products li.product .price{color:var(--c-gold)!important;font-weight:800;font-size:15px;padding:0 14px;margin:4px 0 12px}
ul.products li.product .price del{color:var(--c-mut);opacity:1}
ul.products li.product .price ins{text-decoration:none;color:var(--c-gold)}
ul.products li.product .star-rating{margin:4px auto}
ul.products li.product .button{margin:0 14px 16px;align-self:center}
ul.products li.product .button.loading::after{display:none}

/* pagination */
.woocommerce-pagination{text-align:center;margin:26px 0}
.woocommerce-pagination ul{display:inline-flex;gap:7px;list-style:none;border:0!important;margin:0;padding:0}
.woocommerce-pagination ul li{border:0!important;margin:0!important}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{
  display:inline-block;min-width:38px;padding:9px 12px;border-radius:var(--r);
  background:var(--c-moss);color:var(--c-silver);font-weight:700;line-height:1;
}
.woocommerce-pagination ul li span.current{background:var(--c-gold);color:var(--c-gold-ink)}
.woocommerce-pagination ul li a:hover{background:var(--c-gold-l);color:var(--c-gold-ink)}

/* breadcrumb */
.woocommerce-breadcrumb{color:var(--c-mut)!important;font-size:12.5px;margin:14px 0 4px!important}
.woocommerce-breadcrumb a{color:var(--c-silver)}
.woocommerce-breadcrumb a:hover{color:var(--c-gold)}

/* single product */
.single-product div.product{display:block;margin-top:10px}
.single-product div.product .woocommerce-product-gallery{
  float:left;width:46%;margin-bottom:28px;
  background:var(--c-white);border-radius:10px;padding:16px;box-shadow:var(--sh);
}
.single-product div.product .woocommerce-product-gallery img{margin:0 auto;object-fit:contain}
.single-product div.product .woocommerce-product-gallery .flex-viewport{margin-bottom:10px}
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs{display:flex;gap:8px;list-style:none;margin:10px 0 0;padding:0}
.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs img{border-radius:5px;border:2px solid transparent;cursor:pointer}
.single-product div.product .entry-summary{
  float:right;width:50%;margin-bottom:28px;
}
.single-product div.product .entry-summary .product_title{
  color:var(--c-white);font-family:var(--f-body);font-weight:800;font-size:clamp(21px,2.6vw,28px);letter-spacing:0;
}
.single-product div.product .entry-summary .price{color:var(--c-gold)!important;font-size:26px;font-weight:800;margin:8px 0 14px}
.single-product div.product .entry-summary .price del{color:var(--c-mut);opacity:1;font-size:19px}
.single-product div.product .entry-summary .price ins{text-decoration:none}
.single-product div.product .entry-summary .woocommerce-product-details__short-description{color:var(--c-silver);font-size:14.5px}
.single-product div.product form.cart{margin:18px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.single-product div.product form.cart.variations_form{display:block}
.single-product div.product form.cart .quantity .qty{width:74px;text-align:center}
.single-product div.product form.cart table.variations{margin-bottom:14px}
.single-product div.product form.cart table.variations th,
.single-product div.product form.cart table.variations td{border:0;padding:6px 10px 6px 0;background:transparent}
.single-product div.product form.cart table.variations label{color:var(--c-white);font-weight:700}
.single-product div.product form.cart .single_variation_wrap .woocommerce-variation-price{margin-bottom:10px}
.single-product div.product form.cart .button{padding:13px 30px;font-size:14.5px}
.single-product .product_meta{border-top:1px solid rgba(201,151,30,.18);padding-top:14px;font-size:13px;color:var(--c-mut)}
.single-product .product_meta a{color:var(--c-gold)}
.reset_variations{color:var(--c-sale)}

/* trust bullets under buy box (kept from old design) */
.tc-buy-trust{list-style:none;margin:16px 0 0;padding:0;font-size:13.5px;clear:both}
.tc-buy-trust li{padding:3px 0}
.tc-buy-trust li::before{content:"✓";color:var(--c-gold);font-weight:800;margin-right:9px}

/* tabs / description */
.single-product .woocommerce-tabs{clear:both;padding-top:6px}
.single-product .woocommerce-tabs ul.tabs{
  display:flex;gap:8px;list-style:none;margin:0 0 -1px;padding:0;border:0;
}
.single-product .woocommerce-tabs ul.tabs::before,.single-product .woocommerce-tabs ul.tabs::after{display:none!important}
.single-product .woocommerce-tabs ul.tabs li{
  background:var(--c-moss);border:1px solid rgba(201,151,30,.14);border-bottom:0;
  border-radius:var(--r) var(--r) 0 0;margin:0;padding:0;
}
.single-product .woocommerce-tabs ul.tabs li a{display:block;padding:11px 20px;color:var(--c-silver);font-weight:700;font-size:13.5px}
.single-product .woocommerce-tabs ul.tabs li.active{background:var(--c-forest);border-color:rgba(201,151,30,.3)}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--c-gold)}
.single-product .woocommerce-tabs .panel{
  background:var(--c-forest);border:1px solid rgba(201,151,30,.18);border-radius:0 var(--r) var(--r) var(--r);
  padding:26px;box-shadow:0 10px 34px rgba(0,0,0,.35);
}
.single-product .woocommerce-tabs .panel h2:first-child{color:var(--c-gold)}
.single-product .woocommerce-tabs .panel h2,.single-product .woocommerce-tabs .panel h3{color:var(--c-gold)}
.single-product .woocommerce-tabs .panel img{border-radius:var(--r);background:var(--c-white);padding:8px}
.single-product .woocommerce-tabs .panel a{text-decoration:underline;text-underline-offset:3px}
.single-product .woocommerce-tabs .panel mark{background:var(--c-gold);color:var(--c-gold-ink);padding:0 4px;border-radius:3px}

/* related / upsells */
.single-product .related.products,.single-product .up-sells{clear:both;padding-top:34px}
.single-product .related.products>h2,.single-product .up-sells>h2{font-family:var(--f-display);color:var(--c-white);letter-spacing:1px}

/* reviews tab */
#reviews .commentlist{list-style:none;margin:0;padding:0}
#reviews .commentlist li{background:var(--c-moss);border-radius:var(--r);padding:16px;margin-bottom:12px}
#reviews .comment-reply-title,#reviews .woocommerce-Reviews-title{color:var(--c-white)}
.star-rating span::before,p.stars a{color:var(--c-gold)}

/* cart page */
.woocommerce-cart table.cart{border:0}
.woocommerce-cart table.cart th{background:var(--c-ink);color:var(--c-gold);border-color:var(--c-moss)}
.woocommerce-cart table.cart td{background:var(--c-moss);border-color:rgba(201,151,30,.12);color:var(--c-silver)}
.woocommerce-cart table.cart td.product-name a{color:var(--c-white);font-weight:700}
.woocommerce-cart table.cart img{width:64px;background:var(--c-white);border-radius:5px}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:150px;display:inline-block}
.woocommerce-cart .cart-collaterals .cart_totals{
  background:var(--c-moss);border:1px solid rgba(201,151,30,.18);border-radius:10px;
  padding:22px;box-shadow:0 10px 34px rgba(0,0,0,.4);width:100%;
}
.woocommerce-cart .cart-collaterals .cart_totals h2{color:var(--c-gold);font-size:21px}
.woocommerce-cart .cart-collaterals .cart_totals table,.woocommerce-cart .cart-collaterals .cart_totals th,.woocommerce-cart .cart-collaterals .cart_totals td{border:0;background:transparent}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;font-size:15px;padding:15px}
.cart-empty.woocommerce-info{margin-top:24px}

/* checkout */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}
@media(max-width:900px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}}
.woocommerce-checkout #customer_details{grid-column:1}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout #order_review_heading{color:var(--c-gold);margin:0 0 10px}
.woocommerce-checkout #order_review{
  background:var(--c-moss);border:1px solid rgba(201,151,30,.18);border-radius:10px;
  padding:22px;box-shadow:0 10px 34px rgba(0,0,0,.4);align-self:start;
}
.woocommerce-checkout #order_review table,.woocommerce-checkout #order_review th,.woocommerce-checkout #order_review td{border:0;background:transparent;color:var(--c-silver)}
.woocommerce-checkout #order_review tfoot .order-total .amount{color:var(--c-gold);font-size:18px}
.woocommerce-checkout .woocommerce-billing-fields h3,.woocommerce-checkout .woocommerce-additional-fields h3{color:var(--c-gold)}
.woocommerce-checkout .form-row label{color:var(--c-silver);font-size:13.5px;font-weight:600}
.woocommerce-checkout .wc_payment_methods{list-style:none;margin:0 0 16px;padding:0}
.woocommerce-checkout .wc_payment_method{background:var(--c-ink);border-radius:var(--r);padding:12px 14px;margin-bottom:9px}
.woocommerce-checkout .wc_payment_method label{color:var(--c-white);font-weight:700}
.woocommerce-checkout .payment_box{background:transparent;color:var(--c-mut);font-size:13px}
.woocommerce-checkout #place_order{width:100%;font-size:15px;padding:15px}
.select2-container--default .select2-selection--single{background:var(--c-ink);border:1px solid var(--c-moss);height:auto;padding:6px 4px}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--c-silver)}
.select2-dropdown{background:var(--c-moss);border-color:var(--c-moss);color:var(--c-silver)}

/* account pages */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li a{display:block;background:var(--c-moss);border-radius:var(--r);color:var(--c-silver);font-weight:700;padding:11px 15px;margin-bottom:8px}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--c-gold);color:var(--c-gold-ink)}

/* ================= LEGACY PAGE CONTENT (until Phases 5-6 rebuild) ================= */
.tc-content [style*="background-color: #fff"],.tc-content [style*="background-color:#fff"],
.tc-content [style*="background: #fff"],.tc-content [style*="background:#fff"],
.tc-content [style*="background-color: #ffffff"],.tc-content [style*="background-color:#ffffff"]{
  background:var(--c-moss)!important;color:var(--c-silver)!important;
}
.tc-content h2,.tc-content h3,.tc-content h4{color:var(--c-gold)}
.tc-content mark{background:var(--c-gold);color:var(--c-gold-ink);padding:0 4px;border-radius:3px}
.tc-content [style*="color: #000"],.tc-content [style*="color:#000"],
.tc-content [style*="color: #333"],.tc-content [style*="color:#333"]{color:var(--c-silver)!important}
.tc-content table{background:var(--c-moss)}
.tc-content blockquote{border-left:3px solid var(--c-gold);background:var(--c-moss);border-radius:0 var(--r) var(--r) 0;padding:14px 18px;margin:1.2em 0}

/* ================= v0.4.1 FIXES ================= */

/* Related products: exactly 5 in ONE row, never wrapping.
   Desktop: 5-col grid. Small screens: horizontal scroll row (still one line). */
.single-product .related.products ul.products{
  grid-template-columns:repeat(5,1fr)!important;gap:14px;
}
.single-product .related.products ul.products li.product a img{height:150px!important;padding:8px}
.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .related.products ul.products li.product h2{font-size:12.5px;padding:10px 10px 2px}
.single-product .related.products ul.products li.product .price{font-size:13px;padding:0 10px;margin:3px 0 9px}
.single-product .related.products ul.products li.product .button{margin:0 10px 12px;padding:8px 12px;font-size:11.5px}
@media(max-width:860px){
  .single-product .related.products ul.products{
    display:flex!important;overflow-x:auto;scroll-snap-type:x proximity;
    padding-bottom:10px;
  }
  .single-product .related.products ul.products li.product{
    min-width:172px;flex:0 0 172px;scroll-snap-align:start;
  }
}

/* Buy buttons: gold, everywhere, beating Woo's .alt specificity */
.woocommerce button.button.alt,
.woocommerce button.button.alt.disabled,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce-page button.button.alt,
button.single_add_to_cart_button.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order{
  background:var(--c-gold)!important;color:var(--c-gold-ink)!important;
  border:0!important;border-radius:var(--r)!important;
  font-weight:800!important;text-transform:uppercase;letter-spacing:.45px;
}
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover{
  background:var(--c-gold-l)!important;color:var(--c-gold-ink)!important;
}
ul.products li.product .button{background:var(--c-gold)!important;color:var(--c-gold-ink)!important}
ul.products li.product .button:hover{background:var(--c-gold-l)!important}

/* Description: unboxed: no border/frame, content flows on the page */
.single-product .woocommerce-tabs .panel{
  background:transparent;border:0;box-shadow:none;
  border-radius:0;padding:22px 0 0;
}
.single-product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;
}
.single-product .woocommerce-tabs ul.tabs li a{
  padding:10px 2px;margin-right:22px;color:var(--c-mut);
  border-bottom:2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  color:var(--c-gold);border-bottom-color:var(--c-gold);
}
.single-product .woocommerce-tabs ul.tabs{border-bottom:1px solid rgba(201,151,30,.18);margin-bottom:4px}

/* Description content: kill inline white/light backgrounds (old copied content),
   links clean gold with no highlight box */
.single-product .woocommerce-tabs .panel [style*="background"]{background:transparent!important}
.single-product .woocommerce-tabs .panel a,
.single-product .woocommerce-tabs .panel a span{
  background:transparent!important;color:var(--c-gold)!important;
  text-decoration:underline;text-underline-offset:3px;
}
.single-product .woocommerce-tabs .panel a:hover{color:var(--c-gold-l)!important}
.single-product .woocommerce-tabs .panel span[style]{color:inherit!important}
.single-product .woocommerce-tabs .panel h1{font-size:24px;color:var(--c-gold);font-family:var(--f-body);font-weight:800}
/* same cleanup for page content areas */
.tc-content [style*="background"]{background:transparent!important}
.tc-content a,.tc-content a span{background:transparent!important}

/* Woo core clearfix (::before/::after with display:table) becomes an empty
   grid item under display:grid: remove it entirely */
ul.products::before,ul.products::after,
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{
  content:none!important;display:none!important;
}

/* ================= v0.5.0: grid hardening + column setting ================= */
/* Belt & braces: even if a clearfix pseudo survives, pull it out of grid flow */
ul.products::before,ul.products::after{
  content:none!important;display:none!important;position:absolute!important;
}

/* Shop/category columns from Customizer (body.tc-cols-N) */
body.tc-cols-2 .tc-shop-main ul.products{grid-template-columns:repeat(2,1fr)}
body.tc-cols-3 .tc-shop-main ul.products{grid-template-columns:repeat(3,1fr)}
body.tc-cols-4 .tc-shop-main ul.products{grid-template-columns:repeat(4,1fr)}
body.tc-cols-5 .tc-shop-main ul.products{grid-template-columns:repeat(5,1fr)}
/* 4-5 col cards get slightly tighter */
body.tc-cols-4 .tc-shop-main ul.products li.product a img,
body.tc-cols-5 .tc-shop-main ul.products li.product a img{height:180px}
body.tc-cols-4 .tc-shop-main ul.products li.product .woocommerce-loop-product__title,
body.tc-cols-5 .tc-shop-main ul.products li.product .woocommerce-loop-product__title{font-size:13px}
@media(max-width:1100px){
  body.tc-cols-3 .tc-shop-main ul.products,
  body.tc-cols-4 .tc-shop-main ul.products,
  body.tc-cols-5 .tc-shop-main ul.products{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  body.tc-cols-2 .tc-shop-main ul.products,
  body.tc-cols-3 .tc-shop-main ul.products,
  body.tc-cols-4 .tc-shop-main ul.products,
  body.tc-cols-5 .tc-shop-main ul.products{grid-template-columns:1fr}
}

/* ================= v0.5.1 CHECKOUT LAYOUT FIX ================= */
/* Two columns: billing spans both rows on the left; "Your order" heading sits
   directly above the order review table on the right (previously the table was
   auto-placed into row 2 and pushed far below the tall billing column). */
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  grid-template-rows:auto 1fr;
  column-gap:32px;row-gap:0;
  align-items:start;
}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2;min-width:0}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 12px}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2;align-self:start;min-width:0}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;grid-template-rows:none}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1!important;grid-row:auto!important}
  .woocommerce-checkout #order_review_heading{margin-top:26px}
}

/* Billing / additional info stack full-width inside the left column */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{float:none;width:100%;margin:0 0 8px}
.woocommerce-checkout .col2-set{display:block}

/* Form fields: beat Woo's `.woocommerce form .form-row input.input-text` (higher
   specificity than our element selectors, which is why they rendered white) */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.woocommerce .checkout input.input-text,
.woocommerce .checkout textarea,
#order_comments{
  background:var(--c-ink)!important;
  border:1px solid var(--c-moss)!important;
  color:var(--c-silver)!important;
  border-radius:var(--r)!important;
  padding:11px 13px!important;
  box-shadow:none!important;
  line-height:1.4;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  border-color:var(--c-gold)!important;
  box-shadow:0 0 0 3px rgba(201,151,30,.15)!important;outline:none;
}
.woocommerce form .form-row label,.woocommerce-checkout .form-row label{
  color:var(--c-silver);font-size:13px;font-weight:700;margin-bottom:5px;display:block;
}
.woocommerce form .form-row .required{color:var(--c-sale);text-decoration:none}
.woocommerce form .form-row{padding:0 0 14px;margin:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{
  width:calc(50% - 7px);float:none;display:inline-block;vertical-align:top;
}
.woocommerce form .form-row-first{margin-right:10px}
.woocommerce form .form-row-wide{width:100%;display:block}
.woocommerce-billing-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:block}
.woocommerce-input-wrapper{width:100%;display:block}

/* select2 (country / state) */
.select2-container--default .select2-selection--single{
  background:var(--c-ink)!important;border:1px solid var(--c-moss)!important;
  height:auto!important;padding:8px 6px!important;border-radius:var(--r)!important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--c-silver)!important;line-height:1.4}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:8px}
.select2-container--open .select2-dropdown{background:var(--c-moss);border-color:rgba(201,151,30,.3);color:var(--c-silver)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--c-gold);color:var(--c-gold-ink)}
.select2-search--dropdown .select2-search__field{background:var(--c-ink);border:1px solid var(--c-moss);color:var(--c-silver)}

/* coupon / notice strips */
.woocommerce-form-coupon-toggle .woocommerce-info{margin-bottom:20px}
.woocommerce form.checkout_coupon{
  background:var(--c-moss);border:1px solid rgba(201,151,30,.2);border-radius:var(--r);padding:18px;
}
/* order review table */
.woocommerce-checkout #order_review table.shop_table{border:0;margin:0}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{
  border:0;border-bottom:1px solid rgba(201,151,30,.12);padding:10px 0;background:transparent;
}
.woocommerce-checkout #order_review table.shop_table thead th{color:var(--c-gold);font-family:var(--f-display);letter-spacing:1px;font-size:15px}
.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child th,
.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child td{border-bottom:0}
.woocommerce-checkout #order_review .product-name{color:var(--c-silver)}
.woocommerce-checkout #order_review .product-total,.woocommerce-checkout #order_review .amount{color:var(--c-white)}
.woocommerce-checkout #order_review tfoot .order-total th,
.woocommerce-checkout #order_review tfoot .order-total .amount{color:var(--c-gold);font-size:17px}

/* ================= PAYMENT METHODS (checkout) ================= */
.tc-pay-notice{
  background:var(--c-moss);border-left:3px solid var(--c-gold);border-radius:0 var(--r) var(--r) 0;
  padding:14px 16px;margin:0 0 16px;font-size:13.5px;color:var(--c-silver);
}
.tc-pay-notice p{margin:0 0 .7em}
.tc-pay-notice p:last-child{margin:0}
.tc-pay-notice strong{color:var(--c-gold)}
.tc-pay-notice a{color:var(--c-gold);text-decoration:underline;text-underline-offset:3px}

.woocommerce-checkout #payment ul.payment_methods{
  list-style:none;margin:0 0 16px;padding:0;border:0;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{
  background:var(--c-ink);border:1px solid var(--c-moss);border-radius:var(--r);
  padding:12px 14px;margin:0 0 9px;transition:border-color var(--tr),background var(--tr);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover{border-color:rgba(201,151,30,.45)}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label{
  color:var(--c-white);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type=radio]{accent-color:var(--c-gold);margin-right:4px}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method img,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method img.tc-pay-logo{
  max-height:26px;width:auto;max-width:80px;margin:0;padding:0;
  background:transparent;border-radius:3px;display:inline-block;float:none;
}
.woocommerce-checkout #payment div.payment_box{
  background:transparent;color:var(--c-mut);font-size:13px;
  margin:8px 0 0;padding:0 0 0 26px;border-radius:0;
}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.payment_box a{color:var(--c-gold);text-decoration:underline;text-underline-offset:3px}
.woocommerce-checkout #payment div.payment_box p{margin:0}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment .place-order{padding:14px 0 0;margin:0}
.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{margin-bottom:12px}
/* discount line in the totals */
.woocommerce-checkout #order_review tr.fee th,
.woocommerce-cart .cart_totals tr.fee th{color:var(--c-gold)}
.woocommerce-checkout #order_review tr.fee td,
.woocommerce-cart .cart_totals tr.fee td{color:var(--c-gold);font-weight:700}

/* post-order payment instructions */
.tc-pay-instructions{
  background:var(--c-moss);border-left:3px solid var(--c-gold);border-radius:0 var(--r) var(--r) 0;
  padding:18px 20px;margin:0 0 24px;color:var(--c-silver);
}
.tc-pay-instructions p{margin:0 0 .8em}
.tc-pay-instructions p:last-child{margin:0}
.tc-pay-instructions strong{color:var(--c-gold)}

/* ================= v0.7.0: CENTRED HEADER ================= */
/* Top bar: both groups centred as one unit */
#tc-topbar{justify-content:center;gap:22px;flex-wrap:wrap}

/* Main bar becomes three centred rows: logo / nav / search+icons */
#tc-mainbar{
  flex-direction:column;
  height:auto;
  gap:11px;
  padding:14px 22px 15px;
  justify-content:center;
  position:sticky;top:0;z-index:900;
}
.tc-logo-lnk{display:block}
.tc-logo-lnk img{height:58px;width:auto;margin:0 auto}

#tc-nav{justify-content:center;flex-wrap:wrap;gap:2px;width:100%}
.tc-drop{left:50%;transform:translate(-50%,8px)}
.tc-has-drop:hover>.tc-drop,.tc-has-drop:focus-within>.tc-drop{transform:translate(-50%,0)}
/* keep the wide mega-menu inside the viewport */
.tc-mega{left:50%;transform:translate(-50%,8px)}
.tc-has-drop:hover>.tc-mega,.tc-has-drop:focus-within>.tc-mega{transform:translate(-50%,0)}

.tc-util{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;flex-wrap:wrap}
#tc-search-wrap{margin-left:0;flex:0 1 420px;max-width:420px}
#tc-icons{gap:14px}

/* Burger sits at the edge on small screens without breaking the centring */
#tc-burger{position:absolute;left:14px;top:16px}

@media(max-width:1100px){
  #tc-mainbar{padding-top:16px}
  .tc-logo-lnk img{height:50px}
}
@media(max-width:640px){
  #tc-topbar{gap:14px;font-size:11.5px}
  #tc-mainbar{gap:10px;padding:12px 14px 13px}
  .tc-logo-lnk img{height:44px}
  #tc-burger{top:12px;left:8px}
  #tc-search-wrap{display:flex;flex:1 1 100%;max-width:none}
  .tc-util{gap:12px}
}

/* ================= v0.7.1: HEADER LAYOUT OPTIONS ================= */
/* Logo height is Customizer-controlled (--tc-logo-h, printed in wp_head). */
.tc-logo-lnk img{height:var(--tc-logo-h,74px)}

/* --- Layout A (default): logo left, nav + search stay centred ---
   The logo is taken out of the column flow and pinned left, vertically
   centred. #tc-mainbar is position:sticky, which is already a containing
   block for absolutely positioned children: so no extra positioning needed
   (and adding position:relative here would break the sticky header). */
@media(min-width:1101px){
  body.tc-hdr-logo-left #tc-mainbar{min-height:112px;padding-top:12px;padding-bottom:13px}
  body.tc-hdr-logo-left .tc-logo-lnk{
    position:absolute;left:26px;top:50%;transform:translateY(-50%);margin:0;
  }
  body.tc-hdr-logo-left .tc-logo-lnk img{margin:0}
  /* keep centred content clear of the logo on narrower desktops */
  body.tc-hdr-logo-left #tc-nav,
  body.tc-hdr-logo-left .tc-util{padding-left:150px;padding-right:150px}
}
@media(min-width:1101px) and (max-width:1320px){
  body.tc-hdr-logo-left .tc-logo-lnk img{height:calc(var(--tc-logo-h,74px) * .82)}
  body.tc-hdr-logo-left #tc-nav,
  body.tc-hdr-logo-left .tc-util{padding-left:130px;padding-right:130px}
  body.tc-hdr-logo-left #tc-nav>li>a{padding:9px 8px;font-size:13px}
}

/* --- Layout B: fully centred (the previous version) --- */
body.tc-hdr-centered .tc-logo-lnk{position:static;transform:none}
body.tc-hdr-centered .tc-logo-lnk img{margin:0 auto}

/* Below the desktop breakpoint both layouts share the stacked, centred form
   (nav collapses into the drawer, so the logo returns to the flow). */
@media(max-width:1100px){
  body.tc-hdr-logo-left .tc-logo-lnk,
  body.tc-hdr-centered .tc-logo-lnk{position:static;transform:none}
  body.tc-hdr-logo-left .tc-logo-lnk img,
  body.tc-hdr-centered .tc-logo-lnk img{margin:0 auto;height:calc(var(--tc-logo-h,74px) * .68)}
  body.tc-hdr-logo-left #tc-nav,
  body.tc-hdr-logo-left .tc-util{padding-left:0;padding-right:0}
}

/* ================= v0.7.2: LOGO POSITION CONTROLS ================= */
/* Offsets come from CSS custom properties printed in wp_head, so the
   Customizer can move the logo live without any front-end JavaScript. */
@media(min-width:1101px){
  body.tc-hdr-logo-left .tc-logo-lnk{
    position:absolute;left:26px;top:50%;margin:0;
    transform:translate(var(--tc-logo-x,0px), calc(-50% + var(--tc-logo-y,0px)));
  }
  body.tc-hdr-logo-left .tc-logo-lnk img{height:var(--tc-logo-h,74px);margin:0}
  body.tc-hdr-centered .tc-logo-lnk{
    position:static;
    transform:translate(var(--tc-logo-x,0px), var(--tc-logo-y,0px));
  }
  body.tc-hdr-centered .tc-logo-lnk img{height:var(--tc-logo-h,74px);margin:0 auto}
}
/* Mobile / tablet: own height and offsets */
@media(max-width:1100px){
  body.tc-hdr-logo-left .tc-logo-lnk,
  body.tc-hdr-centered .tc-logo-lnk{
    position:static;
    transform:translate(var(--tc-logo-x-m,0px), var(--tc-logo-y-m,0px));
  }
  body.tc-hdr-logo-left .tc-logo-lnk img,
  body.tc-hdr-centered .tc-logo-lnk img{height:var(--tc-logo-h-m,50px);margin:0 auto}
}

/* ================= v0.8.0: SINGLE BLOG POST ================= */
.tc-blog-layout{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:start}
.tc-blog-main{min-width:0}
@media(max-width:900px){.tc-blog-layout{grid-template-columns:1fr}.tc-blog-side{order:2}}

.tc-post h1{margin-bottom:10px}
.tc-post-meta{color:var(--c-mut);font-size:13px;margin-bottom:20px}
.tc-post-meta a{color:var(--c-gold)}
.tc-post-meta .tc-dot{margin:0 8px;opacity:.6}
.tc-post-thumb{margin:0 0 26px}
.tc-post-thumb img{width:100%;height:auto;border-radius:10px;box-shadow:var(--sh)}

/* post body */
.tc-post .tc-content{font-size:16px;line-height:1.75}
.tc-post .tc-content h2{color:var(--c-gold);margin-top:1.6em;font-family:var(--f-display);letter-spacing:.8px}
.tc-post .tc-content h3{color:var(--c-white);margin-top:1.3em}
.tc-post .tc-content img{border-radius:var(--r);margin:1.2em 0}
.tc-post .tc-content ul,.tc-post .tc-content ol{margin:0 0 1.2em;padding-left:1.3em}
.tc-post .tc-content li{margin-bottom:.4em}
.tc-post .tc-content blockquote{
  border-left:3px solid var(--c-gold);background:var(--c-moss);
  border-radius:0 var(--r) var(--r) 0;padding:14px 18px;margin:1.4em 0;
}

/* prev / next */
.tc-post-nav{display:flex;gap:14px;margin:34px 0 0;flex-wrap:wrap}
.tc-post-nav-i{
  flex:1 1 240px;background:var(--c-moss);border:1px solid rgba(201,151,30,.14);
  border-radius:var(--r);padding:14px 16px;transition:border-color var(--tr),transform var(--tr);
}
.tc-post-nav-i:hover{border-color:var(--c-gold);transform:translateY(-2px)}
.tc-post-nav-i span{display:block;color:var(--c-gold);font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;margin-bottom:5px}
.tc-post-nav-i strong{color:var(--c-silver);font-size:14px;font-weight:700;line-height:1.4}
.tc-post-nav-next{text-align:right}

/* sidebar */
.tc-blog-side .tc-side-block{margin-bottom:20px}
.tc-cat-list li.is-current>a{color:var(--c-gold)}
.tc-cat-list a{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tc-cat-n{
  background:var(--c-ink);color:var(--c-gold);border-radius:999px;
  font-size:11px;font-weight:800;padding:2px 8px;min-width:24px;text-align:center;
}
.tc-side-post{display:flex;gap:11px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(201,151,30,.1)}
.tc-side-post:last-child{border-bottom:0}
.tc-side-post-img img{width:54px;height:54px;object-fit:cover;border-radius:5px}
.tc-side-post-t{display:block;color:var(--c-silver);font-size:12.5px;font-weight:700;line-height:1.35}
.tc-side-post:hover .tc-side-post-t{color:var(--c-gold)}
.tc-side-post-d{color:var(--c-mut);font-size:11.5px}
.tc-side-cta p{font-size:13px;color:var(--c-silver);margin-bottom:12px}

/* latest posts section */
.tc-latest{margin:56px auto 0;text-align:center}
.tc-latest>h2{margin-bottom:26px}
.tc-latest-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:26px;text-align:left;
}
@media(max-width:1100px){.tc-latest-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.tc-latest-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.tc-latest-grid{grid-template-columns:1fr}}
.tc-latest-card{
  background:var(--c-moss);border:1px solid rgba(201,151,30,.14);border-radius:var(--r);
  overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.35);
  transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);
}
.tc-latest-card:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:rgba(201,151,30,.45)}
.tc-latest-img{display:block;background:var(--c-ink)}
.tc-latest-img img{width:100%;height:130px;object-fit:cover;display:block}
.tc-latest-ph{display:block;height:130px;background:linear-gradient(135deg,var(--c-ink),var(--c-forest))}
.tc-latest-in{padding:12px 13px 15px}
.tc-latest-cat{display:block;color:var(--c-gold);font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.tc-latest-in h3{font-size:13.5px;margin:0 0 7px;line-height:1.4}
.tc-latest-in h3 a{color:var(--c-white)}
.tc-latest-in h3 a:hover{color:var(--c-gold)}
.tc-latest-date{color:var(--c-mut);font-size:11.5px}

/* ================= v0.9.0: contact info ================= */
.tc-map{position:relative;border-radius:10px;overflow:hidden;box-shadow:var(--sh);margin:22px 0}
.tc-map iframe{display:block;width:100%;border:0}
.tc-hours{white-space:pre-line}

/* =================================================================
   PAGE TITLE AS H2
   page.php renders the page title as .tc-page-title (an H2) when the
   page content already supplies its own hero H1, so each page has
   exactly one H1. This must render identically to the H1 it replaces
  : mirrors the h1 rules above (display font, gold, same clamp).
   ================================================================= */
.tc-page-title{font-family:var(--f-display);font-weight:400;letter-spacing:1px;font-size:clamp(30px,4.4vw,44px);color:var(--c-gold)}

/* =================================================================
   MEGA-MENU: WIDE COLUMN
   A column with more than 18 entries (the Brands list) gets .tc-mc--wide
   from header.php and flows into two sub-columns, so the dropdown stays
   shorter than the viewport instead of running off the bottom.
   ================================================================= */
/* Anchor the mega-menu to the header bar, not to the narrow "Categories" item.
   Centred on that item, a 4-column panel ran ~56px off the left edge at the
   1101px breakpoint. #tc-mainbar is position:sticky, so making the item static
   hands the containing block to the bar and the panel centres on the viewport.
   This also drops the panel below the full header instead of overlapping the logo. */
@media(min-width:1101px){
  #tc-nav>li.tc-has-mega{position:static}
}
.tc-mega .tc-mc--wide{flex:0 0 380px}
.tc-mega .tc-mc--wide>ul{column-count:2;column-gap:20px}
.tc-mega .tc-mc--wide>ul>li{break-inside:avoid}
