:root {
  --nef-purple: #8064a2;
  --nef-purple-deep: #4b3766;
  --nef-purple-dark: #352448;
  --nef-lilac: #eee7f5;
  --nef-blush: #fff7fa;
  --nef-ink: #292231;
  --nef-muted: #756d7e;
  --nef-line: rgba(128, 100, 162, .18);
  --nef-shadow: 0 18px 50px rgba(75, 55, 102, .10);
  --nef-radius: 22px;
}

html { scroll-behavior: smooth; }

body.theme-raed {
  color: var(--nef-ink);
  background: #fff;
}

body.theme-raed #main-content {
  position: relative;
  isolation: isolate;
}

/* Homepage art direction: editorial white canvas with unmistakable lavender */
body.index #main-content {
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 10%, rgba(238, 231, 245, .62), transparent 22%),
    radial-gradient(circle at 8% 36%, rgba(255, 239, 246, .78), transparent 21%),
    linear-gradient(180deg, #fff 0%, #fdfbfe 46%, #fff 100%);
}

body.index #main-content::before,
body.index #main-content::after {
  content: "";
  position: absolute;
  z-index: 8;
  width: clamp(280px, 30vw, 470px);
  aspect-ratio: 844 / 900;
  pointer-events: none;
  background: url("https://cdn.files.salla.network/other/649700195/1ddc9bbb-1907-4673-8bde-bced4a3944a2-original.webp") center / contain no-repeat;
  filter: drop-shadow(0 18px 24px rgba(75, 55, 102, .14));
}

body.index #main-content::before {
  top: clamp(690px, 68vw, 980px);
  right: clamp(-210px, -12vw, -110px);
  transform: rotate(-8deg);
}

body.index #main-content::after {
  top: clamp(1550px, 150vw, 2100px);
  left: clamp(-220px, -13vw, -120px);
  transform: scaleX(-1) rotate(-10deg);
}

body.index a[aria-label="Banner fixed banner"] {
  position: relative;
  display: block;
  isolation: isolate;
  overflow: visible !important;
  box-shadow: 0 24px 65px rgba(75, 55, 102, .14);
}

body.index a[aria-label="Banner fixed banner"] img {
  position: relative;
  z-index: 1;
  display: block;
}

body.index a[aria-label="Banner fixed banner"]::before,
body.index a[aria-label="Banner fixed banner"]::after {
  content: "";
  position: absolute;
  z-index: 3;
  width: clamp(230px, 25vw, 410px);
  aspect-ratio: 844 / 900;
  pointer-events: none;
  background: url("https://cdn.files.salla.network/other/649700195/1ddc9bbb-1907-4673-8bde-bced4a3944a2-original.webp") center / contain no-repeat;
  filter: drop-shadow(0 16px 22px rgba(75, 55, 102, .18));
}

body.index a[aria-label="Banner fixed banner"]::before {
  bottom: -11%;
  left: -6%;
  transform: rotate(-5deg);
}

body.index a[aria-label="Banner fixed banner"]::after {
  top: -18%;
  right: -8%;
  transform: scaleX(-1) rotate(-8deg) scale(.78);
  transform-origin: center;
}

body.index #main-content h2 {
  position: relative;
  width: fit-content;
  margin-inline: auto;
  color: var(--nef-purple-deep);
  font-size: clamp(25px, 3.2vw, 40px);
  letter-spacing: -.02em;
}

body.index #main-content h2::after {
  content: "";
  display: block;
  width: 74px;
  height: 3px;
  margin: 12px auto 0;
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, #c99ad0 18%, var(--nef-purple) 50%, #c99ad0 82%, transparent);
}

body.index .s-product-card-entry {
  overflow: hidden;
  border: 1px solid rgba(128, 100, 162, .16);
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 45px rgba(75, 55, 102, .09);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

body.index .s-product-card-entry:hover {
  transform: translateY(-7px);
  border-color: rgba(128, 100, 162, .34);
  box-shadow: 0 26px 60px rgba(75, 55, 102, .15);
}

body.index .s-product-card-image {
  background: linear-gradient(145deg, #fff, #f6f0fa);
}

body.index .s-product-card-content-footer .s-button-element {
  border: 1px solid var(--nef-purple) !important;
  background: #fff !important;
  color: var(--nef-purple-deep) !important;
}

body.index .s-product-card-content-footer .s-button-element:hover {
  background: linear-gradient(135deg, var(--nef-purple), var(--nef-purple-deep)) !important;
  color: #fff !important;
}

/* Header: clean, bright and consistent on every page */
.store-header {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid var(--nef-line);
  box-shadow: 0 10px 35px rgba(75, 55, 102, .07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.store-header a,
.store-header button { transition: color .25s ease, background .25s ease, transform .25s ease; }

.store-header a:hover,
.store-header button:hover { color: var(--nef-purple-deep) !important; }

.store-header .main-menu li > a {
  position: relative;
  font-weight: 600;
}

.store-header .main-menu li > a::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: -7px;
  width: 0;
  height: 2px;
  border-radius: 99px;
  background: var(--nef-purple);
  transition: width .25s ease, right .25s ease;
}

.store-header .main-menu li > a:hover::after { right: 15%; width: 70%; }

.store-header .logo img,
.store-header .navbar-brand img {
  max-height: 76px;
  filter: drop-shadow(0 6px 12px rgba(75, 55, 102, .08));
}

/* Shared controls */
.s-button-element,
button,
.form-input,
select,
input,
textarea { border-radius: 14px; }

.s-button-primary,
.s-button-primary-outline:hover,
.s-button-element[type="submit"] {
  background: linear-gradient(135deg, var(--nef-purple), var(--nef-purple-deep)) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(128, 100, 162, .24);
}

.s-button-element:not(:disabled) { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.s-button-element:not(:disabled):hover { transform: translateY(-2px); }

.form-input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--nef-purple) !important;
  box-shadow: 0 0 0 4px rgba(128, 100, 162, .12) !important;
  outline: none !important;
}

/* Breadcrumbs */
.breadcrumbs { padding-block: 18px !important; }
.s-breadcrumb-wrapper {
  width: fit-content;
  max-width: 100%;
  padding: 9px 14px;
  border: 1px solid var(--nef-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 24px rgba(75, 55, 102, .06);
}
.s-breadcrumb-item,
.s-breadcrumb-item a { color: var(--nef-muted) !important; font-size: 13px; }
.s-breadcrumb-item:last-child { color: var(--nef-purple-deep) !important; font-weight: 700; }
.s-breadcrumb-arrow svg { width: 16px; height: 16px; fill: var(--nef-purple); }

/* Informational pages: About, FAQ and policies */
body.page-single #main-content {
  min-height: 70vh;
  padding-bottom: 70px;
  background:
    radial-gradient(circle at 8% 15%, rgba(238, 231, 245, .85), transparent 27%),
    radial-gradient(circle at 92% 82%, rgba(255, 231, 241, .70), transparent 28%),
    #fff;
}

body.page-single .content--single-page {
  position: relative;
  overflow: hidden;
  margin-top: 24px !important;
  padding: clamp(28px, 5vw, 64px) !important;
  border: 1px solid var(--nef-line);
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: var(--nef-shadow);
}

body.page-single .content--single-page::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 130px;
  height: 5px;
  border-radius: 0 0 0 99px;
  background: linear-gradient(90deg, var(--nef-purple), #d9b7df);
}

body.page-single .content--single-page h1 {
  margin-bottom: 28px !important;
  color: var(--nef-purple-deep);
  font-size: clamp(28px, 4vw, 42px) !important;
  line-height: 1.25;
}

body.page-single .content-entry {
  color: #504858;
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 2.05;
}

body.page-single .content-entry h2,
body.page-single .content-entry h3 {
  margin-top: 32px;
  color: var(--nef-purple-deep);
}

body.page-single .content-entry a { color: var(--nef-purple-deep); text-decoration-color: #d8c8e6; }
body.page-single .s-comments { margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--nef-line); }

/* Search and listing pages */
body.product-index-search #main-content,
body[class*="product-index"] #main-content {
  min-height: 70vh;
  padding-bottom: 72px;
  background: linear-gradient(180deg, #fff 0%, #fbf8fd 52%, #fff 100%);
}

body.product-index-search #page-main-title,
body[class*="product-index"] #page-main-title {
  color: var(--nef-purple-deep);
  font-size: clamp(22px, 3vw, 32px) !important;
}

body.product-index-search #product-filter,
body[class*="product-index"] #product-filter {
  min-height: 46px;
  padding-inline: 18px 42px;
  border: 1px solid var(--nef-line);
  background-color: #fff;
  color: var(--nef-purple-deep);
  box-shadow: 0 8px 20px rgba(75, 55, 102, .06);
}

.s-products-list-wrapper { gap: clamp(14px, 2vw, 24px) !important; }

body.product-index-search .s-product-card-entry,
body[class*="product-index"] .s-product-card-entry {
  overflow: hidden;
  border: 1px solid var(--nef-line);
  border-radius: var(--nef-radius) !important;
  background: #fff;
  box-shadow: 0 14px 38px rgba(75, 55, 102, .08);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

body.product-index-search .s-product-card-entry:hover,
body[class*="product-index"] .s-product-card-entry:hover {
  transform: translateY(-6px);
  border-color: rgba(128, 100, 162, .36);
  box-shadow: 0 22px 50px rgba(75, 55, 102, .14);
}

.s-product-card-image { background: linear-gradient(145deg, #fff, #f7f1fa); }
.s-product-card-content { padding: 18px !important; }
.s-product-card-content-title a { color: var(--nef-ink) !important; font-weight: 700; }
.s-product-card-price { color: var(--nef-purple-deep) !important; font-weight: 800; }
.s-product-card-content-footer .s-button-element { min-height: 44px; border-color: var(--nef-purple) !important; color: var(--nef-purple-deep) !important; }

/* Cart */
body.cart #main-content {
  min-height: 75vh;
  padding-bottom: 64px;
  background:
    radial-gradient(circle at 90% 8%, rgba(238, 231, 245, .8), transparent 23%),
    linear-gradient(180deg, #fff, #fbf8fd 60%, #fff);
}

body.cart .cart-item,
body.cart .sticky > div {
  border: 1px solid var(--nef-line);
  border-radius: var(--nef-radius) !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 14px 40px rgba(75, 55, 102, .08) !important;
}

body.cart .cart-item img { border-radius: 16px !important; border-color: var(--nef-line) !important; }
body.cart .cart-item h1 a { color: var(--nef-purple-deep) !important; font-weight: 700; }
body.cart .text-primary { color: var(--nef-purple-deep) !important; }
body.cart .s-quantity-input-container { border: 1px solid var(--nef-line); border-radius: 12px; overflow: hidden; }
body.cart .s-quantity-input-button { color: var(--nef-purple-deep); background: var(--nef-blush); }
body.cart .btn--delete .s-button-element { background: #fff1f4 !important; color: #a8475b !important; }

/* Login, search and other dialogs */
.s-modal-overlay { background: rgba(38, 27, 50, .55) !important; backdrop-filter: blur(5px); }
.s-modal-body {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 28px 80px rgba(38, 27, 50, .25);
}
.s-modal-header { border-color: var(--nef-line) !important; }
.s-modal-close { color: var(--nef-purple-deep) !important; background: var(--nef-lilac); border-radius: 50%; }

/* Footer */
.store-footer {
  position: relative;
  overflow: hidden;
  border-top: 0 !important;
  background: linear-gradient(145deg, var(--nef-purple-dark), var(--nef-purple-deep) 55%, #60487d) !important;
}

.store-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 15%, rgba(255,255,255,.10), transparent 22%),
    radial-gradient(circle at 85% 80%, rgba(216,183,223,.12), transparent 28%);
}

.store-footer .store-footer__inner {
  position: relative;
  z-index: 1;
  background: transparent !important;
}
.store-footer h3 { color: #fff !important; }
.store-footer p,
.store-footer a,
.store-footer span { color: rgba(255,255,255,.82) !important; }
.store-footer a:hover { color: #fff !important; transform: translateX(-3px); }

@media (max-width: 767px) {
  body.index #main-content::before,
  body.index #main-content::after {
    width: 230px;
    opacity: .72;
  }
  body.index #main-content::before { top: 620px; right: -142px; }
  body.index #main-content::after { top: 1500px; left: -150px; }

  body.index a[aria-label="Banner fixed banner"]::before,
  body.index a[aria-label="Banner fixed banner"]::after {
    width: 168px;
    opacity: .86;
  }
  body.index a[aria-label="Banner fixed banner"]::before { bottom: -16%; left: -14%; }
  body.index a[aria-label="Banner fixed banner"]::after { top: -24%; right: -18%; }

  body.index #main-content h2 { font-size: 26px; }
  body.index .s-product-card-entry { border-radius: 18px !important; }

  body.page-single .content--single-page { border-radius: 20px !important; padding: 24px 20px !important; }
  body.product-index-search .container--products-list,
  body[class*="product-index"] .container--products-list { padding-inline: 14px; }
  .s-products-list-wrapper { gap: 12px !important; }
  .s-product-card-content { padding: 14px !important; }
  body.cart .cart-item { padding: 18px !important; }
  .s-breadcrumb-wrapper { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

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