@font-face {
  font-family: "Baloo Bhaijaan 2";
  src: url("/uploads/redaa/brand/BalooBhaijaan2-Medium.ttf") format("truetype");
  font-display: swap;
  font-weight: 400;
}

:root {
  --primary: #583a80;
  --primary-dark: #3b215d;
  --sale: #d51f26;
  --footer: #23190e;
  --surface: #fff;
  --text: #2a2430;
  --muted: #777277;
  --line: #e9e5eb;
  --soft: #f7f5f8;
  --shadow: 0 5px 16px rgba(65, 37, 83, .13);
  --font-ar: "jannah Lt", Jannah, sans-serif;
  --font-en: "jannah Lt", Jannah, sans-serif;
  --container: 1170px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--text);
  font-family: var(--font-ar);
  font-size: 14px;
  letter-spacing: 0;
}
html[dir="ltr"] body { font-family: var(--font-en); }
body.is-locked { overflow: hidden; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.sar-price { display:inline-flex; align-items:baseline; gap:.22em; white-space:nowrap; direction:ltr; }
.sar-symbol { display:inline-block; width:.82em; height:.92em; flex:0 0 auto; background:currentColor; -webkit-mask:url('/storefront/saudi-riyal-symbol.svg') center/contain no-repeat; mask:url('/storefront/saudi-riyal-symbol.svg') center/contain no-repeat; transform:translateY(.1em); }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.muted { color: var(--muted); }
.desktop-only { display: initial; }
.mobile-only { display: none !important; }
.icon { width: 20px; height: 20px; stroke-width: 1.8; }

.store-loading { min-height: 100vh; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--primary); }
.store-loading-visual { width: 52px; height: 52px; display: grid; place-items: center; }
.store-loading-visual > * { grid-area: 1 / 1; }
.loading-mark { width: 46px; height: 46px; border: 3px solid #e4dce9; border-top-color: #583a80; border-radius: 50%; animation: spin 3.2s linear infinite, storeLoaderColor 6.4s linear infinite; }
.loading-custom-icon { width: 52px; height: 52px; object-fit: contain; }
.loading-custom-icon[hidden] { display: none !important; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes storeLoaderColor {
  0%, 100% { border-top-color: #583a80; }
  25% { border-top-color: #2576c7; }
  50% { border-top-color: #159a7b; }
  75% { border-top-color: #c85b96; }
}

.announcement {
  height: 31px;
  padding: 0 16px;
  overflow: hidden;
  background: var(--primary);
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}
.announcement-track { position: relative; width: 100%; height: 100%; }
.announcement-message {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .32s ease, transform .32s ease;
}
.announcement-message.active { opacity: 1; visibility: visible; pointer-events: auto; }
.announcement.slide .announcement-message { transform: translateY(100%); }
.announcement.slide .announcement-message.active { transform: translateY(0); }
.announcement.slide .announcement-message.leaving { transform: translateY(-100%); visibility: visible; }
.announcement a { text-decoration: underline; font-weight: 700; }
.store-header {
  position: relative;
  z-index: 20;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.store-header.is-sticky { position: sticky; top: 0; }
.header-main {
  min-height: 110px;
  display: grid;
  grid-template-columns: 195px minmax(0, 1fr) 390px;
  align-items: center;
  gap: 0;
}
.header-actions { display: flex; align-items: center; gap: 9px; justify-content: flex-end; }
.header-actions.start { justify-content: flex-end; }
.login-button {
  width: 197px;
  min-height: 46px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  white-space: nowrap;
}
.round-action {
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid var(--primary);
  border-radius: 50%;
  background: #fff;
  color: var(--primary);
  display: grid;
  place-items: center;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.round-action:hover { background: var(--primary); color: #fff; transform: translateY(-2px); }
.cart-count {
  position: absolute;
  top: -5px;
  inset-inline-start: -5px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--sale);
  color: #fff;
  display: grid;
  place-items: center;
  font: 700 10px/1 var(--font-en);
}
.main-nav { display: flex; align-items: center; justify-content: center; gap: 34px; white-space: nowrap; }
.main-nav a { position: relative; padding: 43px 0 38px; font-weight: 700; }
.main-nav a::after { content: ""; position: absolute; inset-inline: 0; bottom: 24px; height: 3px; border-radius: 4px; background: var(--primary); transform: scaleX(0); transition: transform .18s ease; }
.main-nav a:hover, .main-nav a.active { color: var(--sale); }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }

.products-nav-root { position:relative; align-self:stretch; display:flex; align-items:center; }
.products-nav-trigger { display:inline-flex; align-items:center; gap:5px; }
.products-nav-trigger .icon { transition:transform .22s ease; }
.products-nav-root:hover .products-nav-trigger .icon,
.products-nav-root:focus-within .products-nav-trigger .icon { transform:rotate(180deg); }
.products-mega-menu {
  position:absolute;
  z-index:35;
  top:calc(100% - 12px);
  right:calc(50% - 155px);
  width:310px;
  padding:10px;
  border:1px solid rgba(88,58,128,.14);
  border-radius:11px;
  background:#fff;
  box-shadow:0 20px 48px rgba(36,23,44,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow:hidden;
  transform:translateY(-10px);
  transform-origin:top center;
  transition:opacity .18s ease,transform .22s ease,visibility .18s ease,width .3s cubic-bezier(.2,.75,.2,1);
}
.products-nav-root:hover .products-mega-menu,
.products-nav-root:focus-within .products-mega-menu { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.products-mega-menu.submenu-open { width:min(650px,calc(100vw - 40px)); }
.products-mega-menu a { padding:0; }
.products-mega-menu a::after { display:none; }
.products-mega-body { display:grid; grid-template-columns:288px minmax(0,1fr); min-height:0; }
.products-category-tabs { width:288px; min-width:0; align-self:start; display:grid; align-content:start; gap:4px; }
.products-category-tab { min-height:56px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:10px; padding:7px!important; border:1px solid transparent; border-radius:8px; color:var(--text)!important; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.products-category-tab.has-children { grid-template-columns:42px minmax(0,1fr) 18px; }
.products-category-tab:hover,.products-category-tab.active { background:#f8f4fb; border-color:#e5ddec; transform:translateX(-2px); }
.products-category-tab>img,.products-category-placeholder { width:42px; height:42px; border-radius:50%; object-fit:cover; background:#f1edf4; display:grid; place-items:center; color:var(--primary); }
.products-all-link .products-category-placeholder { background:var(--primary); color:#fff; }
.products-category-tab>span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.products-category-tab strong { overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.products-category-tab small { color:var(--muted); font-size:10px; font-weight:500; }
.products-category-tab>.icon { color:var(--primary); }
.products-subcategory-panels { min-width:0; width:0; max-height:0; padding:0; opacity:0; visibility:hidden; overflow:hidden; transform:translateX(12px); transition:opacity .2s ease,transform .25s ease; }
.products-mega-menu.submenu-open .products-subcategory-panels { width:auto; max-height:420px; padding:12px 14px 8px 12px; border-right:1px solid var(--line); opacity:1; visibility:visible; overflow:visible; transform:none; }
.products-subcategory-panel[hidden] { display:none; }
.products-subcategory-panel.active { animation:productsPanelIn .22s ease both; }
@keyframes productsPanelIn { from { opacity:0; transform:translateX(8px); } }
.products-subcategory-title { margin-bottom:5px; }
.products-subcategory-title small { color:var(--muted); font-size:10px; }
.products-subcategory-title h3 { margin:1px 0 0; font-size:18px; }
.products-view-category { display:inline-flex; align-items:center; gap:7px; min-height:34px; margin-bottom:8px; color:var(--primary)!important; font-size:11px; font-weight:800; }
.products-subcategory-grid { display:grid; gap:6px; }
.products-subcategory-grid>a { min-height:58px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:9px; padding:7px!important; border:1px solid var(--line); border-radius:8px; color:var(--text)!important; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.products-subcategory-grid>a:hover { border-color:#cdbddd; box-shadow:0 5px 14px rgba(65,37,83,.09); transform:translateY(-1px); }
.products-subcategory-grid img { width:42px; height:42px; border-radius:7px; object-fit:cover; }
.products-subcategory-grid span { min-width:0; display:grid; gap:2px; }
.products-subcategory-grid strong { overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.products-subcategory-grid small { color:var(--muted); font-size:10px; font-weight:500; }

.drawer-products { border-bottom:1px solid var(--line); }
.drawer-products-toggle { width:100%; min-height:55px; padding:15px 5px; border:0; background:#fff; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--text); font-weight:800; }
.drawer-products-toggle .icon,.drawer-category-row>button .icon { transition:transform .2s ease; }
.drawer-products-toggle[aria-expanded="true"] .icon,.drawer-category-row>button[aria-expanded="true"] .icon { transform:rotate(180deg); }
.drawer-products-content { padding:4px 8px 12px; background:#faf8fb; }
.drawer-products-content[hidden],.drawer-subcategories[hidden] { display:none; }
.drawer-all-products { min-height:45px; display:flex!important; align-items:center; justify-content:space-between; padding:10px!important; color:var(--primary); }
.drawer-category-item { border-top:1px solid #eee8f1; }
.drawer-category-row { display:grid; grid-template-columns:minmax(0,1fr) 42px; align-items:center; gap:4px; }
.drawer-category-row>a { min-width:0; display:flex; align-items:center; gap:10px; padding:10px 4px!important; border:0!important; }
.drawer-category-row>.drawer-category-expand{width:100%;height:auto;min-height:55px;padding:10px 4px;border:0;border-radius:0;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:flex-start;gap:10px;text-align:start;font-weight:700}.drawer-category-expand>span{flex:1}.drawer-category-expand>.icon{flex:0 0 auto;transition:transform .2s ease}.drawer-category-expand[aria-expanded="true"]>.icon{transform:rotate(180deg)}
.drawer-category-row>a img { width:36px; height:36px; border-radius:50%; object-fit:cover; }
.drawer-category-expand img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.drawer-category-row>button { width:38px; height:38px; padding:0; border:0; border-radius:50%; background:#f0e9f4; color:var(--primary); display:grid; place-items:center; }
.drawer-subcategories { margin:0 42px 8px 0; padding:3px 10px 5px 0; border-right:2px solid #dfd2e8; }
.drawer-subcategories>a { min-height:42px; display:flex; align-items:center; gap:9px; padding:7px!important; border:0!important; color:#514956; font-size:12px; }
.drawer-subcategories>.drawer-category-all{color:var(--primary);font-weight:800}
.drawer-subcategories img { width:30px; height:30px; border-radius:6px; object-fit:cover; }
@media (prefers-reduced-motion:reduce) {
  .products-mega-menu,.products-nav-trigger .icon,.products-category-tab,.products-subcategory-panel.active,.products-subcategory-grid>a,.drawer-products-toggle .icon,.drawer-category-row>button .icon { animation:none; transition:none; }
}

.header-logo { display: flex; justify-content: flex-start; padding-inline: 15px; }
.header-logo img { width: 80px; height: 90px; object-fit: contain; }

.category-strip { background: #e9e9e9; }
.category-strip-inner { min-height:86px; display:flex; align-items:center; justify-content:center; gap:clamp(30px,6vw,92px); overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; }
.category-strip-inner::-webkit-scrollbar { display:none; }
.category-shortcut { display: flex; align-items: center; gap: 10px; min-width: max-content; font-weight: 700; }
.category-shortcut img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: #fff; }

.page-main { min-height: 55vh; }
.breadcrumbs { padding: 24px 0; color: var(--primary); font-size: 14px; }
.breadcrumbs span { color: var(--sale); }

.hero { position:relative; overflow:hidden; margin:26px 8px 0; background:#2f1b47; touch-action:pan-y pinch-zoom; }
.hero-stage { position: relative; display: grid; }
.hero-slide { position: relative; grid-area: 1 / 1; align-self: start; opacity: 0; visibility: hidden; transition: opacity .55s ease; }
.hero-slide.active { opacity: 1; visibility: visible; }
.hero-slide > a, .hero-slide picture, .hero-slide img { width: 100%; height: auto; display: block; }
.hero-slide img { object-fit: contain; }
.hero-copy { position: absolute; inset: 0; display: flex; align-items: center; padding: 7% 9%; color: #fff; pointer-events: none; }
.hero-copy > div { max-width: 430px; }
.hero-copy h1 { font-size: clamp(30px, 4vw, 58px); line-height: 1.15; margin: 0 0 12px; }
.hero-copy p { font-size: clamp(14px, 1.5vw, 19px); line-height: 1.9; margin: 0 0 22px; }
.hero-copy a { pointer-events: auto; }
.hero-dots { position: absolute; bottom: 18px; inset-inline: 0; display: flex; justify-content: center; gap: 7px; }
.hero-dot { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; }
.hero-dot.active { background: #fff; }

.home-content { background: #f6f6f6; }
.home-content .section { background: #f6f6f6; }
.home-content .section-head { min-height: 70px; margin-bottom: 20px; }
.home-content .section-head h2 { color: #2f1e45; font-size: 28px; line-height: 1.4; }
.home-content .section-link { color: #2f1e45; font-size: 18px; }
.home-offers { padding: 50px 0 62px; }
.home-categories { padding: 24px 0 58px; }
.home-latest { padding: 50px 0 72px; }
.home-rail-shell { position: relative; }
.home-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 255px;
  gap: 15px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  padding-inline: 52px;
  -webkit-overflow-scrolling: touch;
}
.home-rail::-webkit-scrollbar { display: none; }
.home-rail > * { scroll-snap-align: start; }
[data-drag-scroll] { -webkit-user-select:none; user-select:none; }
[data-drag-scroll] img { -webkit-user-drag:none; }
@media (hover:hover) and (pointer:fine) {
  [data-drag-scroll].can-drag { cursor:grab; }
  [data-drag-scroll].is-drag-ready,
  [data-drag-scroll].is-dragging { cursor:grabbing; scroll-snap-type:none; }
}
.rail-arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #a09aa2;
  display: grid;
  place-items: center;
  box-shadow: 0 3px 14px rgba(31, 22, 37, .12);
  opacity: 0;
  transition: opacity .2s ease, color .2s ease, transform .2s ease;
}
.rail-prev { right: -24px; }
.rail-next { left: -24px; }
.home-rail-shell:hover .rail-arrow { opacity: 1; }
.rail-arrow:hover { color: var(--primary); transform: scale(1.05); }

.section { padding: 58px 0; }
.section.soft { background: #f7f7f7; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 30px; }
.section-head.center { justify-content: center; text-align: center; }
.section-head h2 { margin: 0; color: var(--primary-dark); font-size: 27px; }
.section-link { color: var(--primary); font-weight: 700; text-decoration: underline; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.product-grid.shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 24px; }
.product-card { min-width: 0; text-align: right; }
.product-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: #f5f3f4;
  border-radius: 11px 11px 0 0;
  box-shadow: var(--shadow);
}
.product-media > a, .product-media img { width: 100%; height: 100%; }
.product-media img { object-fit: cover; transition: transform .35s ease; }
.product-card:hover .product-media img { transform: scale(1.035); }
.product-media.is-out-of-stock img,.featured-product-image.is-out-of-stock img { filter:none;opacity:1; }
.product-media.is-out-of-stock::after,.featured-product-image.is-out-of-stock::after { content:"";position:absolute;z-index:1;inset:0;background:rgba(65,61,67,.12);pointer-events:none; }
.stock-badge { position:absolute;z-index:4;bottom:16px;inset-inline-end:0;padding:7px 13px;background:#343036;color:#fff;font:800 11px/1.2 var(--font-en);letter-spacing:0;text-transform:uppercase;box-shadow:0 5px 16px rgba(23,20,25,.18); }
.sale-badge { position: absolute; z-index: 2; top: 14px; inset-inline-start: 0; min-width: 58px; min-height: 28px; padding: 5px 10px; background: var(--sale); color: #fff; display: grid; place-items: center; font-size: 11px; font-weight: 700; }
.wish-button { position: absolute; z-index: 2; top: 12px; inset-inline-end: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--primary); display: grid; place-items: center; opacity: 0; transform: translateY(-5px); transition: opacity .18s, transform .18s; }
.product-card:hover .wish-button { opacity: 1; transform: none; }
.wish-button.is-saved { color:#d92d56; opacity:1; transform:none; }
.wish-button.is-saved svg { fill:currentColor; }
.wish-button:focus-visible { opacity:1; outline:3px solid var(--primary); outline-offset:2px; }
.wish-button:disabled { cursor:progress; }
.wish-detail { position:static; display:inline-flex; width:auto; height:auto; min-height:42px; gap:8px; padding:8px 14px; margin:10px 0 14px; border:1px solid #e3dbe9; border-radius:999px; opacity:1; transform:none; font:inherit; font-size:14px; }
.wishlist-page { padding-block:36px 72px; }
.wishlist-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
.wishlist-heading span { color:var(--primary); font-size:13px; font-weight:700; }
.wishlist-heading h1 { margin:4px 0; font-size:clamp(28px,3vw,40px); }
.wishlist-heading p { color:#777; margin:0; }
.wishlist-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(245px,1fr)); gap:18px; }
.wishlist-tile { background:#fff; border:1px solid #ece7ef; border-radius:16px; overflow:hidden; box-shadow:0 5px 22px rgba(48,32,58,.05); }
.wishlist-tile-image { height:230px; background:#f6f3f7; }
.wishlist-tile-image img { width:100%; height:100%; object-fit:cover; }
.wishlist-tile-info { padding:18px; display:grid; gap:9px; }
.wishlist-tile-info h2 { font-size:17px; margin:0; line-height:1.5; }
.wishlist-tile-info h2 a { color:inherit; text-decoration:none; }
.wishlist-kind { font-size:12px; color:var(--primary); font-weight:700; }
.wishlist-tile-info small.available { color:#27805a; }.wishlist-tile-info small.unavailable { color:#b45a48; }
.wishlist-tile-actions { display:flex; align-items:center; gap:12px; margin-top:6px; }.wishlist-tile-actions .primary-button { flex:1; justify-content:center; }.wishlist-tile-actions button:not(.primary-button) { border:0; background:none; color:#8b566c; cursor:pointer; }
.wishlist-empty { text-align:center; padding:70px 24px; background:#fff; border:1px dashed #d9cfe0; border-radius:20px; }.wishlist-empty svg { color:var(--primary); }.wishlist-empty h2 { margin:14px 0 4px; }.wishlist-empty p { color:#777; }.wishlist-empty .primary-button { display:inline-flex; margin-top:14px; }
.account-wishlist-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.account-wishlist-preview a { display:grid; gap:7px; color:inherit; text-decoration:none; font-size:13px; }.account-wishlist-preview img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:9px; }
@media(max-width:700px){.product-card .wish-button,.home-rail .wish-button { opacity:1; transform:none; width:42px; height:42px; }.wishlist-heading { align-items:start; }.wishlist-heading .secondary-button { font-size:12px; }.wishlist-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.wishlist-tile-image { height:auto; aspect-ratio:1; }.wishlist-tile-info { padding:11px; }.wishlist-tile-info h2 { font-size:14px; }.wishlist-tile-actions { flex-wrap:wrap; }.wishlist-tile-actions .primary-button { width:100%; }.account-wishlist-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }}
.product-info { padding: 12px 5px 0; }
.swatch-row { min-height: 21px; display: flex; align-items: center; gap: 6px; margin-bottom: 5px; }
.swatch-row small { font: 600 10px var(--font-en); color: var(--muted); }
.mini-swatch { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0,0,0,.14); }
.product-meta { color: #a09aa2; font-size: 12px; margin-bottom: 4px; }
.product-title { display: block; min-height: 48px; color: #2e2931; font-size: 15px; line-height: 1.65; font-weight: 700; }
.price { display: flex; align-items: center; gap: 8px; color: var(--primary); margin-top: 5px; }
.price strong { font: 700 15px var(--font-ar); }
.price del { color: #9c989d; font-size: 12px; text-decoration: line-through; text-decoration-thickness: 1px; }
.price del .sar-price { position: relative; text-decoration: none; }
.price del .sar-price::after { content: ""; position: absolute; z-index: 1; inset-inline: -.08em; top: 50%; height: 1px; background: currentColor; pointer-events: none; transform: translateY(-50%); }
.card-add { width: 100%; min-height: 36px; margin-top: 9px; border: 0; border-radius: 999px; background: var(--primary); color: #fff; font-weight: 700; opacity: 0; transform: translateY(4px); transition: opacity .18s, transform .18s; }
.product-card:hover .card-add { opacity: 1; transform: none; }
.product-card-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px; }
.card-action { min-width:0;min-height:38px;padding:6px 8px;border:1px solid var(--primary);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#fff;color:var(--primary);font:700 11px/1.4 var(--font-ar);white-space:nowrap;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease; }
.card-action.card-buy { background:var(--primary);color:#fff; }
.card-action:hover:not(:disabled) { transform:translateY(-1px); }
.card-action.card-cart:hover:not(:disabled) { background:#f4eff7; }
.card-action.card-buy:hover:not(:disabled) { background:var(--primary-dark); }
.card-action:disabled { cursor:not-allowed;border-color:#d8d3da;background:#f2f0f2;color:#989199;opacity:.85; }
.bundle-badge { position:absolute; z-index:3; top:12px; inset-inline-start:12px; padding:6px 10px; border-radius:999px; background:var(--primary); color:#fff; font-size:10px; font-weight:800; }
.bundle-composite { width:100%; height:100%; min-height:420px; padding:34px; display:flex; align-items:center; justify-content:center; gap:14px; background:#f6f3f7; }
.bundle-composite.compact { min-height:0; padding:20px 13px; gap:7px; }
.bundle-composite img { width:min(29%,210px); aspect-ratio:1; object-fit:cover; border-radius:8px; background:#fff; box-shadow:0 10px 28px rgba(35,25,42,.12); }
.bundle-composite.compact img { width:min(30%,120px); }
.bundle-plus { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--primary); font-size:20px; font-weight:800; box-shadow:0 4px 14px rgba(35,25,42,.1); }
.bundle-card-link { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.bundle-shop-heading { margin:4px 0 18px; padding:14px 16px; border-inline-start:3px solid var(--primary); background:#f8f5f9; }
.bundle-shop-heading span { color:var(--primary); font-size:11px; font-weight:800; }
.bundle-shop-heading h2 { margin:3px 0 0; font-size:20px; }

.home-rail .product-card {
  min-height: 402px;
  padding: 16px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(48, 32, 58, .035);
  transition: transform .22s ease, box-shadow .22s ease;
}
.home-rail .product-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(48, 32, 58, .12); }
.home-rail .product-media { border-radius: 0; box-shadow: none; }
.home-rail .product-info { padding: 12px 0 0; text-align: center; }
.home-rail .swatch-row { display: none; }
.home-rail .product-meta { font-size: 13px; line-height: 18px; }
.home-rail .product-title { min-height: 31px; font-size: 20px; line-height: 31px; color: #747474; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-rail .price { min-height: 32px; justify-content: center; font-size: 17px; line-height: 32px; }
.home-rail .price strong { font-size: 24px; line-height: 32px; }
.home-rail .price del { font-size: 20px; line-height: 32px; }
.home-rail .card-add { width: 128px; min-height: 36px; margin: 10px auto 0; opacity: 1; transform: none; }
.home-rail .wish-button { opacity: 0; transform: translateY(-7px); }
.home-rail .product-card:hover .wish-button { opacity: 1; transform: none; }

.home-collection { background: #fbfafb; border-block: 1px solid rgba(86, 58, 112, .08); }
.home-collection .section-head > div { display: grid; gap: 4px; }
.collection-eyebrow,
.collection-catalog-head span { color: var(--primary); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.collection-product-card .product-media { background: #f2eff3; }
.collection-variant-meta { min-height: 25px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 5px; }
.collection-color,
.collection-option { min-height: 22px; display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px; border: 1px solid #e3dee5; border-radius: 999px; background: #fff; color: #676169; font-size: 10px; font-weight: 600; }
.collection-color i { width: 11px; height: 11px; border: 1px solid rgba(0,0,0,.15); border-radius: 50%; background: var(--collection-color); }
.collection-card-link { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.home-collection .home-rail .collection-variant-meta { min-height: 23px; justify-content: center; margin-bottom: 4px; }
.home-collection .home-rail .product-title { min-height: 52px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.collection-home-grid .collection-product-card { min-height: 0; }
.collection-home-grid .card-add { opacity: 1; transform: none; }

.collection-page { padding-bottom: 78px; }
.collection-hero { position: relative; min-height: 300px; overflow: hidden; display: grid; align-items: end; background: #f1edf3; }
.collection-hero.has-cover { min-height: clamp(360px, 49vw, 610px); color: #fff; }
.collection-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.collection-hero.has-cover::after { content: ""; position: absolute; inset: 28% 0 0; background: linear-gradient(transparent, rgba(28, 17, 34, .72)); }
.collection-hero-copy { position: relative; z-index: 1; padding-block: 58px; }
.collection-hero-copy > span { display: block; margin-bottom: 10px; color: var(--primary); font: 600 12px var(--font-en); text-transform: uppercase; }
.collection-hero.has-cover .collection-hero-copy > span { color: #fff; }
.collection-hero-copy h1 { max-width: 800px; margin: 0; color: inherit; font-size: clamp(30px, 4vw, 55px); line-height: 1.35; }
.collection-hero-copy p { max-width: 680px; margin: 14px 0 0; color: inherit; font-size: 15px; line-height: 2; }
.collection-hero-copy small { display: block; margin-top: 14px; color: inherit; opacity: .78; font-size: 12px; }
.collection-catalog { padding-top: 58px; }
.collection-catalog-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; padding-bottom: 18px; border-bottom: 1px solid #e7e2e8; }
.collection-catalog-head h2 { margin: 5px 0 0; color: var(--primary-dark); font-size: 26px; }
.collection-catalog-head p { max-width: 450px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.collection-grid { row-gap: 38px; }
.collection-empty { min-height: 320px; display: grid; place-items: center; align-content: center; gap: 10px; padding: 40px 20px; background: #f8f6f9; text-align: center; }
.collection-empty h2,
.collection-empty p { margin: 0; }
.collection-empty p { color: var(--muted); }
.collection-empty .primary-button { min-width: 170px; margin-top: 12px; text-decoration: none; }

.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.category-card { position: relative; overflow: hidden; min-height: 320px; border-radius: 8px; background: #eee; }
.category-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.category-card:hover img { transform: scale(1.04); }
.category-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(24,16,28,.7)); }
.category-card span { position: absolute; z-index: 2; bottom: 22px; inset-inline: 20px; color: #fff; font-size: 19px; font-weight: 700; }
.home-categories .home-rail { grid-auto-columns: 255px; }
.home-categories .category-card { min-height: 0; aspect-ratio: 1; border-radius: 50%; }
.home-categories .category-card::after { display: none; }
.home-categories .category-card span { inset-inline: 0; bottom: 18px; text-align: center; text-shadow: 0 1px 5px rgba(0,0,0,.6); }

.eid-showcase { display: grid; grid-template-columns: 265px 835px; gap: 20px; justify-content: center; direction: ltr; }
.eid-promos { display: grid; grid-template-rows: 625px 307px; gap: 20px; direction: rtl; }
.eid-promo { position: relative; overflow: hidden; border-radius: 10px; background: #ddd var(--promo-image) center/cover no-repeat; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 28px; padding: 42px 24px; text-align: center; }
.eid-promo::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, rgba(26,16,30,.42)); }
.eid-promo > * { position: relative; z-index: 1; }
.eid-promo span { font-size: 30px; font-weight: 700; line-height: 1.9; }
.eid-promo b { min-width: 132px; min-height: 43px; padding: 8px 22px; border-radius: 999px; background: #fff; color: var(--primary); font-size: 17px; }
.eid-promo-short { padding-bottom: 38px; gap: 20px; }
.eid-promo-short span { font-size: 27px; line-height: 1.55; }
.eid-promo-short b { background: var(--primary); color: #fff; }
.eid-products { display: grid; grid-template-columns: repeat(3, 265px); gap: 20px; direction: rtl; }
.featured-product-card { min-height: 466px; padding: 16px; border-radius: 10px; background: #fff; text-align: center; box-shadow: 0 2px 10px rgba(48,32,58,.035); transition: transform .22s ease, box-shadow .22s ease; }
.featured-product-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(48,32,58,.12); }
.featured-product-image { position:relative;display:block;width:233px;height:233px;overflow:hidden; }
.featured-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.featured-product-card:hover .featured-product-image img { transform: scale(1.035); }
.featured-product-info { padding-top: 12px; }
.featured-product-title { display: -webkit-box; min-height: 64px; overflow: hidden; color: #747474; font-size: 20px; font-weight: 700; line-height: 1.55; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.featured-stars { height: 24px; color: #ddd; font: 700 18px/24px Arial, sans-serif; letter-spacing: 0; }
.featured-product-card .price { min-height: 37px; justify-content: center; margin: 7px 0; }
.featured-product-card .price strong { font-size: 24px; }
.featured-product-card .price del { font-size: 20px; }
.featured-buy { display: inline-flex; min-width: 128px; min-height: 36px; padding: 6px 20px; align-items: center; justify-content: center; border-radius: 999px; background: var(--primary); color: #fff; font-size: 16px; font-weight: 700; }

.promo-band { padding: 0 8px; background: #f6f6f6; }
.promo-band picture { display: block; }
.promo-band img { width: 100%; height: auto; object-fit: contain; }

.shop-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.shop-head h1 { margin: 0; color: var(--primary); font-size: 26px; }
.shop-layout { display: grid; grid-template-columns: minmax(0, 1fr) 245px; gap: 28px; align-items: start; padding-bottom: 80px; }
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.view-tools, .sort-tools { display: flex; align-items: center; gap: 11px; }
.store-select { min-height: 40px; border: 1px solid #ded9e1; border-radius: 4px; background: #fff; color: var(--text); padding: 0 12px; }
.view-button { border: 0; background: transparent; color: #aaa4ab; padding: 5px; }
.view-button.active { color: var(--primary); }
.filter-sidebar { position: sticky; top: 150px; }
.filter-panel { margin-bottom: 34px; }
.filter-title { margin: 0 0 14px; padding: 10px 14px; background: var(--primary); color: #fff; font-size: 16px; border-radius: 4px; text-align: center; }
.filter-list { display: grid; gap: 12px; }
.filter-list button { border: 0; background: transparent; color: #777277; text-align: right; padding: 0; }
.filter-list button.active, .filter-list button:hover { color: var(--primary); font-weight: 700; }
.price-range { width: 100%; accent-color: var(--primary); }
.price-filter-copy { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 12px; }
.filter-apply { min-height: 35px; padding: 0 15px; border: 0; border-radius: 999px; background: var(--primary); color: #fff; }
.pagination { display: flex; justify-content: center; gap: 8px; padding: 48px 0 0; }
.page-button { width: 38px; height: 38px; border: 1px solid var(--line); background: #fff; color: var(--text); }
.page-button.active { background: var(--primary); color: #fff; border-color: var(--primary); }
.no-results { min-height: 300px; display: grid; place-items: center; text-align: center; color: var(--muted); }

.product-page { padding-bottom: 80px; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .85fr); gap: 55px; align-items: start; }
.product-gallery { display:grid;grid-template-columns:minmax(0,1fr);gap:14px;direction:ltr;min-width:0; }
.gallery-main { grid-row:1; }
.gallery-thumbs { grid-row:2;width:fit-content;max-width:100%;margin-inline:auto;padding:2px;display:flex;align-items:center;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none; }
.gallery-thumbs::-webkit-scrollbar { display:none; }
.gallery-thumb { position:relative;flex:0 0 76px;width:76px;aspect-ratio:1;padding:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fff;scroll-snap-align:center; }
.gallery-thumb.active { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(88,58,128,.13); }
.gallery-thumb img,.gallery-thumb video { width:100%;height:100%;display:block;object-fit:cover;pointer-events:none; }
.gallery-thumb.is-out-of-stock img { filter:none;opacity:1; }
.gallery-thumb.is-out-of-stock::before { content:"";position:absolute;z-index:2;inset:0;background:rgba(62,58,64,.12);pointer-events:none; }
.gallery-thumb.is-video::after { content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(18,13,20,.38));pointer-events:none; }
.gallery-thumb.is-video>span { position:absolute;z-index:1;inset:50% auto auto 50%;width:30px;height:30px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.94);color:var(--primary);pointer-events:none; }
.gallery-thumb.is-video>span svg { width:15px;height:15px;fill:currentColor; }
.gallery-main { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: 8px; background: #f5f3f4; }
.gallery-main #galleryStageContent { width:100%;height:100%;display:grid;place-items:center;touch-action:pan-y; }
.gallery-main img,.gallery-main video { width:100%;height:100%;display:block;object-fit:contain; }
.gallery-main video { background:#171319; }
.gallery-main.is-out-of-stock #galleryStageContent { filter:none;opacity:1; }
.gallery-main.is-out-of-stock::after { content:"";position:absolute;z-index:1;inset:0;background:rgba(62,58,64,.1);pointer-events:none; }
.product-stock-overlay { position:absolute;z-index:5;top:22px;inset-inline-start:0;padding:10px 18px;background:#343036;color:#fff;font:800 13px/1.2 var(--font-en);letter-spacing:0;text-transform:uppercase;box-shadow:0 7px 22px rgba(25,21,27,.22); }
.product-stock-overlay[hidden] { display:none; }
.gallery-nav { position:absolute;z-index:3;top:50%;width:42px;height:42px;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(44,31,52,.12);border-radius:50%;background:rgba(255,255,255,.9);color:var(--primary);box-shadow:0 5px 18px rgba(28,19,34,.12);opacity:0;transition:opacity .18s ease,transform .18s ease; }
.gallery-prev { left:14px; }
.gallery-next { right:14px; }
.gallery-main:hover .gallery-nav,.gallery-nav:focus-visible { opacity:1; }
.gallery-nav:hover { transform:translateY(-50%) scale(1.04); }
.image-zoom-lens { position:absolute;z-index:2;width:152px;height:152px;display:block;transform:translate(-50%,-50%) scale(.92);border:3px solid rgba(255,255,255,.95);border-radius:50%;background-repeat:no-repeat;background-color:#fff;box-shadow:0 10px 34px rgba(25,17,31,.28);opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease; }
.image-zoom-lens.visible { opacity:1;transform:translate(-50%,-50%) scale(1); }
.zoom-hint { position: absolute; bottom: 14px; inset-inline-end: 14px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--primary); display: grid; place-items: center; }
.product-summary { padding-top: 8px; }
.product-summary .product-meta { font-size: 13px; }
.product-summary h1 { color: var(--text); font-size: clamp(25px, 3vw, 36px); line-height: 1.45; margin: 8px 0 14px; white-space:pre-wrap; }
.bundle-main-visual { overflow:hidden; min-height:520px; border-radius:8px; background:#f5f3f4; }
.bundle-main-visual > img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.bundle-saving { width:max-content; max-width:100%; margin-bottom:15px; padding:8px 12px; border-radius:5px; background:#edf8f1; color:#167148; font-size:13px; font-weight:700; }
.bundle-includes { margin-top:65px; padding:34px 0; border-top:1px solid var(--line); }
.bundle-items-row { display:flex; align-items:stretch; justify-content:center; gap:14px; }
.bundle-item-card { width:min(280px,34%); padding:12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--text); text-decoration:none; box-shadow:0 5px 18px rgba(35,25,42,.05); }
.bundle-item-card img { width:100%; aspect-ratio:1; border-radius:6px; object-fit:cover; }
.bundle-item-card div { padding:10px 3px 2px; display:grid; gap:5px; }
.bundle-item-card span,.bundle-item-card small { color:var(--muted); font-size:11px; }
.bundle-item-card strong { line-height:1.6; }
.bundle-item-plus { width:38px; flex:0 0 38px; align-self:center; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--primary); color:#fff; font-size:25px; font-weight:700; }
.detail-price { font-size: 23px; margin-bottom: 20px; }
.detail-price strong { font-size: 24px; }
.tax-inclusive { margin:-14px 0 14px;color:#1f1b21;font-size:11px;font-weight:600; }
.short-description { color:#282229;line-height:2;padding:14px 0 20px;border-bottom:1px solid var(--line);font-size:14px;font-weight:500; }
.variant-group { padding: 18px 0 0; }
.variant-group-title { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 11px; font-weight: 700; }
.variant-options { display: flex; flex-wrap: wrap; gap: 9px; }
.color-option { width: 38px; height: 38px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px #cfc9d2; padding: 0; background: var(--color); }
.color-option.selected { box-shadow: 0 0 0 2px var(--primary); }
.text-option { min-height: 40px; padding: 0 14px; border: 1px solid #dcd6df; border-radius: 4px; background: #fff; color: var(--text); }
.text-option.selected { background: var(--primary); color: #fff; border-color: var(--primary); }
.purchase-row { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; margin-top: 25px; }
.quantity-control { min-height: 48px; display: grid; grid-template-columns: 34px 1fr 34px; border: 1px solid #ddd7e1; border-radius: 4px; overflow: hidden; }
.quantity-control button { border: 0; background: #f6f4f7; color: var(--primary); }
.quantity-control strong { display: grid; place-items: center; }
.primary-button, .secondary-button {
  min-height: 48px;
  border: 1px solid var(--primary);
  border-radius: 999px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 700;
}
.primary-button { background: var(--primary); color: #fff; }
.primary-button:hover { background: var(--primary-dark); }
.secondary-button { background: #fff; color: var(--primary); }
.buy-now { width: 100%; margin-top: 10px; }
.product-buy-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px; }
.product-buy-actions .buy-now { margin:0; }
.product-buy-actions .card-checkout { width:100%;min-width:0;border-color:#1b65b8;color:#1b65b8; }
.product-buy-actions .card-checkout:not(:disabled):hover { background:#f1f7ff; }
.product-buy-actions .card-checkout:disabled { border-color:#d8d3da;color:#918a94;background:#efedef; }
@media(max-width:520px){.product-buy-actions{gap:7px}.product-buy-actions .secondary-button{padding-inline:8px;font-size:12px}}
.product-trust { margin-top: 22px; padding: 15px; background: var(--soft); border-radius: 6px; display: grid; gap: 8px; color: #615a63; font-size: 13px; }
.product-trust span { display: flex; align-items: center; gap: 8px; }
.detail-description { margin-top: 55px; border-top: 1px solid var(--line); padding-top: 30px; }
.detail-description h2 { color: var(--primary); }
.detail-description p { color:#282229;line-height:2.1;font-weight:500; }

.product-rating-summary { display:flex; align-items:center; gap:10px; margin:-4px 0 16px; }
.product-rating-summary[hidden],.product-sales-proof[hidden] { display:none; }
.product-rating-summary a { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; text-decoration:none; }
.product-rating-summary a strong { color:var(--text); font-size:13px; }
.review-stars { display:inline-flex; direction:ltr; color:#d7d1d8; font-size:17px; line-height:1; letter-spacing:0; white-space:nowrap; }
.review-stars .filled { color:#d5a52c; }
.review-stars .half { background:linear-gradient(90deg,#d5a52c 50%,#d7d1d8 50%); color:transparent; background-clip:text; -webkit-background-clip:text; }
.product-sales-proof { width:max-content;max-width:100%;margin:0 0 16px;padding:11px 15px;display:flex;align-items:center;gap:9px;border:1px solid #d9c9e5;border-inline-start:4px solid var(--primary);border-radius:5px;background:#f7f2fa;color:#4f2d68;font-size:14px;font-weight:800; }
.product-sales-proof svg { width:20px;height:20px; }
.product-reviews-root { scroll-margin-top:150px; margin-top:55px; padding-top:45px; border-top:1px solid var(--line); }
.reviews-loading { min-height:180px; display:flex; align-items:center; justify-content:center; gap:7px; }
.reviews-loading span { width:8px; height:8px; border-radius:50%; background:var(--primary); animation:review-loading 1s ease-in-out infinite alternate; }
.reviews-loading span:nth-child(2) { animation-delay:.18s; }
.reviews-loading span:nth-child(3) { animation-delay:.36s; }
@keyframes review-loading { to { opacity:.28; transform:translateY(-5px); } }
.product-reviews-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr); column-gap:65px; row-gap:55px; align-items:start; }
.reviews-overview { min-width:0; }
.review-section-heading > span { display:flex; align-items:center; gap:7px; margin-bottom:7px; color:var(--primary); font-size:11px; font-weight:700; }
.review-section-heading h2,.review-section-heading h3 { margin:0; color:var(--text); font-size:25px; line-height:1.55; }
.review-section-heading h3 { font-size:20px; }
.review-section-heading h3 small { display:block; color:var(--muted); font-family:Arial,sans-serif; font-size:9px; font-weight:500; text-transform:uppercase; }
.review-section-heading p { max-width:620px; margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.9; }
.rating-overview { display:grid; grid-template-columns:145px minmax(0,1fr); gap:28px; align-items:center; margin:28px 0 8px; padding:25px 0; border-block:1px solid var(--line); }
.rating-score { display:grid; justify-items:center; gap:7px; border-inline-end:1px solid var(--line); }
.rating-score > strong { color:var(--text); font-size:38px; line-height:1; }
.rating-score > span:last-child { color:var(--muted); font-size:10px; }
.rating-distribution { display:grid; gap:8px; }
.rating-distribution > div { display:grid; grid-template-columns:36px minmax(80px,1fr) 28px; gap:9px; align-items:center; color:var(--muted); font-size:10px; direction:rtl; }
.rating-distribution i { height:5px; overflow:hidden; border-radius:999px; background:#ebe7ed; direction:ltr; }
.rating-distribution i b { display:block; height:100%; border-radius:inherit; background:#d5a52c; }
.rating-distribution small { text-align:end; }
.customer-review-list { display:grid; }
.customer-review { padding:25px 0; border-bottom:1px solid var(--line); }
.customer-review > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:13px; }
.review-author { display:flex; align-items:center; gap:11px; }
.review-author > div { display:grid; gap:4px; }
.review-avatar { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:50%; background:#f0ebf5; color:var(--primary); font-weight:700; }
.verified-purchase { display:flex; align-items:center; gap:4px; color:#28775c; font-size:9px; font-weight:600; }
.imported-review-badge { display:inline-flex; align-items:center; width:max-content; margin-top:3px; color:#6b5586; font-size:10px; font-weight:600; }
.customer-review time { color:var(--muted); font-size:9px; }
.customer-review > p { margin:12px 0 14px; color:#514b53; font-size:13px; line-height:2; white-space:pre-line; }
.helpful-review { min-height:31px; padding:0 10px; border:1px solid var(--line); border-radius:4px; display:inline-flex; align-items:center; gap:7px; background:#fff; color:var(--muted); font-size:10px; }
.helpful-review small { min-width:17px; color:var(--text); }
.helpful-review.is-done { border-color:#b9ddce; background:#f0f8f4; color:#28775c; }
.reviews-empty { min-height:155px; display:flex; align-items:center; justify-content:center; gap:15px; color:var(--muted); text-align:start; }
.reviews-empty-mark { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:50%; background:#f4f0f7; color:var(--primary); }
.reviews-empty-stars { direction:ltr; width:max-content; margin-bottom:7px; color:#d7d1d8; font-size:17px; letter-spacing:0; }
.reviews-empty strong { color:var(--text); }
.reviews-empty p { margin:4px 0 0; font-size:11px; }
.store-recommendations { min-width:0; padding-inline-start:28px; border-inline-start:1px solid var(--line); }
.store-recommendation-list { display:grid; gap:14px; margin-top:24px; }
.store-recommendation { position:relative; display:grid; grid-template-columns:31px minmax(0,1fr); gap:11px; padding:20px; border:1px solid #e3dce8; border-radius:7px; background:#fbf9fc; }
.store-recommendation-mark { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:var(--primary); color:#fff; }
.store-recommendation p { margin:10px 0 15px; color:#514b53; font-size:12px; line-height:2; white-space:pre-line; }
.store-recommendation footer { display:grid; gap:2px; }
.store-recommendation footer strong { font-size:11px; }
.store-recommendation footer span { color:var(--primary); font-size:9px; font-weight:700; }
.product-review-form { grid-column:1 / -1; padding-top:45px; border-top:1px solid var(--line); }
.product-review-form form { max-width:820px; margin-top:25px; }
.review-rating-field { margin:0 0 22px; padding:0; border:0; }
.review-rating-field legend,.review-form-grid label > span { display:block; margin-bottom:8px; color:var(--text); font-size:11px; font-weight:700; }
.review-rating-field legend span,.review-form-grid label b { color:var(--sale); }
.review-rating-picker { display:flex; direction:ltr; width:max-content; }
.review-rating-picker button { width:36px; height:36px; padding:0; border:0; background:transparent; color:#d8d2da; font-size:29px; transition:color .15s ease,transform .15s ease; }
.review-rating-picker button:hover,.review-rating-picker button:focus-visible,.review-rating-picker button.selected { color:#d5a52c; transform:translateY(-1px); }
.review-signed-user { width:fit-content; max-width:100%; margin:0 0 20px; padding:11px 14px; display:flex; align-items:center; gap:10px; border:1px solid #dcd3e4; border-radius:6px; background:#faf8fc; color:var(--primary); }
.review-signed-user > div { display:grid; gap:2px; }
.review-signed-user span { color:var(--muted); font-size:9px; }
.review-signed-user strong { color:var(--text); font-size:12px; }
.review-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.review-form-grid label.full { grid-column:1 / -1; }
.review-form-grid input,.review-form-grid textarea { width:100%; border:1px solid #ddd7e1; border-radius:5px; background:#fff; color:var(--text); padding:11px 13px; font:inherit; font-size:12px; outline:none; }
.review-form-grid input { min-height:44px; }
.review-form-grid textarea { resize:vertical; line-height:1.8; }
.review-form-grid input:focus,.review-form-grid textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(88,58,128,.09); }
.review-verification-fields { margin-top:19px; padding-block:15px; border-block:1px solid var(--line); }
.review-verification-fields summary { width:max-content; cursor:pointer; color:var(--primary); font-size:11px; font-weight:700; }
.review-verification-fields summary span { color:var(--muted); font-size:9px; font-weight:500; }
.review-verification-fields[open] summary { margin-bottom:17px; }
.review-form-actions { display:flex; align-items:center; gap:18px; margin-top:22px; }
.review-form-actions .primary-button { min-width:155px; }
.review-form-actions p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.review-form-actions p.success { color:#28775c; }
.review-form-actions p.error { color:#a73535; }
.reviews-load-error { min-height:150px; display:flex; align-items:center; justify-content:center; gap:13px; color:var(--muted); }
.reviews-load-error strong { color:var(--text); }
.reviews-load-error p { margin:3px 0 0; font-size:10px; }
.reviews-load-error button { min-height:36px; padding:0 13px; border:1px solid var(--primary); border-radius:4px; background:#fff; color:var(--primary); font-weight:700; }

.cart-page { padding-bottom: 80px; }
.cart-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 30px; align-items: start; }
.cart-items { border-top: 1px solid var(--line); }
.cart-item { display: grid; grid-template-columns: 110px minmax(0,1fr) auto; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); align-items: center; }
.cart-item-media,.cart-main-image { width:110px; height:110px; border-radius:6px; overflow:hidden; }
.cart-main-image { object-fit:cover; }
.cart-item h3 { margin: 0 0 7px; font-size: 16px; }
.cart-item.is-bundle { align-items:start; padding:22px 0; }
.cart-bundle-media { width:100%; height:100%; padding:5px; display:grid; grid-template-columns:1fr 1fr; gap:4px; background:#f4f1f5; }
.cart-bundle-media img { width:100%; height:100%; min-width:0; object-fit:cover; border-radius:4px; }
.cart-bundle-components { margin-top:13px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.cart-bundle-components a { min-width:0; padding:6px; border:1px solid var(--line); border-radius:6px; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:7px; color:var(--text); background:#faf9fa; }
.cart-bundle-components img { width:38px; height:38px; border-radius:4px; object-fit:cover; }
.cart-bundle-components span { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-size:10px; line-height:1.45; }
.cart-variant { color: var(--muted); font-size: 12px; }
.cart-item-actions { display: flex; align-items: center; gap: 12px; }
.remove-link { border: 0; background: transparent; color: var(--sale); padding: 6px; }
.cart-summary { position: sticky; top: 150px; padding: 22px; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: 0 4px 18px rgba(44,31,52,.06); }
.cart-summary h2 { color: var(--primary); margin-top: 0; }
.summary-row { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.summary-row.discount { color: #14845d; }
.summary-row.shipping strong { color: #14845d;white-space:nowrap; }
.summary-row.shipping > span { display:grid;gap:3px; }
.summary-row.shipping small { color: var(--muted); font-size: 10px; font-weight: 500; }
.shipping-price-discount { display:inline-flex!important;align-items:center;flex-wrap:nowrap;gap:7px!important;white-space:nowrap; }
.shipping-price-discount del { display:inline-flex;align-items:center;color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap; }
.shipping-price-discount b { color: #14845d; }
.summary-total { display: flex; justify-content: space-between; gap: 12px; padding: 20px 0; font-size: 20px; color: var(--primary-dark); }
.coupon-box { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.coupon-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 8px; }
.coupon-row input, .checkout-form input, .checkout-form select, .checkout-form textarea { min-height: 43px; border: 1px solid #ddd7e1; border-radius: 4px; padding: 0 11px; width: 100%; background: #fff; color: var(--text); font: inherit; }
.coupon-row button { min-height: 43px; border: 0; border-radius: 4px; background: var(--primary); color: #fff; padding: 0 15px; }
.coupon-message { min-height: 22px; padding-top: 5px; font-size: 12px; color: var(--muted); }
.coupon-message.success { color: #14845d; }
.coupon-message.error { color: var(--sale); }
.applied-promo-list { display:flex; flex-wrap:wrap; gap:7px; margin:8px 0 10px; }
.applied-promo-list button { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:6px 9px; color:#256247; background:#edf7f1; border:1px solid #cce7d8; border-radius:4px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.applied-promo-list button:active { transform:scale(.97); }
.empty-cart { min-height: 460px; display: grid; place-items: center; text-align: center; }
.empty-cart .icon { width: 58px; height: 58px; color: var(--primary); margin: 0 auto 15px; }
.checkout-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 25px; }
.checkout-form label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; }
.checkout-label-text { display: inline-flex; align-items: center; gap: 3px; width: max-content; }
.checkout-label-text i { color: #c62828; font-size: 12px; font-style: normal; font-weight: 800; line-height: 1; }
.checkout-required-star { color:#c62828;font-style:normal;font-weight:800; }
.checkout-form > .full { grid-column: 1 / -1; }
.checkout-phone-control { display: flex; align-items: stretch; direction: ltr; }
.checkout-phone-control > span { display: none; align-items: center; border: 1px solid #ddd7e1; border-inline-end: 0; border-radius: 4px 0 0 4px; padding: 0 12px; background: #f7f5f8; color: var(--text); font-weight: 700; }
.checkout-phone-control.is-saudi > span { display: flex; }
.checkout-phone-control.is-saudi input { border-radius: 0 4px 4px 0; text-align: left; }
.checkout-field-hint { color: var(--muted); font-size: 10px; }
.checkout-form label.full { grid-column: 1 / -1; }
.checkout-form textarea { min-height: 90px; padding: 10px; resize: vertical; }
.checkout-address-book { padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff; }
.checkout-address-book>header,.checkout-address-editor-head { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px; }
.checkout-address-book>header span,.checkout-address-editor-head span { display:block;color:var(--primary);font-size:11px;font-weight:800; }
.checkout-address-book>header h2 { margin:3px 0 0;font-size:19px; }
.checkout-address-book>header a,.checkout-address-editor-head button { border:0;background:transparent;color:var(--primary);font-weight:800;text-decoration:underline;text-underline-offset:4px; }
.checkout-address-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.checkout-address-option { position:relative;display:grid!important;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;min-height:88px;padding:13px;border:1px solid #e3dee6;border-radius:7px;color:var(--text)!important;cursor:pointer; }
.checkout-address-option>input { position:absolute;opacity:0;pointer-events:none; }
.checkout-address-option:has(input:checked) { border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent);background:#fcfaff; }
.checkout-address-check { width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f3eef7;color:var(--primary); }
.checkout-address-option>span:last-child { min-width:0;display:grid;gap:2px; }
.checkout-address-option strong { display:flex;align-items:center;gap:7px;font-size:14px; }
.checkout-address-option strong small { padding:2px 7px;border-radius:999px;background:#e9f8f0;color:#177448;font-size:9px; }
.checkout-address-option b { overflow:hidden;color:var(--muted);font-size:11px;font-weight:500;white-space:nowrap;text-overflow:ellipsis; }
.checkout-address-option em { color:var(--primary);font-size:10px;font-style:normal;direction:ltr;text-align:start; }
.checkout-address-editor { padding:18px;border:1px solid var(--line);border-radius:8px;background:#faf9fb; }
.checkout-address-editor-head { margin:0 0 14px; }
.checkout-address-editor-head strong { display:block;margin-top:3px;font-size:15px; }
.checkout-address-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.checkout-address-fields>.full { grid-column:1/-1; }
.checkout-address-editor.is-collapsed .checkout-address-fields { display:none; }
.checkout-address-editor.is-collapsed { padding-block:13px; }
.checkout-address-editor.is-collapsed .checkout-address-editor-head { margin:0; }
.checkout-save-address { grid-template-columns:auto minmax(0,1fr) 120px minmax(140px,1fr)!important;align-items:center;gap:10px!important;padding:12px;border:1px dashed #d8cedf;border-radius:6px;background:#fff; }
.checkout-save-address>input[type="checkbox"] { width:18px;min-height:18px; }
.checkout-save-address>span { color:var(--text);font-weight:700; }
.checkout-payment-methods { --checkout-payment-height:96px;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px; }
.checkout-payment-methods legend { width:100%;margin-bottom:8px;color:var(--muted);font-size:12px; }
.checkout-payment-choice { position:relative;min-width:0;height:var(--checkout-payment-height);display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;color:var(--text)!important;cursor:pointer; }
.checkout-payment-choice>input { position:absolute;opacity:0;pointer-events:none; }
.checkout-payment-indicator { width:18px;height:18px;border:1px solid #a9a1ad;border-radius:50%;display:grid;place-items:center;background:#fff;transition:border-color .18s cubic-bezier(.23,1,.32,1),box-shadow .18s cubic-bezier(.23,1,.32,1); }
.checkout-payment-choice input:checked+.checkout-payment-indicator { border:5px solid var(--primary); }
.checkout-payment-choice.is-tamara input:checked+.checkout-payment-indicator { border-color:#627d0b; }
.checkout-payment-choice.is-edfapay input:checked+.checkout-payment-indicator { border-color:#1b65b8; }
.checkout-payment-choice.is-tabby input:checked+.checkout-payment-indicator { border-color:#4b2ad4; }
.checkout-payment-frame { width:100%;height:var(--checkout-payment-height);min-width:0;display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #ddd7e1;border-radius:8px;background:#fff;transition:border-color .18s cubic-bezier(.23,1,.32,1),box-shadow .18s cubic-bezier(.23,1,.32,1),background-color .18s cubic-bezier(.23,1,.32,1); }
.checkout-payment-choice:hover .checkout-payment-frame { border-color:#b8a8c6; }
.checkout-payment-choice:has(input:checked) .checkout-payment-frame { border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent); }
.checkout-payment-choice.is-tamara:has(input:checked) .checkout-payment-frame { border-color:#7b970d;background:#fdfff7; }
.checkout-payment-choice.is-edfapay:has(input:checked) .checkout-payment-frame { border-color:#1b65b8;background:#f8fbff; }
.checkout-payment-choice.is-tabby:has(input:checked) .checkout-payment-frame { border-color:#4b2ad4;background:#faf9ff; }
.checkout-payment-choice.is-tamara .checkout-payment-frame,
.checkout-payment-choice.is-tamara:hover .checkout-payment-frame,
.checkout-payment-choice.is-tamara:has(input:checked) .checkout-payment-frame,
.checkout-payment-choice.is-tabby .checkout-payment-frame,
.checkout-payment-choice.is-tabby:hover .checkout-payment-frame,
.checkout-payment-choice.is-tabby:has(input:checked) .checkout-payment-frame { padding:0;border-color:transparent;box-shadow:none;background:transparent; }
.checkout-cod-image { width:44px;height:44px;flex:0 0 44px;object-fit:contain;opacity:.88; }
.checkout-payment-copy { min-width:0;display:grid;gap:4px; }
.checkout-payment-copy strong { font-size:15px;color:var(--text); }
.checkout-payment-copy small { font-size:12px;line-height:1.6;color:var(--muted); }
.checkout-installment-widget { display:block;width:100%;min-width:0;color:var(--muted);font-size:12px;line-height:1.5; }
.checkout-installment-widget .installment-widget { width:100%;min-height:22px;border-radius:0;overflow:visible; }
.checkout-installment-widget .tamara-installment-widget { width:100%;min-height:22px; }
.checkout-installment-widget tamara-widget { display:block;width:100%;min-height:var(--checkout-payment-height); }
.checkout-card-brands { margin-inline-start:auto;display:flex;align-items:center;gap:7px;direction:ltr; }
.checkout-card-brands img { width:48px;height:30px;flex:0 0 auto;object-fit:contain; }
.checkout-card-brands img.is-mada { width:58px;height:34px; }
.checkout-card-brands img.is-mastercard { width:42px; }
.checkout-card-brands img.is-apple-pay { width:55px; }
.payment-redirect-guard { grid-column:1/-1;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;margin:4px 0 12px;padding:12px;border:1px solid #d9d1df;border-inline-start:3px solid var(--primary);border-radius:6px;background:#fff; }
.payment-redirect-guard>svg,.payment-redirect-guard>i { color:var(--primary); }
.payment-redirect-guard div { display:grid;gap:3px; }
.payment-redirect-guard strong { font-size:13px; }
.payment-redirect-guard small { color:var(--muted);font-size:11px;line-height:1.5; }
.payment-redirect-guard .primary-button { min-height:38px;padding:0 16px;white-space:nowrap; }
.checkout-tamara-mark { min-width:66px;padding:8px 10px;border-radius:5px;background:#b7ef1a;color:#111;font-family:Arial,sans-serif;font-size:15px;font-weight:900;text-align:center;letter-spacing:0; }
.payment-return { min-height:520px;display:grid;place-items:center;text-align:center; }
.payment-return-state { width:min(560px,100%);display:grid;justify-items:center;gap:9px;padding:44px 28px; }
.payment-return-state>.icon { width:58px;height:58px;color:var(--primary); }
.payment-return-state.is-loading>.icon { animation:payment-return-spin 1s linear infinite; }
.payment-return-state.is-failed>.icon { color:#b42318; }
.payment-return-state>span { margin-top:6px;padding:6px 12px;border-radius:5px;background:#b7ef1a;color:#111;font:900 13px/1 Arial,sans-serif; }
.payment-return-state>span.edfapay-return-mark { background:#e8f2ff;color:#174f8e; }
.payment-return-state>span.tabby-return-mark { background:#3d1fc7;color:#fff; }
.payment-return-state h1,.payment-return-state p { margin:0; }
.payment-return-state h1 { margin-top:4px;font-size:27px; }
.payment-return-state p { max-width:460px;color:var(--muted);font-size:13px;line-height:1.9; }
.payment-return-state .primary-button { margin-top:13px;min-width:190px;text-decoration:none; }
@keyframes payment-return-spin { to { transform:rotate(360deg); } }
.national-address-card { grid-column:1 / -1; padding:16px; border:1px solid #d9d2df; border-inline-start:3px solid var(--primary); border-radius:6px; background:#faf8fb; }
.national-address-card[hidden] { display:none; }
.national-address-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.national-address-head > div { display:grid; gap:4px; }
.national-address-head span:first-child { color:var(--primary); font-size:11px; font-weight:800; }
.national-address-head strong { color:var(--text); font-size:14px; }
.national-address-control { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.national-address-control input { direction:ltr; text-transform:uppercase; letter-spacing:2px; font-weight:800; }
.national-address-control button { min-height:43px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:0; border-radius:4px; background:var(--primary); color:#fff; font:inherit; font-size:12px; font-weight:800; }
.national-address-control button:disabled { background:#aaa4ad; cursor:not-allowed; }
.national-address-control button:active { transform:scale(.98); }
.national-address-card p { margin:9px 0 0; color:var(--muted); font-size:11px; }
.address-verification-state { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#eeeaf0; color:#68606d; font-size:10px; font-weight:800; }
.address-verification-state.is-verified { background:#e7f7ef; color:#087f5b; }
.address-verification-state.is-pending { background:#fff5d8; color:#8b6200; }
.address-verification-state.is-error { background:#fff0ee; color:#b42318; }

.store-footer { background:var(--footer); color:#fff; margin-top:0; }
.footer-main { padding:48px 0 36px; display:grid; grid-template-columns:1.25fr .8fr 1fr 1.15fr; gap:32px; align-items:start; }
.footer-main > section { min-width:0; }
.footer-logo-link { display:inline-flex; }
.footer-brand img { width:88px; height:100px; object-fit:contain; }
.footer-brand p { margin:14px 0 0; color:#ffffffe0; line-height:1.9; font-size:14px; max-width:310px; }
.socials { display:flex; gap:10px; margin-top:20px; }
.social-link { width:44px; height:44px; border:1px solid #ffffff45; border-radius:50%; background:#ffffff0a; color:#fff; display:grid; place-items:center; transition:background .2s,border-color .2s; }
.social-link:hover { background:#ffffff20; border-color:#fff; }
.footer-column h3 { margin:0 0 14px; font-size:17px; line-height:1.7; }
.footer-column nav,.footer-contact > div { display:grid; gap:2px; }
.footer-column nav a { display:flex; align-items:center; min-height:44px; color:#ffffffe0; font-size:14px; width:fit-content; }
.footer-column a:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.footer-contact-row { display:flex; align-items:center; gap:10px; min-height:44px; color:#ffffffe0; font-size:14px; overflow-wrap:anywhere; }
.footer-contact-row svg { flex:0 0 18px; opacity:.8; }
.footer-contact-row bdi { min-width:0; }
.footer-business { border:1px solid #ffffff30; background:#ffffff08; border-radius:14px; padding:18px; }
.footer-business-heading { display:flex; align-items:center; gap:12px; }
.footer-business-heading h3 { margin:0; font-size:14px; }
.business-logo { width:54px; height:64px; object-fit:contain; flex-shrink:0; background:#fff; border-radius:10px; padding:7px; }
.footer-business dl { margin:18px 0 0; display:grid; gap:12px; }
.footer-business dl > div { display:grid; gap:2px; }
.footer-business dt { color:#ffffffb8; font-size:12px; }
.footer-business dd { margin:0; font-size:14px; font-family:var(--font-en); letter-spacing:.4px; }
.footer-bottom { border-top:1px solid #ffffff26; padding:20px 0; }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-bottom p { margin:0; font-size:13px; color:#ffffffcf; }
.footer-payments { display:flex; align-items:center; gap:14px; }
.footer-payments > span { display:flex; align-items:center; gap:7px; font-size:12px; white-space:nowrap; color:#ffffffe0; }
.payment-methods { width:248px; height:50px; object-fit:contain; background:white; border-radius:8px; padding:8px 12px; }
.store-footer a:focus-visible { outline-color:#fff; }
.store-footer #about { scroll-margin-top:130px; }
.whatsapp-float { position:fixed; z-index:25; right:20px; bottom:max(20px,env(safe-area-inset-bottom)); width:52px; height:52px; border:2px solid #fff; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; line-height:0; text-decoration:none; box-shadow:0 6px 20px rgba(18,75,40,.28); transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease; }
.whatsapp-float .whatsapp-mark { display:block; width:28px; height:28px; }
.whatsapp-float:hover { color:#fff; background:#1fbd59; text-decoration:none; transform:translateY(-2px); box-shadow:0 9px 24px rgba(18,75,40,.32); }
.whatsapp-float:focus-visible { outline:3px solid rgba(37,211,102,.35); outline-offset:3px; }
.footer-contact-row .whatsapp-mark { flex:0 0 18px; opacity:.9; }
.dynamic-page { padding-bottom:72px; }
.dynamic-page-head { padding:52px 0 44px;border-bottom:1px solid var(--line);background:var(--surface-soft,#f8f7f5); }
.dynamic-page-head span { display:block;margin-bottom:8px;color:var(--primary);font-size:12px;font-weight:800; }
.dynamic-page-head h1 { margin:0;font-size:clamp(34px,5vw,58px);line-height:1.2; }
.dynamic-page-head p { max-width:720px;margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.8; }
.dynamic-page-layout { display:grid;grid-template-columns:220px minmax(0,760px);justify-content:center;align-items:start;gap:56px;padding-top:48px; }
.dynamic-page-index { position:sticky;top:120px;display:grid;border-inline-start:1px solid var(--line); }
.dynamic-page-index a { padding:11px 16px;color:var(--muted);font-size:14px;line-height:1.5; }
.dynamic-page-index a:hover,.dynamic-page-index a.active { color:var(--primary); }
.dynamic-page-index a.active { border-inline-start:3px solid var(--primary);margin-inline-start:-2px;font-weight:800; }
.dynamic-page-body { min-width:0;color:var(--text); }
.dynamic-page-body p { margin:0 0 24px;font-size:16px;line-height:2.05; }
.dynamic-page-body h2 { margin:42px 0 16px;font-size:25px;line-height:1.45; }
.dynamic-page-body h2:first-child { margin-top:0; }
.dynamic-page-body ul { margin:0 0 28px;padding-inline-start:24px;display:grid;gap:10px; }
.dynamic-page-body li { padding-inline-start:4px;font-size:16px;line-height:1.8; }
.account-page { padding-bottom:76px; }
.account-hero { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:34px 0 28px;border-bottom:1px solid var(--line); }
.account-hero span,.account-panel>header span { color:var(--primary);font-size:11px;font-weight:800; }
.account-hero h1 { margin:5px 0 4px;font-size:34px; }
.account-hero p,.account-panel>header p { margin:0;color:var(--muted); }
.account-layout { display:grid;grid-template-columns:210px minmax(0,1fr);gap:34px;padding-top:30px;align-items:start; }
.account-nav { position:sticky;top:130px;display:grid;border-inline-start:1px solid var(--line); }
.account-nav a { display:flex;align-items:center;justify-content:space-between;padding:12px 15px;color:var(--muted); }
.account-nav a:hover { color:var(--primary); }
.account-nav b { min-width:24px;padding:2px 6px;border-radius:999px;background:#f1ecf5;color:var(--primary);font-size:10px;text-align:center; }
.account-content { display:grid;gap:20px; }
.account-panel { padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff; }
.account-panel>header { display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px; }
.account-panel>header h2 { margin:3px 0 4px;font-size:22px; }
.account-profile-form { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:end; }
.account-profile-form label,.account-address-grid label { display:grid;gap:6px;color:var(--muted);font-size:12px; }
.account-profile-form input,.account-address-grid input,.account-address-grid select,.account-address-grid textarea { width:100%;min-height:43px;padding:0 11px;border:1px solid #ddd7e1;border-radius:4px;background:#fff;color:var(--text); }
.account-address-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px; }
.account-address-card { padding:17px;border:1px solid #e1dce4;border-radius:7px;background:#fff; }
.account-address-card.is-default { border-color:var(--primary);background:#fcfaff; }
.account-address-card header { display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px; }
.account-address-card header>span { width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f1ecf5;color:var(--primary); }
.account-address-card h3 { margin:0;font-size:16px; }
.account-address-card header small { color:var(--muted);font-size:10px; }
.account-address-card header>b { padding:3px 8px;border-radius:999px;background:#e7f8ef;color:#177448;font-size:10px; }
.account-address-card>p { min-height:44px;margin:14px 0;color:var(--text);line-height:1.7; }
.account-address-card dl { display:grid;gap:5px;margin:0;padding-top:11px;border-top:1px solid var(--line); }
.account-address-card dl div { display:flex;justify-content:space-between;gap:10px;font-size:11px; }
.account-address-card dt { color:var(--muted); }.account-address-card dd { margin:0;font-weight:700; }
.account-address-card footer { display:flex;flex-wrap:wrap;gap:7px;margin-top:14px; }
.account-address-card footer button { display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #ddd7e1;border-radius:4px;background:#fff;color:var(--text);font-size:11px; }
.account-address-card footer button.danger { margin-inline-start:auto;color:#a52931; }
.account-empty { grid-column:1/-1;padding:34px;border:1px dashed #d8d0dc;border-radius:7px;text-align:center;color:var(--muted); }
.account-empty span { color:var(--primary); }.account-empty h3 { margin:8px 0 4px;color:var(--text); }
.account-orders { display:grid;gap:8px; }.account-orders article { display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid var(--line); }
.account-orders article:last-child { border-bottom:0; }.account-orders article div { display:grid;gap:3px; }.account-orders article span { color:var(--primary);font-size:10px; }.account-orders article p { margin:0;color:var(--muted); }
.account-address-dialog { width:min(820px,calc(100vw - 28px));max-height:min(840px,calc(100vh - 28px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:8px;background:#fff;box-shadow:0 24px 70px rgba(25,14,31,.28);overflow:hidden; }
.account-address-dialog>header,.account-address-dialog>footer { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line); }
.account-address-dialog>header span { color:var(--primary);font-size:11px;font-weight:800; }.account-address-dialog>header h2 { margin:3px 0 0;font-size:21px; }
.account-address-dialog>footer { justify-content:flex-start;border-top:1px solid var(--line);border-bottom:0; }
.account-address-dialog-body { min-height:0;padding:20px 22px;overflow:auto;scrollbar-width:thin; }
.address-kind-picker { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px; }.address-kind-picker label { position:relative; }.address-kind-picker input { position:absolute;opacity:0; }.address-kind-picker span { display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border:1px solid var(--line);border-radius:6px;cursor:pointer; }.address-kind-picker input:checked+span { border-color:var(--primary);background:#f7f1fb;color:var(--primary);font-weight:800; }
.account-address-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px; }.account-address-grid .full { grid-column:1/-1; }.account-address-grid textarea { min-height:76px;padding:10px;resize:vertical; }
.account-short-address { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px; }.account-short-address button { padding:0 12px;border:1px solid var(--primary);border-radius:4px;background:#fff;color:var(--primary);font-weight:800; }
.account-address-message { min-height:20px;margin:12px 0 0;color:var(--primary);font-size:12px; }
.scroll-top { position:fixed; z-index:25; left:20px; bottom:max(20px,env(safe-area-inset-bottom)); width:48px; height:48px; padding:0; border:1px solid rgba(47,30,69,.16); border-radius:50%; background:#fff; color:var(--primary); display:grid; place-items:center; box-shadow:0 6px 20px rgba(35,24,43,.18); opacity:0; visibility:hidden; transform:translateY(12px); pointer-events:none; transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background-color .18s ease,color .18s ease; }
.scroll-top.is-visible { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.scroll-top:hover { background:var(--primary); color:#fff; }
.scroll-top:focus-visible { outline:3px solid rgba(95,58,126,.25); outline-offset:3px; }

.drawer-backdrop { position: fixed; z-index: 50; inset: 0; border: 0; background: rgba(26,18,31,.46); backdrop-filter: blur(2px); }
.side-drawer { position: fixed; z-index: 51; inset-block: 0; inset-inline-start: 0; width: min(390px, 92vw); background: #fff; box-shadow: 15px 0 40px rgba(0,0,0,.18); display: grid; grid-template-rows: auto 1fr auto; animation: drawerIn .22s ease; }
@keyframes drawerIn { from { transform: translateX(105%); } }
.drawer-head { min-height: 74px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.drawer-head img { width: 60px; height: 50px; object-fit: contain; }
.close-button { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: #fff; display: grid; place-items: center; }
.drawer-body { overflow-y: auto; padding: 18px; }
.drawer-menu { display: grid; }
.drawer-menu a { padding: 15px 5px; border-bottom: 1px solid var(--line); font-weight: 700; }
.drawer-foot { padding: 16px 18px; border-top: 1px solid var(--line); }
.search-dialog { position: fixed; z-index: 51; top: 50%; left: 50%; transform: translate(-50%,-50%); width: min(680px, calc(100vw - 30px)); background: #fff; border-radius: 8px; box-shadow: 0 24px 80px rgba(0,0,0,.25); padding: 24px; }
.search-input-wrap { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.search-input-wrap input { min-height: 50px; border: 1px solid #d9d3dc; border-radius: 4px; padding: 0 14px; }
.search-results { max-height: 380px; overflow-y: auto; display: grid; gap: 8px; margin-top: 15px; }
.search-result { display: grid; grid-template-columns: 60px 1fr auto; gap: 12px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 5px; }
.search-result img { width: 60px; height: 60px; object-fit: cover; }
.lightbox { position:fixed;z-index:60;inset:0;background:rgba(15,10,18,.94);display:grid;place-items:center;padding:30px; }
.lightbox-media { width:100%;height:100%;display:grid;place-items:center; }
.lightbox-loading{color:#fff;font-size:14px;font-weight:700;position:absolute;display:flex;align-items:center;gap:10px}.lightbox-loading::before{content:"";width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:lightbox-spin .8s linear infinite}@keyframes lightbox-spin{to{transform:rotate(360deg)}}
.bundle-gallery #bundleGalleryImage{cursor:zoom-in}
.lightbox img,.lightbox video { max-width:92vw;max-height:90vh;object-fit:contain; }
.lightbox video { width:min(1100px,92vw);background:#000; }
.lightbox .close-button { position: absolute; top: 20px; inset-inline-end: 20px; color: #fff; background: transparent; border-color: rgba(255,255,255,.4); }
.lightbox-nav { position:absolute;z-index:2;top:50%;width:48px;height:48px;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(8px); }
.lightbox-prev { left:22px; }
.lightbox-next { right:22px; }
.lightbox-counter { position:absolute;bottom:18px;left:50%;transform:translateX(-50%);direction:ltr;padding:5px 11px;border-radius:999px;background:rgba(0,0,0,.46);color:#fff;font:600 12px var(--font-en); }

.cart-update-backdrop { z-index:80;background:rgba(28,18,31,.58);backdrop-filter:blur(4px); }
.cart-update-dialog { position:fixed;z-index:81;inset-inline-start:50%;inset-block-start:50%;width:min(590px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));display:flex;flex-direction:column;transform:translate(-50%,-50%);background:#fff;border:1px solid #e4dce8;border-radius:8px;box-shadow:0 24px 80px rgba(33,20,38,.24);overflow:hidden; }
[dir="rtl"] .cart-update-dialog { transform:translate(50%,-50%); }
.cart-update-dialog>header { display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:22px 24px;border-bottom:1px solid #eee8f0;background:#fbf9fc; }
.cart-update-dialog>header>span { width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#efe7f5;color:var(--primary); }
.cart-update-dialog>header small { color:var(--primary);font-size:11px;font-weight:800; }
.cart-update-dialog>header h2 { margin:3px 0 4px;font-size:21px; }
.cart-update-dialog>header p { margin:0;color:var(--muted);font-size:13px; }
.cart-update-list { min-height:0;overflow:auto;padding:8px 24px;scrollbar-width:thin; }
.cart-update-line { display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid #eee8f0; }
.cart-update-line:last-child { border-bottom:0; }
.cart-update-icon { width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#f5f1f7;color:var(--primary); }
.cart-update-line strong,.cart-update-line small { display:block; }
.cart-update-line strong { font-size:14px; }
.cart-update-line small { margin-top:3px;color:var(--muted);font-size:12px; }
.cart-update-line p { display:flex;align-items:center;gap:10px;margin:10px 0 0;font-size:13px; }
.cart-update-line p del { color:#8c8290; }
.cart-update-line p b { color:var(--primary);font-size:15px; }
.cart-update-line p svg { color:#9c91a0; }
.cart-update-line p.is-removed { display:block;color:#9b2d33;line-height:1.6; }
.cart-update-dialog>footer { padding:16px 24px 20px;border-top:1px solid #eee8f0;background:#fff; }
.cart-update-dialog>footer p { display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--muted);font-size:12px; }
.cart-update-dialog>footer .primary-button { width:100%;justify-content:center; }
.cart-update-dialog.is-error>header>span { background:#fff0ef;color:#b42318; }
.cart-update-dialog.is-error>footer p { color:#8b3030; }

@media (max-width:640px) {
  .cart-update-dialog { width:calc(100vw - 20px);max-height:calc(100vh - 20px); }
  .cart-update-dialog>header { grid-template-columns:40px minmax(0,1fr);gap:10px;padding:18px 16px; }
  .cart-update-dialog>header>span { width:40px;height:40px; }
  .cart-update-dialog>header h2 { font-size:18px; }
  .cart-update-list { padding:6px 16px; }
  .cart-update-dialog>footer { padding:14px 16px 16px; }
}
.toast { position: fixed; z-index: 80; bottom: 22px; inset-inline-start: 22px; max-width: min(370px, calc(100vw - 44px)); padding: 13px 16px; border-radius: 6px; background: var(--primary-dark); color: #fff; box-shadow: 0 12px 36px rgba(0,0,0,.2); animation: toastIn .2s ease; }
@keyframes toastIn { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 1020px) {
  .header-main { grid-template-columns: 150px 1fr 300px; }
  .main-nav { gap: 18px; }
  .main-nav a { font-size: 13px; }
  .login-button { padding-inline: 15px; }
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer-main { gap: 35px; }
  .eid-showcase { grid-template-columns: 230px minmax(0,1fr); gap: 15px; }
  .eid-products { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
  .featured-product-image { width: 100%; height: auto; aspect-ratio: 1; }
}

@media (max-width: 760px) {
  .container { width: min(100% - 24px, var(--container)); }
  .desktop-only { display: none !important; }
  .mobile-only { display: grid !important; }
  .announcement { min-height: 29px; font-size: 10px; }
  .store-header.is-sticky { top: 0; }
  .header-main { min-height: 76px; grid-template-columns: 1fr auto 1fr; gap: 8px; }
  .header-main > .header-logo { grid-column: 2; grid-row: 1; }
  .header-main > [data-menu-open] { grid-column: 1; grid-row: 1; justify-self: start; }
  .header-main > .header-actions.mobile-only { grid-column: 3; grid-row: 1; justify-self: end; }
  .header-logo { justify-content: center; }
  .header-logo img { width: 62px; height: 64px; }
  .header-actions { gap: 6px; }
  .round-action { width: 36px; height: 36px; }
  .round-action .icon { width: 18px; height: 18px; }
  .category-strip-inner { justify-content: flex-start; overflow-x: auto; min-height: 62px; gap: 22px; scrollbar-width: none; }
  .category-strip-inner::-webkit-scrollbar { display: none; }
  .category-shortcut { font-size: 11px; }
  .category-shortcut img { width: 40px; height: 40px; }
  .breadcrumbs { padding: 17px 0; font-size: 12px; }
  .hero { margin: 12px 0 0; }
  .hero-stage { min-height: 0; }
  .hero-slide img { object-position: center; }
  .hero-copy { align-items: flex-end; padding: 25px 20px 42px; background: linear-gradient(transparent 45%,rgba(27,14,38,.55)); }
  .hero-copy h1 { font-size: 28px; }
  .hero-copy p { font-size: 12px; line-height: 1.7; }
  .section { padding: 38px 0; }
  .section-head { margin-bottom: 20px; }
  .section-head h2 { font-size: 21px; }
  .home-content .section-head { min-height: 46px; margin-bottom: 14px; }
  .home-content .section-head h2 { font-size: 20px; }
  .home-content .section-link { font-size: 13px; }
  .home-offers, .home-latest { padding: 30px 0 42px; }
  .home-categories { padding: 20px 0 38px; }
  .home-rail, .home-categories .home-rail { grid-auto-columns: calc((100% - 10px) / 2); gap: 10px; padding-inline: 0; }
  .home-rail .product-card { min-height: 0; padding: 7px; border-radius: 7px; }
  .home-rail .product-title { min-height: 52px; font-size: 12px; line-height: 1.65; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .home-rail .price strong { font-size: 13px; }
  .home-rail .card-add { display: none; }
  .home-rail .wish-button { opacity: 1; transform: none; }
  .home-collection .section-head { align-items: end; }
  .home-collection .section-head > div { gap: 2px; }
  .home-collection .section-link { max-width: 110px; text-align: left; line-height: 1.55; }
  .home-collection .home-rail .collection-variant-meta { min-height: 45px; align-content: center; }
  .collection-color,
  .collection-option { max-width: 100%; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
  .rail-arrow { display: none; }
  .eid-showcase { grid-template-columns: 1fr; gap: 12px; }
  .eid-promos { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: 260px; gap: 10px; }
  .eid-promo { min-height: 260px; padding: 22px 12px; gap: 16px; }
  .eid-promo span, .eid-promo-short span { font-size: 18px; line-height: 1.55; }
  .eid-promo b { min-width: 104px; min-height: 36px; padding: 6px 14px; font-size: 13px; }
  .eid-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .featured-product-card { min-height: 0; padding: 7px; }
  .featured-product-image { width: 100%; height: auto; aspect-ratio: 1; }
  .featured-product-title { min-height: 53px; font-size: 12px; line-height: 1.7; }
  .featured-stars { height: 18px; font-size: 13px; line-height: 18px; }
  .featured-product-card .price { min-height: 28px; margin: 4px 0; }
  .featured-product-card .price strong { font-size: 14px; }
  .featured-product-card .price del { font-size: 12px; }
  .featured-buy { min-width: 96px; min-height: 33px; font-size: 12px; }
  .product-grid, .product-grid.shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 10px; }
  .product-media { border-radius: 7px 7px 0 0; }
  .sale-badge { top: 8px; min-width: 48px; min-height: 24px; font-size: 9px; }
  .wish-button { opacity: 1; transform: none; width: 29px; height: 29px; top: 7px; inset-inline-end: 7px; }
  .product-info { padding: 8px 2px 0; }
  .product-meta { font-size: 10px; }
  .product-title { min-height: 58px; font-size: 12px; line-height: 1.75; }
  .price { gap: 5px; }
  .price strong { font-size: 12px; }
  .price del { font-size: 10px; }
  .card-add { display: none; }
  .product-card-actions { gap:5px;margin-top:8px; }
  .card-action { min-height:34px;padding:5px 4px;gap:3px;font-size:9px; }
  .card-action svg,.card-action .icon { width:13px!important;height:13px!important; }
  .mini-swatch { width: 10px; height: 10px; }
  .collection-page { padding-bottom: 50px; }
  .collection-hero,
  .collection-hero.has-cover { min-height: 360px; }
  .collection-hero-copy { padding-block: 36px; }
  .collection-hero-copy h1 { font-size: 29px; }
  .collection-hero-copy p { font-size: 12px; line-height: 1.9; }
  .collection-catalog { padding-top: 36px; }
  .collection-catalog-head { display: grid; gap: 10px; margin-bottom: 22px; }
  .collection-catalog-head h2 { font-size: 21px; }
  .collection-catalog-head p { font-size: 11px; }
  .collection-grid { row-gap: 28px; }
  .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .category-card { min-height: 220px; }
  .category-card span { bottom: 14px; inset-inline: 12px; font-size: 14px; }
  .promo-band { padding: 0; }
  .promo-band img { height: auto; }
  .shop-head { margin-bottom: 12px; }
  .shop-head h1 { font-size: 21px; }
  .shop-layout { display: block; padding-bottom: 50px; }
  .shop-toolbar { margin-bottom: 14px; }
  .sort-tools label { display: none; }
  .store-select { max-width: 165px; font-size: 11px; }
  .mobile-filter-button { min-height: 38px; padding: 0 12px; border: 1px solid var(--primary); border-radius: 4px; background: #fff; color: var(--primary); display: flex !important; align-items: center; gap: 6px; }
  .filter-sidebar { display: none; }
  .filter-sidebar.mobile-open { display: block; position: fixed; z-index: 55; inset-block: 0; inset-inline-start: 0; width: min(330px,88vw); overflow-y: auto; background: #fff; padding: 20px; box-shadow: 12px 0 42px rgba(0,0,0,.22); }
  .mobile-filter-close { display: flex !important; margin-bottom: 20px; justify-content: flex-end; }
  .product-detail { grid-template-columns: 1fr; gap: 28px; }
  .product-gallery { grid-template-columns: 1fr; }
  .gallery-main { grid-row: 1; }
  .gallery-thumbs { grid-row: 2; display: flex; max-height: none; overflow-x: auto; }
  .gallery-thumb { flex: 0 0 68px; width: 68px; }
  .gallery-thumbs { scroll-snap-type:x proximity;scrollbar-width:none;padding:2px; }
  .gallery-thumbs::-webkit-scrollbar { display:none; }
  .gallery-thumb { scroll-snap-align:start; }
  .gallery-nav { width:38px;height:38px;opacity:.88; }
  .gallery-prev { left:9px; }
  .gallery-next { right:9px; }
  .image-zoom-lens { display:none; }
  .lightbox { padding:18px; }
  .lightbox-nav { width:40px;height:40px; }
  .lightbox-prev { left:9px; }
  .lightbox-next { right:9px; }
  .product-summary { padding-top: 0; }
  .product-summary h1 { font-size: 23px; }
  .bundle-main-visual { min-height:330px; }
  .bundle-main-visual > img { min-height:330px; }
  .bundle-composite { min-height:330px; padding:20px 10px; gap:6px; }
  .bundle-composite img { width:min(30%,120px); }
  .bundle-plus { width:24px; height:24px; flex-basis:24px; font-size:16px; }
  .bundle-items-row { gap:7px; overflow-x:auto; justify-content:flex-start; padding-bottom:8px; }
  .bundle-item-card { min-width:180px; width:180px; }
  .bundle-item-plus { min-width:30px; width:30px; flex-basis:30px; }
  .purchase-row { grid-template-columns: 96px 1fr; }
  .detail-description { margin-top: 38px; }
  .product-reviews-root { margin-top:38px; padding-top:32px; }
  .product-reviews-layout { grid-template-columns:1fr; gap:38px; }
  .rating-overview { grid-template-columns:105px minmax(0,1fr); gap:16px; }
  .rating-score > strong { font-size:32px; }
  .store-recommendations { padding:32px 0 0; border-inline-start:0; border-top:1px solid var(--line); }
  .product-review-form { grid-column:auto; padding-top:32px; }
  .review-form-grid { grid-template-columns:1fr; }
  .review-form-grid label.full { grid-column:auto; }
  .review-form-actions { align-items:stretch; flex-direction:column; }
  .review-form-actions .primary-button { width:100%; }
  .customer-review > header { gap:8px; }
  .customer-review time { max-width:90px; text-align:end; }
  .reviews-load-error { align-items:flex-start; flex-wrap:wrap; padding:25px 0; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 84px minmax(0,1fr); gap: 12px; }
  .cart-item-media,.cart-main-image { width:84px; height:84px; }
  .cart-bundle-components { grid-column:1 / -1; grid-template-columns:1fr; }
  .cart-item-actions { grid-column: 1 / -1; justify-content: space-between; }
  .cart-summary { position: static; }
  .checkout-form { grid-template-columns: 1fr; }
  .checkout-form label.full { grid-column: auto; }
  .checkout-form>.full { grid-column:auto; }
  .checkout-address-options,.checkout-address-fields { grid-template-columns:1fr; }
  .checkout-address-fields>.full { grid-column:auto; }
  .checkout-address-book,.checkout-address-editor { padding:14px; }
  .checkout-save-address { grid-template-columns:auto minmax(0,1fr)!important; }
  .checkout-save-address select,.checkout-save-address input[name="address_label"] { grid-column:1/-1; }
  .checkout-payment-methods { grid-template-columns:1fr; }
  .checkout-payment-methods.full { grid-column:auto; }
  .checkout-payment-choice { grid-template-columns:18px minmax(0,1fr);gap:8px; }
  .checkout-payment-frame { padding:12px; }
  .checkout-payment-choice.is-edfapay .checkout-payment-frame { display:grid;grid-template-columns:1fr;align-content:center;gap:10px; }
  .checkout-payment-choice.is-edfapay .checkout-card-brands { margin-inline-start:0; }
  .checkout-card-brands { gap:5px; }
  .checkout-card-brands img { width:44px;height:28px; }
  .checkout-card-brands img.is-mada { width:52px;height:31px; }
  .checkout-card-brands img.is-mastercard { width:39px; }
  .checkout-card-brands img.is-apple-pay { width:49px; }
  .payment-redirect-guard { grid-template-columns:22px minmax(0,1fr); }
  .payment-redirect-guard .primary-button { grid-column:1/-1;width:100%; }
  .payment-return { min-height:420px; }
  .payment-return-state { padding:32px 12px; }
  .national-address-card { grid-column:auto; }
  .national-address-head { display:grid; }
  .national-address-control { grid-template-columns:1fr; }

  .whatsapp-float { width:50px; height:50px; right:14px; bottom:max(14px,env(safe-area-inset-bottom)); }
  .whatsapp-float .whatsapp-mark { width:27px; height:27px; }
  .scroll-top { width:46px; height:46px; left:14px; bottom:max(14px,env(safe-area-inset-bottom)); }
}
.checkout-shipping-methods{border:1px solid #e7e2dc;padding:18px;margin:0;border-radius:6px}.checkout-shipping-methods legend{padding:0 8px;font-weight:700}.checkout-shipping-methods[hidden]{display:none}.checkout-shipping-methods>div{display:grid;gap:10px}.checkout-shipping-choice{display:grid!important;grid-template-columns:20px 44px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #e5e1dc;border-radius:6px;padding:14px 16px;cursor:pointer;background:#fff}.checkout-shipping-choice:has(input:checked){border-color:var(--accent,#664287);box-shadow:0 0 0 1px var(--accent,#664287)}.checkout-shipping-choice input{position:absolute;opacity:0;pointer-events:none}.checkout-shipping-indicator{width:18px;height:18px;border:1px solid #b6afa8;border-radius:50%;display:grid;place-items:center}.checkout-shipping-choice input:checked+.checkout-shipping-indicator:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent,#664287)}.checkout-shipping-logo{width:44px;height:32px;display:grid;place-items:center;border:1px solid #eee;border-radius:4px;background:#fff;overflow:hidden}.checkout-shipping-logo img{width:100%;height:100%;object-fit:contain}.checkout-shipping-choice strong,.checkout-shipping-choice small{display:block}.checkout-shipping-choice small{margin-top:3px;color:#777;font-size:12px}.checkout-shipping-choice b{white-space:nowrap;font-size:14px}@media(max-width:560px){.checkout-shipping-methods{padding:12px}.checkout-shipping-choice{grid-template-columns:18px 36px minmax(0,1fr);gap:9px;padding:12px}.checkout-shipping-logo{width:36px;height:28px}.checkout-shipping-choice>b{grid-column:3;justify-self:start}}

/* Responsive artwork and accessible product selection. */
@media (min-width:761px) and (max-width:1100px) {
  .header-main { grid-template-columns:1fr auto 1fr; min-height:88px; }
  .header-main .desktop-only { display:none !important; }
  .header-main .mobile-only { display:flex !important; }
  .header-main > .header-logo { grid-column:2; grid-row:1; }
  .header-main > [data-menu-open] { grid-column:1; grid-row:1; justify-self:start; align-items:center; justify-content:center; }
  .header-main > .header-actions.mobile-only { grid-column:3; grid-row:1; justify-self:end; }
  .header-logo img { width:64px; height:72px; }
}
.hero-cta { position:absolute; bottom:24px; inset-inline-start:24px; padding:8px 26px; background:var(--primary); color:white; border:1px solid white; border-radius:999px; }
.hero-dots { bottom:8px; gap:0; }
.hero-dot { width:44px; height:44px; border:0; background:transparent; display:grid; place-items:center; }
.hero-dot::after { content:""; width:8px; height:8px; border-radius:50%; border:1px solid white; box-shadow:0 1px 5px #0006; background:#0003; }
.hero-dot.active { background:transparent; }
.hero-dot.active::after { background:white; }
.color-option { width:auto; height:auto; min-height:48px; display:inline-flex; align-items:center; gap:10px; padding:7px 14px; border:1px solid #ded9e2; border-radius:999px; background:var(--surface); box-shadow:none; color:var(--text); font-weight:600; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.color-chip { width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:var(--color); border:2px solid #fff; box-shadow:0 0 0 1px rgba(33,25,38,.18); transition:transform .18s ease,box-shadow .18s ease; }
.color-option:hover { border-color:#a995b9; background:#fbf9fc; }
.color-option.selected { border-color:var(--primary); background:#f8f5fa; box-shadow:0 0 0 2px rgba(95,58,126,.16); color:var(--primary-dark); }
.color-option.selected .color-chip { transform:scale(1.08); box-shadow:0 0 0 2px #fff,0 0 0 3px var(--primary); }
.text-option { min-height:44px; }
.color-option.is-out-of-stock,.text-option.is-out-of-stock { border-style:dashed;color:#8a838c;background:#f5f3f5; }
.color-option.is-out-of-stock .color-chip { opacity:.38;filter:grayscale(.5); }
.color-option small,.text-option small { color:#a12626;font-size:9px;font-weight:800; }
.text-option { display:inline-flex;align-items:center;justify-content:center;gap:7px; }
.variant-stock-state { width:max-content;max-width:100%;margin:14px 0 0;padding:9px 12px;display:flex;align-items:center;gap:7px;border-inline-start:3px solid #b42318;background:#fff2f0;color:#9f2017;font-size:12px;font-weight:700; }
.variant-stock-state[hidden] { display:none; }
.primary-button:disabled,.secondary-button:disabled { cursor:not-allowed;border-color:#d8d3da;background:#efedef;color:#918a94; }
.product-summary .detail-price { gap:10px; align-items:baseline; }
.product-summary .detail-price strong { font-size:26px; }
.product-summary .detail-price del { font-size:15px; }
button:focus-visible,a:focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.hero button:focus-visible { outline-color:white; }
.gallery-thumb { flex-shrink:0; }
.gallery-thumb img { object-fit:contain; }
@media(max-width:760px) {
  .header-main > .header-actions.mobile-only { display:flex !important; }
  .header-main .round-action { width:44px; height:44px; }
  .hero { margin:12px 10px 0; border-radius:8px; }
  .hero-cta { bottom:16px; inset-inline-start:14px; padding:5px 18px; font-size:12px; }
  .hero-dots { justify-content:flex-end; inset-inline-end:8px; bottom:0; }
  .category-strip-inner { gap:20px; padding-block:10px; }
  .category-shortcut { flex-direction:column; gap:5px; min-width:72px; text-align:center; }
  .category-shortcut img { width:46px; height:46px; }
  .announcement { font-size:11px; height:34px; }
  .product-summary h1 { line-height:1.6; }
  .variant-group-title { font-size:16px; }
  .short-description { font-size:15px; }
  .promo-band { margin:0 10px; overflow:hidden; border-radius:8px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

@media (min-width:761px) and (max-width:1100px) {
 .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 40px; }
 .footer-bottom-inner { flex-wrap:wrap; }
}
@media (max-width:760px) {
 .footer-main { grid-template-columns:1fr; gap:28px; padding:32px 10px; }
 .footer-brand { text-align:center; }
 .footer-brand img { width:76px; height:88px; }
 .footer-brand p { margin:10px auto 0; font-size:14px; }
 .footer-brand .socials { justify-content:center; margin-top:16px; }
 .footer-navigation { border-top:1px solid #ffffff26; padding-top:22px; }
 .footer-navigation nav { display:flex; flex-wrap:wrap; gap:0 22px; }
 .footer-contact { border-top:1px solid #ffffff26; padding-top:22px; }
 .footer-contact-row { justify-content:flex-start; }
 .footer-business { padding:16px; }
 .footer-business dl { grid-template-columns:1fr 1fr; gap:10px; }
 .footer-bottom { padding:20px 0 calc(76px + env(safe-area-inset-bottom)); }
 .footer-bottom-inner { flex-direction:column-reverse; gap:18px; text-align:center; }
 .footer-payments { flex-direction:column; gap:10px; }
 .payment-methods { max-width:100%; width:264px; height:54px; }
 .dynamic-page { padding-bottom:48px; }
 .dynamic-page-head { padding:34px 0 28px; }
 .dynamic-page-head h1 { font-size:34px; }
 .dynamic-page-layout { grid-template-columns:1fr;gap:28px;padding-top:28px; }
 .dynamic-page-index { position:static;display:flex;gap:6px;overflow-x:auto;border:0;padding-bottom:4px;scrollbar-width:none; }
 .dynamic-page-index::-webkit-scrollbar { display:none; }
 .dynamic-page-index a { flex:0 0 auto;padding:8px 12px;border:1px solid var(--line);border-radius:6px;white-space:nowrap; }
 .dynamic-page-index a.active { margin:0;border:1px solid var(--primary); }
 .dynamic-page-body p,.dynamic-page-body li { font-size:15px; }
 .dynamic-page-body h2 { margin-top:34px;font-size:22px; }
 .account-hero { align-items:flex-start;flex-direction:column; }
 .account-hero h1 { font-size:27px; }
 .account-layout { grid-template-columns:1fr;gap:18px; }
 .account-nav { position:static;display:flex;overflow-x:auto;border:0;scrollbar-width:none; }
 .account-nav a { flex:0 0 auto;gap:10px;border-bottom:1px solid var(--line); }
 .account-panel { padding:17px; }
 .account-panel>header { align-items:flex-start;flex-direction:column; }
 .account-profile-form,.account-address-list,.account-address-grid { grid-template-columns:1fr; }
 .account-address-grid .full { grid-column:auto; }
 .account-orders article { grid-template-columns:1fr auto;gap:6px; }
 .account-orders article p { grid-column:1/-1; }
 .account-address-dialog { max-height:calc(100vh - 16px); }
 .account-address-dialog>header,.account-address-dialog>footer,.account-address-dialog-body { padding-inline:16px; }
}
.product-payment-widgets{display:grid;align-content:start;gap:8px;min-height:var(--product-payment-height,0);margin:12px 0 4px}.product-payment-widgets[hidden]{display:none}.installment-widget{min-height:34px;border-radius:8px;overflow:hidden}.tamara-installment-widget{width:100%;min-height:42px}.tamara-installment-widget tamara-widget{display:block;width:100%}

/* Catalog filters */
.filter-colors button { display:flex;align-items:center;gap:10px; }
.filter-swatch { display:inline-block;width:18px;height:18px;border:1px solid #d6d1d1;border-radius:50%;flex:none; }
.price-range-dual { position:relative;height:30px;margin:18px 0 12px; }
.price-range-dual .price-range { position:absolute;inset:0;width:100%;height:30px;margin:0;background:transparent;pointer-events:none;appearance:none;-webkit-appearance:none; }
.price-range-dual .price-range::-webkit-slider-thumb { appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary);pointer-events:auto;cursor:grab; }
.price-range-dual .price-range::-moz-range-thumb { width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary);pointer-events:auto;cursor:grab; }
.price-range-dual::before { content:"";position:absolute;top:14px;left:0;right:0;height:3px;background:#ddd7d7;border-radius:3px; }
.price-range-dual .price-range-max { z-index:2; }

/* Compact, context-aware catalog filters */
.filter-sidebar-head { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;font-weight:700; }
.filter-sidebar-head button,.filter-more { border:0;background:transparent;color:var(--primary);font:inherit;cursor:pointer;padding:5px 0; }
.filter-sidebar-head button { font-size:12px; }
.filter-list button { display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;cursor:pointer; }
.filter-list button small,.filter-title small { font-size:11px;font-weight:500;opacity:.75;font-variant-numeric:tabular-nums; }
.filter-list button:focus-visible,.filter-color-dot:focus-visible,.filter-more:focus-visible { outline:2px solid var(--primary);outline-offset:3px; }
.filter-color-grid { display:grid;grid-template-columns:repeat(6, minmax(0,1fr));gap:7px; }
.filter-color-dot { display:grid;place-items:center;width:36px;height:36px;margin:auto;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer; }
.filter-color-dot span { display:block;width:23px;height:23px;border:1px solid rgba(0,0,0,.2);border-radius:50%; }
.filter-color-dot.active { border-color:var(--primary);box-shadow:0 0 0 2px rgba(81,59,130,.13); }
.filter-color-dot:hover { transform:scale(1.08); }
.filter-selected-value { display:block;margin-top:8px;color:var(--primary);font-weight:700; }
.product-card-badges { position:absolute;z-index:3;top:14px;inset-inline-start:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px; }
.product-card-badges.under-sale { top:47px; }
.product-card-badges span { background:var(--badge-bg);color:#fff;padding:5px 10px;font-size:10px;font-weight:700; }
@media (max-width: 767px) { .filter-color-grid { grid-template-columns:repeat(7,minmax(0,1fr)); } }


/* Storefront motion and product detail refinements */
.home-rail[data-auto-scroll="true"],
.category-strip-inner[data-auto-scroll="true"] {
  scroll-snap-type: none;
  scroll-behavior: auto;
}
.product-card[data-card-href],
.featured-product-card[data-card-href] {
  cursor: pointer;
}
.product-card[data-card-href]:focus-visible,
.featured-product-card[data-card-href]:focus-visible {
  outline: 2px solid var(--primary, #5c3a8a);
  outline-offset: 3px;
}
.product-summary .short-description {
  margin: 8px 0 16px;
  padding: 0;
  border: 0;
  color: #6e6870;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 400;
  white-space: pre-wrap;
}
.detail-description p {
  white-space: pre-line;
}
@media (prefers-reduced-motion: reduce) {
  .home-rail,
  .category-strip-inner { scroll-behavior: auto !important; }
}


/* Continuous storefront rails */
.home-rail[data-auto-scroll="true"] {
  display: flex;
  gap: 15px;
  --rail-card-width: 255px;
}
.auto-scroll-segment {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  gap: inherit;
}
.home-rail .auto-scroll-segment > * {
  flex: 0 0 var(--rail-card-width);
  width: var(--rail-card-width);
  scroll-snap-align: start;
}
.category-strip-inner[data-auto-scroll="true"] {
  justify-content: flex-start;
}
.category-strip-inner .auto-scroll-segment {
  align-items: center;
}
@media (max-width: 767px) {
  .home-rail[data-auto-scroll="true"] {
    --rail-card-width: calc((100vw - 40px) / 2);
    gap: 10px;
  }
}


/* Bundle option picker */
.bundle-option-picker{margin:18px 0}.bundle-option-picker>span{display:block;margin-bottom:9px;font-size:13px;font-weight:700}.bundle-option-picker>div{display:flex;flex-wrap:wrap;gap:9px}.bundle-option-picker button{min-width:108px;padding:10px 12px;border:1px solid #ddd6e8;border-radius:10px;background:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;text-align:right;color:#2c2340;cursor:pointer}.bundle-option-picker button.active{border-color:#563c86;box-shadow:0 0 0 2px rgba(86,60,134,.12);background:#fbf9ff}.bundle-option-picker button i{grid-row:1/3;width:20px;height:20px;border-radius:50%;background:var(--bundle-color);border:1px solid rgba(0,0,0,.12)}.bundle-option-picker button b{font-size:12px}.bundle-option-picker button small{font-size:10px;color:#716981}.bundle-item-card em{display:block;margin-top:4px;font-size:11px;font-style:normal;color:#563c86}.bundle-main-visual>img{width:100%;height:100%;min-height:520px;object-fit:cover;border-radius:16px}
@media(max-width:720px){.bundle-option-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bundle-option-picker button{min-width:0}.bundle-main-visual>img{min-height:360px}}

/* Bundle options inherit availability from their component products */
.bundle-option-picker button.is-out-of-stock{border-color:#ead6d8;background:#faf6f6;color:#8b7477;cursor:not-allowed;opacity:.72}
.bundle-option-picker button.is-out-of-stock small{color:#b4232d;font-weight:800}
.bundle-option-picker button.is-out-of-stock i{filter:grayscale(.35)}

/* Product descriptions and bottom set configurator */
.detail-description .rich-description{max-width:920px;color:#282229;font-size:15px;line-height:2;font-weight:500}
.detail-description .product-copy-text{white-space:pre-wrap;overflow-wrap:anywhere}
.rich-description>*:first-child{margin-top:0}.rich-description>*:last-child{margin-bottom:0}
.rich-description p{margin:0 0 14px;white-space:normal}.rich-description h2,.rich-description h3,.rich-description h4{margin:26px 0 12px;color:var(--primary);line-height:1.5}.rich-description ul,.rich-description ol{margin:10px 0 18px;padding-inline-start:24px}.rich-description li{margin:7px 0}.rich-description a{color:var(--primary);font-weight:700;text-underline-offset:3px}
.bundle-configurator{margin-top:18px;padding:28px;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--primary) 3%,#fff);box-shadow:0 10px 30px rgba(35,25,42,.05);scroll-margin-top:96px}
.bundle-configurator>header{max-width:720px;margin-bottom:22px}.bundle-configurator>header>span{color:var(--primary);font-size:11px;font-weight:800}.bundle-configurator>header h2{margin:5px 0 7px;font-size:24px;line-height:1.45}.bundle-configurator>header p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.bundle-configurator .bundle-option-picker{margin:0}.bundle-configurator .bundle-option-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bundle-configurator .bundle-option-picker button{width:100%;min-height:64px}
.bundle-configurator-summary{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(190px,.65fr) minmax(300px,1fr);align-items:end;gap:28px}.bundle-configurator-summary>div>small{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:700}.bundle-configurator-summary .detail-price{margin:0}.bundle-configurator-summary .bundle-saving{margin:10px 0 0}.bundle-purchase-actions .purchase-row{margin-top:0}.bundle-purchase-actions .buy-now{margin-top:10px}
.bundle-gallery #bundleGalleryStageContent{width:100%;height:100%;display:grid;place-items:center;touch-action:pan-y}.bundle-configurator-inline{margin-top:14px;padding:18px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.bundle-configurator-inline>header{margin-bottom:14px}.bundle-configurator-inline>header h2{font-size:19px}.bundle-configurator-inline .bundle-option-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));max-height:238px;padding-inline-end:3px;overflow-y:auto}.bundle-configurator-inline .bundle-option-picker button{min-height:58px}.bundle-configurator-inline .bundle-purchase-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:820px){.bundle-configurator{margin-top:16px;padding:20px}.bundle-configurator-inline{margin-top:14px;padding:18px 0 0}.bundle-configurator .bundle-option-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.bundle-configurator-summary{grid-template-columns:1fr;gap:18px}}
@media(max-width:520px){.bundle-configurator{padding:17px 14px}.bundle-configurator-inline{padding:16px 0 0}.bundle-configurator>header h2{font-size:20px}.bundle-configurator .bundle-option-picker>div{grid-template-columns:1fr}.bundle-configurator .bundle-option-picker button{min-height:58px}.detail-description .rich-description{font-size:14px;line-height:1.9}}
.bundle-color-picker button.is-out-of-stock{cursor:pointer;opacity:1}.bundle-color-picker button.is-out-of-stock i{filter:none}
.featured-product-card { position:relative; }
.featured-product-card .wish-button { opacity:1; transform:none; }
@media(max-width:700px){.product-card .wish-button,.home-rail .wish-button,.featured-product-card .wish-button { opacity:1; transform:none; width:42px; height:42px; }.wishlist-grid { grid-template-columns:1fr; }.wishlist-tile { max-width:440px; width:100%; margin-inline:auto; }.wishlist-tile-image { aspect-ratio:4/3; }}

/* Keep every bundle choice visible; distinguish a missing color combination from sold-out components. */
.bundle-configurator-inline .bundle-option-picker>div { max-height:none; overflow:visible; padding-inline-end:0; }
.bundle-configurator-inline .bundle-option-picker:not(.bundle-color-picker) button { grid-template-columns:1fr; align-content:center; }
.bundle-option-picker button.is-unavailable { border-style:dashed; color:#817b85; background:#f7f5f8; cursor:not-allowed; }
.bundle-option-picker button.is-unavailable small { color:#817b85; }
@media(max-width:520px){.bundle-configurator-inline .bundle-option-picker>div { grid-template-columns:repeat(2,minmax(0,1fr)); }}

/* The same purchase hierarchy on products and bundles. */
.purchase-actions { margin-top:25px; }
.purchase-actions .purchase-row { grid-template-columns:92px minmax(0,1fr) minmax(0,1fr); gap:8px; margin:0; }
.purchase-actions .purchase-row>.secondary-button { min-width:0; min-height:48px; margin:0; padding:7px 9px; display:flex; align-items:center; justify-content:center; gap:6px; font-size:13px; font-weight:750; white-space:nowrap; }
.purchase-actions .purchase-row>.secondary-button .icon { width:17px; height:17px; flex:none; }
.purchase-actions .purchase-card { width:100%; min-height:54px; margin-top:10px; display:flex; justify-content:center; gap:9px; font-size:16px; font-weight:850; }
.bundle-configurator-inline .purchase-actions { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
@media(max-width:520px){.purchase-actions .purchase-row { grid-template-columns:80px minmax(0,1fr) minmax(0,1fr); gap:6px; }.purchase-actions .purchase-row>.secondary-button { padding-inline:5px; gap:4px; font-size:12px; }.purchase-actions .purchase-card { min-height:52px; font-size:15px; }}

/* Visible wishlist destination and feedback after saving an item. */
.wishlist-nav-link { position:relative; }
.wishlist-count { position:absolute; inset-block-start:-5px; inset-inline-end:-6px; min-width:18px; height:18px; padding-inline:3px; display:grid; place-items:center; border-radius:999px; background:var(--primary); color:#fff; font-size:10px; font-weight:800; line-height:1; }
.wishlist-count[hidden] { display:none; }
.toast a { display:inline-block; margin-inline-start:12px; color:#fff; font-weight:800; text-decoration:underline; text-underline-offset:3px; }

/* Contact details first, followed by a compact automatic national-address lookup. */
.checkout-address-fields>.national-address-card { padding:20px; margin:4px 0; border:1px solid var(--line); border-radius:12px; background:var(--white,#fff); }
.national-address-head { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 12px; }
.national-address-head>label { display:inline-flex; align-items:center; gap:4px; color:var(--text); font-size:14px; font-weight:700; }
.national-address-head .address-verification-state { font-size:11px; font-weight:600; }
.national-address-control { display:flex; align-items:center; gap:12px; padding:0 16px; border:1px solid var(--line); border-radius:8px; background:var(--light,#faf9fb); transition:border-color .2s,box-shadow .2s; }
.national-address-control:focus-within { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent); }
.national-address-control input { flex:1; min-width:0; min-height:52px; padding:0; border:0; border-radius:0; outline:none; box-shadow:none; background:transparent; font-size:20px; letter-spacing:3px; text-align:center; font-weight:650; font-variant-numeric:tabular-nums; }
.national-address-control input:focus { border:0; box-shadow:none; outline:none; }
.national-address-indicator { width:20px; height:20px; flex:none; display:grid; place-items:center; color:var(--muted); }
.national-address-pin { display:flex; }
.national-address-spinner { display:block; width:20px; height:20px; border:2px solid var(--line); border-top-color:var(--primary); border-radius:50%; animation:checkout-address-spin .9s linear infinite; }
.national-address-spinner[hidden],.national-address-card[aria-busy="true"] .national-address-pin { display:none; }
.national-address-card p { margin:10px 0 0; min-height:22px; font-size:12px; line-height:1.8; color:var(--muted); }
.checkout-label-text small { margin-inline-start:6px; font-size:12px; font-weight:400; color:var(--muted); }
.checkout-address-fields input[name="email"] { direction:ltr; text-align:start; }
@keyframes checkout-address-spin { to { transform:rotate(360deg); } }
@media(max-width:600px){
 .checkout-address-fields>.national-address-card { padding:16px; }
 .national-address-head { gap:8px; }
 .national-address-head>label { font-size:13px; }
 .national-address-control { padding-inline:12px; }
 .national-address-control input { font-size:20px; letter-spacing:2px; }
}
@media(prefers-reduced-motion:reduce){.national-address-spinner { animation-duration:2s; }.national-address-control { transition:none; }}

/* Manual delivery fields stay available without crowding automatic checkout. */
.checkout-manual-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.checkout-manual-address>summary { list-style:none; display:flex; align-items:center; min-height:44px; width:fit-content; color:var(--primary); font-size:13px; font-weight:600; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.checkout-manual-address>summary::-webkit-details-marker { display:none; }
.checkout-manual-address>summary:focus-visible { outline:2px solid var(--primary); outline-offset:4px; border-radius:4px; }
.checkout-manual-address[open] .checkout-manual-fields { margin-top:12px; }
.address-verification-state[hidden] { display:none; }
@media(max-width:600px){.checkout-manual-fields { grid-template-columns:1fr; }}

/* Aligned contact rows and an animated, keyboard-accessible address drawer. */
.checkout-address-editor { padding:24px; background:#fff; border-radius:12px; }
.checkout-address-fields { gap:16px; }
.checkout-address-fields>label { align-content:start; gap:8px; }
.checkout-address-fields>.full { grid-column:1/-1; }
.checkout-label-text { min-height:20px; display:flex; align-items:center; gap:4px; }
.checkout-address-fields>label>input,.checkout-phone-control input { min-height:48px; height:48px; border-radius:8px; }
.checkout-phone-control>span { border-radius:8px 0 0 8px; }
.checkout-phone-control.is-saudi input { border-radius:0 8px 8px 0; }
.checkout-address-fields>.national-address-card { margin:0; padding:16px; background:var(--light,#faf9fb); border-radius:10px; }
.national-address-control { background:#fff; }
#nationalAddressMessage[hidden] { display:none; }
.checkout-manual-address>summary { width:100%; gap:8px; padding:4px 0; text-decoration:none; }
.checkout-manual-address>summary:hover { color:var(--text); }
.checkout-drawer-triangle { width:0; height:0; border-block:4px solid transparent; border-inline-start:6px solid currentColor; transition:transform .28s cubic-bezier(.22,1,.36,1); }
.checkout-manual-address>summary[aria-expanded="true"] .checkout-drawer-triangle { transform:rotate(-90deg); }
.checkout-manual-drawer { min-width:0; }
.checkout-manual-address[open] .checkout-manual-fields { margin-top:0; padding-top:12px; padding-bottom:4px; }
@media(max-width:600px){.checkout-address-editor { padding:16px; }.checkout-address-fields { gap:14px; }}
@media(prefers-reduced-motion:reduce){.checkout-drawer-triangle { transition:none; }}

/* Clear address feedback and inline checkout validation. */
.checkout-address-editor,.national-address-card { min-width:0; }
.national-address-card p.is-address-summary { color:var(--text); font-size:14px; font-weight:650; line-height:1.9; white-space:nowrap; overflow-x:auto; max-width:100%; }
.checkout-form .checkout-field-error,.national-address-card p.checkout-field-error { color:#b42318; font-size:12px; font-weight:550; line-height:1.7; }
.checkout-form label.has-checkout-error>input,.checkout-form label.has-checkout-error>select,.checkout-form label.has-checkout-error>textarea,.has-checkout-error .checkout-phone-control input,.has-checkout-error .checkout-phone-control>span,.national-address-control.has-checkout-error { border-color:#d92d20; }
.checkout-form label.has-checkout-error:has(input[type="radio"]) { outline:1px solid #d92d20; border-radius:8px; }
.checkout-error-pulse>input,.checkout-error-pulse>select,.checkout-error-pulse>textarea,.checkout-error-pulse .checkout-phone-control,.national-address-control.checkout-error-pulse { animation:checkout-error-pulse .85s ease-in-out 2; }
@keyframes checkout-error-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(217,45,32,0); } 50% { box-shadow:0 0 0 4px rgba(217,45,32,.18); } }
@media(prefers-reduced-motion:reduce){.checkout-error-pulse>input,.checkout-error-pulse>select,.checkout-error-pulse>textarea,.checkout-error-pulse .checkout-phone-control,.national-address-control.checkout-error-pulse { animation:none; }}

.checkout-form [aria-invalid="true"]:focus { outline:none; border-color:#d92d20; box-shadow:0 0 0 3px rgba(217,45,32,.16); }

/* Dependent Saudi address suggestions share the checkout field geometry. */
.checkout-location-field { position:relative; min-width:0; }
.checkout-location-field>input:focus:not([aria-invalid="true"]) { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent); }
.checkout-location-field:has(.checkout-location-menu:not([hidden])) { z-index:20; }
.checkout-location-menu { position:absolute; inset-inline:0; top:100%; margin-top:6px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 4px 16px rgba(44,31,52,.1); }
.checkout-location-menu[hidden] { display:none; }
.checkout-location-menu.is-above { top:auto; bottom:100%; margin-top:0; margin-bottom:6px; }
.checkout-location-menu [role="listbox"] { max-height:236px; overflow-y:auto; overscroll-behavior:contain; scroll-behavior:auto; }
.checkout-location-menu button { display:block; width:100%; min-height:44px; border:0; border-radius:0; padding:10px 12px; background:transparent; color:var(--text); font:inherit; font-size:14px; text-align:start; cursor:pointer; }
.checkout-location-menu button:hover,.checkout-location-menu button[aria-selected="true"] { color:var(--primary); background:var(--light,#faf9fb); }
.checkout-location-menu button:active { background:color-mix(in srgb,var(--primary) 12%,#fff); }
.checkout-location-status { display:block; padding:10px 12px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.7; }
