/* ============================================================
   Shop — the House of Afghanistan
   Dark editorial browsing · cream "opened" detail & checkout
   ============================================================ */
.ed { --gold:#C7A468; --gold-soft:#DCC190; --gold-deep:#A98A55;
  --slate:#2B4A5C; --slate-deep:#1E3340; --ink:#20303C; --ink-mut:#4E6472; --ink-faint:#6B7F8B;
  --cream:#EBE4D6; --cream-warm:#F3EEE2; --ivory:#F7F4EC;
  --serif:'Cormorant Garamond',Garamond,serif; --caps:'Cinzel',serif; --fa:'Noto Nastaliq Urdu',serif; }

/* ---- nav cart (type, not chrome) ---- */
.nav__cart { position:relative; display:inline-flex; align-items:center; gap:7px; font-family:var(--caps); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ivory,#ECE9E2); opacity:.82; text-decoration:none; padding:4px 0; border-bottom:1px solid transparent; transition:opacity .2s,border-color .2s,color .2s; margin-left:26px; white-space:nowrap; flex:0 0 auto; }
.nav__cart:hover { opacity:1; border-bottom-color:var(--champagne,#C7A468); }
.nav__cart-n { display:none; min-width:17px; height:17px; align-items:center; justify-content:center; border-radius:999px; background:var(--champagne,#C7A468); color:#1E3340; font-family:'Inter',sans-serif; font-size:10px; letter-spacing:0; }
.nav__cart-n.is-on { display:inline-flex; }

/* ---- nav on cream pages (product, checkout) ---- */
.nav--onlight .nav__word { color:#1E3340; }
.nav--onlight .nav__word em { color:#A98A55; }
.nav--onlight .nav__link { color:#1E3340; opacity:.9; }
.nav--onlight .nav__link:hover { opacity:1; border-bottom-color:#A98A55; }
.nav--onlight .nav__caret { border-color:#1E3340; }
.nav--onlight .nav__cart { color:#2B4A5C; }
.nav--onlight .nav__cart:hover { border-bottom-color:#A98A55; }
.nav--onlight .nav__cart-n { background:#C7A468; color:#1E3340; }
.nav--onlight .nav__burger { border-color:rgba(43,74,92,.34); }
.nav--onlight .nav__burger span { background:#1E3340; }
.nav--onlight .nav__brand img.is-dark { display:none; }
.nav--onlight.is-scrolled .nav__brand img.is-dark, .nav--onlight:has(.nav__item:hover) .nav__brand img.is-dark { display:block; }
.nav--onlight.is-scrolled .nav__brand img.is-light, .nav--onlight:has(.nav__item:hover) .nav__brand img.is-light { display:none; }
/* once the bar paints dark (scrolled or mega open), revert to light-on-dark */
.nav--onlight.is-scrolled .nav__word, .nav--onlight:has(.nav__item:hover) .nav__word,
.nav--onlight.is-scrolled .nav__link, .nav--onlight:has(.nav__item:hover) .nav__link { color:#ECE9E2; }
.nav--onlight.is-scrolled .nav__word em, .nav--onlight:has(.nav__item:hover) .nav__word em { color:#DCC190; }
.nav--onlight.is-scrolled .nav__caret, .nav--onlight:has(.nav__item:hover) .nav__caret { border-color:#ECE9E2; }
.nav--onlight.is-scrolled .nav__cart, .nav--onlight:has(.nav__item:hover) .nav__cart { color:#ECE9E2; }
.nav--onlight.is-scrolled .nav__cart-n, .nav--onlight:has(.nav__item:hover) .nav__cart-n { background:#C7A468; color:#1E3340; }
.nav--onlight.is-scrolled .nav__burger span, .nav--onlight:has(.nav__item:hover) .nav__burger span { background:#ECE9E2; }
.nav--onlight.is-scrolled .nav__burger, .nav--onlight:has(.nav__item:hover) .nav__burger { border-color:rgba(199,164,104,.4); }

/* ---- shop hero ---- */
.ed-hero { position:relative; overflow:hidden; padding:clamp(126px,14vw,180px) 40px clamp(56px,7vw,88px);
  background:radial-gradient(ellipse 120% 140% at 50% -10%, #24404F 0%, var(--slate-deep) 55%, #182A35 100%); }
.ed-hero__fa { position:absolute; top:50%; right:1%; transform:translateY(-50%); font-family:'Aref Ruqaa',serif; font-weight:700; font-size:clamp(150px,25vw,380px); line-height:1; direction:rtl; color:rgba(199,164,104,.06); pointer-events:none; user-select:none;
  -webkit-mask-image:linear-gradient(to left,#000 46%,transparent 92%); mask-image:linear-gradient(to left,#000 46%,transparent 92%); }
.ed-hero__in { position:relative; z-index:1; max-width:1180px; margin:0 auto; }
.ed-eyebrow { font-family:var(--caps); font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); display:inline-flex; align-items:center; gap:14px; }
.ed-eyebrow::after { content:""; width:38px; height:1px; background:var(--gold); }
.ed-hero__h { font-family:var(--serif); font-weight:500; font-size:clamp(48px,7.4vw,98px); line-height:.94; letter-spacing:-.03em; color:#F7F4EC; margin:20px 0 0; text-wrap:balance; }
.ed-hero__h em { font-style:italic; color:var(--gold-soft); }
.ed-hero__p { font-family:var(--serif); font-size:clamp(19px,2.1vw,24px); line-height:1.6; color:rgba(247,244,236,.8); max-width:56ch; margin:24px 0 0; }
.ed-hero__p em { font-style:italic; color:var(--gold-soft); }

/* mission strip */
.ed-strip { background:var(--slate); border-top:1px solid rgba(199,164,104,.2); padding:clamp(26px,3.4vw,38px) 40px; }
.ed-strip__in { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,44px); }
.ed-strip__k { font-family:var(--caps); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.ed-strip__v { font-family:var(--serif); font-size:17.5px; line-height:1.45; color:rgba(247,244,236,.84); margin-top:6px; }
@media (max-width:760px){ .ed-strip__in{grid-template-columns:1fr;gap:18px} }

/* ---- the shelf ---- */
.ed-shelf { background:var(--cream); padding:clamp(64px,8vw,110px) 40px clamp(76px,9vw,120px); }
.ed-shelf__in { max-width:1180px; margin:0 auto; }
.ed-shelf__h { font-family:var(--serif); font-weight:500; font-size:clamp(32px,4.4vw,52px); line-height:1.02; letter-spacing:-.022em; color:var(--slate-deep); margin:16px 0 0; }
.ed-shelf__h em { font-style:italic; color:var(--gold-deep); }
.ed-rule { height:1px; background:linear-gradient(to right,var(--gold),rgba(199,164,104,.2) 46%,transparent); margin:28px 0 0; }
.ed-eyebrow--ink { color:var(--gold-deep); }
.ed-eyebrow--ink::after { background:var(--gold-deep); }

/* featured single edition */
.ed-feat { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(34px,5vw,76px); align-items:center; margin-top:clamp(40px,5vw,64px); }
.ed-feat__art { display:block; position:relative; aspect-ratio:1184/1530; border-radius:14px; overflow:hidden; box-shadow:0 34px 66px rgba(43,74,92,.26); transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1); }
.ed-feat__art:hover { transform:translateY(-5px); box-shadow:0 42px 78px rgba(43,74,92,.32); }
.ed-feat__art img { width:100%; height:100%; object-fit:cover; display:block; }
.ed-feat__badge { position:absolute; top:20px; left:20px; font-family:var(--caps); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--slate-deep); background:var(--gold); padding:8px 15px; border-radius:999px; }
.ed-feat__name { font-family:var(--serif); font-weight:500; font-size:clamp(36px,4.6vw,58px); line-height:1.02; letter-spacing:-.025em; color:var(--slate-deep); margin:14px 0 0; }
.ed-feat__name a { color:inherit; text-decoration:none; transition:color .2s; }
.ed-feat__name a:hover { color:var(--gold-deep); }
.ed-feat__name em { font-style:italic; color:var(--gold-deep); }
.ed-feat__sub { font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.1vw,23px); color:var(--slate); margin:10px 0 0; }
.ed-feat__by { font-family:var(--serif); font-size:17.5px; color:var(--ink-mut); margin:14px 0 0; }
.ed-feat__by b { color:var(--slate); font-weight:600; }
.ed-feat__by a { color:var(--gold-deep); text-decoration:none; border-bottom:1px solid rgba(199,164,104,.4); }
.ed-feat__by a:hover { color:var(--slate); border-bottom-color:var(--slate); }
.ed-feat__p { font-family:var(--serif); font-size:clamp(18px,1.9vw,20.5px); line-height:1.62; color:var(--ink-mut); margin:18px 0 0; }
.ed-feat__row { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:28px; }
.ed-price { font-family:var(--serif); font-weight:500; font-size:clamp(28px,3vw,36px); color:var(--slate-deep); }
.ed-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.ed-tag { font-family:var(--caps); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); border:1px solid rgba(199,164,104,.44); border-radius:999px; padding:9px 16px; }
@media (max-width:900px){ .ed-feat{grid-template-columns:1fr} }

/* buttons */
.ed-btn { font-family:var(--caps); font-size:11.5px; letter-spacing:.15em; text-transform:uppercase; text-decoration:none; border:none; cursor:pointer; padding:17px 32px; border-radius:999px; transition:background .22s,color .22s,border-color .22s; display:inline-flex; align-items:center; gap:10px; }
.ed-btn--solid { background:var(--slate); color:var(--ivory); }
.ed-btn--solid:hover { background:var(--slate-deep); color:var(--gold-soft); }
.ed-btn--gold { background:var(--gold); color:var(--slate-deep); }
.ed-btn--gold:hover { background:var(--gold-soft); }
.ed-btn--line { border:1px solid rgba(43,74,92,.34); color:var(--slate); background:none; }
.ed-btn--line:hover { border-color:var(--gold-deep); color:var(--gold-deep); }
.ed-btn--wide { width:100%; justify-content:center; }

/* coming soon row */
.ed-soon { margin-top:clamp(56px,7vw,88px); }
.ed-soon__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:22px; }
.ed-soon__cell { border:1px dashed rgba(43,74,92,.26); border-radius:14px; padding:28px 26px; min-height:150px; display:flex; flex-direction:column; gap:8px; }
.ed-soon__k { font-family:var(--caps); font-size:9.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); }
.ed-soon__n { font-family:var(--serif); font-size:23px; line-height:1.1; color:var(--slate); }
.ed-soon__d { font-family:var(--serif); font-size:16px; line-height:1.5; color:var(--ink-mut); margin-top:auto; }
@media (max-width:820px){ .ed-soon__grid{grid-template-columns:1fr} }

/* ---- product detail ---- */
.ed-pd { background:var(--cream); padding:clamp(120px,13vw,168px) 40px clamp(70px,8vw,104px); }
.ed-pd__in { max-width:1180px; margin:0 auto; }
.ed-crumbs { font-family:var(--caps); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-faint); display:flex; gap:12px; flex-wrap:wrap; }
.ed-crumbs a { color:var(--ink-faint); text-decoration:none; }
.ed-crumbs a:hover { color:var(--gold-deep); }
.ed-crumbs span { color:var(--gold-deep); }
.ed-pd__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,78px); align-items:start; margin-top:34px; }
.ed-pd__art { position:relative; }
/* ---- gallery ---- */
.ed-gal__stage { position:relative; aspect-ratio:1184/1530; border-radius:14px; overflow:hidden; box-shadow:0 34px 66px rgba(43,74,92,.24); background:var(--cream-warm); }
.ed-gal__slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .5s ease; }
.ed-gal__slide.is-on { opacity:1; pointer-events:auto; }
.ed-gal__slide > img { width:100%; height:100%; object-fit:cover; display:block; }
.ed-gal__slide--in { padding:7% 6%; background:linear-gradient(160deg,#24404F 0%,var(--slate-deep) 100%); }
.ed-gal__slide--in::after { content:attr(data-note); position:absolute; left:0; right:0; bottom:5%; text-align:center; font-family:var(--caps); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(199,164,104,.72); pointer-events:none; }
.ed-gal__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:42px; height:42px; border-radius:999px; display:grid; place-items:center; cursor:pointer; border:1px solid rgba(199,164,104,.5); background:rgba(30,51,64,.5); color:#F5F2EA; font-family:var(--serif); font-size:20px; line-height:1; padding:0 0 3px; transition:background .2s,border-color .2s; }
.ed-gal__nav:hover { background:rgba(30,51,64,.88); border-color:var(--gold); }
.ed-gal__nav--prev { left:14px; }
.ed-gal__nav--next { right:14px; }
.ed-gal__meta { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-top:15px; }
.ed-gal__cap { font-family:var(--serif); font-style:italic; font-size:15.5px; color:var(--ink-mut); }
.ed-gal__count { font-family:var(--caps); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); white-space:nowrap; }
.ed-gal__rail { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin-top:12px; }
.ed-gal__thumb { position:relative; aspect-ratio:1184/1530; border-radius:5px; overflow:hidden; cursor:pointer; padding:0; background:var(--cream-warm); border:1px solid rgba(43,74,92,.16); opacity:.5; transition:opacity .2s,border-color .2s,box-shadow .2s; display:grid; place-items:center; }
.ed-gal__thumb:hover { opacity:.85; }
.ed-gal__thumb.is-on { opacity:1; border-color:var(--gold); box-shadow:0 0 0 1px var(--gold); }
.ed-gal__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.ed-gal__thumb span { font-family:var(--caps); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); }
.ed-pd__buy { position:sticky; top:100px; }
.ed-pd__name { font-family:var(--serif); font-weight:500; font-size:clamp(38px,5vw,62px); line-height:1; letter-spacing:-.028em; color:var(--slate-deep); margin:14px 0 0; }
.ed-pd__name em { font-style:italic; color:var(--gold-deep); }
.ed-pd__sub { font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.1vw,24px); color:var(--slate); margin:10px 0 0; }
.ed-pd__by { font-family:var(--serif); font-size:17.5px; color:var(--ink-mut); margin:14px 0 0; }
.ed-pd__by b { color:var(--slate); font-weight:600; }
.ed-pd__by a { color:var(--gold-deep); text-decoration:none; border-bottom:1px solid rgba(199,164,104,.4); }
.ed-pd__by a:hover { color:var(--slate); border-bottom-color:var(--slate); }
.ed-pd__price { font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.2vw,40px); color:var(--slate-deep); margin:26px 0 0; }
.ed-pd__ship { font-family:var(--serif); font-size:16px; color:var(--ink-faint); margin:4px 0 0; }
.ed-qty { display:flex; align-items:center; gap:14px; margin:24px 0 0; }
.ed-qty label { font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--slate-deep); }
.ed-qty select { font-family:'Lora',var(--serif); font-size:16px; padding:13px 18px; border-radius:10px; border:1px solid rgba(43,74,92,.24); background:#FBF9F4; color:var(--ink); appearance:none; cursor:pointer; }
.ed-qty select:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(199,164,104,.22); }
/* format variants */
.ed-var { margin:26px 0 0; }
.ed-var__k { font-family:'Inter',sans-serif; font-size:13.5px; font-weight:600; color:var(--slate-deep); }
.ed-var__opts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:11px; }
.ed-var__opt { position:relative; display:flex; flex-direction:column; gap:3px; border:1px solid rgba(43,74,92,.24); border-radius:12px; padding:15px 18px; background:#FBF9F4; cursor:pointer; transition:border-color .2s,background .2s; }
.ed-var__opt:hover { border-color:rgba(43,74,92,.44); }
.ed-var__opt input { position:absolute; opacity:0; pointer-events:none; }
.ed-var__opt:has(input:checked) { border-color:var(--gold); background:rgba(199,164,104,.1); }
.ed-var__n { font-family:var(--caps); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); }
.ed-var__p { font-family:var(--serif); font-weight:500; font-size:23px; color:var(--slate-deep); }
.ed-pd__cta { margin-top:22px; display:flex; flex-direction:column; gap:12px; }
.ed-gift { display:flex; align-items:flex-start; gap:11px; margin-top:20px; font-family:var(--serif); font-size:16.5px; line-height:1.5; color:var(--ink-mut); }
.ed-gift input { appearance:none; -webkit-appearance:none; width:18px; height:18px; flex:0 0 auto; margin-top:3px; border:1px solid rgba(43,74,92,.4); border-radius:4px; background:#FBF9F4; cursor:pointer; }
.ed-gift input:checked { background:var(--gold); border-color:var(--gold); }
.ed-gift input:checked::after { content:""; display:block; position:relative; left:5px; top:1px; width:5px; height:10px; border:solid var(--slate-deep); border-width:0 2px 2px 0; transform:rotate(45deg); }
.ed-pd__note { margin-top:26px; padding-top:20px; border-top:1px solid rgba(199,164,104,.34); font-family:var(--serif); font-size:16.5px; line-height:1.55; color:var(--ink-mut); }
.ed-pd__note b { color:var(--slate); font-weight:600; }
.ed-pd__note a { color:var(--gold-deep); text-decoration:none; border-bottom:1px solid rgba(199,164,104,.42); }
.ed-pd__note a:hover { color:var(--slate); border-bottom-color:var(--slate); }
@media (max-width:900px){ .ed-pd__grid{grid-template-columns:1fr} .ed-pd__buy{position:static} }

/* about the edition — dark band */
.ed-about { background:radial-gradient(ellipse 110% 130% at 20% 0%,#24404F 0%,var(--slate-deep) 58%,#172935 100%); padding:clamp(72px,9vw,120px) 40px; position:relative; overflow:hidden; }
.ed-about__fa { position:absolute; bottom:-6%; right:-1%; font-family:'Aref Ruqaa',serif; font-weight:700; font-size:clamp(130px,20vw,270px); line-height:1; direction:rtl; color:rgba(199,164,104,.055); pointer-events:none; }
.ed-about__in { position:relative; z-index:1; max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,72px); }
.ed-about__h { font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.8vw,46px); line-height:1.04; letter-spacing:-.02em; color:#F7F4EC; margin:16px 0 0; }
.ed-about__h em { font-style:italic; color:var(--gold-soft); }
.ed-about__p { font-family:var(--serif); font-size:clamp(18px,1.95vw,20.5px); line-height:1.68; color:rgba(247,244,236,.8); margin:20px 0 0; }
.ed-about__p em { font-style:italic; color:var(--gold-soft); }
.ed-spec { border-top:1px solid rgba(199,164,104,.24); position:sticky; top:96px; }
.ed-spec__row { display:grid; grid-template-columns:auto 1fr; gap:20px; padding:15px 0; border-bottom:1px solid rgba(199,164,104,.16); }
.ed-spec__k { font-family:var(--caps); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.ed-spec__v { font-family:var(--serif); font-size:17.5px; color:rgba(247,244,236,.84); text-align:right; }
@media (max-width:820px){ .ed-about__in{grid-template-columns:1fr} .ed-spec{position:static} }

/* ---- cart drawer ---- */
.cart { position:fixed; inset:0; z-index:200; pointer-events:none; }
.cart__veil { position:absolute; inset:0; background:rgba(15,26,34,.55); opacity:0; transition:opacity .34s cubic-bezier(.22,.61,.36,1); backdrop-filter:blur(2px); }
.cart__panel { position:absolute; top:0; right:0; bottom:0; width:min(440px,100%); background:var(--cream-warm); display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .38s cubic-bezier(.22,.61,.36,1); box-shadow:-24px 0 60px rgba(15,26,34,.3); }
.cart.is-open { pointer-events:auto; }
.cart.is-open .cart__veil { opacity:1; }
.cart.is-open .cart__panel { transform:none; }
.cart__head { display:flex; align-items:center; justify-content:space-between; padding:26px 28px 20px; border-bottom:1px solid rgba(43,74,92,.14); }
.cart__title { font-family:var(--serif); font-weight:500; font-size:27px; color:var(--slate-deep); }
.cart__x { background:none; border:none; cursor:pointer; font-family:var(--serif); font-size:30px; line-height:1; color:var(--ink-faint); padding:0 4px; transition:color .2s; }
.cart__x:hover { color:var(--slate-deep); }
.cart__body { flex:1; overflow-y:auto; padding:8px 28px; }
.cart__empty { padding:48px 0; text-align:center; }
.cart__empty p { font-family:var(--serif); font-size:19px; color:var(--ink-mut); margin:0 0 14px; }
.cart__empty a { font-family:var(--caps); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); text-decoration:none; }
.cart__line { display:grid; grid-template-columns:64px 1fr auto; gap:16px; padding:22px 0; border-bottom:1px solid rgba(43,74,92,.12); align-items:start; }
.cart__art { display:block; border-radius:6px; overflow:hidden; box-shadow:0 8px 18px rgba(43,74,92,.18); }
.cart__art img { width:100%; display:block; }
.cart__info { display:flex; flex-direction:column; gap:4px; }
.cart__name { font-family:var(--serif); font-weight:500; font-size:20px; line-height:1.1; color:var(--slate-deep); text-decoration:none; }
.cart__name:hover { color:var(--gold-deep); }
.cart__by { font-family:var(--serif); font-size:15px; color:var(--ink-faint); }
.cart__qty { display:flex; align-items:center; gap:8px; margin-top:8px; }
.cart__qty button { width:28px; height:28px; border-radius:6px; border:1px solid rgba(43,74,92,.22); background:#FBF9F4; color:var(--slate-deep); font-family:var(--serif); font-size:17px; line-height:1; cursor:pointer; transition:border-color .2s,background .2s; }
.cart__qty button:hover { border-color:var(--gold-deep); background:rgba(199,164,104,.1); }
.cart__qty span { font-family:'Inter',sans-serif; font-size:14px; color:var(--slate-deep); min-width:18px; text-align:center; }
.cart__rm { width:auto !important; border:none !important; background:none !important; font-family:var(--caps) !important; font-size:9.5px !important; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint) !important; margin-left:6px; }
.cart__rm:hover { color:var(--gold-deep) !important; }
.cart__price { font-family:var(--serif); font-size:19px; color:var(--slate-deep); }
.cart__foot { padding:22px 28px 28px; border-top:1px solid rgba(43,74,92,.14); background:var(--ivory); }
.cart__sub { display:flex; justify-content:space-between; align-items:baseline; font-family:var(--serif); }
.cart__sub-k { font-family:var(--caps); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); }
.cart__sub-v { font-size:27px; font-weight:500; color:var(--slate-deep); }
.cart__fine { font-family:var(--serif); font-size:15px; line-height:1.5; color:var(--ink-mut); margin:10px 0 18px; }

/* ---- checkout ---- */
.ck { background:var(--cream); min-height:100vh; padding:clamp(118px,13vw,164px) 40px clamp(70px,8vw,104px); }
.ck__in { max-width:1080px; margin:0 auto; }
.ck__h { font-family:var(--serif); font-weight:500; font-size:clamp(38px,5vw,60px); line-height:1; letter-spacing:-.028em; color:var(--slate-deep); margin:16px 0 0; }
.ck__h em { font-style:italic; color:var(--gold-deep); }
.ck__grid { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(32px,4.5vw,64px); margin-top:clamp(34px,4vw,52px); align-items:start; }
.ck-fs { margin-bottom:38px; }
.ck-fs__h { font-family:var(--caps); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep); padding-bottom:12px; border-bottom:1px solid rgba(199,164,104,.34); margin-bottom:22px; }
.ck-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ck-row--3 { grid-template-columns:2fr 1fr 1fr; }
.ck-field { display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.ck-label { font-family:'Inter',sans-serif; font-size:13.5px; font-weight:600; color:var(--slate-deep); }
.ck-label span { color:var(--gold-deep); }
.ck-ctl { font-family:'Lora',var(--serif); font-size:17px; line-height:1.5; padding:16px 20px; border-radius:12px; border:1px solid rgba(43,74,92,.24); background:#FBF9F4; color:var(--ink); box-shadow:inset 0 1px 3px rgba(43,74,92,.07); transition:border-color .22s,box-shadow .22s; width:100%; box-sizing:border-box; appearance:none; }
.ck-ctl::placeholder { color:var(--ink-faint); }
.ck-ctl:hover { border-color:rgba(43,74,92,.4); }
.ck-ctl:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(199,164,104,.22); }
textarea.ck-ctl { resize:vertical; min-height:96px; }
.ck-mock { border:1px solid rgba(199,164,104,.44); background:rgba(199,164,104,.08); border-radius:12px; padding:18px 22px; display:flex; gap:14px; align-items:flex-start; margin-bottom:22px; }
.ck-mock::before { content:""; flex:0 0 auto; width:8px; height:8px; margin-top:8px; background:var(--gold); transform:rotate(45deg); }
.ck-mock p { font-family:var(--serif); font-size:16.5px; line-height:1.55; color:var(--ink-mut); margin:0; }
.ck-mock p b { color:var(--slate); font-weight:600; }

.ck-secure { display:flex; align-items:center; gap:8px; margin:4px 0 0; font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.02em; color:var(--slate); }
.ck-secure svg { color:var(--gold-deep); flex:0 0 auto; }
.ck-charged { font-family:var(--serif); font-size:14.5px; line-height:1.5; color:var(--ink-mut); margin:8px 0 22px; }
.ck-charged b { font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.06em; color:var(--slate); }
.ck-samebill { margin-top:0 !important; margin-bottom:20px; }
.ck-bill { border-top:1px solid rgba(199,164,104,.34); padding-top:22px; margin-bottom:4px; }
.ck-bill__h { font-family:var(--caps); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:16px; }
.ck-sum { background:var(--ivory); border:1px solid rgba(43,74,92,.14); border-radius:16px; padding:28px 26px; position:sticky; top:100px; }
.ck-sum__h { font-family:var(--caps); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-deep); padding-bottom:16px; border-bottom:1px solid rgba(43,74,92,.14); }
.ck-sum__line { display:grid; grid-template-columns:52px 1fr auto; gap:14px; padding:18px 0; border-bottom:1px solid rgba(43,74,92,.1); align-items:start; }
.ck-sum__line img { width:100%; border-radius:5px; display:block; box-shadow:0 6px 14px rgba(43,74,92,.16); }
.ck-sum__n { font-family:var(--serif); font-weight:500; font-size:18.5px; line-height:1.1; color:var(--slate-deep); }
.ck-sum__q { font-family:var(--serif); font-size:15px; color:var(--ink-faint); }
.ck-sum__p { font-family:var(--serif); font-size:17.5px; color:var(--slate-deep); }
.ck-tot { padding-top:16px; }
.ck-tot__row { display:flex; justify-content:space-between; align-items:baseline; padding:7px 0; font-family:var(--serif); font-size:17px; color:var(--ink-mut); }
.ck-tot__row--grand { border-top:1px solid rgba(43,74,92,.16); margin-top:10px; padding-top:16px; }
.ck-tot__row--grand span:first-child { font-family:var(--caps); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); }
.ck-tot__row--grand span:last-child { font-size:28px; font-weight:500; color:var(--slate-deep); }
.ck-fine { font-family:var(--serif); font-size:15px; line-height:1.55; color:var(--ink-mut); margin-top:18px; padding-top:16px; border-top:1px solid rgba(43,74,92,.14); }
.ck-fine b { color:var(--slate); font-weight:600; }
@media (max-width:900px){ .ck__grid{grid-template-columns:1fr} .ck-sum{position:static} .ck-row,.ck-row--3{grid-template-columns:1fr} }

/* thank you */
.ck-done { max-width:640px; margin:0 auto; text-align:center; }
.ck-done__h { font-family:var(--serif); font-weight:500; font-size:clamp(38px,5vw,62px); line-height:1; letter-spacing:-.028em; color:var(--slate-deep); margin:18px 0 0; }
.ck-done__h em { font-style:italic; color:var(--gold-deep); }
.ck-done__p { font-family:var(--serif); font-size:20px; line-height:1.6; color:var(--ink-mut); margin:20px auto 0; max-width:48ch; }
.ck-done__p b { color:var(--slate); font-weight:600; }
.ck-done__p em { font-style:italic; color:var(--slate); }
.ck-done__rec { margin:32px auto 0; max-width:460px; text-align:left; border:1px solid rgba(43,74,92,.14); border-radius:14px; background:var(--ivory); padding:6px 22px; }
.ck-done__rec-row { display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:14px 0; border-bottom:1px solid rgba(43,74,92,.1); }
.ck-done__rec-row:last-child { border-bottom:none; }
.ck-done__rec-row span:first-child { flex:0 0 auto; font-family:var(--caps); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); }
.ck-done__rec-row span:last-child { flex:1 1 auto; min-width:0; font-family:'Inter',sans-serif; font-size:13.5px; font-weight:600; color:var(--slate-deep); text-align:right; overflow-wrap:anywhere; }
.ck-done__note { font-family:var(--serif); font-style:italic; font-size:17px; line-height:1.55; color:var(--ink-mut); margin:24px auto 0; max-width:44ch; }
.ck-done__cta { margin-top:32px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* limited-printing note */
.ed-limited { display:flex; gap:14px; align-items:flex-start; margin:22px 0 0; padding:18px 22px; border:1px solid rgba(199,164,104,.44); background:rgba(199,164,104,.09); border-radius:8px; }
.ed-limited::before { content:""; flex:0 0 auto; width:8px; height:8px; margin-top:8px; background:var(--gold); transform:rotate(45deg); }
.ed-limited p { font-family:var(--serif); font-size:16.5px; line-height:1.55; color:var(--ink-mut); margin:0; }
.ed-limited p b { color:var(--slate); font-weight:600; }

/* ---- app bridge: CMS rich-text inside the About section ----
   RichText renders plain <p>/<em>/<a>; mirror the design's .ed-about__p look. */
.ed-about__prose > p:first-child { margin-top:0; }
.ed-about__prose p { font-family:var(--serif); font-size:clamp(18px,1.95vw,20.5px); line-height:1.68; color:rgba(247,244,236,.8); margin:20px 0 0; }
.ed-about__prose em, .ed-about__prose i { font-style:italic; color:var(--gold-soft); }
.ed-about__prose strong, .ed-about__prose b { color:#F7F4EC; font-weight:600; }
.ed-about__prose a { color:var(--gold-soft); text-decoration:underline; text-underline-offset:2px; }
.ed-about__prose h2, .ed-about__prose h3, .ed-about__prose h4 { font-family:var(--serif); font-weight:500; color:#F7F4EC; line-height:1.1; margin:30px 0 0; }
.ed-about__prose h3 { font-size:clamp(22px,2.4vw,28px); }
.ed-about__prose ul, .ed-about__prose ol { font-family:var(--serif); font-size:clamp(18px,1.95vw,20.5px); line-height:1.62; color:rgba(247,244,236,.8); margin:16px 0 0; padding-left:1.25em; }
.ed-about__prose li { margin:6px 0; }
.ed-about__prose li::marker { color:var(--gold-soft); }

/* ---- app: price block + discount (buy box) ---- */
.ed-price { margin:18px 0 2px; }
.ed-price--sale { background:var(--cream-warm,#F3EEE2); border:1px solid rgba(169,138,85,.22); border-radius:14px; padding:18px 20px; }
.ed-price__line { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 13px; }
.ed-price__now { font-family:var(--serif); font-weight:500; font-size:clamp(34px,4.4vw,46px); line-height:1; color:var(--ink,#20303C); }
.ed-price__was { font-family:var(--serif); font-size:22px; color:var(--ink-faint,#6B7F8B); text-decoration:line-through; }
.ed-price__save { font-family:var(--caps); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--slate-deep,#1E3340); background:var(--gold,#C7A468); padding:6px 12px; border-radius:999px; align-self:center; white-space:nowrap; }
.ed-price__note { font-family:var(--serif); font-style:italic; font-size:15.5px; line-height:1.5; color:var(--ink-mut,#4E6472); margin:10px 0 0; }
/* struck original inside the format radios */
.ed-var__was { font-size:.8em; color:var(--ink-faint,#6B7F8B); text-decoration:line-through; margin-right:6px; font-weight:400; }
/* "On sale" tag on the shop listing */
.ed-tag--sale { color:var(--slate-deep,#1E3340); background:var(--gold-soft,#DCC190); border-color:transparent; }

/* ---- app: ed-promo price block (matches the design's discount markup) ---- */
.ed-promo { margin:20px 0 4px; padding:18px 22px; background:var(--cream-warm,#F3EEE2); border:1px solid rgba(169,138,85,.22); border-radius:14px; display:flex; align-items:baseline; flex-wrap:wrap; gap:9px 14px; }
.ed-promo__now { font-family:var(--serif); font-weight:500; font-size:clamp(34px,4.4vw,46px); line-height:1; color:var(--ink,#20303C); }
.ed-promo__was { font-family:var(--serif); font-size:22px; color:var(--ink-faint,#6B7F8B); text-decoration:line-through; }
.ed-promo__save { align-self:center; font-family:var(--caps); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--slate-deep,#1E3340); background:var(--gold,#C7A468); padding:6px 12px; border-radius:999px; white-space:nowrap; }
.ed-promo__note { flex-basis:100%; font-family:var(--serif); font-style:italic; font-size:15.5px; line-height:1.5; color:var(--ink-mut,#4E6472); margin:6px 0 0; }
/* struck original inside the format radios */
.ed-var__p s { font-size:.8em; color:var(--ink-faint,#6B7F8B); text-decoration:line-through; margin-right:7px; font-weight:400; }
