/* ==========================================================
   Sultan Dates — design system
   Colour, type and spacing come from theme.json. Everything
   below is layout and component work that blocks can't express.
   ========================================================== */
:root{
  --sd-paper:#FBF7EF; --sd-paper-2:#F6F1E4; --sd-paper-3:#EFE7D5;
  --sd-forest:#1A361C; --sd-forest-dk:#10230F; --sd-forest-lt:#1C3A20;
  --sd-gold:#B08D3F; --sd-gold-dk:#87681F; --sd-gold-pale:#DCC286;
  --sd-ink:#14210E; --sd-ivory:#F5F1E6; --sd-sage:#6B6553;
  --sd-muted:rgba(22,33,15,.68);
  --sd-hair:rgba(143,113,50,.34); --sd-hair-soft:rgba(60,48,22,.15);
  --sd-display:Prata,Georgia,serif; --sd-body:Jost,system-ui,sans-serif;
  --sd-mono:'IBM Plex Mono',ui-monospace,monospace; --sd-arabic:Amiri,serif;
  --sd-ease:cubic-bezier(.22,.75,.28,1);
}

/* dark sections re-declare the tokens, so one class flips a whole block */
.sd-dark{
  --sd-paper:#10230F; --sd-paper-2:#16301A; --sd-paper-3:#1C3A20;
  --sd-gold-dk:#C9A867; --sd-ink:#F2EDE1; --sd-sage:#93A48D;
  --sd-muted:rgba(242,237,225,.62);
  --sd-hair:rgba(164,133,68,.30); --sd-hair-soft:rgba(242,237,225,.10);
  background:var(--sd-paper); color:var(--sd-ink);
}

body{-webkit-font-smoothing:antialiased}
:focus-visible{outline:1px solid var(--sd-gold);outline-offset:3px}

/* ---------------- header ---------------- */
.sd-header{border-bottom:1px solid var(--sd-hair-soft);position:sticky;top:0;z-index:70;
  background:rgba(251,247,239,.93);backdrop-filter:blur(16px)}
.sd-headbar{padding-block:12px}
.sd-logo{gap:12px;align-items:center}
.sd-logo .wp-block-site-title a{font-family:var(--sd-display);font-size:16px;letter-spacing:.16em;
  text-transform:uppercase;text-decoration:none;color:var(--sd-ink)}
.sd-header .wp-block-navigation{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.sd-header .wp-block-navigation a{color:var(--sd-muted);text-decoration:none;position:relative;padding-block:4px}
.sd-header .wp-block-navigation a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--sd-gold);transition:width .35s var(--sd-ease)}
.sd-header .wp-block-navigation a:hover{color:var(--sd-ink)}
.sd-header .wp-block-navigation a:hover::after{width:100%}

/* ---------------- footer ---------------- */
.sd-footer{padding-block:clamp(46px,5.5vw,72px) 26px;margin-top:0}
.sd-fhead{font-family:var(--sd-mono)!important;font-size:10px!important;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sd-gold)!important;margin-bottom:18px}
.sd-footer a{color:rgba(242,237,225,.62);text-decoration:none;transition:color .3s}
.sd-footer a:hover{color:#F2EDE1}
.sd-address{font-family:var(--sd-mono);letter-spacing:.06em;color:#93A48D;line-height:1.9}
.sd-fbase{border-top:1px solid rgba(242,237,225,.10);padding-top:22px;margin-top:44px;
  font-family:var(--sd-mono);letter-spacing:.14em;text-transform:uppercase;color:#93A48D}

/* ---------------- shared bits ---------------- */
.sd-eyebrow{font-family:var(--sd-mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--sd-gold-dk);margin:0 0 18px;display:inline-flex;align-items:center;gap:11px}
.sd-eyebrow::before{content:"";width:9px;height:9px;flex:none;background:var(--sd-gold);
  clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}
.sd-mono{font-family:var(--sd-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sd-sage)}
.sd-ar{font-family:var(--sd-arabic);color:var(--sd-gold-dk)}

.sd-btn{display:inline-flex;align-items:center;gap:11px;padding:15px 28px;font-size:13px;
  letter-spacing:.13em;text-transform:uppercase;position:relative;overflow:hidden;
  text-decoration:none;transition:color .35s var(--sd-ease)}
.sd-btn>span{position:relative;z-index:2}
.sd-btn::before{content:"";position:absolute;inset:0;background:var(--sd-gold);
  transform:translateY(101%);transition:transform .42s var(--sd-ease);z-index:1}
.sd-btn:hover::before{transform:translateY(0)}
.sd-btn--solid{background:var(--sd-gold);color:#14100A}
.sd-btn--solid::before{background:#B99752}
.sd-btn--ghost{border:1px solid var(--sd-hair);color:var(--sd-ink)}
.sd-btn--ghost:hover{color:#14100A}

/* domed section divider, drawn from the emblem circle */
.sd-arch{display:block;width:100%;height:clamp(52px,7vw,104px);margin-bottom:-1px}
.sd-arch path.f{fill:var(--sd-paper-2)}
.sd-arch.to-dark path.f{fill:#10230F}
.sd-arch path.l{fill:none;stroke:var(--sd-hair);stroke-width:1.2;vector-effect:non-scaling-stroke}

/* ---------------- variety arc + grade card ---------------- */
.sd-arcwrap{position:relative;margin-top:clamp(30px,4.5vw,54px)}
.sd-arcwrap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--sd-hair) 14%,var(--sd-hair) 86%,transparent)}
.sd-arc{display:flex;justify-content:center;align-items:flex-end;
  gap:clamp(2px,1.4vw,20px);padding:26px 0 84px}
.sd-vtab{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;padding:6px 4px 0;
  background:none;border:0;cursor:pointer;opacity:.52;transform-origin:bottom center;
  transition:transform .55s var(--sd-ease),opacity .45s var(--sd-ease)}
.sd-vtab .silo{transition:transform .55s var(--sd-ease)}
.sd-vtab:hover{opacity:.85}
.sd-vtab[aria-selected="true"]{opacity:1}
.sd-vtab[aria-selected="true"] .silo{transform:translateY(-14px) scale(1.09)}
.sd-vtab .nm{margin-top:14px;text-align:center}
.sd-vtab .nm .ar{font-family:var(--sd-arabic);font-size:16px;line-height:1;color:var(--sd-gold-dk);display:block}
.sd-vtab .nm .en{font-family:var(--sd-display);font-size:13.5px;letter-spacing:.05em;margin-top:6px;display:block;white-space:nowrap}
.sd-vtab[aria-selected="true"] .nm::after{content:"";display:block;width:16px;height:1px;background:var(--sd-gold);margin:9px auto 0}

.sd-grade{display:grid;grid-template-columns:1.06fr .94fr}
.sd-grade .gl{padding:clamp(40px,4.6vw,60px) clamp(34px,4vw,56px) clamp(34px,4vw,52px) 0}
.sd-grade .gr{border-left:1px solid var(--sd-hair);background:var(--sd-paper-2);
  padding:clamp(40px,4.6vw,60px) clamp(30px,3.6vw,48px)}

/* ---------------- grade sheet (product page) ---------------- */
.sd-sheet{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sd-hair-soft);
  border:1px solid var(--sd-hair-soft);margin:38px 0}
.sd-cell{background:var(--sd-paper);padding:24px 22px}
.sd-cell .k{font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--sd-sage);display:block;margin-bottom:10px}
.sd-cell .v{font-size:16px;line-height:1.4}
.sd-cell .v em{font-style:normal;display:block;color:var(--sd-sage);font-size:12px;margin-top:4px;
  font-family:var(--sd-mono);letter-spacing:.06em}
.sd-meter{display:flex;gap:4px;margin-top:4px}
.sd-meter i{width:20px;height:4px;background:var(--sd-hair-soft);display:block}
.sd-meter i.on{background:var(--sd-gold)}

/* ---------------- woocommerce ---------------- */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));
  gap:clamp(16px,2vw,26px);margin:0;padding:0}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;text-align:left}
.woocommerce ul.products li.product img{border:1px solid var(--sd-hair-soft);margin-bottom:14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sd-display);
  font-weight:400;font-size:19px!important;padding:0!important;margin:0 0 6px}
.woocommerce ul.products li.product .price{font-family:var(--sd-mono);font-size:11.5px!important;
  letter-spacing:.08em;color:var(--sd-ink)!important}
.woocommerce ul.products li.product .button{display:none}

.woocommerce div.product .product_title{font-family:var(--sd-display);font-weight:400}
.woocommerce div.product p.price{font-family:var(--sd-display);font-size:clamp(28px,3.4vw,40px);
  color:var(--sd-gold-dk)}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce .button.alt{
  background:var(--sd-gold)!important;color:#14100A!important;border-radius:0!important;
  font-family:var(--sd-body);font-size:13px;letter-spacing:.13em;text-transform:uppercase;
  padding:16px 28px!important;font-weight:400}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button.alt:hover{
  background:#B99752!important}
.woocommerce .quantity .qty{border:1px solid var(--sd-hair);padding:12px;font-family:var(--sd-mono)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--sd-gold)!important}
.woocommerce-tabs ul.tabs li.active a{color:var(--sd-gold-dk)!important}

/* ---------------- responsive ---------------- */
@media(max-width:1040px){
  .sd-grade{grid-template-columns:1fr}
  .sd-grade .gl{padding-inline:0}
  .sd-grade .gr{border-left:0;border-top:1px solid var(--sd-hair)}
  .sd-sheet{grid-template-columns:repeat(2,1fr)}
  .sd-arc{overflow-x:auto;justify-content:flex-start;padding:14px 2px 40px;scrollbar-width:none}
  .sd-arc::-webkit-scrollbar{display:none}
  .sd-vtab{transform:none!important}
}

@media(max-width:660px){
  .sd-sheet{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* footer link lists */
.sd-flist{list-style:none;margin:0;padding:0}
.sd-flist li{margin:0}
.sd-flist a{display:block;font-size:14.5px;padding-block:6px;transition:color .3s,padding-left .3s}
.sd-flist a:hover{padding-left:5px}
.sd-footer .wp-block-columns{gap:42px}

/* hero pattern spacing */
.sd-hero{padding-block:clamp(46px,6vw,90px) 0;text-align:center}
.sd-hero .sd-eyebrow{justify-content:center}
.sd-hero>p:not(.sd-eyebrow){margin-inline:auto}
.sd-gname{font-family:var(--sd-display);font-weight:400;font-size:clamp(29px,4.1vw,50px);margin:0 0 10px;line-height:1.1}
.sd-gprice{font-family:var(--sd-mono);font-size:13px;letter-spacing:.08em;color:var(--sd-sage);margin:0 0 26px}
.sd-grade .gl{text-align:left}
@media(max-width:660px){.sd-hero{text-align:left}.sd-hero .sd-eyebrow{justify-content:flex-start}}

/* ================= page furniture installed by setup ================= */
.sd-nums{display:flex;gap:1px;background:var(--sd-hair-soft);border-block:1px solid var(--sd-hair-soft);flex-wrap:wrap;margin:34px 0}
.sd-num{background:var(--sd-paper);flex:1 1 150px;padding:26px 24px}
.sd-num b{display:block;font-family:var(--sd-display);font-weight:400;font-size:clamp(30px,3.6vw,44px);line-height:1;margin-bottom:10px}
.sd-num span{font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--sd-sage);line-height:1.7;display:block}

.sd-regions{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sd-hair-soft);border:1px solid var(--sd-hair-soft);margin:26px 0}
.sd-reg{background:var(--sd-paper);padding:26px 24px}
.sd-reg .ix{font-family:var(--sd-mono);font-size:10px;letter-spacing:.2em;color:var(--sd-gold);display:block;margin-bottom:16px}
.sd-reg h4{font-family:var(--sd-display);font-weight:400;font-size:21px;margin:0 0 4px;line-height:1.2}
.sd-reg .sd-ar{font-size:16px;display:block;margin-bottom:12px}
.sd-reg p{margin:0;font-size:14.5px;color:var(--sd-muted);line-height:1.62}
.sd-reg .who{margin-top:14px;font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--sd-sage)}

.sd-wont{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--sd-hair-soft);border:1px solid var(--sd-hair-soft);margin-top:34px}
.sd-wont .wd{background:var(--sd-paper);padding:26px}
.sd-wont .wd b{display:block;font-family:var(--sd-display);font-weight:400;font-size:18px;margin-bottom:8px;line-height:1.25}
.sd-wont .wd b::before{content:"✕ ";color:var(--sd-gold)}
.sd-wont .wd p{margin:0;font-size:14.5px;color:var(--sd-muted);line-height:1.62}

.sd-std{margin:34px 0;border-top:1px solid var(--sd-hair-soft)}
.sd-std .strow{display:grid;grid-template-columns:60px 1fr;gap:24px;padding-block:28px;border-bottom:1px solid var(--sd-hair-soft);align-items:start;transition:background .4s var(--sd-ease)}
.sd-std .strow:hover{background:var(--sd-paper-2)}
.sd-std .ix{font-family:var(--sd-mono);font-size:10.5px;letter-spacing:.18em;color:var(--sd-gold);padding-top:5px}
.sd-std h4{font-family:var(--sd-display);font-weight:400;font-size:21px;margin:0 0 10px;line-height:1.24}
.sd-std p{margin:0;font-size:15px;color:var(--sd-muted);line-height:1.68}

.sd-tbl{width:100%;border-collapse:collapse;margin:30px 0;font-size:15px}
.sd-tbl th{font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--sd-sage);text-align:left;font-weight:400;padding:11px 12px;border-bottom:1px solid var(--sd-hair)}
.sd-tbl td{padding:13px 12px;border-bottom:1px solid var(--sd-hair-soft);color:var(--sd-muted)}
.sd-tbl tr:hover td{background:var(--sd-paper-2)}
.sd-tbl td b{color:var(--sd-ink);font-weight:400}

.sd-gift2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--sd-hair-soft);border:1px solid var(--sd-hair-soft);margin-top:34px}
.sd-gift2 .g{background:var(--sd-paper);padding:clamp(28px,3.6vw,44px);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:background .4s var(--sd-ease)}
.sd-gift2 .g:hover{background:var(--sd-paper-2)}
.sd-gift2 .num{font-family:var(--sd-mono);font-size:11px;letter-spacing:.2em;color:var(--sd-gold);margin-bottom:20px}
.sd-gift2 h3{font-family:var(--sd-display);font-weight:400;font-size:clamp(24px,2.6vw,32px);margin:0 0 14px;line-height:1.1}
.sd-gift2 p{color:var(--sd-muted);font-size:15.5px;line-height:1.65;margin:0 0 24px}
.sd-gift2 .sd-btn{margin-top:auto;align-self:flex-start}

.sd-facts{display:flex;gap:1px;background:var(--sd-hair-soft);border:1px solid var(--sd-hair-soft);margin:30px 0;flex-wrap:wrap}
.sd-facts .fact{background:var(--sd-paper);flex:1 1 170px;padding:20px 22px}
.sd-facts .fact b{display:block;font-family:var(--sd-display);font-weight:400;font-size:24px;line-height:1;margin-bottom:8px}
.sd-facts .fact span{font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sd-sage)}

.sd-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--sd-hair-soft);border:1px solid var(--sd-hair-soft);margin-top:30px}
.sd-tiers .tier{background:var(--sd-paper);padding:26px 24px;transition:background .4s var(--sd-ease)}
.sd-tiers .tier:hover{background:var(--sd-paper-2)}
.sd-tiers .r{font-family:var(--sd-mono);font-size:10.5px;letter-spacing:.16em;color:var(--sd-gold);display:block;margin-bottom:16px}
.sd-tiers .off{font-family:var(--sd-display);font-size:31px;line-height:1;display:block;margin-bottom:10px}
.sd-tiers p{margin:0;font-size:14px;color:var(--sd-muted);line-height:1.6}

.sd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:30px}
.sd-steps .n{font-family:var(--sd-mono);font-size:10.5px;letter-spacing:.2em;color:var(--sd-gold);display:block;margin-bottom:14px}
.sd-steps h4{font-family:var(--sd-display);font-weight:400;font-size:19px;margin:0 0 10px;line-height:1.2}
.sd-steps p{margin:0;font-size:14.5px;color:var(--sd-muted);line-height:1.62}

.sd-notice{border:1px dashed var(--sd-gold);padding:clamp(26px,3.4vw,42px);margin-top:34px}
.sd-notice b{display:block;font-family:var(--sd-display);font-weight:400;font-size:21px;margin-bottom:12px}
.sd-notice p{margin:0 0 22px;color:var(--sd-muted)}

.sd-tak{border:1px solid var(--sd-hair);background:var(--sd-paper-2);padding:clamp(22px,2.8vw,32px);margin:0 0 40px}
.sd-tak h4{font-family:var(--sd-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sd-gold-dk);margin:0 0 16px;font-weight:400}
.sd-tak ul{margin:0;padding-left:20px}
.sd-tak li{font-size:15.5px;line-height:1.62;color:var(--sd-muted);margin-bottom:11px}

.sd-myth{border:1px dashed var(--sd-hair);padding:22px 24px;margin:0 0 24px}
.sd-myth b{display:block;font-family:var(--sd-display);font-weight:400;font-size:18px;margin-bottom:9px}
.sd-myth p{margin:0;font-size:15px;color:var(--sd-muted);line-height:1.65}

@media(max-width:900px){
  .sd-regions,.sd-wont,.sd-gift2,.sd-tiers{grid-template-columns:1fr}
  .sd-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.sd-steps{grid-template-columns:1fr}}

/* grade sheet extras */
.sd-sheet-h{font-family:var(--sd-display);font-weight:400;font-size:clamp(24px,3vw,34px);margin:48px 0 0}
.sd-bestfor{display:flex;gap:16px;align-items:flex-start;margin:0 0 10px;font-size:15.5px;line-height:1.6}
.sd-bestfor .k{font-family:var(--sd-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sd-sage);flex:none;width:66px;padding-top:4px}
.sd-batch{font-family:var(--sd-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sd-sage);margin:0 0 40px}

/* ================= typography pass ================= */
:root{
  --sd-muted:rgba(22,33,15,.76);
  --sd-star:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 0 Q13.1 10.9 24 12 Q13.1 13.1 12 24 Q10.9 13.1 0 12 Q10.9 10.9 12 0 Z'/></svg>");
}
.sd-dark{--sd-muted:rgba(242,237,225,.74)}

body{font-weight:400;letter-spacing:0;text-rendering:optimizeLegibility}

/* Prata is high contrast: it wants tighter tracking and leading at size */
h1,h2,h3,h4,.sd-gname,.wp-block-heading{
  font-family:var(--sd-display);font-weight:400;letter-spacing:-.015em;text-wrap:balance;
}
h1,.has-xxl-font-size{line-height:1.04}
h2,.has-xl-font-size{line-height:1.1}

/* reading measure: long lines are what made this feel loose */
.has-lg-font-size{line-height:1.58;color:var(--sd-muted);max-width:62ch}
.sd-dark p,.sd-dark li{max-width:66ch}

/* proper four-point star from the emblem, not a plus sign */
.sd-eyebrow{margin-bottom:14px}
.sd-eyebrow::before{
  width:10px;height:10px;background:var(--sd-gold);clip-path:none;
  -webkit-mask:var(--sd-star) center/contain no-repeat;
  mask:var(--sd-star) center/contain no-repeat;
}

/* section rhythm: headings were floating away from their eyebrows */
.sd-dark h2.wp-block-heading:first-of-type{margin-top:0}

/* five-item grid: last card fills the row instead of leaving a hole */
.sd-wont .wd:last-child{grid-column:1/-1}
.sd-wont .wd b{font-size:19px}
.sd-wont .wd b::before{margin-right:4px;font-size:15px}

/* card interiors */
.sd-reg h4,.sd-std h4,.sd-steps h4{letter-spacing:-.01em}
.sd-reg p,.sd-wont .wd p,.sd-tiers p,.sd-steps p{max-width:none}
.sd-num b{letter-spacing:-.02em}

@media(max-width:900px){.sd-wont .wd:last-child{grid-column:auto}}

/* page content is full-bleed: the section file owns its own padding */
.sd-page{margin:0}
.wp-site-blocks .entry-content>.sd-page,.wp-block-post-content>.sd-page{max-width:none;margin-inline:0}
.wp-block-post-content:has(.sd-page){padding-inline:0!important;max-width:none!important}

/* header: WooCommerce drops account and cart blocks in with no rhythm */
.sd-header .wp-block-navigation__container{gap:26px}
.sd-header .wp-block-navigation__responsive-container-open{margin-left:18px}
.sd-header .wc-block-mini-cart,.sd-header .wp-block-woocommerce-customer-account{margin-left:0}
.sd-headbar>.wp-block-navigation{margin-left:auto}
.sd-header .wp-block-group:has(>.wc-block-mini-cart){gap:14px!important}
.sd-header .wc-block-mini-cart__button,.sd-header .wp-block-woocommerce-customer-account a{padding:6px!important}
.sd-header .wc-block-mini-cart__badge{background:var(--sd-gold)!important;color:#14100A!important}

/* footer: the emblem is dark green artwork, it needs an ivory disc on a dark ground */
.sd-footer .wp-block-site-logo img{
  background:#F2EDE1;border-radius:50%;padding:5px;
  box-shadow:0 0 0 1px rgba(164,133,68,.3),0 0 0 5px rgba(164,133,68,.10);
}
.sd-footer .wp-block-site-title a{color:#F2EDE1}

/* ==========================================================
   WooCommerce: variation pickers, gallery and product summary.
   The stock markup is a table, which is why the size selector
   was sitting beside its label instead of under it.
   ========================================================== */
.woocommerce div.product{--sd-hair:rgba(135,104,31,.38)}
.woocommerce div.product .product_title{letter-spacing:-.018em;margin-bottom:10px}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--sd-display);font-weight:400;color:var(--sd-gold-dk)!important;
  letter-spacing:-.01em;margin-bottom:20px}
.woocommerce div.product p.price del{opacity:.45;font-size:.6em}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:17px;line-height:1.65;color:rgba(20,33,14,.84);max-width:48ch}

/* variation table, unpicked */
.woocommerce div.product form.cart .variations{
  width:100%;border:0;margin:26px 0 22px;border-top:1px solid var(--sd-hair-soft)}
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr{display:block;width:100%}
.woocommerce div.product form.cart .variations tr{
  padding-block:16px;border-bottom:1px solid var(--sd-hair-soft)}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{
  display:block;width:100%;padding:0;border:0;text-align:left}
.woocommerce div.product form.cart .variations th.label label{
  font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--sd-sage);font-weight:400;margin-bottom:9px;display:block}
.woocommerce div.product form.cart .variations select{
  -webkit-appearance:none;appearance:none;width:100%;max-width:340px;
  border:1px solid var(--sd-hair);background:transparent;color:var(--sd-ink);
  padding:13px 42px 13px 14px;font-family:var(--sd-body);font-size:15.5px;line-height:1.2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2387681F' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;
  transition:border-color .3s}
.woocommerce div.product form.cart .variations select:focus{border-color:var(--sd-gold);outline:none}
.woocommerce div.product form.cart .reset_variations{
  display:inline-block;margin-top:10px;font-family:var(--sd-mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--sd-sage)}
.woocommerce div.product form.cart .woocommerce-variation-price{margin-bottom:16px}
.woocommerce div.product form.cart .woocommerce-variation-price .price{font-size:clamp(24px,3vw,32px)}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{
  display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.woocommerce div.product form.cart div.quantity{margin:0}
.woocommerce div.product form.cart .qty{
  border:1px solid var(--sd-hair);padding:15px 10px;width:76px;text-align:center;
  font-family:var(--sd-mono);font-size:14px;background:transparent}
.woocommerce div.product form.cart .button{flex:1;min-width:200px;justify-content:center;
  background:linear-gradient(180deg,#DCC286 0%,#B08D3F 46%,#9A7B33 100%)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 8px 18px -12px rgba(135,104,31,.85);
  transition:transform .3s,box-shadow .3s}
.woocommerce div.product form.cart .button:hover{transform:translateY(-1px)}
.woocommerce div.product form.cart .button.disabled,
.woocommerce div.product form.cart .button:disabled{opacity:.4;box-shadow:none;transform:none}

/* gallery */
.woocommerce div.product div.images{border:1px solid var(--sd-hair-soft);background:var(--sd-paper-2)}
.woocommerce div.product div.images img{mix-blend-mode:multiply}
.woocommerce div.product .woocommerce-product-gallery__trigger{
  background:var(--sd-paper)!important;box-shadow:0 4px 12px -6px rgba(20,33,14,.4)}

/* meta + breadcrumb */
.woocommerce div.product .product_meta{
  margin-top:26px;padding-top:18px;border-top:1px solid var(--sd-hair-soft);
  font-family:var(--sd-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sd-sage)}
.woocommerce div.product .product_meta a{color:var(--sd-gold-dk)}
.woocommerce .woocommerce-breadcrumb{
  font-family:var(--sd-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sd-sage);margin-bottom:26px}
.woocommerce .woocommerce-breadcrumb a{color:var(--sd-gold-dk);text-decoration:none}

/* shop grid tiles */
.woocommerce ul.products li.product a img{background:var(--sd-paper-2);mix-blend-mode:multiply;
  transition:transform .5s cubic-bezier(.22,.75,.28,1)}
.woocommerce ul.products li.product:hover a img{transform:translateY(-4px)}
.woocommerce ul.products li.product .price del{opacity:.45}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering select{
  font-family:var(--sd-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sd-sage)}

/* WooCommerce ships a cold grey placeholder image. Warm it and calm it
   down so an unphotographed product does not look like a broken one. */
.woocommerce div.product div.images,
.woocommerce ul.products li.product a img{background:var(--sd-paper-2)}
img.woocommerce-placeholder{
  opacity:.28;filter:sepia(.5) saturate(.6) hue-rotate(-8deg);
  background:var(--sd-paper-2);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image{background:var(--sd-paper-2)}
.woocommerce .woocommerce-product-gallery{background:var(--sd-paper-2)}

/* ==========================================================
   Weight options shown in full, not hidden behind a dropdown.
   The native select stays in the DOM and stays authoritative,
   so WooCommerce's own variation logic keeps working.
   ========================================================== */
.sd-swatches{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.sd-swatch{
  border:1px solid var(--sd-hair);background:transparent;color:var(--sd-ink);
  padding:13px 20px;cursor:pointer;font-family:var(--sd-body);font-size:14.5px;line-height:1.2;
  display:inline-flex;flex-direction:column;gap:3px;min-width:104px;text-align:left;
  transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;
}
.sd-swatch .sub{font-family:var(--sd-mono);font-size:10px;letter-spacing:.1em;color:var(--sd-sage)}
.sd-swatch:hover{border-color:var(--sd-gold);transform:translateY(-2px);
  box-shadow:0 10px 20px -14px rgba(60,48,22,.6)}
.sd-swatch[aria-pressed="true"]{
  border-color:var(--sd-gold);
  background:linear-gradient(180deg,rgba(220,194,134,.28),rgba(176,141,63,.16));
  box-shadow:inset 0 0 0 1px rgba(176,141,63,.35);
}
.sd-swatch[aria-pressed="true"] .sub{color:var(--sd-gold-dk)}
.sd-swatch[disabled]{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.sd-has-swatches select{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* availability badges */
.sd-badge{
  display:inline-flex;align-items:center;gap:7px;font-family:var(--sd-mono);font-size:9.5px;
  letter-spacing:.18em;text-transform:uppercase;padding:6px 11px;margin-bottom:14px;
  border:1px solid currentColor;line-height:1;
}
.sd-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.sd-badge--coming{color:var(--sd-gold-dk)}
.sd-badge--sold{color:#8E3B2E}
.sd-badge--tile{
  position:absolute;top:12px;left:12px;z-index:3;margin:0;
  background:var(--sd-paper);box-shadow:0 4px 12px -6px rgba(60,48,22,.5);
}
.woocommerce ul.products li.product{position:relative}
.woocommerce ul.products li.product:has(.sd-badge--sold) a img{opacity:.55;filter:saturate(.5)}
.sd-unavail{
  border:1px dashed var(--sd-hair);padding:22px 24px;margin-top:22px;max-width:460px;
  background:var(--sd-paper-2);
}
.sd-unavail p{margin:0 0 16px;font-size:15px;line-height:1.6;color:rgba(20,33,14,.84)}
.sd-unavail .sd-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  border:1px solid var(--sd-hair);color:var(--sd-ink);transition:background .3s,color .3s}
.sd-unavail .sd-btn:hover{background:var(--sd-gold);color:#1B1405;border-color:var(--sd-gold)}

/* ==========================================================
   Mobile navigation. WordPress only collapses the menu below
   600px, which is narrower than this header can survive, so
   the overlay is brought forward to 900px.
   ========================================================== */
@media(max-width:900px){
  .sd-header .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none!important;
  }
  .sd-header .wp-block-navigation__responsive-container-open{
    display:flex!important;align-items:center;justify-content:center;
    width:44px;height:44px;border:1px solid var(--sd-hair);color:var(--sd-ink);
  }
  .sd-header .wp-block-navigation__responsive-container.is-menu-open{
    display:flex!important;background:#0D1E0C;color:var(--sd-ivory);padding:26px 22px;
  }
  .sd-headbar{gap:14px}
  .sd-logo .wp-block-site-title a{font-size:14px;letter-spacing:.12em}
  .seal,.sd-header .wp-block-site-logo img{width:42px!important;height:42px!important}
}
.sd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  width:100%;
}
.sd-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  border-bottom:1px solid rgba(192,160,84,.24);width:100%;
}
.sd-header .wp-block-navigation__responsive-container.is-menu-open a{
  color:var(--sd-ivory);font-size:17px;letter-spacing:.16em;padding-block:16px;display:block;width:100%;
}
.sd-header .wp-block-navigation__responsive-container.is-menu-open a:hover{color:var(--sd-gold-pale)}
.sd-header .wp-block-navigation__responsive-container-close{color:var(--sd-ivory)}

/* ==========================================================
   Mobile footer: four stacked columns is a very long scroll.
   Two columns keeps it to a screen.
   ========================================================== */
@media(max-width:781px){
  .sd-footer .wp-block-columns{flex-wrap:wrap!important;gap:26px 22px}
  .sd-footer .wp-block-column{flex-basis:calc(50% - 11px)!important;flex-grow:0}
  .sd-footer .wp-block-column:first-child{flex-basis:100%!important}
  .sd-footer .sd-flist a{padding-block:5px;font-size:14px}
  .sd-fhead{margin-bottom:12px}
  .sd-footer .f-base,.sd-fbase{margin-top:30px}
}
@media(max-width:420px){
  .sd-footer .wp-block-column{flex-basis:calc(50% - 11px)!important}
}

/* ==========================================================
   Cart, checkout, account and confirmation: give them the
   same measure as the rest of the site instead of full bleed.
   ========================================================== */
.sd-woo{padding-block:clamp(32px,4vw,60px) clamp(48px,6vw,84px)}
.woocommerce-cart .wp-block-post-content,
.woocommerce-checkout .wp-block-post-content,
.woocommerce-account .wp-block-post-content,
.woocommerce-order-received .wp-block-post-content{
  max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,5vw,64px);
}
.woocommerce table.shop_table{border:1px solid var(--sd-hair-soft);border-radius:0}
.woocommerce table.shop_table th{
  font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--sd-sage);font-weight:400;border-bottom:1px solid var(--sd-hair)}
.woocommerce table.shop_table td{border-top:1px solid var(--sd-hair-soft);padding:16px 12px}
.woocommerce table.cart img{width:64px;border:1px solid var(--sd-hair-soft);background:var(--sd-paper-2)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-account h2{
  font-family:var(--sd-display);font-weight:400;letter-spacing:-.012em}
.woocommerce .cart-collaterals .cart_totals{
  border:1px solid var(--sd-hair);background:var(--sd-paper-2);padding:clamp(20px,2.6vw,30px)}
.woocommerce form .form-row label{
  font-family:var(--sd-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sd-sage)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection{
  border:1px solid var(--sd-hair);background:transparent;padding:13px 14px;font-family:var(--sd-body);font-size:15.5px}
.woocommerce-checkout #payment{background:var(--sd-paper-2);border:1px solid var(--sd-hair);border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--sd-hair-soft)}
.woocommerce-checkout #payment div.payment_box{background:var(--sd-paper);border:1px solid var(--sd-hair-soft)}
.woocommerce-checkout #payment div.payment_box::before{display:none}

/* account: the tab column was running to the window edge */
.woocommerce-account .woocommerce-MyAccount-navigation{
  width:25%;padding-right:32px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;
  border-top:1px solid var(--sd-hair-soft)}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--sd-hair-soft)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:14px 0;font-family:var(--sd-mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sd-sage);text-decoration:none;transition:color .3s,padding-left .3s}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--sd-ink);padding-left:6px}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--sd-gold-dk)}
.woocommerce-account .woocommerce-MyAccount-content{width:72%}
@media(max-width:781px){
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{width:100%;padding-right:0;float:none}
}

/* the note after an order */
.sd-after{border-top:1px solid var(--sd-hair-soft);margin-top:clamp(34px,4vw,56px);
  padding-block:clamp(34px,4vw,56px)}
.sd-after .sd-in{max-width:1240px;margin:0 auto;padding-inline:clamp(20px,5vw,64px)}
.sd-after h2{font-family:var(--sd-display);font-weight:400;margin:0 0 14px}
.sd-after-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.sd-after-note{margin-top:22px!important;font-family:var(--sd-mono);font-size:10px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--sd-sage);line-height:2}
