/* Shadowline Shop Experience — scoped to .slx-shop; original theme and hero slider are unchanged. */
.slx-shop {
  --slx-pink: #DB5075;
  --slx-pink-dark: #B83E64;
  --slx-berry: #7A3159;
  --slx-deep: #55213D;
  --slx-blush: #F8E7EE;
  --slx-cream: #FFF8FB;
  --slx-border: #EAD7E1;
  --slx-muted: #9B7D8C;
  --slx-white: #FFFFFF;
  --slx-ink: #342330;
  --slx-shadow: 0 9px 34px rgba(85, 33, 61, .08);
  box-sizing: border-box;
  color: var(--slx-ink);
  background: var(--slx-white);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
  isolation: isolate;
}
.slx-shop *, .slx-shop *::before, .slx-shop *::after { box-sizing: border-box; }
.slx-shop svg { height: 22px; width: 22px; display: block; flex: 0 0 auto; }
.slx-shop a, .slx-shop button, .slx-shop input { font-family: inherit; }
.slx-shop a { text-decoration: none; }
.slx-shop button { cursor: pointer; }
.slx-shop button:disabled { cursor: default; }
.slx-shop button:focus-visible, .slx-shop a:focus-visible, .slx-shop input:focus-visible, .slx-shop .slx-carousel:focus-visible { outline: 3px solid var(--slx-pink); outline-offset: 3px; }
.slx-shop h1, .slx-shop h2, .slx-shop h3, .slx-shop p { margin: 0; letter-spacing: normal; }
.slx-shop h1, .slx-shop h2, .slx-shop h3 { font-family: Arial, Helvetica, sans-serif; line-height: 1.18; color: var(--slx-deep); }
.slx-shell { width: min(100%, 1450px); max-width: 1450px; margin: 0 auto; padding: 35px 34px 90px; }
.slx-eyebrow { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: 2.3px; color: var(--slx-pink); margin-bottom: 9px; }
.slx-dot { color: var(--slx-pink); }
.slx-shop-heading { display: flex; gap: 24px; justify-content: space-between; align-items: center; padding-bottom: 32px; }
.slx-shop-heading h1, .slx-subpage-heading h1 { font-size: clamp(27px, 3.4vw, 46px); font-weight: 800; margin-bottom: 9px; }
.slx-shop-heading p, .slx-subpage-heading p { color: #816e79; font-size: 15px; }
.slx-shop-links { display: flex; align-items: center; gap: 10px; }
.slx-shop .slx-header-link { display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid var(--slx-border); background: #fff; color: var(--slx-berry); border-radius: 18px; padding: 13px 17px; font-size: 14px; font-weight: 700; white-space: nowrap; transition: border-color .2s, transform .2s, background .2s; }
.slx-shop .slx-header-link:hover { border-color: var(--slx-pink); transform: translateY(-2px); background: var(--slx-cream); color: var(--slx-berry); }
.slx-header-link svg { width: 19px; height: 19px; }
.slx-cart-count, .slx-wish-count { display: inline-flex; justify-content: center; align-items: center; border-radius: 20px; min-width: 22px; height: 22px; padding: 0 5px; color: #fff; background: var(--slx-pink); font-size: 11px; }
.slx-wish-count[hidden] { display: none; }
.slx-count-pop { animation: slx-count-bounce .45s ease; }
.slx-category-topline { display: flex; justify-content: space-between; align-items: end; gap: 12px; padding-bottom: 17px; }
.slx-category-topline h2 { font-size: 20px; font-weight: 800; }
.slx-category-topline>span { color: var(--slx-muted); font-size: 12px; }
.slx-category-rail { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; gap: 12px; padding: 3px 2px 16px; margin-bottom: 38px; scrollbar-width: thin; scrollbar-color: var(--slx-border) transparent; -webkit-overflow-scrolling: touch; }
.slx-shop .slx-category-chip { min-width: 116px; max-width: 150px; flex: 1 0 116px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 16px 12px 14px; border: 1px solid var(--slx-border); background: var(--slx-cream); border-radius: 22px; color: var(--slx-deep); scroll-snap-align: start; transition: background .25s, border-color .25s, transform .25s, box-shadow .25s; }
.slx-shop .slx-category-chip:hover, .slx-shop .slx-category-chip.is-current { border-color: var(--slx-pink); color: var(--slx-deep); background: #fff; box-shadow: var(--slx-shadow); transform: translateY(-3px); }
.slx-category-circle { width: 78px; height: 78px; display: grid; place-items: center; border-radius: 19px; overflow: hidden; background: linear-gradient(145deg, #fff, var(--slx-blush)); }
.slx-category-circle img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 5px; }
.slx-category-monogram { font-size: 36px; font-weight: 800; color: var(--slx-pink); }
.slx-category-name { font-size: 12px; line-height: 1.35; font-weight: 700; min-height: 32px; display: flex; align-items: center; justify-content: center; overflow-wrap: anywhere; }
.slx-section-intro { display: flex; flex-direction: column; align-items: center; text-align: center; margin: 20px 0 30px; }
.slx-section-intro h2 { font-size: clamp(22px, 3vw, 32px); font-weight: 800; }
.slx-product-section { margin: 0 0 57px; scroll-margin-top: 96px; }
.slx-section-titlebar { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 21px; }
.slx-section-copy { display: flex; flex-direction: column; gap: 4px; }
.slx-section-kicker { color: var(--slx-pink); font-size: 10px; font-weight: 800; letter-spacing: 1.7px; }
.slx-section-titlebar h2 { font-size: clamp(19px, 2.45vw, 28px); font-weight: 800; }
.slx-section-controls { display: inline-flex; align-items: center; gap: 8px; }
.slx-shop .slx-view-all { display: inline-flex; align-items: center; color: var(--slx-berry); font-weight: 700; white-space: nowrap; gap: 4px; font-size: 13px; margin-right: 6px; }
.slx-view-all svg { height: 17px; width: 17px; transition: transform .2s; }
.slx-view-all:hover svg { transform: translateX(3px); }
.slx-shop .slx-arrow { display: grid; place-items: center; width: 39px; height: 39px; min-width: 39px; border: 1px solid var(--slx-border); background: #fff; border-radius: 50%; color: var(--slx-deep); box-shadow: none; padding: 0; transition: transform .2s, background .2s, color .2s; }
.slx-shop .slx-arrow svg { height: 17px; width: 17px; }
.slx-shop .slx-prev svg { transform: rotate(180deg); }
.slx-shop .slx-arrow:hover:not(:disabled) { color: #fff; background: var(--slx-pink); border-color: var(--slx-pink); transform: translateY(-2px); }
.slx-shop .slx-arrow:disabled { opacity: .32; }
.slx-carousel { display: flex; gap: 16px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; padding: 2px 1px 22px; scroll-padding-inline: 2px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--slx-border) transparent; }
.slx-product-card { position: relative; display: flex; flex-direction: column; min-width: 0; flex: 0 0 clamp(180px, 19%, 253px); scroll-snap-align: start; border: 1px solid #f2e6ec; border-radius: 22px; background: #fff; overflow: hidden; box-shadow: 0 5px 23px rgba(65, 18, 44, .043); opacity: 0; transform: translateX(26px) translateY(7px); transition: transform .42s cubic-bezier(.2,.85,.3,1), opacity .42s ease, box-shadow .25s ease, border-color .25s ease; transition-delay: calc(var(--slx-seq, 0) * 56ms); }
.slx-product-card.slx-entered { opacity: 1; transform: translate(0,0); }
.slx-product-card.slx-entered:hover { box-shadow: 0 15px 30px rgba(85,33,61,.13); border-color: var(--slx-border); transform: translateY(-3px); }
.slx-product-photo { position: relative; aspect-ratio: 1 / 1; background: #fffafb; overflow: hidden; }
.slx-product-photo>a { width: 100%; height: 100%; display: block; }
.slx-product-photo img { object-fit: contain; width: 100%; height: 100%; max-width: 100%; padding: 12px; mix-blend-mode: multiply; transition: transform .48s cubic-bezier(.2,.8,.2,1); }
.slx-product-card:hover .slx-product-photo img { transform: scale(1.055); }
.slx-sale-tag { position: absolute; left: 10px; top: 12px; padding: 5px 10px; background: #fff; color: var(--slx-pink-dark); border-radius: 999px; font-size: 11px; font-weight: 800; border: 1px solid var(--slx-border); }
.slx-shop .slx-love { position: absolute; right: 10px; top: 10px; z-index: 2; border: 0; border-radius: 50%; background: rgba(255,255,255,.98); width: 39px; height: 39px; display: grid; place-items: center; color: var(--slx-berry); padding: 0; box-shadow: 0 4px 14px rgba(70,24,53,.1); transition: transform .25s ease, color .2s ease, background .2s ease; }
.slx-love svg { width: 20px; height: 20px; fill: transparent; transition: fill .22s, transform .3s; }
.slx-shop .slx-love:hover { transform: scale(1.08); background: #fff; color: var(--slx-pink); }
.slx-shop .slx-love.is-saved { color: var(--slx-pink); }
.slx-love.is-saved svg { fill: var(--slx-pink); }
.slx-love.slx-heart-burst svg { animation: slx-heart .5s cubic-bezier(.2,.9,.2,1.2); }
.slx-product-body { display: flex; flex-direction: column; padding: 12px 13px 14px; gap: 11px; flex: 1; }
.slx-shop .slx-product-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--slx-ink); line-height: 1.43; font-size: 13px; min-height: 37px; max-height: 40px; font-weight: 600; }
.slx-shop .slx-product-name:hover { color: var(--slx-pink); }
.slx-price { font-size: 16px; font-weight: 800; line-height: 1.35; color: var(--slx-deep); margin-top: auto; }
.slx-price ins { background: transparent; color: var(--slx-pink); text-decoration: none; }
.slx-price del { font-size: 12px; font-weight: 500; opacity: .55; margin-right: 3px; }
.slx-price .amount { color: inherit; }
.slx-shop .slx-add { min-height: 39px; width: 100%; border: 1px solid var(--slx-pink); background: var(--slx-pink); color: #fff; font-weight: 800; border-radius: 11px; font-size: 12px; display: inline-flex; justify-content: center; align-items: center; gap: 8px; padding: 7px 10px; box-shadow: none; line-height: 1.25; transition: background .23s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.slx-shop .slx-add:hover { background: var(--slx-pink-dark); border-color: var(--slx-pink-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(219,80,117,.22); }
.slx-shop .slx-add svg { width: 16px; height: 16px; }
.slx-shop .slx-add.is-loading { opacity: .85; }
.slx-shop .slx-add.is-loading .slx-add-icon { width: 15px; height: 15px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; animation: slx-spin .7s linear infinite; }
.slx-shop .slx-add.is-loading svg { visibility: hidden; }
.slx-shop .slx-add.is-added { background: var(--slx-berry); border-color: var(--slx-berry); animation: slx-added .4s ease; }
.slx-shop .slx-add-options { background: #fff; color: var(--slx-berry); border-color: var(--slx-border); }
.slx-shop .slx-add-options:hover { color: #fff; }
.slx-section-bottom { display: flex; justify-content: center; margin-top: 3px; }
.slx-shop .slx-load-more { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 10px 20px; border: 1px solid var(--slx-border); border-radius: 100px; background: #fff; color: var(--slx-berry); font-weight: 700; font-size: 12px; }
.slx-shop .slx-load-more:hover { border-color: var(--slx-pink); color: var(--slx-pink); }
.slx-shop .slx-load-more[hidden] { display: none; }
.slx-load-more svg { width: 14px; height: 14px; }
.slx-shop .slx-load-more.is-loading { opacity: .5; pointer-events: none; }
.slx-no-items, .slx-retry-msg { color: var(--slx-muted); font-size: 14px; padding: 22px 15px; }
.slx-skeleton { flex: 0 0 clamp(180px, 19%, 253px); display: flex; flex-direction: column; padding: 8px 10px; border: 1px solid #f2e6ec; border-radius: 22px; }
.slx-skeleton span { aspect-ratio: 1; width: 100%; display: block; background: linear-gradient(90deg, #fff6fa 10%, #f7eaf0 40%, #fff6fa 70%); background-size: 220% 100%; border-radius: 15px; animation: slx-shimmer 1.5s linear infinite; }
.slx-skeleton i { width: 75%; height: 11px; background: var(--slx-blush); border-radius: 6px; margin-top: 16px; }
.slx-skeleton i:last-child { width: 46%; height: 13px; margin-bottom: 52px; }
.slx-reveal { transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); opacity: .55; transform: translateY(18px); }
.slx-reveal.slx-in-view { opacity: 1; transform: translateY(0); }
.slx-toast-stack { --slx-pink:#DB5075; --slx-berry:#7A3159; --slx-deep:#55213D; font-family: Arial, Helvetica, sans-serif; position: fixed; right: 24px; bottom: 25px; z-index: 999999; display: grid; justify-items: end; gap: 9px; pointer-events: none; max-width: calc(100vw - 30px); }
.slx-toast { display: flex; gap: 12px; align-items: center; max-width: 500px; min-width: min(320px, calc(100vw - 32px)); padding: 12px 15px; background: #fff; color: #352533; border: 1px solid #ead7e1; box-shadow: 0 16px 48px rgba(85,33,61,.18); border-radius: 17px; transform: translateY(15px) scale(.96); opacity: 0; transition: transform .25s ease, opacity .25s ease; pointer-events: auto; font-size: 13px; }
.slx-toast-show { transform: translateY(0) scale(1); opacity: 1; }
.slx-toast-inner { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; }
.slx-toast-mark { background: #f8e7ee; color: #b83e64; width: 29px; height: 29px; border-radius: 100px; display: grid; place-items: center; flex: none; }
.slx-toast-error .slx-toast-mark { background: #fff3e6; color: #b04b38; }
.slx-toast svg { width: 16px; height: 16px; }
.slx-toast-message { font-weight: 700; line-height: 1.4; }
.slx-toast-link { flex: none; color: var(--slx-pink); font-size: 12px; font-weight: 800; white-space: nowrap; text-decoration: none; }
.slx-toast-link:hover { color: var(--slx-deep); }
.slx-toast-close { border: 0; background: transparent; color: #9b7d8c; padding: 3px; }
.slx-toast-close svg { width: 13px; height: 13px; }
/* Wishlist, cart, coupon and WooCommerce totals */
.slx-subpage-heading { display: flex; gap: 24px; justify-content: space-between; align-items: center; padding: 10px 0 35px; }
.slx-shop .slx-outline-link { display: inline-flex; align-items: center; gap: 4px; padding: 12px 18px; color: var(--slx-berry); font-size: 13px; font-weight: 800; border: 1px solid var(--slx-border); border-radius: 100px; white-space: nowrap; transition: .2s; }
.slx-shop .slx-outline-link:hover { border-color: var(--slx-pink); color: var(--slx-pink); }
.slx-outline-link svg { width: 17px; height: 17px; }
.slx-wishlist-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 17px; }
.slx-wishlist-grid .slx-product-card { flex-basis: auto; }
.slx-wishlist-loader { padding: 35px 18px; color: var(--slx-muted); }
.slx-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, 375px); gap: 30px; align-items: start; }
.slx-cart-items { display: flex; flex-direction: column; gap: 12px; }
.slx-cart-item { background: #fff; border: 1px solid var(--slx-border); border-radius: 20px; padding: 16px; display: grid; grid-template-columns: 105px minmax(0,1fr) auto; gap: 17px; }
.slx-cart-image { width: 105px; height: 113px; border-radius: 14px; overflow: hidden; background: var(--slx-cream); }
.slx-cart-image a { display: block; height: 100%; }
.slx-cart-image img { height: 100%; width: 100%; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; }
.slx-cart-item-info { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.slx-cart-item-info h3 { font-size: 14px; line-height: 1.45; font-weight: 700; }
.slx-cart-item-info h3 a { color: var(--slx-deep); }
.slx-cart-item-price { color: var(--slx-muted); font-size: 13px; }
.slx-variation { color: var(--slx-muted); font-size: 11px; }
.slx-quantity { border: 1px solid var(--slx-border); height: 33px; border-radius: 10px; display: flex; align-items: center; justify-content: space-between; overflow: hidden; }
.slx-shop .slx-quantity button { background: transparent; border: 0; border-radius: 0; width: 30px; height: 30px; color: var(--slx-berry); padding: 0; font-size: 20px; line-height: 1; }
.slx-shop .slx-quantity button:hover:not(:disabled) { background: var(--slx-blush); }
.slx-shop .slx-quantity button:disabled { opacity: .35; }
.slx-quantity output { padding: 0 9px; font-size: 13px; font-weight: 800; color: var(--slx-deep); }
.slx-cart-end { display: flex; flex-direction: column; justify-content: space-between; align-items: end; }
.slx-cart-end strong { color: var(--slx-deep); font-size: 15px; white-space: nowrap; }
.slx-shop .slx-cart-remove { background: #fff; border: 1px solid var(--slx-border); color: var(--slx-muted); width: 30px; height: 30px; display: grid; place-items: center; padding: 4px; border-radius: 50%; }
.slx-shop .slx-cart-remove:hover { color: var(--slx-pink); border-color: var(--slx-pink); }
.slx-cart-remove svg { width: 16px; height: 16px; }
.slx-cart-summary { border-radius: 22px; background: var(--slx-cream); border: 1px solid var(--slx-border); padding: 23px 23px 19px; }
.slx-cart-summary>h2 { font-size: 21px; font-weight: 800; margin-bottom: 19px; }
.slx-shop .slx-cart-summary .cart_totals, .slx-shop .slx-cart-summary .cart_totals>h2 { width: 100%; float: none; margin: 0; }
.slx-shop .slx-cart-summary .cart_totals>h2 { display: none; }
.slx-shop .slx-cart-summary table.shop_table { background: none; border: 0; width: 100%; margin: 0 0 20px; border-collapse: collapse; }
.slx-shop .slx-cart-summary table.shop_table tr { background: transparent; }
.slx-shop .slx-cart-summary table.shop_table th, .slx-shop .slx-cart-summary table.shop_table td { background: transparent; padding: 13px 0; font-size: 13px; border: 0; border-bottom: 1px solid var(--slx-border); color: var(--slx-ink); vertical-align: top; }
.slx-shop .slx-cart-summary table.shop_table th { text-align: left; font-weight: 600; }
.slx-shop .slx-cart-summary table.shop_table td { text-align: right; }
.slx-shop .slx-cart-summary .order-total th, .slx-shop .slx-cart-summary .order-total td { font-size: 17px !important; font-weight: 800 !important; color: var(--slx-deep) !important; }
.slx-shop .slx-cart-summary .wc-proceed-to-checkout { width: 100%; padding: 0; }
.slx-shop .slx-cart-summary .wc-proceed-to-checkout a.checkout-button { display: flex; justify-content: center; align-items: center; padding: 15px; background: var(--slx-pink); color: #fff; font-size: 14px; font-weight: 800; border: 0; border-radius: 13px; line-height: 1.4; transition: .2s; }
.slx-shop .slx-cart-summary .wc-proceed-to-checkout a.checkout-button:hover { background: var(--slx-pink-dark); }
.slx-checkout-note { text-align: center; padding-top: 12px; font-size: 11px; color: var(--slx-muted); }
.slx-coupon { padding: 23px; border: 1px dashed var(--slx-border); border-radius: 15px; margin-top: 10px; }
.slx-coupon label { display: block; color: var(--slx-deep); font-size: 13px; font-weight: 800; margin-bottom: 9px; }
.slx-coupon>div { display: flex; gap: 8px; }
.slx-shop .slx-coupon input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid var(--slx-border); border-radius: 10px; color: var(--slx-ink); background: #fff; font-size: 13px; }
.slx-shop .slx-apply-coupon { border: 0; border-radius: 10px; background: var(--slx-deep); color: #fff; padding: 10px 19px; font-size: 12px; font-weight: 800; }
.slx-shop .slx-apply-coupon:hover { background: var(--slx-berry); }
.slx-updating { opacity: .6; pointer-events: none; }
.slx-empty-cart { border: 1px solid var(--slx-border); border-radius: 25px; padding: 50px 22px; background: linear-gradient(145deg, #fff, var(--slx-cream)); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.slx-empty-illustration { height: 80px; width: 80px; display: grid; place-items: center; color: var(--slx-pink); background: var(--slx-blush); border-radius: 25px; margin-bottom: 6px; }
.slx-empty-illustration svg { width: 38px; height: 38px; }
.slx-empty-cart h2 { font-size: 23px; font-weight: 800; }
.slx-empty-cart p { color: var(--slx-muted); font-size: 14px; }
.slx-shop .slx-primary-link { display: inline-flex; justify-content: center; align-items: center; gap: 5px; border-radius: 100px; padding: 12px 23px; background: var(--slx-pink); color: #fff; font-weight: 800; font-size: 13px; margin-top: 8px; }
.slx-shop .slx-primary-link:hover { background: var(--slx-pink-dark); color: #fff; }
.slx-primary-link svg { height: 16px; width: 16px; }
.slx-recommendations { margin-top: 45px; }
@keyframes slx-shimmer { from { background-position: 220% 0; } to { background-position: -220% 0; } }
@keyframes slx-heart { 0% { transform: scale(1); } 45% { transform: scale(1.4) rotate(-11deg); } 72% { transform: scale(.85) rotate(5deg); } 100% { transform: scale(1); } }
@keyframes slx-count-bounce { 0%,100% { transform: scale(1); } 40% { transform: scale(1.35); } }
@keyframes slx-spin { to { transform: rotate(360deg); } }
@keyframes slx-added { 40% { transform: scale(1.045); } }
@media (min-width: 1180px) {
  .slx-product-card, .slx-skeleton { flex-basis: calc((100% - 16px * 4) / 5); }
}
@media (max-width: 1000px) {
  .slx-shell { padding: 29px 22px 70px; }
  .slx-product-card, .slx-skeleton { flex-basis: calc((100% - 16px * 2) / 3); }
  .slx-cart-layout { grid-template-columns: 1fr; }
  .slx-wishlist-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .slx-shell { padding: 24px 13px 70px; }
  .slx-shop-heading { align-items: start; gap: 14px; padding-bottom: 23px; }
  .slx-shop-heading h1 { font-size: 26px; }
  .slx-shop-heading p { font-size: 12px; max-width: 250px; }
  .slx-eyebrow { font-size: 10px; letter-spacing: 1.6px; }
  .slx-shop-links { flex: none; gap: 5px; }
  .slx-shop .slx-header-link { gap: 4px; border-radius: 13px; min-height: 38px; padding: 8px; font-size: 11px; }
  .slx-shop .slx-header-link>span:not(.slx-cart-count):not(.slx-wish-count) { display: none; }
  .slx-header-link svg { height: 18px; width: 18px; }
  .slx-cart-count, .slx-wish-count { height: 18px; min-width: 18px; font-size: 10px; }
  .slx-category-topline h2 { font-size: 17px; }
  .slx-category-topline>span { display: none; }
  .slx-category-rail { gap: 9px; margin-bottom: 28px; }
  .slx-shop .slx-category-chip { min-width: 93px; max-width: 108px; flex: 0 0 93px; border-radius: 16px; padding: 12px 5px 10px; gap: 9px; }
  .slx-category-circle { width: 67px; height: 67px; border-radius: 13px; }
  .slx-category-monogram { font-size: 29px; }
  .slx-category-name { font-size: 11px; min-height: 30px; }
  .slx-section-intro { margin: 12px 0 30px; }
  .slx-section-intro h2 { font-size: 22px; }
  .slx-product-section { margin-bottom: 43px; scroll-margin-top: 74px; }
  .slx-section-titlebar { align-items: end; margin-bottom: 13px; gap: 5px; }
  .slx-section-titlebar h2 { font-size: 19px; }
  .slx-section-kicker { font-size: 9px; }
  .slx-section-controls { gap: 6px; }
  .slx-shop .slx-view-all { font-size: 11px; margin-right: 0; }
  .slx-view-all svg { display: none; }
  .slx-shop .slx-arrow { height: 32px; width: 32px; min-width: 32px; }
  .slx-shop .slx-arrow svg { width: 16px; height: 16px; }
  .slx-carousel { gap: 10px; padding-bottom: 15px; }
  .slx-product-card, .slx-skeleton { flex-basis: min(45vw, 200px); border-radius: 15px; }
  .slx-product-photo img { padding: 7px; }
  .slx-product-body { padding: 10px; gap: 8px; }
  .slx-shop .slx-product-name { font-size: 12px; min-height: 35px; }
  .slx-price { font-size: 15px; }
  .slx-shop .slx-love { height: 33px; width: 33px; top: 7px; right: 7px; }
  .slx-love svg { width: 17px; height: 17px; }
  .slx-shop .slx-add { min-height: 37px; font-size: 11px; padding: 7px 5px; }
  .slx-shop .slx-add svg { width: 14px; height: 14px; }
  .slx-sale-tag { font-size: 10px; left: 7px; top: 7px; padding: 3px 7px; }
  .slx-toast-stack { left: 12px; right: 12px; bottom: 14px; justify-items: stretch; max-width: unset; }
  .slx-toast { width: 100%; min-width: 0; padding: 12px; font-size: 12px; }
  .slx-subpage-heading { align-items: start; gap: 16px; padding-bottom: 23px; }
  .slx-subpage-heading h1 { font-size: 28px; }
  .slx-subpage-heading p { font-size: 12px; }
  .slx-shop .slx-outline-link { padding: 9px; font-size: 11px; border-radius: 14px; max-width: 120px; white-space: normal; }
  .slx-wishlist-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
  .slx-cart-item { grid-template-columns: 80px minmax(0,1fr) 56px; gap: 10px; padding: 10px; border-radius: 15px; }
  .slx-cart-image { width: 80px; height: 90px; }
  .slx-cart-item-info h3 { font-size: 12px; }
  .slx-cart-item-price { font-size: 11px; }
  .slx-cart-end strong { font-size: 12px; white-space: normal; text-align: right; }
  .slx-cart-summary { padding: 18px; }
  .slx-coupon { padding: 17px; }
  .slx-empty-cart { padding: 39px 17px; }
  .slx-empty-cart h2 { font-size: 20px; }
}
@media (max-width: 370px) {
  .slx-shop-heading h1 { font-size: 23px; }
  .slx-product-card, .slx-skeleton { flex-basis: 48vw; }
  .slx-shop .slx-view-all { display: none; }
  .slx-cart-item { grid-template-columns: 68px minmax(0,1fr) 48px; gap: 8px; }
  .slx-cart-image { width: 68px; height: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  .slx-shop *, .slx-shop *::before, .slx-shop *::after, .slx-toast, .slx-toast * { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .slx-product-card { opacity: 1; transform: none; }
}

/* v1.1.0 — mobile containment and clean round category navigation */
.slx-shop.slx-shell {
  width: 100%;
  max-width: min(100%, 1450px);
  min-width: 0;
  overflow-x: clip;
  margin-inline: auto;
}
.slx-shop .slx-shop-heading > div:first-child,
.slx-shop .slx-product-section,
.slx-shop .slx-section-copy,
.slx-shop .slx-section-titlebar,
.slx-shop .slx-carousel,
.slx-shop .slx-category-rail { min-width: 0; max-width: 100%; }
.slx-shop .slx-category-rail {
  gap: clamp(10px, 2.5vw, 24px);
  padding: 5px 2px 16px;
  margin-bottom: 28px;
  scrollbar-width: none;
}
.slx-shop .slx-category-rail::-webkit-scrollbar { display: none; }
.slx-shop a.slx-category-chip {
  flex: 0 0 117px;
  min-width: 0;
  max-width: 117px;
  padding: 0 3px 8px;
  gap: 9px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.slx-shop a.slx-category-chip:hover,
.slx-shop a.slx-category-chip.is-current {
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.slx-shop .slx-category-circle {
  width: 103px;
  height: 103px;
  aspect-ratio: 1 / 1;
  flex: none;
  border-radius: 50% !important;
  background: #fbeef3;
  border: 2px solid #fae9ef;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.slx-shop a.slx-category-chip:hover .slx-category-circle,
.slx-shop a.slx-category-chip.is-current .slx-category-circle {
  border-color: var(--slx-pink);
  box-shadow: 0 5px 18px rgba(219,80,117,.13);
  transform: translateY(-2px);
}
.slx-shop .slx-category-circle img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  padding: 0;
  mix-blend-mode: normal;
}
.slx-shop .slx-category-name {
  width: 100%;
  min-height: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}
.slx-shop .slx-section-titlebar {
  align-items: center;
}
.slx-shop .slx-section-copy { flex: 1 1 auto; }
.slx-shop .slx-section-controls { flex: none; white-space: nowrap; }
.slx-shop button.slx-love {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  aspect-ratio: 1 / 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  border-radius: 50% !important;
  overflow: hidden;
  box-sizing: border-box;
}
.slx-shop button.slx-love svg { width: 20px !important; height: 20px !important; flex: none; }
.slx-shop button.slx-arrow {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 39px !important;
  height: 39px !important;
  min-width: 39px !important;
  min-height: 39px !important;
  max-width: 39px !important;
  max-height: 39px !important;
  aspect-ratio: 1 / 1;
  flex: 0 0 39px;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  border-radius: 50% !important;
  box-sizing: border-box;
}
.slx-shop button.slx-arrow svg { width: 17px !important; height: 17px !important; flex: none; }
/* Leave clearance for a bottom-right floating WhatsApp contact icon. */
.slx-toast-stack {
  bottom: calc(105px + env(safe-area-inset-bottom, 0px));
  z-index: 2147483000;
}
@media (max-width: 640px) {
  .slx-shop.slx-shell { padding: 22px 15px 70px; }
  .slx-shop .slx-shop-heading { align-items: flex-start; flex-wrap: wrap; }
  .slx-shop .slx-shop-heading > div:first-child { flex: 1 1 185px; }
  .slx-shop .slx-shop-links { flex: none; }
  .slx-shop .slx-category-rail { gap: 10px; padding-inline: 1px; }
  .slx-shop a.slx-category-chip { flex: 0 0 80px; min-width: 80px; max-width: 80px; padding: 0 1px 6px; gap: 7px; }
  .slx-shop .slx-category-circle { width: 73px; height: 73px; }
  .slx-shop .slx-category-name { font-size: 11px; line-height: 1.3; }
  .slx-shop .slx-section-titlebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
  .slx-shop .slx-section-titlebar h2 { font-size: clamp(16px, 4.8vw, 20px); overflow-wrap: anywhere; }
  .slx-shop .slx-section-controls { gap: 6px; }
  .slx-shop .slx-view-all { font-size: 11px; line-height: 1.1; margin-right: 2px; }
  .slx-shop button.slx-arrow {
    width: 35px !important; height: 35px !important;
    min-width: 35px !important; min-height: 35px !important;
    max-width: 35px !important; max-height: 35px !important;
    flex-basis: 35px;
  }
  .slx-shop button.slx-love {
    width: 36px !important; height: 36px !important;
    min-width: 36px !important; min-height: 36px !important;
    max-width: 36px !important; max-height: 36px !important;
  }
  .slx-shop button.slx-love svg { width: 18px !important; height: 18px !important; }
  .slx-shop .slx-carousel { width: 100%; max-width: 100%; overflow-x: auto; }
  .slx-shop .slx-product-card, .slx-shop .slx-skeleton { flex-basis: min(43vw, 194px); }
  .slx-toast-stack {
    left: 12px;
    right: 12px;
    bottom: calc(109px + env(safe-area-inset-bottom, 0px));
  }
  .slx-toast { max-width: 100%; }
  .slx-toast-inner { min-width: 0; }
  .slx-toast-message { overflow-wrap: anywhere; }
}
@media (max-width: 370px) {
  .slx-shop.slx-shell { padding-inline: 11px; }
  .slx-shop .slx-section-controls { gap: 4px; }
  .slx-shop .slx-view-all { display: inline-flex; font-size: 10px; }
  .slx-shop button.slx-arrow {
    width: 31px !important; height: 31px !important;
    min-width: 31px !important; min-height: 31px !important;
    max-width: 31px !important; max-height: 31px !important;
    flex-basis: 31px;
  }
}

@media (max-width: 640px) {
  /* Circular wishlist and bag controls next to the shop title. */
  .slx-shop a.slx-header-link {
    position: relative;
    width: 43px !important;
    height: 43px !important;
    min-width: 43px !important;
    min-height: 43px !important;
    max-width: 43px !important;
    max-height: 43px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .slx-shop .slx-header-link .slx-cart-count,
  .slx-shop .slx-header-link .slx-wish-count:not([hidden]) {
    position: absolute;
    right: -5px;
    top: -5px;
    width: 19px;
    height: 19px;
    min-width: 19px;
    padding: 0 3px;
    border: 2px solid #fff;
    border-radius: 99px;
    line-height: 1;
  }
  .slx-shop .slx-header-link .slx-wish-count[hidden] { display: none; }
}


/* Version 1.2: slightly larger, centered circular collections and matching archives. */
@media (min-width: 641px) {
  .slx-shop .slx-category-rail {
    justify-content: safe center; /* centers short sets but remains scrollable for long sets */
    gap: clamp(13px, 1.6vw, 24px);
    margin-inline: auto;
  }
  .slx-shop a.slx-category-chip { flex: 0 0 140px; max-width: 140px; padding-inline: 5px; }
  .slx-shop .slx-category-circle {
    width: 119px; height: 119px; min-width: 119px; min-height: 119px;
  }
  .slx-shop .slx-category-name { font-size: 13px; }
}
@media (max-width: 640px) {
  .slx-shop .slx-category-rail { justify-content: flex-start; gap: 12px; }
  .slx-shop a.slx-category-chip { flex: 0 0 96px; min-width: 96px; max-width: 96px; }
  .slx-shop .slx-category-circle { width: 84px; height: 84px; min-width: 84px; min-height: 84px; }
}

/* Smart predictive search, scoped to the Shadowline shop. */
.slx-shop .slx-search-box { position: relative; z-index: 20; width: min(100%, 685px); margin: -5px 0 36px; }
.slx-shop .slx-smart-search {
  display: flex; position: relative; align-items: center; width: 100%; height: 58px;
  border: 1px solid var(--slx-border); border-radius: 19px; background: #fff;
  box-shadow: 0 7px 28px rgba(85,33,61,.055); transition: border-color .2s, box-shadow .2s;
}
.slx-shop .slx-smart-search:focus-within { border-color: #d97695; box-shadow: 0 8px 28px rgba(219,80,117,.11); }
.slx-shop .slx-search-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.slx-shop .slx-search-icon { flex: 0 0 53px; color: var(--slx-berry); display: grid; place-items: center; }
.slx-shop .slx-search-icon svg { width: 20px; height: 20px; }
.slx-shop input.slx-search-input {
  flex: 1 1 auto; min-width: 0; height: 100%; border: 0 !important; outline: none !important;
  box-shadow: none !important; background: transparent !important; color: var(--slx-deep) !important;
  font: 500 14px/1.4 Arial,Helvetica,sans-serif !important; padding: 0 9px 0 0 !important;
  -webkit-appearance: none; appearance: none;
}
.slx-shop input.slx-search-input::placeholder { color: #a48b99; opacity: 1; }
.slx-shop input.slx-search-input::-webkit-search-cancel-button { display: none; }
.slx-shop button.slx-search-clear, .slx-shop button.slx-search-submit {
  flex: 0 0 37px; width: 37px; min-width: 37px; height: 37px; min-height: 37px;
  display: flex; align-items: center; justify-content: center; padding: 0 !important;
  border: 0; background: transparent; color: var(--slx-muted); border-radius: 50%; margin: 0 4px 0 0;
}
.slx-shop button.slx-search-clear[hidden] { display: none !important; }
.slx-shop button.slx-search-submit { flex-basis: 42px; width: 42px; height: 42px; min-width: 42px; min-height: 42px; margin-right: 7px; color: #fff; background: var(--slx-pink); border-radius: 15px; }
.slx-shop button.slx-search-submit:hover { color: #fff; background: var(--slx-pink-dark); }
.slx-shop .slx-search-clear svg, .slx-shop .slx-search-submit svg { width: 17px; height: 17px; }
.slx-shop .slx-search-dropdown {
  position: absolute; z-index: 80; width: 100%; top: calc(100% + 9px); left: 0;
  overflow-y: auto; max-height: min(65vh, 500px);
  padding: 8px; background: #fff; border-radius: 17px; border: 1px solid var(--slx-border);
  box-shadow: 0 18px 48px rgba(85,33,61,.16);
  animation: slx-search-appear .2s ease both;
}
.slx-shop .slx-search-dropdown[hidden] { display: none !important; }
.slx-shop .slx-search-result {
  display: grid; grid-template-columns: 54px minmax(0,1fr) 18px;
  align-items: center; gap: 12px; padding: 8px; border-radius: 12px;
  color: var(--slx-deep); transition: background .15s;
}
.slx-shop .slx-search-result:hover, .slx-shop .slx-search-result:focus-visible { background: var(--slx-cream); color: var(--slx-deep); }
.slx-shop .slx-search-thumb { width: 54px; height: 54px; overflow: hidden; border-radius: 11px; background: var(--slx-cream); }
.slx-shop .slx-search-thumb img { width: 100%; height: 100%; object-fit: cover; }
.slx-shop .slx-search-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.slx-shop .slx-search-info strong { font-size: 13px; font-weight: 700; line-height: 1.35; }
.slx-shop .slx-search-info small { font-size: 13px; font-weight: 700; color: var(--slx-pink-dark); }
.slx-shop .slx-search-result>svg { width: 16px; height: 16px; }
.slx-shop .slx-search-all {
  margin: 7px 3px 3px; padding: 11px 14px; border-radius: 12px; display: flex;
  align-items: center; justify-content: center; gap: 9px; background: var(--slx-cream);
  color: var(--slx-pink-dark); font-weight: 800; font-size: 13px;
}
.slx-shop .slx-search-all:hover { background: var(--slx-blush); color: var(--slx-deep); }
.slx-shop .slx-search-all svg { width: 15px; height: 15px; }
.slx-shop .slx-search-none { font-size: 13px; color: var(--slx-muted); padding: 16px 13px; }
@keyframes slx-search-appear { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

/* Full category and search results use the exact same product-card component. */
.slx-shop .slx-breadcrumb-links {
  display: flex; align-items: center; gap: 8px; padding-bottom: 22px;
  color: var(--slx-muted); font-size: 12px; font-weight: 700;
}
.slx-shop .slx-breadcrumb-links a { color: var(--slx-berry); }
.slx-shop .slx-breadcrumb-links svg { width: 12px; height: 12px; }
.slx-shop .slx-archive-heading { padding-bottom: 26px; }
.slx-shop .slx-archive-categories {
  display: flex; max-width: 100%; overflow-x: auto; gap: 18px;
  justify-content: safe center; margin: 0 auto 36px; padding: 5px 1px 15px;
  scrollbar-width: none; scroll-snap-type: x proximity;
}
.slx-shop .slx-archive-categories::-webkit-scrollbar { display: none; }
.slx-shop .slx-archive-category {
  flex: 0 0 105px; max-width: 105px; min-width: 0; display: flex;
  flex-direction: column; align-items: center; text-align: center; gap: 8px;
  color: var(--slx-deep); font-size: 12px; font-weight: 700; line-height: 1.35; scroll-snap-align: start;
}
.slx-shop .slx-archive-category:hover, .slx-shop .slx-archive-category.is-current { color: var(--slx-pink-dark); }
.slx-shop .slx-archive-category-circle {
  width: 95px; height: 95px; border-radius: 50%; overflow: hidden;
  display: grid; place-items: center; background: #fbeef3; border: 2px solid #fae9ef;
  color: var(--slx-berry); font-size: 28px;
}
.slx-shop .slx-archive-category.is-current .slx-archive-category-circle { border-color: var(--slx-pink); box-shadow: 0 5px 18px rgba(219,80,117,.13); }
.slx-shop .slx-archive-category-circle img { width: 100%; height: 100%; object-fit: cover; }
.slx-shop .slx-grid-section { max-width: 100%; min-width: 0; padding-top: 7px; }
.slx-shop .slx-grid-heading { margin-bottom: 19px; }
.slx-shop .slx-grid-heading h2 { font-size: clamp(19px, 2.45vw, 27px); font-weight: 800; }
.slx-shop .slx-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 23px 17px; min-width: 0; }
.slx-shop .slx-product-grid>.slx-product-card { flex: none; width: 100%; min-width: 0; max-width: none; }
.slx-shop .slx-product-grid>.slx-product-card .slx-product-body { min-width: 0; }
.slx-shop .slx-grid-footer { display: flex; justify-content: center; margin: 32px 0 16px; }
.slx-shop button.slx-grid-more { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 45px; padding: 12px 23px; border: 0; border-radius: 99px; background: var(--slx-pink); color: #fff; font-size: 13px; font-weight: 700; }
.slx-shop button.slx-grid-more:hover { background: var(--slx-pink-dark); color: #fff; }
.slx-shop button.slx-grid-more[hidden] { display: none !important; }
.slx-shop button.slx-grid-more.is-loading { opacity: .6; pointer-events: none; }
.slx-shop button.slx-grid-more svg { width: 17px; height: 17px; }
.slx-shop .slx-grid-skeleton { display: block; height: 240px; border-radius: 18px; background: linear-gradient(110deg,#fff8fb 8%,#f7eaf0 18%,#fff8fb 33%); background-size: 250% 100%; animation: slx-shimmer 1.2s linear infinite; }
@media (max-width: 1000px) {
  .slx-shop .slx-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .slx-shop .slx-search-box { width: 100%; margin: 0 0 29px; }
  .slx-shop .slx-smart-search { height: 51px; border-radius: 15px; }
  .slx-shop .slx-search-icon { flex-basis: 43px; }
  .slx-shop button.slx-search-submit { min-width: 36px; width: 36px; height: 36px; min-height: 36px; flex-basis: 36px; border-radius: 12px; margin-right: 6px; }
  .slx-shop .slx-search-result { gap: 8px; }
  .slx-shop .slx-archive-categories { justify-content: flex-start; gap: 12px; }
  .slx-shop .slx-archive-category { flex-basis: 87px; max-width: 87px; font-size: 11px; }
  .slx-shop .slx-archive-category-circle { width: 80px; height: 80px; }
  .slx-shop .slx-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 10px; }
  .slx-shop .slx-product-grid>.slx-product-card { flex: none; width: 100%; min-width: 0; max-width: none; }
  .slx-shop .slx-breadcrumb-links { padding-bottom: 17px; }
}
@media (max-width: 340px) {
  .slx-shop .slx-product-grid { gap: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .slx-shop .slx-search-dropdown { animation: none; }
}
