/* ==========================================================================
   Jaza's Organic — theme styles (botanical apothecary)
   ========================================================================== */
@font-face { font-family:"Cormorant"; src:url("../fonts/cormorant.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"JostX"; src:url("../fonts/jost.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }

:root{
  --paper:#F3EFE4; --panel:#E9E3D3; --card:#FBFAF3; --ink:#1B2620; --muted:#5A6459; --line:#DBD4C2;
  --forest:#14402B; --forest-deep:#0E2C1E; --cream:#F1ECDD;
  --gold:#B4906A; --gold-ink:#9A7444; --gold-bright:#C7A574;
  --btn-bg:var(--forest); --btn-fg:#FBFAF3; --btn-hover:var(--gold-ink);
  --heading:var(--forest); --price:var(--forest); --link:var(--gold-ink);
  --shadow:0 18px 40px -18px rgba(20,64,43,.35);
  --serif:"Cormorant",Georgia,"Times New Roman",serif;
  --sans:"JostX",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#0F281C; --panel:#0C2016; --card:#163726; --ink:#EEE7D6; --muted:#A6B2A2; --line:#274035;
    --gold-ink:#CBA877; --btn-bg:var(--gold); --btn-fg:#0F281C; --btn-hover:var(--gold-bright);
    --heading:#ECE5D4; --price:var(--gold-bright); --link:var(--gold-bright);
    --shadow:0 18px 40px -18px rgba(0,0,0,.6);
  }
}

*{box-sizing:border-box;}
body{ margin:0; font-family:var(--sans); background:var(--paper); color:var(--ink); line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img{max-width:100%; height:auto; display:block;}
a{color:var(--link); text-decoration:none;}
a:hover{color:var(--gold-ink);}
h1,h2,h3,h4{font-family:var(--serif); font-weight:500; line-height:1.06; margin:0; text-wrap:balance;}
p{margin:0;}
.jz-wrap{width:min(var(--wrap),92vw); margin-inline:auto;}
.jz-eyebrow{font-family:var(--sans); text-transform:uppercase; letter-spacing:.24em; font-size:.72rem; color:var(--gold-ink); font-weight:400; display:inline-block;}
.screen-reader-text{position:absolute!important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

/* buttons — my markup + WooCommerce */
.jz-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button,
.wp-block-button__link, .wc-block-components-button{
  font-family:var(--sans)!important; display:inline-flex; align-items:center; gap:.5em; cursor:pointer;
  border:1px solid var(--btn-bg); background:var(--btn-bg)!important; color:var(--btn-fg)!important; border-radius:2px;
  padding:.85em 1.7em; font-size:.86rem; letter-spacing:.06em; text-transform:uppercase; font-weight:400;
  text-decoration:none; transition:background .2s,border-color .2s,color .2s; line-height:1.2;}
.jz-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce .button:hover,
.wp-block-button__link:hover, .wc-block-components-button:hover{
  background:var(--btn-hover)!important; border-color:var(--btn-hover)!important; color:#fff!important;}
.jz-btn--ghost{background:transparent!important; color:var(--cream)!important; border-color:rgba(241,236,221,.5);}
.jz-btn--ghost:hover{background:var(--cream)!important; color:var(--forest)!important; border-color:var(--cream);}
.jz-btn--outline{background:transparent!important; color:var(--ink)!important; border-color:var(--line);}
.jz-btn--outline:hover{background:var(--forest)!important; border-color:var(--forest); color:#fff!important;}
.jz-btn--mini{padding:.55em 1em; font-size:.72rem;}
.woocommerce a.added_to_cart, .woocommerce .button.alt, .woocommerce #respond input#submit.alt{
  background:var(--gold)!important; border-color:var(--gold)!important; color:#fff!important;}
.woocommerce a.added_to_cart:hover, .woocommerce .button.alt:hover{background:var(--forest)!important; border-color:var(--forest)!important;}

/* announcement + header */
.jz-topbar{background:var(--forest-deep); color:var(--cream); text-align:center; font-size:.74rem;
  letter-spacing:.16em; text-transform:uppercase; padding:9px 12px;}
.jz-topbar b{color:var(--gold-bright); font-weight:400;}
.jz-header{position:sticky; top:0; z-index:30; background:color-mix(in srgb,var(--paper) 90%,transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.jz-header__in{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:1rem;}
.jz-brand{display:flex; align-items:center; gap:.7rem;}
.jz-brand__logo{height:50px!important; width:auto!important;}
.jz-brand__sub{font-family:var(--sans); font-size:.6rem; line-height:1.3; letter-spacing:.26em; text-transform:uppercase;
  color:var(--gold-ink); padding-left:.7rem; border-left:1px solid var(--line);}
.jz-header__right{display:flex; align-items:center; gap:1.4rem;}
.jz-nav{display:flex; align-items:center; gap:1.8rem; margin:0;}
.jz-nav ul{display:flex; align-items:center; gap:1.8rem; list-style:none; margin:0; padding:0;}
.jz-nav a{font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); opacity:.82;}
.jz-nav a:hover, .jz-nav .current-menu-item > a{opacity:1; color:var(--gold-ink);}
.jz-cart{display:inline-flex; align-items:center; gap:.5em; border:1px solid var(--line); border-radius:2px; padding:.5em .9em; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink); white-space:nowrap;}
.jz-cart:hover{border-color:var(--gold); color:var(--gold-ink);}
.jz-cart__icon{width:18px; height:18px; flex:none;}
.jz-navtoggle{display:none; background:none; border:0; cursor:pointer; padding:.4em; color:var(--ink);}
@media (max-width:900px){
  .jz-navtoggle{display:inline-flex;}
  .jz-nav{position:absolute; top:100%; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line);
    flex-direction:column; align-items:flex-start; gap:0; padding:1rem 4vw; display:none;}
  .jz-nav.is-open{display:flex;}
  .jz-nav ul{flex-direction:column; align-items:flex-start; gap:0; width:100%;}
  .jz-nav li{width:100%; border-top:1px solid var(--line);}
  .jz-nav a{display:block; padding:.85rem 0;}
}

/* forest panels */
.jz-forest{background:var(--forest); color:var(--cream); position:relative; overflow:hidden;}
.jz-forest .jz-eyebrow{color:var(--gold-bright);}

/* hero — full-bleed product image with a left-to-right dark gradient */
.jz-hero{position:relative; padding:0; background:var(--forest-deep) center/cover no-repeat;
  display:flex; flex-direction:column; justify-content:flex-end; min-height:min(86vh,760px);}
.jz-hero::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(14,44,30,.97) 0%, rgba(14,44,30,.93) 28%, rgba(14,44,30,.62) 52%, rgba(14,44,30,.18) 78%, rgba(14,44,30,0) 100%);}
.jz-hero__inner{position:relative; z-index:2; flex:1; display:flex; align-items:center; padding:clamp(3.5rem,7vw,6rem) 0;}
.jz-hero__content{width:100%; max-width:min(540px,42vw);}
.jz-hero h1{font-size:clamp(2.7rem,5.2vw,4.8rem); letter-spacing:-.01em; margin:.5rem 0 0; color:var(--cream);}
.jz-hero h1 em{font-style:italic; color:var(--gold-bright);}
.jz-hero__lead{color:rgba(241,236,221,.9); max-width:46ch; margin-top:1.4rem; font-size:1.05rem;}
.jz-hero__cta{display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem;}
@media (max-width:820px){
  .jz-hero{min-height:auto;}
  .jz-hero::before{background:linear-gradient(180deg, rgba(14,44,30,.9) 0%, rgba(14,44,30,.6) 45%, rgba(14,44,30,.4) 70%, rgba(14,44,30,.72) 100%);}
  .jz-hero__content{max-width:none;}
  /* portrait hero image on phones (only when using the bundled default) */
  .jz-hero--default{background-image:url("../img/hero-bg-mobile.jpg")!important; background-position:center bottom;}
  .jz-hero--default .jz-hero__inner{padding-bottom:clamp(14rem,52vw,20rem);}
}

/* trust strip */
.jz-trust{position:relative; z-index:2; border-top:1px solid rgba(241,236,221,.16); background:rgba(11,32,22,.5);}
.jz-trust__in{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0; padding:16px 0;}
.jz-trust__item{display:inline-flex; align-items:center; gap:.7em; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(241,236,221,.9); padding:.35rem 1.7rem;}
.jz-trust__item + .jz-trust__item{border-left:1px solid rgba(241,236,221,.2);}
.jz-trust__item svg{width:22px; height:22px; color:var(--gold-bright); flex:none;}
@media (max-width:760px){
  .jz-trust__in{gap:.4rem 0;}
  .jz-trust__item{padding:.45rem 1rem; font-size:.66rem; flex:1 1 44%; justify-content:center;}
  .jz-trust__item + .jz-trust__item{border-left:0;}
}

/* sections */
.jz-section{padding:clamp(3.5rem,7vw,6rem) 0;}
.jz-section--tight{padding-top:0;}
.jz-shead{max-width:60ch; margin-bottom:2.6rem;}
.jz-shead h2{font-size:clamp(2rem,4.2vw,3.1rem); margin-top:.6rem; color:var(--heading);}
.jz-forest .jz-shead h2{color:var(--cream);}
.jz-shead p{color:var(--muted); margin-top:.9rem;}
.jz-headrow{display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;}

/* product grid — my cards + WooCommerce */
.jz-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; list-style:none; margin:0; padding:0;}
@media (max-width:900px){ .jz-grid{grid-template-columns:repeat(2,1fr);} }
.jz-card{background:var(--card); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s;}
.jz-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.jz-card__media{position:relative; background:#fff; aspect-ratio:1; display:block;}
.jz-card__media img{width:100%; height:100%; object-fit:contain; padding:14px; mix-blend-mode:multiply;}
.jz-tag{position:absolute; top:12px; left:12px; background:var(--gold); color:#fff; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; padding:.35em .7em; border-radius:999px; z-index:2;}
.jz-card__body{padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.35rem; flex:1;}
.jz-card__cat{font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-ink);}
.jz-card__name{font-size:1.35rem; line-height:1.15;}
.jz-card__name a{color:var(--ink);}
.jz-card__name a:hover{color:var(--gold-ink);}
.jz-card__foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:.9rem; gap:.6rem;}
.jz-price, .jz-card .price, .woocommerce .price{font-family:var(--sans)!important; font-weight:400; font-size:1.12rem; font-variant-numeric:tabular-nums; color:var(--price);}
.woocommerce .price del{color:var(--muted); font-weight:400; opacity:.7;}
.woocommerce .price ins{text-decoration:none;}

/* categories */
.jz-cats{display:grid; grid-template-columns:1fr 1fr; gap:1.4rem;}
@media (max-width:760px){ .jz-cats{grid-template-columns:1fr;} }
.jz-cat{position:relative; border-radius:8px; overflow:hidden; min-height:400px; display:flex; align-items:flex-end; padding:2.2rem; color:var(--cream); background:var(--forest-deep) center/cover no-repeat;}
.jz-cat::before{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(14,44,30,.12) 0%,rgba(14,44,30,.55) 55%,rgba(11,32,22,.9) 100%);}
.jz-cat__inner{position:relative; z-index:2;}
.jz-cat h3{font-size:2.1rem; color:var(--cream);}
.jz-cat p{color:rgba(241,236,221,.82); font-size:.9rem; margin:.4rem 0 1.1rem; max-width:34ch;}

/* story band */
.jz-story__grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
@media (max-width:820px){ .jz-story__grid{grid-template-columns:1fr;} }
.jz-story h2{font-size:clamp(2rem,4.4vw,3.3rem); margin-top:.6rem; color:var(--cream);}
.jz-story p{color:rgba(241,236,221,.82); margin-top:1.1rem;}
.jz-photo{margin:0; border-radius:8px; overflow:hidden; aspect-ratio:4/5; max-height:520px; border:1px solid rgba(199,165,116,.4); box-shadow:0 30px 60px -24px rgba(0,0,0,.55);}
.jz-photo img{width:100%; height:100%; object-fit:cover;}
.jz-quote{font-family:var(--serif); font-size:clamp(1.5rem,2.7vw,2.1rem); line-height:1.3; color:var(--cream); border-left:2px solid var(--gold); padding-left:1.4rem; margin:1.6rem 0 0;}
.jz-quote span{color:var(--gold-bright);}

/* ingredients */
.jz-ing{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0;}
@media (max-width:760px){ .jz-ing{grid-template-columns:1fr;} }
.jz-ing li{display:flex; gap:1.2rem; padding:1.1rem 0; border-top:1px solid var(--line); align-items:baseline;}
.jz-ing__name{font-family:var(--serif); font-size:1.35rem; color:var(--ink); min-width:34%;}
.jz-ing__desc{color:var(--muted); font-size:.9rem;}

/* reviews / instagram */
.jz-shead--center{text-align:center; margin-inline:auto;}
.jz-reels{display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; align-items:start;}
@media (max-width:900px){ .jz-reels{grid-template-columns:1fr; max-width:400px; margin-inline:auto;} }
.jz-reel{border-radius:12px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:var(--card);}
.jz-reel iframe{width:100%; height:600px; display:block; border:0;}
.jz-reviews__cta{text-align:center; margin-top:2.2rem;}

/* newsletter */
.jz-news{text-align:center;}
.jz-news h2{font-size:clamp(1.9rem,4vw,2.8rem); color:var(--cream);}
.jz-news p{color:rgba(241,236,221,.8); margin:.7rem auto 1.6rem; max-width:44ch;}
.jz-news__form{display:flex; gap:.6rem; max-width:460px; margin-inline:auto; flex-wrap:wrap; justify-content:center;}
.jz-news__form input{flex:1; min-width:220px; background:transparent; border:1px solid rgba(241,236,221,.4); color:var(--cream); padding:.85em 1.1em; border-radius:2px; font-family:var(--sans); font-size:.9rem;}
.jz-news__form input::placeholder{color:rgba(241,236,221,.5);}

/* values (about) */
.jz-values{display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem;}
@media (max-width:900px){ .jz-values{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .jz-values{grid-template-columns:1fr;} }
.jz-value{border-top:2px solid var(--gold); padding-top:1.1rem;}
.jz-value__num{font-family:var(--serif); font-size:1.1rem; color:var(--gold-ink);}
.jz-value h3{font-size:1.5rem; margin:.4rem 0 .5rem; color:var(--heading);}
.jz-value p{color:var(--muted); font-size:.9rem;}

/* about hero + prose */
.jz-abhero{padding:clamp(4.5rem,9vw,8rem) 0 clamp(4rem,7vw,6rem); background:var(--forest-deep) center/cover no-repeat;}
.jz-abhero::before{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(115deg,rgba(11,32,22,.94) 0%,rgba(11,32,22,.78) 42%,rgba(11,32,22,.42) 100%);}
.jz-abhero .jz-wrap{position:relative; z-index:2;}
.jz-abhero h1{font-size:clamp(2.8rem,6vw,5rem); margin-top:.6rem; color:var(--cream);}
.jz-abhero h1 em{font-style:italic; color:var(--gold-bright);}
.jz-abhero__lead{color:rgba(241,236,221,.85); max-width:56ch; margin-top:1.3rem; font-size:1.1rem;}
.jz-split{display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
@media (max-width:820px){ .jz-split{grid-template-columns:1fr;} }
.jz-prose{max-width:64ch;}
.jz-prose p{color:var(--ink); font-size:1.06rem;}
.jz-prose p + p{margin-top:1.2rem;}
.jz-prose .jz-lead{font-family:var(--serif); font-size:1.5rem; line-height:1.4; color:var(--ink);}
.jz-figure{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.jz-figure img{width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:8px; border:1px solid var(--line); box-shadow:0 22px 44px -24px rgba(0,0,0,.5);}

/* contact page */
.jz-contact{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,4vw,3.5rem); align-items:start; margin-top:1rem;}
@media (max-width:820px){ .jz-contact{grid-template-columns:1fr;} }
.jz-contact__info ul{list-style:none; padding:0; margin:0 0 1.6rem; display:grid; gap:1.15rem;}
.jz-contact__info li{display:flex; gap:.9rem; align-items:flex-start; color:var(--ink);}
.jz-contact__info li svg{width:22px; height:22px; color:var(--gold-ink); flex:none; margin-top:3px;}
.jz-contact__info a{color:var(--ink);}
.jz-contact__info a:hover{color:var(--gold-ink);}
.jz-contact__label{display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:.15rem;}
.jz-contact__cta{display:flex; flex-wrap:wrap; gap:.7rem;}
.jz-contact__form{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:clamp(1.4rem,3vw,2.2rem);}
.jz-contact__form h3{font-family:var(--serif); color:var(--heading); font-size:1.6rem; margin:0 0 1.1rem;}
.jz-contact__hint{color:var(--muted); font-size:.95rem;}
.jz-contact__form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.jz-contact__form textarea, .jz-contact__form select{width:100%; background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:.7em .9em; font-family:var(--sans); color:var(--ink); margin-bottom:.9rem;}
.jz-contact__form input[type=submit], .jz-contact__form .wpforms-submit, .jz-contact__form .wpcf7-submit{background:var(--forest)!important; border:1px solid var(--forest)!important; color:#fff!important; border-radius:2px; padding:.85em 1.8em; text-transform:uppercase; letter-spacing:.06em; cursor:pointer;}

/* footer */
.jz-footer{padding:clamp(3rem,5vw,4.5rem) 0 2rem; background:var(--forest-deep); border-top:1px solid rgba(199,165,116,.28);}
.jz-footer__grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2rem;}
@media (max-width:760px){ .jz-footer__grid{grid-template-columns:1fr 1fr;} }
.jz-footer__logo{height:66px!important; width:auto!important; margin-bottom:.5rem;}
.jz-footer__blurb{color:rgba(241,236,221,.7); font-size:.9rem; max-width:34ch;}
.jz-footer h4{font-family:var(--sans); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-bright); margin:0 0 1rem; font-weight:400;}
.jz-footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6rem;}
.jz-footer a{color:rgba(241,236,221,.78); font-size:.9rem;}
.jz-footer a:hover{color:var(--gold-bright);}
.jz-footer__bar{border-top:1px solid rgba(241,236,221,.16); margin-top:2.4rem; padding-top:1.4rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; font-size:.78rem; color:rgba(241,236,221,.6);}

/* ---- WooCommerce shop / archive / single ---- */
.jz-page{padding:clamp(2rem,4vw,3.2rem) 0 clamp(3rem,6vw,5rem);}
.woocommerce .woocommerce-breadcrumb{color:var(--muted); font-size:.82rem; margin:0 0 1.4rem;}
.woocommerce .woocommerce-breadcrumb a{color:var(--gold-ink);}
.jz-page-head{background:var(--forest); color:var(--cream); padding:clamp(2.5rem,5vw,4rem) 0; text-align:center;}
.jz-page-head h1{color:var(--cream); font-size:clamp(2.2rem,4vw,3.2rem);}
.jz-page-head .woocommerce-breadcrumb{color:rgba(241,236,221,.7); font-size:.8rem; margin-top:.6rem;}
.jz-page-head .woocommerce-breadcrumb a{color:var(--gold-bright);}
.woocommerce .woocommerce-result-count{color:var(--muted); font-size:.85rem;}
.woocommerce .woocommerce-ordering select{font-family:var(--sans); padding:.5em; border:1px solid var(--line); border-radius:2px; background:var(--card); color:var(--ink);}
.woocommerce ul.products{display:grid!important; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin:1.6rem 0 0!important;}
/* WooCommerce adds clearfix ::before/::after for its float layout; in a grid they
   become stray grid items that offset the products. Remove them. */
.woocommerce ul.products::before, .woocommerce ul.products::after{content:none!important; display:none!important;}
@media (max-width:900px){ .woocommerce ul.products{grid-template-columns:repeat(2,1fr);} }
.woocommerce ul.products li.product{width:auto!important; margin:0!important; float:none!important; background:var(--card); border:1px solid var(--line); border-radius:6px; overflow:hidden; text-align:left; padding:0; transition:transform .2s,box-shadow .2s;}
.woocommerce ul.products li.product:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.woocommerce ul.products li.product a img{margin:0; background:#fff; aspect-ratio:1; object-fit:contain; padding:14px; mix-blend-mode:multiply;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif); font-size:1.3rem; color:var(--ink); padding:0 1.1rem; font-weight:500;}
.woocommerce ul.products li.product .price{display:block; padding:.3rem 1.1rem 0;}
.woocommerce ul.products li.product .button{margin:.9rem 1.1rem 1.2rem;}
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale{background:var(--gold); color:#fff; border-radius:999px; min-height:auto; min-width:auto; padding:.35em .8em; line-height:1.4; font-size:.7rem;}
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews{border-top-color:var(--gold)!important; background:var(--card);}
.woocommerce-message::before, .woocommerce-info::before{color:var(--gold)!important;}
.woocommerce div.product .product_title{color:var(--heading); font-size:clamp(1.8rem,3vw,2.6rem);}
.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--price); font-size:1.4rem;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--panel); border-color:var(--line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--ink);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--card); background:var(--card);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--heading);}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--line);}
.woocommerce div.product .woocommerce-tabs .panel h2{color:var(--heading);}

/* single product — add to cart + buy now row */
.woocommerce div.product form.cart{display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-bottom:1.4rem;}
.woocommerce div.product form.cart .quantity{margin:0;}
/* quantity stepper ( − [n] + ) */
.woocommerce .quantity.jz-qty{display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--card); height:48px;}
.woocommerce .quantity.jz-qty .qty{width:46px!important; height:46px; min-height:0; text-align:center; border:0!important; background:transparent!important; color:var(--ink); font-family:var(--sans); font-size:1rem; padding:0!important; margin:0!important; box-shadow:none!important; -moz-appearance:textfield; appearance:textfield;}
.woocommerce .quantity.jz-qty .qty::-webkit-outer-spin-button, .woocommerce .quantity.jz-qty .qty::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.jz-qty-btn{width:42px; height:46px; border:0; background:transparent; cursor:pointer; font-size:1.3rem; line-height:1; color:var(--forest); display:inline-flex; align-items:center; justify-content:center; transition:background .15s ease,color .15s ease; font-family:var(--sans); padding:0;}
.jz-qty-btn:hover{background:var(--panel); color:var(--gold-ink);}
.jz-qty-minus{border-right:1px solid var(--line);}
.jz-qty-plus{border-left:1px solid var(--line);}

/* Add to Cart = green (primary); Buy Now = gold (accent). High specificity to beat body.woocommerce .button */
.woocommerce div.product form.cart .single_add_to_cart_button{margin:0; flex:0 0 auto; background:var(--forest)!important; border-color:var(--forest)!important; color:#fff!important;}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--gold-ink)!important; border-color:var(--gold-ink)!important;}
.woocommerce button.jz-buy-now, .woocommerce a.jz-buy-now, .jz-stickybar a.jz-buy-now{background:var(--gold)!important; border-color:var(--gold)!important; color:#fff!important;}
.woocommerce button.jz-buy-now:hover, .woocommerce a.jz-buy-now:hover, .jz-stickybar a.jz-buy-now:hover{background:var(--forest)!important; border-color:var(--forest)!important; color:#fff!important;}
/* Phone: Add to Cart fills line 1 next to the stepper; Buy Now goes full-width on line 2 */
@media (max-width:600px){
  .woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 auto; justify-content:center;}
  .woocommerce div.product form.cart .jz-buy-now{flex:1 0 100%; justify-content:center;}
}
.jz-stickybar .jz-stickybar__atc{background:var(--forest)!important; border-color:var(--forest)!important; color:#fff!important;}
.jz-stickybar .jz-stickybar__atc:hover{background:var(--gold-ink)!important; border-color:var(--gold-ink)!important;}

/* reassurance / trust row */
.jz-prod-trust{list-style:none; display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; margin:.4rem 0 1.4rem; padding:1.1rem 0 0; border-top:1px solid var(--line);}
.jz-prod-trust li{display:inline-flex; align-items:center; gap:.5em; font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);}
.jz-prod-trust svg{width:20px; height:20px; color:var(--gold-ink); flex:none;}

/* sticky add-to-cart bar */
.jz-stickybar{position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--card);
  border-top:1px solid var(--line); box-shadow:0 -10px 30px rgba(0,0,0,.14);
  transform:translateY(115%); transition:transform .3s ease; }
.jz-stickybar.is-visible{transform:translateY(0);}
.jz-stickybar__in{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem 0;}
.jz-stickybar__info{display:flex; align-items:center; gap:.8rem; min-width:0;}
.jz-stickybar__info img{width:48px; height:48px; object-fit:contain; background:#fff; border-radius:6px; flex:none; padding:3px; margin:0;}
.jz-stickybar__meta{display:flex; flex-direction:column; min-width:0;}
.jz-stickybar__name{font-family:var(--serif); font-size:1.05rem; color:var(--ink); line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:42vw;}
.jz-stickybar__price{color:var(--price); font-size:.95rem;}
.jz-stickybar__price .price, .jz-stickybar__price ins, .jz-stickybar__price bdi{color:var(--price)!important;}
.jz-stickybar__actions{display:flex; gap:.6rem; flex:none;}
.jz-stickybar__actions .jz-btn{padding:.8em 1.6em;}
.jz-stickybar .added_to_cart{display:none!important;}
@media (max-width:600px){
  .jz-stickybar__info img{display:none;}
  .jz-stickybar__name{max-width:40vw; font-size:.92rem;}
  .jz-stickybar__actions .jz-btn{padding:.75em 1em; font-size:.72rem;}
}
.woocommerce .star-rating span::before, .woocommerce p.stars a::before{color:var(--gold);}
.woocommerce div.product .images img{border-radius:8px; background:#fff;}

/* product gallery — Amazon style: vertical thumbnails (desktop), swipe + dots (mobile) */
.woocommerce div.product .flex-control-thumbs{list-style:none; padding:0;}
.woocommerce div.product .flex-control-thumbs li{list-style:none;}
.woocommerce div.product .flex-control-thumbs li img{cursor:pointer;}

/* Desktop: thumbnails in a vertical column to the LEFT of the main image.
   The column is capped to the main image height by JS (jz-gallery), so extra
   thumbnails scroll instead of adding white space below. */
@media (min-width:768px){
  .woocommerce div.product .woocommerce-product-gallery{display:flex; flex-direction:row-reverse; align-items:flex-start; gap:14px;}
  .woocommerce div.product .woocommerce-product-gallery .flex-viewport{flex:1 1 auto; min-width:0;}
  .woocommerce div.product .woocommerce-product-gallery__wrapper{margin:0!important;}
  .woocommerce div.product .flex-control-thumbs{display:flex!important; flex-direction:column; width:74px; flex:0 0 74px; gap:8px; margin:0!important;
    scrollbar-width:thin; scrollbar-color:#c9c0ab transparent;}
  .woocommerce div.product .flex-control-thumbs::-webkit-scrollbar{width:5px;}
  .woocommerce div.product .flex-control-thumbs::-webkit-scrollbar-thumb{background:#c9c0ab; border-radius:3px;}
  .woocommerce div.product .flex-control-thumbs li{width:100%!important; float:none!important; margin:0!important;}
  .woocommerce div.product .flex-control-thumbs li img{width:100%!important; height:auto; aspect-ratio:1; object-fit:cover; border-radius:4px; display:block; opacity:.6; transition:opacity .2s ease;}
  .woocommerce div.product .flex-control-thumbs li img.flex-active,
  .woocommerce div.product .flex-control-thumbs li img:hover{opacity:1;}
}

/* Mobile: swipeable slider with dot indicators (thumbnails render as dots) */
@media (max-width:767px){
  .woocommerce div.product .flex-control-thumbs{display:flex!important; justify-content:center; align-items:center; gap:9px; margin:14px 0 0!important; padding:0;}
  .woocommerce div.product .flex-control-thumbs li{width:auto!important; float:none!important; margin:0!important; flex:0 0 auto; line-height:0;}
  .woocommerce div.product .flex-control-thumbs li img{width:0!important; height:0!important; padding:5px!important; aspect-ratio:auto!important; border-radius:50%!important; background:#cfc8b6; object-fit:none!important; opacity:1!important; box-shadow:none;}
  .woocommerce div.product .flex-control-thumbs li img.flex-active{background:var(--gold-ink);}
}

/* flat product sections (replaces the Description/Additional info/Reviews tab slider) */
.jz-prod-sections, .woocommerce div.product .related, .woocommerce div.product .upsells{clear:both;}
.jz-prod-sections{margin-top:clamp(2.5rem,5vw,3.5rem); display:grid; gap:clamp(1.8rem,4vw,2.8rem);}
.jz-prod-section{border-top:1px solid var(--line); padding-top:1.6rem;}
.jz-prod-section > h2, .jz-prod-section h2{font-family:var(--serif); color:var(--heading); font-size:clamp(1.5rem,3vw,2rem); margin:0 0 1rem;}
.jz-prod-section p{margin:0 0 1rem;}
.woocommerce .jz-prod-section table.shop_attributes{border:1px solid var(--line); border-collapse:collapse;}
.woocommerce .jz-prod-section table.shop_attributes th{background:var(--panel); color:var(--ink); font-weight:500;}
.woocommerce .jz-prod-section table.shop_attributes td, .woocommerce .jz-prod-section table.shop_attributes th{border-bottom:1px solid var(--line); padding:.7em 1em;}
.jz-related h2, .woocommerce .related h2, .woocommerce .upsells h2{color:var(--heading);}

/* generic page/post */
.jz-entry{max-width:min(760px,92vw); margin-inline:auto;}
.jz-page .entry-title{color:var(--heading); font-family:var(--serif); font-size:clamp(2rem,4vw,3rem); margin-bottom:1.2rem;}
.jz-entry p{margin:0 0 1.1rem;}
.jz-entry a{color:var(--gold-ink); text-decoration:underline;}

/* Narrow phones: stack price above a full-width button so labels don't wrap awkwardly */
@media (max-width:560px){
  .jz-card__foot{flex-direction:column; align-items:stretch; gap:.7rem;}
  .jz-card__foot .jz-btn--mini{justify-content:center; white-space:nowrap;}
  .woocommerce ul.products li.product .button{white-space:nowrap;}
}

@media (prefers-reduced-motion:reduce){ *{transition:none!important;} }
