/* Public design system. Loaded after page CSS; admin pages do not opt in. */
:root {
  --ui-bg: #fffdf9;
  --ui-surface: #fff;
  --ui-soft: #f7f2ec;
  --ui-border: #ece9e4;
  --ui-text: #21100c;
  --ui-muted: #766963;
  --ui-olive: #40572b;
  --ui-olive-hover: #31451f;
  --ui-rose: #b98278;
  --ui-gold-detail: #a56f16;
  --ui-discount: #8e4b51;
  --ui-shadow: 0 5px 20px rgba(33,16,12,.035);
}
body:is(.home-page,.editorial-page) {
  --ui-ink: var(--ui-text);
  --ui-wine: var(--ui-olive);
  --ui-line: var(--ui-border);
  --ui-paper: var(--ui-surface);
  --ui-cream: var(--ui-soft);
  --ui-blush: var(--ui-soft);
  --shop-bg: var(--ui-bg);
  --shop-surface: var(--ui-surface);
  --shop-border: var(--ui-border);
  --shop-text: var(--ui-text);
  --shop-muted: var(--ui-muted);
  --shop-gold: var(--ui-gold-detail);
  --shop-olive: var(--ui-olive);
  --shop-olive-hover: var(--ui-olive-hover);
  --rh-champagne: var(--ui-border);
  --rh-champagne-active: var(--ui-olive);
  --rh-text: var(--ui-text);
  --rh-border: var(--ui-border);
  font-family: "Vazirmatn",Tahoma,Arial,sans-serif;
  font-weight: 400;
  line-height: 1.9;
  background: var(--ui-bg) !important;
  color: var(--ui-text) !important;
  accent-color: var(--ui-olive) !important;
}
body:is(.home-page,.editorial-page) :is(h1,h2,h3,h4,p,label,button,input,select,textarea) { font-family: "Vazirmatn",Tahoma,Arial,sans-serif !important; letter-spacing: normal !important; }
body:is(.home-page,.editorial-page) :is(h1,h2,h3) { font-weight: 700 !important; line-height: 1.6; }
.editorial-page h1 { font-size: clamp(28px,3vw,42px); }
body:is(.home-page,.editorial-page) h2 { font-size: clamp(23px,2.2vw,32px); }
body:is(.home-page,.editorial-page) h3 { font-size: 18px; }
body:is(.home-page,.editorial-page) :is(label,.nav-link) { font-weight: 600; }
body:is(.home-page,.editorial-page) :is(.product-description,.product-long-description,.article-content) { line-height: 2.2; color: var(--ui-muted); }
body:is(.home-page,.editorial-page) :is(.main-nav .nav-link,.site-logo strong) { color: var(--ui-text) !important; }
body:is(.home-page,.editorial-page) .main-nav .nav-link:is(:hover,[aria-current]) { color: var(--ui-olive) !important; }
.editorial-page :is(.main-header,.header-top,.header-nav-wrap) { background: var(--ui-bg) !important; border-color: var(--ui-border) !important; }
body:is(.home-page,.editorial-page) .header-actions :is(.header-action,.header-account-pill) { min-width: 44px; min-height: 44px; border-color: var(--ui-border) !important; }
body:is(.home-page,.editorial-page) :is(.product-card,.shop-sidebar,.shop-filter-title,.filter-box,.shop-toolbar,.shop-sort select,.header-search,.cart-summary,.wishlist-product-card,.recent-card) {
  border-color: var(--ui-border) !important;
  background-color: var(--ui-surface);
}
body:is(.home-page,.editorial-page) .product-card { background: var(--ui-surface) !important; box-shadow: var(--ui-shadow) !important; }
body:is(.home-page,.editorial-page) .product-card:hover { border-color: var(--ui-border) !important; box-shadow: 0 8px 24px rgba(33,16,12,.07) !important; }
body:is(.home-page,.editorial-page) :is(.product-card .product-card-image,.product-card.luxury-product-card .product-card-image) { background: var(--ui-surface) !important; border: 1px solid var(--ui-border) !important; box-shadow: none !important; }
body:is(.home-page,.editorial-page) .product-card-image img { object-fit: contain !important; }
body:is(.home-page,.editorial-page) :is(.discount,.discount-badge,.product-discount) { background: var(--ui-discount) !important; color: var(--ui-surface) !important; box-shadow: none !important; }
body:is(.home-page,.editorial-page) :is(.price strong,.product-price strong) { color: var(--ui-text) !important; font-weight: 700; }
body:is(.home-page,.editorial-page) :is(.price del,.brand,.english-product-name,.product-en-name) { color: var(--ui-muted) !important; }

/* One authoritative CTA rule, including the legacy ID-based purchase selectors. */
body:is(.home-page,.editorial-page):is(.home-page,.editorial-page)
  :is(#productPage .main-add-cart,#productPage .related-products .add-to-cart,
      .add-to-cart,.product-link,.wishlist-cart-button,.recent-cart,.recent-product-link,
      .compare-actions a,.hero-live-primary,.hero-primary,.finder-button,#finderButton,.finder-next,
      .finder-submit,.brand-logo-all,.auth-submit,.account-save-button,.checkout-button,
      .place-order-button,.payment-button,.about-cta-primary,.faq-contact a,
      .account-login-required a,.contact-form button[type="submit"],
      .support-form button[type="submit"],.newsletter-form button,.footer-newsletter button,
      .magazine-newsletter button,.site-primary) {
  background: var(--ui-olive) !important;
  border-color: var(--ui-olive) !important;
  color: var(--ui-surface) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
body:is(.home-page,.editorial-page):is(.home-page,.editorial-page)
  :is(#productPage .main-add-cart,#productPage .related-products .add-to-cart,
      .add-to-cart,.product-link,.wishlist-cart-button,.recent-cart,.recent-product-link,
      .compare-actions a,.hero-live-primary,.hero-primary,.finder-button,#finderButton,.finder-next,
      .finder-submit,.brand-logo-all,.auth-submit,.account-save-button,.checkout-button,
      .place-order-button,.payment-button,.about-cta-primary,.faq-contact a,
      .account-login-required a,.contact-form button[type="submit"],
      .support-form button[type="submit"],.newsletter-form button,.footer-newsletter button,
      .magazine-newsletter button,.site-primary):not(:disabled):is(:hover,:active) {
  background: var(--ui-olive-hover) !important;
  border-color: var(--ui-olive-hover) !important;
  color: var(--ui-surface) !important;
}
body:is(.home-page,.editorial-page) :is(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--ui-olive) !important; outline-offset: 3px !important; }
body:is(.home-page,.editorial-page):is(.home-page,.editorial-page) :is(#productPage .main-add-cart,#productPage .product-thumb,#productPage .size-options button,.add-to-cart,.product-link,#finderButton,.brand-logo-all):focus-visible { outline: 2px solid var(--ui-olive) !important; outline-offset: 3px !important; }
body:is(.home-page,.editorial-page) :is(.compare-product-button,.wishlist-compare-button,.finder-back,.finder-reset,.shop-mobile-filter-btn,.about-cta-secondary,.site-secondary) { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; color: var(--ui-text) !important; }
body:is(.home-page,.editorial-page) :is(.section-heading > div > span,.center-heading > span,.hero-live-brand) { color: var(--ui-gold-detail) !important; }
body:is(.home-page,.editorial-page) :is(.main-footer,.magazine-newsletter) { background: var(--ui-text) !important; color: var(--ui-soft) !important; }
body:is(.home-page,.editorial-page) :is(.main-footer,.magazine-newsletter) :is(h2,h3,h4,p,a,span,small) { color: var(--ui-soft) !important; }
.home-page :is(.home-scent-picker,.home-product-tabs-section,.brands-logo-section,.magazine-section,.home-about-section) { padding-block: clamp(32px,4vw,56px); }
.home-page .magazine-card img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.home-page .brand-logo-visual { display: grid; place-items: center; height: 70px; }
.home-page .brand-logo-visual img { width: 110px; height: 52px; object-fit: contain; }
.editorial-page .shop-sidebar { position: sticky; top: 20px; }
.editorial-page .shop-empty { padding: 40px 24px; background: var(--ui-soft); border: 1px solid var(--ui-border); border-radius: 18px; text-align: center; }
.product-image-fallback { background: var(--ui-soft) !important; object-fit: contain !important; box-shadow: none !important; mix-blend-mode: normal !important; }
.editorial-page #productPage {
  --product-border: var(--ui-border);
  --product-text: var(--ui-text);
  --product-muted: var(--ui-muted);
  --product-gold: var(--ui-gold-detail);
  --product-cream: var(--ui-surface);
  background: var(--ui-bg) !important;
}
.editorial-page #productPage :is(.product-detail,.product-info) { min-height: 0 !important; height: auto !important; align-items: start; }
.editorial-page #productPage .product-side { grid-row: 1 / span 6; }
.editorial-page #productPage .product-main-image { height: auto !important; min-height: 0 !important; aspect-ratio: 1/1; }
.editorial-page #productPage :is(.product-detail,.product-main-image,.product-thumb,.product-purchase-panel,.product-features,.product-features > div,.product-guarantees > div,.quantity-selector,.related-products,.related-products .product-card,.related-products .product-card-image,.size-options button) { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; box-shadow: var(--ui-shadow) !important; }
.editorial-page #productPage .size-options button.active { color: var(--ui-olive) !important; border-color: var(--ui-border) !important; background: var(--ui-soft) !important; font-weight: 700; }
.editorial-page #productPage .related-products { margin-top: clamp(64px,6vw,96px) !important; }
.product-content-section { margin-top: 40px; padding: 24px; border: 1px solid var(--ui-border); border-radius: 18px; background: var(--ui-surface); }
.product-facts-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
.product-fact { min-width: 0; padding: 16px; background: var(--ui-soft); border-radius: 12px; }
.product-fact dt { color: var(--ui-muted); font-size: 14px; }
.product-fact dd { margin-top: 6px; color: var(--ui-text); line-height: 2; }
.product-reading-links { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.product-reading-links a { color: var(--ui-olive); text-decoration: underline; text-underline-offset: 4px; }
.product-faq details { padding: 16px 0; border-bottom: 1px solid var(--ui-border); }
.product-faq summary { cursor: pointer; font-weight: 600; min-height: 44px; }
.product-faq p { padding-top: 12px; color: var(--ui-muted); }
[data-review-enabled="false"] { display: none !important; }
.article-cover { height: auto !important; aspect-ratio: 16/9; }
.article-cover img { width: 100%; height: 100%; object-fit: cover; }
.article-image-caption { text-align: center; margin: 12px 0; color: var(--ui-muted); font-size: 14px; }
.article-content p { margin-bottom: 24px; }
.landing-page { padding: 32px 0 64px; }
.landing-hero { padding: 32px; background: var(--ui-soft); border-radius: 20px; margin-block: 24px; }
.landing-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 24px; }
.landing-nav a { padding: 12px 18px; min-height: 44px; border: 1px solid var(--ui-border); border-radius: 12px; background: var(--ui-surface); }
.landing-products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.landing-products .product-card-image { height: 260px; }
.site-primary { display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; min-height: 44px; border: 1px solid; border-radius: 12px; }
@media (max-width:700px) {
  body:is(.home-page,.editorial-page) :is(p,small,label,input,select,textarea,button,.nav-link,.brand,.english-product-name,.product-en-name,.product-features strong,.product-features small,.price) { font-size: 14px !important; }
  body:is(.home-page,.editorial-page) .main-nav .nav-link { font-size: 14px !important; }
  .home-page .minimal-header-shell .main-nav { gap: 4px; }
  .editorial-page .shop-sidebar { position: static; }
  .editorial-page .shop-sidebar.mobile-open { display: block; }
  .product-facts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .landing-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .landing-products .product-card-image { height: 180px; }
  .landing-hero,.product-content-section { padding: 20px; }
}
