/*
Theme Name: Native Smokes
Theme URI: https://example.ca
Author: Native Smokes
Author URI: https://example.ca
Description: Custom WooCommerce block theme for a Native-owned, on-reserve smoke shop. Heritage/Craft direction — deep forest green, brass foil, letterpress framing, serif display. Built for the mail-order shipping model. Edit this theme as code; deploy the folder to your host.
Version: 0.3.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nativesmokes
*/

:root{
  --forest:#16412a; --forest-deep:#0e2a1b; --forest-soft:#1d5236;
  --paper:#efe6d3; --paper-2:#f6efe1; --paper-3:#faf5ea;
  --gold:#c69a3e; --gold-deep:#a97f2c; --clay:#9c4a2c;
  --ink:#221c13; --muted:#6f6656; --line:#ddd0b8; --line-dk:#39432f;
  --serif:"Hoefler Text","Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

body{
  background-color:var(--paper);color:var(--ink);
  font-family:var(--sans);line-height:1.6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
}
a{color:var(--forest);}
h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.005em;line-height:1.12;}
img{max-width:100%;}
/* remove WP default block-gap between header/main/footer so sections sit flush */
.wp-site-blocks > main,.wp-site-blocks > footer{margin-block-start:0;}
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;}

/* ---------- buttons (WooCommerce + blocks) ---------- */
.wp-element-button,.wp-block-button__link,.button,
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.woocommerce #respond input#submit{
  background:var(--forest)!important;color:#f3ead7!important;border:0;border-radius:2px;
  font-family:var(--sans);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.72em 1.35em;transition:background .15s ease,transform .12s ease;text-decoration:none;
}
.wp-element-button:hover,.wp-block-button__link:hover,.button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover{background:var(--forest-soft)!important;}

/* ---------- promo bar ---------- */
.ns-promo{
  background:var(--forest-deep);color:#e8dcc0;
  font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  padding:.55rem 0;border-bottom:1px solid #143120;overflow:hidden;white-space:nowrap;
}
.ns-promo b{color:var(--gold);}
.ns-promo .dot{color:var(--gold);margin:0 .5rem;}
.ns-promo__track{display:inline-flex;white-space:nowrap;will-change:transform;animation:ns-marquee 34s linear infinite;}
.ns-promo__item{padding:0 1.3rem;}
.ns-promo:hover .ns-promo__track{animation-play-state:paused;}
@keyframes ns-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ns-promo{white-space:normal;text-align:center;padding:.55rem 1rem;}.ns-promo__track{animation:none;display:block;}.ns-promo__item[aria-hidden]{display:none;}}

/* ---------- masthead ---------- */
.ns-header{background:var(--forest);color:#f3ead7;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:50;}
.ns-header a{color:#e4d9c1;text-decoration:none;}
.ns-header__inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.95rem 1.4rem;}
.ns-brand{display:flex;align-items:center;gap:.85rem;}
.ns-brand__seal{width:44px;height:44px;flex:none;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold);
  display:grid;place-items:center;font-family:var(--serif);font-size:1.15rem;line-height:1;}
.ns-brand__name{font-family:var(--serif);font-size:1.5rem;letter-spacing:.02em;color:#f6eeda;line-height:1;}
.ns-brand__name small{display:block;font-family:var(--sans);font-size:.6rem;font-weight:700;letter-spacing:.34em;color:var(--gold);margin-top:.28rem;text-transform:uppercase;}
.ns-header .ns-logo{height:84px;width:auto;max-width:none;display:block;background:#f4ecd9;border-radius:9px;padding:9px 18px;box-shadow:0 2px 6px rgba(0,0,0,.18);}
.ns-nav{display:flex;align-items:center;gap:1.5rem;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;}
.ns-nav a{padding:.2rem 0;border-bottom:1.5px solid transparent;transition:border-color .15s,color .15s;}
.ns-nav a:hover{color:#fff;border-color:var(--gold);}
.ns-nav__deal{color:var(--gold);font-weight:800;}
.ns-nav__deal:hover{color:var(--gold);}
.ns-header__right{display:flex;align-items:center;gap:.7rem;}
.ns-cart{display:inline-flex;align-items:center;gap:.45rem;background:var(--gold)!important;color:#241c07!important;
  padding:.5rem .9rem;border-radius:2px;font-size:.74rem;letter-spacing:.1em;font-weight:800;text-transform:uppercase;}
.ns-cart:hover{background:#d8ac52!important;border-color:transparent!important;}
.ns-cart svg{width:15px;height:15px;}
.ns-cart__count{display:none;}
.ns-cart__count.has-items{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;margin-left:.15rem;background:var(--clay);color:#fff;border-radius:999px;font-size:.64rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;}
/* prominent e-Transfer callout on order-received page */
.ns-etransfer{max-width:620px;margin:0 auto 2rem;background:var(--forest);color:#f0e6d0;border:2px solid var(--gold);border-radius:10px;padding:1.7rem 1.6rem;text-align:center;box-shadow:0 10px 30px rgba(14,42,27,.2);}
.ns-etransfer__eyebrow{font-family:var(--sans);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.ns-etransfer h2{color:#f8efda;margin:.5rem 0 .6rem;font-size:1.55rem;}
.ns-etransfer__lead{color:#d6cab0;margin:.4rem 0;font-size:1rem;}
.ns-etransfer__email{margin:.9rem 0;}
.ns-etransfer__email a{font-family:var(--serif);font-size:1.6rem;color:#221806;background:var(--gold);border-radius:6px;padding:.5rem 1.1rem;display:inline-block;text-decoration:none;word-break:break-word;}
.ns-etransfer__note{color:#f4ecd8;background:rgba(198,154,62,.14);border:1px dashed var(--gold);border-radius:6px;padding:.7rem .9rem;margin:.9rem 0;font-size:.95rem;}
.ns-etransfer__ship{color:#a9b8a5;font-size:.88rem;margin:.5rem 0 0;}
/* hamburger (mobile only) */
.ns-burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;color:#f3ead7;cursor:pointer;border:1.5px solid rgba(232,220,192,.35);border-radius:2px;}
.ns-burger:hover{border-color:var(--gold);color:#fff;}
.ns-burger svg{width:22px;height:22px;}
.ns-burger__close{display:none;}
.ns-menu-toggle:checked ~ .ns-header__right .ns-burger__open{display:none;}
.ns-menu-toggle:checked ~ .ns-header__right .ns-burger__close{display:block;}
/* header product search */
.ns-header .ns-search-btn,.ns-header .ns-account{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 !important;color:#e4d9c1;cursor:pointer;border:1.5px solid rgba(232,220,192,.3);border-radius:2px;box-sizing:border-box;}
.ns-search-btn:hover,.ns-account:hover{border-color:var(--gold);color:#fff;}
.ns-search-btn svg{width:19px;height:19px;}
.ns-account svg{width:20px;height:20px;}
.ns-search{display:none;background:var(--forest-deep);border-top:1px solid rgba(198,154,62,.22);}
.ns-search-toggle:checked ~ .ns-search{display:block;}
.ns-search form{max-width:1140px;margin:0 auto;display:flex;gap:.6rem;padding:1rem 1.4rem;}
.ns-search input[type=search]{flex:1;min-width:0;padding:.75rem 1rem;border:1px solid var(--line-dk);border-radius:4px;background:#fff;color:var(--ink);font-size:1rem;font-family:var(--sans);}
.ns-search input[type=search]:focus{outline:2px solid var(--gold);outline-offset:1px;}
.ns-search button{background:var(--gold);color:#241c07;border:0;border-radius:4px;padding:0 1.4rem;font-family:var(--sans);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}
.ns-search button:hover{background:#d8ac52;}

/* Live search-as-you-type dropdown */
.ns-live{max-width:1140px;margin:0 auto;padding:0 1.4rem 1.1rem;}
.ns-live[hidden]{display:none;}
.ns-live__card{background:var(--paper-3);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.4);}
.ns-live__item{display:flex;align-items:center;gap:.85rem;padding:.6rem .9rem;text-decoration:none;border-bottom:1px solid var(--line);}
.ns-live__item:last-of-type{border-bottom:0;}
.ns-live__item:hover,.ns-live__item.is-active{background:var(--paper);}
.ns-live__thumb{flex:none;width:46px;height:46px;border-radius:4px;background:#fff center/contain no-repeat;border:1px solid var(--line);}
.ns-live__name{flex:1;min-width:0;color:var(--ink);font-family:var(--serif);font-size:1rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ns-live__price{flex:none;color:var(--forest);font-family:var(--sans);font-weight:800;font-size:.9rem;}
.ns-live__all{display:block;width:100%;text-align:left;background:var(--forest);color:#f3ead7;border:0;cursor:pointer;padding:.7rem .95rem;font-family:var(--sans);font-weight:800;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;}
.ns-live__all:hover{background:var(--forest-soft);}
.ns-live__loading,.ns-live__empty{padding:1rem .95rem;color:var(--muted);font-family:var(--sans);font-size:.9rem;}

/* ---------- mega menu (Shop dropdown) ---------- */
.ns-nav__item{position:static;}
.ns-nav__top{display:inline-flex;align-items:center;gap:.3rem;}
.ns-caret{display:inline-flex;align-items:center;cursor:pointer;color:#e4d9c1;}
.ns-caret svg{width:13px;height:13px;transition:transform .2s ease;}
.ns-has-mega:hover .ns-caret svg{transform:rotate(180deg);}
.ns-mega{
  position:absolute;left:0;right:0;top:100%;z-index:60;
  background:var(--paper-3);color:var(--ink);
  border-top:1px solid var(--line);border-bottom:3px solid var(--gold);
  box-shadow:0 26px 44px rgba(16,26,18,.24);
  opacity:0;visibility:hidden;transform:translateY(6px);
  /* close delay: gives the cursor time to cross the gap between "Shop" and the panel */
  transition:opacity .16s ease .35s,transform .16s ease .35s,visibility 0s linear .51s;
}
.ns-mega::before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px;}
.ns-has-mega:hover .ns-mega,.ns-has-mega:focus-within .ns-mega{opacity:1;visibility:visible;transform:none;transition-delay:0s;}
.ns-mega__in{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;padding:2rem 1.4rem 1.5rem;}
.ns-mega__h{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);font-weight:800;margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid var(--line);}
.ns-mega a,.ns-soon{display:block;padding:.48rem 0;border-bottom:0!important;text-transform:none;letter-spacing:normal;font-weight:400;}
.ns-mega a{color:var(--ink);}
.ns-mega a b,.ns-soon b{display:block;font-family:var(--serif);font-size:1.02rem;font-weight:600;color:var(--forest);}
.ns-mega a span,.ns-soon span{display:block;font-size:.78rem;color:var(--muted);line-height:1.35;}
.ns-mega a:hover{color:var(--ink);}
.ns-mega a:hover b{color:var(--clay);}
.ns-soon{cursor:default;}
.ns-soon b{color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.ns-soon b::after{content:"Soon";font-family:var(--sans);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--gold-deep);padding:.14rem .42rem;border-radius:2px;font-weight:700;}
.ns-mega__foot{display:block;background:var(--paper-2);border-top:1px solid var(--line);text-align:center;padding:.9rem 1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--forest);}
.ns-mega__foot:hover{color:var(--clay);}

/* ---------- hero ---------- */
.ns-hero{background:var(--forest);color:#f4ead5;position:relative;overflow:hidden;}
.ns-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% -10%,rgba(255,255,255,.06),transparent 60%);pointer-events:none;}
.ns-hero__in{position:relative;max-width:820px;margin:0 auto;padding:4.4rem 1.4rem 4.8rem;text-align:center;}
.ns-frame{border:1px solid rgba(198,154,62,.55);padding:2.8rem 1.6rem 3rem;position:relative;}
.ns-frame::before,.ns-frame::after{content:"";position:absolute;left:12px;right:12px;height:1px;background:rgba(198,154,62,.35);}
.ns-frame::before{top:8px;} .ns-frame::after{bottom:8px;}
.ns-corner{position:absolute;width:12px;height:12px;border:1px solid var(--gold);}
.ns-corner.tl{top:-1px;left:-1px;border-right:0;border-bottom:0;}
.ns-corner.tr{top:-1px;right:-1px;border-left:0;border-bottom:0;}
.ns-corner.bl{bottom:-1px;left:-1px;border-right:0;border-top:0;}
.ns-corner.br{bottom:-1px;right:-1px;border-left:0;border-top:0;}
.ns-hero .eyebrow{color:#dcb55f;display:inline-block;}
.ns-hero .eyebrow .dot{opacity:.6;margin:0 .5rem;}
.ns-hero__title{font-size:clamp(2.5rem,6.2vw,4.3rem);color:#f8efdb!important;margin:1.15rem 0 0;font-weight:600;line-height:1.08;}
.ns-hero__title em{font-style:italic;color:var(--gold);}
.ns-hero__sub{max-width:46ch;margin:1.15rem auto 0;color:#dcd0b6;font-size:1.06rem;line-height:1.65;}
.ns-hero__cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:1.9rem;}
.ns-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:800;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:.85rem 1.7rem;border-radius:2px;border:1.5px solid transparent;transition:transform .12s ease,background .15s,color .15s;text-decoration:none;}
.ns-btn:active{transform:translateY(1px);}
.ns-btn--gold{background:var(--gold);color:#221806;}
.ns-btn--gold:hover{background:#d8ac52;}
.ns-btn--ghost{border-color:rgba(232,220,192,.5);color:#ece1c8;}
.ns-btn--ghost:hover{border-color:var(--gold);color:#fff;}
.ns-hero__note{margin-top:1.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9fb0a0;}

/* ---------- trust strip ---------- */
.ns-trust{background:var(--forest-deep);border-top:1px solid #143120;}
.ns-trust__grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.ns-trust__grid>div{display:flex;gap:.85rem;align-items:flex-start;padding:1.5rem 1.4rem;border-right:1px solid rgba(198,154,62,.14);color:#e7dcc4;}
.ns-trust__grid>div:last-child{border-right:0;}
.ns-trust svg{width:26px;height:26px;flex:none;stroke:var(--gold);color:var(--gold);}
.ns-trust b{display:block;font-size:.92rem;color:#f4ecd8;letter-spacing:.01em;margin-bottom:.15rem;}
.ns-trust span{font-size:.78rem;color:#a9b8a5;line-height:1.45;display:block;}

/* ---------- section headings ---------- */
.ns-wrap{max-width:1140px;margin:0 auto;padding:4.4rem 1.4rem;}
.ns-sechead{text-align:center;max-width:60ch;margin:0 auto 2.4rem;}
.ns-sechead .eyebrow{color:var(--clay);}
.ns-sechead h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin:.7rem 0 0;}
.ns-rule{width:64px;height:2px;background:var(--gold);margin:1rem auto 0;position:relative;}
.ns-rule::before,.ns-rule::after{content:"";position:absolute;top:50%;width:5px;height:5px;background:var(--gold);border-radius:50%;transform:translateY(-50%) rotate(45deg);}
.ns-rule::before{left:-12px;} .ns-rule::after{right:-12px;}
.ns-sechead p{color:var(--muted);margin:.9rem auto 0;font-size:1rem;}

/* ---------- category tiles ---------- */
.ns-cats{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.ns-cats a{display:block;background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:1.6rem 1.5rem;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s;text-decoration:none;color:var(--ink);}
.ns-cats a::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--forest);opacity:.85;}
.ns-cats a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(34,28,19,.13);border-color:var(--gold);}
.ns-cats .kicker{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);font-weight:700;}
.ns-cats h3{font-size:1.5rem;margin:.5rem 0 .35rem;}
.ns-cats p{margin:0;color:var(--muted);font-size:.9rem;}
.ns-cats .go{margin-top:1rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--forest);display:inline-flex;gap:.4rem;align-items:center;}
.ns-cats .count{position:absolute;top:1.2rem;right:1.3rem;font-family:var(--serif);font-size:1.05rem;color:var(--line);}
/* image tiles */
.ns-cats a.has-img{padding:0;display:flex;flex-direction:column;}
.ns-cats a.has-img::after{display:none;}
.ns-cat__img{height:160px;flex:none;background:#fff center/contain no-repeat;border-bottom:1px solid var(--line);transition:transform .2s ease;}
.ns-cats a.has-img:hover .ns-cat__img{transform:scale(1.04);}
.ns-cat__body{padding:1.35rem 1.45rem;}
.ns-cat__body .go{margin-top:.9rem;}
.ns-sechead__h{display:block;font-family:var(--serif);font-weight:600;line-height:1.12;font-size:clamp(1.9rem,3.6vw,2.7rem);margin:.7rem 0 0;color:var(--ink);}
.ns-cat__title{display:block;font-family:var(--serif);font-weight:600;line-height:1.12;font-size:1.5rem;margin:.5rem 0 .35rem;color:var(--ink);}
.ns-cat__desc{display:block;margin:0;color:var(--muted);font-size:.9rem;}

/* ---------- WooCommerce product grid (matches card look) ---------- */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  background:#fff;border:1px solid var(--line);border-radius:4px;padding:0;overflow:hidden;
  box-sizing:border-box;transition:box-shadow .15s,transform .15s;text-align:left;
  display:flex;flex-direction:column;
}
.woocommerce ul.products li.product:hover{box-shadow:0 14px 30px rgba(34,28,19,.12);transform:translateY(-3px);}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;padding:16px;box-sizing:border-box;border-radius:0;margin:0 0 .8rem;border-bottom:1px solid var(--line);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--serif);font-size:1.12rem;font-weight:600;line-height:1.2;padding:0 1rem;color:var(--ink);
}
.woocommerce ul.products li.product .price{color:var(--ink)!important;font-family:var(--serif);font-size:1.28rem;font-weight:600;padding:.35rem 1rem 0;display:block;font-variant-numeric:tabular-nums;}
.woocommerce ul.products li.product .price del{color:var(--muted)!important;font-size:.9rem;font-weight:400;}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--clay)!important;}
.woocommerce ul.products li.product .button{margin:.8rem 1rem 1.1rem;display:inline-block;align-self:flex-start;}
.woocommerce ul.products li.product .onsale{background:var(--clay);color:#fbeede;border-radius:2px;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;min-height:0;min-width:0;padding:.25rem .5rem;line-height:1.4;}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:1.2rem;color:var(--muted);}
/* Styled sort dropdown to match the design */
.woocommerce-ordering select{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--ink);padding:.6rem 2.2rem .6rem .95rem;border:1.5px solid var(--line);border-radius:4px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23c69a3e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .8rem center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .15s;}
.woocommerce-ordering select:hover{border-color:var(--gold);}
.woocommerce-ordering select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}

/* ---------- breadcrumb ---------- */
.woocommerce-breadcrumb,.wc-block-breadcrumbs{font-size:.78rem;letter-spacing:.03em;color:var(--muted);margin-bottom:1.4rem;text-transform:uppercase;}
.woocommerce-breadcrumb a,.wc-block-breadcrumbs a{color:var(--forest);text-decoration:none;}
.woocommerce-breadcrumb a:hover,.wc-block-breadcrumbs a:hover{color:var(--clay);}

/* ---------- shop pagination ---------- */
.woocommerce-pagination,.wp-block-query-pagination{margin:2.8rem 0 1rem!important;display:flex;justify-content:center;align-items:center;gap:.4rem;flex-wrap:wrap;}
.woocommerce-pagination ul{border:0!important;margin:0;display:flex;gap:.4rem;flex-wrap:wrap;}
.woocommerce-pagination li{border:0!important;margin:0!important;}
.page-numbers{display:inline-flex!important;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 .6rem;border:1px solid var(--line);border-radius:5px;background:var(--paper-2);color:var(--forest)!important;font-family:var(--sans);font-weight:700;font-size:.92rem;font-variant-numeric:tabular-nums;text-decoration:none;transition:border-color .15s,color .15s,background .15s;}
a.page-numbers:hover{border-color:var(--gold);color:var(--clay)!important;background:#fff;}
.page-numbers.current{background:var(--forest)!important;color:#f3ead7!important;border-color:var(--forest);}
.page-numbers.dots{border:0;background:none;min-width:1.4rem;color:var(--muted)!important;}
.wp-block-query-pagination-previous,.wp-block-query-pagination-next,.woocommerce-pagination a.prev,.woocommerce-pagination a.next{
  display:inline-flex;align-items:center;gap:.45rem;height:42px;padding:0 1.05rem;border:1px solid var(--line);border-radius:5px;
  background:var(--paper-2);color:var(--forest)!important;font-family:var(--sans);font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:border-color .15s,color .15s,background .15s;
}
.wp-block-query-pagination-previous:hover,.wp-block-query-pagination-next:hover,.woocommerce-pagination a.prev:hover,.woocommerce-pagination a.next:hover{border-color:var(--gold);color:var(--clay)!important;background:#fff;}
.wp-block-query-pagination-previous::before,.woocommerce-pagination a.prev::before{content:"←";font-size:1rem;}
.wp-block-query-pagination-next::after,.woocommerce-pagination a.next::after{content:"→";font-size:1rem;}

/* ---------- shop category bar ---------- */
.ns-catbar{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.8rem;padding:0 0 1.5rem;border-bottom:1px solid var(--line);}
.ns-catbar__pill{display:inline-block;padding:.5rem 1.05rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);color:var(--forest);font-family:var(--sans);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .15s,color .15s,border-color .15s;}
.ns-catbar__pill:hover{border-color:var(--gold);color:var(--clay);}
.ns-catbar__pill.is-active{background:var(--forest);color:#f3ead7;border-color:var(--forest);}

/* ---------- single product ---------- */
.single-product div.product{padding-top:1rem;}
.single-product .product_title,.single-product .wp-block-post-title{font-size:clamp(1.9rem,3.2vw,2.6rem);color:var(--ink);margin:0 0 .5rem;line-height:1.1;}
.woocommerce-product-gallery{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.4rem;box-sizing:border-box;}
.woocommerce-product-gallery__image img{border-radius:4px;aspect-ratio:1/1;object-fit:contain;background:#fff;}
.woocommerce-product-gallery__trigger{top:1.8rem;right:1.8rem;}

/* price */
.single-product .wp-block-woocommerce-product-price,
.single-product div.product p.price,
.single-product div.product .price{
  font-family:var(--serif)!important;color:var(--ink)!important;
  font-size:2rem!important;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;margin:.3rem 0 1rem;
}
.single-product div.product .price del{color:var(--muted)!important;font-size:1.2rem;font-weight:400;opacity:.8;}
.single-product div.product .price ins{color:var(--clay)!important;text-decoration:none;}

/* short description */
.woocommerce-product-details__short-description,.wp-block-woocommerce-product-summary{font-size:1.05rem;color:var(--ink);line-height:1.6;margin-bottom:1.3rem;}

/* buy box */
.single-product form.cart{
  background:var(--paper-2);border:1px solid var(--line);border-radius:6px;
  padding:1.15rem 1.25rem;margin:0 0 1.3rem;box-sizing:border-box;
}
.single-product form.cart .quantity{display:inline-block;vertical-align:middle;margin-right:.7rem;}
.single-product form.cart .quantity input.qty{
  width:72px;height:50px;text-align:center;border:1px solid var(--line);border-radius:4px;background:#fff;
  font-size:1.05rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;
}
.single-product .single_add_to_cart_button{height:50px;padding:0 1.7rem!important;font-size:.8rem!important;vertical-align:middle;}
/* variable product variations */
.single-product table.variations{margin:0 0 1rem;border:0;}
.single-product table.variations td,.single-product table.variations th{border:0;padding:.3rem 0;background:none;}
.single-product table.variations th.label label{font-family:var(--sans);font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);}
.single-product table.variations select{min-height:46px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 .7rem;font-size:.98rem;color:var(--ink);}
.single-product .woocommerce-variation-price .price{font-size:1.6rem!important;margin:.4rem 0 .8rem;}
.single-product .reset_variations{font-size:.8rem;color:var(--muted);}

/* rewards / points */
.ns-points{background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:6px;padding:1.3rem 1.4rem;margin:0 0 2rem;}
.ns-points__bal{font-family:var(--serif);font-size:1.05rem;color:var(--ink);}
.ns-points__n{font-size:1.7rem;font-weight:600;color:var(--forest);vertical-align:-2px;}
.ns-points__rule{color:var(--muted);font-size:.9rem;margin:.4rem 0 .8rem;}
.ns-points__need{color:var(--clay);font-size:.86rem;margin:.4rem 0 0;font-weight:700;}
.ns-earn{color:var(--clay);font-weight:700;font-size:.84rem;margin:.2rem 0 1rem;letter-spacing:.02em;}
.ns-earn__pts,.ns-earn__val{font-variant-numeric:tabular-nums;}
.ns-earn__val{color:var(--forest);}
.ns-earn__rate{color:var(--muted);font-weight:600;}

/* ============ Homepage FAQ accordion ============ */
.ns-faq{padding:.5rem 0 4rem;}
.ns-faq__list{max-width:820px;margin:1.6rem auto 0;padding:0 1.4rem;}
.ns-faq__item{border-bottom:1px solid var(--line);}
.ns-faq__q{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem .2rem;font-family:var(--serif);font-size:1.12rem;color:var(--forest);}
.ns-faq__q::-webkit-details-marker{display:none;}
.ns-faq__q:hover{color:var(--gold-deep);}
.ns-faq__icon{position:relative;flex:none;width:16px;height:16px;}
.ns-faq__icon::before,.ns-faq__icon::after{content:"";position:absolute;background:var(--gold);border-radius:2px;transition:transform .2s ease;}
.ns-faq__icon::before{top:7px;left:0;width:16px;height:2px;}
.ns-faq__icon::after{top:0;left:7px;width:2px;height:16px;}
.ns-faq__item[open] .ns-faq__icon::after{transform:scaleY(0);}
.ns-faq__a{padding:0 .2rem 1.3rem;color:var(--muted);line-height:1.65;max-width:72ch;}

/* ============ Bulk tier pricing (product page) ============ */
.ns-bulk{margin:0 0 1.3rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:6px;background:var(--paper-3);}
.ns-bulk__lead{display:block;font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-bottom:.6rem;}
.ns-bulk__tiers{display:flex;gap:.5rem;flex-wrap:wrap;}
.ns-bulk__tier{flex:1;min-width:78px;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .4rem;border:1.5px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);cursor:pointer;font-family:var(--sans);transition:border-color .15s,background .15s,color .15s;}
.ns-bulk__tier b{font-size:1rem;font-weight:800;}
.ns-bulk__tier em{font-style:normal;font-size:.72rem;color:var(--muted);letter-spacing:.02em;}
.ns-bulk__tier:hover{border-color:var(--gold);}
.ns-bulk__tier.is-active{border-color:var(--forest);background:var(--forest);color:#f3ead7;}
.ns-bulk__tier.is-active em{color:var(--gold);}
.ns-bulk__save{margin:.7rem 0 0;font-family:var(--sans);font-size:.86rem;color:var(--forest);font-weight:600;}
.ns-bulk__save b{color:var(--clay);}
.ns-bulk__save[hidden]{display:none;}

/* Variation pills (replaces the Size dropdown) */
.ns-select-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.ns-swatch{display:flex;flex-wrap:wrap;gap:.5rem;}
.ns-swatch__opt{padding:.7rem 1.4rem;border:1.5px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-family:var(--sans);font-weight:700;font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
.ns-swatch__opt:hover{border-color:var(--gold);}
.ns-swatch__opt.is-active{border-color:var(--forest);background:var(--forest);color:#f3ead7;}

/* ============ Mix & Match — Build Your Box ============ */
.ns-boxhero{text-align:center;padding:3rem 1.4rem 1.5rem;}
.ns-boxhero__title{font-family:var(--serif);font-size:clamp(2.1rem,5vw,3rem);color:var(--forest);margin:.5rem 0 0;}
.ns-boxhero__sub{color:var(--muted);font-size:1.05rem;max-width:56ch;margin:.9rem auto 0;line-height:1.6;}
.ns-boxtypes{display:flex;justify-content:center;gap:.5rem;max-width:1140px;margin:0 auto 1.6rem;padding:0 1.4rem;}
.ns-boxtype{padding:.65rem 1.7rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--forest);font-family:var(--sans);font-weight:800;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
.ns-boxtype:hover{border-color:var(--gold);}
.ns-boxtype.is-active{background:var(--forest);border-color:var(--forest);color:#f3ead7;}
.ns-box[hidden]{display:none;}
.ns-box__empty{grid-column:1/-1;color:var(--muted);text-align:center;padding:2rem;}
.ns-box{max-width:1140px;margin:0 auto;padding:1rem 1.4rem 6rem;}
.ns-box__tiers{display:flex;gap:.8rem;flex-wrap:wrap;margin:0 0 1.8rem;}
.ns-box__tier{flex:1;min-width:150px;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:1rem;border:1.5px solid var(--line);border-radius:6px;background:var(--paper-3);cursor:pointer;font-family:var(--sans);transition:border-color .15s,background .15s,color .15s;}
.ns-box__tier b{font-family:var(--serif);font-size:1.3rem;color:var(--forest);}
.ns-box__tier em{font-style:normal;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);}
.ns-box__tier.is-active{border-color:var(--forest);background:var(--forest);}
.ns-box__tier.is-active b{color:#f3ead7;}
.ns-box__tier.is-active em{color:var(--gold);}
.ns-box__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;}
.ns-box__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;padding:1rem .8rem;border:1px solid var(--line);border-radius:6px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.ns-box__card.has{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);}
.ns-box__thumb{width:80px;height:80px;background:#fff center/contain no-repeat;}
.ns-box__name{font-family:var(--serif);font-size:.95rem;color:var(--ink);line-height:1.2;}
.ns-box__price{font-family:var(--sans);font-size:.8rem;color:var(--muted);}
.ns-box__qtyrow{display:flex;align-items:center;gap:.6rem;margin-top:.2rem;}
.ns-box__minus,.ns-box__plus{width:30px;height:30px;border:1.5px solid var(--line);border-radius:4px;background:var(--paper-3);color:var(--forest);font-size:1.1rem;font-weight:800;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;}
.ns-box__plus:hover:not(:disabled),.ns-box__minus:hover:not(:disabled){border-color:var(--gold);}
.ns-box__minus:disabled,.ns-box__plus:disabled{opacity:.35;cursor:default;}
.ns-box__q{font-family:var(--sans);font-weight:800;min-width:18px;font-variant-numeric:tabular-nums;}
.ns-box__bar{position:sticky;bottom:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;margin-top:1.6rem;padding:1rem 1.2rem;background:var(--forest);color:#f3ead7;border-radius:8px;box-shadow:0 -8px 24px rgba(0,0,0,.18);}
.ns-box__count{font-family:var(--sans);font-size:.95rem;}
.ns-box__count b{color:var(--gold);font-size:1.15rem;}
.ns-box__totals{display:flex;align-items:baseline;gap:.6rem;margin-left:auto;font-family:var(--sans);}
.ns-box__reg:not(:empty){text-decoration:line-through;color:#b9c3b0;font-size:.9rem;}
.ns-box__now{font-family:var(--serif);font-size:1.3rem;color:#fff;}
.ns-box__save:not(:empty){font-size:.82rem;font-weight:700;color:var(--gold);}
.ns-box__add{white-space:nowrap;}
.ns-box__msg{flex-basis:100%;margin:0;font-size:.82rem;color:#c8d2c0;}
@media(max-width:640px){
  /* 2-up carton grid so 35 cartons aren't a one-by-one scroll */
  .ns-box__grid{grid-template-columns:1fr 1fr;gap:.6rem;}
  .ns-box__card{padding:.85rem .55rem;gap:.35rem;}
  .ns-box__thumb{width:62px;height:62px;}
  .ns-box__name{font-size:.85rem;}
  .ns-box__price{font-size:.72rem;}
  .ns-box__minus,.ns-box__plus{width:44px;height:44px;} /* 44px min tap target */
  /* compact sticky summary bar (was ~27% of the screen) */
  .ns-box__bar{padding:.8rem .9rem;gap:.35rem .6rem;align-items:center;}
  .ns-box__count{font-size:.85rem;}
  .ns-box__totals{margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
  .ns-box__reg{display:none;}
  .ns-box__now{font-size:1.05rem;}
  .ns-box__save{flex-basis:100%;text-align:right;font-size:.7rem;}
  .ns-box__add{width:100%;}
  .ns-box__msg{display:none;}
}

/* ============ Newsletter signup ============ */
.ns-news{position:relative;text-align:center;max-width:640px;margin:.5rem auto 2.8rem;padding:2.7rem 2rem 2.3rem;border-radius:8px;}
.ns-news__seal{position:absolute;top:-26px;left:50%;transform:translateX(-50%);width:58px;height:58px;border-radius:50%;background:var(--gold);color:var(--forest-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:1.15rem;line-height:.85;box-shadow:0 4px 14px rgba(0,0,0,.35);}
.ns-news__seal em{font-style:normal;font-family:var(--sans);font-size:.5rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-top:2px;}
.ns-news__eyebrow{display:block;margin-top:.5rem;font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;}
.ns-news .ns-news__h{font-family:var(--serif);font-size:1.65rem;max-width:none;margin:.35rem 0 .4rem;}
.ns-news .ns-news__sub{font-size:.92rem;max-width:44ch;margin:.9rem auto 0;line-height:1.55;}
.ns-news__form{max-width:430px;margin:1.5rem auto 0;}
.ns-news__fields{display:flex;gap:.6rem;}
.ns-news__name,.ns-news__email{flex:1;min-width:0;padding:.8rem .95rem;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-family:var(--sans);font-size:.95rem;}
.ns-news__name::placeholder,.ns-news__email::placeholder{color:#9a9384;}
.ns-news__name:focus,.ns-news__email:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.ns-news__btn{width:100%;margin-top:.6rem;background:var(--gold);color:#241c07;border:0;border-radius:5px;padding:.85rem 1.5rem;font-family:var(--sans);font-weight:800;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .15s;}
.ns-news__btn:hover{background:#d8ac52;}
.ns-news__btn:disabled{opacity:.6;cursor:default;}
.ns-news__msg{margin:.9rem 0 0;font-family:var(--sans);font-size:.86rem;}
.ns-news__msg:empty{margin:0;}
.ns-news__msg code,.ns-news__msg strong{font-weight:800;}
/* Newsletter: its own full-width cream band above the footer (gold divider on top) */
.ns-newsband{background:var(--paper-3);border-top:3px solid var(--gold);padding:3.4rem 1.4rem 3.2rem;}
.ns-news--band{background:transparent;margin:0 auto;padding:0;}
.ns-news--band .ns-news__seal{position:static;transform:none;left:auto;margin:0 auto .7rem;border:0;}
.ns-news--band .ns-news__eyebrow{margin-top:0;color:var(--clay);}
.ns-news--band .ns-news__h{color:var(--forest);}
.ns-news--band .ns-news__sub{color:var(--muted);}
.ns-news--band .ns-news__msg--ok{color:var(--forest);}
.ns-news--band .ns-news__msg--error{color:var(--clay);}
.ns-news--band .ns-news__msg code,.ns-news--band .ns-news__msg strong{color:var(--gold-deep);}
/* Section variant ([ns_newsletter]): forest card on light pages */
.ns-news--section{background:var(--forest);border:1px solid rgba(198,154,62,.5);margin:2.5rem auto;}
.ns-news--section .ns-news__seal{border:3px solid var(--forest);}
.ns-news--section .ns-news__eyebrow{color:var(--gold);}
.ns-news--section .ns-news__h{color:#f6efdd;}
.ns-news--section .ns-news__sub{color:#c8d2c0;}
.ns-news--section .ns-news__msg--ok{color:#8ad9a8;}
.ns-news--section .ns-news__msg--error{color:#e7a488;}
.ns-news--section .ns-news__msg code,.ns-news--section .ns-news__msg strong{color:var(--gold);}
@media(max-width:520px){
  .ns-news__fields{flex-direction:column;}
}
.ns-points--summary .button{margin-top:.5rem;}
.ns-rewards__h{font-family:var(--serif);font-size:1.2rem;margin:1.6rem 0 .8rem;color:var(--ink);}
.ns-rewards__table{width:100%;border-collapse:collapse;font-size:.9rem;}
.ns-rewards__table th{text-align:left;font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line);padding:.5rem .6rem;}
.ns-rewards__table td{border-bottom:1px solid var(--line);padding:.65rem .6rem;color:var(--ink);vertical-align:middle;}
.ns-rewards__table code{font-family:ui-monospace,Menlo,monospace;background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:.12rem .45rem;font-weight:700;}
.ns-tag{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .55rem;border-radius:999px;}
.ns-tag--ok{background:rgba(31,107,59,.14);color:var(--forest);}
.ns-tag--used{background:var(--paper-2);color:var(--muted);}
.ns-rewards__hint{color:var(--muted);font-size:.86rem;margin-top:.9rem;}
.ns-thankyou-points{max-width:620px;margin:0 auto 2rem;background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:6px;padding:1rem 1.2rem;color:var(--ink);font-size:.95rem;text-align:center;}
.ns-thankyou-points a{color:var(--forest);font-weight:700;}

/* reassurance / trust strip under buy box */
.ns-reassure{list-style:none;margin:1.3rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.3rem;}
.ns-reassure li{display:flex;gap:.6rem;align-items:flex-start;font-size:.8rem;color:var(--muted);line-height:1.35;}
.ns-reassure svg{width:22px;height:22px;flex:none;stroke:var(--forest);color:var(--forest);margin-top:1px;}
.ns-reassure b{display:block;color:var(--ink);font-size:.88rem;font-weight:700;margin-bottom:.05rem;}
@media(max-width:520px){.ns-reassure{grid-template-columns:1fr;}}

/* meta */
.single-product .product_meta,.single-product .wp-block-woocommerce-product-sku{
  font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:.6rem;line-height:1.9;
}
.single-product .product_meta a{color:var(--forest);text-decoration:none;}
.single-product .product_meta a:hover{color:var(--clay);}
.single-product .product_meta > span{display:block;}

/* tabs */
.woocommerce-tabs{margin-top:3rem;}
.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line)!important;padding:0!important;margin:0 0 1.6rem!important;display:flex;gap:1.7rem;}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important;border:0!important;}
.woocommerce-tabs ul.tabs li{background:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;}
.woocommerce-tabs ul.tabs li a{
  font-family:var(--sans);font-weight:800;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:.6rem 0!important;border-bottom:2px solid transparent;display:inline-block;
}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li a:hover{color:var(--forest);border-bottom-color:var(--gold);}
.woocommerce-tabs .panel h2{font-size:1.5rem;margin:0 0 .8rem;color:var(--ink);}
.woocommerce-tabs .panel{font-size:1.03rem;line-height:1.75;color:var(--ink);}

/* related products */
.related.products,.up-sells,.wp-block-woocommerce-product-collection{margin-top:3.2rem;border-top:1px solid var(--line);padding-top:2.4rem;}
.related.products>h2,.up-sells>h2,.wp-block-woocommerce-product-collection h2,.wc-block-product-template__responsive + h2{
  font-family:var(--serif);text-align:center;font-size:1.8rem;margin:0 0 1.6rem;color:var(--ink);
}

/* ---------- cart & checkout (block) ---------- */
.wc-block-cart,.wc-block-checkout{padding-top:1rem;}
.wc-block-cart-items{border:0;}
.wc-block-cart-items__header{
  font-family:var(--sans)!important;font-size:.7rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--muted)!important;border-bottom:2px solid var(--line)!important;
}
.wc-block-cart-items__row,.wc-block-cart-item__wrap{border-bottom:1px solid var(--line)!important;}
.wc-block-cart-item__image img{border:1px solid var(--line);border-radius:4px;background:var(--paper-2);}
.wc-block-cart-item__product a,.wc-block-components-product-name{
  font-family:var(--serif)!important;font-size:1.08rem!important;font-weight:600!important;color:var(--ink)!important;text-decoration:none;
}
.wc-block-cart-item__product a:hover,.wc-block-components-product-name:hover{color:var(--clay)!important;}
.wc-block-components-product-price,.wc-block-components-order-summary-item__total-price{
  font-family:var(--serif)!important;color:var(--ink)!important;font-variant-numeric:tabular-nums;
}
.wc-block-components-product-metadata{color:var(--muted);font-size:.85rem;}

/* quantity stepper */
.wc-block-components-quantity-selector{border:1px solid var(--line)!important;border-radius:4px!important;background:#fff;max-width:112px;}
.wc-block-components-quantity-selector__button{color:var(--forest)!important;font-weight:700;}
.wc-block-components-quantity-selector__button:hover{background:var(--paper-2)!important;color:var(--clay)!important;}
.wc-block-components-quantity-selector__input{color:var(--ink)!important;font-weight:700;font-variant-numeric:tabular-nums;}

/* order-summary card */
.wc-block-cart__sidebar .is-large,
.wc-block-components-sidebar{
  background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:1.5rem 1.4rem;
}
.wc-block-cart__totals-title,.wc-block-components-checkout-order-summary__title{
  font-family:var(--sans)!important;font-size:.72rem!important;letter-spacing:.16em!important;text-transform:uppercase!important;
  color:var(--clay)!important;font-weight:800!important;
}
.wc-block-components-totals-item{color:var(--ink);}
.wc-block-components-totals-item__label{color:var(--muted);}
.wc-block-components-totals-footer-item,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--serif)!important;font-size:1.35rem!important;color:var(--ink)!important;font-weight:600;
}
.wc-block-components-totals-wrapper{border-top-color:var(--line)!important;}

/* checkout buttons */
.wc-block-cart__submit-button,
.wc-block-components-button.contained,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button{
  background:var(--forest)!important;color:#f3ead7!important;border:0!important;border-radius:2px!important;
  font-family:var(--sans)!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase!important;
  font-size:.82rem!important;padding:.9em 1.4em!important;width:100%;
}
.wc-block-cart__submit-button:hover,.wc-block-components-button.contained:hover{background:var(--forest-soft)!important;}

/* coupon + inputs */
.wc-block-components-totals-coupon__button{color:var(--forest)!important;}
.wc-block-components-text-input input,.wc-block-components-address-form input,.wc-block-components-text-input .input-text{
  border:1px solid var(--line)!important;border-radius:4px!important;background:#fff!important;
}
.wc-block-components-text-input input:focus{border-color:var(--gold)!important;box-shadow:0 0 0 2px rgba(198,154,62,.2)!important;}

/* ---------- our word band ---------- */
.ns-word{background:var(--forest);color:#f0e6d0;text-align:center;position:relative;}
.ns-word__in{max-width:660px;margin:0 auto;padding:4.6rem 1.4rem;}
.ns-word .eyebrow{color:#dcb55f;}
.ns-word h2{color:#f8efda;font-size:clamp(1.9rem,3.6vw,2.6rem);margin:.8rem 0 0;}
.ns-word p{color:#d6cab0;margin:1.1rem auto 0;max-width:52ch;font-size:1.05rem;}
.ns-word .ns-btn{margin-top:1.9rem;}
.ns-word__sig{margin-top:2rem;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:#dcb55f;}

/* ---------- footer ---------- */
.ns-footer{background:var(--forest-deep);color:#bcae94;font-size:.86rem;padding:3rem 1.4rem 0;}
.ns-footer__grid{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:2rem;padding:3.4rem 0 2.4rem;}
.ns-footer h4,.ns-footer .ns-footer__h{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#dcb55f;margin:0 0 1rem;font-weight:800;}
.ns-footer .ns-brand__name{font-family:var(--serif);font-size:1.35rem;color:#efe6d0;}
.ns-footer p{color:#a89c82;line-height:1.6;margin:.9rem 0 0;max-width:34ch;}
.ns-footer__email{margin-top:.75rem;font-size:.9rem;}
.ns-footer__email a{color:var(--gold);display:inline;padding:0;font-weight:600;}
.ns-footer__email a:hover{color:#d8ac52;}
.ns-footer a{color:#c3b697;display:block;padding:.28rem 0;text-decoration:none;}
.ns-footer a:hover{color:var(--gold);}
.ns-footer__bottom{max-width:1140px;margin:0 auto;border-top:1px solid var(--line-dk);padding:1.3rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#a89c82;font-size:.76rem;letter-spacing:.04em;}
.ns-footer__bottom .badge{border:1px solid var(--line-dk);border-radius:2px;padding:.2rem .55rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#a89c82;}
.ns-footer__legal{display:inline-flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.ns-footer__legal a{display:inline;color:#a89c82;padding:0;}
.ns-footer__legal a:hover{color:var(--gold);}

/* ---------- page content ---------- */
main .entry-content,main .wp-block-post-content{font-size:1.05rem;line-height:1.7;}
main h1.wp-block-post-title{font-size:2.4rem;margin-bottom:1rem;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .ns-trust__grid{grid-template-columns:repeat(2,1fr);}
  .ns-trust__grid>div:nth-child(2){border-right:0;}
  .ns-cats{grid-template-columns:repeat(2,1fr);}
  .ns-footer__grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:860px){
  .ns-burger{display:inline-flex;}
  .ns-nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--forest-deep);border-top:1px solid rgba(198,154,62,.25);
    box-shadow:0 16px 30px rgba(0,0,0,.25);
    padding:.4rem 1.4rem 1rem;display:none;
  }
  .ns-menu-toggle:checked ~ .ns-nav{display:flex;}
  .ns-nav a{padding:.85rem 0;border-bottom:1px solid rgba(232,220,192,.08);font-size:.9rem;}
  .ns-nav > a:last-child{border-bottom:0;}
  /* mega -> mobile accordion */
  .ns-nav__item{width:100%;position:static;}
  .ns-nav__top{display:flex;align-items:center;justify-content:space-between;width:100%;border-bottom:1px solid rgba(232,220,192,.08);}
  .ns-nav__top a{flex:1;border-bottom:0;padding:.85rem 0;font-size:.9rem;}
  .ns-caret{padding:.6rem .2rem;color:#e4d9c1;}
  .ns-caret svg{width:16px;height:16px;}
  #ns-shop-toggle:checked ~ .ns-nav__top .ns-caret svg{transform:rotate(180deg);}
  .ns-mega{
    position:static;opacity:1;transform:none;box-shadow:none;border:0;
    background:rgba(0,0,0,.16);display:none;visibility:visible;
  }
  .ns-mega::before{display:none;}
  #ns-shop-toggle:checked ~ .ns-mega{display:block;}
  .ns-mega__in{display:block;max-width:none;padding:.4rem 0 .3rem;}
  .ns-mega__col{margin:0;}
  .ns-mega__h{color:var(--gold);border-color:rgba(232,220,192,.14);margin-top:.7rem;}
  .ns-mega a,.ns-soon{padding:.6rem .2rem;}
  .ns-mega a b,.ns-soon b{color:#e8dcc4;font-size:.92rem;}
  .ns-mega a span,.ns-soon span{color:#93a38f;}
  .ns-mega a:hover b{color:#fff;}
  .ns-mega__foot{background:transparent;color:var(--gold);text-align:left;padding:.7rem .2rem;border:0;}
}
@media(max-width:640px){
  .ns-cats,.ns-trust__grid,.ns-footer__grid{grid-template-columns:1fr;}
  .ns-trust__grid>div{border-right:0;border-bottom:1px solid rgba(198,154,62,.14);}
  .ns-frame{padding:2rem 1rem 2.2rem;}
  .ns-hero__in{padding:3rem 1.1rem 3.4rem;}
  .ns-cart__label{display:none;}
  .ns-cart{padding:.5rem .7rem;}
  .ns-header .ns-logo{height:60px;padding:7px 13px;}
  /* keep the icon cluster inside the viewport with the account icon + cart count */
  .ns-header__right{gap:.4rem;}
  .ns-header .ns-search-btn,.ns-header .ns-account,.ns-header .ns-burger{width:44px;height:44px;}
}
/* Per-brand feature toggles: hide template-embedded elements when a feature is off */
.ns-no-newsletter .ns-newsband{display:none;}
.ns-no-build-a-box .ns-nav__deal,.ns-no-build-a-box a[href*="build-your-box"]{display:none;}

/* ============ Layout variants (set via brand config 'layout') ============ */
/* Each variant restructures the page (hero alignment, section headers, card style, type
   treatment) — not just colour — so brands read as different businesses. Paired with a
   per-brand font system in the brand config, the shared skeleton stops being obvious. */

/* ---------- BOLD — warehouse / hard-discount: flat, boxy, ALL-CAPS, offset shadows, dense ---------- */
.ns-layout-bold .ns-frame,.ns-layout-bold .ns-frame::before,.ns-layout-bold .ns-frame::after{border:0;padding:0;background:none;}
.ns-layout-bold .ns-corner{display:none;}
.ns-layout-bold .ns-hero__in{max-width:1080px;padding:3.2rem 1.4rem 3.4rem;text-align:left;}
.ns-layout-bold .ns-hero__title{text-transform:uppercase;font-weight:700;letter-spacing:-.01em;line-height:.96;font-size:clamp(2.7rem,7.4vw,5.2rem);}
.ns-layout-bold .ns-hero__title em{font-style:normal;background:var(--gold);color:#fff;padding:0 .18em;}
.ns-layout-bold .ns-hero__sub{margin-left:0;}
.ns-layout-bold .ns-hero__cta{justify-content:flex-start;}
.ns-layout-bold .ns-btn{border-radius:0;letter-spacing:.1em;font-weight:800;text-transform:uppercase;padding:1rem 2.1rem;}
.ns-layout-bold .eyebrow{letter-spacing:.2em;}
.ns-layout-bold .ns-sechead{text-align:left;max-width:none;margin:0 auto 1.6rem;border-bottom:3px solid var(--ink);padding-bottom:.7rem;}
.ns-layout-bold .ns-sechead h2,.ns-layout-bold .ns-sechead__h,.ns-layout-bold .ns-steps h2,.ns-layout-bold .ns-word h2{text-transform:uppercase;font-weight:800;letter-spacing:-.005em;}
.ns-layout-bold .ns-sechead p{display:none;}
.ns-layout-bold .ns-cats{gap:.65rem;}
.ns-layout-bold .ns-cats a{border:2px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink);}
.ns-layout-bold .ns-cats a:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);border-color:var(--ink);}
.ns-layout-bold .ns-cats a::after{width:100%;height:5px;top:auto;bottom:0;opacity:1;}
.ns-layout-bold .ns-cats h3,.ns-layout-bold .ns-cat__title{text-transform:uppercase;font-weight:800;}
.ns-layout-bold .ns-cat__img,.ns-layout-bold .ns-catbar__pill,.ns-layout-bold .ns-step,.ns-layout-bold .ns-progress,.ns-layout-bold .ns-addons,.ns-layout-bold .ns-badge,.ns-layout-bold .ns-spin__modal,.ns-layout-bold input[type=email],.ns-layout-bold input[type=text],.ns-layout-bold input[type=search]{border-radius:0!important;}
.ns-layout-bold .ns-catbar__pill{border-width:2px;font-weight:800;}
.ns-layout-bold .ns-step__n{border-radius:0;}

/* ---------- MODERN — vape/tech: sans everything, pill buttons, rounded soft cards, airy ---------- */
.ns-layout-modern .ns-frame,.ns-layout-modern .ns-frame::before,.ns-layout-modern .ns-frame::after{border:0;padding:0;background:none;}
.ns-layout-modern .ns-corner{display:none;}
.ns-layout-modern .ns-hero__in{max-width:900px;padding:5.6rem 1.4rem 6rem;}
.ns-layout-modern .ns-hero__title{font-weight:600;letter-spacing:-.025em;font-size:clamp(2.4rem,5.6vw,3.9rem);line-height:1.06;}
.ns-layout-modern .ns-hero__title em{font-style:normal;color:var(--gold);}
.ns-layout-modern .eyebrow{letter-spacing:.1em;font-weight:600;}
.ns-layout-modern .ns-btn,.ns-layout-modern .wp-element-button,.ns-layout-modern .wp-block-button__link,.ns-layout-modern .woocommerce a.button,.ns-layout-modern .woocommerce button.button{border-radius:999px;text-transform:none;letter-spacing:.005em;font-weight:600;font-size:.95rem;padding:.85rem 2rem;}
.ns-layout-modern .ns-sechead h2,.ns-layout-modern .ns-sechead__h{font-weight:500;letter-spacing:-.02em;}
.ns-layout-modern .ns-cats{gap:1.4rem;}
.ns-layout-modern .ns-cats a{border:0;border-radius:22px;background:var(--paper-2);box-shadow:0 12px 34px rgba(20,16,40,.08);}
.ns-layout-modern .ns-cats a::after{display:none;}
.ns-layout-modern .ns-cats a:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(20,16,40,.13);border-color:transparent;}
.ns-layout-modern .ns-cats h3,.ns-layout-modern .ns-cat__title{font-weight:600;}
.ns-layout-modern .ns-cats a.has-img{overflow:hidden;}
.ns-layout-modern .ns-cat__img{border-radius:22px 22px 0 0;border-bottom:0;}
.ns-layout-modern .ns-catbar__pill,.ns-layout-modern input[type=email],.ns-layout-modern input[type=text],.ns-layout-modern input[type=search]{border-radius:999px;}
.ns-layout-modern .ns-step,.ns-layout-modern .ns-progress,.ns-layout-modern .ns-addons,.ns-layout-modern .ns-addon{border:0;border-radius:20px;box-shadow:0 10px 28px rgba(20,16,40,.08);}
.ns-layout-modern .woocommerce ul.products li.product a img{border-radius:14px;border-bottom:0;}

/* ---------- CLEAN — pouches/pharmacy: neutral sans, compact, small tight type, thin rules ---------- */
.ns-layout-clean .ns-frame,.ns-layout-clean .ns-frame::before,.ns-layout-clean .ns-frame::after{border:0;padding:0;background:none;}
.ns-layout-clean .ns-corner{display:none;}
.ns-layout-clean .ns-hero__in{max-width:1080px;padding:3rem 1.4rem 3.2rem;text-align:left;}
.ns-layout-clean .ns-hero__title{font-weight:600;letter-spacing:-.02em;font-size:clamp(2rem,4.4vw,3rem);line-height:1.1;}
.ns-layout-clean .ns-hero__title em{font-style:normal;color:var(--gold);}
.ns-layout-clean .ns-hero__sub{margin-left:0;max-width:54ch;font-size:.98rem;}
.ns-layout-clean .ns-hero__cta{justify-content:flex-start;}
.ns-layout-clean .eyebrow{letter-spacing:.15em;font-size:.66rem;}
.ns-layout-clean .ns-btn{border-radius:4px;text-transform:none;letter-spacing:.01em;font-weight:700;font-size:.86rem;padding:.7rem 1.45rem;}
.ns-layout-clean .ns-sechead{text-align:left;max-width:none;margin:0 auto 1.5rem;}
.ns-layout-clean .ns-sechead h2,.ns-layout-clean .ns-sechead__h{font-weight:600;font-size:clamp(1.5rem,2.6vw,1.9rem);letter-spacing:-.01em;}
.ns-layout-clean .ns-sechead p{margin-top:.5rem;font-size:.92rem;}
.ns-layout-clean .ns-cats{grid-template-columns:repeat(3,1fr);gap:.7rem;}
.ns-layout-clean .ns-cats a{border:1px solid var(--line);border-radius:5px;padding:1.15rem;box-shadow:none;}
.ns-layout-clean .ns-cats a:hover{transform:none;box-shadow:0 4px 14px rgba(21,40,51,.08);}
.ns-layout-clean .ns-cats a::after{width:3px;}
.ns-layout-clean .ns-cats h3,.ns-layout-clean .ns-cat__title{font-size:1.1rem;font-weight:600;}
.ns-layout-clean .ns-cats p,.ns-layout-clean .ns-cat__desc{font-size:.82rem;}
.ns-layout-clean .ns-cat__img{height:118px;}
.ns-layout-clean .ns-step{border-radius:6px;padding:1.4rem 1.1rem;}
.ns-layout-clean .ns-catbar__pill,.ns-layout-clean input[type=email],.ns-layout-clean input[type=text],.ns-layout-clean input[type=search]{border-radius:4px;}

/* ---------- EDITORIAL — craft/heritage: serif headings + serif body, magazine rules, 2-col index ---------- */
.ns-layout-editorial .ns-frame,.ns-layout-editorial .ns-frame::before,.ns-layout-editorial .ns-frame::after{border:0;padding:0;background:none;}
.ns-layout-editorial .ns-corner{display:none;}
.ns-layout-editorial .ns-hero__in{max-width:1080px;padding:4.6rem 1.4rem 5rem;text-align:left;}
.ns-layout-editorial .ns-hero__title{font-weight:500;font-size:clamp(2.6rem,6vw,4.7rem);line-height:1.03;letter-spacing:-.012em;}
.ns-layout-editorial .ns-hero__title em{font-style:italic;color:var(--gold);}
.ns-layout-editorial .ns-hero__sub{margin-left:0;max-width:42ch;font-family:var(--serif);font-size:1.18rem;line-height:1.6;}
.ns-layout-editorial .ns-hero__cta{justify-content:flex-start;}
.ns-layout-editorial .eyebrow{letter-spacing:.2em;}
.ns-layout-editorial .ns-btn{border-radius:0;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.74rem;padding:.92rem 1.9rem;}
.ns-layout-editorial .ns-sechead{text-align:left;max-width:none;margin:0 auto 2rem;border-top:2px solid var(--ink);padding-top:1rem;}
.ns-layout-editorial .ns-sechead h2,.ns-layout-editorial .ns-sechead__h{font-weight:500;font-size:clamp(2rem,4vw,3rem);}
.ns-layout-editorial .ns-sechead p{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--muted);}
.ns-layout-editorial .ns-cats{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);}
.ns-layout-editorial .ns-cats a{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;}
.ns-layout-editorial .ns-cats a:nth-child(2n){border-right:0;}
.ns-layout-editorial .ns-cats a::after{display:none;}
.ns-layout-editorial .ns-cats a:hover{transform:none;background:var(--paper-2);}
.ns-layout-editorial .ns-cats h3,.ns-layout-editorial .ns-cat__title{font-size:1.7rem;font-weight:500;}
.ns-layout-editorial .ns-cats p,.ns-layout-editorial .ns-cat__desc{font-family:var(--serif);}

/* ---------- per-brand header treatment (announcement bar + header rule) ---------- */
/* Calm brands: a static, centered announcement instead of the scrolling marquee. */
.ns-layout-modern .ns-promo,.ns-layout-clean .ns-promo,.ns-layout-editorial .ns-promo{white-space:normal;text-align:center;padding:.5rem 1rem;}
.ns-layout-modern .ns-promo__track,.ns-layout-clean .ns-promo__track,.ns-layout-editorial .ns-promo__track{animation:none;display:block;}
.ns-layout-modern .ns-promo__item[aria-hidden],.ns-layout-clean .ns-promo__item[aria-hidden],.ns-layout-editorial .ns-promo__item[aria-hidden]{display:none;}
.ns-layout-modern .ns-header,.ns-layout-clean .ns-header,.ns-layout-editorial .ns-header{border-bottom-width:1px;}
.ns-layout-editorial .ns-promo{letter-spacing:.02em;}
.ns-layout-clean .ns-promo{font-size:.68rem;}
/* Warehouse: loud uppercase announcement + a heavy rule under the header. */
.ns-layout-bold .ns-promo{text-transform:uppercase;font-weight:700;letter-spacing:.04em;}
.ns-layout-bold .ns-header{border-bottom-width:4px;}

/* ================= per-brand TEMPLATE-PART layouts (header · mega · footer · newsletter) ================= */
/* Header/mega restructures stay above the 860px burger breakpoint so mobile nav is untouched. */
@media(min-width:861px){
	/* BOLD — logo + inline nav pulled left, tools shoved to the far right (a warehouse toolbar). */
	.ns-layout-bold .ns-header__inner{justify-content:flex-start;gap:2.2rem;}
	.ns-layout-bold .ns-header__right{margin-left:auto;}
	.ns-layout-bold .ns-mega{border-bottom-width:5px;}

	/* MODERN — flat logo (no cream chip), airy bar, nav + tools right-aligned. */
	.ns-layout-modern .ns-header__inner{padding-top:1.25rem;padding-bottom:1.25rem;}
	.ns-layout-modern .ns-logo{background:transparent;box-shadow:none;padding:0;border-radius:0;}
	.ns-layout-modern .ns-nav{margin-left:auto;gap:2rem;text-transform:none;letter-spacing:.01em;font-weight:600;}
	.ns-layout-modern .ns-header__right{margin-left:1.6rem;}
	.ns-layout-modern .ns-mega__in{grid-template-columns:repeat(3,1fr);gap:2.2rem;}

	/* CLEAN — compact bar, small logo, tight nav. */
	.ns-layout-clean .ns-header__inner{padding-top:.55rem;padding-bottom:.55rem;gap:1rem;}
	.ns-layout-clean .ns-logo{height:56px;padding:6px 12px;}
	.ns-layout-clean .ns-nav{gap:1.15rem;font-size:.74rem;text-transform:none;letter-spacing:.02em;}
	.ns-layout-clean .ns-mega__in{gap:1.1rem;padding:1.3rem 1.4rem 1rem;}

	/* EDITORIAL — centered masthead: logo over a centered nav, tools tucked top-right. */
	.ns-layout-editorial .ns-header__inner{flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;padding-top:1.4rem;padding-bottom:.35rem;}
	.ns-layout-editorial .ns-brand{order:1;flex-basis:100%;display:flex;justify-content:center;}
	.ns-layout-editorial .ns-nav{order:2;flex-basis:100%;justify-content:center;text-transform:none;letter-spacing:.08em;gap:1.9rem;padding-bottom:.35rem;}
	.ns-layout-editorial .ns-header__right{position:absolute;top:1.25rem;right:1.4rem;}
	.ns-layout-editorial .ns-mega__in{grid-template-columns:repeat(3,1fr);gap:2.6rem;max-width:1000px;}
}
/* Mega content tweaks (non-structural — safe at any width). */
.ns-layout-modern .ns-mega__col--soon,.ns-layout-editorial .ns-mega__col--soon{display:none;} /* drop "coming soon" clutter */
.ns-layout-modern .ns-mega a b,.ns-layout-clean .ns-mega a b{font-family:var(--sans);}
.ns-layout-clean .ns-mega a b{font-size:.92rem;}
.ns-layout-clean .ns-mega a,.ns-layout-clean .ns-soon{padding:.3rem 0;}
.ns-layout-bold .ns-mega__h{color:var(--ink);}

/* ---- FOOTER: different column architecture per brand (above the 640px single-col stack) ---- */
@media(min-width:641px){
	.ns-layout-bold .ns-footer__grid{grid-template-columns:1.6fr 1fr 1fr;}
	.ns-layout-modern .ns-footer__grid{grid-template-columns:repeat(3,1fr);gap:2.4rem;}
	.ns-layout-clean .ns-footer__grid{grid-template-columns:2fr 1fr 1fr;gap:1.5rem;padding:2.4rem 0 1.8rem;}
	.ns-layout-editorial .ns-footer__grid{grid-template-columns:2.6fr 1fr 1fr;gap:2.6rem;}
}
.ns-layout-modern .ns-footer .ns-brand__name,.ns-layout-clean .ns-footer .ns-brand__name{font-family:var(--sans);}
.ns-layout-editorial .ns-footer .ns-brand__name{font-size:2rem;}
.ns-layout-bold .ns-footer h4,.ns-layout-bold .ns-footer .ns-footer__h{color:#fff;}

/* ---- NEWSLETTER band: a distinct composition per brand ---- */
/* BOLD & EDITORIAL — two-up split: copy on the left, form on the right. */
@media(min-width:721px){
	.ns-layout-bold .ns-news--band,.ns-layout-editorial .ns-news--band{display:grid;grid-template-columns:1.2fr 1fr;column-gap:2.6rem;align-items:center;max-width:1040px;text-align:left;}
	.ns-layout-bold .ns-news--band > .ns-news__seal,.ns-layout-editorial .ns-news--band > .ns-news__seal,
	.ns-layout-bold .ns-news--band > .ns-news__eyebrow,.ns-layout-editorial .ns-news--band > .ns-news__eyebrow,
	.ns-layout-bold .ns-news--band > .ns-news__h,.ns-layout-editorial .ns-news--band > .ns-news__h,
	.ns-layout-bold .ns-news--band > .ns-news__sub,.ns-layout-editorial .ns-news--band > .ns-news__sub{grid-column:1;justify-self:start;margin-left:0;margin-right:0;text-align:left;}
	.ns-layout-bold .ns-news--band > .ns-news__form,.ns-layout-editorial .ns-news--band > .ns-news__form{grid-column:2;grid-row:1 / 6;align-self:center;margin:0;max-width:none;}
	.ns-layout-bold .ns-news--band .ns-news__sub,.ns-layout-editorial .ns-news--band .ns-news__sub{max-width:38ch;}
}
.ns-layout-editorial .ns-news--band .ns-news__h{font-family:var(--serif);}
/* MODERN — a big rounded card floated on the band. */
.ns-layout-modern .ns-newsband{background:transparent;border-top:0;}
.ns-layout-modern .ns-news--band{max-width:640px;background:var(--paper-2);border-radius:28px;box-shadow:0 18px 50px rgba(20,16,40,.12);padding:2.8rem 2.4rem;}
.ns-layout-modern .ns-news__btn,.ns-layout-modern .ns-news__name,.ns-layout-modern .ns-news__email{border-radius:999px;}
/* CLEAN — compact and quiet. */
.ns-layout-clean .ns-newsband{padding:2.2rem 1.4rem;}
.ns-layout-clean .ns-news--band{max-width:560px;}
.ns-layout-clean .ns-news--band .ns-news__h{font-size:1.3rem;}
.ns-layout-clean .ns-news--band .ns-news__seal{width:46px;height:46px;font-size:.95rem;}

/* ---- SEARCH + ACCOUNT tools: distinct treatment per brand (labels hidden by default) ---- */
.ns-tool__label{display:none;}
.ns-header .ns-search-btn,.ns-header .ns-account{gap:.45rem;}
/* BOLD — icon + uppercase label inside a boxed control (utilitarian) */
.ns-layout-bold .ns-search-btn,.ns-layout-bold .ns-account{width:auto;padding:0 .85rem;}
.ns-layout-bold .ns-tool__label{display:inline;font-family:var(--sans);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
/* MODERN — plain borderless icons */
.ns-layout-modern .ns-search-btn,.ns-layout-modern .ns-account{border:0;}
/* CLEAN — small, borderless, tight */
.ns-layout-clean .ns-search-btn,.ns-layout-clean .ns-account{border:0;width:34px;height:34px;}
.ns-layout-clean .ns-search-btn svg,.ns-layout-clean .ns-account svg{width:19px;height:19px;}
/* EDITORIAL — text-only utility links, no icon chrome (magazine masthead) */
.ns-layout-editorial .ns-search-btn,.ns-layout-editorial .ns-account{border:0;width:auto;padding:0;}
.ns-layout-editorial .ns-search-btn svg,.ns-layout-editorial .ns-account svg{display:none;}
.ns-layout-editorial .ns-tool__label{display:inline;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}

/* ---- WooCommerce PRODUCT CARDS — a distinct card per brand (repeats 8–20× per page) ---- */
/* BOLD — hard-edged sticker cards + full-width block button, uppercase titles */
.ns-layout-bold .woocommerce ul.products li.product{border:2px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 var(--ink);}
.ns-layout-bold .woocommerce ul.products li.product:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.ns-layout-bold .woocommerce ul.products li.product a img{border-radius:0;}
.ns-layout-bold .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans);text-transform:uppercase;font-weight:800;font-size:.98rem;letter-spacing:-.01em;}
.ns-layout-bold .woocommerce ul.products li.product .price{font-family:var(--sans);font-weight:800;}
.ns-layout-bold .woocommerce ul.products li.product .button{align-self:stretch;text-align:center;margin:.8rem 0 0;border-radius:0;}
/* MODERN — borderless rounded cards that float; pill add-button */
.ns-layout-modern .woocommerce ul.products li.product{border:0;border-radius:20px;box-shadow:0 10px 30px rgba(20,16,40,.08);}
.ns-layout-modern .woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(20,16,40,.14);}
.ns-layout-modern .woocommerce ul.products li.product a img{border-bottom:0;border-radius:20px 20px 0 0;background:var(--paper-3);}
.ns-layout-modern .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans);font-weight:600;}
.ns-layout-modern .woocommerce ul.products li.product .price{font-family:var(--sans);color:var(--forest)!important;}
.ns-layout-modern .woocommerce ul.products li.product .button{align-self:stretch;text-align:center;border-radius:999px;margin:.8rem 1rem 1.1rem;text-transform:none;letter-spacing:.01em;}
/* CLEAN — compact, quiet, small type, thin border */
.ns-layout-clean .woocommerce ul.products li.product{border:1px solid var(--line);border-radius:5px;box-shadow:none;}
.ns-layout-clean .woocommerce ul.products li.product:hover{transform:none;box-shadow:0 6px 18px rgba(21,40,51,.09);}
.ns-layout-clean .woocommerce ul.products li.product a img{padding:10px;}
.ns-layout-clean .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans);font-size:.96rem;font-weight:600;}
.ns-layout-clean .woocommerce ul.products li.product .price{font-family:var(--sans);font-size:1.05rem;}
.ns-layout-clean .woocommerce ul.products li.product .button{font-size:.72rem;padding:.55em 1.1em;margin:.7rem 1rem 1rem;}
/* EDITORIAL — no card chrome; a typographic listing with a framed image + outline button */
.ns-layout-editorial .woocommerce ul.products li.product{background:transparent;border:0;border-radius:0;box-shadow:none;padding-bottom:1.2rem;border-bottom:1px solid var(--line);}
.ns-layout-editorial .woocommerce ul.products li.product:hover{transform:none;box-shadow:none;}
.ns-layout-editorial .woocommerce ul.products li.product a img{background:var(--paper-3);border:1px solid var(--line);padding:20px;}
.ns-layout-editorial .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:1.24rem;font-weight:500;}
.ns-layout-editorial .woocommerce ul.products li.product .price{font-family:var(--serif);}
.ns-layout-editorial .woocommerce ul.products li.product .button{background:transparent!important;color:var(--forest)!important;border:1.5px solid var(--forest);border-radius:0;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;}

/* Same per-brand card treatment for the block-based shop grid (Product Collection: li.wc-block-product) */
.ns-layout-bold li.wc-block-product{border:2px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 var(--ink);padding:.55rem;}
.ns-layout-bold li.wc-block-product .wp-block-post-title{font-family:var(--sans);text-transform:uppercase;font-weight:800;}
.ns-layout-bold .wc-block-components-product-button__button{border-radius:0!important;}
.ns-layout-modern li.wc-block-product{border:0;border-radius:20px;box-shadow:0 10px 30px rgba(20,16,40,.08);padding:.55rem;background:var(--paper-2);}
.ns-layout-modern li.wc-block-product .wp-block-post-title{font-family:var(--sans);}
.ns-layout-modern .wc-block-components-product-button__button{border-radius:999px!important;text-transform:none;}
.ns-layout-clean li.wc-block-product{border:1px solid var(--line);border-radius:5px;padding:.55rem;}
.ns-layout-clean li.wc-block-product .wp-block-post-title{font-family:var(--sans);font-size:.98rem;}
.ns-layout-editorial li.wc-block-product{border:0;border-bottom:1px solid var(--line);border-radius:0;padding-bottom:1.1rem;}
.ns-layout-editorial li.wc-block-product .wp-block-post-title{font-family:var(--serif);}
.ns-layout-editorial .wc-block-components-product-button__button{background:transparent!important;color:var(--forest)!important;border:1.5px solid var(--forest)!important;border-radius:0!important;text-transform:uppercase;letter-spacing:.1em;}

/* ---------- CASUAL — friendly local shop: chunky rounded cards w/ flat drop-shadow, bold sans, warm ---------- */
.ns-layout-casual .ns-frame,.ns-layout-casual .ns-frame::before,.ns-layout-casual .ns-frame::after{border:0;padding:0;background:none;}
.ns-layout-casual .ns-corner{display:none;}
.ns-layout-casual .ns-hero__in{max-width:1000px;padding:4rem 1.4rem 4.4rem;text-align:left;}
.ns-layout-casual .ns-hero__title{font-weight:800;letter-spacing:-.015em;font-size:clamp(2.5rem,6.2vw,4.2rem);line-height:1.02;}
.ns-layout-casual .ns-hero__title em{font-style:normal;color:var(--gold);}
.ns-layout-casual .ns-hero__cta{justify-content:flex-start;}
.ns-layout-casual .eyebrow{letter-spacing:.08em;font-weight:800;}
/* chunky rounded buttons everywhere */
.ns-layout-casual .ns-btn,.ns-layout-casual .wp-element-button,.ns-layout-casual .wp-block-button__link,.ns-layout-casual .woocommerce a.button,.ns-layout-casual .woocommerce button.button{border-radius:12px;text-transform:none;letter-spacing:.01em;font-weight:800;font-size:.95rem;padding:.88rem 1.7rem;}
/* bold, left-aligned, sentence-case section heads */
.ns-layout-casual .ns-sechead{text-align:left;max-width:none;margin:0 auto 1.6rem;}
.ns-layout-casual .ns-sechead h2,.ns-layout-casual .ns-sechead__h,.ns-layout-casual .ns-steps h2,.ns-layout-casual .ns-word h2{font-weight:800;letter-spacing:-.015em;}
/* category tiles: chunky rounded, warm border + flat drop shadow that pops on hover */
.ns-layout-casual .ns-cats{gap:1.1rem;}
.ns-layout-casual .ns-cats a{border:2px solid var(--forest-soft);border-radius:16px;box-shadow:0 5px 0 var(--forest-soft);}
.ns-layout-casual .ns-cats a:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--gold);border-color:var(--gold);}
.ns-layout-casual .ns-cats a::after{display:none;}
.ns-layout-casual .ns-cats a.has-img{overflow:hidden;}
.ns-layout-casual .ns-cat__img{border-radius:14px 14px 0 0;border-bottom:0;}
.ns-layout-casual .ns-cats h3,.ns-layout-casual .ns-cat__title{font-weight:800;}
.ns-layout-casual input[type=email],.ns-layout-casual input[type=text],.ns-layout-casual input[type=search],.ns-layout-casual .ns-catbar__pill{border-radius:12px;}
.ns-layout-casual .ns-step,.ns-layout-casual .ns-progress,.ns-layout-casual .ns-addons{border-radius:16px;}
/* product cards (classic [products] grid + block shop): same chunky rounded treatment, full-width button */
.ns-layout-casual .woocommerce ul.products li.product,.ns-layout-casual li.wc-block-product{border:2px solid var(--forest-soft);border-radius:16px;box-shadow:0 5px 0 var(--forest-soft);}
.ns-layout-casual .woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--gold);}
.ns-layout-casual .woocommerce ul.products li.product a img{border-radius:14px 14px 0 0;border-bottom:0;}
.ns-layout-casual .woocommerce ul.products li.product .woocommerce-loop-product__title,.ns-layout-casual li.wc-block-product .wp-block-post-title{font-weight:800;}
.ns-layout-casual .woocommerce ul.products li.product .button{align-self:stretch;text-align:center;border-radius:12px;margin:.8rem 1rem 1.1rem;}
.ns-layout-casual .wc-block-components-product-button__button{border-radius:12px!important;text-transform:none;}
/* simple friendly header: static centered promo (no marquee), sentence-case bold nav, rounded tools */
.ns-layout-casual .ns-promo{white-space:normal;text-align:center;padding:.55rem 1rem;font-weight:700;}
.ns-layout-casual .ns-promo__track{animation:none;display:block;}
.ns-layout-casual .ns-promo__item[aria-hidden]{display:none;}
.ns-layout-casual .ns-nav{text-transform:none;letter-spacing:.01em;font-weight:800;gap:1.6rem;}
.ns-layout-casual .ns-search-btn,.ns-layout-casual .ns-account{border-radius:12px;}
.ns-layout-casual .ns-mega{border-bottom-width:3px;}
.ns-layout-casual .ns-mega a b{font-weight:800;}
.ns-layout-casual .ns-news--band .ns-news__btn,.ns-layout-casual .ns-news--band input{border-radius:12px;}

/* "How ordering works" 3-step strip */
.ns-steps{background:var(--forest-deep);padding:3.6rem 1.4rem;}
.ns-steps__in{max-width:1040px;margin:0 auto;text-align:center;}
.ns-steps .eyebrow{color:var(--gold);}
.ns-steps h2{color:#fff;font-family:var(--serif);font-size:2rem;margin:.35rem 0 0;}
.ns-steps .ns-rule{margin:.9rem auto 2.1rem;}
.ns-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem;}
.ns-step{position:relative;background:rgba(255,255,255,.045);border:1px solid rgba(198,154,62,.28);border-radius:11px;padding:1.9rem 1.35rem 1.6rem;text-align:center;}
.ns-step span.ns-step__n{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--forest-deep);font-family:var(--serif);font-weight:700;font-size:1.45rem;margin:0 auto .95rem;box-shadow:0 3px 10px rgba(0,0,0,.3);}
.ns-step b{display:block;color:#fff;font-family:var(--sans);font-size:1.06rem;margin-bottom:.5rem;}
.ns-step>span:not(.ns-step__n){display:block;color:#cfe0d2;font-family:var(--sans);font-size:.9rem;line-height:1.55;}
.ns-step:not(:last-child)::after{content:"→";position:absolute;right:-1.15rem;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.35rem;z-index:1;}
@media(max-width:760px){
	.ns-steps__grid{grid-template-columns:1fr;gap:1.5rem;}
	.ns-step:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-1.15rem;transform:translateX(-50%);}
}

/* Urgency / scarcity badges */
.ns-badge{display:inline-block;font-family:var(--sans);font-size:.64rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;padding:.28rem .5rem;border-radius:4px;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);}
li.product{position:relative;}
li.product .ns-badge{position:absolute;top:10px;left:10px;z-index:2;pointer-events:none;}
.single-product .ns-badge{margin:0 0 .7rem;}
.ns-badge--low{background:var(--clay);}
.ns-badge--hot{background:#b23a2e;}
.ns-badge--pop{background:var(--forest-soft);}

/* Refer a friend (My Account → Rewards) */
.ns-refer{margin:1.8rem 0 0;padding:1.2rem 1.3rem;background:var(--paper-3);border:1px solid var(--gold);border-radius:9px;}
.ns-refer__h{font-family:var(--serif);font-size:1.2rem;color:var(--forest);margin:0 0 .35rem;}
.ns-refer__sub{font-family:var(--sans);font-size:.88rem;color:var(--muted);margin:0 0 .9rem;line-height:1.45;}
.ns-refer__linkrow{display:flex;gap:.5rem;flex-wrap:wrap;}
.ns-refer__link{flex:1 1 220px;min-width:0;padding:.6rem .7rem;border:1px solid var(--line);border-radius:5px;background:#fff;font-family:var(--sans);font-size:.85rem;color:var(--ink);}
.ns-refer__copy{flex:0 0 auto;}
.ns-refer__stats{display:flex;gap:1.5rem;margin:.9rem 0 0;font-family:var(--sans);font-size:.85rem;color:var(--muted);}
.ns-refer__stats b{color:var(--forest);font-weight:800;}
.ns-refbar{position:fixed;left:0;right:0;bottom:0;z-index:99996;display:flex;align-items:center;justify-content:center;gap:1rem;background:var(--forest);color:#fff;font-family:var(--sans);font-size:.86rem;line-height:1.35;padding:.7rem 1rem;box-shadow:0 -4px 16px rgba(0,0,0,.2);}
.ns-refbar strong{color:var(--gold);}
.ns-refbar__x{border:0;background:transparent;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;flex:0 0 auto;}
.ns-refbar[hidden]{display:none;}

/* Social-proof ticker */
.ns-proof{position:fixed;left:16px;bottom:16px;z-index:99997;max-width:312px;display:flex;align-items:flex-start;gap:.6rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--forest-soft);border-radius:9px;padding:.7rem .8rem;box-shadow:0 10px 28px rgba(0,0,0,.18);transform:translateY(160%);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s;}
.ns-proof.is-in{transform:translateY(0);opacity:1;}
.ns-proof[hidden]{display:none;}
.ns-proof__dot{margin-top:.35rem;flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#3aa76d;box-shadow:0 0 0 3px rgba(58,167,109,.22);}
.ns-proof__body{font-family:var(--sans);font-size:.8rem;line-height:1.35;color:var(--ink);}
.ns-proof__body b{font-weight:800;color:var(--forest);}
.ns-proof__time{display:block;font-size:.64rem;color:var(--muted);margin-top:.15rem;text-transform:uppercase;letter-spacing:.04em;}
.ns-proof__x{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font-size:1.15rem;line-height:1;cursor:pointer;padding:0 .1rem;}
@media(max-width:640px){.ns-proof{left:10px;right:auto;bottom:10px;max-width:calc(100vw - 92px);}}

/* Cart cross-sell add-ons */
.ns-addons{margin:1.4rem 0 0;padding:1rem 1.1rem;background:var(--paper-3);border:1px solid var(--line);border-radius:8px;}
.ns-addons__h{font-family:var(--sans);font-weight:800;font-size:.82rem;color:var(--forest);margin-bottom:.7rem;text-transform:uppercase;letter-spacing:.05em;}
.ns-addons__row{display:flex;flex-wrap:wrap;gap:.7rem;}
.ns-addon{flex:1 1 210px;display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:7px;padding:.55rem .65rem;}
.ns-addon__img{flex:0 0 auto;width:38px;height:38px;border-radius:5px;background:#fff center/contain no-repeat;border:1px solid var(--line);}
.ns-addon__name{flex:1 1 auto;font-family:var(--sans);font-size:.82rem;font-weight:700;color:var(--ink);line-height:1.2;}
.ns-addon__price{font-family:var(--sans);font-size:.82rem;font-weight:800;color:var(--forest);}
.ns-addon__add{flex:0 0 auto;border:0;background:var(--forest);color:#fff;font-family:var(--sans);font-weight:800;font-size:.78rem;padding:.45rem .85rem;border-radius:5px;cursor:pointer;}
.ns-addon__add:hover{background:var(--forest-soft);}
.ns-addon__add:disabled{opacity:.6;cursor:default;}

/* Cart "unlock" progress bar (AOV nudge) */
.ns-progress{margin:0 0 1.3rem;padding:.85rem 1.1rem;background:var(--paper-3);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;}
.ns-progress__msg{font-family:var(--sans);font-size:.92rem;color:var(--ink);margin:0 0 .55rem;line-height:1.4;}
.ns-progress__msg b{color:var(--forest);font-weight:800;}
.ns-progress__track{height:9px;background:var(--line);border-radius:5px;overflow:hidden;}
.ns-progress__fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-deep));border-radius:5px;transition:width .5s cubic-bezier(.2,.7,.2,1);}
.ns-progress__fill.is-done{background:linear-gradient(90deg,var(--forest-soft),var(--forest));}

/* Checkout: order-summary panel had 0 horizontal padding (content flush to the edge) while
   some inner rows had 16px — give the whole panel consistent breathing room. */
.wp-block-woocommerce-checkout-order-summary-block{padding-left:16px;padding-right:16px;}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item{padding-left:0;padding-right:0;}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important;}}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ============ Age gate (19+) — heritage skin ============ */
.age-gate__background-color{background:var(--forest)!important;opacity:1!important;}
.age-gate__background{background:radial-gradient(120% 90% at 50% 0%,var(--forest-soft) 0%,var(--forest) 55%,var(--forest-deep) 100%)!important;opacity:1!important;}
.age-gate{
  background:var(--paper-3);color:var(--ink);
  max-width:470px;width:calc(100% - 2.4rem);margin:auto;
  padding:2.7rem 2.1rem 2.3rem;border-radius:5px;
  border:1px solid var(--line);box-shadow:0 34px 80px rgba(0,0,0,.55);
  position:relative;text-align:center;
}
.age-gate::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--gold);border-radius:5px 5px 0 0;}
.age-gate__form{margin:0;}
.age-gate__heading{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin:0;}
.age-gate__heading::before{content:"";width:132px;height:76px;background:url(assets/images/logo.png) center/contain no-repeat;margin-bottom:.9rem;}
.age-gate__heading-title{font-family:var(--serif);font-size:1.55rem;color:var(--forest);margin:0;line-height:1.15;letter-spacing:-.01em;}
.age-gate__subheadline{font-family:var(--sans);color:var(--muted);font-size:.92rem;line-height:1.5;margin:.7rem auto 0;max-width:34ch;}
.age-gate__subheadline:empty{display:none;}
.age-gate__fields{margin:1.7rem 0 0;}
.age-gate__form-elements{list-style:none;display:flex;justify-content:center;gap:.7rem;padding:0;margin:0;}
.age-gate__form-section{display:flex;flex-direction:column;gap:.35rem;}
.age-gate__label{font-family:var(--sans);font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.age-gate__input{
  width:74px;text-align:center;font-size:1.1rem;font-family:var(--sans);color:var(--ink);
  padding:.6rem .3rem;border:1px solid var(--line);border-radius:3px;background:#fff;-webkit-appearance:none;appearance:none;
}
.age-gate__input--year{width:98px;}
.age-gate__input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.age-gate__submit{margin-top:1.6rem;}
.age-gate__submit button,.age-gate__submit .age-gate__submit-button{
  background:var(--gold);color:var(--forest-deep);border:0;border-radius:2px;cursor:pointer;
  font-family:var(--sans);font-weight:800;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.9rem 2.6rem;transition:background .15s;
}
.age-gate__submit button:hover{background:var(--gold-deep);}
/* Yes/No confirm mode */
.age-gate__challenge{display:none;} /* redundant with the heading question */
.age-gate__buttons{display:flex;justify-content:center;gap:.8rem;margin-top:1.7rem;}
.age-gate__buttons .age-gate__submit{margin:0;border-radius:2px;cursor:pointer;font-family:var(--sans);font-weight:800;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2.5rem;transition:background .15s,border-color .15s,color .15s;}
.age-gate__buttons .age-gate__submit--yes{background:var(--gold)!important;color:var(--forest-deep)!important;border:1.5px solid var(--gold)!important;}
.age-gate__buttons .age-gate__submit--yes:hover{background:var(--gold-deep)!important;border-color:var(--gold-deep)!important;}
.age-gate__buttons .age-gate__submit--no{background:transparent!important;color:var(--muted)!important;border:1.5px solid var(--line)!important;}
.age-gate__buttons .age-gate__submit--no:hover{color:var(--clay)!important;border-color:var(--clay)!important;}
.age-gate__errors,.age-gate__error{color:var(--clay);font-family:var(--sans);font-size:.85rem;font-weight:600;margin-top:.9rem;}
.age-gate__form::after{content:"Indigenous-owned · On-reserve · Ships across Canada";display:block;margin-top:1.7rem;padding-top:1.2rem;border-top:1px solid var(--line);font-family:var(--sans);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);}
@media(max-width:480px){
  .age-gate{padding:2.2rem 1.4rem 1.9rem;}
  .age-gate__heading::before{width:112px;height:64px;}
  .age-gate__input{width:64px;}
  .age-gate__input--year{width:84px;}
}

/* ============ Spin-to-win + promos ============ */
.ns-spin[hidden]{display:none;}
.ns-spin{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:1.2rem;}
.ns-spin__backdrop{position:absolute;inset:0;background:rgba(10,20,14,.66);}
.ns-spin__modal{position:relative;z-index:1;width:100%;max-width:430px;max-height:94vh;overflow:auto;background:var(--paper-3);border:1px solid var(--gold);border-radius:12px;padding:2.2rem 1.6rem 1.6rem;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.ns-spin__close{position:absolute;top:.3rem;right:.4rem;width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.ns-spin__close:hover{color:var(--ink);background:rgba(0,0,0,.05);}
.ns-spin__eyebrow{font-family:var(--sans);font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);}
.ns-spin__title{font-family:var(--serif);font-size:1.7rem;color:var(--forest);margin:.3rem 0;}
.ns-spin__sub{color:var(--muted);font-size:.9rem;max-width:34ch;margin:0 auto;line-height:1.5;}
.ns-wheel{position:relative;width:284px;height:284px;margin:1.4rem auto 2rem;}
.ns-wheel__glow{position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle,rgba(214,161,66,.5),rgba(214,161,66,0) 70%);filter:blur(6px);z-index:0;animation:ns-glow 2.4s ease-in-out infinite;}
@keyframes ns-glow{0%,100%{opacity:.5;}50%{opacity:1;}}
.ns-wheel__disc{position:relative;z-index:1;width:100%;height:100%;border-radius:50%;border:9px solid #fbeecb;box-shadow:0 0 0 5px var(--gold),0 0 0 10px var(--gold-deep),0 0 0 11px rgba(0,0,0,.18),0 16px 38px rgba(0,0,0,.46),inset 0 0 26px rgba(0,0,0,.34);will-change:transform;}
.ns-wheel__lbl{position:absolute;left:50%;top:11px;height:calc(50% - 11px);transform-origin:bottom center;display:flex;align-items:flex-start;justify-content:center;pointer-events:none;}
.ns-wheel__lbl>span{font-family:var(--sans);font-weight:800;font-size:.7rem;color:#fff;letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.65);}
.ns-wheel__lbl.is-jackpot>span{font-size:.8rem;font-weight:900;color:#ffe9b0;text-shadow:0 0 7px rgba(255,220,130,.95),0 1px 3px rgba(0,0,0,.75);animation:ns-jackglow 1s ease-in-out infinite;}
.ns-wheel__lbl.is-bonus>span{font-weight:900;color:#eafcf7;text-shadow:0 0 6px rgba(120,240,220,.85),0 1px 3px rgba(0,0,0,.6);}
.ns-wheel__lbl.is-loss>span{font-weight:700;font-size:.66rem;color:#dbe6de;text-shadow:0 1px 2px rgba(0,0,0,.75);}
@keyframes ns-jackglow{0%,100%{filter:brightness(1);}50%{filter:brightness(1.45);}}
.ns-wheel__pin{position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:24px solid var(--clay);z-index:5;filter:drop-shadow(0 3px 3px rgba(0,0,0,.45));}
.ns-wheel__hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#f3e2b8 60%,#d8ac52);border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.35),inset 0 0 0 2px var(--gold-deep);z-index:6;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.ns-wheel__hub b{font-family:var(--sans);font-weight:900;font-size:.72rem;letter-spacing:.09em;color:var(--forest-deep);}
.ns-wheel__hub:hover{filter:brightness(1.05);}
.ns-spin__bonus{font-family:var(--sans);font-weight:800;font-size:.98rem;color:var(--clay);margin:.9rem auto .1rem;max-width:32ch;animation:ns-pop .4s ease;}
.ns-spin__bonus[hidden]{display:none;}
@keyframes ns-pop{0%{transform:scale(.7);opacity:0;}100%{transform:scale(1);opacity:1;}}
.ns-spin__confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:10;opacity:0;transition:opacity .3s;}
.ns-spin__spinbtn[hidden],.ns-spin__claim[hidden],.ns-spin__result[hidden]{display:none;}
.ns-spin__spinbtn{margin:1.1rem auto 0;min-width:230px;justify-content:center;}
.ns-spin__spinbtn.is-bonus{animation:ns-pulse 1.1s ease-in-out infinite;}
@keyframes ns-pulse{0%{box-shadow:0 0 0 0 rgba(198,154,62,.6);}70%{box-shadow:0 0 0 15px rgba(198,154,62,0);}100%{box-shadow:0 0 0 0 rgba(198,154,62,0);}}
.ns-spin__claim{margin:1rem auto 0;max-width:330px;display:flex;flex-direction:column;gap:.55rem;}
.ns-spin__claim .ns-spin__won{font-size:1.35rem;margin:0 0 .1rem;}
.ns-spin__claim .ns-spin__wondesc{margin:0 0 .5rem;}
.ns-spin__consentnote{margin:.1rem auto 0;max-width:30ch;font-family:var(--sans);font-size:.72rem;line-height:1.4;color:var(--muted);}
.ns-spin__email{padding:.8rem .95rem;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-family:var(--sans);font-size:.95rem;text-align:center;}
.ns-spin__email:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.ns-spin__go{width:100%;justify-content:center;}
.ns-spin__msg{margin:.2rem 0 0;font-family:var(--sans);font-size:.82rem;}
.ns-spin__msg.is-error{color:var(--clay);}
.ns-spin__fine{margin:.9rem 0 0;font-family:var(--sans);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.ns-spin__won{font-family:var(--serif);font-size:1.5rem;color:var(--forest);margin-top:.4rem;}
.ns-spin__won b{color:var(--clay);}
.ns-spin__wondesc{color:var(--muted);font-size:.9rem;margin:.4rem auto .9rem;max-width:32ch;}
.ns-spin__code{background:#fff;border:1.5px dashed var(--gold);border-radius:6px;padding:.75rem;font-family:var(--sans);font-size:1rem;color:var(--ink);}
.ns-spin__code b{color:var(--gold-deep);font-weight:800;letter-spacing:.05em;}
.ns-spin__applied{font-family:var(--sans);font-size:.82rem;font-weight:700;color:var(--muted);margin:.7rem auto 0;max-width:34ch;}
.ns-spin__applied.is-ok{color:var(--forest-soft);}
.ns-spin__note{color:var(--muted);font-size:.78rem;margin:.5rem auto 0;max-width:34ch;}
.ns-spin__shop{margin-top:1rem;justify-content:center;}
body.ns-spin-open{overflow:hidden;}
.ns-spin-tab{position:fixed;left:0;bottom:96px;z-index:99998;background:var(--gold);color:#241c07;border:0;border-radius:0 6px 6px 0;padding:.6rem .75rem;font-family:var(--sans);font-weight:800;font-size:.7rem;letter-spacing:.03em;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.ns-spin-tab:hover{background:#d8ac52;}
@media(max-width:420px){ .ns-wheel{width:228px;height:228px;} .ns-spin__title{font-size:1.45rem;} }

/* ============ 404 ============ */
.ns-404{padding:4.5rem 1.4rem 5.5rem;}
.ns-404__in{max-width:720px;margin:0 auto;}
.ns-404 .ns-frame{text-align:center;padding:3.4rem 2rem 3.6rem;}
.ns-404__title{font-family:var(--serif);font-size:clamp(2rem,5vw,3rem);color:var(--forest);margin:.7rem 0 0;line-height:1.1;}
.ns-404__sub{color:var(--muted);font-size:1.05rem;max-width:48ch;margin:1rem auto 0;line-height:1.6;}
.ns-404__cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.9rem;}
.ns-404__links{display:flex;gap:.9rem 1.4rem;justify-content:center;flex-wrap:wrap;margin-top:2.1rem;padding-top:1.6rem;border-top:1px solid var(--line);}
.ns-404__links a{font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--forest);}
.ns-404__links a:hover{color:var(--gold-deep);}
.ns-404 .ns-btn--ghost{border-color:rgba(22,65,42,.4);color:var(--forest);}
.ns-404 .ns-btn--ghost:hover{border-color:var(--forest);color:var(--forest);background:rgba(22,65,42,.06);}

/* ============ Checkout: e-Transfer only — no billing address ============ */
/* Billing silently mirrors shipping (checkbox stays checked); hide the toggle so the form is shipping-only. */
.wc-block-checkout__use-address-for-billing{display:none !important;}

/* Cart: "Proceed to Checkout" disabled below the $50 minimum. */
.wc-block-cart__submit-button.ns-checkout-blocked{opacity:.45 !important;pointer-events:none !important;cursor:not-allowed !important;filter:grayscale(.45);}
/* While below the minimum, the min-order error must stay put (non-dismissible). */
body.ns-below-min .wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__dismiss{display:none !important;}
