/* ═══════════════════════════════════════════════════════════════════
   OZERA PERFUME — Plum · Pink · White · Arabic RTL
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@300;400;500;600;700;800;900&family=Almarai:wght@300;400;700;800&display=swap');

/* ── Variables ─────────────────────────────────────────────────── */
:root {
  --plum:       #1a1a1a;
  --plum2:      #2a2a2a;
  --plum-dark:  #000000;
  --plum-light: rgba(0,0,0,.06);
  --btn:        #111111;   /* perfamix button — black */
  --btn-dark:   #000000;   /* button hover */
  --lav:        #f1f1f1;
  --herorose:   #f1f1f1;
  --salmon:     #FCD0CC;
  --pinksoft:   #f5f5f5;
  --pinkpromo:  #f5f5f5;
  --graybg:     #F2F2F2;
  --gray100:    #F5F6F6;
  --white:      #FFFFFF;
  --ink:        #383838;
  --ink60:      rgba(56,56,56,.6);
  --ink40:      rgba(56,56,56,.4);
  --display:    'Mulish', 'Almarai', sans-serif;
  --serif:      'Mulish', 'Almarai', sans-serif;
  --sans:       'Mulish', 'Almarai', 'Cairo', sans-serif;
  --r-hero:     28px;
  --r-card:     4px;
  --r-pill:     999px;
  --shadow-sm:  0 1px 0 rgba(0,0,0,.06);
  --shadow-card:0 4px 24px rgba(77,41,82,.1);
  --shadow-rise:0 18px 40px -18px rgba(77,41,82,.35);
  --t:          .28s ease;
  /* override parent */
  --first-color:  #1a1a1a;
  --second-color: #FCD0CC;
}

/* ── Base ──────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; overflow-x: hidden; }
body, body.ozera-dark {
  background:  var(--graybg) !important;
  color:       var(--ink)    !important;
  font-family: var(--sans)   !important;
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  direction: rtl;
  overflow-x: hidden;
  max-width: 100%;
}
/* English mode → left-to-right */
html[dir="ltr"] body, html[dir="ltr"] body.ozera-dark { direction: ltr !important; }
html[dir="ltr"] .oz-wrap, html[dir="ltr"] .oz-nav__list, html[dir="ltr"] .oz-topbar__inner { direction: ltr; }
/* Remove parent theme dark body styles */
.site { background: var(--graybg) !important; max-width: 100%; overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
::selection { background: var(--lav); color: var(--plum); }

h1,h2,h3,h4,h5,h6 {
  font-family: var(--display) !important;
  color: var(--plum) !important;
  font-weight: 700 !important;
  margin-bottom: .5rem;
}
p { color: var(--ink) !important; }
a { color: var(--plum); transition: color var(--t); }
a:hover { color: var(--plum-dark); text-decoration: none; }

/* ── Topbar buttons ────────────────────────────────────────────── */
.oz-topbar-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: none;
  color: rgba(255,255,255,.88) !important;
  font-size: 12px;
  font-family: var(--sans);
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  letter-spacing: .03em;
  transition: color var(--t);
  white-space: nowrap;
}
.oz-topbar-btn:hover { color: #fff !important; }

/* Topbar text always clearly visible (light on the plum bar) — not only on hover */
.oz-topbar__center,
.oz-topbar .oz-topbar-btn,
.oz-topbar .oz-lang-toggle,
.oz-topbar__right > a,
.oz-topbar__left > button { color: rgba(255,255,255,.95) !important; opacity: 1 !important; }
.oz-topbar .oz-topbar-btn svg, .oz-topbar .oz-lang-toggle svg { color: rgba(255,255,255,.95); }
.oz-social__link svg { display: block; margin: auto; }

/* Inline language switch — segmented toggle, always visible (no dropdown/hover) */
.oz-langswitch { display: inline-flex; gap: 2px; background: rgba(255,255,255,.16); border-radius: 999px; padding: 3px; }
.oz-langswitch__opt { color: #fff !important; opacity: .85; text-decoration: none !important; font-size: 12px; font-weight: 700; padding: 4px 13px; border-radius: 999px; line-height: 1.5; transition: var(--t); }
.oz-langswitch__opt:hover { opacity: 1; }
.oz-langswitch__opt.is-active { background: #fff; color: var(--plum) !important; opacity: 1; }

/* ── Language Dropdown ─────────────────────────────────────────── */
.oz-lang-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}
/* الزر دايماً ظاهر مثل زر العملة */
.oz-lang-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  background: none;
  border: none;
  color: rgba(255,255,255,.95) !important;
  font-size: 12px;
  font-family: var(--sans);
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  letter-spacing: .03em;
  opacity: 1 !important;
  white-space: nowrap;
  transition: color var(--t);
}
.oz-lang-toggle:hover { color: #fff !important; }
.oz-lang-chevron {
  transition: transform var(--t);
  display: inline-block;
}
.oz-lang-dropdown.is-open .oz-lang-chevron {
  transform: rotate(180deg);
}

.oz-lang-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 140px;
  background: var(--white);
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(77,41,82,.22), 0 2px 8px rgba(0,0,0,.1);
  overflow: hidden;
  z-index: 999;
  padding: 6px;
  border: 1px solid rgba(77,41,82,.1);
  /* small arrow */
  &::before {
    content: '';
    position: absolute;
    top: -6px; right: 14px;
    width: 12px; height: 12px;
    background: var(--white);
    border-top: 1px solid rgba(77,41,82,.1);
    border-right: 1px solid rgba(77,41,82,.1);
    transform: rotate(-45deg);
  }
}
.oz-lang-dropdown.is-open .oz-lang-menu {
  display: block;
  animation: oz-dropdown-in .18s ease;
}
@keyframes oz-dropdown-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.oz-lang-option {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 7px;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  text-decoration: none !important;
  transition: background var(--t), color var(--t) !important;
  direction: rtl;
  white-space: nowrap;
}
.oz-lang-option:hover {
  background: var(--lav) !important;
  color: var(--plum) !important;
}
.oz-lang-option--active {
  color: var(--plum) !important;
  font-weight: 700 !important;
}
.oz-lang-option--active svg { color: var(--plum); flex-shrink: 0; }

/* hide old switcher remnants */
.oz-lang-sep {
  color: rgba(255,255,255,.25);
  font-size: 11px;
  margin: 0 4px;
}

/* ── Wrap ──────────────────────────────────────────────────────── */
.oz-wrap {
  max-width: 1340px;
  margin-inline: auto;
  padding-inline: 1.25rem;
  width: 100%;
  box-sizing: border-box;
}

/* ── Link underline effect ─────────────────────────────────────── */
.oz-link-u { position: relative; }
.oz-link-u::after {
  content: '';
  position: absolute;
  right: 0; bottom: -3px;
  width: 0; height: 1.5px;
  background: var(--plum);
  transition: width var(--t);
}
.oz-link-u:hover::after { width: 100%; }

/* ── card-rise hover ───────────────────────────────────────────── */
.oz-card-rise {
  transition: transform var(--t), box-shadow var(--t);
  cursor: pointer;
}
.oz-card-rise:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-rise);
}

/* ══════════════════════════════════════════════════════════════════
   TOP UTILITY BAR
   ══════════════════════════════════════════════════════════════════ */
.oz-topbar {
  background: #111;
  color: #fff;
  font-size: 12px;
  letter-spacing: .04em;
}
.oz-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  gap: 1rem;
}
.oz-topbar__left,
.oz-topbar__right {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.oz-topbar__center {
  font-weight: 700;
  letter-spacing: .06em;
  font-size: 12px;
}
.oz-topbar a,
.oz-topbar button {
  color: #fff !important;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  opacity: .9;
  transition: opacity var(--t);
}
.oz-topbar a:hover,
.oz-topbar button:hover { opacity: 1; }

/* ══════════════════════════════════════════════════════════════════
   STICKY HEADER
   ══════════════════════════════════════════════════════════════════ */
#masthead.site-header,
.oz-header {
  background: var(--white) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 400 !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 0 !important;
  border: none !important;
}
.oz-header__main {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  height: 88px;
}

/* Logo */
.oz-logo { flex-shrink: 0; text-decoration: none !important; display: inline-flex; align-items: center; }
/* render the uploaded logo in solid black (the gold version clashed with the new look) */
.oz-logo .custom-logo, .oz-logo img.custom-logo { filter: brightness(0) !important; max-height: 46px !important; width: auto !important; height: auto !important; }
.oz-logo__name {
  display: block;
  font-family: var(--display) !important;
  font-size: 24px;
  color: var(--plum) !important;
  line-height: 1;
}
.oz-logo__name span { color: var(--salmon) !important; }
.oz-logo__sub {
  display: block;
  font-size: 9px;
  letter-spacing: .3em;
  color: var(--ink60) !important;
  margin-top: -2px;
  font-family: var(--sans) !important;
  font-weight: 400 !important;
}

/* Search bar */
.oz-search {
  flex: 1;
  display: flex;
  justify-content: center;
}
.oz-search__box {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 640px;
  min-height: 46px;
  background: #fff;
  border-radius: var(--r-pill);
  border: 1px solid #e4e2e7;
  overflow: hidden;
  transition: border-color var(--t), box-shadow var(--t);
}
.oz-search__box:focus-within { border-color: var(--btn); box-shadow: 0 0 0 3px rgba(81,12,118,.08); }
.oz-search__input {
  flex: 1;
  padding: 0 1.25rem;
  font-size: 14px;
  font-family: var(--sans);
  outline: none;
  border: none;
  background: transparent;
  color: var(--ink);
  text-align: right;
  direction: rtl;
}
.oz-search__input::placeholder { color: var(--ink40); }
.oz-search__btn {
  background: transparent;
  color: var(--ink60);
  border: none;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color var(--t);
}
.oz-search__btn svg { display: block; }
.oz-search__btn:hover { background: transparent; color: var(--btn); }

/* Header icons */
.oz-header__icons {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  color: var(--plum);
  margin-right: auto;
}
.oz-header__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 11px;
  color: var(--plum) !important;
  text-decoration: none !important;
  position: relative;
  transition: opacity var(--t);
  gap: 2px;
  font-weight: 600;
}
.oz-header__icon:hover { opacity: .7; }
.oz-cart-badge {
  position: absolute;
  top: -4px; left: -6px;
  background: #111;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  width: 17px; height: 17px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}
.oz-cart-badge.hidden { display: none; }

/* Burger */
.oz-burger {
  display: none;
  background: none; border: none;
  color: var(--plum); cursor: pointer;
  padding: 4px; line-height: 0;
}

/* Category nav */
.oz-nav {
  background: #111;
  border-top: none;
}
.oz-nav__list {
  list-style: none;
  margin: 0; padding: 0;
  display: flex;
  align-items: center;
  height: 48px;
  gap: 2rem;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}
.oz-nav__list a {
  color: #fff !important;
  text-decoration: none !important;
  position: relative;
}
.oz-nav__list a::after {
  content: '';
  position: absolute;
  right: 0; bottom: -4px;
  width: 0; height: 1.5px;
  background: #fff;
  transition: width var(--t);
}
.oz-nav__list a:hover { color: rgba(255,255,255,.75) !important; }
.oz-nav__list a:hover::after { width: 100%; }
.oz-nav__sale a { color: var(--salmon) !important; font-weight: 800; }
.oz-nav__sale a:hover { color: #fff !important; }
.oz-nav__sale a::after { background: var(--salmon); }

/* Mobile menu */
.oz-mobile-menu {
  display: none;
  border-top: 1px solid rgba(77,41,82,.1);
  background: var(--white);
}
.oz-mobile-menu.is-open { display: block; }
.oz-mobile-menu__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .25rem .5rem;
  padding: .75rem 0;
  list-style: none;
  margin: 0;
}
.oz-mobile-menu__grid a {
  display: block;
  padding: .5rem 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink) !important;
}
.oz-mobile-menu__grid a:hover { color: var(--plum) !important; }
.oz-mobile-search {
  padding-bottom: .75rem;
}
.oz-mobile-search .oz-search__box { max-width: 100%; }

/* ══════════════════════════════════════════════════════════════════
   PROMO STRIP
   ══════════════════════════════════════════════════════════════════ */
.oz-promo-strip {
  background: #111;
}
.oz-promo-strip__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  height: 40px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}
.oz-promo-strip a { color: #fff !important; position: relative; text-decoration: none !important; }
.oz-promo-strip a::after {
  content: ''; position: absolute; inset-inline-start: 0; bottom: -3px;
  width: 0; height: 1.5px; background: var(--plum); transition: width var(--t);
}
.oz-promo-strip a:hover::after { width: 100%; }
.oz-promo-strip__divider { color: rgba(77,41,82,.25); }

/* ══════════════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════════════ */
.oz-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
  transition: background var(--t), transform .15s;
}
.oz-btn:active { transform: scale(.97); }
.oz-btn--plum {
  background: var(--btn) !important;
  color: #fff !important;
  border-radius: var(--r-pill);
  padding: .75rem 1.75rem;
}
.oz-btn--plum:hover { background: var(--btn-dark) !important; color: #fff !important; }
.oz-btn--sm { padding: .55rem 1.25rem; font-size: 13px; }

/* WooCommerce buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button {
  background: var(--btn) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r-pill) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: .65rem 1.5rem !important;
  transition: background var(--t) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .checkout-button:hover {
  background: var(--btn-dark) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════════════ */
.oz-hero {
  padding: 1.75rem 0;
}
.oz-hero__card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: var(--r-hero);
  overflow: hidden;
  background: var(--herorose);
  min-height: 420px;
}
.oz-hero__left {
  position: relative;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden; /* prevent child overflow from breaking layout */
}

/* Hero button */
.oz-hero__btn {
  margin-top: .5rem;
  align-self: flex-start;
  max-width: fit-content;
  flex-shrink: 0;
}

.oz-hero__eyebrow {
  font-family: var(--serif) !important;
  font-style: italic;
  color: rgba(77,41,82,.8) !important;
  font-size: 15px;
  margin-bottom: .5rem;
  font-weight: 400 !important;
}
.oz-hero__title {
  font-family: 'Cairo', var(--display), sans-serif !important;
  font-size: clamp(40px, 6vw, 72px) !important;
  line-height: 1.05 !important;
  color: var(--plum) !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: -.01em;
}
.oz-hero__right {
  position: relative;
  min-height: 280px;
  background: var(--herorose);
  overflow: hidden;
}
.oz-hero__right img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.oz-hero__img-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--display);
  font-size: clamp(5rem, 15vw, 10rem);
  color: rgba(77,41,82,.12);
  letter-spacing: .1em;
}

/* ══════════════════════════════════════════════════════════════════
   SALE BANNER
   ══════════════════════════════════════════════════════════════════ */
.oz-sale {
  padding: 1.5rem 0;
}
.oz-sale__card {
  border-radius: 24px;
  background: var(--salmon);
  padding: 2.5rem 3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  overflow: hidden;
  position: relative;
}
.oz-sale__text { flex: 1; z-index: 1; }
.oz-sale__pct {
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 900;
  color: var(--plum);
  margin: 0;
}
.oz-sale__big {
  font-family: var(--display) !important;
  font-size: clamp(56px, 10vw, 120px) !important;
  line-height: 1 !important;
  color: rgba(255,255,255,.9) !important;
  font-weight: 400 !important;
  text-shadow: 0 3px 0 rgba(77,41,82,.2);
  margin: 0 !important;
}
.oz-sale__media {
  flex-shrink: 0;
  width: 280px;
  max-width: 100%;
  position: relative;
}
.oz-sale__media img { width: 100%; border-radius: 20px; }
.oz-sale__trusted {
  position: absolute;
  top: -24px; left: -8px;
  width: 110px; height: 110px;
  border-radius: 50%;
  background: var(--plum);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  box-shadow: 0 4px 20px rgba(77,41,82,.3);
}
.oz-sale__placeholder {
  width: 100%; height: 200px;
  border-radius: 20px;
  background: rgba(77,41,82,.15);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--display);
  font-size: 4rem;
  color: rgba(77,41,82,.3);
}

/* ══════════════════════════════════════════════════════════════════
   SECTION SCAFFOLD
   ══════════════════════════════════════════════════════════════════ */
.oz-section { padding: 3.5rem 0; }
.oz-section-head { text-align: center; margin-bottom: 2rem; }
.oz-section-eyebrow {
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  color: var(--ink60);
  display: block;
  margin-bottom: .25rem;
}
.oz-section-title {
  font-family: var(--display) !important;
  font-size: clamp(26px, 4vw, 40px) !important;
  color: var(--plum) !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   CATEGORY GRID
   ══════════════════════════════════════════════════════════════════ */
.oz-categories { padding: 3.5rem 0; }

/* رأس القسم: العنوان + أسهم */
.oz-cat-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.5rem; gap: 1rem;
}
.oz-cat-head .oz-section-title {
  font-family: var(--display) !important; color: var(--plum) !important;
  font-weight: 800 !important; font-size: clamp(22px, 3vw, 30px) !important;
  margin: 0 !important;
}
.oz-cat-arrows { display: flex; gap: 8px; flex-shrink: 0; }
.oz-cat-arr {
  width: 42px; height: 42px; border-radius: 50%;
  border: 1px solid var(--plum); background: #fff; color: var(--plum);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: var(--t);
}
.oz-cat-arr:hover { background: var(--plum); color: #fff; }
@media (max-width: 600px) { .oz-cat-arrows { display: none; } } /* الموبايل: سحب بالإصبع */

/* الكاروسيل الأفقي (RTL) */
.oz-cat-track {
  display: flex;
  gap: 1.1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.oz-cat-track::-webkit-scrollbar { display: none; }

.oz-cat-card {
  position: relative;
  border-radius: var(--r-card);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--graybg);
  display: block;
  text-decoration: none !important;
  transition: transform var(--t), box-shadow var(--t);
  /* عرض الكرت في الكاروسيل */
  flex: 0 0 clamp(240px, 30%, 340px);
  scroll-snap-align: start;
}
@media (max-width: 600px) {
  .oz-cat-card { flex: 0 0 78%; }   /* موبايل: كرت كبير + لمحة من التالي */
}
.oz-cat-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-rise); }
.oz-cat-card__bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .5s ease;
}
.oz-cat-card:hover .oz-cat-card__bg { transform: scale(1.05); }
.oz-cat-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,.1) 50%, transparent 100%);
}
.oz-cat-card__body {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
}
.oz-cat-card__name {
  font-family: var(--display) !important;
  font-size: 22px !important;
  color: #fff !important;
  font-weight: 400 !important;
  margin: 0 !important;
  line-height: 1.2;
}
.oz-cat-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: .5rem;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}
.oz-cat-card__placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--display);
  font-size: 4rem;
  color: rgba(77,41,82,.15);
}

/* ══════════════════════════════════════════════════════════════════
   PRODUCT CAROUSEL
   ══════════════════════════════════════════════════════════════════ */
.oz-carousel { padding: 3rem 0; }
.oz-carousel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}
.oz-carousel__title {
  font-family: var(--display) !important;
  font-size: clamp(22px, 3.5vw, 34px) !important;
  color: var(--plum) !important;
  font-weight: 400 !important;
  margin: 0 !important;
}
.oz-carousel__arrows { display: flex; gap: .5rem; }
.oz-carousel__arr {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1.5px solid rgba(0,0,0,.15);
  background: #fff;
  color: #1a1a1a;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background var(--t), color var(--t), border-color var(--t);
  line-height: 0;
}
.oz-carousel__arr:hover { background: #111; border-color: #111; color: #fff; }
.oz-carousel__track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: .5rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.oz-carousel__track::-webkit-scrollbar { display: none; }

/* Product card (carousel) */
.oz-pcard {
  flex-shrink: 0;
  width: 230px;
  background: var(--white);
  border-radius: var(--r-card);
  border: 1px solid rgba(0,0,0,.06);
  overflow: hidden;
  scroll-snap-align: start;
  transition: transform var(--t), box-shadow var(--t);
}
.oz-pcard:hover { transform: translateY(-6px); box-shadow: var(--shadow-rise); }
.oz-pcard__img {
  position: relative;
  aspect-ratio: 1;
  background: var(--graybg);
  overflow: hidden;
}
.oz-pcard__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.oz-pcard:hover .oz-pcard__img img { transform: scale(1.06); }
.oz-pcard__badge {
  position: absolute;
  top: .75rem; inset-inline-start: .75rem; inset-inline-end: auto;
  background: var(--plum);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: .25rem .65rem;
  border-radius: var(--r-pill);
}
.oz-pcard__badge--sale { background: #1a1a1a; color: #fff; }
.oz-pcard__badge--sold { background: #a82420; color: #fff; }
/* زرار Load More */
.oz-loadmore-wrap { text-align: center; margin: 2.5rem 0 1rem; width: 100%; }
.oz-loadmore {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  background: #111; color: #fff; border: none; cursor: pointer;
  font-weight: 700; font-size: 14px; letter-spacing: .02em;
  padding: .9rem 2.4rem; border-radius: var(--r-pill, 999px);
  transition: background var(--t), opacity var(--t);
}
.oz-loadmore:hover { background: #000; }
.oz-loadmore.is-loading { opacity: .55; pointer-events: none; }
.oz-loadmore.is-loading .oz-loadmore__txt { visibility: hidden; }
.oz-loadmore.is-loading::after {
  content: ""; position: absolute; width: 18px; height: 18px;
  border: 2px solid rgba(255,255,255,.35); border-top-color: #fff;
  border-radius: 50%; animation: oz-btn-spin .6s linear infinite;
}
.oz-loadmore { position: relative; }
/* تراص الشارات فوق بعض (خصم + نفد المخزون) */
.oz-pcard__badges {
  position: absolute; top: .75rem; inset-inline-start: .75rem; z-index: 3;
  display: flex; flex-direction: column; gap: .4rem; align-items: flex-start;
}
.oz-pcard__badges .oz-pcard__badge { position: static; }
/* شارات صفحة المنتج (أعلى يمين الصورة) */
.oz-product__gallery { position: relative; }
.oz-product__badges {
  position: absolute; top: 1rem; inset-inline-end: 1rem; z-index: 4;
  display: flex; flex-direction: column; gap: .5rem; align-items: flex-end;
}
.oz-product__badges .oz-pcard__badge { position: static; font-size: 13px; padding: .4rem 1rem; }
.oz-pcard__wish {
  position: absolute;
  top: .75rem; left: .75rem;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--plum);
  transition: background var(--t);
  line-height: 0;
}
.oz-pcard__wish:hover { background: #fff; }
.oz-pcard__body { padding: 1rem; }
.oz-pcard__brand {
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ink40) !important;
  margin: 0 0 .2rem !important;
  font-weight: 400 !important;
  font-family: var(--sans) !important;
}
.oz-pcard__name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin: 0 0 .2rem !important;
  font-family: var(--sans) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.oz-pcard__name a { color: inherit !important; text-decoration: none !important; }
.oz-pcard__type {
  font-size: 12px !important;
  color: var(--ink60) !important;
  margin: 0 !important;
  font-family: var(--sans) !important;
}
.oz-pcard__stars {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: .5rem 0 .4rem;
  direction: ltr;
}
.oz-pcard__tags {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}
.oz-pcard__tag {
  background: var(--lav);
  color: var(--plum);
  font-size: 11px;
  font-weight: 600;
  padding: .2rem .6rem;
  border-radius: var(--r-pill);
}
.oz-pcard__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.oz-pcard__price {
  font-size: 16px !important;
  font-weight: 900 !important;
  color: var(--ink) !important;
  margin: 0 !important;
  font-family: var(--sans) !important;
  direction: ltr;
  text-align: start;
}
.oz-pcard__price-old { color: var(--ink40) !important; text-decoration: line-through; font-weight: 500; font-size: 13px; margin-inline-end: 6px; }
.oz-pcard__price-now { color: var(--ink) !important; font-weight: 800; }
.oz-pcard__add {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--plum);
  color: #fff;
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background var(--t);
  line-height: 0;
}
.oz-pcard__add:hover { background: var(--plum-dark); }

/* ── WooCommerce shop page product cards ────────────────────────── */
.woocommerce ul.products { direction: rtl !important; }
.woocommerce ul.products li.product {
  background: var(--white) !important;
  border-radius: var(--r-card) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  padding: 0 !important;
  overflow: hidden;
  transition: transform var(--t), box-shadow var(--t) !important;
  text-align: right !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-rise) !important;
}
.woocommerce ul.products li.product img {
  width: 100% !important; margin: 0 !important;
  aspect-ratio: 1; object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  padding: .9rem 1rem .2rem !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price {
  color: var(--plum) !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  padding: 0 1rem !important;
  display: block;
  font-family: var(--sans) !important;
}
.woocommerce ul.products li.product .button {
  margin: .75rem 1rem 1rem !important;
  width: calc(100% - 2rem) !important;
  display: block !important;
  text-align: center !important;
  border-radius: var(--r-pill) !important;
}
.woocommerce span.onsale {
  background: var(--plum) !important;
  color: #fff !important;
  border-radius: var(--r-pill) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: .25rem .7rem !important;
  min-height: auto !important; min-width: auto !important;
  line-height: 1.4 !important;
  top: .75rem !important; right: .75rem !important; left: auto !important;
}
.woocommerce .star-rating { color: var(--plum) !important; direction: ltr; }

/* ══════════════════════════════════════════════════════════════════
   GIFT + PROMO CARDS
   ══════════════════════════════════════════════════════════════════ */
.oz-gift-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  padding: 2rem 0;
}
.oz-gift-card {
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 2rem;
  gap: 1rem;
}
.oz-gift-card--pink { background: var(--pinksoft); }
.oz-gift-card--gray { background: var(--gray100); position: relative; }
.oz-gift-card__text { flex: 1; z-index: 1; }
.oz-gift-card__eyebrow {
  font-family: var(--serif) !important;
  font-style: italic;
  font-size: 14px;
  color: rgba(77,41,82,.7) !important;
  display: block;
  margin-bottom: .35rem;
}
.oz-gift-card__title {
  font-family: var(--display) !important;
  font-size: 28px !important;
  color: var(--plum) !important;
  line-height: 1.2 !important;
  margin-bottom: 1.25rem !important;
  font-weight: 400 !important;
}
.oz-gift-card__img {
  width: 200px;
  max-width: 40%;
  object-fit: contain;
  align-self: flex-end;
}

/* Editor pick strip */
.oz-editor-pick {
  border-radius: 24px;
  background: var(--graybg);
  display: flex;
  align-items: center;
  padding: 1.75rem 2rem;
  gap: 1.5rem;
  margin: 1.5rem 0;
}
.oz-editor-pick__img { width: 90px; object-fit: contain; }
.oz-editor-pick__text { flex: 1; }
.oz-editor-pick__eyebrow {
  font-family: var(--serif) !important;
  font-style: italic;
  font-size: 14px;
  color: var(--ink60) !important;
  margin: 0 !important;
}
.oz-editor-pick__title {
  font-family: var(--display) !important;
  font-size: 22px !important;
  color: var(--plum) !important;
  margin: .25rem 0 .4rem !important;
  font-weight: 400 !important;
}
.oz-editor-pick__desc {
  font-size: 14px !important;
  color: var(--ink60) !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   NEWSLETTER
   ══════════════════════════════════════════════════════════════════ */
.oz-newsletter { padding: 3rem 0; }
.oz-newsletter__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.oz-newsletter__box {
  border-radius: 24px;
  background: var(--gray100);
  padding: 2.25rem;
}
.oz-newsletter__title {
  font-family: var(--display) !important;
  font-size: 24px !important;
  color: var(--plum) !important;
  margin-bottom: 1.25rem !important;
  font-weight: 400 !important;
}
.oz-newsletter__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-bottom: .75rem;
}
.oz-newsletter__input {
  border-radius: var(--r-pill);
  border: 1.5px solid rgba(77,41,82,.22);
  padding: .75rem 1.25rem;
  font-size: 14px;
  font-family: var(--sans);
  outline: none;
  width: 100%;
  transition: border-color var(--t);
  text-align: right;
  direction: rtl;
}
.oz-newsletter__input:focus { border-color: rgba(77,41,82,.55); }
.oz-newsletter__note {
  font-size: 11px !important;
  color: var(--ink40) !important;
  margin-top: .75rem !important;
  line-height: 1.6;
  max-width: 500px;
}
.oz-social { display: flex; gap: .75rem; margin-top: 1.25rem; justify-content: center; }
.oz-social__link {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--plum);
  color: #fff !important;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
  text-decoration: none !important;
  transition: opacity var(--t);
}
.oz-social__link:hover { opacity: .8; }

/* ══════════════════════════════════════════════════════════════════
   TRUST BAR + MARQUEE
   ══════════════════════════════════════════════════════════════════ */
.oz-trust-bar {
  background: #111;
  margin-top: 3rem;
}
.oz-trust-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 1rem 0;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}
.oz-marquee {
  height: 6px;
  background: repeating-linear-gradient(
    45deg,
    #1a1a1a 0, #1a1a1a 12px,
    #3a3a3a 12px, #3a3a3a 24px
  );
}

/* Empty cart / empty checkout — centered, perfamix-style */
.woocommerce-cart .cart-empty,
.woocommerce .wc-empty-cart-message,
.woocommerce-page .cart-empty {
  display: block !important;
  text-align: center !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  background: none !important; border: 0 !important;
  padding: 54px 16px 4px !important; margin: 0 auto !important; max-width: 600px;
}
.woocommerce-cart .cart-empty::before,
.woocommerce .wc-empty-cart-message::before {
  content: ""; display: block; width: 74px; height: 74px; margin: 0 auto 20px;
  background: center/contain no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cfcfcf' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/></svg>");
}
.woocommerce .return-to-shop {
  text-align: center !important; margin: 24px auto 72px !important;
}
.woocommerce .return-to-shop .button {
  display: inline-block !important; background: #111 !important; color: #fff !important;
  border: 0 !important; border-radius: 999px !important;
  padding: 14px 46px !important; font-weight: 700 !important; font-size: 15px !important;
}
/* stack + center the empty-cart wrapper (was side-by-side) */
.woocommerce-cart .woocommerce:has(.cart-empty),
.woocommerce-checkout .woocommerce:has(.cart-empty) {
  display: block !important; max-width: 640px; margin: 40px auto !important; text-align: center;
}
.woocommerce .cart-empty { box-shadow: none !important; width: auto !important; float: none !important; }
.woocommerce .return-to-shop { float: none !important; width: auto !important; }

/* ══════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════ */
#colophon.site-footer,
.oz-footer {
  background: var(--white) !important;
  border-top: none !important;
  padding: 0 !important;
  color: var(--ink) !important;
}
.oz-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 2.5rem;
  padding: 3rem 0;
  font-size: 13px;
}
.oz-footer__brand-name {
  font-family: var(--display);
  font-size: 22px;
  color: var(--plum) !important;
  display: block;
  margin-bottom: .75rem;
}
.oz-footer__brand-name span { color: var(--salmon); }
.oz-footer__brand-desc {
  color: var(--ink60) !important;
  line-height: 1.8;
  font-size: 13px !important;
  margin-bottom: 1.25rem !important;
}
.oz-footer__col h4 {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--ink) !important;
  margin-bottom: 1rem !important;
  border: none !important;
  padding: 0 !important;
}
.oz-footer__col ul {
  list-style: none;
  margin: 0; padding: 0;
}
.oz-footer__col ul li {
  padding: .35rem 0;
  border: none !important;
}
.oz-footer__col ul li a {
  font-size: 13px !important;
  color: var(--ink60) !important;
  text-decoration: none !important;
  transition: color var(--t) !important;
}
.oz-footer__col ul li a:hover { color: var(--plum) !important; }
.oz-footer__payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  flex-wrap: wrap;
  padding-bottom: 2rem;
  border-top: 1px solid rgba(0,0,0,.08);
  padding-top: 1.25rem;
}
.oz-footer__pay-label {
  font-size: 12px; font-weight: 700;
  color: var(--ink40);
  margin-left: .5rem;
}
.oz-footer__pay-img {
  height: 28px; border-radius: 4px;
  background: var(--graybg);
  padding: 2px 8px;
  font-size: 11px; font-weight: 700;
  color: var(--ink60);
  display: flex; align-items: center;
}

/* Mobile bottom toolbar (Shop | Cart) — perfamix-style, mobile/tablet only */
.oz-mobnav { display: none; }
@media (max-width: 1024px) {
  .oz-mobnav {
    display: flex;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
    background: #fff;
    border-top: 1px solid #ececec;
    box-shadow: 0 -2px 14px rgba(0,0,0,.07);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .oz-mobnav__item {
    flex: 1 1 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; padding: 9px 0 8px;
    color: #1a1a1a !important; text-decoration: none !important;
    font-size: 12px; font-weight: 700; font-family: var(--sans);
  }
  .oz-mobnav__item:active { opacity: .6; }
  .oz-mobnav__ic { position: relative; display: inline-flex; }
  .oz-mobnav__count {
    position: absolute; top: -7px; inset-inline-end: -11px;
    min-width: 17px; height: 17px; padding: 0 4px;
    background: #111; color: #fff; border-radius: 999px;
    font-size: 10px; font-weight: 800; line-height: 17px; text-align: center;
  }
  .oz-mobnav__count.is-empty { display: none; }
  body { padding-bottom: 58px; }
}

/* Back-to-top button */
.oz-totop {
  position: fixed; bottom: 76px; inset-inline-end: 16px; z-index: 1100;
  width: 44px; height: 44px; border-radius: 50%;
  background: #fff; border: 1px solid #e5e5e5; color: #111;
  box-shadow: 0 6px 18px rgba(0,0,0,.14); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transform: translateY(10px); transition: var(--t);
}
.oz-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.oz-totop:hover { background: #111; color: #fff; border-color: #111; }
@media (min-width: 1025px) { .oz-totop { bottom: 24px; } }

/* Cart hover preview (desktop only) — perfamix-style */
.oz-cart-wrap { position: relative; display: inline-flex; }
.oz-cart-hover {
  position: absolute; top: 100%; inset-inline-end: 0; z-index: 1200;
  width: 340px; max-width: 92vw; margin-top: 10px;
  background: #fff; border: 1px solid #ececec; border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.16); padding: 16px 18px;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s, transform .2s; text-align: start;
}
@media (hover: hover) and (min-width: 1025px) {
  .oz-cart-wrap:hover .oz-cart-hover { opacity: 1; visibility: visible; transform: none; }
}
@media (max-width: 1024px) { .oz-cart-hover { display: none !important; } }
.oz-cart-hover .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; max-height: 320px; overflow: auto; }
.oz-cart-hover li.mini_cart_item { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid #f1f1f1; position: relative; font-size: 13px; }
.oz-cart-hover li.mini_cart_item img { width: 48px; height: auto; border-radius: 6px; }
.oz-cart-hover li.mini_cart_item a:not(.remove) { color: var(--ink); font-weight: 600; text-decoration: none; }
.oz-cart-hover li.mini_cart_item .quantity { color: var(--ink60); font-weight: 700; }
.oz-cart-hover a.remove { margin-inline-start: auto; color: #aaa !important; font-size: 18px; line-height: 1; }
.oz-cart-hover .woocommerce-mini-cart__empty-message { color: var(--ink60); text-align: center; padding: 18px 0; margin: 0; }
.oz-cart-hover .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: 12px 0; margin: 0; border-top: 1px solid #eee; font-weight: 800; }
.oz-cart-hover .woocommerce-mini-cart__buttons { display: flex; gap: 8px; margin: 4px 0 0; padding: 0; }
.oz-cart-hover .woocommerce-mini-cart__buttons a { flex: 1; text-align: center; margin: 0; }

/* Bottom bar */
.oz-bottombar {
  background: #1c1c1c;
  color: #fff;
}
.oz-bottombar__inner {
  padding: 1.75rem 0;
  text-align: center;
}
.oz-bottombar__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: .75rem;
}
.oz-bottombar a { color: rgba(255,255,255,.8) !important; }
.oz-bottombar a:hover { color: #fff !important; }
.oz-bottombar__copy {
  font-size: 12px !important;
  color: rgba(255,255,255,.65) !important;
  margin: .4rem 0 0 !important;
}

/* Floating help */
.oz-float-help {
  position: fixed;
  bottom: 1.5rem; left: 1.5rem;
  z-index: 500;
  background: var(--plum);
  color: #fff;
  border: none; cursor: pointer;
  border-radius: var(--r-pill);
  padding: .75rem 1.25rem .75rem 1rem;
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--sans);
  font-size: 14px; font-weight: 700;
  box-shadow: 0 4px 20px rgba(77,41,82,.35);
  transition: background var(--t), transform var(--t);
}
.oz-float-help:hover { background: var(--plum-dark); transform: translateY(-2px); }

/* ══════════════════════════════════════════════════════════════════
   WooCommerce Global
   ══════════════════════════════════════════════════════════════════ */
.woocommerce-page { background: var(--graybg) !important; }
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.entry-title {
  font-family: var(--display) !important;
  color: var(--plum) !important;
}
.woocommerce form .form-row input,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: var(--white) !important;
  border: 1.5px solid rgba(77,41,82,.22) !important;
  border-radius: var(--r-pill) !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  padding: .65rem 1rem !important;
}
.woocommerce form .form-row label { color: var(--ink60) !important; font-size: 13px !important; }
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
  background: var(--lav) !important;
  border-top-color: var(--plum) !important;
  color: var(--plum) !important;
}
/* keep the empty-cart message clean (no notice box) */
.woocommerce .cart-empty.woocommerce-info,
.woocommerce-cart .cart-empty {
  background: none !important; border: 0 !important; box-shadow: none !important; color: var(--ink) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #111 !important; color: #fff !important; border-color: #111 !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: #f4f4f4 !important; color: #111 !important; border-color: #111 !important;
}
.woocommerce table.shop_table { border-color: rgba(77,41,82,.1) !important; }
.woocommerce .woocommerce-ordering select {
  border: 1.5px solid rgba(77,41,82,.22) !important;
  border-radius: var(--r-pill) !important;
  color: var(--ink) !important;
}
.widget-area .widget {
  background: var(--white) !important;
  border-radius: var(--r-card) !important;
  border: 1px solid rgba(77,41,82,.08) !important;
  padding: 1.5rem !important;
  margin-bottom: 1.25rem;
}
.widget-area .widget_title,
.widget-area .widgettitle {
  font-family: var(--display) !important;
  color: var(--plum) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  border-bottom: 1px solid rgba(77,41,82,.1) !important;
  padding-bottom: .65rem !important;
  margin-bottom: 1rem !important;
}
.widget-area a { color: var(--ink60) !important; }
.widget-area a:hover { color: var(--plum) !important; }

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .oz-nav { display: none; }
  .oz-burger { display: flex; }
  .oz-cat-grid { grid-template-columns: repeat(2,1fr); }
  .oz-gift-grid { grid-template-columns: 1fr; }
  .oz-newsletter__grid { grid-template-columns: 1fr; }
  .oz-footer__grid { grid-template-columns: 1fr 1fr; }
  .oz-hero__card { grid-template-columns: 1fr; }
  .oz-hero__right { min-height: 240px; }
  .oz-sale__card { flex-direction: column; text-align: center; }
  .oz-sale__media { width: 100%; max-width: 300px; }
  .oz-search { display: none; }
}
@media (max-width: 640px) {
  .oz-cat-grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .oz-newsletter__fields { grid-template-columns: 1fr; }
  .oz-footer__grid { grid-template-columns: 1fr; }
  .oz-pcard { width: 190px; }
  .oz-promo-strip__inner { gap: .75rem; font-size: 11px; }
  .oz-header__main { height: 68px; }
  .oz-sale__trusted { width: 80px; height: 80px; font-size: 10px; }

  /* Topbar mobile */
  .oz-topbar__center { display: none; }
  .oz-topbar__right a:last-child { display: none; }
  .oz-topbar-btn { font-size: 11px; gap: 3px; }
  .oz-topbar__inner { gap: .25rem; }
  .oz-topbar__left button:first-child { display: none; }

  /* Category strip: scroll horizontally on mobile (show all categories) */
  .oz-promo-strip__inner {
    gap: 1rem; justify-content: flex-start;
    overflow-x: auto; flex-wrap: nowrap; white-space: nowrap;
    -webkit-overflow-scrolling: touch; padding: 0 14px;
  }
  .oz-promo-strip__inner a { flex: 0 0 auto; }

  /* Hero mobile: kill grid entirely, stack as blocks */
  .oz-hero__card {
    display: block !important;
    border-radius: 18px !important;
    min-height: auto !important;
  }
  .oz-hero__left {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 2rem 1.25rem 1.5rem !important;
    min-height: auto !important;
  }
  .oz-hero__right {
    display: block !important;
    width: 100% !important;
    min-height: 200px !important;
    position: relative !important;
  }
  /* Font override for mobile Arabic - Cairo fits perfectly */
  .oz-hero__title {
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    word-break: normal !important;
  }
  .oz-hero__eyebrow { font-size: 13px; }

  /* Sale banner mobile */
  .oz-sale__card { padding: 2rem 1.25rem; }
  .oz-sale__big { font-size: clamp(48px, 16vw, 80px) !important; }
}

/* ── Mobile header overflow fix ─────────────────────────────────── */
@media (max-width: 768px) {
  .oz-header__main { gap: .4rem; }
  /* Hide text labels (text nodes) inside icons via font-size trick */
  .oz-header__icon {
    font-size: 0 !important; /* hides text nodes without affecting SVG */
    gap: 0;
    flex-direction: row;
  }
  .oz-header__icon svg { flex-shrink: 0; }
  .oz-cart-badge { font-size: 9px !important; } /* restore badge font */
  .oz-header__icons { gap: .6rem; }
  /* compact logo */
  .oz-logo__name { font-size: 18px !important; letter-spacing: .05em; white-space: nowrap; }
  .oz-logo__sub  { display: none; }
  .oz-logo { margin-top: 4px; }
  .oz-logo .custom-logo,
  .oz-logo img.custom-logo { max-height: 36px !important; width: auto !important; height: auto !important; }
}

/* Extra small: 320px */
@media (max-width: 360px) {
  .oz-topbar__left { gap: .5rem; }
  .oz-logo__name { font-size: 16px; }
  .oz-header__icons { gap: .5rem; }
  .oz-logo .custom-logo,
  .oz-logo img.custom-logo { max-height: 38px !important; }
}

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

/* ════════════════════════════════════════════════════════════════
   Ozera fixes (2026-06)
   ════════════════════════════════════════════════════════════════ */

/* (1) إخفاء قسم "تسوق حسب الفئة" (كاروسيل الفئات) */
.oz-categories { display: none !important; }

/* (2) قائمة تغيير اللغة — نص واضح ومقروء في كل الحالات (مش بس عند الوقوف بالماوس).
   كان النص بيرث اللون الأبيض من شريط الـ topbar فيختفي على الخلفية البيضاء. */
#oz-lang-menu, .oz-lang-menu { background: #FFFFFF !important; }
#oz-lang-menu .oz-lang-option,
.oz-lang-menu .oz-lang-option {
  color: #383838 !important;
  opacity: 1 !important;
}
#oz-lang-menu .oz-lang-option:hover,
#oz-lang-menu .oz-lang-option--active,
.oz-lang-menu .oz-lang-option:hover,
.oz-lang-menu .oz-lang-option--active {
  background: #f1f1f1 !important;
  color: #1a1a1a !important;
}

/* (3) الفوتر: إبقاء عمود البراند + السوشيال ميديا + الشريط السفلي الأسود فقط،
   وإزالة الأعمدة التلاتة (تسوق حسب الفئة / خدمة العملاء / حسابي) بكل محتوياتها. */
.oz-footer__grid { grid-template-columns: minmax(0, 560px) !important; justify-content: center !important; text-align: center; }
.oz-footer__col:not(:first-child) { display: none !important; }

/* (4) زر «أضف للمفضلة» في كروت المنتجات غير مفعّل (مفيش نظام مفضلة) —
   إخفاؤه لإزالة عنصر تفاعلي ميّت. */
.oz-pcard__wish { display: none !important; }

/* (5) إخفاء قسم النشرة البريدية في الصفحة الرئيسية (اشترك للحصول على عروض +
   بوكس "تواصل معنا") بناءً على طلب العميل. */
.oz-newsletter { display: none !important; }

/* (6) قائمة اللغة في الوضع الإنجليزي (LTR): الزرّ على يسار الشريط، فتفتح القائمة
   من اليسار بدل اليمين حتى لا تخرج خارج حافة الشاشة. */
html[dir="ltr"] .oz-lang-menu { left: 0; right: auto; }
html[dir="ltr"] .oz-lang-menu::before { left: 14px; right: auto; }

/* (7) خانة البحث تتبع اتجاه اللغة (كانت RTL ثابتة فتظهر "...Search" في الإنجليزي). */
html[dir="ltr"] .oz-search__input { direction: ltr; text-align: left; }

/* (8) ترتيب الهيدر: اللوجو على جهة، والأيقونات + زر القائمة على الجهة الأخرى
   بمسافات متساوية (إزالة margin-right:auto المتعارض). */
.oz-header__main { justify-content: space-between; }
.oz-header__icons { margin-right: 0; }
@media (max-width: 760px) {
  .oz-header__icons { gap: 1rem; }
}

/* (9) خانة البحث في قائمة الموبايل: ارتفاع مناسب للمس بدل الشريط الرفيع. */
.oz-mobile-search .oz-search__box { min-height: 48px; }
.oz-mobile-search .oz-search__input { min-height: 48px; }
.oz-mobile-search .oz-search__btn { display: flex; align-items: center; }

/* (10) نافذة "تمت الإضافة للسلة" بعد الإضافة من المتجر (View Cart / Continue). */
.oz-atc-modal { display: none; position: fixed; inset: 0; z-index: 9999; }
.oz-atc-modal.is-open { display: block; }
.oz-atc-modal__overlay { position: absolute; inset: 0; background: rgba(40,20,45,.5); }
.oz-atc-modal__box {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  background: #fff; border-radius: 16px; padding: 30px 26px 26px; width: min(92vw, 380px);
  text-align: center; box-shadow: 0 20px 60px rgba(77,41,82,.3);
}
.oz-atc-modal__x { position: absolute; top: 10px; inset-inline-end: 14px; background: none; border: 0; font-size: 26px; color: var(--ink60); cursor: pointer; line-height: 1; }
.oz-atc-modal__icon { width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 50%; background: var(--lav); color: var(--plum) !important; font-size: 28px; display: flex; align-items: center; justify-content: center; }
.oz-atc-modal__title { font-weight: 800; font-size: 17px; color: var(--plum) !important; margin: 0 0 20px; }
.oz-atc-modal__actions { display: flex; flex-direction: column; gap: 10px; }
.oz-atc-modal__actions .oz-btn { width: 100%; text-align: center; padding: 13px; border-radius: 999px; font-weight: 700; text-decoration: none !important; cursor: pointer; border: 1.5px solid transparent; }
.oz-atc-modal__actions .oz-btn--outline { background: #fff; border-color: var(--plum); color: var(--plum) !important; }

/* (11) صفحة الماركات: شبكة بطاقات (صورة منتج + اسم الماركة) تفتح كل عطورها. */
.oz-brands-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 18px; max-width: 1180px; margin: 30px auto; padding: 0 18px;
}
.oz-brand-card {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  background: #fff; border: 1px solid #ececec; border-radius: 14px; padding: 18px 12px;
  text-decoration: none !important; transition: box-shadow .2s, transform .2s;
}
.oz-brand-card:hover { box-shadow: 0 10px 30px rgba(77,41,82,.12); transform: translateY(-3px); }
.oz-brand-card__img {
  width: 100%; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center;
  background: var(--pinksoft); border-radius: 10px; overflow: hidden; margin-bottom: 12px;
}
.oz-brand-card__img img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.oz-brand-card__ph { font-size: 2.4rem; color: rgba(77,41,82,.2); }
.oz-brand-card__name { font-weight: 800; color: var(--plum) !important; font-size: 15px; line-height: 1.3; }
.oz-brand-card__count { font-size: 12px; color: var(--ink60) !important; margin-top: 3px; }
@media (max-width: 480px) { .oz-brands-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* (12) قسم "منتجات مميزة": شبكة كروت بتصميم الموقع + زرّين (أضف للعربة / اشترِ الآن). */
.oz-featured { padding: 6px 0 14px; }
.oz-featured-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
  max-width: 1180px; margin: 6px auto 0; padding: 0 18px;
}
@media (max-width: 1000px) { .oz-featured-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .oz-featured-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }
.oz-featured-grid .oz-pcard { width: auto; min-width: 0; flex: initial; }
.oz-fcard__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 3rem; color: rgba(77,41,82,.2); }
.oz-fcard__actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.oz-fcard__btn {
  display: block; width: 100%; text-align: center; padding: 11px 10px; border-radius: 999px;
  font-weight: 700; font-size: 13px; text-decoration: none !important; cursor: pointer;
  border: 1.5px solid transparent; transition: background var(--t), opacity var(--t);
}
.oz-fcard__btn--add { background: var(--btn); color: #fff !important; }
.oz-fcard__btn--add:hover { background: var(--btn-dark); }
.oz-fcard__btn--buy { background: #fff; color: #111 !important; border-color: #111; }
.oz-fcard__btn--buy:hover { background: #111; color: #fff !important; opacity: 1; }

/* perfamix-style: hide the action buttons, reveal them on card hover (pointer devices
   only — touch devices keep them visible). Collapses height when idle so the card stays
   compact like perfamix, then expands on hover. */
@media (min-width: 1025px) {
  .oz-pcard .oz-fcard__actions {
    max-height: 0; opacity: 0; margin-top: 0; overflow: hidden; pointer-events: none;
    transition: max-height .28s ease, opacity .2s ease, margin-top .28s ease;
  }
  .oz-pcard:hover .oz-fcard__actions,
  .oz-pcard:focus-within .oz-fcard__actions {
    max-height: 160px; opacity: 1; margin-top: 12px; pointer-events: auto;
  }
}
/* زر "عرض كل المنتجات" تحت قسم المميزة */
.oz-featured__more { text-align: center; margin-top: 26px; }
.oz-featured__more-btn { display: inline-block; padding: 14px 44px; border-radius: 999px; font-weight: 800; font-size: 15px; color: #fff !important; text-decoration: none !important; }

/* (13) Mini-cart drawer — سلة منزلقة تفتح عند الضغط على الكارت أو بعد الإضافة. */
.oz-minicart { position: fixed; inset: 0; z-index: 10000; visibility: hidden; }
.oz-minicart.is-open { visibility: visible; }
.oz-minicart__overlay { position: absolute; inset: 0; background: rgba(40,20,45,.5); opacity: 0; transition: opacity .25s; }
.oz-minicart.is-open .oz-minicart__overlay { opacity: 1; }
.oz-minicart__panel {
  position: absolute; top: 0; bottom: 0; right: 0; width: min(92vw, 400px);
  background: #fff; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .28s ease;
  box-shadow: -8px 0 40px rgba(0,0,0,.18);
}
.oz-minicart.is-open .oz-minicart__panel { transform: translateX(0); }
.oz-minicart__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #eee; flex: 0 0 auto; }
.oz-minicart__title { font-weight: 800; font-size: 17px; color: var(--plum) !important; }
.oz-minicart__x { background: none; border: 0; font-size: 28px; line-height: 1; color: var(--ink60); cursor: pointer; }
.oz-minicart__body { flex: 1 1 auto; overflow-y: auto; padding: 8px 20px 20px; }
/* ملاحظة: WooCommerce بيستبدل .widget_shopping_cart_content عبر الـ fragments،
   فبنربط القواعد بـ .oz-minicart (الثابت) مش .oz-minicart__body عشان متتلغيش بعد الإضافة. */
.oz-minicart .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 100%; }
.oz-minicart .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; flex: 1 1 auto; }
.oz-minicart .woocommerce-mini-cart__empty-message { color: var(--ink60); padding: 40px 0; text-align: center; }
.oz-minicart li.mini_cart_item {
  position: relative; list-style: none; padding: 14px 0; padding-inline-end: 30px;
  border-bottom: 1px solid #f0eaf1; min-height: 76px;
}
.oz-minicart li.mini_cart_item img {
  width: 58px !important; height: 58px !important; object-fit: contain;
  background: var(--pinksoft); border-radius: 8px; float: right; margin: 0 0 0 12px !important;
}
html[dir="ltr"] .oz-minicart li.mini_cart_item img { float: left; margin: 0 12px 0 0 !important; }
.oz-minicart li.mini_cart_item a:not(.remove) { color: var(--plum) !important; text-decoration: none; font-weight: 600; font-size: 14px; line-height: 1.45; display: block; }
.oz-minicart li.mini_cart_item .quantity { display: block; color: var(--ink60); font-size: 13px; font-weight: 700; margin-top: 5px; }
.oz-minicart a.remove {
  position: absolute; inset-inline-end: 0; top: 16px; width: 24px; height: 24px;
  line-height: 22px; text-align: center; border-radius: 50%; background: var(--pinksoft);
  color: var(--plum2) !important; font-size: 16px; text-decoration: none;
}
.oz-minicart .woocommerce-mini-cart__total {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  padding: 16px 0; font-size: 16px; border-top: 2px solid var(--plum-light); margin-top: 6px;
}
.oz-minicart .woocommerce-mini-cart__total strong { color: var(--plum); }
.oz-minicart .woocommerce-mini-cart__total .amount { color: var(--plum); font-weight: 800; }
.oz-minicart .woocommerce-mini-cart__buttons { display: flex; gap: 10px; margin: 6px 0 0; padding: 0; }
.oz-minicart .woocommerce-mini-cart__buttons a {
  flex: 1; text-align: center; padding: 13px 8px; border-radius: 999px;
  font-weight: 700; font-size: 14px; text-decoration: none !important; margin: 0;
}
.oz-minicart .woocommerce-mini-cart__buttons a.button:not(.checkout) { background: #fff; border: 1.5px solid var(--plum); color: var(--plum) !important; }
.oz-minicart .woocommerce-mini-cart__buttons a.checkout { background: var(--plum); color: #fff !important; border: 1.5px solid var(--plum); }
.oz-minicart select.oz-mini-qty {
  min-height: 32px; border: 1px solid #e5e5e5; border-radius: 6px; padding: 0 8px;
  font-size: 13px; font-weight: 600; background: #fff; color: var(--ink); cursor: pointer; vertical-align: middle;
}
.oz-minicart li.mini_cart_item .quantity { margin-top: 6px; }

/* ════════════════════════════════════════════════════════════════
   Ozera fix (2026-06): حالات AJAX لأزرار "أضف للعربة" + تداخلات RTL
   ════════════════════════════════════════════════════════════════ */
/* (1) منع تمدّد الزر أثناء loading/added + إخفاء سبينر WooCommerce الافتراضي */
/* Neutralize the parent theme's full-screen ".loading" preloader, which leaks onto
   WooCommerce's add-to-cart button loading state (it turned the button into a fixed
   white full-screen overlay → the big purple-circle glitch). Keep it a normal inline
   button and show a clean inline spinner instead — perfamix-style. */
.oz-fcard__btn.loading, .oz-fcard__btn.added,
.oz-pcard__add.loading, .oz-pcard__add.added,
.add_to_cart_button.loading, .add_to_cart_button.added {
  position: relative !important;
  inset: auto !important;
  width: auto !important; height: auto !important; min-width: 0 !important;
  z-index: auto !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  background-color: var(--btn) !important;
  color: #fff !important;
  opacity: 1 !important; transform: none !important; animation: none !important;
}
/* During the AJAX request: hide the label, show a small spinner */
.oz-fcard__btn.loading, .oz-pcard__add.loading, .add_to_cart_button.loading {
  color: transparent !important; pointer-events: none;
}
.oz-fcard__btn.loading::before, .oz-pcard__add.loading::before, .add_to_cart_button.loading::before {
  content: none !important; display: none !important;
}
.oz-fcard__btn.loading::after,
.oz-pcard__add.loading::after,
.add_to_cart_button.loading::after {
  content: "" !important; display: block !important;
  position: absolute !important; top: 50% !important; left: 50% !important;
  width: 16px !important; height: 16px !important; margin: -8px 0 0 -8px !important;
  border: 2px solid rgba(255,255,255,.45) !important; border-top-color: #fff !important;
  border-radius: 50% !important; background: none !important;
  animation: oz-btn-spin .6s linear infinite !important;
}
@keyframes oz-btn-spin { to { transform: rotate(360deg); } }

/* ── Checkout: restyle the update_checkout (blockUI) spinner to a clean small
   ring like the add-to-cart button. WC's default overlay throbber is a faint
   gray blob; replace it with a crisp dark ring on a soft white veil. ── */
body.woocommerce-checkout .blockUI.blockOverlay {
  background: rgba(255,255,255,.65) !important;
  opacity: 1 !important;
  cursor: default !important;
}
body.woocommerce-checkout .blockUI.blockOverlay::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important; left: 50% !important;
  width: 24px !important; height: 24px !important;
  margin: -12px 0 0 -12px !important;
  border: 2px solid rgba(0,0,0,.15) !important;
  border-top-color: #111 !important;
  border-radius: 50% !important;
  background: none !important;
  box-shadow: none !important;
  animation: oz-btn-spin .6s linear infinite !important;
}

/* (2) إخفاء رابط "عرض السلة" (added_to_cart) اللي بيتحقن بعد الإضافة ويكسر التخطيط */
.oz-pcard a.added_to_cart,
.oz-fcard a.added_to_cart,
.oz-featured-grid a.added_to_cart,
.oz-pcard__body a.added_to_cart,
.oz-pcard__footer a.added_to_cart,
ul.products a.added_to_cart,
.oz-shop__main a.added_to_cart { display: none !important; }

/* (3) السلة المصغّرة: تثبيت اتجاه RTL ومنع تداخل الصورة مع زر الحذف */
.oz-minicart li.mini_cart_item { min-height: 78px; overflow: hidden; }
.oz-minicart li.mini_cart_item img { float: right; }
html[dir="ltr"] .oz-minicart li.mini_cart_item img { float: left; }
.oz-minicart a.remove { inset-inline-start: auto; inset-inline-end: 0; }

/* (14) إظهار خانة البحث دائماً على الموبايل (صف كامل تحت اللوجو/الأيقونات). */
@media (max-width: 760px) {
  .oz-header__main { flex-wrap: wrap; height: auto !important; row-gap: 10px; padding-bottom: 10px; }
  .oz-search { display: flex !important; order: 5; flex: 0 0 100%; }
  .oz-search__box { max-width: 100% !important; min-height: 44px; }
  /* البحث بقى ظاهر دايماً فوق، فمش محتاجينه مكرّر جوه قائمة الموبايل */
  .oz-mobile-menu .oz-mobile-search { display: none; }
}
