/* ============================================================
   ZARJANA — presentation-only theme
   Minimal, editorial, mobile-first.
   ============================================================ */

:root{
	--paper:#FDFBF7;
	--ink:#1A1714;
	--soft:#8a8073;
	--line:#E9E1D3;
	--gold:#B08D3E;
	--gold-soft:#E9D9AE;
	--burgundy:#7A1F2B;
	--pine:#1E3A2B;
	--serif:'Cormorant Garamond',Georgia,serif;
	--sans:'Inter',-apple-system,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}

/* ---------- shared ---------- */
.zwrap{max-width:1200px;margin:0 auto;padding:0 24px}
.zeyebrow{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.zrule{width:56px;height:1px;background:var(--gold);margin:22px auto}
.zlink{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:7px}
.zdots{display:flex;gap:7px;justify-content:center;padding:20px 0;align-items:center}
.zdots i{width:7px;height:7px;border-radius:50%;background:#D8CFBC;font-style:normal}
.zdots i.on{width:26px;border-radius:4px;background:var(--gold)}

/* ---------- announcement ---------- */
.zannounce{display:block;background:var(--pine);color:var(--gold-soft);text-align:center;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;padding:13px 16px;text-decoration:none;line-height:1.8}

/* ---------- header ---------- */
.zhead{background:var(--paper);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line)}
.zhead-row{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:18px 24px}
.zhead-burger{background:none;border:0;font-size:19px;color:var(--ink);cursor:pointer;padding:4px}
.zhead-logo{font-family:var(--serif);font-size:20px;letter-spacing:.4em;color:var(--ink);text-decoration:none;margin-right:-.4em}
.zhead-logo img{max-height:34px;width:auto}
.zhead-icons{display:flex;gap:20px;font-size:16px;align-items:center}
.zhead-icons a{text-decoration:none;position:relative}
.zhead-ico{display:inline-flex;color:var(--ink)}
.zhead-ico svg{width:21px;height:21px;display:block}
@media(max-width:899px){.zhead-ico-search{display:none}}
.zhead-count{position:absolute;top:-8px;right:-10px;font-size:9px;background:var(--burgundy);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center}
.zhead-links{display:none;justify-content:center;gap:36px;padding:0 24px 16px;list-style:none;margin:0}
.zhead-links a{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--soft);text-decoration:none}
.zhead-links a:hover{color:var(--ink)}
@media(min-width:900px){
	.zhead-links{display:flex}
	.zhead-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
	.zhead-icons{justify-self:end}
	.zhero-bg{background-position:center 78%}
}

/* ---------- midnight menu (locked v4) ---------- */
.zmenu{position:fixed;inset:0;background:#1C332A;color:#FDFBF7;z-index:100;display:flex;flex-direction:column;padding:30px 32px 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
.zmenu.open{opacity:1;visibility:visible}
.zmenu::after{content:'Z';position:absolute;right:-30px;bottom:-70px;font-family:var(--serif);font-size:340px;line-height:1;color:rgba(253,251,247,.045);pointer-events:none}
.zmenu-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}
.zmenu-logo{font-family:var(--serif);font-size:19px;letter-spacing:.34em}
.zmenu-close{background:none;border:0;color:#FDFBF7;font-size:20px;cursor:pointer}
.zmenu-nav{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;padding:24px 0}
.zmenu-item{font-family:var(--serif);font-size:30px;letter-spacing:.05em;color:#FDFBF7;text-decoration:none;padding:12px 0;display:flex;align-items:baseline;gap:14px;text-transform:uppercase}
.zmenu-item.is-xmas{color:var(--gold-soft);font-style:italic;font-size:26px}
.zmenu-item.is-xmas::after{content:'→';font-size:.65em;font-style:normal;margin-left:12px}
.zmenu-star{font-size:15px;font-style:normal}
.zmenu-plus{font-size:15px;color:rgba(253,251,247,.4);font-family:var(--sans);margin-left:6px}
.zmenu-kids{margin:4px 0 10px 4px;border-left:1px solid rgba(233,217,174,.25);padding-left:22px;display:flex;flex-direction:column}
.zmenu-kid{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(253,251,247,.65);text-decoration:none;padding:10px 0}
.zmenu-kid.is-grand{color:rgba(253,251,247,.4);font-size:11.5px}
.zmenu-base{border-top:1px solid rgba(253,251,247,.16);padding-top:24px;display:flex;gap:28px;position:relative;z-index:1}
.zmenu-base a{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(253,251,247,.55);text-decoration:none}
.zmenu-tag{margin:20px 0 0;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(233,217,174,.5);position:relative;z-index:1}
@media(min-width:768px){
	.zmenu{padding:44px 70px 50px}
	.zmenu-top,.zmenu-nav,.zmenu-base,.zmenu-tag{max-width:880px;margin-left:auto;margin-right:auto;width:100%}
	.zmenu-item{font-size:38px}
	.zmenu-item.is-xmas{font-size:32px}
	.zmenu::after{font-size:520px;right:-40px;bottom:-110px}
}

/* ---------- hero (locked) ---------- */
.zhero{position:relative;min-height:92vh;min-height:92svh;overflow:hidden;background:#EFE9DC}
.zhero-bg{position:absolute;inset:0;background-image:url('../img/hero.webp');background-position:center 68%;background-size:cover;background-repeat:no-repeat}
.zhero-content{position:absolute;top:7%;left:0;right:0;text-align:center;padding:0 30px}
.zhero-title{font-family:var(--serif);font-size:clamp(40px,11vw,72px);letter-spacing:.06em;margin:18px 0 12px;line-height:1.22;font-weight:500;text-transform:uppercase}
.zhero-sub{font-size:13.5px;color:var(--soft);line-height:2;margin:0 0 26px}
@media(min-width:900px){
	.zhero{min-height:88vh}
	.zhero-content{top:9%}
}

/* ---------- drop (structure from plugin, beauty here) ---------- */
.zc-drop{display:flex;flex-direction:column;background:#141210;color:var(--paper)}
.zc-drop-media{min-height:70vw}
.zc-drop-media img{width:100%;height:100%;object-fit:cover;display:block}
.zc-drop-body{padding:52px 32px}
.zc-drop-no{font-family:var(--serif);font-size:104px;line-height:1;margin:0 0 6px}
.zc-drop-name{font-family:var(--serif);font-size:29px;letter-spacing:.06em;margin:0 0 8px;font-weight:500;text-transform:uppercase}
.zc-drop-price{font-size:16px;color:var(--gold-soft);margin:0 0 12px}
.zc-drop-meta{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#c9bfae;line-height:2.2;margin:0 0 26px}
.zc-drop-ctas{display:flex;gap:12px}
.zc-btn{flex:1;text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 10px;text-decoration:none}
.zc-btn-solid{background:var(--paper);color:var(--ink)}
.zc-btn-ghost{border:1px solid rgba(253,251,247,.5);color:var(--paper)}
@media(min-width:900px){
	.zc-drop{flex-direction:row;min-height:84vh}
	.zc-drop-media{flex:1.15;min-height:600px}
	.zc-drop-body{flex:1;padding:80px 70px;justify-content:center;display:flex;flex-direction:column}
	.zc-drop-no{font-size:150px}
	.zc-drop-name{font-size:42px}
	.zc-drop-ctas{max-width:460px}
}

/* ---------- scarcity ---------- */
.zc-scarcity{padding:64px 24px}
.zc-scarcity .zc-eyebrow{text-align:center}
.zc-scarcity-big{font-size:76px}
.zc-scarcity-note{font-size:13px}

/* ---------- interlude ---------- */
.zc-interlude{min-height:80vh;min-height:80svh;display:flex}
.zc-interlude-inner{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:60px 30px;background:rgba(20,18,16,.38);width:100%}
.zc-interlude-line{font-size:clamp(28px,7vw,44px)}
@media(min-width:900px){.zc-interlude{min-height:82vh}}

/* ---------- bridge (locked) ---------- */
.zbridge{text-align:center;padding:64px 30px 12px}
.zbridge-title{font-family:var(--serif);font-size:clamp(24px,6vw,34px);letter-spacing:.05em;line-height:1.6;margin:0 0 4px;font-weight:500}
.zbridge-title em{color:var(--burgundy);font-style:normal}
.zbridge-sub{font-size:12.5px;color:var(--soft);letter-spacing:.14em;margin:14px 0 0;line-height:2}
@media(min-width:900px){.zbridge{padding:90px 30px 20px}}

/* ---------- category carousels ---------- */
.zcat{padding:56px 0 8px}
.zcat-head{display:flex;justify-content:space-between;align-items:baseline}
.zcat-title{font-family:var(--serif);font-size:24px;letter-spacing:.08em;margin:0;font-weight:500}
.zcat-sub{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin:10px 0 0}
.zcar{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin:26px -24px 0;padding:0 24px;scrollbar-width:none}
.zcar::-webkit-scrollbar{display:none}
.zcard{flex:0 0 68%;scroll-snap-align:start;text-decoration:none;max-width:300px}
.zcard-img{display:block;aspect-ratio:3/4;background:#E8E0D2;overflow:hidden}
.zcard-img img{width:100%;height:100%;object-fit:cover;display:block}
.zcard-name{display:block;font-family:var(--serif);font-size:16.5px;margin:13px 0 3px;letter-spacing:.03em}
.zcard-price{display:block;font-size:13px;color:var(--soft)}
.zcard-price del{color:#B3A892;margin-right:8px}
.zcard-price ins{text-decoration:none;color:var(--burgundy)}
@media(min-width:900px){
	.zcat{padding:72px 0 8px}
	.zcat-title{font-size:30px}
	.zcar{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 0;padding:0;overflow:visible}
	.zcard{max-width:none}
	.zdots{display:none}
}

/* ---------- brand ---------- */
.zbrand{text-align:center;padding:70px 30px}
.zbrand-title{font-family:var(--serif);font-size:clamp(32px,8vw,44px);letter-spacing:.06em;margin:0;font-weight:500}
.zbrand-sub{color:var(--soft);font-size:14px;line-height:2;margin:0}

/* ---------- atelier ---------- */
.zatelier{padding:20px 0 60px}
.zcraft{flex:0 0 78%;scroll-snap-align:start;max-width:380px}
.zcraft-img{display:block;aspect-ratio:4/3;background-size:cover;background-position:center;background-color:#E8E0D2}
.zcraft-cap{font-size:13.5px;color:var(--soft);line-height:1.9;margin:14px 0 0}
.zcraft-cap b{color:var(--ink);font-weight:500}
@media(min-width:900px){
	.zatelier .zcar{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;margin:30px 0 0;padding:0}
	.zcraft{max-width:none}
}

/* ---------- quotes ---------- */
.zquotes{padding:30px 0 50px}
.zquote{flex:0 0 82%;scroll-snap-align:start;text-align:center;margin:0;max-width:420px}
.zquote p{font-family:var(--serif);font-size:21px;font-style:italic;line-height:1.6;margin:0 0 14px}
.zquote cite{font-style:normal;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--soft)}
@media(min-width:900px){
	.zquotes .zcar{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:30px;margin:30px 0 0;padding:0}
	.zquote{max-width:none}
}

/* ---------- instagram ---------- */
.zig{padding:10px 0 70px}
.zig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}
.zig-tile{aspect-ratio:1;background-size:cover;background-position:center;background-color:#E8E0D2}
@media(min-width:900px){.zig-grid{grid-template-columns:repeat(6,1fr);gap:10px}}

/* ---------- finale ---------- */
.zc-finale{padding:80px 30px}
.zc-finale-no{font-size:130px}
@media(min-width:900px){.zc-finale{padding:110px 40px}.zc-finale-no{font-size:200px}.zc-finale-title{font-size:34px}}

/* ---------- footer ---------- */
.zfoot{background:#141210;color:#c9bfae;padding:60px 0 36px}
.zfoot-cols{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:1200px;margin:0 auto;padding:0 24px}
.zfoot-col h4{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 16px;font-weight:500}
.zfoot-col a{display:block;font-size:13.5px;color:#c9bfae;text-decoration:none;padding:6px 0}
.zfoot-base{max-width:1200px;margin:44px auto 0;padding:26px 24px 0;border-top:1px solid rgba(253,251,247,.14);display:flex;flex-direction:column;gap:14px}
.zfoot-logo{font-family:var(--serif);font-size:22px;letter-spacing:.34em;color:#FDFBF7}
.zfoot-base p{font-size:12px;color:rgba(201,191,174,.6);margin:0;line-height:1.9}
@media(min-width:900px){
	.zfoot-cols{grid-template-columns:1.4fr 1fr 1fr 1fr;padding:0 40px}
	.zfoot-base{flex-direction:row;justify-content:space-between;align-items:center;padding:30px 40px 0}
}

/* ---------- WooCommerce: minimal cards & product page ---------- */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 16px;list-style:none;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
@media(min-width:900px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr);gap:30px 26px}}
.woocommerce ul.products li.product{margin:0!important;width:auto!important;float:none!important;text-align:left}
.woocommerce ul.products li.product a img{aspect-ratio:3/4;object-fit:cover;margin-bottom:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:16.5px;letter-spacing:.03em;padding:0}
.woocommerce ul.products li.product .price{font-size:13px;color:var(--soft)}
.zmain{padding:40px 0 70px}
.woocommerce div.product .product_title{font-family:var(--serif);font-size:32px;letter-spacing:.04em;font-weight:500}
.woocommerce div.product p.price{font-size:20px;color:var(--ink)}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--ink);color:var(--paper);font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding:17px 34px;border-radius:0;font-weight:500}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#000;color:var(--paper)}

/* sticky add-to-bag (mobile product pages) */
@media(max-width:899px){
	.zsticky-bag{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--paper);border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:12px;align-items:center}
	.zsticky-bag .zprice{font-family:var(--serif);font-size:19px}
	.zsticky-bag .single_add_to_cart_button{flex:1;margin:0!important}
}

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