/*
Theme Name: CRAFT BAZAR WooCommerce Theme
Theme URI: https://craftbazarbd.com
Author: CRAFT BAZAR
Author URI: https://craftbazarbd.com
Description: CRAFT BAZAR WooCommerce theme — premium handmade heritage crafts. Vintage editorial design, fully dynamic WooCommerce products, orders and checkout.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: craft-bazar
Tags: e-commerce, custom-colors, custom-logo, custom-menu, featured-images, translation-ready
WC requires at least: 8.0
WC tested up to: 9.3
*/

:root{
  --ink:#17110C; --ink2:#1E160F; --ink3:#241A12; --ink4:#140F0A;
  --parchment:#F4EBDD; --parchment2:#EFE3CE;
  --cream:#F6EEE0; --cream2:#F2E7D4; --cream3:#EADCC2;
  --muted:#A8977E; --muted2:#9F8E76; --muted3:#8E7C63; --muted4:#7C6C55;
  --gold:#B08D4F; --gold2:#C7A45F; --gold3:#D8B978;
  --olive:#6E7355;
  --hair:rgba(199,164,95,.22); --hair2:rgba(199,164,95,.3);
  --serif:'Cormorant Garamond',Georgia,serif;
  --display:'Bodoni Moda',Georgia,serif;
  --body:'Karla',system-ui,-apple-system,sans-serif;
  --mono:'DM Mono',ui-monospace,monospace;
  --pad:clamp(16px,4vw,56px);
  --sec:clamp(72px,10vw,140px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--parchment);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold2);text-decoration:none;transition:color .3s ease}
a:hover{color:#E4C888}
h1,h2,h3,h4{margin:0;font-weight:400;font-family:var(--serif);text-wrap:pretty}
p{margin:0 0 1em;text-wrap:pretty}
button,input,select,textarea{font-family:inherit;font-size:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;left:16px;top:16px;z-index:999;background:var(--gold);color:var(--ink);padding:12px 18px}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto}
.em{font-style:italic;color:var(--gold3)}
.em-olive{font-style:italic;color:var(--olive)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2);display:block}
.rule{width:64px;height:1px;background:var(--gold);margin:0 0 26px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px var(--pad);background:rgba(23,17,12,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.brand{display:flex;align-items:center;gap:12px;color:var(--parchment)}
.brand:hover{color:var(--parchment)}
.brand img{width:48px;height:48px;object-fit:cover;object-position:50% 34%;background:#F6EFE0;border:1px solid rgba(199,164,95,.35)}
.brand-name{font-family:var(--serif);font-size:22px;line-height:1;letter-spacing:.16em;text-transform:uppercase;display:block}
.brand-tag{font-family:var(--mono);font-size:8px;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;display:block;margin-top:3px}
.nav-main{display:flex;align-items:center;gap:clamp(12px,2.2vw,28px)}
.nav-main ul{display:flex;align-items:center;gap:clamp(12px,2.2vw,28px);list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
.nav-main a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#D9C9AF}
.nav-main a:hover,.nav-main .current-menu-item>a{color:var(--gold3)}
.cart-link{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--gold);color:var(--cream3);font-size:12px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.cart-link:hover{background:rgba(199,164,95,.12);color:var(--cream)}
.cart-link .count{font-family:var(--mono)}
.nav-toggle{display:none;background:transparent;border:1px solid var(--hair2);color:var(--cream3);padding:10px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
@media(max-width:860px){
  .nav-toggle{display:block}
  .nav-main{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--ink2);border-bottom:1px solid var(--hair);padding:8px var(--pad) 18px;display:none}
  .nav-main.open{display:flex}
  .nav-main ul{flex-direction:column;align-items:stretch;gap:0}
  .nav-main li{border-bottom:1px solid rgba(199,164,95,.12)}
  .nav-main ul a{display:block;padding:15px 0;font-size:13px}
  .cart-link{margin-top:16px;justify-content:center;padding:15px 18px}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(92vh,860px);display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:center;gap:clamp(32px,5vw,72px);padding:clamp(56px,8vw,120px) var(--pad);background:radial-gradient(120% 90% at 18% 12%,#3A2A1E 0%,#241A12 45%,#17110C 100%)}
.hero::before{content:"";position:absolute;inset:0;opacity:.16;background-image:repeating-linear-gradient(90deg,rgba(199,164,95,.25) 0 1px,transparent 1px 96px);pointer-events:none}
.hero-copy{position:relative;max-width:640px}
.hero-label{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.hero-label span:first-child{width:44px;height:1px;background:var(--gold);display:block;flex:0 0 44px}
.hero-label span:last-child{font-family:var(--mono);font-size:11px;letter-spacing:.34em;color:var(--gold2);text-transform:uppercase}
.hero h1{font-size:clamp(40px,6.4vw,82px);line-height:1.03;letter-spacing:-.01em;margin-bottom:26px;color:var(--cream)}
.hero-sub{font-size:clamp(15px,1.5vw,18px);line-height:1.75;color:#C6B79E;max-width:52ch;margin-bottom:38px;font-weight:300}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 34px;background:var(--gold);color:#1B130D;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:0;cursor:pointer;transition:background .32s ease,transform .32s ease,color .32s ease}
.btn:hover{background:var(--gold3);color:#1B130D;transform:translateY(-2px)}
.btn-ghost{background:transparent;border:1px solid rgba(199,164,95,.5);color:var(--cream3)}
.btn-ghost:hover{background:rgba(199,164,95,.12);border-color:var(--gold2);color:var(--cream);transform:none}
.scroll-cue{display:flex;align-items:center;gap:12px;margin-top:clamp(44px,6vw,76px)}
.scroll-cue .mouse{position:relative;width:22px;height:36px;border:1px solid rgba(199,164,95,.55);border-radius:12px;display:block;flex:0 0 22px}
.scroll-cue .dot{position:absolute;left:50%;top:8px;width:3px;height:6px;margin-left:-1.5px;background:var(--gold2);border-radius:2px;animation:cb-dot 2.2s ease-in-out infinite}
.scroll-cue span:last-child{font-family:var(--mono);font-size:10px;letter-spacing:.28em;color:var(--muted3);text-transform:uppercase}
@keyframes cb-dot{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(26px);opacity:0}}
.hero-art{position:relative;display:grid;grid-template-columns:1.25fr .85fr;gap:16px;align-items:end}
.frame{border:1px solid rgba(199,164,95,.32);padding:10px;background:var(--ink3)}
.frame .fill{width:100%;height:100%;overflow:hidden;background:#E8DBC5}
.frame .fill img{width:100%;height:100%;object-fit:cover}
.hero-art .a{grid-row:span 2;aspect-ratio:3/4.1}
.hero-art .b{aspect-ratio:1/1;animation:cb-float 9s ease-in-out infinite}
.hero-art .c{aspect-ratio:4/3;animation:cb-float-slow 11s ease-in-out infinite}
@keyframes cb-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(1.2deg)}}
@keyframes cb-float-slow{0%,100%{transform:translateY(0)}50%{transform:translateY(-22px)}}

/* ---------- ticker ---------- */
.ticker{display:flex;align-items:center;gap:clamp(16px,4vw,40px);padding:22px var(--pad);background:var(--ink2);border-top:1px solid rgba(199,164,95,.18);border-bottom:1px solid rgba(199,164,95,.18)}
.ticker span{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--muted3);text-transform:uppercase;white-space:nowrap}
.ticker i{flex:1;height:1px;background:rgba(199,164,95,.25);display:block}

/* ---------- sections ---------- */
.sec{padding:var(--sec) var(--pad)}
.sec-ink{background:var(--ink3)}
.sec-ink2{background:var(--ink2)}
.sec-paper{background:var(--parchment);color:#2B1F15}
.sec-paper .eyebrow{color:#8A6B3C}
.sec-paper h2{color:#241A12}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(30px,4vw,52px)}
.sec-head h2{font-size:clamp(32px,4.4vw,58px);line-height:1.1;margin-top:16px;color:var(--parchment)}
.sec-head p{max-width:38ch;font-size:15px;line-height:1.8;color:var(--muted2);font-weight:300;margin:0}
.link-more{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold3);border-bottom:1px solid rgba(216,185,120,.4);padding-bottom:6px}

/* ---------- product cards ---------- */
.products-grid,ul.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(24px,3.2vw,48px);list-style:none;margin:0;padding:0}
.shop-cols ul.products{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.cb-card{display:flex;flex-direction:column;background:var(--ink2);border:1px solid rgba(199,164,95,.24);padding:clamp(14px,1.4vw,20px);transition:border-color .52s cubic-bezier(.16,.84,.44,1),transform .52s cubic-bezier(.16,.84,.44,1),box-shadow .52s ease;margin:0}
.cb-card:hover{border-color:var(--gold2);transform:translateY(-8px);box-shadow:0 34px 70px rgba(0,0,0,.42)}
.cb-media{position:relative;overflow:hidden;background:#E8DBC5;aspect-ratio:4/4.5}
.cb-media .zoom{position:absolute;inset:0;transition:transform .9s cubic-bezier(.16,.84,.44,1)}
.cb-card:hover .cb-media .zoom{transform:scale(1.06)}
.cb-media img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:14px;font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:6px 11px;z-index:2}
.badge-stock{left:14px;color:var(--parchment);background:rgba(23,17,12,.86);border:1px solid rgba(199,164,95,.35)}
.badge-offer{right:14px;color:#1B130D;background:var(--gold2)}
.badge-soon{right:14px;color:var(--ink2);background:var(--olive)}
.cb-body{display:flex;flex-direction:column;flex:1;padding:clamp(22px,2.4vw,34px) clamp(8px,1vw,14px) clamp(8px,1vw,12px)}
.cb-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cb-meta span{font-family:var(--mono);font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:#8A7351}
.cb-meta i{flex:1;height:1px;background:rgba(199,164,95,.24);display:block}
.cb-card h3,.cb-card .woocommerce-loop-product__title{font-family:var(--display);font-weight:400;font-size:clamp(27px,2.5vw,36px);line-height:1.12;letter-spacing:-.005em;margin:0 0 16px;color:var(--cream);padding:0}
.cb-card h3 a{color:inherit}
.cb-card h3 a:hover{color:var(--gold3)}
.cb-blurb{font-size:15px;line-height:1.8;font-weight:300;color:var(--muted);margin:0 0 26px;max-width:46ch}
.cb-foot{margin-top:auto}
.cb-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(199,164,95,.18)}
.cb-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--display);font-size:clamp(28px,2.6vw,36px);line-height:1;color:var(--gold3)}
.cb-price del{font-size:17px;color:var(--muted4);text-decoration:line-through}
.cb-price ins{text-decoration:none;color:var(--gold3)}
.cb-price .amount{font-family:var(--display)}
.cb-save{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#C9DCAF;border:1px solid rgba(110,115,85,.8);padding:6px 11px;white-space:nowrap}
.cb-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin-top:24px}
.cb-actions .btn{padding:18px 14px;font-size:10px;letter-spacing:.22em}
.cb-soon{display:block;text-align:center;padding:18px 14px;border:1px solid rgba(124,108,85,.5);color:var(--muted4);font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.cb-card.is-soon{border-style:dashed}

/* ---------- editorial ---------- */
.editorial{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,80px);align-items:center}
.editorial-art{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.editorial-art .big{grid-column:1/span 5;aspect-ratio:4/5;border:1px solid rgba(107,74,46,.35);padding:10px;background:var(--parchment2)}
.editorial-art .small{grid-column:4/span 3;margin-top:-22%;aspect-ratio:1/1;border:1px solid rgba(107,74,46,.35);padding:8px;background:var(--parchment);box-shadow:0 24px 60px rgba(43,31,21,.18)}
.editorial-art .fill{width:100%;height:100%;overflow:hidden;background:#E8DBC5}
.editorial-art .fill img{width:100%;height:100%;object-fit:cover}
.editorial-copy{max-width:560px}
.editorial-copy h2{font-size:clamp(32px,4.4vw,58px);line-height:1.08;margin:18px 0 26px}
.editorial-copy p{font-size:17px;line-height:1.82;color:#4A3826;font-weight:300;margin-bottom:34px}
.btn-ink{border:1px solid #6B4A2E;background:transparent;color:#3A2A1E}
.btn-ink:hover{background:#3A2A1E;color:var(--parchment);transform:none}

/* ---------- values ---------- */
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(107,74,46,.25);border:1px solid rgba(107,74,46,.25)}
.values>div{background:var(--parchment);padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:16px;transition:background .35s ease}
.values>div:hover{background:var(--parchment2)}
.values .no{font-family:var(--mono);font-size:10px;letter-spacing:.26em;color:#8A6B3C}
.values .dia{width:34px;height:34px;border:1px solid #6B4A2E;transform:rotate(45deg);display:block}
.values h3{font-size:26px;line-height:1.2;margin:12px 0 0;color:#2B1F15}
.values p{font-size:14px;line-height:1.75;color:#5B4630;font-weight:300;margin:0}

/* ---------- story / quote ---------- */
.story{position:relative;padding:clamp(80px,11vw,160px) var(--pad);background:linear-gradient(180deg,#1B130D 0%,#2E2116 55%,#1B130D 100%);overflow:hidden}
.story::before{content:"";position:absolute;inset:0;opacity:.14;background-image:repeating-linear-gradient(45deg,rgba(199,164,95,.3) 0 1px,transparent 1px 22px);pointer-events:none}
.story-in{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,72px);align-items:center}
.quote{margin:0;border:1px solid var(--hair2);padding:clamp(30px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:clamp(22px,2.6vw,32px);background:rgba(23,17,12,.35)}
.quote .mark{font-family:var(--display);font-size:clamp(56px,7vw,92px);line-height:.7;color:var(--gold);display:block}
.quote blockquote{margin:0;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(24px,2.9vw,38px);line-height:1.34;color:var(--cream2)}
.quote figcaption{display:flex;align-items:center;gap:14px}
.quote figcaption i{width:38px;height:1px;background:var(--gold);display:block}
.quote figcaption span{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.story-copy{max-width:560px}
.story-copy h2{font-size:clamp(34px,5vw,66px);line-height:1.06;margin:18px 0 26px;color:var(--cream)}
.story-copy p{font-size:17px;line-height:1.85;color:#BCAB92;font-weight:300;margin-bottom:36px;max-width:50ch}

/* ---------- cta ---------- */
.cta{position:relative;padding:clamp(90px,13vw,180px) var(--pad);background:radial-gradient(100% 120% at 50% 0%,#3A2A1E 0%,#1B130D 70%);text-align:center;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;opacity:.18;background-image:repeating-linear-gradient(0deg,rgba(199,164,95,.25) 0 1px,transparent 1px 84px);pointer-events:none}
.cta-in{position:relative;max-width:760px;margin:0 auto}
.cta img.mark{width:112px;height:112px;object-fit:cover;object-position:50% 30%;background:#F6EFE0;border:1px solid var(--hair2);margin:0 auto 30px}
.cta h2{font-size:clamp(36px,5.6vw,72px);line-height:1.06;margin-bottom:24px;color:var(--cream)}
.cta p{font-size:17px;line-height:1.8;color:#BCAB92;font-weight:300;margin:0 auto 40px;max-width:52ch}
.cta-social{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,3vw,28px);margin-top:38px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.cta-social a{color:var(--gold2)}
.cta-social i{color:#6B5B47;font-style:normal}

/* ---------- footer ---------- */
.site-footer{padding:clamp(56px,7vw,96px) var(--pad) 32px;background:var(--ink4);border-top:1px solid rgba(199,164,95,.2)}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(28px,4vw,56px)}
.foot-brand{max-width:36ch}
.foot-brand img{width:180px;height:180px;object-fit:contain;background:#F6EFE0;border:1px solid rgba(199,164,95,.28);padding:10px;margin-bottom:20px}
.foot-brand p{font-size:14px;line-height:1.8;color:var(--muted3);font-weight:300;margin:0}
.foot-col{display:flex;flex-direction:column;gap:12px}
.foot-col h4{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold2);margin-bottom:6px}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot-col a{font-size:14px;color:var(--muted)}
.foot-bottom{margin:clamp(40px,5vw,64px) auto 0;padding-top:24px;border-top:1px solid rgba(199,164,95,.14);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.foot-bottom span{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:#6B5B47;text-transform:uppercase}

/* ---------- page / post ---------- */
.page-hero{padding:clamp(48px,7vw,96px) var(--pad) 0;background:var(--ink3)}
.page-hero h1{font-size:clamp(32px,4.6vw,62px);line-height:1.08;margin-top:16px;color:var(--parchment)}
.page-body{padding:clamp(36px,5vw,64px) var(--pad) var(--sec);background:var(--ink3)}
.page-body .wrap{max-width:820px}
.page-body p,.page-body li{color:#BCAB92;font-weight:300;line-height:1.85;font-size:16px}
.page-body h2{font-size:clamp(26px,3vw,38px);margin:1.6em 0 .6em;color:var(--cream2)}
.page-body h3{font-size:22px;margin:1.4em 0 .5em;color:var(--cream2)}
.page-body img{margin:2em 0}
.page-body blockquote{border-left:1px solid var(--gold);margin:2em 0;padding-left:24px;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--cream2)}
.post-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,3vw,36px)}
.post-card{border:1px solid var(--hair);background:var(--ink2);padding:clamp(18px,2vw,26px)}
.post-card h2{font-size:26px;margin-bottom:10px}
.post-card time{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted4)}
.pagination{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px}
.pagination .page-numbers{padding:10px 16px;border:1px solid var(--hair);font-family:var(--mono);font-size:11px;color:var(--cream3)}
.pagination .current{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.search-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.search-form input[type=search]{flex:1;min-width:200px;padding:14px 16px;background:var(--ink2);border:1px solid var(--hair2);color:var(--parchment)}

/* ---------- 404 ---------- */
.err{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--sec) var(--pad);background:var(--ink3)}
.err h1{font-family:var(--display);font-size:clamp(60px,12vw,140px);line-height:1;color:var(--gold3)}
.err h2{font-size:clamp(26px,3.4vw,42px);margin:20px 0 16px;color:var(--cream)}
.err p{color:var(--muted);font-weight:300;margin-bottom:32px}

/* ---------- WooCommerce ---------- */
.woocommerce-page .shop-main{padding:clamp(36px,5vw,64px) var(--pad) var(--sec);background:var(--ink3)}
.woocommerce .woocommerce-breadcrumb{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted4);margin-bottom:28px}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-products-header__title,.woocommerce-loop-product__title{font-family:var(--serif)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--muted2)}
.woocommerce .woocommerce-ordering select{padding:10px 12px;background:var(--ink2);border:1px solid var(--hair2);color:var(--cream3)}
.woocommerce span.onsale{position:absolute;top:14px;right:14px;left:auto;background:var(--gold2);color:#1B130D;font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:6px 11px;border-radius:0;min-height:0;min-width:0;line-height:1.4;margin:0}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--gold3);font-family:var(--display);font-size:clamp(26px,2.4vw,34px)}
.woocommerce div.product p.price del,.woocommerce ul.products li.product .price del{color:var(--muted4);font-size:.55em}
.woocommerce div.product p.price ins,.woocommerce ul.products li.product .price ins{text-decoration:none}

.woocommerce div.product{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,4vw,64px);align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{margin:0;width:auto;float:none}
.woocommerce div.product div.images img{border:1px solid var(--hair)}
.woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.woocommerce div.product .flex-control-thumbs li{width:auto;float:none;margin:0}
.woocommerce div.product .product_title{font-size:clamp(30px,4vw,52px);line-height:1.1;margin:10px 0 14px;color:var(--cream)}
.woocommerce div.product .woocommerce-product-details__short-description,.woocommerce div.product #tab-description{color:#BCAB92;font-weight:300;line-height:1.85}
.woocommerce div.product .stock{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);border:1px solid rgba(110,115,85,.6);padding:5px 10px;display:inline-block}
.woocommerce div.product .out-of-stock{color:#C98B7A;border-color:rgba(201,139,122,.5)}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;margin:28px 0 0}
.woocommerce .quantity .qty{width:88px;height:52px;padding:0 12px;text-align:center;background:var(--ink2);border:1px solid rgba(199,164,95,.4);color:var(--parchment)}
.woocommerce div.product form.cart .button{flex:1;min-width:180px}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--gold);color:#1B130D;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  padding:18px 26px;border:0;border-radius:0;line-height:1.2;transition:background .34s ease,transform .34s ease}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background:var(--gold3);color:#1B130D;transform:translateY(-2px)}
.woocommerce a.button.wc-backward{background:transparent;border:1px solid rgba(199,164,95,.5);color:var(--cream3)}
.woocommerce .product_meta{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted4);margin-top:28px;padding-top:20px;border-top:1px solid var(--hair);display:block}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:clamp(30px,4vw,56px)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;display:flex;gap:10px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:1px solid var(--hair);border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:13px 20px;color:var(--muted);display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink2);border-color:var(--gold2)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--cream)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:26px;margin-bottom:14px;color:var(--cream2)}
.woocommerce table.shop_attributes{border:1px solid var(--hair);border-collapse:collapse;width:100%}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border-bottom:1px solid rgba(199,164,95,.14);padding:14px 18px;background:var(--ink2);font-style:normal}
.woocommerce table.shop_attributes th{font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);font-weight:400;width:34%}
.woocommerce table.shop_attributes td{color:#BCAB92}
.related.products,.up-sells{grid-column:1/-1;margin-top:clamp(40px,6vw,90px)}
.related.products>h2,.up-sells>h2,.cross-sells>h2{font-size:clamp(26px,3vw,40px);margin-bottom:28px;color:var(--parchment)}

.woocommerce table.shop_table,.woocommerce-cart table.cart{border:1px solid var(--hair);border-collapse:collapse;border-radius:0;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-top:0;border-bottom:1px solid rgba(199,164,95,.14);padding:16px 14px;color:var(--cream3);background:var(--ink2)}
.woocommerce table.shop_table th{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);font-weight:400}
.woocommerce-cart table.cart img{width:78px;border:1px solid var(--hair)}
.woocommerce-cart table.cart td.product-name a{font-family:var(--serif);font-size:19px;color:var(--cream2)}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
.woocommerce-cart .cart-collaterals .cart_totals h2{font-size:26px;margin-bottom:18px;color:var(--parchment)}
.woocommerce .cart-collaterals{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(24px,3vw,44px)}
.woocommerce .cart_totals table.shop_table{border:1px solid var(--hair2)}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;width:100%}
.woocommerce form .form-row{padding:0;margin:0 0 18px}
.woocommerce form .form-row label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted2);margin-bottom:8px;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  padding:14px 16px;background:var(--ink2);border:1px solid var(--hair2);color:var(--parchment);width:100%;height:auto;border-radius:0}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{color:var(--parchment);line-height:1.4;padding:0}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-size:26px;margin:0 0 20px;color:var(--parchment)}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,3vw,44px)}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:auto;float:none}
.woocommerce #payment,.woocommerce-checkout #payment{background:var(--ink2);border:1px solid var(--hair);border-radius:0;padding:22px}
.woocommerce #payment div.payment_box{background:var(--ink3);color:var(--muted);font-size:13px}
.woocommerce #payment div.payment_box::before{border-bottom-color:var(--ink3)}
.woocommerce #payment ul.payment_methods{border-bottom:1px solid var(--hair);padding:0 0 14px}
.woocommerce #payment ul.payment_methods li{list-style:none;color:var(--cream3)}
.woocommerce-order,.woocommerce-order-received .woocommerce-thankyou-order-received{color:var(--cream2)}
.woocommerce ul.order_details{padding:0;margin:0 0 30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.woocommerce ul.order_details li{float:none;margin:0;padding:18px;border:0;background:var(--ink2);font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted4)}
.woocommerce ul.order_details li strong{display:block;margin-top:8px;font-family:var(--body);font-size:15px;letter-spacing:normal;text-transform:none;color:var(--cream2)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--ink2);border-top:2px solid var(--gold2);color:var(--cream3);border-radius:0;padding:18px 18px 18px 46px;margin-bottom:24px;list-style:none}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--gold2)}
.woocommerce-error{border-top-color:#C98B7A}
.woocommerce .woocommerce-message a.button{padding:12px 18px}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:10px;flex-wrap:wrap}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:11px 17px;border:1px solid var(--hair);font-family:var(--mono);font-size:11px;color:var(--cream3)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.woocommerce .woocommerce-MyAccount-navigation a{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--hair);padding:11px 16px;display:block}
.woocommerce form.login,.woocommerce form.register,.woocommerce-ResetPassword{border:1px solid var(--hair);border-radius:0;padding:26px}

/* ---------- category cards ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,3vw,36px)}
.cat-card{position:relative;display:block;border:1px solid rgba(199,164,95,.28);background:var(--ink3);padding:clamp(18px,2vw,26px);color:inherit;transition:border-color .4s ease,transform .4s ease}
.cat-card:hover{border-color:var(--gold2);transform:translateY(-6px);color:inherit}
.cat-card .fill{aspect-ratio:4/3.4;overflow:hidden;background:#E8DBC5}
.cat-card .fill img{width:100%;height:100%;object-fit:cover}
.cat-card.soon .fill{filter:saturate(.72) brightness(.86)}
.cat-card .row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:26px}
.cat-card h3{font-size:clamp(26px,2.6vw,34px);color:var(--cream)}
.cat-card.soon h3{color:#D9C9AF}
.cat-card .num{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--olive);text-transform:uppercase}
.cat-card p{font-size:15px;line-height:1.75;color:var(--muted);font-weight:300;margin:14px 0 24px;max-width:44ch}
.cat-card .go{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold3);border-bottom:1px solid rgba(216,185,120,.45);padding-bottom:6px}
.cat-card.soon .go{color:var(--muted4);border-bottom-color:rgba(124,108,85,.4)}

/* ---------- contact cards ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.contact-grid a{background:var(--ink2);padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;gap:10px;color:inherit;transition:background .32s ease}
.contact-grid a:hover{background:var(--ink3);color:inherit}
.contact-grid .k{font-family:var(--mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted4)}
.contact-grid .v{font-family:var(--serif);font-size:26px;color:var(--cream2)}
.contact-grid .d{font-size:13px;color:var(--muted)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.16,.84,.44,1),transform .9s cubic-bezier(.16,.84,.44,1)}
.reveal.is-in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* ---------- float button ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;background:var(--gold);color:#1B130D;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.wa-float:hover{background:var(--gold3);color:#1B130D}
@media(max-width:600px){.wa-float{right:12px;bottom:12px;padding:13px 16px;font-size:9px}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
@media(max-width:700px){
  .hero{min-height:0}
  .hero-art{grid-template-columns:1fr 1fr}
  .hero-art .a{grid-row:auto;grid-column:1/-1;aspect-ratio:4/3.4}
  .editorial-art .big{grid-column:1/span 6}
  .editorial-art .small{grid-column:3/span 4;margin-top:-16%}
  .cb-actions{grid-template-columns:1fr}
  .ticker i{display:none}
  .ticker{flex-wrap:wrap;gap:10px 18px}
}
