/* ───────────────────────── Fonts (self-hosted) ───────────────────────── */
@font-face { font-family: 'Bodoni Moda'; src: url('../fonts/bodoni-moda-latin-opsz-normal.woff2') format('woff2-variations'); font-weight: 400 900; font-display: swap; }
@font-face { font-family: 'Instrument Sans'; src: url('../fonts/instrument-sans-latin-wght-normal.woff2') format('woff2-variations'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: 'Alexandria'; src: url('../fonts/alexandria-arabic-wght-normal.woff2') format('woff2-variations'); font-weight: 100 900; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'Amiri'; src: url('../fonts/amiri-arabic-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'Amiri'; src: url('../fonts/amiri-arabic-700-normal.woff2') format('woff2'); font-weight: 700; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'IBM Plex Sans Arabic'; src: url('../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'IBM Plex Sans Arabic'; src: url('../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'IBM Plex Sans Arabic'; src: url('../fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2') format('woff2'); font-weight: 600 700; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'IBM Plex Sans Arabic'; src: url('../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Arabic'; src: url('../fonts/ibm-plex-sans-arabic-latin-500-normal.woff2') format('woff2'); font-weight: 500; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans Arabic'; src: url('../fonts/ibm-plex-sans-arabic-latin-600-normal.woff2') format('woff2'); font-weight: 600 700; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ───────────────────────── Tokens ───────────────────────── */
:root {
  --travertine: #E8E1D4;   /* page */
  --limestone: #F3EEE5;    /* raised surfaces, drawers */
  --paper: #FBF8F3;        /* inputs */
  --stone: #DDD4C4;        /* confidence band */
  --line: #CDC3B2;
  --line-soft: #DAD1C2;
  --ink: #2A2927;          /* graphite — taken from the case */
  --ink-2: #5A5752;
  --ink-3: #7A766F;
  --wine: #5C1B2B;         /* burgundy — taken from the camera rim */
  --wine-deep: #471420;
  --wine-tint: rgba(92, 27, 43, .14);
  --night: #2D2C29;        /* footer */
  --error: #8C2323;

  --serif: 'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --sans: 'Instrument Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;

  --gutter: clamp(16px, 3.4vw, 48px);
  --max: 1440px;
  --r-media: clamp(20px, 2.2vw, 30px);
  --r-tile: 16px;
  --header-h: 64px;
  --ease: cubic-bezier(.2, .7, .1, 1);
  color-scheme: light;
}
:root:lang(ar) {
  --serif: 'Alexandria', 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
  --sans: 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
}

/* ───────────────────────── Base ───────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
  margin: 0; background: var(--travertine); color: var(--ink);
  font: 400 16px/1.55 var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-x: clip;
}
:lang(ar) body, body:lang(ar) { line-height: 1.75; }
img, picture, svg { display: block; max-width: 100%; }
picture img { width: 100%; height: 100%; object-fit: cover; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
h1, h2, h3, p, dl, dd, ul, figure { margin: 0; }
ul { padding: 0; list-style: none; }
.icon { width: 20px; height: 20px; flex: none; }
:focus-visible { outline: 2px solid var(--wine); outline-offset: 3px; border-radius: 6px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; inset-inline-start: 12px; top: -60px; z-index: 100; background: var(--ink); color: var(--limestone); padding: 10px 16px; border-radius: 10px; text-decoration: none; }
.skip:focus { top: 12px; }
.tabular, [data-unit-price], .btn__price, .totals dd { font-variant-numeric: tabular-nums lining-nums; }

/* ───────────────────────── Announcement + header ───────────────────────── */
.announce { background: var(--wine-deep); color: #F1E6E2; }
.announce p {
  text-transform: uppercase; display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 36px; padding: 6px var(--gutter); font-size: 12px; letter-spacing: .14em; text-align: center;
}
:lang(ar) .announce p { letter-spacing: 0; font-size: 14px; text-transform: none; }
.announce .icon { width: 17px; height: 17px; opacity: .9; }

.site-header {
  position: sticky; top: 0; z-index: 40;
  background: rgba(232, 225, 212, .86); -webkit-backdrop-filter: saturate(1.2) blur(14px); backdrop-filter: saturate(1.2) blur(14px);
  border-bottom: 1px solid transparent; transition: border-color .3s var(--ease);
}
.site-header.is-scrolled { border-bottom-color: var(--line-soft); }
.site-header__inner {
  max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); height: var(--header-h);
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
}
.wordmark { justify-self: start; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.wordmark__text { font-family: var(--serif); font-size: 27px; font-weight: 500; letter-spacing: .01em; line-height: 1; font-optical-sizing: auto; }
:lang(ar) .wordmark__text { font-size: 30px; font-weight: 700; }
.site-nav { display: flex; gap: 32px; }
.site-nav a { position: relative; font-size: 14px; color: var(--ink-2); text-decoration: none; padding: 10px 0; transition: color .2s; }
.site-nav a::after { content: ''; position: absolute; inset-inline: 0; bottom: 4px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: var(--origin, left); transition: transform .35s var(--ease); }
:lang(ar) .site-nav a::after { --origin: right; }
.site-nav a:hover { color: var(--ink); }
.site-nav a:hover::after { transform: scaleX(1); }
.site-header__tools { justify-self: end; display: flex; align-items: center; gap: 6px; }
.lang { font-size: 14px; text-decoration: none; padding: 10px 12px; border-radius: 999px; color: var(--ink-2); transition: background .2s, color .2s; }
.lang:lang(ar) { font-family: 'IBM Plex Sans Arabic', sans-serif; font-size: 15px; }
.lang:lang(en) { font-family: 'Instrument Sans', sans-serif; }
.lang:hover { background: rgba(42, 41, 39, .06); color: var(--ink); }
.bag-btn { position: relative; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 999px; transition: background .2s; }
.bag-btn:hover { background: rgba(42, 41, 39, .06); }
.bag-btn .icon { width: 22px; height: 22px; }
.bag-btn__count {
  position: absolute; top: 4px; inset-inline-end: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
  background: var(--wine); color: #fff; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center;
}

/* ───────────────────────── Product (first screen) ───────────────────────── */
.product {
  max-width: var(--max); margin: 0 auto; padding: clamp(12px, 1.8vw, 28px) var(--gutter) clamp(56px, 7vw, 104px);
  display: grid; gap: 28px;
}
.gallery { position: relative; min-width: 0; }
.gallery__thumbs { display: none; }
.gallery__stage { position: relative; border-radius: var(--r-media); overflow: hidden; background: #D9CDB8; isolation: isolate; }
.gallery__track {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
  aspect-ratio: 4 / 5; border-radius: inherit;
}
.gallery__track::-webkit-scrollbar { display: none; }
.gallery__track:focus-visible { outline-offset: -4px; }
.slide { position: relative; flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.slide__pic, .slide__pic img { width: 100%; height: 100%; }
.slide__tag {
  position: absolute; inset-inline-start: 14px; bottom: 14px; z-index: 2; pointer-events: none;
  font-size: 11.5px; letter-spacing: .02em; padding: 4px 10px; border-radius: 999px;
  background: rgba(42, 41, 39, .55); color: #F3EEE5; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
:lang(ar) .slide__tag { letter-spacing: 0; font-size: 12px; }
.gallery__nav, .gallery__zoom {
  position: absolute; z-index: 3; width: 44px; height: 44px; border-radius: 999px; display: grid; place-items: center;
  background: rgba(243, 238, 229, .82); color: var(--ink); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: opacity .25s var(--ease), transform .25s var(--ease), background .2s;
}
.gallery__nav:hover, .gallery__zoom:hover { background: var(--limestone); }
.gallery__nav { top: 50%; translate: 0 -50%; opacity: 0; }
.gallery__nav--prev { inset-inline-start: 16px; }
.gallery__nav--next { inset-inline-end: 16px; }
.gallery__stage:hover .gallery__nav, .gallery__nav:focus-visible { opacity: 1; }
.gallery__nav[disabled] { opacity: 0 !important; pointer-events: none; }
.gallery__zoom { top: 14px; inset-inline-end: 14px; }
.gallery__zoom .icon { width: 18px; height: 18px; }
.gallery__dots { position: absolute; z-index: 2; bottom: 16px; inset-inline: 0; display: flex; justify-content: center; gap: 7px; pointer-events: none; }
.dot { width: 6px; height: 6px; border-radius: 999px; background: rgba(243, 238, 229, .6); transition: width .35s var(--ease), background .35s; }
.dot.is-active { width: 20px; background: #F6F1E8; }
@media (hover: none) { .gallery__nav { display: none; } }

/* Buy panel */
.buy { min-width: 0; }
.buy__head { display: flex; flex-direction: column; gap: 6px; }
.buy__title {
  font-family: var(--serif); font-weight: 500; font-size: clamp(40px, 4.6vw, 66px); line-height: .98; letter-spacing: -.012em;
  font-optical-sizing: auto; text-wrap: balance;
}
:lang(ar) .buy__title { font-weight: 700; line-height: 1.25; letter-spacing: 0; font-size: clamp(40px, 4.4vw, 60px); }
.buy__price { display: flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 500; margin-top: 6px; }
.tag { font-size: 11.5px; font-weight: 500; color: var(--ink-2); border: 1px dashed var(--ink-3); border-radius: 999px; padding: 2px 9px; letter-spacing: .01em; }
.buy__desc { margin-top: 16px; color: var(--ink-2); font-size: 16px; line-height: 1.6; max-width: 46ch; }
:lang(ar) .buy__desc { line-height: 1.85; font-size: 16.5px; }

.buy__form { margin-top: 26px; display: grid; gap: 24px; }
.opt { border: 0; padding: 0; margin: 0; min-width: 0; }
.opt__legend {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px; width: 100%;
  font-size: 14px; font-weight: 500; padding: 0; margin-bottom: 12px;
}
.opt__value, .opt__hint { color: var(--ink-2); font-weight: 400; }
.opt__error { margin-top: 10px; color: var(--error); font-size: 13.5px; font-weight: 500; }

.models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.model {
  position: relative; display: grid; justify-items: center; gap: 6px; padding: 16px 8px 13px; cursor: pointer;
  border: 1px solid var(--line); border-radius: var(--r-tile); background: transparent;
  transition: border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
}
.model input, .swatch input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: inherit; }
.model__num { font-family: var(--serif); font-size: 36px; font-weight: 500; line-height: .9; font-optical-sizing: auto; transition: color .25s; }
:lang(ar) .model__num { font-weight: 700; font-size: 34px; line-height: 1.1; }
.model__suffix { font-size: 12.5px; color: var(--ink-2); }
.model:hover { border-color: var(--ink-3); }
.model:has(input:checked) { border-color: var(--ink); background: var(--limestone); box-shadow: inset 0 0 0 .5px var(--ink); }
.model:has(input:checked) .model__num { color: var(--wine); }
.model:has(input:focus-visible) { outline: 2px solid var(--wine); outline-offset: 3px; }
.model.is-disabled { cursor: not-allowed; opacity: .5; }
.model.is-disabled .model__num { text-decoration: line-through; text-decoration-thickness: 1px; }
.opt.has-error .model { border-color: var(--error); }

.swatches { display: flex; flex-wrap: wrap; gap: 12px; }
.swatch { position: relative; width: 44px; height: 44px; border-radius: 999px; cursor: pointer; }
.swatch img { width: 44px; height: 44px; border-radius: 999px; object-fit: cover; }
.swatch::after { content: ''; position: absolute; inset: -5px; border-radius: 999px; border: 1px solid transparent; transition: border-color .25s; }
.swatch:has(input:checked)::after { border-color: var(--ink); }
.swatch:has(input:focus-visible) { outline: 2px solid var(--wine); outline-offset: 7px; }
.swatch.is-disabled { opacity: .4; cursor: not-allowed; }


.stepper {
  display: inline-grid; grid-template-columns: 44px 36px 44px; align-items: center; height: 56px;
  border: 1px solid var(--line); border-radius: 999px; background: transparent;
}
.stepper button { height: 100%; display: grid; place-items: center; border-radius: 999px; color: var(--ink); transition: background .2s, opacity .2s; }
.stepper button:hover { background: rgba(42, 41, 39, .06); }
.stepper button[disabled] { opacity: .3; cursor: not-allowed; }
.stepper .icon { width: 16px; height: 16px; }
.stepper input {
  width: 100%; height: 100%; border: 0; background: transparent; text-align: center; font-size: 16px; font-weight: 500;
  -moz-appearance: textfield; appearance: textfield; padding: 0;
}
.stepper input::-webkit-outer-spin-button, .stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.actions { display: grid; grid-template-columns: auto 1fr; gap: 10px; }
.actions .stepper { grid-row: 1; }
.actions [data-buy-now] { grid-column: 2; }
.actions .btn--secondary { grid-column: 1 / -1; }
.actions__status { grid-column: 1 / -1; min-height: 1px; font-size: 13.5px; color: var(--ink-2); }
.actions__status:empty { display: none; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 56px; padding: 0 26px;
  border-radius: 999px; font-size: 16px; font-weight: 500; letter-spacing: .005em; text-decoration: none; white-space: nowrap;
  transition: background .25s var(--ease), color .25s var(--ease), border-color .25s, transform .15s var(--ease);
}
.btn:active { transform: scale(.985); }
.btn--primary { background: var(--wine); color: #F7F1EA; justify-content: space-between; }
.btn--primary:hover { background: var(--wine-deep); }
.btn--primary .btn__price { opacity: .82; font-weight: 400; }
.btn--secondary { border: 1px solid var(--ink); color: var(--ink); min-height: 52px; }
.btn--secondary:hover { background: var(--ink); color: var(--limestone); }
.btn--compact { min-height: 48px; padding: 0 22px; justify-content: center; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .6; cursor: progress; }
:lang(ar) .btn { letter-spacing: 0; font-weight: 600; }

.assure { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line-soft); display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.assure li { display: flex; gap: 12px; align-items: flex-start; }
.assure .icon { width: 22px; height: 22px; color: var(--wine); margin-top: 1px; }
.assure strong { display: block; font-size: 14.5px; font-weight: 600; }
.assure span { display: block; font-size: 13.5px; color: var(--ink-2); line-height: 1.45; margin-top: 2px; }

.demo-note { margin-top: 22px; font-size: 12.5px; line-height: 1.5; color: var(--ink-2); border: 1px dashed var(--ink-3); border-radius: 12px; padding: 10px 14px; }
.placeholder { display: inline-block; font-size: 12.5px; color: var(--ink-2); border: 1px dashed var(--ink-3); border-radius: 8px; padding: 2px 9px; }

/* ───────────────────────── Craft ───────────────────────── */
.craft {
  max-width: var(--max); margin: 0 auto; padding: clamp(56px, 8vw, 120px) var(--gutter);
  display: grid; gap: 36px; border-top: 1px solid var(--line-soft);
}
.craft__title { font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.06; letter-spacing: -.01em; max-width: 15ch; text-wrap: balance; font-optical-sizing: auto; }
:lang(ar) .craft__title { font-weight: 700; line-height: 1.35; letter-spacing: 0; font-size: clamp(32px, 3.4vw, 48px); max-width: 16ch; }
.craft__body { margin-top: 20px; font-size: 17px; line-height: 1.65; color: var(--ink-2); max-width: 44ch; }
:lang(ar) .craft__body { line-height: 1.9; }
.craft__list { margin-top: 32px; max-width: 460px; }
.craft__list div { display: grid; grid-template-columns: 128px 1fr; gap: 16px; padding: 14px 0; border-top: 1px solid var(--line-soft); }
.craft__list div:last-child { border-bottom: 1px solid var(--line-soft); }
.craft__list dt { font-size: 14px; font-weight: 600; }
.craft__list dd { font-size: 14px; color: var(--ink-2); }
.craft__media { display: grid; grid-template-columns: 1.45fr 1fr; gap: 14px; align-items: end; min-width: 0; }
.craft__big, .craft__small { position: relative; overflow: hidden; background: #E2D3BC; max-width: 100%; }
.craft__big { aspect-ratio: 4 / 5; border-radius: var(--r-media); }
.craft__small { aspect-ratio: 4 / 5; border-radius: calc(var(--r-media) - 6px); margin-bottom: 12%; }
.craft__big picture, .craft__small picture { width: 100%; height: 100%; }
.craft__text .eyebrow { margin-bottom: 14px; }

/* ───────────────────────── Contact pills ───────────────────────── */
.pill-link { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--ink-3); border-radius: 999px; font-size: 14px; text-decoration: none; }
.pill-link .icon { width: 16px; height: 16px; }
.pill-link:hover { background: var(--ink); color: var(--limestone); border-color: var(--ink); }

/* ───────────────────────── Footer ───────────────────────── */
.site-footer { background: var(--night); color: #E6DFD3; padding: 56px var(--gutter) 28px; }
.site-footer__inner { max-width: calc(var(--max) - 2 * var(--gutter)); margin: 0 auto; display: grid; gap: 32px; }
.wordmark--light { color: #F3EEE5; }
.site-footer__brand p { margin-top: 8px; font-size: 13.5px; color: #ADA597; }
.site-footer__col { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.site-footer__col h2 { font-size: 14px; font-weight: 600; color: #F3EEE5; margin-bottom: 6px; }
.footer-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #BDB5A7; text-decoration: none; padding: 5px 0; }
.footer-link .icon { width: 16px; height: 16px; }
.footer-link:hover { color: #fff; text-decoration: underline; }
.site-footer .placeholder { color: #ADA597; border-color: #6F6A62; }
.site-footer__legal { max-width: calc(var(--max) - 2 * var(--gutter)); margin: 44px auto 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13px; color: #9C9589; }

/* ───────────────────────── Mobile sticky buy ───────────────────────── */
.sticky-buy {
  position: fixed; z-index: 30; inset-inline: 12px; bottom: calc(12px + env(safe-area-inset-bottom));
  display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 8px 8px 20px;
  background: rgba(243, 238, 229, .92); -webkit-backdrop-filter: blur(16px) saturate(1.2); backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid var(--line-soft); border-radius: 999px; box-shadow: 0 10px 30px -12px rgba(42, 41, 39, .35);
  transform: translateY(calc(100% + 24px)); transition: transform .45s var(--ease); visibility: hidden;
}
:lang(ar) .sticky-buy { padding: 8px 20px 8px 8px; }
.sticky-buy.is-visible { transform: none; visibility: visible; }
.sticky-buy__info { display: grid; min-width: 0; line-height: 1.3; }
.sticky-buy__info strong { font-size: 14px; font-weight: 600; }
.sticky-buy__info span { font-size: 13px; color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ───────────────────────── Drawers ───────────────────────── */
.scrim { position: fixed; inset: 0; z-index: 50; background: rgba(36, 33, 30, .42); }
.drawer {
  position: fixed; z-index: 60; top: 0; bottom: 0; inset-inline-end: 0; width: min(460px, 100vw);
  display: flex; flex-direction: column; background: var(--limestone); box-shadow: -24px 0 60px -30px rgba(42, 41, 39, .4);
}
.drawer[hidden] { display: none; }
.drawer--checkout { width: min(560px, 100vw); }
.drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px 14px 24px; border-bottom: 1px solid var(--line-soft); }
:lang(ar) .drawer__head { padding: 14px 24px 14px 16px; }
.drawer__head h2 { font-family: var(--serif); font-weight: 500; font-size: 27px; line-height: 1.2; font-optical-sizing: auto; }
:lang(ar) .drawer__head h2 { font-weight: 700; }
.icon-btn { width: 44px; height: 44px; border-radius: 999px; display: grid; place-items: center; transition: background .2s; }
.icon-btn:hover { background: rgba(42, 41, 39, .07); }
.drawer__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 24px; }
.drawer__foot { padding: 16px 24px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line-soft); display: grid; gap: 14px; background: var(--limestone); }
.drawer__foot .btn { width: 100%; justify-content: center; }
.checkout { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.checkout[hidden], .co-result[hidden], .cart-foot[hidden], .drawer__foot[hidden] { display: none; }

.cart-empty { display: grid; justify-items: start; gap: 18px; padding-top: 8px; color: var(--ink-2); }
.line { display: grid; grid-template-columns: 72px 1fr auto; gap: 16px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
.line:first-child { padding-top: 0; }
.line__img { width: 72px; height: 72px; border-radius: 14px; object-fit: cover; background: #D9CDB8; }
.line__name { font-weight: 600; font-size: 15px; }
.line__meta { font-size: 13.5px; color: var(--ink-2); line-height: 1.45; }
.line__price { font-size: 15px; font-weight: 500; text-align: end; }
.line__controls { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.line .stepper { height: 38px; grid-template-columns: 34px 28px 34px; }
.line .stepper input { font-size: 14px; }
.link-btn { font-size: 13px; color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; padding: 6px 0; }
.link-btn:hover { color: var(--ink); }

.totals { display: grid; gap: 8px; font-size: 14.5px; }
.totals div { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.totals dt { color: var(--ink-2); }
.totals dd { text-align: end; }
.totals .free { color: var(--wine); font-weight: 600; margin-inline-end: 4px; }
.totals__grand { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.totals__grand dt { color: var(--ink); font-weight: 600; font-size: 15.5px; }
.totals__grand dd { font-size: 21px; font-weight: 600; }
.totals--checkout { gap: 4px; font-size: 14px; }
.totals--checkout .totals__grand { padding-top: 8px; }
.totals--checkout .totals__grand dd { font-size: 19px; }

/* Checkout */
.co-section + .co-section { margin-top: 28px; }
.co-section h3 { font-size: 15px; font-weight: 600; margin-bottom: 14px; }
.co-items .line { grid-template-columns: 60px 1fr auto; }
.co-items .line__img { width: 60px; height: 60px; border-radius: 12px; }
.co-items .line:last-child { border-bottom: 0; padding-bottom: 0; }
.field { display: grid; gap: 6px; margin-bottom: 14px; min-width: 0; }
.field label { font-size: 13.5px; font-weight: 500; }
.field__opt { color: var(--ink-3); font-weight: 400; }
.field input, .field select, .field textarea {
  width: 100%; min-height: 50px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line);
  background: var(--paper); font-size: 16px; transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none;
}
.field textarea { resize: vertical; min-height: 76px; line-height: 1.5; }
.field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235A5752' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-inline-end: 40px;
}
:lang(ar) .field select { background-position: left 14px center; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px var(--wine-tint); }
.field [aria-invalid="true"] { border-color: var(--error); }
.field__hint { font-size: 12.5px; color: var(--ink-3); }
.field__error { font-size: 13px; color: var(--error); font-weight: 500; }
.field input[dir="ltr"]:lang(ar), :lang(ar) .field input[dir="ltr"] { text-align: right; }
.field-row { display: grid; gap: 0 12px; }
.hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.co-error-summary { margin-bottom: 16px; padding: 12px 14px; border-radius: 12px; background: #F3E2DE; border-inline-start: 3px solid var(--error); font-size: 13.5px; color: var(--error); font-weight: 500; }
.co-error-summary:focus { outline: none; }
.pay-option__card {
  display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: start; padding: 16px; border-radius: 14px;
  border: 1.5px solid var(--ink); background: var(--paper);
}
.pay-option__card .icon { width: 22px; height: 22px; color: var(--wine); margin-top: 1px; }
.pay-option__card strong { display: block; font-size: 15px; font-weight: 600; }
.pay-option__card span { display: block; font-size: 13.5px; color: var(--ink-2); margin-top: 2px; line-height: 1.5; }
.pay-option__check { color: var(--wine); }

.co-result { flex: 1; overflow-y: auto; padding: 32px 24px calc(32px + env(safe-area-inset-bottom)); }
.co-result:focus { outline: none; }
.co-result__mark { width: 56px; height: 56px; border-radius: 999px; display: grid; place-items: center; background: var(--wine); color: #F7F1EA; }
.co-result__mark--neutral { background: var(--ink-2); }
.co-result__mark .icon { width: 26px; height: 26px; }
.co-result h3 { font-family: var(--serif); font-weight: 500; font-size: 34px; line-height: 1.15; margin-top: 22px; font-optical-sizing: auto; }
:lang(ar) .co-result h3 { font-weight: 700; line-height: 1.4; }
.co-result p { margin-top: 10px; color: var(--ink-2); max-width: 44ch; }
.co-ref { margin-top: 24px; padding: 16px 18px; border-radius: 14px; background: var(--paper); border: 1px solid var(--line); display: grid; gap: 2px; }
.co-ref span { font-size: 13px; color: var(--ink-2); }
.co-ref strong { font-size: 24px; font-weight: 600; letter-spacing: .06em; font-variant-numeric: tabular-nums; direction: ltr; text-align: start; }
.co-result .totals { margin-top: 20px; }
.co-result .btn { margin-top: 28px; width: 100%; justify-content: center; }

/* Zoom */
.zoom { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(232, 225, 212, .98); }
.zoom::backdrop { background: rgba(36, 33, 30, .4); }
.zoom[open] { display: grid; place-items: center; }
.zoom img { max-width: min(94vw, 1400px); max-height: 90dvh; width: auto; height: auto; border-radius: var(--r-media); object-fit: contain; }
.zoom__close { position: absolute; top: 16px; inset-inline-end: 16px; background: var(--limestone); }

/* Policy pages */
.policy { max-width: 720px; margin: 0 auto; padding: 48px var(--gutter) 112px; }
.policy__back { font-size: 14px; color: var(--ink-2); }
.policy h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 5vw, 56px); line-height: 1.1; margin: 24px 0 24px; }
:lang(ar) .policy h1 { font-weight: 700; line-height: 1.4; }
.policy h2 { font-size: 17px; font-weight: 600; margin-top: 28px; }
.policy p { margin-top: 10px; font-size: 16.5px; line-height: 1.7; color: var(--ink-2); }

/* ───────────────────────── Breakpoints ───────────────────────── */
@media (min-width: 480px) {
  .field-row { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 640px) {
  .site-footer__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 719px) {
  .site-nav { display: none; }
  .site-header__inner { grid-template-columns: 1fr auto; }
  :root { --header-h: 58px; }
}
@media (max-width: 599px) {
  .craft__list div { grid-template-columns: 96px 1fr; }
}
@media (max-width: 380px) {
  .buy__title { font-size: 38px; }
  .btn { padding: 0 20px; }
  .assure { grid-template-columns: 1fr; gap: 14px; }
  .model__num { font-size: 32px; }
}
@media (min-width: 900px) {
  .product { grid-template-columns: minmax(0, 1.22fr) minmax(360px, 1fr); gap: clamp(36px, 4.4vw, 80px); align-items: start; }
  .buy { position: sticky; top: calc(var(--header-h) + 20px); padding-top: clamp(4px, 1.4vw, 24px); }
  .sticky-buy { display: none; }
  .craft { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 5vw, 88px); align-items: start; }
  .craft__text { position: sticky; top: calc(var(--header-h) + 40px); }
}
@media (min-width: 1100px) {
  .product { grid-template-columns: minmax(0, 1.38fr) minmax(380px, 1fr); }
  .gallery { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 16px; align-items: start; }
  .gallery__thumbs { display: grid; gap: 10px; position: sticky; top: calc(var(--header-h) + 20px); }
  .thumb { width: 76px; height: 76px; border-radius: 14px; overflow: hidden; opacity: .62; position: relative; transition: opacity .25s var(--ease); }
  .thumb img { width: 100%; height: 100%; object-fit: cover; }
  .thumb::after { content: ''; position: absolute; inset: 0; border-radius: inherit; border: 1.5px solid transparent; transition: border-color .25s; }
  .thumb:hover { opacity: .9; }
  .thumb[aria-current="true"] { opacity: 1; }
  .thumb[aria-current="true"]::after { border-color: var(--ink); }
  .gallery__dots { display: none; }
  .site-footer__inner { grid-template-columns: 2fr 1fr 1fr 1fr; }
}
@media (min-width: 900px) {
  .gallery__track { aspect-ratio: auto; height: min(calc(100svh - var(--header-h) - 48px), 760px, calc((100vw - 2 * var(--gutter)) * .46)); min-height: 460px; }
}

/* ───────────────────────── Shared section bits ───────────────────────── */
.eyebrow { font-size: 11.5px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 12px; }
:lang(ar) .eyebrow { font-size: 13.5px; letter-spacing: 0; text-transform: none; }
.sec-title { font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 3.8vw, 54px); line-height: 1.06; letter-spacing: -.01em; text-wrap: balance; font-optical-sizing: auto; }
:lang(ar) .sec-title { font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.btn--center { justify-content: center; }
.btn--dark { background: var(--ink); color: var(--limestone); }
.btn--dark:hover { background: #1E1D1B; }
.round-btn { width: 44px; height: 44px; border-radius: 999px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--ink); transition: background .2s, border-color .2s, opacity .2s; }
.round-btn:hover:not([disabled]) { background: var(--ink); color: var(--limestone); border-color: var(--ink); }
.round-btn[disabled] { opacity: .35; cursor: default; }
.round-btn .icon { width: 18px; height: 18px; }

/* ───────────────────────── Hero (rounded, copy overlaid on desktop) ───────────────────────── */
.hero { max-width: var(--max); margin: 0 auto; padding: clamp(12px, 1.6vw, 24px) var(--gutter) clamp(40px, 5vw, 72px); }
.hero__frame { position: relative; border-radius: var(--r-media); overflow: hidden; background: var(--limestone); isolation: isolate; }
.hero__media { position: relative; aspect-ratio: 5 / 4; max-width: 100%; background: #E2D3BC; }
.hero__media picture { width: 100%; height: 100%; }
.hero__media img { object-position: 76% 50% !important; }
.hero__text { position: relative; z-index: 2; display: grid; gap: 14px; justify-items: start; padding: 26px 22px 28px; }
.hero__text .eyebrow { margin-bottom: 0; }
.hero__title { font-family: var(--serif); font-weight: 500; font-size: clamp(42px, 5vw, 78px); line-height: .98; letter-spacing: -.015em; text-wrap: balance; font-optical-sizing: auto; max-width: 11ch; }
:lang(ar) .hero__title { font-weight: 700; line-height: 1.3; letter-spacing: 0; font-size: clamp(40px, 4.6vw, 68px); }
.hero__sub { font-size: 16.5px; line-height: 1.6; color: var(--ink-2); max-width: 38ch; }
:lang(ar) .hero__sub { line-height: 1.9; }
.hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 6px; }
.hero__cta .btn { min-height: 52px; padding: 0 30px; }
.hero__note { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; }
.hero__note .icon { color: var(--wine); }
.hero__tag { top: 14px; bottom: auto; inset-inline-start: auto; inset-inline-end: 14px; }

/* ───────────────────────── Our Best Cases ───────────────────────── */
.featured { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter) clamp(56px, 7vw, 104px); }
.featured__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 28px; }
.featured__titles { min-width: 0; }
.featured__sub { margin-top: 10px; color: var(--ink-2); font-size: 15px; max-width: 52ch; }
.featured__nav { display: flex; gap: 8px; flex: none; }
.fcards {
  list-style: none; margin: 0; padding: 0 var(--gutter) 4px; display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; overscroll-behavior-x: contain; margin-inline: calc(-1 * var(--gutter)); scroll-padding-inline: var(--gutter);
}
.fcards::-webkit-scrollbar { display: none; }
.fcard {
  position: relative; flex: 0 0 80%; scroll-snap-align: start; display: flex; flex-direction: column; min-width: 0;
  background: var(--paper); border-radius: 16px; overflow: hidden; border: 1px solid rgba(42, 41, 39, .06);
}
.fcard__media { position: relative; aspect-ratio: 4 / 5; max-width: 100%; overflow: hidden; background: #E2D3BC; }
.fcard__media picture { width: 100%; height: 100%; }
.fcard__media img { transition: transform 1s var(--ease); }
.fcard:hover .fcard__media img { transform: scale(1.04); }
.fcard__body { display: flex; flex-direction: column; padding: 16px 18px 18px; flex: 1; }
.fcard__name { font-size: 15.5px; font-weight: 600; }
.fcard__sub { font-size: 13px; color: var(--ink-2); margin-top: 2px; }
.fcard__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; }
.fcard__price { font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
.fcard__dots { display: flex; gap: 8px; align-items: center; }
.cdot { width: 12px; height: 12px; border-radius: 999px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.cdot.is-on { box-shadow: 0 0 0 2px var(--paper), 0 0 0 3px var(--ink); }
.fcard__buy { margin-top: 16px; width: 100%; min-height: 48px; }

/* ───────────────────────── Trust strip ───────────────────────── */
.trust { background: var(--stone); padding: clamp(36px, 4vw, 52px) var(--gutter); }
.trust__list { list-style: none; margin: 0 auto; padding: 0; max-width: calc(var(--max) - 2 * var(--gutter)); display: grid; grid-template-columns: 1fr 1fr; gap: 28px 16px; }
.trust__list li { display: grid; justify-items: center; align-content: start; text-align: center; gap: 6px; min-width: 0; }
.trust__list .icon { width: 48px; height: 48px; padding: 13px; border-radius: 999px; background: var(--limestone); color: var(--wine); margin-bottom: 6px; }
.trust__list strong { font-size: 15px; font-weight: 600; }
.trust__list span { font-size: 13.5px; color: var(--ink-2); }
.trust__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.trust__meta { text-align: center; margin-top: 18px; font-size: 13.5px; color: var(--ink-2); }

/* ───────────────────────── How it works ───────────────────────── */
.steps { max-width: var(--max); margin: 0 auto; padding: clamp(56px, 7vw, 104px) var(--gutter); border-top: 1px solid var(--line-soft); }
.steps__list { list-style: none; padding: 0; margin: 32px 0 0; display: grid; gap: 28px; }
.step { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto 1fr; column-gap: 16px; row-gap: 4px; align-items: start; }
.step__icon { grid-row: span 3; width: 52px; height: 52px; border-radius: 999px; display: grid; place-items: center; background: var(--limestone); color: var(--wine); }
.step__icon .icon { width: 22px; height: 22px; }
.step__num { font-size: 13px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.step h3 { font-size: 17px; font-weight: 600; }
.step p { font-size: 14.5px; color: var(--ink-2); max-width: 34ch; }
.steps__cta { margin-top: 36px; }

/* ───────────────────────── Checkout: confirm model / color / qty ───────────────────────── */
.co-config { margin-top: 16px; display: grid; gap: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.co-config[hidden] { display: none; }
.co-opt { border: 0; padding: 0; margin: 0; min-width: 0; }
.co-opt legend, .co-opt__label { display: block; font-size: 13.5px; font-weight: 500; margin-bottom: 8px; padding: 0; }
.co-opt legend span { color: var(--ink-2); font-weight: 400; }
.co-models { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { position: relative; cursor: pointer; }
.chip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: inherit; }
.chip span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; transition: border-color .2s, background .2s, color .2s; }
.chip:hover span { border-color: var(--ink-3); }
.chip input:checked + span { border-color: var(--ink); background: var(--limestone); color: var(--wine); font-weight: 600; box-shadow: inset 0 0 0 .5px var(--ink); }
.chip input:focus-visible + span { outline: 2px solid var(--wine); outline-offset: 2px; }
.chip.is-disabled { opacity: .45; cursor: not-allowed; }
.co-opt.has-error .chip span { border-color: var(--error); }
.co-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }
.swatches--sm .swatch, .swatches--sm .swatch img { width: 36px; height: 36px; }
.stepper--sm { height: 44px; grid-template-columns: 40px 30px 40px; }

@media (min-width: 640px) {
  .fcard { flex-basis: calc((100% - 16px * 2) / 2.4); }
}
@media (min-width: 760px) {
  .steps__list { grid-template-columns: repeat(3, 1fr); gap: 32px; }
}
@media (min-width: 900px) {
  .hero__frame { height: clamp(500px, 66vh, 640px); }
  .hero__media { position: absolute; inset: 0; aspect-ratio: auto; }
  .hero__media img { object-position: 60% 50% !important; }
  /* Copy sits on the bright wall at the left of the photo in both languages: the phone stays on the right. */
  .hero__text { position: absolute; top: 0; bottom: 0; left: 0; width: min(48%, 600px); align-content: center; padding: 0 28px 0 clamp(40px, 5vw, 76px); }
  .trust__list { grid-template-columns: repeat(4, 1fr); gap: 0; }
  .trust__list li { padding: 0 20px; border-inline-start: 1px solid rgba(42, 41, 39, .12); }
  .trust__list li:first-child { border-inline-start: 0; }
  .product { border-top: 1px solid var(--line-soft); padding-top: clamp(40px, 5vw, 72px); }
}
@media (min-width: 1100px) {
  .fcards { margin-inline: 0; padding-inline: 0; gap: 20px; }
  .fcard { flex-basis: calc((100% - 20px * 3) / 4); }
}

/* ───────────────────────── Intro gating (removed by app.js or a 2.5s timeout) ───────────────────────── */
.intro [data-intro], .intro .site-header__inner > *, .intro .thumb { opacity: 0; }
.intro .hero__frame { clip-path: inset(2% 2% 2% 2% round 30px); }
.intro .hero__text > * { opacity: 0; }
.intro .hero__media img { transform: scale(1.045); }

/* ───────────────────────── Motion preferences ───────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .intro [data-intro], .intro .site-header__inner > *, .intro .thumb { opacity: 1; }
  .intro .hero__frame { clip-path: none; }
  .intro .hero__text > * { opacity: 1; }
  .intro .hero__media img { transform: none; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}
:lang(ar) .co-ref strong { text-align: right; }

/* ═══════════════════════════════════════════════════════════════════
   ART DIRECTOR'S EDITION — editorial luxury storefront v2
   Rebuilt hierarchy: cinematic rounded hero → shoppable editorial cards
   → model fit selection → product gallery/checkout → detail story.
   ═══════════════════════════════════════════════════════════════════ */
:root {
  --travertine: #F8F6F2;
  --limestone: #FBFAF7;
  --paper: #FFFEFC;
  --stone: #EFEBE5;
  --line: #D9D2C8;
  --line-soft: #E5DED6;
  --ink: #24201E;
  --ink-2: #645F59;
  --ink-3: #8B8279;
  --wine: #471D27;
  --wine-deep: #2B131B;
  --night: #201C1A;
  --max: 1512px;
  --gutter: clamp(22px, 4.3vw, 78px);
  --r-media: 28px;
  --header-h: 76px;
}
body { background: var(--travertine); }
::selection { background: #D9BAB4; color: #261C1A; }
.announce { background: #321A21; }
.announce p { min-height: 34px; font-size: 11px; letter-spacing: .165em; font-weight: 600; gap: 12px; }
.announce .icon { width: 16px; height: 16px; }
.site-header { background: rgba(248,246,242,.96); }
.site-header__inner { max-width: var(--max); }
.wordmark__text { font-family: Georgia, 'Times New Roman', serif; font-size: 30px; font-weight: 500; letter-spacing: .045em; }
.site-nav { gap: clamp(24px,2.8vw,44px); }
.site-nav a { font-size: 12.5px; font-weight: 500; letter-spacing: .015em; color: #433D38; }
.site-nav a:hover { color: #161412; }
.bag-btn { border: 1px solid #e7e0d7; width: 43px; height: 43px; }
.lang { font-size: 12.5px; border: 1px solid #e7e0d7; padding: 9px 17px; }

/* ── Front-cover hero: page-like rounded corners, photo-forward ── */
.hero { padding: 16px var(--gutter) clamp(74px,7.5vw,116px); }
.hero__frame { border-radius: 30px; box-shadow: 0 14px 55px rgba(58,38,20,.035); }
.hero__media { background: #DCC9B2; }
.hero__media img { filter: saturate(.92) contrast(.97); }
.hero__frame::before { content: ''; position: absolute; z-index: 1; inset: 0; pointer-events:none; background: linear-gradient(90deg,rgba(245,231,214,.25),rgba(245,231,214,0) 53%); }
.hero__text { gap: 17px; }
.hero__kicker { display: inline-flex; align-items: center; gap: 12px; font-size: 10px; font-weight: 650; letter-spacing: .255em; color: #5D4438; }
.hero__kicker-line { width: 28px; height: 1px; background: currentColor; display: inline-block; }
.hero__title { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(51px,5.7vw,89px); font-weight: 400; letter-spacing: -.058em; line-height: 1.06; max-width: 11ch; }
.hero__sub { font-size: 16.5px; line-height: 1.68; max-width: 32ch; color: #473D36; }
.hero__cta .btn { min-height: 54px; padding: 0 33px; border-radius: 999px; font-weight: 600; letter-spacing: .012em; }
.hero__note { font-size: 12px; gap: 7px; color: #51463F; }
.hero__note .icon { width: 19px; height: 19px; color: #433128; }
.hero__signature { margin-top: 22px; padding-top: 19px; border-top: 1px solid rgba(63,49,37,.16); font-size: 10px; text-transform: uppercase; letter-spacing: .18em; color: #5B4D42; }
.hero__tag { display: none; }

/* ── Hero immediately leads to four shoppable product cards ── */
.featured { padding-bottom: clamp(72px, 7vw, 118px); }
.featured__head { margin-bottom: 27px; }
.featured__titles .eyebrow { margin-bottom: 8px; }
.sec-title { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(36px,4vw,58px); letter-spacing: -.05em; line-height: 1.08; }
.featured__sub { margin-top: 11px; font-size: 14.5px; color: #74706A; }
.featured__nav { gap: 8px; }
.round-btn { width: 37px; height: 37px; border-color: #E6E0D9; background: #FCFAF7; }
.round-btn .icon { width: 17px; height: 17px; }
.fcards { gap: 16px; }
.fcard { border: 0; border-radius: 16px; background: #FFFEFC; overflow: hidden; transition: transform .38s var(--ease),box-shadow .38s var(--ease); }
.fcard:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(50,37,28,.09); }
.fcard__media { aspect-ratio: .89; border-radius: 15px; margin: 7px 7px 0; overflow: hidden; }
.fcard__media img { object-position: center center; }
.fcard__media .slide__tag { display: none; }
.fcard__body { padding: 17px 20px 20px; }
.fcard__upper { display:flex; justify-content:space-between;align-items:center; gap:6px; color:#8F8176; font-size:9.5px; letter-spacing:.155em; font-weight:600; margin-bottom:11px; }
.fcard__upper .icon { width:14px; height:14px; }
.fcard__name { font-family: Georgia,'Times New Roman',serif; font-size: 18px; letter-spacing: -.022em; font-weight: 400; line-height:1.22; }
.fcard__edition { color: #766B65; }
.fcard__sub { margin-top:5px; font-size:12px; color:#7D756E; }
.fcard__row { margin-top:12px; }
.fcard__price { font-size:14px; font-weight: 650; color:#261F1A; }
.cdot { width: 11px; height: 11px; }
.fcard__buy { min-height: 42px; margin-top:15px; border-radius: 8px; background: #2A2523; color:#fff; font-size:12px; letter-spacing:.03em; font-weight:600; }
.fcard__buy:hover { background:#51222E; }

/* ── Editorial compatibility tiles ── */
.model-showcase { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter) clamp(86px,8vw,130px); }
.model-showcase__intro { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:32px; }
.model-showcase__intro .eyebrow { margin-bottom:9px; }
.model-showcase__copy { color:var(--ink-2); font-size:14px; max-width:300px; padding-bottom:5px; }
.model-showcase__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.model-tile { position:relative; display:block; aspect-ratio: 1/1.04; overflow:hidden; border-radius:19px; isolation:isolate; background:#A28B78; text-align:start; }
.model-tile picture { position:absolute; inset:0; width:100%; height:100%; }
.model-tile img { width:100%; height:100%; object-fit:cover; transition:transform 1.15s var(--ease); }
.model-tile:hover img { transform:scale(1.09); }
.model-tile__veil { position:absolute; z-index:1; inset:0; background:linear-gradient(to top,rgba(15,11,10,.75) 0%,rgba(15,11,10,.06) 52%); }
.model-tile__bottom { position:absolute; z-index:2; bottom:0; inset-inline:0; padding: 26px 28px; display:grid; gap:17px; color:#fff; }
.model-tile__title { font-family: Georgia,'Times New Roman',serif; font-size:clamp(22px,2.2vw,33px); letter-spacing:-.035em; line-height:1.12; }
.model-tile__foot { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; letter-spacing:.04em; color:#F1EDE8; }
.model-tile__arrow { width:35px; height:35px; display:grid; place-items:center; border-radius:999px; background:#fff; color:#211C18; transition:transform .28s; }
.model-tile__arrow .icon { width:16px; height:16px; }
.model-tile:hover .model-tile__arrow { transform:translateX(4px); }
.model-tile.is-disabled { filter:grayscale(1); opacity:.6; }

/* ── Main product gallery and immediate cash-on-delivery buying ── */
.product { max-width:var(--max); padding:0 var(--gutter) clamp(80px,8vw,122px); gap:clamp(32px,5.3vw,94px); }
.product::before { content:''; display:block; position:absolute; }
.gallery__stage { border-radius:24px; }
.gallery__track { background:#E6D7C5; }
.slide__pic img { object-position:center; }
.slide__tag { background:rgba(30,24,21,.66); backdrop-filter:blur(6px); color:#fff; }
.thumb { border-radius:10px; }
.buy { padding-top:16px; }
.buy__title { font-family:Georgia,'Times New Roman',serif !important; font-size:clamp(42px,4.5vw,67px) !important; font-weight:400 !important; letter-spacing:-.056em; line-height:1.1; }
.buy__price { font-size:20px; margin-top:19px; }
.buy__desc { margin-top:19px; font-size:15px; line-height:1.75; max-width:44ch; }
.buy__form { margin-top:32px; gap:30px; }
.opt__legend { font-size:13px; letter-spacing:.02em; }
.models { gap:9px; }
.model { border-radius:13px; background:#F8F6F2; border-color:#DDD6CE; }
.model:hover { border-color:#907970; }
.model__num { font-family:Georgia,'Times New Roman',serif; font-size:33px; }
.model__suffix { font-size:11px; }
.stepper { border-radius:10px; }
.actions .btn--primary { background: #2A2422; border-radius:10px; }
.actions .btn--primary:hover { background: #512331; }
.actions .btn--secondary { border-radius:10px; }
.assure { padding-top:22px; }
.assure strong { font-size:13px; }
.assure span { font-size:12px; }
.demo-note { margin-top:22px; background:#F7F3EC; }

/* ── Purchase assurances: white, slender, not large icon cards ── */
.trust { background:#F1EEE9; border-top:1px solid #E6E0D7; border-bottom:1px solid #E6E0D7; padding:clamp(28px,3.3vw,46px) var(--gutter); }
.trust__list { gap:0; }
.trust__list li { padding:0 16px; align-content:center; }
.trust__list .icon { background:transparent; color:#51443E; width:31px; height:31px; padding:4px; margin-bottom:3px; }
.trust__list strong { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:17px; }
.trust__list span { font-size:11.5px; }

/* ── Materials / craft split ── */
.craft { max-width:var(--max); padding:clamp(82px,8.8vw,144px) var(--gutter); gap:clamp(30px,6vw,100px); }
.craft__title { font-family:Georgia,'Times New Roman',serif; font-size:clamp(42px,4.3vw,68px); font-weight:400; line-height:1.07; letter-spacing:-.05em; }
.craft__body { font-size:15px; line-height:1.77; }
.craft__list { margin-top:36px; }
.craft__list dd { line-height:1.65; }
.craft__big { border-radius:20px; }
.craft__small { border-radius:18px; }

/* ── Photo lookbook ── */
.world { max-width:var(--max); margin:0 auto; padding:0 var(--gutter) clamp(90px,8vw,132px); }
.world__head { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.world__head .eyebrow { margin-bottom:7px; }
.world__head > p { color:var(--ink-2); max-width:25ch; font-size:13.5px; padding-bottom:5px; }
.world__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.world__image { height:clamp(220px,25vw,410px); overflow:hidden; border-radius:16px; background:#D5C4B1; }
.world__image picture { display:block; width:100%; height:100%; }
.world__image img { width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.world__image:hover img { transform:scale(1.07); }
.world__caption { text-align:end; margin-top:15px; font-size:11px; color:#91857D; }

/* ── Simple ordering ── */
.steps { border-top:1px solid #E6DFD8; padding-top:clamp(66px,6vw,98px); padding-bottom:clamp(80px,7vw,118px); }
.step__icon { background:#EEE7DF; color:#3B312C; }
.steps__list { margin-top:40px; }
.step { column-gap:17px; }
.step h3 { font-family:Georgia,'Times New Roman',serif; font-size:20px; font-weight:400; }
.step p { font-size:13px; line-height:1.7; }
.steps__cta { border-radius:999px; font-size:13px; }

/* ── Closing visual payoff ── */
.final-cta { position:relative; overflow:hidden; min-height:370px; background:#201C1B; color:#FCF6F0; isolation:isolate; }
.final-cta__image { position:absolute; inset:0; z-index:-2; }
.final-cta__image picture,.final-cta__image img { width:100%; height:100%; }
.final-cta__image img { object-fit:cover; object-position:center 30%; filter:brightness(.35) saturate(.63); }
.final-cta::after { position:absolute; content:''; inset:0; background:linear-gradient(90deg,rgba(17,14,14,.7),rgba(21,16,17,.28),rgba(17,14,14,.7)); z-index:-1; }
.final-cta__content { min-height:370px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; text-align:center; padding:58px var(--gutter); }
.final-cta__content .eyebrow { color:#DBCCC0; margin-bottom:0; font-size:10px; }
.final-cta__content .sec-title { max-width:900px; font-size:clamp(42px,5.2vw,77px); color:#fff; }
.btn--cream { margin-top:19px; background:#F8F4ED; color:#2D2622; min-height:52px; padding:0 29px; border-radius:999px; gap:27px; }
.btn--cream:hover { background:white; }
.btn--cream .icon { width:17px; height:17px; }

/* ── Footer: soft elevated ink ── */
.site-footer { background:#23201E; }
.site-footer__inner { gap:42px; }
.wordmark--light .wordmark__text { font-size:34px; }
.site-footer__brand p { max-width:26ch; line-height:1.8; }
.site-footer__col h2 { font-family:Georgia,'Times New Roman',serif; font-size:18px; font-weight:400; margin-bottom:9px; }
.site-footer .footer-link { font-size:13px; }

/* ── Localization and adaptivity ── */
:lang(ar) .hero__title,:lang(ar) .sec-title,:lang(ar) .model-tile__title,:lang(ar) .buy__title,:lang(ar) .craft__title,:lang(ar) .step h3,:lang(ar) .fcard__name,:lang(ar) .trust__list strong,:lang(ar) .site-footer__col h2 { font-family:'Alexandria','IBM Plex Sans Arabic',sans-serif !important; font-weight:600 !important; letter-spacing:0 !important; line-height:1.45 !important; }
:lang(ar) .hero__title { font-size:clamp(48px,5.1vw,76px); }
:lang(ar) .hero__text { text-align:right; }
:lang(ar) .hero__signature { letter-spacing:0; }
:lang(ar) .fcard__upper { letter-spacing:0; }
:lang(ar) .model-showcase__copy { font-size:14px; }
:lang(ar) .model-tile:hover .model-tile__arrow { transform:translateX(-4px); }
:lang(ar) .world__caption { text-align:right; }
:lang(ar) .final-cta .sec-title { font-size:clamp(43px,5vw,72px); }
@media (min-width:900px) {
  .hero__frame { height:clamp(500px,51vw,640px); }
  .hero__text { left:0; right:auto; width:min(47%,620px); padding:0 20px 0 clamp(44px,5vw,85px); align-content:center; }
  :lang(ar) .hero__text { left:auto; right:0; padding:0 clamp(44px,5vw,85px) 0 20px; }
  :lang(ar) .hero__frame::before { background:linear-gradient(270deg,rgba(245,231,214,.70),transparent 61%); }
  .hero__media img { object-position:67% 50% !important; }
  .fcard { flex-basis:calc((100% - 20px * 3) / 4); }
  .product { padding-top:clamp(62px,6vw,96px); border-top:1px solid var(--line-soft); }
  .buy { padding-top:24px; }
}
@media (max-width:899px) {
  .hero { padding-bottom:70px; }
  .hero__frame { border-radius:24px; }
  .hero__frame::before { display:none; }
  .hero__media { aspect-ratio:1.14; }
  .hero__text { background:#E9D8C4; padding:30px clamp(24px,5vw,42px) 34px; }
  .hero__title { max-width:13ch; font-size:clamp(42px,7vw,68px); }
  .hero__signature { margin-top:6px; }
  .model-showcase__grid { gap:12px; }
  .model-tile__bottom { padding:18px; }
  .model-tile__title { font-size:clamp(21px,2.8vw,30px); }
  .model-tile__foot { font-size:11px; }
  .product { padding-top:72px; }
  .craft { padding-top:78px; }
  .world__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .world__image { height:clamp(230px,39vw,340px); }
}
@media (max-width:639px) {
  :root { --gutter:19px; --header-h:62px; }
  .announce p { font-size:9px; letter-spacing:.09em; padding:8px 12px; gap:8px; }
  .wordmark__text { font-size:26px; }
  .lang { font-size:11px; padding:8px 11px; }
  .hero { padding:10px var(--gutter) 63px; }
  .hero__frame { border-radius:19px; }
  .hero__media { aspect-ratio:1.08; }
  .hero__media img { object-position:70% center !important; }
  .hero__text { padding:25px 23px 29px; gap:13px; }
  .hero__title { font-size:clamp(41px,10.4vw,55px); line-height:1.05; }
  .hero__sub { font-size:14px; max-width:38ch; }
  .hero__cta { gap:14px; }
  .hero__cta .btn { min-height:48px; font-size:13px; padding:0 26px; }
  .hero__note { font-size:10.5px; }
  .hero__signature { padding-top:13px; font-size:9px; }
  .featured { padding-bottom:67px; }
  .featured__head { margin-bottom:19px; }
  .featured__sub { display:none; }
  .sec-title { font-size:35px; }
  .featured__nav .round-btn { width:32px; height:32px; }
  .fcard { flex-basis:78%; }
  .fcard__media { aspect-ratio:1 / 1.06; }
  .fcard__body { padding:16px 16px 17px; }
  .fcard__name { font-size:18px; }
  .model-showcase { padding-bottom:67px; }
  .model-showcase__intro { display:block; margin-bottom:20px; }
  .model-showcase__copy { font-size:13px; margin-top:10px; }
  .model-showcase__grid { grid-template-columns:1fr; gap:13px; }
  .model-tile { aspect-ratio:1.58; border-radius:16px; }
  .model-tile__bottom { padding:19px 22px; gap:5px; }
  .model-tile__title { font-size:27px; }
  .model-tile__foot { font-size:12px; }
  .model-tile__arrow { width:32px; height:32px; }
  .product { padding-top:58px; padding-bottom:68px; }
  .gallery__stage { border-radius:18px; }
  .buy { padding-top:0; }
  .buy__title { font-size:46px !important; }
  .buy__desc { font-size:14px; }
  .buy__form { margin-top:24px; }
  .model__num { font-size:29px; }
  .trust { padding:28px var(--gutter); }
  .trust__list { gap:19px 5px; }
  .trust__list li { padding:0 5px; }
  .trust__list strong { font-size:16px; }
  .trust__list span { font-size:10.5px; }
  .craft { padding:73px var(--gutter); }
  .craft__title { font-size:43px; }
  .craft__body { font-size:14px; }
  .craft__media { gap:10px; }
  .world { padding-bottom:70px; }
  .world__head { display:block; margin-bottom:23px; }
  .world__head >p { font-size:12px; margin-top:11px; }
  .world__grid { gap:9px; }
  .world__image { height:clamp(170px,52vw,260px); border-radius:11px; }
  .world__caption { font-size:10px; }
  .steps { padding:67px var(--gutter); }
  .steps__list { margin-top:32px; }
  .final-cta { min-height:320px; }
  .final-cta__content { min-height:320px; }
  .final-cta__content .sec-title { font-size:47px; }
  .site-footer { padding-top:48px; }
  .sticky-buy { border-top-color:var(--line); }
}
/* Final visual audit refinements */
:lang(ar) .hero__media picture { transform: scaleX(-1); }
:lang(ar) .hero__media img { object-position:67% 50% !important; }
.trust__list:has(> li:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:700px; }
.trust__list:has(> li:nth-child(2):last-child) li { border:0; }
.trust__list:has(> li:nth-child(2):last-child) li + li { border-inline-start:1px solid #DED6CC; }
.site-footer__inner { grid-template-columns:2fr 1fr 1fr; }
.site-footer__legal { display:flex; justify-content:space-between; gap:30px; }
@media(max-width:639px) { .site-footer__inner { grid-template-columns:1fr 1fr; } .site-footer__brand { grid-column:1/-1; } .site-footer__legal { display:block; } .site-footer__legal span { display:block; margin-bottom:7px; } }

/* ========================================================================
   2026 Refresh · auto-sliding hero, vertically stacked product colorways,
   photo lightbox. Source and old checkout functionality remain intact.
   ======================================================================== */
.hero__frame { isolation:isolate; }
.hero__media { overflow:hidden; }
.hero__slide { position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s ease;z-index:0; }
.hero__slide.is-active { opacity:1;visibility:visible;z-index:1; }
.hero__slide picture,.hero__slide img {width:100%;height:100%;display:block;object-fit:cover;}
.hero__slide:nth-child(2) img {object-position:66% center !important;}
.hero__slide:nth-child(3) img {object-position:58% 43% !important;}
.hero__slide:nth-child(2)::after,.hero__slide:nth-child(3)::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(236,217,194,.52),transparent 63%);}
.hero__controls {position:absolute;z-index:6;bottom:24px;inset-inline-end:28px;display:flex;align-items:center;gap:12px;}
.hero__arrow {width:34px;height:34px;border:1px solid rgba(36,28,24,.38);border-radius:50%;display:grid;place-items:center;background:rgba(249,241,231,.82);transition:background .2s;}
.hero__arrow:hover{background:white;}
.hero__arrow .icon {width:17px;height:17px;}
.hero__dots {display:flex;align-items:center;gap:6px;}
.hero__dot {width:25px;height:22px;display:flex;align-items:center;justify-content:center;}
.hero__dot::before {content:'';width:20px;height:2px;border-radius:99px;background:rgba(35,31,29,.32);transition:background .22s,height .22s;}
.hero__dot.is-current::before {height:3px;background:#281F1D;}
.hero__dot:focus-visible,.hero__arrow:focus-visible {outline:2px solid var(--wine);outline-offset:3px;}

/* The collection is a VERTICAL series, not a horizontal carousel */
.fcards {display:grid !important;grid-template-columns:minmax(0,1fr) !important;gap:clamp(24px,3.6vw,56px) !important;overflow:visible !important;margin:0 !important;padding:0 !important;scroll-snap-type:none !important;}
.fcard {display:grid !important;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);min-width:0;flex:none !important;gap:0;border-radius:22px !important;overflow:hidden;background:#FBF9F5;border:1px solid #E7E0D7;box-shadow:none;}
.fcard:nth-child(even) {grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);}
.fcard:nth-child(even) .fcard__media {order:2;}
.fcard:nth-child(even) .fcard__body {order:1;}
.fcard__media {margin:0 !important;border-radius:0 !important;aspect-ratio:1.25 !important;min-height:440px;position:relative;overflow:hidden;}
.fcard__image-btn {width:100%;height:100%;display:block;text-align:inherit;cursor:zoom-in;position:absolute;inset:0;}
.fcard__photo {position:absolute;inset:0;width:100%;height:100%;display:block;}
.fcard__photo img {width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .25s ease;}
.fcard__image-btn:hover img {transform:scale(1.035);}
.fcard__zoom {position:absolute;z-index:3;inset-inline-end:22px;bottom:22px;display:flex;gap:8px;align-items:center;border-radius:999px;padding:10px 16px;background:rgba(255,255,255,.94);font-size:12px;font-weight:600;color:#282420;box-shadow:0 6px 25px rgba(0,0,0,.08);pointer-events:none;}
.fcard__zoom .icon {width:17px;height:17px;}
.fcard__body {position:relative;padding:clamp(35px,5vw,84px) clamp(28px,4.7vw,80px) !important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.fcard__body > * {max-width:100%;}
.fcard__body .eyebrow {font-size:10.5px;margin:0 0 14px;color:#8E7061;}
.fcard__index {position:absolute;inset-block-start:29px;inset-inline-end:32px;font-size:12px;letter-spacing:.1em;color:#8D8279;}
.fcard__name {font-size:clamp(28px,3.4vw,47px) !important;line-height:1.1 !important;margin-bottom:10px;font-weight:400;max-width:16ch;}
.fcard__edition {color:#814956;display:block;margin-top:6px;}
.fcard__sub {font-size:15px;line-height:1.6;margin:0 0 18px;}
.fcard__price {font-size:clamp(19px,2vw,24px);margin-bottom:22px;}
.fcard__colors {border:0;padding:0;margin:0 0 23px;min-width:0;}
.fcard__colors legend {font-size:13px;color:#5E5853;margin-bottom:13px;}
.fcard__dots {display:flex;gap:13px;flex-wrap:wrap;}
.fcard__dots .cdot {width:29px;height:29px;cursor:pointer;border-radius:50%;background:var(--c);border:2px solid #fff;outline:1px solid rgba(0,0,0,.12);box-shadow:none;transition:transform .2s,outline .2s;}
.fcard__dots .cdot:hover {transform:scale(1.1);}
.fcard__dots .cdot.is-on {outline:2px solid #292322;outline-offset:3px;}
.fcard__dots .cdot:focus-visible {outline:3px solid #7B384B;outline-offset:4px;}
.fcard__promise {display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:#68615C;margin-bottom:20px;}
.fcard__promise .icon {width:18px;height:18px;color:#6E3443;}
.fcard__buy {min-height:52px !important;width:min(100%,320px) !important;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:0 23px;font-size:14px !important;margin:0 !important;border-radius:12px !important;}
.fcard__buy .icon {width:17px;height:17px;}
.fcard:hover {transform:none;box-shadow:0 10px 45px rgba(50,37,28,.045);}
:lang(ar) .fcard__body {text-align:right;align-items:flex-start;}
:lang(ar) .fcard__name {max-width:none;}
:lang(ar) .fcard__edition {line-height:1.25;}

/* Full-screen gallery with modal accessibility and swipe controls */
html.lightbox-open {overflow:hidden !important;}
.lightbox {position:fixed;inset:0;z-index:10000;background:rgba(24,20,20,.97);color:white;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(16px,2.5vw,32px);}
.lightbox[hidden] {display:none;}
.lightbox__top {display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1450px;width:100%;margin:0 auto;}
.lightbox__label {font-family:var(--serif);font-size:clamp(19px,2.2vw,29px);}
.lightbox__close {width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:white;border:1px solid #726D6A;}
.lightbox__close:hover,.lightbox__nav:hover {background:rgba(255,255,255,.14);}
.lightbox__close .icon {width:22px;height:22px;}
.lightbox__center {min-height:0;display:flex;align-items:center;justify-content:center;gap:clamp(6px,2vw,24px);max-width:1500px;width:100%;margin:auto;}
.lightbox__image {width:min(75vw,1050px);height:min(77vh,960px);min-height:0;object-fit:contain;touch-action:pan-y;user-select:none;}
.lightbox__nav {flex:none;width:46px;height:46px;border:1px solid #726D6A;border-radius:50%;display:grid;place-items:center;}
.lightbox__nav .icon {width:20px;height:20px;}
.lightbox__bottom {display:flex;justify-content:space-between;max-width:1450px;width:100%;margin:0 auto;color:#D7D1C9;font-size:13px;gap:15px;}
.lightbox button:focus-visible {outline:2px solid white;outline-offset:3px;}

@media (min-width:900px) {
 .hero__slide picture {position:absolute;inset:0;}
 .fcard__media {aspect-ratio:1.18 !important;}
}
@media (max-width:899px) {
 .fcard,.fcard:nth-child(even) {grid-template-columns:1fr !important;}
 .fcard:nth-child(even) .fcard__media,.fcard:nth-child(even) .fcard__body {order:initial;}
 .fcard__media {min-height:0;aspect-ratio:1.08 !important;}
 .fcard__body {padding:26px !important;}
 .fcard__name {font-size:clamp(29px,6vw,39px) !important;}
 .hero__slide {height:100%;}
 .hero__controls {top:15px;bottom:auto;inset-inline-end:15px;}
 .hero__arrow {width:28px;height:28px;}
 .hero__dot {width:18px;}
 .hero__dot::before {width:12px;}
}
@media (max-width:520px) {
 .fcard__media {aspect-ratio:1/1 !important;}
 .fcard__body {padding:24px 22px 27px !important;}
 .fcard__index {top:23px;}
 .fcard__name {font-size:31px !important;}
 .fcard__zoom {padding:8px 12px;bottom:14px;inset-inline-end:14px;}
 .fcard__buy {width:100% !important;}
 .lightbox {padding:12px;}
 .lightbox__nav {width:32px;height:42px;border:0;}
 .lightbox__image {width:calc(100vw - 92px);height:75vh;}
 .lightbox__bottom span:last-child {display:none;}
}
@media (prefers-reduced-motion:reduce) {
 .hero__slide,.fcard__photo img {transition:none !important;}
}
/* Keep the entire handset visible inside every shoppable photo panel */
.fcard__media {background:#E6D5BD;}
.fcard__photo img {object-fit:contain !important;}

/* =====================================================================
   V3 · editorial quick-buy popup · inspired by perfume mobile product UI
   Large cinematic top photograph, overlapping ivory information sheet,
   sticky black purchase action. Real final COD order form remains separate.
   ===================================================================== */
html.quickbuy-open { overflow:hidden !important; }
.quickbuy { position:fixed; inset:0; z-index:9000; display:grid; place-items:center; padding:22px; isolation:isolate; }
.quickbuy[hidden] { display:none !important; }
.quickbuy__backdrop { position:absolute; inset:0; z-index:-1; background:rgba(18,14,12,.76); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.quickbuy__panel { width:min(505px,100%); height:min(835px,calc(100dvh - 44px)); min-height:0; display:flex; flex-direction:column; background:#F8F6F3; border-radius:34px; overflow:hidden; box-shadow:0 36px 130px rgba(0,0,0,.38); position:relative; outline:none; animation:quickbuy-in .43s cubic-bezier(.19,1,.22,1) both; }
.quickbuy__photo { height:45%; min-height:235px; position:relative; flex:none; background:#B87B58; overflow:hidden; }
.quickbuy__photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;touch-action:pan-y;user-select:none;-webkit-user-drag:none;}
.quickbuy__photo::after {content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(19,15,13,.1));pointer-events:none;}
.quickbuy__close {position:absolute;z-index:4;top:18px;inset-inline-end:18px;background:rgba(255,255,255,.94);color:#28211F;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(40,28,22,.09);box-shadow:0 3px 12px rgba(0,0,0,.09);}
.quickbuy__close:hover {background:white;}
.quickbuy__close .icon {width:20px;height:20px;}
.quickbuy__photo-counter {position:absolute;z-index:3;bottom:54px;inset-inline-start:23px;background:rgba(255,255,255,.83);backdrop-filter:blur(8px);color:#332721;border-radius:99px;padding:5px 10px;font-size:11px;letter-spacing:.09em;font-weight:600;}
.quickbuy__photo-arrows {position:absolute;z-index:3;bottom:50px;inset-inline-end:20px;display:flex;gap:8px;}
.quickbuy__photo-arrows button {width:35px;height:35px;border-radius:50%;display:grid;place-items:center;color:#2B2321;background:rgba(255,255,255,.87);border:1px solid rgba(30,20,15,.07);}
.quickbuy__photo-arrows button:disabled {opacity:.45;cursor:default;}
.quickbuy__photo-arrows .icon {width:17px;height:17px;}
.quickbuy__sheet {z-index:2;position:relative;flex:1;min-height:0;margin-top:-30px;border-radius:31px 31px 0 0;background:#FAF8F5;padding:25px 27px 0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -12px 35px rgba(48,30,23,.04);}
.quickbuy__eyebrow {font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8C7166;margin-bottom:4px;}
.quickbuy__title {font-family:var(--serif);font-size:clamp(31px,3vw,39px);font-weight:500;line-height:1.11;letter-spacing:-.023em;color:#1D1918;margin:0 0 10px;}
.quickbuy__description {font-family:var(--sans);font-size:13px;line-height:1.52;color:#5E5550;max-width:44ch;margin-bottom:18px;}
.quickbuy__options {display:grid;gap:16px;}
.quickbuy__fieldset {padding:0;margin:0;border:0;min-width:0;}
.quickbuy__fieldset legend,.quickbuy__quantity > span {font-size:12px;font-weight:650;color:#302824;margin-bottom:9px;}
.quickbuy__models {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.quickbuy__model {display:block;position:relative;cursor:pointer;min-width:0;}
.quickbuy__model input {position:absolute;opacity:0;pointer-events:none;}
.quickbuy__model span {min-height:48px;padding:8px 4px;border:1px solid #DCD6CF;background:white;border-radius:11px;display:grid;place-items:center;text-align:center;font-size:11px;line-height:1.25;font-weight:600;color:#504641;transition:background .15s,border .15s;}
.quickbuy__model input:checked + span {border-color:#332A27;background:#332A27;color:white;}
.quickbuy__model input:focus-visible + span {outline:3px solid #A4776B;outline-offset:2px;}
.quickbuy__model input:disabled + span {opacity:.4;cursor:not-allowed;}
.quickbuy__error {margin-top:7px;color:#AD304C;font-size:12px;font-weight:650;}
.quickbuy__bottom-row {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.quickbuy__swatches {display:flex;align-items:center;gap:10px;padding:4px 0;}
.quickbuy__swatches button {width:24px;height:24px;border-radius:50%;background:var(--swatch);border:2px solid #FAF8F5;outline:1px solid #D1C9C2;position:relative;transition:transform .2s;}
.quickbuy__swatches button[aria-pressed="true"] {outline:2px solid #302623;outline-offset:3px;}
.quickbuy__swatches button:hover {transform:scale(1.12);}
.quickbuy__swatches button:focus-visible {outline:3px solid #925269;outline-offset:4px;}
.quickbuy__quantity > span {display:block;}
.quickbuy__stepper {display:flex;align-items:center;justify-content:space-between;min-width:112px;height:35px;border:1px solid #DCD6CF;border-radius:99px;background:#fff;gap:5px;}
.quickbuy__stepper button {width:34px;height:34px;display:grid;place-items:center;}
.quickbuy__stepper button:disabled {opacity:.3;}
.quickbuy__stepper .icon {width:13px;height:13px;}
.quickbuy__stepper > span {min-width:14px;text-align:center;font-size:13px;font-weight:600;}
.quickbuy__action {position:sticky;bottom:0;margin-top:auto;padding:21px 0 max(14px,env(safe-area-inset-bottom));background:#FAF8F5;box-shadow:0 -8px 12px rgba(250,248,245,.95);}
.quickbuy__buy {width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:13px;border-radius:99px;background:#161718;color:#fff;padding:8px 14px;font-weight:700;font-size:12px;letter-spacing:.015em;transition:background .18s,transform .18s;}
.quickbuy__buy:hover {background:#42242D;transform:translateY(-1px);}
.quickbuy__buy-divider {height:17px;width:1px;background:rgba(255,255,255,.44);}
.quickbuy__buy .icon {width:15px;height:15px;}
.quickbuy__cod {text-align:center;font-size:11px;color:#65574E;margin-top:11px;display:flex;align-items:center;justify-content:center;gap:7px;}
.quickbuy__cod .icon {height:15px;width:15px;}
.quickbuy button:focus-visible {outline:3px solid #A96680;outline-offset:3px;}
:lang(ar) .quickbuy__sheet {text-align:right;}
:lang(ar) .quickbuy__title {font-weight:700;letter-spacing:0;line-height:1.3;font-size:37px;}
:lang(ar) .quickbuy__eyebrow {letter-spacing:0;}
:lang(ar) .quickbuy__model span {font-size:10.5px;}
@keyframes quickbuy-in {from{transform:translateY(16px) scale(.985);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media(max-height:760px) and (min-width:551px) {
 .quickbuy__photo {height:38%;min-height:185px;}
 .quickbuy__sheet {padding-top:21px;}
 .quickbuy__title {font-size:31px;}
 .quickbuy__description {margin-bottom:12px;}
 .quickbuy__options {gap:10px;}
}
@media(max-width:550px) {
 .quickbuy {padding:0;}
 .quickbuy__panel {width:100%;height:100dvh;border-radius:0;}
 .quickbuy__photo {height:43%;min-height:220px;}
 .quickbuy__sheet {margin-top:-33px;border-radius:28px 28px 0 0;padding:24px 23px 0;}
 .quickbuy__title {font-size:34px;}
 .quickbuy__model span {font-size:10px;}
 .quickbuy__description {font-size:12.5px;}
}
@media(max-height:620px) and (max-width:550px) {
 .quickbuy__photo {height:36%;min-height:165px;}
 .quickbuy__sheet {padding-top:16px;}
 .quickbuy__title {font-size:30px;}
 .quickbuy__description {margin-bottom:10px;}
 .quickbuy__options {gap:8px;}
}
@media(prefers-reduced-motion:reduce) {.quickbuy__panel {animation:none;}.quickbuy__buy {transition:none;}}

/* Popup editorial facts and camera-first image crop */
.quickbuy__photo img {object-position:50% 0% !important;}
.quickbuy__facts {display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px;border-top:1px solid #E4DED8;padding-top:14px;padding-bottom:8px;}
.quickbuy__facts > div {display:grid;gap:5px;align-content:start;}
.quickbuy__facts span {font-size:10px;letter-spacing:.10em;font-weight:650;color:#9B8478;}
.quickbuy__facts strong {font-family:var(--serif);font-size:13px;line-height:1.35;color:#2F2723;font-weight:500;}
:lang(ar) .quickbuy__facts span {letter-spacing:0;}
:lang(ar) .quickbuy__facts strong {font-weight:600;}

@media (min-width:551px) and (min-height:761px) { .quickbuy__photo {height:40%;} }

/* ───────── Buying UX: Add to bag + Buy now, multi-case orders ───────── */
.quickbuy__action { padding-top:16px; }
.quickbuy__btns { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; }
.quickbuy__add { min-height:54px; display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 18px; border-radius:99px; border:1.5px solid #161718; background:transparent; color:#161718; font-weight:700; font-size:12px; letter-spacing:.015em; white-space:nowrap; transition:background .18s,color .18s,border-color .18s; }
.quickbuy__add[hidden] { display:none; }
.quickbuy__add:hover { background:#161718; color:#fff; }
.quickbuy__add .icon { width:17px; height:17px; }
.quickbuy__add.is-done, .quickbuy__add.is-done:hover { background:#F3E7E9; border-color:#5C1B2B; color:#5C1B2B; }
.quickbuy__buy { white-space:nowrap; }
.quickbuy__add, .quickbuy__buy { text-transform:uppercase; }
:lang(ar) .quickbuy__add, :lang(ar) .quickbuy__buy { font-size:13.5px; letter-spacing:0; }
.quickbuy__btns:has(.quickbuy__add[hidden]) { grid-template-columns:1fr; }
.quickbuy__error--limit { margin:0 0 10px; }
.quickbuy__added { display:flex; align-items:center; gap:11px; margin-bottom:12px; padding:10px 10px 10px 12px; border-radius:16px; background:#F1EAE3; border:1px solid #E6DCD2; }
.quickbuy__added[hidden] { display:none; }
.quickbuy__added-mark { flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#5C1B2B; color:#fff; }
.quickbuy__added-mark .icon { width:15px; height:15px; stroke-width:2.2; }
.quickbuy__added-text { flex:1; min-width:0; display:grid; gap:1px; }
.quickbuy__added-text strong { font-size:12.5px; font-weight:650; color:#2A2321; }
.quickbuy__added-text span { font-size:11.5px; color:#6E625B; font-variant-numeric:tabular-nums; }
.quickbuy__added-go { flex:none; display:flex; align-items:center; gap:6px; min-height:38px; padding:0 14px; border-radius:99px; background:#fff; border:1px solid #DCD2C9; color:#2A2321; font-size:12px; font-weight:700; }
.quickbuy__added-go:hover { border-color:#2A2321; }
.quickbuy__added-go .icon { width:14px; height:14px; }
@media (max-width:380px) { .quickbuy__add { padding:8px 14px; } .quickbuy__add .icon { display:none; } }

/* Checkout: one editable order list + add another case */
.co-items .line__controls { margin-top:8px; }
.co-items .line .stepper { height:34px; grid-template-columns:32px 26px 32px; }
.co-empty { padding:4px 0 2px; color:var(--ink-2); font-size:14px; }
.co-add-more { width:100%; display:flex; align-items:center; gap:12px; margin-top:14px; padding:12px 14px; border:1.5px dashed var(--line); border-radius:14px; background:transparent; color:var(--ink); text-align:start; transition:border-color .18s, background .18s; }
.co-add-more:hover:not([disabled]) { border-color:var(--ink); background:rgba(42,41,39,.03); }
.co-add-more[disabled] { opacity:.55; cursor:not-allowed; }
.co-add-more__plus { flex:none; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--ink); color:#fff; }
.co-add-more__plus .icon { width:16px; height:16px; stroke-width:2; }
.co-add-more strong { display:block; font-size:14px; font-weight:600; }
.co-add-more small { display:block; font-size:12.5px; color:var(--ink-3); margin-top:1px; }
[data-cart-body] .co-add-more { margin-top:18px; }
.drawer__foot--co { gap:12px; padding-top:14px; padding-bottom:calc(14px + env(safe-area-inset-bottom)); }
.co-total { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.co-total__text { display:grid; gap:2px; min-width:0; }
.co-total__label { font-size:14.5px; font-weight:600; }
.co-total__meta { font-size:12.5px; color:var(--ink-3); }
.co-total__meta .free { color:var(--wine); font-weight:600; }
.co-total__amount { font-size:21px; font-weight:600; font-variant-numeric:tabular-nums lining-nums; white-space:nowrap; }
.btn[data-cart-checkout] .icon { width:16px; height:16px; }

/* ───────── Desktop: product cards side by side (mobile keeps the stacked rows) ───────── */
@media (min-width:900px) {
 .fcards {grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:24px !important; align-items:stretch;}
 .fcard,.fcard:nth-child(even) {grid-template-columns:1fr !important; grid-template-rows:auto 1fr; border-radius:20px !important;}
 .fcard:nth-child(even) .fcard__media,.fcard:nth-child(even) .fcard__body {order:initial;}
 .fcard__media {aspect-ratio:4 / 4.6 !important; min-height:0 !important;}
 .fcard__body {padding:24px 24px 26px !important; justify-content:flex-start !important;}
 .fcard__body .eyebrow {margin-bottom:10px;}
 .fcard__index {top:24px; inset-inline-end:24px;}
 .fcard__name {font-size:clamp(26px,2.4vw,34px) !important; max-width:none; margin-bottom:6px;}
 .fcard__edition {margin-top:2px;}
 .fcard__sub {font-size:13.5px; margin-bottom:12px;}
 .fcard__price {font-size:20px; margin-bottom:16px;}
 .fcard__colors {margin-bottom:16px;}
 .fcard__colors legend {margin-bottom:10px;}
 .fcard__promise {margin-bottom:18px;}
 .fcard__buy {width:100% !important; margin-top:auto !important;}
 .fcard__zoom {bottom:14px; inset-inline-end:14px; padding:8px 12px;}
}
@media (min-width:1200px) {
 .fcards {grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:18px !important;}
 .fcard__body {padding:20px 20px 22px !important;}
 .fcard__index {top:20px; inset-inline-end:20px;}
 .fcard__body .eyebrow {font-size:9.5px; max-width:calc(100% - 44px);}
 .fcard__name {font-size:clamp(24px,1.9vw,30px) !important;}
 .fcard__sub {font-size:12.5px;}
 .fcard__price {font-size:18px; margin-bottom:14px;}
 .fcard__dots {gap:10px;}
 .fcard__dots .cdot {width:25px; height:25px;}
 .fcard__promise {font-size:11px; gap:5px; margin-bottom:16px;}
 .fcard__promise .icon {width:15px; height:15px;}
 .fcard__buy {min-height:48px !important; padding:0 18px; font-size:13px !important;}
 .fcard__zoom span {display:none;}
 .fcard__zoom {padding:9px;}
}

/* ───────── Card: name on one line + small Add to bag next to Buy now ───────── */
.fcard__edition { display:inline !important; margin:0 !important; }
.fcard__name { max-width:none !important; }
.fcard__actions { display:flex; gap:8px; width:min(100%,380px); align-items:stretch; }
.fcard__actions .fcard__buy { flex:1; width:auto !important; min-width:0; }
.fcard__add { position:relative; flex:none; width:52px; min-height:52px; display:grid; place-items:center; border-radius:12px; border:1.5px solid #2A2523; color:#2A2523; background:transparent; transition:background .18s,color .18s,border-color .18s,transform .18s; }
.fcard__add:hover:not([disabled]) { background:#2A2523; color:#fff; }
.fcard__add:active { transform:scale(.96); }
.fcard__add[disabled] { opacity:.4; cursor:not-allowed; }
.fcard__add > .icon { width:20px; height:20px; }
.fcard__add-plus { position:absolute; top:9px; inset-inline-end:8px; width:15px; height:15px; border-radius:50%; background:#5C1B2B; color:#fff; display:grid; place-items:center; box-shadow:0 0 0 2px #FBF9F5; }
.fcard__add-plus .icon { width:10px; height:10px; stroke-width:2.6; }
.fcard__add.is-done, .fcard__add.is-done:hover { background:#F3E7E9; border-color:#5C1B2B; color:#5C1B2B; }
@media (max-width:520px) { .fcard__actions { width:100%; } }
@media (min-width:900px) {
 .fcard__actions { width:100%; margin-top:auto; }
 .fcard__buy { margin-top:0 !important; }
}
@media (min-width:1200px) {
 .fcard__name { font-size:clamp(20px,1.65vw,27px) !important; white-space:nowrap; }
 .fcard__add { width:48px; min-height:48px; }
 .fcard__add-plus { top:7px; inset-inline-end:6px; }
}

/* "Added to bag" message */
.toast { position:fixed; z-index:45; inset-inline:12px; bottom:calc(14px + env(safe-area-inset-bottom)); margin-inline:auto; max-width:440px; display:flex; align-items:center; gap:11px; padding:10px 10px 10px 12px; border-radius:16px; background:#1F1B1A; color:#fff; box-shadow:0 18px 50px rgba(0,0,0,.25); }
.toast[hidden] { display:none; }
.toast__mark { flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#5C1B2B; }
.toast__mark .icon { width:15px; height:15px; stroke-width:2.2; }
.toast__text { flex:1; min-width:0; display:grid; gap:1px; }
.toast__text strong { font-size:13px; font-weight:650; }
.toast__text span { font-size:12px; color:#CFC6BF; }
.toast__go { flex:none; min-height:38px; padding:0 14px; border-radius:99px; background:#fff; color:#1F1B1A; font-size:12.5px; font-weight:700; }
@media (min-width:900px) { .toast { inset-inline:auto 24px; bottom:24px; width:400px; } :lang(ar) .toast { inset-inline:24px auto; } }

/* ───────── Desktop card body: tidy, aligned layout ─────────
   Design label → name → short line → divider → price | colors → delivery note → buttons */
@media (min-width:900px) {
 .fcard__body {
   display:grid !important;
   grid-template-columns:minmax(0,1fr) auto;
   grid-template-rows:auto auto auto auto auto 1fr auto;
   grid-template-areas:"eyebrow eyebrow" "name name" "sub sub" "price colors" "promise promise" ". ." "actions actions";
   align-items:center;
   padding:22px 22px 22px !important;
 }
 .fcard__body .eyebrow { grid-area:eyebrow; margin:0 0 8px !important; max-width:none !important; }
 .fcard__index { display:none; }
 .fcard__name { grid-area:name; margin:0 0 4px !important; }
 .fcard__sub { grid-area:sub; margin:0 !important; line-height:1.5; }
 .fcard__price { grid-area:price; margin:16px 0 0 !important; padding-top:16px; border-top:1px solid #E9E2D9; align-self:stretch; display:flex; align-items:center; }
 .fcard__colors { grid-area:colors; margin:16px 0 0 !important; padding-top:16px !important; border-top:1px solid #E9E2D9 !important; align-self:stretch; display:flex; align-items:center; justify-content:flex-end; }
 .fcard__colors legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
 .fcard__dots { gap:9px !important; flex-wrap:nowrap !important; padding:4px; }
 .fcard__dots .cdot { width:22px !important; height:22px !important; }
 .fcard__dots .cdot.is-on { outline-offset:2px !important; }
 .fcard__promise { grid-area:promise; margin:14px 0 0 !important; padding:9px 12px; border-radius:10px; background:#F3EEE7; color:#5F5752; justify-content:center; }
 .fcard__actions { grid-area:actions; margin-top:16px !important; }
}
@media (min-width:1200px) {
 .fcard__body { padding:20px 18px 20px !important; }
 .fcard__price { font-size:18px !important; }
 .fcard__promise { font-size:11px; padding:8px 8px; gap:5px; }
}

/* iPhone model picker on each bag / checkout line */
.line__model { display:block; margin-top:6px; position:relative; max-width:220px; }
.line__model select { width:100%; height:34px; padding:0 30px 0 10px; border:1px solid var(--line); border-radius:9px; background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A5752' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; -webkit-appearance:none; appearance:none; font:inherit; font-size:13px; color:var(--ink); cursor:pointer; }
:lang(ar) .line__model select { padding:0 10px 0 30px; background-position:left 10px center; }
.line__model select:focus-visible { outline:2px solid #A96680; outline-offset:2px; }
.line__model.is-missing select { border-color:#B98A93; background-color:#FBF1F2; color:#5C1B2B; font-weight:600; }
.line__model.is-error select { border-color:#AD304C; box-shadow:0 0 0 3px rgba(173,48,76,.12); }

/* One case fits iPhone 15–18 Pro Max: fit note in the popup + 4 "fits" tiles */
.quickbuy__fit { display:flex; align-items:center; gap:9px; padding:11px 13px; border-radius:12px; background:#F1EAE3; color:#3A2F2B; font-size:12.5px; font-weight:600; }
.quickbuy__fit .icon { flex:none; width:18px; height:18px; padding:3px; border-radius:50%; background:#5C1B2B; color:#fff; stroke-width:2.4; }
.quickbuy__fieldset[hidden] { display:none; }
.model-showcase__grid--fits { grid-template-columns:repeat(4,minmax(0,1fr)); }
.model-tile__fits { position:absolute; z-index:2; top:14px; inset-inline-start:14px; display:flex; align-items:center; gap:6px; padding:6px 11px 6px 7px; border-radius:99px; background:rgba(255,255,255,.92); color:#2A2321; font-size:12px; font-weight:650; }
:lang(ar) .model-tile__fits { padding:6px 7px 6px 11px; }
.model-tile__fits .icon { width:16px; height:16px; padding:2px; border-radius:50%; background:#5C1B2B; color:#fff; stroke-width:2.6; }
@media (max-width:899px) { .model-showcase__grid--fits { grid-template-columns:repeat(2,minmax(0,1fr)); } .model-showcase__grid--fits .model-tile { aspect-ratio:1/1.1; } }

/* Policy pages: headings, lists, first-line date */
.policy h2 { font-size:18px; margin-top:34px; color:var(--ink); }
.policy h1 + p { font-size:14px; color:var(--ink-3); }
.policy ul { margin:12px 0 0; padding-inline-start:22px; display:grid; gap:8px; }
.policy li { font-size:16.5px; line-height:1.65; color:var(--ink-2); }
.policy li::marker { color:var(--wine); }
.policy ul { list-style:disc; }
.policy li { padding-inline-start:2px; }

/* ───────── Arabic typography: Alexandria titles + IBM Plex Sans Arabic text ─────────
   One modern family feel, darker and roomier body text for comfortable reading. */
:root:lang(ar) { --ink-2: #45413D; --ink-3: #6B655F; }
:lang(ar) body, body:lang(ar) { line-height: 1.85; }
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3 { letter-spacing: 0; }
:lang(ar) .hero__title { font-weight: 600 !important; line-height: 1.35 !important; font-size: clamp(40px, 4.6vw, 66px) !important; }
:lang(ar) .sec-title, :lang(ar) .final-cta .sec-title { font-weight: 600 !important; line-height: 1.4 !important; }
:lang(ar) .hero__sub { font-size: 17px; line-height: 1.9; }
:lang(ar) .fcard__name { font-weight: 600 !important; }
:lang(ar) .fcard__edition { font-weight: 500; }
:lang(ar) .fcard__sub { font-size: 14.5px; }
:lang(ar) .quickbuy__title { font-family: 'Alexandria', 'IBM Plex Sans Arabic', sans-serif !important; font-weight: 600 !important; font-size: 34px !important; line-height: 1.4 !important; }
:lang(ar) .quickbuy__description { font-size: 13.5px; line-height: 1.8; }
:lang(ar) .drawer__head h2, :lang(ar) .co-result h3 { font-family: 'Alexandria', sans-serif; font-weight: 600; }
:lang(ar) .wordmark__text { font-weight: 700; }

/* Arabic policy pages: easier long-form reading */
:lang(ar) .policy { max-width: 680px; }
:lang(ar) .policy h1 { font-family: 'Alexandria', sans-serif; font-weight: 600; font-size: clamp(34px, 5vw, 48px); line-height: 1.4; margin: 20px 0 14px; }
:lang(ar) .policy h2 { font-family: 'Alexandria', sans-serif; font-weight: 600; font-size: 19px; line-height: 1.5; margin-top: 38px; color: var(--ink); }
:lang(ar) .policy p, :lang(ar) .policy li { font-size: 17px; line-height: 1.95; color: #3F3B38; }
:lang(ar) .policy p { margin-top: 12px; }
:lang(ar) .policy ul { gap: 10px; padding-inline-start: 20px; }
:lang(ar) .policy h1 + p { font-size: 14.5px; color: var(--ink-3); }
@media (max-width: 520px) {
  :lang(ar) .policy p, :lang(ar) .policy li { font-size: 16.5px; line-height: 1.9; }
  :lang(ar) .policy h2 { font-size: 18px; margin-top: 32px; }
}
/* Arabic "fits" tiles and popup details: calmer sizes */
:lang(ar) .model-tile__title { font-size:clamp(22px,2.2vw,30px) !important; line-height:1.35 !important; }
@media (max-width:899px) { :lang(ar) .model-showcase__grid--fits .model-tile__title { font-size:18px !important; text-wrap:balance; } .model-showcase__grid--fits .model-tile__fits { top:10px; inset-inline-start:10px; font-size:11px; } }
:lang(ar) .quickbuy__facts strong { font-family:'IBM Plex Sans Arabic',sans-serif; font-weight:500; font-size:13.5px; }

/* ───────── WhatsApp button ───────── */
.wa-fab { position:fixed; z-index:42; inset-inline-end:20px; bottom:calc(20px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:9px; height:56px; padding:0 20px 0 16px; border-radius:99px; background:#25D366; color:#fff; text-decoration:none; font-weight:650; font-size:15px; box-shadow:0 10px 30px rgba(18,140,70,.32), 0 2px 6px rgba(0,0,0,.12); transition:transform .2s, box-shadow .2s, bottom .3s; }
:lang(ar) .wa-fab { padding:0 16px 0 20px; }
.wa-fab svg { width:26px; height:26px; flex:none; }
.wa-fab:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(18,140,70,.38), 0 2px 6px rgba(0,0,0,.12); }
.wa-fab:focus-visible { outline:3px solid #0B5E2E; outline-offset:3px; }
html.quickbuy-open .wa-fab, html.lightbox-open .wa-fab { display:none; }
@media (max-width:899px) {
  .wa-fab { width:56px; padding:0; justify-content:center; inset-inline-end:16px; }
  :lang(ar) .wa-fab { padding:0; }
  .wa-fab__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .sticky-buy.is-visible ~ .wa-fab, body:has(.sticky-buy.is-visible) .wa-fab { bottom:calc(92px + env(safe-area-inset-bottom)); }
}
/* toast sits centered on desktop so it never covers the WhatsApp button */
@media (min-width:900px) { .toast, :lang(ar) .toast { inset-inline:0; margin-inline:auto; width:420px; bottom:24px; } }
@media (max-width:899px) { body:has(.wa-fab) .toast { inset-inline-end:84px; } }

/* ═════════ Type system (final pass) ═════════
   English titles: Bodoni Moda (brand serif).  Arabic titles: Alexandria (set above).
   Minimum sizes — EN labels 12px, AR labels 13–14px; paragraphs 15–17px. */
:lang(en) .hero__title, :lang(en) .sec-title, :lang(en) .craft__title, :lang(en) .fcard__name,
:lang(en) .model-tile__title, :lang(en) .trust__list strong, :lang(en) .step h3,
:lang(en) .site-footer__col h2, :lang(en) .wordmark__text, :lang(en) .buy__title {
  font-family: var(--serif) !important; font-optical-sizing: auto; font-weight: 500 !important; letter-spacing: -0.015em !important;
}
:lang(en) .hero__title { line-height: 1.04 !important; }
:lang(en) .sec-title, :lang(en) .craft__title { line-height: 1.08 !important; }
:lang(en) .fcard__name { line-height: 1.2 !important; }
:lang(en) .wordmark__text { letter-spacing: .02em !important; font-weight: 600 !important; }
.wordmark__text { white-space: nowrap; }

/* small text — English */
:lang(en) .announce p { font-size: 12px; letter-spacing: .1em; }
:lang(en) .hero__kicker { font-size: 12px; }
:lang(en) .hero__note { font-size: 13px; }
:lang(en) .hero__signature { font-size: 12px; letter-spacing: .06em; }
:lang(en) .eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .14em; }
:lang(en) .fcard__body .eyebrow { font-size: 11.5px !important; }
:lang(en) .fcard__sub { font-size: 14px !important; }
:lang(en) .fcard__promise { font-size: 12.5px !important; }
:lang(en) .trust__list span { font-size: 13px; }
:lang(en) .final-cta .eyebrow { font-size: 12px; }
:lang(en) .model-tile__foot { font-size: 13px; }
/* paragraphs — English */
:lang(en) .featured__sub, :lang(en) .model-showcase__copy, :lang(en) .craft__body, :lang(en) .world__head > p { font-size: 16px; line-height: 1.6; color: var(--ink-2); }
:lang(en) .step p { font-size: 15px; line-height: 1.6; }
:lang(en) .craft__list dd { font-size: 15px; }
:lang(en) .site-footer p { font-size: 14px; }

/* small text — Arabic */
:lang(ar) .hero__note { font-size: 14px; }
:lang(ar) .hero__signature { font-size: 13px; }
:lang(ar) .eyebrow { font-size: 14px; font-weight: 600; }
:lang(ar) .fcard__body .eyebrow { font-size: 13px !important; }
:lang(ar) .fcard__promise { font-size: 13px !important; }
:lang(ar) .trust__list span { font-size: 14px; }
:lang(ar) .final-cta .eyebrow { font-size: 14px; }
:lang(ar) .model-tile__foot { font-size: 14px; }
/* paragraphs — Arabic */
:lang(ar) .featured__sub, :lang(ar) .model-showcase__copy, :lang(ar) .craft__body, :lang(ar) .world__head > p { font-size: 17px; line-height: 1.9; color: var(--ink-2); }
:lang(ar) .step p { font-size: 16px; line-height: 1.85; }
:lang(ar) .craft__list dd { font-size: 15.5px; }
:lang(ar) .site-footer p { font-size: 15px; }

@media (max-width: 899px) {
  :lang(en) .announce p { font-size: 11.5px; letter-spacing: .08em; }
  :lang(en) .featured__sub, :lang(en) .model-showcase__copy, :lang(en) .craft__body, :lang(en) .world__head > p { font-size: 15px; }
  :lang(ar) .featured__sub, :lang(ar) .model-showcase__copy, :lang(ar) .craft__body, :lang(ar) .world__head > p { font-size: 16px; }
  .hero__cta .btn { font-size: 15px; }
}
/* the wordmark is the logo: identical in both languages */
.wordmark__text, :lang(ar) .wordmark__text { font-family:'Bodoni Moda', Georgia, serif !important; font-optical-sizing:auto; font-weight:600 !important; letter-spacing:.02em !important; }

/* Steps: the label is now the heading; centered button */
.steps__heading { font-family: var(--sans); font-size: 15px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); margin: 0; }
:lang(ar) .steps__heading { font-family: 'Alexandria', 'IBM Plex Sans Arabic', sans-serif; font-size: 24px; font-weight: 600; letter-spacing: 0; text-transform: none; }
@media (max-width: 899px) { :lang(ar) .steps__heading { font-size: 22px; } }
.steps__cta-wrap { display: flex; justify-content: center; margin-top: 44px; }
.steps__cta-wrap .steps__cta { margin-top: 0; min-height: 52px; padding: 0 34px; font-size: 15px; }

/* Final section: smaller, calmer title + one quiet line */
.final-cta__content .sec-title { font-size: clamp(32px, 3.6vw, 52px) !important; max-width: 760px; }
:lang(ar) .final-cta__content .sec-title { font-size: clamp(30px, 3.4vw, 48px) !important; }
.final-cta__sub { max-width: 520px; margin: 0 0 10px; color: #E2D6CC; font-size: 16px; line-height: 1.7; }
:lang(ar) .final-cta__sub { font-size: 17px; line-height: 1.9; }
@media (max-width: 899px) { .final-cta__sub { font-size: 15px; } :lang(ar) .final-cta__sub { font-size: 16px; } }
:lang(en) .steps__heading { font-family: var(--serif); font-optical-sizing: auto; font-size: clamp(28px, 2.6vw, 36px); font-weight: 500; letter-spacing: -0.01em; text-transform: none; }
@media (min-width: 900px) { :lang(ar) .steps__heading { font-size: 30px; } }

/* Trust strip: always centered, whether it shows 2, 3 or 4 items */
@media (min-width: 768px) {
  .trust__list { display: flex !important; justify-content: center; align-items: stretch; max-width: 1100px; margin-inline: auto; }
  .trust__list li { flex: 0 1 260px; padding: 0 28px; }
}
.trust__meta { text-align: center; }
.trust__list li { align-content: start !important; }
@media (max-width: 767px) {
  .trust__list > li:last-child:nth-child(odd) { grid-column: 1 / -1; max-width: 300px; justify-self: center; }
}

/* ───────── Arabic display titles: lighter, airier Alexandria ─────────
   Big titles 400, smaller headings 500 (was 600 everywhere). */
:lang(ar) .hero__title, :lang(ar) .sec-title, :lang(ar) .final-cta .sec-title, :lang(ar) .craft__title,
:lang(ar) .quickbuy__title, :lang(ar) .policy h1, :lang(ar) .drawer__head h2, :lang(ar) .co-result h3 {
  font-family: 'Alexandria', 'IBM Plex Sans Arabic', sans-serif !important; font-weight: 400 !important; letter-spacing: 0 !important;
}
:lang(ar) .hero__title { line-height: 1.32 !important; }
:lang(ar) .sec-title, :lang(ar) .craft__title { line-height: 1.38 !important; }
:lang(ar) .fcard__name, :lang(ar) .model-tile__title, :lang(ar) .step h3, :lang(ar) .trust__list strong,
:lang(ar) .site-footer__col h2, :lang(ar) .steps__heading, :lang(ar) .policy h2 { font-weight: 500 !important; }
:lang(ar) .fcard__edition { font-weight: 400 !important; }
:lang(ar) .hero__title { font-weight: 300 !important; }
@media (min-width: 900px) { .hero__note, .hero__signature { color: #2B2320 !important; font-weight: 500; } }

/* ───────── "Fits your iPhone" tiles: overlay + hover ───────── */
.model-showcase__grid--fits .model-tile { cursor: pointer; }
.model-showcase__grid--fits .model-tile__veil {
  background:
    linear-gradient(to top, rgba(18,12,10,.72) 0%, rgba(18,12,10,.25) 38%, rgba(18,12,10,0) 62%),
    rgba(28,18,14,.16);
  transition: background-color .45s var(--ease), opacity .45s var(--ease);
}
.model-showcase__grid--fits .model-tile::after {           /* hover tint, fades in */
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, rgba(60,20,30,.55), rgba(60,20,30,.12));
  opacity: 0; transition: opacity .45s var(--ease);
}
.model-showcase__grid--fits .model-tile img { transition: transform 1.1s var(--ease), filter .6s var(--ease); }
.model-showcase__grid--fits .model-tile__bottom { padding: 20px 22px; gap: 0; }
.model-showcase__grid--fits .model-tile__foot { font-size: 14px; font-weight: 500; color: #fff; }
.model-showcase__grid--fits .model-tile__foot > span:first-child { position: relative; padding-bottom: 3px; }
.model-showcase__grid--fits .model-tile__foot > span:first-child::after {  /* underline grows on hover */
  content: ''; position: absolute; inset-inline-start: 0; bottom: 0; height: 1px; width: 100%; background: currentColor;
  transform: scaleX(0); transform-origin: var(--origin, left); transition: transform .4s var(--ease);
}
:lang(ar) .model-showcase__grid--fits .model-tile__foot > span:first-child::after { --origin: right; }
.model-showcase__grid--fits .model-tile__arrow { transition: transform .3s var(--ease), background .3s, color .3s; }
.model-showcase__grid--fits .model-tile__fits { transition: transform .35s var(--ease), background .3s; font-size: 12.5px; font-weight: 600; }
:lang(ar) .model-showcase__grid--fits .model-tile__fits { font-size: 13px; }

@media (hover: hover) {
  .model-showcase__grid--fits .model-tile:hover img { transform: scale(1.07); filter: saturate(1.08); }
  .model-showcase__grid--fits .model-tile:hover::after { opacity: 1; }
  .model-showcase__grid--fits .model-tile:hover .model-tile__fits { transform: translateY(-2px); background: #fff; }
  .model-showcase__grid--fits .model-tile:hover .model-tile__foot > span:first-child::after { transform: scaleX(1); }
  .model-showcase__grid--fits .model-tile:hover .model-tile__arrow { background: #5C1B2B; color: #fff; transform: translateX(4px); }
  :lang(ar) .model-showcase__grid--fits .model-tile:hover .model-tile__arrow { transform: translateX(-4px); }
}
.model-showcase__grid--fits .model-tile:focus-visible { outline: 3px solid #5C1B2B; outline-offset: 3px; }
.model-showcase__grid--fits .model-tile:focus-visible::after { opacity: 1; }
.model-showcase__grid--fits .model-tile:active { transform: scale(.985); transition: transform .15s; }
@media (prefers-reduced-motion: reduce) {
  .model-showcase__grid--fits .model-tile img, .model-showcase__grid--fits .model-tile::after { transition: none; }
}
@media (max-width: 899px) {
  .model-showcase__grid--fits .model-tile__bottom { padding: 14px 14px; }
  .model-showcase__grid--fits .model-tile__foot { font-size: 13px; }
  .model-showcase__grid--fits .model-tile__fits { font-size: 11.5px; padding: 5px 9px 5px 6px; }
  :lang(ar) .model-showcase__grid--fits .model-tile__fits { font-size: 12px; padding: 5px 6px 5px 9px; }
}

/* ───────── Lifestyle photography (Made to be held + Every angle) ───────── */
.life-tile { display:block; position:relative; padding:0; border:0; width:100%; cursor:zoom-in; overflow:hidden; background:#D9CBB8; }
.life-tile picture { display:block; width:100%; height:100%; }
.life-tile img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease), filter .5s var(--ease); }
.life-tile::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(42,30,24,.06); }
@media (hover:hover) {
  .life-tile:hover img { transform:scale(1.045); filter:saturate(1.05); }
}
.life-tile:focus-visible { outline:3px solid #5C1B2B; outline-offset:3px; }
/* Made to be held: large + small, both portrait 4:5 */
.craft__big.life-tile { aspect-ratio:4/5; border-radius:20px; }
.craft__small.life-tile { aspect-ratio:3/4; border-radius:18px; }
/* Every angle: four tiles, identical height, portrait */
.world__grid { align-items:stretch; }
.world__image.life-tile { height:auto !important; aspect-ratio:4/5; border-radius:16px; }
@media (max-width:899px) {
  .world__image.life-tile { border-radius:12px; }
}
/* Lightbox: show the whole approved photo, never cropped */
.lightbox__image { object-fit:contain !important; }

/* ───────── Per-model stock ───────── */
.quickbuy__models { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.quickbuy__model span { font-size: 12.5px !important; min-height: 44px !important; }
.quickbuy__swatches button[hidden] { display: none !important; }
.model-tile__colors { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; color: #fff; font-size: 13px; font-weight: 500; }
.model-tile__dot { width: 14px; height: 14px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 2px rgba(255,255,255,.9); flex: none; }
.model-tile__cnames { margin-inline-start: 4px; }
:lang(ar) .model-tile__colors { font-size: 14px; }
/* product cards: photo fills the frame (phone stays centered) */
.fcard__photo img { object-fit: cover !important; } /* position comes from each photo's focus point */

/* "Choose your iPhone" tiles: tinted overlay always on, no hover changes */
.model-showcase__grid--fits .model-tile::after { opacity: 1 !important; }
@media (hover: hover) {
  .model-showcase__grid--fits .model-tile:hover img { transform: none; filter: none; }
  .model-showcase__grid--fits .model-tile:hover .model-tile__fits { transform: none; background: rgba(255,255,255,.92); }
  .model-showcase__grid--fits .model-tile:hover .model-tile__foot > span:first-child::after { transform: scaleX(0); }
  .model-showcase__grid--fits .model-tile:hover .model-tile__arrow,
  :lang(ar) .model-showcase__grid--fits .model-tile:hover .model-tile__arrow { transform: none; background: #fff; color: #211C18; }
}
/* hover: the tinted overlay fades away to show the photo (bottom shade stays for the text) */
@media (hover: hover) {
  .model-showcase__grid--fits .model-tile:hover::after { opacity: 0 !important; }
  .model-showcase__grid--fits .model-tile:hover .model-tile__veil { background-color: transparent; }
}
.model-showcase__grid--fits .model-tile:focus-visible::after { opacity: 0 !important; }

/* Hero: pink product photo — keep the phone in frame on every screen */
.hero__controls[hidden] { display: none !important; }
.hero__media .hero__slide--hero-pink img, :lang(ar) .hero__media .hero__slide--hero-pink img { object-position: 72% 50% !important; filter: none; }
@media (max-width: 899px) {
  .hero__media .hero__slide--hero-pink img, :lang(ar) .hero__media .hero__slide--hero-pink img { object-position: 74% 45% !important; }
}
@media (min-width: 900px) {
  .hero__media .hero__slide--hero-pink img, :lang(ar) .hero__media .hero__slide--hero-pink img { object-position: 72% 22% !important; }
}

/* ───────── Hero: second (dark navy) slide ───────── */
.hero__media .hero__slide--hero-navy img, :lang(ar) .hero__media .hero__slide--hero-navy img { object-position: 74% 30% !important; filter: none; }
@media (max-width: 899px) {
  .hero__media .hero__slide--hero-navy img, :lang(ar) .hero__media .hero__slide--hero-navy img { object-position: 76% 40% !important; }
}
.hero__slide--hero-navy::after { display: none; }
@media (min-width: 900px) {
  .hero__frame::before { transition: opacity .85s ease, background .85s ease; }
  .hero__text > * { transition: color .6s ease, border-color .6s ease, background-color .6s ease; }
  .hero__frame.is-dark::before { background: linear-gradient(90deg, rgba(8,12,24,.55), rgba(8,12,24,0) 60%) !important; }
  :lang(ar) .hero__frame.is-dark::before { background: linear-gradient(270deg, rgba(8,12,24,.55), rgba(8,12,24,0) 60%) !important; }
  .hero__frame.is-dark .hero__title, .hero__frame.is-dark .hero__kicker { color: #F6EFE6 !important; }
  .hero__frame.is-dark .hero__sub { color: #D9D3CB !important; }
  .hero__frame.is-dark .hero__note, .hero__frame.is-dark .hero__signature { color: #E7DFD4 !important; border-color: rgba(255,255,255,.22) !important; }
  .hero__frame.is-dark .hero__cta .btn--dark { background: #F4ECE2; color: #1D1A18; }
  .hero__frame.is-dark .hero__cta .btn--dark:hover { background: #fff; }
}
.hero__frame.is-dark .hero__dot::before { background: rgba(255,255,255,.45) !important; }
.hero__frame.is-dark .hero__dot.is-current::before { background: #fff !important; }
@media (min-width: 900px) { .hero__frame.is-dark .hero__note .icon { color: #E7DFD4 !important; } }
.hero__media .hero__slide--hero-navy img, :lang(ar) .hero__media .hero__slide--hero-navy img { object-position: 78% 50% !important; }
@media (max-width: 899px) { .hero__media .hero__slide--hero-navy img, :lang(ar) .hero__media .hero__slide--hero-navy img { object-position: 76% 50% !important; } }

/* Arabic: photos with text on the case are not mirrored */
:lang(ar) .hero__media .hero__slide--nomirror picture { transform: none !important; }
@media (min-width: 900px) {
  :lang(ar) .hero__frame.text-start .hero__text { right: auto !important; left: 0 !important; padding: 0 20px 0 clamp(44px,5vw,85px) !important; }
  :lang(ar) .hero__frame.text-start.is-dark::before { background: linear-gradient(90deg, rgba(8,12,24,.55), rgba(8,12,24,0) 60%) !important; }
  :lang(ar) .hero__frame.text-start .hero__controls { inset-inline-end: auto; inset-inline-start: auto; right: 28px; left: auto; }
}
.hero__media .hero__slide--hero-navy-shore img, :lang(ar) .hero__media .hero__slide--hero-navy-shore img { object-position: 70% 50% !important; filter: none; }
.hero__slide--hero-navy-shore::after { display: none; }
@media (min-width: 900px) { .hero__media .hero__slide--hero-navy-shore img, :lang(ar) .hero__media .hero__slide--hero-navy-shore img { object-position: 70% 6% !important; } }

/* ── Out-of-stock colors (models[].soldOut in config) ── */
.fcard__dots .cdot.is-soldout,
.quickbuy__swatches button.is-soldout { position: relative; opacity: .55; overflow: hidden; }
.fcard__dots .cdot.is-soldout::after,
.quickbuy__swatches button.is-soldout::after {
  content: ''; position: absolute; left: 50%; top: -20%; width: 2px; height: 140%;
  background: #8E2F3F; transform: translateX(-50%) rotate(45deg); box-shadow: 0 0 0 1px rgba(255,255,255,.8);
}
.fcard__dots .cdot.is-soldout.is-on,
.quickbuy__swatches button.is-soldout[aria-pressed="true"] { opacity: 1; }
.fcard.is-soldout .fcard__price { color: #8E2F3F; letter-spacing: .02em; }
.fcard__buy[disabled] { opacity: .45; cursor: not-allowed; transform: none !important; }
.quickbuy__buy[disabled], .quickbuy__add[disabled] { opacity: .45; cursor: not-allowed; transform: none !important; }
.quickbuy__buy[disabled]:hover { background: #161718; }
.quickbuy.is-soldout [data-qb-color-label] { color: #8E2F3F; }

/* Checkout: policy consent line above Place order */
.co-consent { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--ink); opacity: .78; }
.co-consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.co-consent a:hover { color: var(--wine); }
[dir="rtl"] .co-consent { font-size: 13.5px; }

/* ───────────── Welcome-back offer ───────────── */
.offer-bar { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 10px var(--gutter); background: var(--limestone); border-bottom: 1px solid var(--line-soft); color: var(--ink); }
.offer-bar p { margin: 0; display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 1.45; }
.offer-bar__pct { flex: none; display: inline-grid; place-items: center; min-width: 46px; height: 26px; padding: 0 9px; border-radius: 999px; background: var(--wine); color: #FBF3EF; font-size: 12.5px; font-weight: 600; letter-spacing: .02em; }
.offer-bar button { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent; color: var(--ink-2); cursor: pointer; }
.offer-bar button:hover { background: var(--stone); color: var(--ink); }
.offer-bar .icon { width: 16px; height: 16px; }
:lang(ar) .offer-bar p { font-size: 14.5px; }
.totals__discount dt, .totals__discount dd { color: var(--wine); font-weight: 600; }
.co-total__meta .off { color: var(--wine); font-weight: 600; }

/* Saved delivery details */
.co-save { display: flex; align-items: flex-start; gap: 10px; margin-top: 6px; font-size: 14px; line-height: 1.5; color: var(--ink-2); cursor: pointer; }
.co-save input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--wine); }
:lang(ar) .co-save { font-size: 14.5px; }

/* ───────────── Policy pages ───────────── */
.policy-page main.policy { max-width: calc(var(--max) - 2 * var(--gutter)); width: 100%; padding: 28px var(--gutter) 120px; }
.policy__hero { position: relative; overflow: hidden; border-radius: var(--r-media); background: var(--limestone); border: 1px solid var(--line-soft); padding: clamp(28px, 5vw, 64px) clamp(22px, 5vw, 72px) clamp(26px, 4vw, 48px); }
.policy__hero::after { content: ""; position: absolute; inset-inline-end: -120px; top: -120px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(closest-side, var(--wine-tint), transparent); pointer-events: none; }
.policy .policy__back { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--ink-2); text-decoration: none; }
.policy .policy__back:hover { color: var(--wine); }
.policy__back .icon { width: 16px; height: 16px; }
.policy__eyebrow { margin: 28px 0 0 !important; font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--wine) !important; font-weight: 600; }
.policy .policy__hero h1 { margin: 10px 0 0; max-width: 16ch; }
.policy__updated { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 0 !important; padding: 6px 12px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line-soft); font-size: 13px !important; color: var(--ink-2) !important; }
.policy__updated::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--wine); }
.policy__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.policy__tabs a { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); font-size: 14px; color: var(--ink); text-decoration: none; background: transparent; transition: background .2s, border-color .2s, color .2s; }
.policy__tabs a:hover { border-color: var(--ink); }
.policy__tabs a[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--limestone); }

.policy__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: clamp(28px, 4vw, 56px); }
@media (min-width: 960px) { .policy__layout { grid-template-columns: 260px minmax(0, 720px); gap: clamp(40px, 6vw, 96px); justify-content: center; } }
.policy__toc { align-self: start; }
@media (min-width: 960px) { .policy__toc { position: sticky; top: calc(var(--header-h) + 24px); } }
.policy__toc details { border: 1px solid var(--line-soft); border-radius: var(--r-tile); background: var(--limestone); padding: 6px 8px; }
.policy__toc summary { list-style: none; cursor: pointer; padding: 10px 12px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--ink-2); }
.policy__toc summary::-webkit-details-marker { display: none; }
:lang(ar) .policy__toc summary, :lang(ar) .policy__eyebrow { letter-spacing: 0; font-size: 13px !important; }
.policy__toc ol { list-style: none; margin: 0; padding: 0 0 6px; counter-reset: toc; }
.policy__toc li { counter-increment: toc; margin: 0 !important; font-size: 14px !important; line-height: 1.45 !important; }
.policy__toc a { display: flex; gap: 10px; padding: 8px 12px; border-radius: 10px; color: var(--ink-2); text-decoration: none; }
.policy__toc a::before { content: counter(toc, decimal-leading-zero); font-variant-numeric: tabular-nums; color: var(--ink-3); font-size: 12px; padding-top: 2px; }
.policy__toc a:hover { background: var(--paper); color: var(--ink); }

.policy__body { counter-reset: sec; }
.policy .policy__body h2 { counter-increment: sec; display: flex; align-items: baseline; gap: 14px; margin: 0; padding-top: 34px; border-top: 1px solid var(--line-soft); scroll-margin-top: calc(var(--header-h) + 24px); font-size: clamp(19px, 2vw, 22px); line-height: 1.35; }
.policy .policy__body > h2:first-child, .policy .policy__body > p:first-child + h2 { border-top: 0; padding-top: 0; }
.policy .policy__body h2::before { content: counter(sec, decimal-leading-zero); flex: none; font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--wine); font-variant-numeric: tabular-nums; }
.policy .policy__body h2 + p, .policy .policy__body h2 + ul { margin-top: 14px; }
.policy .policy__body p + h2, .policy .policy__body ul + h2 { margin-top: 38px; }
.policy .policy__body ul { list-style: none; padding: 0; margin-top: 14px; display: grid; gap: 10px; }
.policy .policy__body li { position: relative; padding-inline-start: 26px; }
.policy .policy__body li::before { content: ""; position: absolute; inset-inline-start: 4px; top: .72em; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--wine); }
.policy .policy__body a { color: var(--wine); text-underline-offset: 3px; }
.policy__help { margin-top: 56px; padding: 26px 28px; border-radius: var(--r-tile); background: var(--night); color: #EDE6DA; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.policy__help p { margin: 0 !important; color: inherit !important; font-size: 15.5px !important; }
.policy__help a { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 999px; background: #F3EEE5; color: var(--ink) !important; text-decoration: none; font-size: 14px; font-weight: 600; }


/* ───────── Sale prices (full price crossed out, sale tag) ───────── */
.fcard__price .was, .line__price .was { opacity:.5; font-weight:400; margin-inline-end:.3em; text-decoration-thickness:1px; }
.fcard__price .now { color:var(--wine); }
.sale-tag { display:inline-block; margin-inline-start:.4em; padding:2px 8px; border-radius:99px; background:var(--wine); color:#fff; font-size:.72em; font-weight:650; line-height:1.5; vertical-align:middle; letter-spacing:0; }
.line__price .was { display:block; font-size:.85em; margin:0; }