/* ═══════════════════════════════════════════════════════════════════
   MIRROR PERFUMES — brand layer (2026-09)
   Source: the "Mirror Perfumes" design system (tokens.json + README).
   Cream ground · near-black action · emerald logo · gold decoration only.
   Sharp corners, hairlines instead of shadows.
   Loaded LAST (functions.php, priority 999) so it wins over luxury /
   woocommerce / shop / product sheets. Remove the enqueue to revert.
   ═══════════════════════════════════════════════════════════════════ */

:root {
  /* Mirror tokens */
  --m-surface:        #F4EFE6;
  --m-surface-raised: #FBF8F2;
  --m-surface-sunken: #EAE2D4;
  --m-ink:            #1B1F1C;
  --m-ink-muted:      #585D58;
  --m-action:         #1B1F1C;
  --m-action-hover:   #000000;
  --m-on-action:      #F4EFE6;
  --m-emerald:        #1F3A31;
  --m-emerald-deep:   #13261F;
  --m-gold:           #B08D57;
  --m-gold-ink:       #76592D;
  --m-hairline:       #D6CDBC;
  --m-focus:          #1B1F1C;
  --m-success:        #2E6A4C;
  --m-error:          #A3342A;
  --m-shadow-lift:    0 12px 32px rgba(19, 38, 31, .12);
  --m-font-display:   'Marcellus', 'Tajawal', Georgia, serif;
  --m-font-sans:      'Jost', 'Tajawal', 'Helvetica Neue', Arial, sans-serif;
  --m-font-arabic:    'Tajawal', 'Noto Kufi Arabic', Tahoma, sans-serif;

  /* Re-point the legacy Ozera variables so every existing rule follows */
  --plum:        var(--m-ink);
  --plum2:       #2C312D;
  --plum-dark:   var(--m-action-hover);
  --plum-light:  rgba(27, 31, 28, .06);
  --btn:         var(--m-action);
  --btn-dark:    var(--m-action-hover);
  --lav:         var(--m-surface-sunken);
  --herorose:    var(--m-surface-sunken);
  --salmon:      var(--m-surface-sunken);
  --pinksoft:    var(--m-surface-raised);
  --pinkpromo:   var(--m-surface-raised);
  --graybg:      var(--m-surface);
  --gray100:     var(--m-surface-raised);
  --white:       var(--m-surface-raised);
  --ink:         var(--m-ink);
  --ink60:       var(--m-ink-muted);
  --ink40:       rgba(88, 93, 88, .75);
  --display:     var(--m-font-display);
  --serif:       var(--m-font-display);
  --sans:        var(--m-font-sans);
  --r-hero:      0px;
  --r-card:      2px;
  --r-pill:      0px;
  --shadow-sm:   none;
  --shadow-card: none;
  --shadow-rise: var(--m-shadow-lift);
  --t:           .2s ease-out;
  --first-color: var(--m-ink);
  --second-color: var(--m-surface-sunken);
}
/* Arabic: Tajawal first for everything (Marcellus/Jost have no Arabic) */
html[dir="rtl"] {
  --display: var(--m-font-arabic);
  --sans:    var(--m-font-arabic);
}

/* ── Base ─────────────────────────────────────────────────────────── */
body, body.ozera-dark, .site { background: var(--m-surface) !important; color: var(--m-ink) !important; }
html[dir="ltr"] body { font-size: 16px; line-height: 1.625; }
html[dir="rtl"] body { font-size: 17px; line-height: 1.75; }
::selection { background: var(--m-surface-sunken); color: var(--m-ink); }
h1, h2, h3, h4, h5, h6 { font-weight: 400 !important; color: var(--m-ink) !important; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3,
html[dir="rtl"] h4, html[dir="rtl"] h5, html[dir="rtl"] h6 { font-weight: 500 !important; letter-spacing: 0 !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
.button:focus-visible { outline: 2px solid var(--m-focus) !important; outline-offset: 2px !important; }

/* ── Logo lockup ──────────────────────────────────────────────────── */
.oz-mlogo { display: inline-flex !important; align-items: center; gap: 12px; text-decoration: none !important; color: var(--m-emerald) !important; flex-shrink: 0; }
.oz-mlogo__mark { width: auto !important; height: 40px !important; max-width: none !important; display: block; filter: none !important; }
.oz-mlogo__text { display: flex; flex-direction: column; line-height: 1; }
.oz-mlogo__word { font-family: 'Marcellus', Georgia, serif; font-size: 22px; letter-spacing: .2em; color: var(--m-emerald); padding-inline-start: .2em; }
.oz-mlogo__sub { font-family: 'Jost', sans-serif; font-size: 9.5px; font-weight: 500; letter-spacing: .38em; color: var(--m-emerald); margin-top: 6px; padding-inline-start: .38em; }
html[dir="rtl"] .oz-mlogo__sub { font-family: var(--m-font-arabic); font-size: 13px; letter-spacing: 0; padding: 0; margin-top: 5px; }
.oz-mlogo--footer, .oz-mlogo--footer .oz-mlogo__word, .oz-mlogo--footer .oz-mlogo__sub { color: var(--m-on-action) !important; }
.oz-mlogo--footer .oz-mlogo__mark { height: 48px !important; }
.oz-mlogo--footer { margin-bottom: 1.25rem; }
@media (max-width: 768px) {
  .oz-mlogo { gap: 8px; }
  .oz-mlogo__mark { height: 34px !important; }
  .oz-mlogo__word { font-size: 18px; }
  .oz-mlogo__sub { font-size: 8px; }
  html[dir="rtl"] .oz-mlogo__sub { font-size: 11px; }
}
@media (max-width: 360px) { .oz-mlogo__sub { display: none; } }

/* ── Announcement / top bar (action) ──────────────────────────────── */
.oz-topbar { background: var(--m-action) !important; color: var(--m-on-action) !important; }
.oz-topbar a, .oz-topbar button, .oz-topbar .oz-topbar-btn, .oz-topbar .oz-lang-toggle { color: var(--m-on-action) !important; }
.oz-topbar__inner { height: 36px; }

/* ── Header (cream raised + hairline) ─────────────────────────────── */
#masthead.site-header, .oz-header {
  background: var(--m-surface-raised) !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--m-hairline) !important;
}
.oz-header__main { height: 80px; }
.oz-header__icon { color: var(--m-ink) !important; }
.oz-cart-badge { background: var(--m-action) !important; color: var(--m-on-action) !important; border-radius: 0 !important; }

.oz-search__box {
  background: var(--m-surface-raised) !important;
  border: 1px solid var(--m-hairline) !important;
  border-radius: 2px !important;
}
.oz-search__box:focus-within { border-color: var(--m-ink) !important; box-shadow: none !important; }
.oz-search__input { color: var(--m-ink) !important; }
.oz-search__input::placeholder { color: var(--m-ink-muted) !important; }

/* Category strip → part of the cream header, uppercase tracked links */
.oz-promo-strip, .oz-catstrip { background: var(--m-surface-raised) !important; border-top: 1px solid var(--m-hairline); }
.oz-promo-strip__inner { color: var(--m-ink) !important; font-weight: 500 !important; height: 48px; }
.oz-promo-strip a { color: var(--m-ink) !important; }
html[dir="ltr"] .oz-promo-strip a { text-transform: uppercase; letter-spacing: .14em; font-size: 12.5px; }
html[dir="rtl"] .oz-promo-strip a { font-size: 15px; }
.oz-promo-strip a::after { background: var(--m-ink) !important; height: 1px !important; }
.oz-promo-strip__divider { color: transparent !important; }

.oz-mobile-menu { background: var(--m-surface-raised) !important; }
.oz-mobile-menu a { color: var(--m-ink) !important; }

/* ── Section titles ───────────────────────────────────────────────── */
.oz-section-title, .oz-carousel__title, .oz-cat-head .oz-section-title {
  font-family: var(--display) !important; font-weight: 400 !important; color: var(--m-ink) !important;
}
html[dir="ltr"] .oz-section-title, html[dir="ltr"] .oz-carousel__title { letter-spacing: .03em; }
html[dir="rtl"] .oz-section-title, html[dir="rtl"] .oz-carousel__title,
html[dir="rtl"] .oz-cat-head .oz-section-title { font-weight: 500 !important; }

/* Arrows: sharp squares */
.oz-carousel__arr, .oz-cat-arr {
  border-radius: 0 !important; width: 44px !important; height: 44px !important;
  background: transparent !important; border: 1px solid var(--m-hairline) !important; color: var(--m-ink) !important;
}
.oz-carousel__arr:hover, .oz-cat-arr:hover { background: var(--m-action) !important; border-color: var(--m-action) !important; color: var(--m-on-action) !important; }

/* ── Category cards ───────────────────────────────────────────────── */
.oz-cat-card { border-radius: 2px !important; box-shadow: none !important; }
.oz-cat-card:hover { transform: none !important; box-shadow: var(--m-shadow-lift) !important; }
.oz-cat-card__bg { background-color: var(--m-surface-sunken) !important; }
.oz-cat-card__placeholder { color: var(--m-gold) !important; }

/* ── Product card ─────────────────────────────────────────────────── */
.oz-pcard, .woocommerce ul.products li.product {
  background: var(--m-surface-raised) !important;
  border: 1px solid var(--m-hairline) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}
.oz-pcard:hover, .woocommerce ul.products li.product:hover { transform: none !important; box-shadow: var(--m-shadow-lift) !important; }
.oz-pcard__img { background: var(--m-surface-sunken) !important; border-radius: 0 !important; }
.oz-pcard:hover .oz-pcard__img img { transform: none !important; }
.oz-pcard__brand {
  color: var(--m-gold-ink) !important; font-weight: 500 !important;
  font-size: 11px !important; letter-spacing: .2em !important;
}
html[dir="rtl"] .oz-pcard__brand { letter-spacing: 0 !important; font-size: 13px !important; text-transform: none; }
/* Names in Jost, not Marcellus: Marcellus' old-style digits turn '1861' into 'l86l'. */
.oz-pcard__name { font-family: var(--sans) !important; font-weight: 400 !important; font-size: 16px !important; color: var(--m-ink) !important; }
html[dir="rtl"] .oz-pcard__name { font-weight: 500 !important; font-size: 16px !important; }
.oz-pcard__price, .oz-pcard__price-now { font-weight: 500 !important; font-variant-numeric: tabular-nums; color: var(--m-ink) !important; }
.oz-pcard__price-old { color: var(--m-ink-muted) !important; font-weight: 400 !important; }
.oz-pcard__badge, .oz-pcard__badge--sale {
  background: var(--m-action) !important; color: var(--m-on-action) !important;
  border-radius: 0 !important; font-weight: 500 !important; letter-spacing: .06em;
}
.oz-pcard__badge--sold { background: var(--m-error) !important; color: #fff !important; }
.oz-pcard__tag { background: transparent !important; border: 1px solid var(--m-hairline); color: var(--m-ink-muted) !important; border-radius: 0 !important; }
.oz-pcard__add { border-radius: 0 !important; background: var(--m-action) !important; color: var(--m-on-action) !important; }

/* ── Buttons: sharp, 48px, action fill ────────────────────────────── */
.oz-btn, .oz-btn--plum, .oz-fcard__btn,
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt, .woocommerce button.alt,
.woocommerce .checkout-button, .woocommerce #place_order, .woocommerce .single_add_to_cart_button,
.woocommerce .return-to-shop .button, .oz-atc-modal__actions .oz-btn {
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
html[dir="ltr"] .oz-btn, html[dir="ltr"] .oz-fcard__btn,
html[dir="ltr"] .woocommerce .button, html[dir="ltr"] .woocommerce .checkout-button,
html[dir="ltr"] .woocommerce #place_order, html[dir="ltr"] .woocommerce .single_add_to_cart_button {
  text-transform: uppercase; letter-spacing: .14em; font-size: 13px !important;
}
html[dir="rtl"] .oz-btn, html[dir="rtl"] .oz-fcard__btn, html[dir="rtl"] .woocommerce .button { letter-spacing: 0 !important; }

.oz-btn--plum, .oz-fcard__btn--add,
.woocommerce .button.alt, .woocommerce button.alt, .woocommerce input.button.alt,
.woocommerce .checkout-button, .woocommerce #place_order, .woocommerce .single_add_to_cart_button,
.wc-proceed-to-checkout a.checkout-button, .woocommerce .return-to-shop .button {
  background: var(--m-action) !important; color: var(--m-on-action) !important;
  border: 1px solid var(--m-action) !important; min-height: 48px;
}
.oz-btn--plum:hover, .oz-fcard__btn--add:hover,
.woocommerce .button.alt:hover, .woocommerce .checkout-button:hover, .woocommerce #place_order:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce .return-to-shop .button:hover {
  background: var(--m-action-hover) !important; border-color: var(--m-action-hover) !important; color: var(--m-on-action) !important;
}
.oz-fcard__btn { padding: 12px 10px !important; }
.oz-fcard__btn--buy { background: transparent !important; color: var(--m-action) !important; border: 1px solid var(--m-action) !important; }
.oz-fcard__btn--buy:hover { background: var(--m-action) !important; color: var(--m-on-action) !important; }
.woocommerce .button:not(.alt):not(.checkout-button):not(.single_add_to_cart_button) {
  background: transparent !important; color: var(--m-action) !important; border: 1px solid var(--m-action) !important;
}
.woocommerce .button:not(.alt):not(.checkout-button):not(.single_add_to_cart_button):hover {
  background: var(--m-action) !important; color: var(--m-on-action) !important;
}

/* ── Inputs ───────────────────────────────────────────────────────── */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce .quantity .qty, .oz-cart-qty,
.select2-container--default .select2-selection--single {
  border-radius: 2px !important; border: 1px solid var(--m-hairline) !important;
  background: var(--m-surface-raised) !important; color: var(--m-ink) !important;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus {
  border-color: var(--m-ink) !important; box-shadow: none !important;
}
.woocommerce form .form-row .required { color: var(--m-error) !important; }
.woocommerce-error, .woocommerce-message, .woocommerce-info {
  border-radius: 0 !important; background: var(--m-surface-raised) !important; border-top-color: var(--m-ink) !important;
}
.woocommerce-error { border-top-color: var(--m-error) !important; }
.woocommerce-message { border-top-color: var(--m-success) !important; }
.woocommerce .price_slider .ui-slider-range, .woocommerce .price_slider .ui-slider-handle { background: var(--m-action) !important; }

/* ── Trust bar → quiet hairline band with gold marks ──────────────── */
.oz-trust-bar { background: var(--m-surface-raised) !important; border-top: 1px solid var(--m-hairline); border-bottom: 1px solid var(--m-hairline); }
.oz-trust-bar__inner { color: var(--m-ink) !important; font-weight: 500 !important; }
html[dir="ltr"] .oz-trust-bar__inner { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; }
.oz-marquee { display: none !important; }

/* ── Footer (action / near-black) ─────────────────────────────────── */
#colophon.site-footer, .oz-footer { background: var(--m-action) !important; color: var(--m-on-action) !important; }
.oz-footer h4 { color: var(--m-on-action) !important; font-family: var(--sans) !important; font-weight: 500 !important; }
html[dir="ltr"] .oz-footer h4 { text-transform: uppercase; letter-spacing: .2em; font-size: 12px !important; }
.oz-footer a, .oz-footer li a { color: rgba(244, 239, 230, .78) !important; }
.oz-footer a:hover { color: var(--m-on-action) !important; }
.oz-footer p, .oz-footer__brand-desc, .oz-footer [style*="color:rgba(56,56,56"] { color: rgba(244, 239, 230, .72) !important; }
.oz-footer__grid { border-bottom: 1px solid rgba(214, 205, 188, .18); }
.oz-footer__pay-label { color: rgba(244, 239, 230, .72) !important; }
.oz-footer__pay-img {
  background: transparent !important; color: var(--m-on-action) !important;
  border: 1px solid rgba(214, 205, 188, .3) !important; border-radius: 0 !important;
}
.oz-social__link {
  border-radius: 0 !important; background: transparent !important;
  border: 1px solid rgba(214, 205, 188, .35) !important; color: var(--m-on-action) !important;
}
.oz-social__link:hover { border-color: var(--m-gold) !important; color: var(--m-gold) !important; }
.oz-bottombar { background: var(--m-action) !important; border-top: 1px solid rgba(214, 205, 188, .12); }
.oz-bottombar a, .oz-bottombar__copy { color: rgba(244, 239, 230, .7) !important; }

/* ── Mobile bottom bar / to-top / drawer ──────────────────────────── */
.oz-mobnav { background: var(--m-surface-raised) !important; border-top: 1px solid var(--m-hairline) !important; box-shadow: none !important; }
.oz-mobnav__item { color: var(--m-ink) !important; }
.oz-mobnav__count { background: var(--m-action) !important; color: var(--m-on-action) !important; }
.oz-totop { border-radius: 0 !important; background: var(--m-action) !important; color: var(--m-on-action) !important; }
.oz-minicart__panel, .oz-cart-hover { background: var(--m-surface-raised) !important; box-shadow: var(--m-shadow-lift) !important; border-radius: 0 !important; }
.oz-minicart__head { border-bottom: 1px solid var(--m-hairline) !important; }
.oz-minicart__title { font-family: var(--display) !important; font-weight: 400 !important; color: var(--m-ink) !important; }

/* ── Surfaces that used to be gray/white ──────────────────────────── */
.oz-editor-pick { background: var(--m-surface-raised) !important; border: 1px solid var(--m-hairline); border-radius: 2px !important; }
.oz-sale__card { background: var(--m-emerald-deep) !important; color: var(--m-on-action) !important; border-radius: 0 !important; }
.oz-sale__card * { color: var(--m-on-action) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--m-action) !important; color: var(--m-on-action) !important; }

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

/* ── Single product ───────────────────────────────────────────────── */
.oz-product__gallery, .oz-product__gallery .woocommerce-product-gallery { background: var(--m-surface-raised) !important; border-radius: 0 !important; }
.oz-product__gallery img, .flex-control-thumbs img { border-radius: 0 !important; border-color: var(--m-hairline) !important; }
.oz-product__eyebrow { color: var(--m-gold-ink) !important; }
.oz-product__price, .oz-product__price ins, .oz-product__price .amount { font-weight: 500 !important; font-variant-numeric: tabular-nums; color: var(--m-ink) !important; }
.oz-product__form .quantity, .oz-product__form select,
.woocommerce div.product form.cart .variations select { border-radius: 0 !important; border-color: var(--m-hairline) !important; background: var(--m-surface-raised) !important; }
.oz-product__form .single_add_to_cart_button { border-radius: 0 !important; min-height: 48px; }
.oz-product__form .single_add_to_cart_button:hover { transform: none !important; }
.tinv-wraper a, .tinvwl_add_to_wishlist_button, a.tinvwl_add_to_wishlist_button,
.tinv-wishlist .tinvwl_add_to_wishlist_button::before { color: var(--m-ink) !important; }
.tinvwl_add_to_wishlist_button { text-underline-offset: 6px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.oz-product__tabs ul.tabs li, .oz-product__tabs ul.tabs li a {
  background: transparent !important; border-radius: 0 !important; border-color: var(--m-hairline) !important; color: var(--m-ink-muted) !important;
}
.oz-product__tabs ul.tabs li.active a, .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--m-ink) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--m-hairline) !important; }
.oz-product__tabs .woocommerce-Tabs-panel, .woocommerce div.product .woocommerce-tabs .panel {
  background: var(--m-surface-raised) !important; border: 1px solid var(--m-hairline); border-radius: 2px !important;
}
