.product-image {
  background: #f4f2f0;
}

.product-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.product-card:hover .product-image > img {
  transform: scale(1.055);
}

.category-icon {
  overflow: hidden;
  background: #f3f1ef;
}

.category-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.category-card:hover .category-icon {
  transform: scale(1.06);
}

.campaign > img {
  width: 42%;
  height: 135%;
  object-fit: contain;
  filter: drop-shadow(0 12px 14px rgba(24, 18, 44, .2));
  transform: rotate(-7deg);
}

.campaign-b > img,
.campaign-c > img {
  width: 45%;
  height: 115%;
}

.footer-contact {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  font-style: normal;
}

.footer-contact a {
  display: flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  color: #aaa3c5;
  font-size: 10px;
  transition: color .2s ease;
}

.footer-contact a:hover { color: #fff; }
.footer-contact i { color: #8f79ff; font-size: 12px; }

.site-footer {
  position: relative;
  overflow: hidden;
  padding-top: 0;
  background: #171035;
}

.site-footer .container-xl { position: relative; z-index: 2; }
.footer-glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.footer-glow-a { width: 320px; height: 320px; left: -140px; bottom: -180px; background: rgba(91,53,242,.2); }
.footer-glow-b { width: 260px; height: 260px; right: -100px; top: 40px; background: rgba(255,98,80,.08); }

.footer-news {
  min-height: 126px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  padding: 26px 32px;
  border: 1px solid rgba(255,255,255,.1);
  border-top: 0;
  border-radius: 0 0 22px 22px;
  background: linear-gradient(120deg,rgba(91,53,242,.28),rgba(255,255,255,.04));
}

.footer-kicker { color: #a997ff; font-size: 8px; font-weight: 800; letter-spacing: 2px; }
.footer-news h3 { margin: 5px 0 2px; color: #fff; font-size: 20px; }
.footer-news p { margin: 0; color: #aaa3c5; font-size: 10px; }
.footer-subscribe { width: min(440px,48%); height: 46px; display: flex; align-items: center; padding-left: 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(10,6,28,.5); }
.footer-subscribe > i { color: #8f79ff; }
.footer-subscribe input { min-width: 0; flex: 1; height: 100%; padding: 0 12px; border: 0; outline: 0; background: transparent; color: #fff; font-size: 11px; }
.footer-subscribe button { height: 36px; margin-right: 5px; padding: 0 15px; border: 0; border-radius: 9px; background: #6745f5; color: #fff; font-size: 10px; font-weight: 700; }
.site-footer .footer-grid { grid-template-columns: 1.35fr .7fr .7fr 1.15fr; gap: 48px; padding-top: 42px; padding-bottom: 36px; }
.footer-about > p { max-width: 260px; }
.footer-social { display: flex; gap: 8px; margin-top: 16px; }
.footer-social a { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; color: #c9c1e5; font-size: 12px; }
.footer-social a:hover { border-color: #795cff; background: #6745f5; color: #fff; }
.footer-links a { position: relative; padding-left: 0; transition: .2s; }
.footer-links a:hover { padding-left: 7px; color: #fff !important; }
.footer-reach h6,.footer-links h6 { position: relative; padding-bottom: 10px; }
.footer-reach h6::after,.footer-links h6::after { content: ""; position: absolute; bottom: 0; left: 0; width: 24px; height: 2px; border-radius: 2px; background: #6745f5; }
.footer-reach .footer-contact { margin-top: 4px; }
.footer-reach .footer-contact a { padding: 5px 0; }
.payment-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.payment-badges span { padding: 5px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; color: #d9d3ef; background: rgba(255,255,255,.04); font-size: 8px; font-weight: 700; }
.footer-bottom { display: flex; justify-content: space-between; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.08); color: #8f88aa; font-size: 9px; }
.footer-bottom i { color: #7dffbd; margin-right: 4px; }

@media (max-width: 767.98px) {
  .footer-news { align-items: flex-start; flex-direction: column; gap: 16px; padding: 24px 20px; }
  .footer-subscribe { width: 100%; }
  .site-footer .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 22px; }
  .footer-about { grid-column: 1/-1; }
  .footer-reach { grid-column: 1/-1; }
  .footer-bottom { align-items: center; flex-direction: column; gap: 7px; }
}

.recommend-category-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  padding: 10px;
  overflow-x: auto;
  scrollbar-width: none;
  border: 1px solid #ebe8f2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(32,24,80,.04);
}

.recommend-category-bar::-webkit-scrollbar { display: none; }
.recommend-label { display: flex; align-items: center; gap: 7px; padding: 0 11px 0 5px; border-right: 1px solid #e9e7ef; color: #8d8a9d; font-size: 10px; font-weight: 700; white-space: nowrap; }
.recommend-label i { color: #5b35f2; font-size: 14px; }
.recommend-category-bar button { display: flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 13px; border: 1px solid transparent; border-radius: 9px; background: #f7f6f9; color: #59576a; font-size: 10px; font-weight: 700; white-space: nowrap; transition: .2s ease; }
.recommend-category-bar button i { font-size: 13px; color: #817b91; }
.recommend-category-bar button:hover { border-color: #dcd5ff; color: #5b35f2; background: #f4f1ff; }
.recommend-category-bar button.active { color: #fff; background: linear-gradient(135deg,#5b35f2,#7657f7); box-shadow: 0 5px 12px rgba(91,53,242,.2); }
.recommend-category-bar button.active i { color: #fff; }

@media (max-width: 575.98px) {
  .recommend-category-bar { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; border-left: 0; border-right: 0; border-radius: 0; }
  .recommend-label { display: none; }
}

.curated-grid { display: grid; grid-template-columns: 1.35fr 1fr; grid-template-rows: 148px 148px; gap: 13px; }
.curated-card { position: relative; display: flex; align-items: center; overflow: hidden; border-radius: 16px; transition: transform .25s ease,box-shadow .25s ease; }
.curated-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(32,24,80,.11); }
.curated-featured { grid-row: 1/3; padding: 34px; background: linear-gradient(135deg,#ddd5ff,#f2eeff); color: #2d205e; }
.curated-featured::before { content: ""; position: absolute; width: 300px; height: 300px; right: -45px; border: 55px solid rgba(255,255,255,.4); border-radius: 50%; }
.curated-copy { position: relative; z-index: 2; }
.curated-tag { display: inline-block; margin-bottom: 8px; color: #5b35f2; font-size: 8px; font-weight: 800; letter-spacing: 1.4px; }
.curated-card h3 { margin: 0 0 8px; font-size: 23px; line-height: 1.25; font-weight: 800; }
.curated-card p { max-width: 245px; margin: 0 0 16px; color: #625b7a; font-size: 10px; line-height: 1.6; }
.curated-card strong { color: #5b35f2; font-size: 18px; }
.curated-card del { margin-left: 7px; color: #9991ad; font-size: 10px; }
.curated-card .curated-copy>b { display: block; margin-top: 14px; font-size: 9px; }
.curated-card>img { position: absolute; z-index: 1; right: 3%; width: 47%; height: 92%; object-fit: contain; filter: drop-shadow(0 18px 16px rgba(35,24,73,.2)); }
.curated-discount { position: absolute; z-index: 3; right: 22px; top: 20px; width: 46px; height: 46px; display: grid; place-content: center; border-radius: 50%; background: #ff6250; color: #fff; text-align: center; font-size: 12px; font-weight: 800; box-shadow: 0 6px 15px rgba(255,98,80,.28); }
.curated-discount small { display: block; font-size: 7px; }
.curated-small { padding: 22px 25px; }
.curated-small h3 { font-size: 17px; }
.curated-small strong { font-size: 14px; }
.curated-small>img { right: 1%; width: 43%; height: 112%; }
.curated-fashion { background: linear-gradient(135deg,#fff0df,#f8dfc4); color: #6a3a19; }
.curated-fashion .curated-tag,.curated-fashion strong { color: #b95b16; }
.curated-beauty { background: linear-gradient(135deg,#ffe9ef,#f8d7e1); color: #6f2944; }
.curated-beauty .curated-tag,.curated-beauty strong { color: #b53863; }
.polish-featured { background: linear-gradient(135deg,#ece0d2,#f7efe6); color: #3f291b; }
.polish-featured .curated-tag,.polish-featured strong { color: #9a4f1c; }
.polish-featured>img { right: 1%; width: 50%; height: 96%; }
.polish-order-cta { width: fit-content; padding: 9px 13px; border-radius: 8px; background: #4222c9; color: #fff; }
.polish-benefit ul { list-style: none; margin: 6px 0 0; padding: 0; }
.polish-benefit li { margin: 4px 0; font-size: 9px; }
.polish-benefit li i { margin-right: 5px; color: #12a66a; }
.polish-card-icon { position: absolute; right: 8%; color: rgba(91,53,242,.18); font-size: 82px; transform: rotate(-7deg); }

@media (max-width: 767.98px) {
  .curated-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 150px; }
  .curated-featured { grid-column: 1/-1; grid-row: auto; padding: 25px; }
  .curated-small { padding: 18px; }
  .curated-small h3 { font-size: 15px; }
  .curated-small>img { right: -10%; opacity: .7; }
}

@media (max-width: 480px) {
  .curated-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .curated-card { flex: 0 0 86%; min-height: 220px; scroll-snap-align: start; }
  .curated-featured { padding: 22px; }
  .curated-card>img { right: -7%; opacity: .72; }
}
