/*
Theme Name: Celia Boutique
Theme URI: https://celiaboutique.dz
Author: Celia Boutique
Author URI: https://celiaboutique.dz
Description: Celia Boutique — Algerian traditional & professional womenswear. A WooCommerce theme on a clean white canvas with a deep crimson (#4A0E17) header & footer and a warm-gold "Celia Boutique" wordmark. Arabic RTL, prices in DZD, cash-on-delivery and Yalidine Express shipping. Mobile-first. Everything (categories, cart, orders, favorites, checkout, the home hero slider, the latest & most-popular lists) is driven by live WooCommerce data — no demo products.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 8.9
Text Domain: celia
Tags: e-commerce, rtl-language-support, custom-menu, featured-images, full-width-template, translation-ready
*/

/* ============================================================
   Celia Boutique — Design tokens
   White canvas · crimson (#4A0E17) chrome · warm gold (#C9A84C)
   NOTE: legacy variable NAMES are kept so every inline style in
   the PHP templates keeps working — only the VALUES changed.
   ============================================================ */
:root {
  /* Brand */
  --cb-crimson:   #4A0E17;
  --cb-crimson-2: #380A11;
  --cb-gold:      #C9A84C;
  --cb-gold-light:#E8C97A;
  --cb-white:     #FFFFFF;
  --cb-off-white: #FAF8F5;
  --cb-charcoal:  #1A1A1A;

  /* Base surfaces (mapped to legacy names) */
  --celia-black: #4A0E17;   /* dark brand surfaces (drawers, hero brand) */
  --celia-ink:   #380A11;
  --surface-1:   #FAF8F5;   /* cards / panels (off-white) */
  --surface-2:   #FFFFFF;   /* inputs / fields */
  --surface-3:   #EFEAE1;   /* subtle fills */
  --hairline:    rgba(0,0,0,0.08);

  /* Gold scale (centred on #C9A84C) */
  --gold-100: #F6ECCF;
  --gold-300: #E8C97A;
  --gold-400: #DCBB64;
  --gold-500: #C9A84C;
  --gold-600: #BE9B3E;
  --gold-700: #9A7D33;
  --gold-800: #E3D6AE;

  /* Status */
  --green-deep: #E7F1E9;
  --green-text: #2F7A4B;
  --danger:     #B23A2E;
  --danger-soft:#F6E4E1;

  /* Text */
  --text-1: #1A1A1A;
  --text-2: #4D4D4D;
  --text-3: #777270;
  --text-on-gold:  #4A0E17;
  --text-on-crimson:#FFFFFF;

  /* Borders / lines */
  --border-1: rgba(0,0,0,0.08);
  --border-2: rgba(0,0,0,0.14);
  --border-gold: rgba(201,168,76,0.45);

  /* Overlays / scrims */
  --scrim-hero: linear-gradient(90deg, rgba(20,4,8,0.74) 0%, rgba(20,4,8,0.42) 55%, rgba(20,4,8,0.18) 100%);
  --scrim-hero-rtl: linear-gradient(270deg, rgba(20,4,8,0.74) 0%, rgba(20,4,8,0.42) 55%, rgba(20,4,8,0.18) 100%);
  --scrim-card: linear-gradient(180deg, rgba(20,4,8,0) 35%, rgba(20,4,8,0.55) 100%);
  --footer-bg:  #4A0E17;

  /* Aliases */
  --bg-page: var(--cb-white);

  /* Type */
  --font-display: 'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  --font-arabic:  'Tajawal', system-ui, sans-serif;
  --font-sans:    'Raleway', system-ui, sans-serif;

  --fw-light:300; --fw-regular:400; --fw-medium:500; --fw-bold:700; --fw-black:800;

  --fs-hero: clamp(48px, 9vw, 80px);
  --fs-display: clamp(30px, 6vw, 44px);
  --fs-h1: clamp(26px, 6vw, 34px);
  --fs-h2: clamp(22px, 5vw, 26px);
  --fs-h3: 20px;
  --fs-body-lg: 18px;
  --fs-body: 16px;
  --fs-sm: 14px;
  --fs-xs: 12px;
  --fs-price: 26px;
  --fs-total: 32px;

  --lh-tight:1.1; --lh-snug:1.3; --lh-normal:1.7; --lh-loose:1.9;
  --ls-wordmark:0.04em; --ls-caps:0.2em; --ls-wide:0.05em;

  /* Spacing */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px;
  --space-20:80px; --space-24:96px;

  --container: 1280px;
  --gutter: 20px;
  --header-h: 72px;

  --radius-xs:2px; --radius-sm:4px; --radius-md:6px; --radius-lg:10px; --radius-pill:999px;
  --bw-hair:1px; --bw-thick:2px;

  --shadow-sm: 0 4px 24px rgba(74,14,23,0.08);
  --shadow-md: 0 10px 34px rgba(74,14,23,0.12);
  --shadow-lg: 0 18px 50px rgba(74,14,23,0.18);
  --shadow-gold: 0 6px 20px rgba(201,168,76,0.28);

  --ease-out: cubic-bezier(0.22,1,0.36,1);
  --ease-soft: cubic-bezier(0.4,0,0.2,1);
  --dur-fast:160ms; --dur-base:280ms; --dur-slow:520ms;
}

/* ============================================================
   Base
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg-page);
  color: var(--text-2);
  font-family: var(--font-arabic);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

h1,h2,h3,h4 {
  margin: 0;
  color: var(--text-1);
  font-family: var(--font-arabic);
  font-weight: var(--fw-regular);
  line-height: var(--lh-snug);
}
p { margin: 0; }
img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; transition: color var(--dur-fast) var(--ease-soft); }
a:hover { color: var(--gold-600); }

button { font-family: inherit; }
::selection { background: rgba(201,168,76,0.3); color: var(--cb-crimson); }
:focus-visible { outline: 2px solid var(--border-gold); outline-offset: 2px; }

/* Brand wordmark — "Celia Boutique" in warm gold, serif */
.celia-wordmark {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wordmark);
  color: var(--gold-500);
  font-feature-settings: 'liga' 1;
}
.celia-price,
.celia-amount,
.woocommerce-Price-amount {
  font-family: var(--font-sans);
  font-weight: var(--fw-bold);
  color: var(--cb-crimson);
  letter-spacing: 0.01em;
}
.celia-eyebrow {
  font-family: var(--font-sans);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
  color: var(--gold-600);
}
.celia-rule {
  width: 48px; height: 1px; border: 0;
  background: var(--gold-500); margin: 0;
}

.container { max-width: var(--container); margin: 0 auto; padding-inline: var(--gutter); }
.hide-mobile { display: none; }
@media (min-width: 900px) { .hide-mobile { display: inline; } }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; border: 0; padding: 0; margin: -1px; }

/* Centered section header (gold hairlines flanking a serif title) */
.section-head { text-align: center; margin-bottom: var(--space-10); }
.section-head .celia-rule { margin: 0 auto 16px; }
.section-head .celia-eyebrow { margin-bottom: 10px; }
.section-head h2 {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(28px,4.5vw,40px); color: var(--cb-crimson);
  letter-spacing: 0.01em;
}
/* Flanked-title variant used on the home page */
.cb-section-header { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 12px; }
.cb-section-header h2 {
  font-family: var(--font-display); font-weight: 600; white-space: nowrap;
  font-size: clamp(28px,4vw,38px); color: var(--cb-crimson); letter-spacing: 0.01em;
}
.cb-section-line { flex: 1; height: 1px; background: linear-gradient(to right, transparent, var(--gold-500), transparent); opacity: 0.55; }
.cb-section-sub { text-align: center; font-family: var(--font-arabic); font-size: 15px; color: var(--text-3); margin: 0 auto 40px; max-width: 560px; }

/* ============================================================
   Buttons — pill, crimson/gold (base44 language)
   ============================================================ */
.celia-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-family: var(--font-sans); font-weight: 700; font-size: 12px;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 13px 30px; min-height: 46px;
  border: 1.5px solid transparent; border-radius: var(--radius-pill);
  cursor: pointer; text-align: center; white-space: nowrap;
  transition: background var(--dur-base) var(--ease-soft), color var(--dur-base) var(--ease-soft),
              border-color var(--dur-base) var(--ease-soft), transform var(--dur-base) var(--ease-soft),
              box-shadow var(--dur-base) var(--ease-soft);
}
.celia-btn--lg { padding: 16px 38px; min-height: 54px; font-size: 13px; }
.celia-btn--sm { padding: 9px 20px; min-height: 38px; font-size: 11px; }
.celia-btn--full { width: 100%; }
.celia-btn--solid { background: var(--cb-crimson); color: var(--gold-500); border-color: var(--cb-crimson); }
.celia-btn--solid:hover { background: var(--gold-500); color: var(--cb-crimson); border-color: var(--gold-500); transform: translateY(-1px); box-shadow: var(--shadow-gold); }
.celia-btn--ghost { background: transparent; color: var(--cb-crimson); border-color: var(--cb-crimson); }
.celia-btn--ghost:hover { background: var(--cb-crimson); color: var(--gold-500); transform: translateY(-1px); }
.celia-btn--gold { background: var(--gold-500); color: var(--cb-crimson); border-color: var(--gold-500); }
.celia-btn--gold:hover { background: var(--gold-400); border-color: var(--gold-400); transform: translateY(-1px); }
.celia-btn--text { background: transparent; color: var(--gold-600); padding: 6px 4px; min-height: auto; border: 0; border-radius: 0; letter-spacing: 0.04em; }
.celia-btn--text:hover { color: var(--cb-crimson); }
.celia-btn:active { transform: scale(0.98); }
.celia-btn[disabled], .celia-btn.disabled { opacity: 0.45; cursor: not-allowed; }

/* ============================================================
   Badges / chips
   ============================================================ */
.celia-badge {
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px;
  font-family: var(--font-sans); font-size: 10px; font-weight: 700; line-height: 1;
  letter-spacing: 0.12em; text-transform: uppercase; border-radius: var(--radius-pill); white-space: nowrap;
}
.celia-badge--stock { background: var(--green-deep); color: var(--green-text); }
.celia-badge--sale  { background: var(--cb-crimson); color: var(--gold-light, var(--gold-300)); }
.celia-badge--gold  { background: var(--gold-500); color: var(--cb-crimson); }

.celia-chip {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-arabic); font-size: 13px; font-weight: 500; line-height: 1.2;
  cursor: pointer; white-space: nowrap; padding: 9px 18px;
  border-radius: var(--radius-pill); border: 1px solid var(--border-gold);
  background: var(--cb-white); color: var(--text-2);
  transition: all var(--dur-fast) var(--ease-soft);
}
.celia-chip:hover { border-color: var(--gold-500); color: var(--cb-crimson); }
.celia-chip.is-active,
.celia-chip[aria-current="true"] { background: var(--cb-crimson); color: var(--gold-500); border-color: var(--cb-crimson); }
.celia-chip--box { padding: 10px 14px; min-width: 56px; }

/* ============================================================
   Header — crimson chrome, gold wordmark, dynamic category nav
   ============================================================ */
.site-header {
  position: sticky; top: 0; z-index: 40;
  background: var(--cb-crimson);
  border-bottom: 1px solid rgba(201,168,76,0.2);
  transition: box-shadow var(--dur-base) var(--ease-soft);
}
.site-header.is-scrolled { box-shadow: 0 4px 30px rgba(0,0,0,0.28); }
.header-utility {
  display: flex; align-items: center; justify-content: space-between;
  gap: 14px; padding: 14px 0; min-height: var(--header-h);
}
.header-left { display: flex; align-items: center; gap: 14px; }

/* Wordmark logo (Celia Boutique) */
.header-logo { display: inline-flex; align-items: center; gap: 10px; }
.header-logo img { height: 46px; width: auto; }
.cb-logo { display: inline-flex; align-items: center; gap: 10px; }
.cb-logo-ornament { color: var(--gold-500); font-size: 10px; opacity: 0.75; }
.cb-logo-text { display: flex; flex-direction: column; line-height: 1; text-align: center; }
.cb-logo-celia {
  font-family: var(--font-display); font-size: 30px; font-weight: 700;
  color: var(--gold-500); letter-spacing: 0.04em; line-height: 1;
  text-shadow: 0 1px 10px rgba(201,168,76,0.28);
}
.cb-logo-boutique {
  font-family: var(--font-display); font-size: 11px; font-weight: 400;
  color: var(--gold-light, var(--gold-300)); letter-spacing: 0.42em;
  text-transform: uppercase; line-height: 1.5; padding-inline-start: 0.42em;
}

.icon-link {
  background: none; border: none; cursor: pointer; padding: 4px;
  display: inline-flex; align-items: center; gap: 8px;
  color: rgba(255,255,255,0.86); font-family: var(--font-arabic); font-size: 14px;
}
.icon-link:hover { color: var(--gold-500); }
.icon-link svg { width: 22px; height: 22px; }
.menu-toggle, .cart-pill .cart-figure { color: var(--gold-500); }
.cart-pill { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.86); }
.cart-pill:hover { color: var(--gold-500); }
.cart-pill .cart-figure { position: relative; display: inline-flex; color: var(--gold-500); }
.cart-count {
  position: absolute; top: -7px; inset-inline-start: -9px;
  min-width: 16px; height: 16px; padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gold-500); color: var(--cb-crimson);
  font-size: 10px; font-weight: 700; border-radius: 999px; line-height: 1;
}
.cart-total { font-family: var(--font-sans); font-weight: 700; color: var(--gold-500); font-size: 15px; }
.wish-count-badge { font-size: 11px; color: var(--gold-300); }

.header-search { position: relative; flex: 1; max-width: 440px; display: none; }
.header-search svg { width: 18px; height: 18px; position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); color: var(--text-3); }
.header-search input {
  width: 100%; height: 42px; padding: 0 16px 0 42px;
  background: rgba(255,255,255,0.96); border: 1px solid rgba(201,168,76,0.3);
  border-radius: var(--radius-pill); color: var(--cb-charcoal);
  font-family: var(--font-arabic); font-size: 14px; outline: none;
}
[dir="rtl"] .header-search input { padding: 0 42px 0 16px; }
.header-search input::placeholder { color: var(--text-3); }
.header-search input:focus { border-color: var(--gold-500); }

.menu-toggle { background: none; border: none; cursor: pointer; color: var(--gold-500); display: inline-flex; padding: 4px; align-items: center; }
.menu-toggle svg { width: 26px; height: 26px; }

.nav-row { border-top: 1px solid rgba(201,168,76,0.18); display: none; }
.category-nav {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: var(--space-6); padding: 12px 0;
}
.category-nav a {
  position: relative; padding: 6px 2px;
  font-family: var(--font-sans); font-size: 13px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; color: rgba(255,255,255,0.86);
}
.category-nav a:hover { color: var(--gold-500); }
.category-nav a.is-active { color: var(--gold-500); }
.category-nav a.is-sale { color: var(--gold-300); font-weight: 700; }
.category-nav a.is-active::after,
.category-nav a:hover::after {
  content: ""; position: absolute; inset-inline: 0; bottom: -4px; height: 1px;
  background: var(--gold-500);
}

/* Mobile drawer nav */
.mobile-nav { position: fixed; inset: 0; z-index: 60; visibility: hidden; }
.mobile-nav__scrim { position: absolute; inset: 0; background: rgba(0,0,0,0.55); opacity: 0; transition: opacity var(--dur-base) var(--ease-soft); }
.mobile-nav__panel {
  position: absolute; top: 0; inset-inline-start: 0; height: 100%;
  width: min(320px, 86vw); background: var(--cb-crimson);
  border-inline-end: 1px solid rgba(201,168,76,0.2);
  transform: translateX(-100%); transition: transform var(--dur-base) var(--ease-out);
  display: flex; flex-direction: column; padding: 22px; overflow-y: auto;
}
[dir="rtl"] .mobile-nav__panel { transform: translateX(100%); inset-inline-start: auto; inset-inline-end: 0; }
.mobile-nav.is-open { visibility: visible; }
.mobile-nav.is-open .mobile-nav__scrim { opacity: 1; }
.mobile-nav.is-open .mobile-nav__panel { transform: translateX(0); }
.mobile-nav__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.mobile-nav__head .icon-link { color: var(--gold-500); }
.mobile-nav__links { display: flex; flex-direction: column; gap: 2px; }
.mobile-nav__links a {
  padding: 14px 4px; font-family: var(--font-arabic); font-size: 16px; color: #fff;
  border-bottom: 1px solid rgba(201,168,76,0.15); font-weight: 500;
}
.mobile-nav__links a:hover { color: var(--gold-500); }
.mobile-nav__links a.is-sale { color: var(--gold-300); }
.mobile-search { position: relative; margin-bottom: 18px; }
.mobile-search input {
  width: 100%; height: 44px; padding: 0 16px;
  background: rgba(255,255,255,0.96); border: 1px solid rgba(201,168,76,0.3);
  border-radius: var(--radius-pill); color: var(--cb-charcoal); font-size: 15px; outline: none;
}

/* ============================================================
   Hero slider (dynamic)
   ============================================================ */
.hero { position: relative; height: min(620px, 82vh); min-height: 460px; overflow: hidden; }
.hero__track { position: absolute; inset: 0; }
.cb-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s var(--ease-soft); }
.cb-slide.is-active { opacity: 1; z-index: 2; }
.cb-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.cb-slide__scrim { position: absolute; inset: 0; background: var(--scrim-hero); }
[dir="rtl"] .cb-slide__scrim { background: var(--scrim-hero-rtl); }
.hero__inner {
  position: absolute; inset: 0; z-index: 5; display: flex; flex-direction: column;
  align-items: flex-start; justify-content: center; text-align: start;
  max-width: var(--container); margin: 0 auto; padding: 0 clamp(20px, 6vw, 80px);
  pointer-events: none;
}
.hero__inner > * { pointer-events: auto; }
.hero__eyebrow { font-family: var(--font-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold-500); margin-bottom: 14px; }
.hero__brand { font-family: var(--font-display); font-weight: 700; font-size: var(--fs-hero); color: #fff; line-height: 1.04; }
.hero__brand em { font-style: italic; color: var(--gold-light, var(--gold-300)); }
.hero__title { font-family: var(--font-display); font-weight: 700; font-size: clamp(40px,7vw,72px); color: #fff; line-height: 1.05; }
.hero__sub { font-family: var(--font-arabic); font-size: clamp(15px,2.4vw,17px); color: rgba(255,255,255,0.84); max-width: 460px; margin-top: 18px; line-height: 1.8; }
.hero__cta { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.hero__cta .celia-btn--ghost { color: var(--gold-500); border-color: var(--gold-500); }
.hero__cta .celia-btn--ghost:hover { background: var(--gold-500); color: var(--cb-crimson); }

.hero__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(74,14,23,0.55); border: 1px solid rgba(201,168,76,0.4);
  color: var(--gold-500); display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  transition: background var(--dur-fast) var(--ease-soft), transform var(--dur-fast) var(--ease-soft);
}
.hero__arrow:hover { background: var(--cb-crimson); transform: translateY(-50%) scale(1.08); }
.hero__arrow svg { width: 24px; height: 24px; }
.hero__arrow--prev { inset-inline-start: 1.4rem; }
.hero__arrow--next { inset-inline-end: 1.4rem; }
.hero__dots { position: absolute; bottom: 1.8rem; inset-inline-start: 50%; transform: translateX(-50%); z-index: 10; display: flex; gap: 10px; }
.hero__dot { width: 28px; height: 3px; border-radius: 2px; background: rgba(201,168,76,0.32); border: none; cursor: pointer; padding: 0; transition: background var(--dur-base), width var(--dur-base); }
.hero__dot.is-active { background: var(--gold-500); width: 46px; }

/* ============================================================
   Marquee strip
   ============================================================ */
.cb-marquee { background: var(--cb-crimson); padding: 11px 0; overflow: hidden; border-top: 1px solid rgba(201,168,76,0.15); border-bottom: 1px solid rgba(201,168,76,0.15); }
.cb-marquee__track { display: flex; white-space: nowrap; width: max-content; animation: cbMarquee 30s linear infinite; }
.cb-marquee__track span { font-family: var(--font-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-light, var(--gold-300)); padding: 0 1.4rem; }
@keyframes cbMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
[dir="rtl"] .cb-marquee__track { animation-direction: reverse; }

/* ============================================================
   Sections / grids
   ============================================================ */
.section { padding-top: var(--space-20); }
.section--first { padding-top: var(--space-16); }
.section--shade { background: var(--cb-off-white); padding-block: var(--space-20); }
.home-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.home-section-head h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(26px,5vw,38px); color: var(--cb-crimson); }
.home-section-head__more { font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-600); }
.home-section-head__more:hover { color: var(--cb-crimson); }
.section-cta { text-align: center; margin-top: var(--space-12); }

.product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }

/* Category highlight grid */
.cb-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 2.5rem; }
.cb-cat-card {
  background: var(--cb-white); border: 1px solid var(--border-gold); border-radius: var(--radius-sm);
  padding: 2rem 1.4rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.4rem;
  transition: all var(--dur-base) var(--ease-soft); position: relative; overflow: hidden;
}
.cb-cat-card:hover { border-color: var(--gold-500); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.cb-cat-card__media { width: 100%; aspect-ratio: 4/3; border-radius: var(--radius-xs); overflow: hidden; margin-bottom: 14px; background: var(--cb-off-white); }
.cb-cat-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out); }
.cb-cat-card:hover .cb-cat-card__media img { transform: scale(1.05); }
.cb-cat-card__icon { font-size: 26px; color: var(--gold-500); line-height: 1; margin-bottom: 10px; }
.cb-cat-card__name { font-family: var(--font-display); font-size: 19px; font-weight: 600; color: var(--cb-crimson); }
.cb-cat-card__count { font-family: var(--font-arabic); font-size: 12px; color: var(--text-3); letter-spacing: 0.04em; }

/* Feature strip */
.cb-features { background: var(--cb-off-white); border-top: 1px solid var(--border-gold); border-bottom: 1px solid var(--border-gold); padding-block: var(--space-16); }
.cb-features__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.cb-feature { text-align: center; padding: 0.5rem; }
.cb-feature__icon { display: inline-flex; color: var(--gold-600); margin-bottom: 16px; }
.cb-feature__icon svg { width: 26px; height: 26px; }
.cb-feature__title { font-family: var(--font-display); font-size: 19px; font-weight: 600; color: var(--cb-crimson); margin-bottom: 8px; }
.cb-feature__desc { font-family: var(--font-arabic); font-size: 14px; color: var(--text-3); line-height: 1.7; }

/* Banner divider quote */
.cb-banner { background: var(--cb-crimson); padding: 2.6rem 1.5rem; }
.cb-banner__inner { max-width: var(--container); margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 1.4rem; }
.cb-banner__ornament { color: var(--gold-500); font-size: 12px; opacity: 0.65; }
.cb-banner__text { font-family: var(--font-display); font-size: clamp(20px,2.6vw,26px); font-style: italic; color: rgba(255,255,255,0.92); text-align: center; }

/* About strip */
.home-about { padding-top: var(--space-20); }
.home-about__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; }
.home-about__text .celia-eyebrow { display: block; margin-bottom: 14px; }
.home-about__text h2 { font-family: var(--font-display); font-weight: 700; font-size: clamp(28px,3.6vw,40px); color: var(--cb-crimson); line-height: 1.2; margin-bottom: 1.2rem; }
.home-about__text p { font-family: var(--font-arabic); font-size: 15px; color: var(--text-2); line-height: 1.9; margin-bottom: 1rem; max-width: 520px; }
.home-about__text p .gold { color: var(--gold-700); font-weight: 700; }
.home-about__media { position: relative; }
.home-about__media img { border-radius: var(--radius-xs); aspect-ratio: 4/5; object-fit: cover; box-shadow: 18px 18px 0 var(--border-gold); }
.home-about__badge { position: absolute; bottom: -18px; inset-inline-start: -18px; background: var(--cb-crimson); color: var(--gold-500); padding: 1.1rem 1.4rem; text-align: center; border: 2px solid rgba(201,168,76,0.3); font-family: var(--font-sans); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; display: flex; flex-direction: column; gap: 2px; }
.home-about__badge .yr { font-family: var(--font-display); font-size: 26px; font-weight: 700; line-height: 1; }

/* Newsletter */
.cb-newsletter { background: var(--cb-off-white); border-top: 1px solid var(--border-gold); padding-block: var(--space-16); text-align: center; }
.cb-newsletter__orn { display: block; font-size: 10px; color: var(--gold-500); letter-spacing: 0.5em; margin-bottom: 14px; opacity: 0.75; }
.cb-newsletter h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(26px,3.4vw,36px); color: var(--cb-crimson); margin-bottom: 10px; }
.cb-newsletter p { font-family: var(--font-arabic); font-size: 14px; color: var(--text-3); margin: 0 auto 1.8rem; max-width: 480px; line-height: 1.6; }
.cb-newsletter__form { display: flex; gap: 0.75rem; max-width: 460px; margin: 0 auto; }
.cb-newsletter__form input { flex: 1; padding: 0.8rem 1.3rem; border: 1px solid rgba(201,168,76,0.4); border-radius: var(--radius-pill); font-family: var(--font-arabic); font-size: 14px; background: var(--cb-white); color: var(--cb-charcoal); outline: none; }
.cb-newsletter__form input:focus { border-color: var(--gold-500); }

/* values strip (kept for compatibility) */
.values-strip { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 0; }
.values-strip .val { font-family: var(--font-display); font-weight: 500; font-size: clamp(18px,5vw,24px); color: var(--cb-crimson); padding: 0 20px; }
.values-strip .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--gold-500); }

/* reviews */
.reviews-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.review-card { background: var(--cb-white); border: 1px solid var(--border-gold); border-radius: var(--radius-sm); padding: 28px; box-shadow: var(--shadow-sm); }
.review-card p { font-family: var(--font-arabic); font-size: 15px; color: var(--text-2); line-height: 1.9; margin: 16px 0 18px; }
.review-card .name { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: var(--cb-crimson); }
.stars { color: var(--gold-500); font-size: 15px; letter-spacing: 2px; }

/* ============================================================
   Product card (WooCommerce content-product override)
   ============================================================ */
/* Force the product grid over WooCommerce's default float layout (which makes
   cards tiny/misaligned). Bigger cards, fewer columns, always-tappable CTAs. */
ul.products,
.woocommerce ul.products {
  list-style: none; margin: 0; padding: 0; float: none !important;
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px !important;
  width: 100% !important;
}
ul.products::before, ul.products::after,
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; display: none !important; }
ul.products li.product,
ul.products li.celia-card,
.woocommerce ul.products li.product {
  width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  float: none !important; margin: 0 !important; clear: none !important;
}
.celia-card__media { width: 100% !important; }
.celia-card__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
@media (min-width: 640px) { ul.products, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px !important; } }
@media (min-width: 1040px) { ul.products, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 30px !important; } }
.celia-card { width: 100% !important; cursor: pointer; background: var(--cb-white); border: 1px solid var(--border-1); border-radius: var(--radius-sm); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-soft), border-color var(--dur-base) var(--ease-soft); display: flex; flex-direction: column; }
.celia-card:hover { transform: translateY(-6px); border-color: var(--gold-500); box-shadow: var(--shadow-md); }
.celia-card__media {
  position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: var(--cb-off-white);
}
.celia-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform var(--dur-slow) var(--ease-out); }
.celia-card:hover .celia-card__media img { transform: scale(1.05); }
.celia-card__badge { position: absolute; top: 12px; inset-inline-end: 12px; z-index: 2; }
.celia-card__sale { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; }
.celia-card__wish {
  position: absolute; bottom: 14px; inset-inline-start: 14px; z-index: 3;
  width: 46px; height: 46px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.95); border: 1px solid var(--border-gold);
  color: var(--cb-crimson); cursor: pointer; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  box-shadow: var(--shadow-sm);
  transition: all var(--dur-fast) var(--ease-soft);
}
.celia-card__wish svg { width: 22px; height: 22px; }
.celia-card__wish:hover { color: var(--gold-600); border-color: var(--gold-500); }
.celia-card__wish.is-active { color: var(--gold-600); }
.celia-card__wish.is-active svg { fill: var(--gold-500); }
/* Add-to-bag pill — ALWAYS visible (not hover-gated) so it's easy to tap on
   every device, and bigger for comfortable touch targets. */
.celia-card__add {
  position: static; inset: auto; padding: 0 16px 16px;
  background: none; opacity: 1; transform: none;
}
.celia-card:hover .celia-card__add { opacity: 1; transform: none; }
.celia-card__add a, .celia-card__add button {
  width: 100%; padding: 14px; min-height: 50px; cursor: pointer; display: inline-flex;
  align-items: center; justify-content: center; gap: 8px;
  background: var(--cb-crimson); color: var(--gold-500);
  border: none; border-radius: var(--radius-pill);
  font-family: var(--font-sans); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  transition: background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.celia-card__add a:hover, .celia-card__add button:hover { background: var(--gold-500); color: var(--cb-crimson); }
.celia-card__add svg { width: 18px; height: 18px; }
.celia-card__body { padding: 18px 18px 8px; flex: 1 0 auto; text-align: start; display: flex; flex-direction: column; gap: 5px; }
.celia-card__cat { font-family: var(--font-sans); font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-3); order: -1; }
.celia-card__title { font-family: var(--font-display); font-weight: 600; font-size: 22px; color: var(--text-1); margin: 0; line-height: 1.3; }
.celia-card__price { margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--border-1); display: flex; align-items: baseline; gap: 8px; }
.celia-card__price .price, .celia-card__price .woocommerce-Price-amount { font-family: var(--font-sans); font-weight: 700; color: var(--cb-crimson); font-size: 20px; }
.celia-card__price del { color: var(--text-3); opacity: 0.7; font-size: 15px; }
.celia-card__price ins { text-decoration: none; }
@media (hover: none) {
  .celia-card__add { position: static; opacity: 1; transform: none; background: none; }
}

/* Smooth fade when switching light ↔ dark */
body, .site-header, .cb-features, .section--shade, .cb-newsletter, .cb-cat-card,
.celia-card, .review-card, input, textarea, select, .summary-box, .care-tabs {
  transition: background-color var(--dur-base) var(--ease-soft), color var(--dur-base) var(--ease-soft), border-color var(--dur-base) var(--ease-soft);
}

/* ============================================================
   Shop archive header
   ============================================================ */
.shop-head { display: flex; flex-direction: column; gap: 18px; margin-bottom: 28px; padding-top: var(--space-10); }
.shop-head__title h1 { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-display); color: var(--cb-crimson); }
.shop-head__count { font-family: var(--font-arabic); font-size: 14px; color: var(--text-3); margin-top: 4px; }
.shop-filters { display: flex; flex-wrap: wrap; gap: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.shop-filters::-webkit-scrollbar { height: 0; }
.woocommerce-result-count, .woocommerce-ordering { font-family: var(--font-arabic); font-size: 13px; color: var(--text-3); }
.woocommerce-ordering select { background: var(--cb-white); color: var(--text-1); border: 1px solid var(--border-gold); border-radius: var(--radius-pill); padding: 8px 16px; font-family: var(--font-arabic); }

/* ============================================================
   Single product
   ============================================================ */
.breadcrumb { display: flex; gap: 8px; align-items: center; font-family: var(--font-arabic); font-size: 13px; color: var(--text-3); margin: 22px 0 26px; flex-wrap: wrap; }
.breadcrumb a:hover { color: var(--gold-600); }
.breadcrumb .sep { width: 14px; height: 14px; display: inline-flex; }
.breadcrumb .current { color: var(--cb-crimson); }

.product-detail { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
.product-gallery { position: relative; border-radius: var(--radius-sm); overflow: hidden; border: 1px solid var(--border-1); background: var(--cb-off-white); order: -1; box-shadow: var(--shadow-sm); }
.product-gallery img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.product-gallery .flex-control-thumbs { display: flex; gap: 10px; list-style: none; padding: 10px; margin: 0; }
.product-gallery .flex-control-thumbs li { width: 64px; }
.product-gallery .flex-control-thumbs img { aspect-ratio: 1; border-radius: var(--radius-sm); cursor: pointer; }

.product-info .celia-eyebrow { margin-bottom: 10px; }
.product-info h1.product_title, .product-info .product_title { font-family: var(--font-display); font-weight: 600; font-size: clamp(28px,6vw,42px); color: var(--cb-crimson); }
.product-info .price, .product-info .celia-amount { display: block; margin: 14px 0; font-size: var(--fs-price); font-family: var(--font-sans); font-weight: 700; color: var(--cb-crimson); }
.product-info .price del { color: var(--text-3); font-size: 18px; margin-inline-end: 10px; }
.product-info .price ins { text-decoration: none; }
.product-desc, .woocommerce-product-details__short-description { font-family: var(--font-arabic); font-size: 15px; color: var(--text-2); line-height: 1.9; margin: 20px 0; padding-bottom: 22px; border-bottom: 1px solid var(--border-1); }

.opt-group { margin-bottom: 22px; }
.opt-group__label { font-family: var(--font-arabic); font-size: 15px; color: var(--text-1); margin-bottom: 10px; }
.opt-chips { display: flex; gap: 10px; flex-wrap: wrap; }

.celia-qty, .product-info form.cart .quantity { display: inline-flex; align-items: center; border: 1px solid var(--border-2); border-radius: var(--radius-pill); overflow: hidden; background: var(--cb-white); }
.celia-qty button { width: 44px; height: 48px; background: none; border: none; color: var(--cb-crimson); cursor: pointer; font-size: 18px; display: inline-flex; align-items: center; justify-content: center; }
.celia-qty button:hover { color: var(--gold-600); }
.celia-qty input, .product-info form.cart .quantity .qty { width: 56px; height: 50px; text-align: center; background: none; border: none; color: var(--cb-charcoal); font-family: var(--font-sans); font-weight: 700; font-size: 16px; -moz-appearance: textfield; }
.celia-qty input::-webkit-outer-spin-button, .celia-qty input::-webkit-inner-spin-button,
.product-info form.cart .quantity .qty::-webkit-outer-spin-button, .product-info form.cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.buy-row { display: flex; gap: 12px; align-items: stretch; margin-top: 6px; }
.buy-row .celia-btn { flex: 1; }
.icon-well { width: 54px; height: 54px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--cb-white); border: 1px solid var(--border-2); border-radius: 50%; color: var(--text-2); cursor: pointer; transition: all var(--dur-fast) var(--ease-soft); }
.icon-well:hover { color: var(--gold-600); border-color: var(--gold-500); }
.icon-well svg { width: 18px; height: 18px; }
.icon-well.is-active { color: var(--gold-600); }
.icon-well.is-active svg { fill: var(--gold-500); }

.assurances { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--border-1); display: flex; flex-direction: column; gap: 12px; }
.assurances .row { display: flex; gap: 10px; align-items: center; font-family: var(--font-arabic); font-size: 14px; color: var(--text-2); }
.assurances svg { width: 16px; height: 16px; color: var(--gold-600); flex-shrink: 0; }

/* Product tabs */
.celia-tabs, .woocommerce-tabs.wc-tabs-wrapper { margin-top: 48px; }
.woocommerce-tabs ul.tabs { display: flex; gap: 22px; border-bottom: 1px solid var(--border-1); list-style: none; margin: 0; padding: 0; overflow-x: auto; justify-content: flex-end; }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a { display: inline-block; padding: 0 0 14px; font-family: var(--font-arabic); font-size: 15px; color: var(--text-3); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.woocommerce-tabs ul.tabs li.active a { color: var(--cb-crimson); border-bottom-color: var(--gold-500); }
.woocommerce-tabs .panel { padding: 28px 0; }
.woocommerce-tabs .panel, .woocommerce-tabs .panel p, .woocommerce-tabs .panel li { font-family: var(--font-arabic); font-size: 15px; color: var(--text-2); line-height: 2; }
.woocommerce-tabs .panel h2 { font-family: var(--font-display); font-weight: 600; color: var(--cb-crimson); font-size: 22px; margin-bottom: 16px; }

/* Size table */
.size-table { width: 100%; border-collapse: collapse; font-family: var(--font-arabic); }
.size-table th { padding: 14px 16px; text-align: center; font-size: 13px; font-weight: 600; color: var(--cb-crimson); background: var(--cb-off-white); border-bottom: 1px solid var(--border-1); }
.size-table td { padding: 14px 16px; text-align: center; font-size: 14px; color: var(--text-2); border-bottom: 1px solid var(--border-1); }
.size-table td.size-num { color: var(--gold-700); font-weight: 700; }
.size-table .std-pill { display: inline-block; padding: 3px 12px; border-radius: var(--radius-pill); border: 1px solid var(--border-gold); font-size: 13px; color: var(--gold-700); }
.size-table-wrap { overflow-x: auto; border: 1px solid var(--border-1); border-radius: var(--radius-sm); }
.size-table-wrap table { min-width: 600px; }

/* Care tabs */
.care-tabs { background: var(--cb-white); border: 1px solid var(--border-gold); border-radius: var(--radius-sm); overflow: hidden; box-shadow: var(--shadow-sm); }
.care-tabs__nav { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--border-1); }
.care-tabs__nav button { flex: 1 1 200px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 16px; background: transparent; border: none; cursor: pointer; border-bottom: 2px solid transparent; font-family: var(--font-arabic); font-size: 15px; font-weight: 500; color: var(--text-2); transition: all var(--dur-fast) var(--ease-soft); }
.care-tabs__nav button svg { width: 17px; height: 17px; }
.care-tabs__nav button.is-active { background: var(--cb-off-white); color: var(--cb-crimson); border-bottom-color: var(--gold-500); }
.care-tabs__panel { padding: 32px clamp(20px,4vw,44px); }
.care-tabs__panel h3 { font-family: var(--font-display); font-weight: 600; font-size: 22px; color: var(--cb-crimson); margin-bottom: 20px; }
.care-tabs__panel ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.care-tabs__panel li { display: flex; gap: 12px; align-items: flex-start; font-family: var(--font-arabic); font-size: 15px; color: var(--text-2); line-height: 1.8; }
.care-tabs__panel li svg { width: 18px; height: 18px; color: var(--gold-600); flex-shrink: 0; margin-top: 4px; }

/* ============================================================
   Cart drawer (mini-cart)
   ============================================================ */
.cart-drawer { position: fixed; inset: 0; z-index: 70; visibility: hidden; }
.cart-drawer__scrim { position: absolute; inset: 0; background: rgba(0,0,0,0.5); opacity: 0; transition: opacity var(--dur-base) var(--ease-soft); }
.cart-drawer__panel { position: absolute; top: 0; inset-inline-end: 0; height: 100%; width: min(440px, 92vw); background: var(--cb-white); border-inline-start: 1px solid var(--border-1); transform: translateX(100%); transition: transform var(--dur-base) var(--ease-out); display: flex; flex-direction: column; }
[dir="rtl"] .cart-drawer__panel { transform: translateX(-100%); inset-inline-end: auto; inset-inline-start: 0; }
.cart-drawer.is-open { visibility: visible; }
.cart-drawer.is-open .cart-drawer__scrim { opacity: 1; }
.cart-drawer.is-open .cart-drawer__panel { transform: translateX(0); }
.cart-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--border-1); background: var(--cb-crimson); }
.cart-drawer__head h2 { font-family: var(--font-display); font-weight: 600; font-size: 22px; color: var(--gold-500); }
.cart-drawer__head .icon-link { color: var(--gold-500); }
.cart-drawer__body { flex: 1; overflow-y: auto; padding: 24px; }
.cart-drawer__foot { padding: 24px; border-top: 1px solid var(--border-1); }

.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart__empty-message { font-family: var(--font-arabic); color: var(--text-3); text-align: center; margin-top: 40px; }
.woocommerce-mini-cart-item { display: flex; gap: 14px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--border-1); position: relative; }
.woocommerce-mini-cart-item img { width: 72px; height: 90px; object-fit: cover; border-radius: var(--radius-sm); order: -1; }
.woocommerce-mini-cart-item a:not(.remove) { color: var(--text-1); font-family: var(--font-arabic); font-size: 15px; }
.woocommerce-mini-cart-item .quantity { color: var(--text-3); font-family: var(--font-sans); font-size: 14px; display: block; margin-top: 6px; }
.woocommerce-mini-cart-item .remove_from_cart_button { position: absolute; top: 0; inset-inline-end: 0; color: var(--text-3); font-size: 18px; line-height: 1; }
.woocommerce-mini-cart-item .remove_from_cart_button:hover { color: var(--danger); }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; font-family: var(--font-arabic); color: var(--text-2); font-size: 16px; }
.woocommerce-mini-cart__total .woocommerce-Price-amount { font-size: var(--fs-total); color: var(--cb-crimson); }
.woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 10px; }

/* ============================================================
   Cart + Checkout pages
   ============================================================ */
.page-shell { padding-top: var(--space-10); min-height: 60vh; }
.page-title-lux { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-display); color: var(--cb-crimson); margin-bottom: 24px; }

.woocommerce-form, .woocommerce form .form-row { margin: 0; }
.celia-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.celia-field > label, .woocommerce form .form-row label { font-family: var(--font-arabic); font-size: 14px; color: var(--text-2); }
.celia-field .required, .woocommerce .required { color: var(--gold-600); border: 0; }
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number],
input[type=search], textarea, select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
  width: 100%; background: var(--cb-white); border: 1px solid var(--border-2);
  border-radius: var(--radius-sm); color: var(--cb-charcoal);
  font-family: var(--font-arabic); font-size: 15px; padding: 13px 14px; outline: none;
  transition: border-color var(--dur-fast) var(--ease-soft);
}
textarea { min-height: 96px; resize: vertical; line-height: 1.7; }
input:focus, textarea:focus, select:focus { border-color: var(--gold-500); }
input::placeholder, textarea::placeholder { color: var(--text-3); }
select { -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--text-3) 50%), linear-gradient(135deg, var(--text-3) 50%, transparent 50%); background-position: calc(0% + 18px) 22px, calc(0% + 23px) 22px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-inline-start: 38px; }
[dir="rtl"] select { background-position: calc(100% - 23px) 22px, calc(100% - 18px) 22px; padding-inline-start: 14px; padding-inline-end: 38px; }

.summary-box { background: var(--cb-off-white); border: 1px solid var(--border-gold); border-radius: var(--radius-sm); padding: 26px; }
.summary-box h2 { font-family: var(--font-display); font-weight: 600; font-size: 20px; color: var(--cb-crimson); margin-bottom: 18px; }
.summary-line { display: flex; gap: 12px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--border-1); }
.summary-line img { width: 52px; height: 64px; object-fit: cover; border-radius: var(--radius-sm); }
.summary-total { display: flex; justify-content: space-between; align-items: baseline; }
.summary-total .label { font-family: var(--font-arabic); font-size: 16px; color: var(--text-2); }
.summary-total .celia-amount, .summary-total .woocommerce-Price-amount { font-size: var(--fs-total); color: var(--cb-crimson); }

.woocommerce table.shop_table { border: 1px solid var(--border-1); border-radius: var(--radius-sm); border-collapse: collapse; width: 100%; background: var(--cb-white); overflow: hidden; }
.woocommerce table.shop_table th { font-family: var(--font-arabic); font-weight: 600; color: var(--cb-crimson); font-size: 13px; padding: 14px 16px; text-align: start; border-bottom: 1px solid var(--border-1); background: var(--cb-off-white); }
.woocommerce table.shop_table td { padding: 16px; border-top: 1px solid var(--border-1); color: var(--text-2); font-family: var(--font-arabic); }
.woocommerce table.shop_table img { width: 64px; border-radius: var(--radius-sm); }
.woocommerce .cart .product-remove a { color: var(--text-3); }
.woocommerce .cart-collaterals .cart_totals { background: var(--cb-off-white); border: 1px solid var(--border-gold); border-radius: var(--radius-sm); padding: 22px; }
.woocommerce .cart_totals h2 { font-family: var(--font-display); font-weight: 600; color: var(--cb-crimson); margin-bottom: 16px; }

.checkout-grid { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
.woocommerce-shipping-fields > h3, .woocommerce-additional-fields > h3, #ship-to-different-address span { font-family: var(--font-arabic); font-weight: 500; font-size: 15px; color: var(--text-2); margin: 8px 0 14px; }
.woocommerce-billing-fields > h3 { display: none; }
.woocommerce form .form-row { margin-bottom: 16px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 8px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--danger); }
.celia-checkout-size .form-row { margin-bottom: 0; }

.celia-checkout-extra { margin-top: 8px; }
/* Hidden mirror fields — the real wilaya/commune live in our own celia_wilaya /
   celia_commune fields; billing_state & billing_city are hidden inputs we sync. */
#billing_state_field, #billing_city_field, .celia-hidden-mirror { display: none !important; }
.celia-commune .woocommerce-input-wrapper { display: block; }
.yalidine-delivery .woocommerce-input-wrapper { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 6px; }
@media (min-width: 560px) { .yalidine-delivery .woocommerce-input-wrapper { grid-template-columns: 1fr 1fr; } }
.yalidine-delivery label.radio, .yalidine-delivery .woocommerce-input-wrapper > label {
  display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 14px 16px;
  border: 1px solid var(--border-2); border-radius: var(--radius-sm); background: var(--cb-white);
  color: var(--text-1); font-family: var(--font-arabic); font-size: 14px;
  transition: border-color var(--dur-fast) var(--ease-soft);
}
.yalidine-delivery input[type="radio"] { accent-color: var(--cb-crimson); width: 18px; height: 18px; }
.yalidine-delivery label:hover { border-color: var(--gold-500); }
.celia-center-wrap { margin-top: 4px; }
.woocommerce-checkout #payment { background: var(--cb-off-white); border: 1px solid var(--border-gold); border-radius: var(--radius-sm); padding: 20px; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0; padding: 0 0 12px; border-bottom: 1px solid var(--border-1); }
.woocommerce-checkout #payment .payment_box { background: var(--cb-white); border-radius: var(--radius-sm); color: var(--text-2); font-family: var(--font-arabic); font-size: 14px; }
.woocommerce-checkout #payment label { font-family: var(--font-arabic); color: var(--text-1); }
#place_order, .woocommerce #place_order { width: 100%; }
.woocommerce-info, .woocommerce-message, .woocommerce-error {
  background: var(--cb-off-white); border: 1px solid var(--border-1); border-inline-start: 3px solid var(--gold-500);
  border-radius: var(--radius-sm); padding: 14px 18px; font-family: var(--font-arabic); color: var(--text-2); list-style: none; margin-bottom: 18px;
}
.woocommerce-error { border-inline-start-color: var(--danger); }
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.product-info form.cart .single_add_to_cart_button {
  background: var(--cb-crimson); color: var(--gold-500); border-radius: var(--radius-pill);
  font-family: var(--font-sans); font-weight: 700; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase;
  padding: 14px 28px; border: 1.5px solid var(--cb-crimson); cursor: pointer; transition: all var(--dur-base) var(--ease-soft);
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.product-info form.cart .single_add_to_cart_button:hover { background: var(--gold-500); color: var(--cb-crimson); border-color: var(--gold-500); }
.product-info form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 6px 0 0; }
.product-info form.cart .single_add_to_cart_button { flex: 1; min-width: 200px; min-height: 54px; box-shadow: var(--shadow-gold); }
.woocommerce .button.alt, .woocommerce #place_order { box-shadow: var(--shadow-gold); min-height: 54px; }

/* Variations table */
.product-info table.variations { width: 100%; border-collapse: collapse; margin-bottom: 18px; }
.product-info table.variations th { text-align: start; vertical-align: middle; font-family: var(--font-arabic); font-size: 15px; color: var(--text-1); padding: 8px 0; width: 90px; font-weight: 600; }
.product-info table.variations td { padding: 8px 0; }
.product-info .reset_variations { font-family: var(--font-arabic); font-size: 13px; color: var(--text-3); }
.product-info .product_meta { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border-1); font-family: var(--font-arabic); font-size: 13px; color: var(--text-3); }
.product-info .product_meta a { color: var(--text-2); }
.product-info .product_meta a:hover { color: var(--gold-600); }
.product-info .stock { font-family: var(--font-arabic); font-size: 13px; color: var(--green-text); }

/* Reviews / stars */
.woocommerce span.onsale, .product-gallery .onsale { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; min-height: 0; line-height: 1; background: var(--cb-crimson); color: var(--gold-300); border-radius: var(--radius-pill); padding: 5px 12px; font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin: 0; }
.woocommerce .star-rating { color: var(--gold-500); }
.woocommerce #reviews .comment-text { background: var(--cb-off-white); border: 1px solid var(--border-1); border-radius: var(--radius-sm); padding: 18px; }
.related.products > h2, .upsells.products > h2 { text-align: center; font-family: var(--font-display); font-weight: 600; font-size: clamp(24px,4vw,32px); color: var(--cb-crimson); margin: 56px 0 28px; }

/* Product attributes table */
.woocommerce-product-attributes, table.shop_attributes {
  width: 100%; border-collapse: separate; border-spacing: 0;
  border: 1px solid var(--border-1); border-radius: var(--radius-sm); overflow: hidden;
  font-family: var(--font-arabic); background: var(--cb-white); margin: 4px 0 8px;
}
.woocommerce-product-attributes tr:nth-child(even), table.shop_attributes tr:nth-child(even) { background: var(--cb-off-white); }
.woocommerce-product-attributes th, .woocommerce-product-attributes td, table.shop_attributes th, table.shop_attributes td { padding: 16px 20px; border: 0; border-bottom: 1px solid var(--border-1); font-size: 15px; vertical-align: middle; text-align: start; }
.woocommerce-product-attributes tr:last-child th, .woocommerce-product-attributes tr:last-child td, table.shop_attributes tr:last-child th, table.shop_attributes tr:last-child td { border-bottom: 0; }
.woocommerce-product-attributes th, table.shop_attributes th { width: 38%; color: var(--gold-700); font-weight: 600; background: rgba(201,168,76,0.07); white-space: nowrap; }
.woocommerce-product-attributes td, table.shop_attributes td { color: var(--text-1); }

/* Bottom-of-page product sections */
.product-extra { margin-top: 56px; }
.product-extra + .product-extra { margin-top: 48px; }
.product-extra__head { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.product-extra__head .celia-rule { width: 32px; }
.product-extra__head h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(24px,4vw,32px); color: var(--cb-crimson); }
.shipping-policy { display: grid; grid-template-columns: 1fr; gap: 16px; }
.shipping-policy__card { background: var(--cb-off-white); border: 1px solid var(--border-gold); border-radius: var(--radius-sm); padding: 24px; }
.shipping-policy__card h3 { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 600; font-size: 19px; color: var(--cb-crimson); margin-bottom: 16px; }
.shipping-policy__card h3 svg { width: 18px; height: 18px; color: var(--gold-600); }
.shipping-policy__card ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.shipping-policy__card li { display: flex; gap: 10px; align-items: flex-start; font-family: var(--font-arabic); font-size: 14px; color: var(--text-2); line-height: 1.8; }
.shipping-policy__card li svg { width: 16px; height: 16px; color: var(--gold-600); flex-shrink: 0; margin-top: 4px; }
@media (min-width: 760px) { .shipping-policy { grid-template-columns: 1fr 1fr; gap: 20px; } }

/* ============================================================
   My Account
   ============================================================ */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 1fr; gap: 24px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-MyAccount-navigation li a { display: inline-flex; padding: 10px 18px; border: 1px solid var(--border-gold); border-radius: var(--radius-pill); font-family: var(--font-arabic); font-size: 14px; color: var(--text-2); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: var(--cb-crimson); color: var(--gold-500); border-color: var(--cb-crimson); }
.woocommerce-MyAccount-content { font-family: var(--font-arabic); color: var(--text-2); }
.woocommerce-MyAccount-content a { color: var(--gold-700); }

/* Wishlist page */
.wishlist-empty { text-align: center; padding: 60px 0; }
.wishlist-empty p { font-family: var(--font-arabic); color: var(--text-3); margin-bottom: 20px; font-size: 16px; }

/* ============================================================
   Footer — crimson
   ============================================================ */
.site-footer { background: var(--footer-bg); margin-top: var(--space-20); }
.site-footer__inner { padding: 56px var(--gutter) 32px; max-width: var(--container); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 36px; border-bottom: 1px solid rgba(201,168,76,0.15); }
.footer-brand .cb-logo { margin-bottom: 14px; }
.footer-brand .celia-wordmark { color: var(--gold-500); font-size: 32px; }
.footer-brand p { font-family: var(--font-arabic); font-size: 14px; color: rgba(255,255,255,0.62); margin-top: 12px; max-width: 300px; line-height: 1.8; }
.footer-social { display: flex; gap: 12px; margin-top: 18px; }
.footer-social a { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(201,168,76,0.25); display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.65); transition: all var(--dur-fast) var(--ease-soft); }
.footer-social a:hover { border-color: var(--gold-500); color: var(--gold-500); background: rgba(201,168,76,0.08); transform: translateY(-2px); }
.footer-social svg { width: 17px; height: 17px; }
.footer-col h4 { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: var(--gold-500); margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid rgba(201,168,76,0.2); }
.footer-col a, .footer-col span { display: block; font-family: var(--font-arabic); font-size: 14px; color: rgba(255,255,255,0.62); margin-bottom: 11px; }
.footer-col a:hover { color: var(--gold-500); }
.site-footer__bar { }
.site-footer__bar-inner { max-width: var(--container); margin: 0 auto; padding: 18px var(--gutter); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-family: var(--font-arabic); font-size: 13px; color: rgba(255,255,255,0.45); }
.site-footer__bar .locale { direction: ltr; display: flex; gap: 10px; }
.site-footer__bar a { color: rgba(255,255,255,0.45); }
.site-footer__bar a:hover { color: var(--gold-500); }

/* ============================================================
   Responsive
   ============================================================ */
@media (min-width: 600px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .reviews-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .cb-cat-grid { grid-template-columns: repeat(4, 1fr); }
  .shop-head { flex-direction: row-reverse; justify-content: space-between; align-items: flex-end; }
  .checkout-grid { grid-template-columns: 1.5fr 1fr; gap: 40px; }
  .home-about__grid { grid-template-columns: 1fr 1fr; gap: 4rem; }
  .site-footer__inner { grid-template-columns: 1.6fr 1fr 1fr 1.4fr; gap: 40px; }
}
@media (min-width: 900px) {
  :root { --gutter: 24px; }
  .header-search { display: block; }
  .nav-row { display: block; }
  .product-detail { grid-template-columns: 1fr 1fr; gap: 48px; }
  .product-gallery { order: 2; }
  .product-info { order: 1; }
}
@media (min-width: 980px) {
  .product-grid { grid-template-columns: repeat(3, 1fr); gap: 28px; }
}
@media (max-width: 980px) {
  .cb-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .cb-features__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .cb-cat-grid { grid-template-columns: 1fr; }
  .cb-features__grid { grid-template-columns: 1fr; }
  .cb-newsletter__form { flex-direction: column; }
  .cb-newsletter__form input { border-radius: var(--radius-sm); }
}
@media (max-width: 899px) {
  .header-utility { padding: 12px 0; }
  .cb-logo-celia { font-size: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ============================================================
   Theme toggle bar (above the header)
   ============================================================ */
.theme-bar { background: var(--cb-crimson-2); }
.theme-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 38px; }
.theme-bar__note { font-family: var(--font-sans); font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(232,201,122,0.7); }
@media (max-width: 600px) { .theme-bar__note { display: none; } }
.theme-toggle {
  display: inline-flex; align-items: center; gap: 8px; margin-inline-start: auto;
  background: none; border: 1px solid rgba(201,168,76,0.28); border-radius: var(--radius-pill);
  cursor: pointer; color: var(--gold-300); padding: 8px 18px; min-height: 34px;
  font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  transition: color var(--dur-fast) var(--ease-soft), border-color var(--dur-fast) var(--ease-soft), background var(--dur-fast) var(--ease-soft);
}
.theme-toggle:hover { color: var(--cb-crimson); background: var(--gold-500); border-color: var(--gold-500); }
.theme-toggle svg { width: 15px; height: 15px; }
.theme-toggle__sun, .theme-toggle__dark-label { display: none; }
.theme-toggle__moon, .theme-toggle__light-label { display: inline-flex; }
[data-theme="dark"] .theme-toggle__moon, [data-theme="dark"] .theme-toggle__light-label { display: none; }
[data-theme="dark"] .theme-toggle__sun, [data-theme="dark"] .theme-toggle__dark-label { display: inline-flex; }

/* ============================================================
   Shop-by-category blocks (header kept + "view more")
   ============================================================ */
.cat-block { padding-top: var(--space-16); }
.cat-block:first-child { padding-top: 0; }
.cat-block__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid var(--border-gold); }
.cat-block__title { display: flex; align-items: baseline; gap: 12px; }
.cat-block__title h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(24px,4vw,34px); color: var(--cb-crimson); }
.cat-block__title .count { font-family: var(--font-arabic); font-size: 13px; color: var(--text-3); }
.cat-block__more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold-600); white-space: nowrap; }
.cat-block__more:hover { color: var(--cb-crimson); }
.cat-block__more svg { width: 15px; height: 15px; }

/* ============================================================
   Side category menu (hamburger) — heading inside the drawer
   ============================================================ */
.mobile-nav__title { font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-500); margin: 8px 2px 6px; }
.menu-toggle__bars { display: inline-flex; flex-direction: column; gap: 4px; }
.menu-toggle__bars span { display: block; width: 22px; height: 2px; background: var(--gold-500); border-radius: 2px; }

/* ============================================================
   DARK THEME — click the toggle to switch white → black.
   Chrome (crimson) and gold accents are preserved; surfaces &
   text invert. Tuned for the storefront chrome + main components.
   ============================================================ */
[data-theme="dark"] {
  --bg-page:      #120D10;
  --cb-white:     #1B1418;
  --cb-off-white: #221A1E;
  --surface-1:    #221A1E;
  --surface-2:    #1B1418;
  --text-1:       #F4ECE9;
  --text-2:       #CABFC1;
  --text-3:       #9A8E90;
  --border-1:     rgba(255,255,255,0.10);
  --border-2:     rgba(255,255,255,0.16);
  --border-gold:  rgba(201,168,76,0.40);
  --shadow-sm:    0 4px 24px rgba(0,0,0,0.5);
  --shadow-md:    0 10px 34px rgba(0,0,0,0.6);
  --shadow-lg:    0 18px 50px rgba(0,0,0,0.7);
}
/* Crimson headings → warm gold for contrast on dark surfaces */
[data-theme="dark"] .section-head h2,
[data-theme="dark"] .cb-section-header h2,
[data-theme="dark"] .home-section-head h2,
[data-theme="dark"] .cat-block__title h2,
[data-theme="dark"] .home-about__text h2,
[data-theme="dark"] .cb-newsletter h2,
[data-theme="dark"] .shop-head__title h1,
[data-theme="dark"] .page-title-lux,
[data-theme="dark"] .product-info h1.product_title,
[data-theme="dark"] .product-info .product_title,
[data-theme="dark"] .breadcrumb .current { color: var(--gold-300); }
[data-theme="dark"] .cb-cat-card__name,
[data-theme="dark"] .cb-feature__title,
[data-theme="dark"] .review-card .name,
[data-theme="dark"] .celia-card__title { color: var(--text-1); }
[data-theme="dark"] .celia-card__price .price,
[data-theme="dark"] .celia-card__price .woocommerce-Price-amount,
[data-theme="dark"] .celia-price,
[data-theme="dark"] .woocommerce-Price-amount,
[data-theme="dark"] .product-info .price,
[data-theme="dark"] .summary-total .woocommerce-Price-amount,
[data-theme="dark"] .woocommerce-mini-cart__total .woocommerce-Price-amount { color: var(--gold-300); }
/* Form fields readable on dark */
[data-theme="dark"] input[type=text], [data-theme="dark"] input[type=email],
[data-theme="dark"] input[type=tel], [data-theme="dark"] input[type=password],
[data-theme="dark"] input[type=number], [data-theme="dark"] input[type=search],
[data-theme="dark"] textarea, [data-theme="dark"] select,
[data-theme="dark"] .woocommerce form .form-row input.input-text,
[data-theme="dark"] .woocommerce form .form-row textarea { background: var(--surface-2); color: var(--text-1); }
[data-theme="dark"] .woocommerce-product-attributes th, [data-theme="dark"] table.shop_attributes th { color: var(--gold-300); }
[data-theme="dark"] .woocommerce table.shop_table th { color: var(--gold-300); }
/* Header search keeps its light pill — force dark text there */
[data-theme="dark"] .header-search input, [data-theme="dark"] .mobile-search input { color: var(--cb-charcoal); }

/* ---- Explicit dark SURFACES ----------------------------------------------
   Guarantees backgrounds actually flip to dark (independent of the custom-
   property cascade), so we never get light text on a white surface. Scoped to
   [data-theme="dark"] so light mode is untouched. Chrome (header/footer/marquee/
   banner) intentionally stays crimson. */
[data-theme="dark"] body { background-color: #120D10 !important; }
[data-theme="dark"] .celia-card,
[data-theme="dark"] .cb-cat-card,
[data-theme="dark"] .review-card,
[data-theme="dark"] .summary-box,
[data-theme="dark"] .care-tabs,
[data-theme="dark"] .product-gallery,
[data-theme="dark"] .celia-chip,
[data-theme="dark"] .icon-well,
[data-theme="dark"] .celia-qty,
[data-theme="dark"] .cart-drawer__panel,
[data-theme="dark"] .woocommerce table.shop_table,
[data-theme="dark"] .woocommerce-product-attributes,
[data-theme="dark"] table.shop_attributes { background-color: #1B1418 !important; }
[data-theme="dark"] .celia-card__media,
[data-theme="dark"] .section--shade,
[data-theme="dark"] .cb-features,
[data-theme="dark"] .cb-newsletter,
[data-theme="dark"] .woocommerce-info,
[data-theme="dark"] .woocommerce-message,
[data-theme="dark"] .woocommerce-error,
[data-theme="dark"] .woocommerce-checkout #payment,
[data-theme="dark"] .cart_totals,
[data-theme="dark"] .size-table th,
[data-theme="dark"] .woocommerce table.shop_table th,
[data-theme="dark"] .woocommerce-product-attributes th,
[data-theme="dark"] table.shop_attributes th { background-color: #221A1E !important; }
[data-theme="dark"] input[type=text], [data-theme="dark"] input[type=email],
[data-theme="dark"] input[type=tel], [data-theme="dark"] input[type=password],
[data-theme="dark"] input[type=number], [data-theme="dark"] input[type=search],
[data-theme="dark"] textarea, [data-theme="dark"] select { background-color: #1B1418 !important; color: var(--text-1); }
[data-theme="dark"] .woocommerce-tabs ul.tabs li.active a { color: var(--gold-300); }

