/* Shared storefront interactions and promotional UI. */
body[data-page=home] #homeAllShop .all-shop-heading{justify-content:center;text-align:center;margin-bottom:30px}
#homeAllShopTitle{position:relative;padding-bottom:16px}
#homeAllShopTitle::after{content:"";position:absolute;width:52px;height:3px;border-radius:3px;background:var(--purple);bottom:0;left:50%;transform:translateX(-50%)}
.bag-camera-flash{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;outline:0;background:#fff;pointer-events:none;z-index:2147483647;opacity:0;animation:bag-camera-flash 280ms ease-out both}
.bag-camera-flash::backdrop{background:transparent;pointer-events:none}
@keyframes bag-camera-flash{0%{opacity:0}18%{opacity:.58}100%{opacity:0}}
.hero-slide-controls{position:absolute;right:4vw;bottom:28px;z-index:7;display:flex;align-items:center;gap:14px}
body[data-page=home] .hero-slide-controls .hero-arrow,body[data-page=home] .hero-slide-counter{position:static;inset:auto;transform:none;width:64px;height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:1.5px solid #ffffffb3;border-radius:50%;color:#fff;background:transparent;backdrop-filter:none;line-height:1;box-shadow:none}
body[data-page=home] .hero-slide-controls .hero-arrow{font-size:32px;font-weight:400}
body[data-page=home] .hero-slide-counter{position:relative;border:0;font-size:15px;letter-spacing:0;cursor:pointer;width:72px;height:72px;flex-basis:72px}
.hero-slide-counter svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;pointer-events:none}
.hero-ring-track{stroke:#ffffff45;stroke-width:2}
.hero-ring-progress{stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:hero-ring-fill 5500ms linear forwards}
.hero-slide-controls.is-paused .hero-ring-progress{animation-play-state:paused}
@keyframes hero-ring-fill{to{stroke-dashoffset:0}}
body[data-page=home] .hero-slide-controls .hero-arrow[hidden]{display:none}
body[data-page=home] .hero-slide-counter:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-slide-counter b{font-size:inherit;font-weight:700}
body[data-page=home] .hero-slide-controls .hero-arrow:hover{background:#ffffff1f;border-color:#fff}
body[data-page=home] .hero-slide-controls .hero-arrow:focus-visible{outline:2px solid #fff;outline-offset:5px}
body[data-page=home] #heroDots[hidden]{display:none}
@media(max-width:950px){.hero-slide-controls{right:24px;bottom:28px}}
.product-image[data-product-gallery]{isolation:isolate}
.product-gallery-count{position:absolute;left:15px;bottom:15px;padding:5px 10px;border-radius:20px;background:#ffffffeb;color:#475569;font:600 11px 'DM Sans',sans-serif;pointer-events:none;z-index:3}
.coupon-box{margin:22px 0;padding:17px 18px;background:#faf7ff;border:1px solid #dfd2f8;border-radius:16px;color:#334155;font-family:'DM Sans',sans-serif}
.coupon-box>label{display:block;font-size:13px;font-weight:700;margin-bottom:10px;color:#5722af}
.coupon-controls{display:flex;gap:8px}.coupon-controls input{min-width:0;flex:1;width:100%;background:#fff;border:1px solid #d8ccec;padding:11px 12px;border-radius:9px;color:#0f172a;font-size:14px;text-transform:uppercase}
.coupon-controls button{padding:10px 17px;border:0;border-radius:9px;background:var(--purple);color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.coupon-box .coupon-message{margin:10px 0 0;line-height:1.5;font-size:13px;color:#64748b}.coupon-box .coupon-message.success{color:#137047;font-weight:600}.coupon-box .coupon-message.error{color:#b42338}
.coupon-clear{background:none;border:0;color:#6c2bdb;font-size:12px;text-decoration:underline;margin-top:9px;padding:0;cursor:pointer}
.coupon-discount-row{color:#137047}
.welcome-offer{position:fixed;border:1px solid #e6dcf5;border-radius:26px;padding:0;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;color:#0f172a;background:#fff;box-shadow:0 25px 100px #1c10364d;text-align:center;font-family:'DM Sans',sans-serif}
.welcome-offer::backdrop{background:#17102570;backdrop-filter:blur(5px)}
.welcome-offer-top{padding:35px 30px 26px;background:radial-gradient(circle at 80% 0,#b497ec80,transparent 60%),linear-gradient(135deg,#f6f0ff,#eee6ff);position:relative}
.welcome-offer-close{position:absolute;right:12px;top:10px;border:0;background:#ffffffbf;width:34px;height:34px;border-radius:50%;font-size:23px;color:#475569;cursor:pointer}
.welcome-offer-kicker{color:#6c2bdb;font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.welcome-offer .welcome-offer-percent{font:600 68px/1.1 'DM Sans',sans-serif;color:#6c2bdb;margin:13px 0 6px;letter-spacing:-3px}
.welcome-offer h2{font:600 26px/1.2 'Playfair Display',serif;margin:4px 0 0}
.welcome-offer-content{padding:24px 28px}.welcome-offer-content p{font-size:14px;line-height:1.65;color:#64748b;margin:0 0 17px}
.welcome-code{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px dashed #b99be9;background:#faf7ff;padding:12px 14px;border-radius:12px}.welcome-code code{font:700 20px 'DM Sans',sans-serif;letter-spacing:2px;color:#5722af}.welcome-code button{border:0;border-radius:8px;background:#6c2bdb;color:#fff;font-size:13px;font-weight:700;padding:10px 15px;cursor:pointer}
.welcome-offer .welcome-terms{font-size:11px;line-height:1.6;margin:15px 0;color:#64748b}.welcome-offer .welcome-countdown{font-size:12px;color:#8a8198;margin:12px 0 0}.welcome-continue{display:inline-block;color:#6c2bdb;font-size:13px;font-weight:600;border:0;background:none;cursor:pointer;padding:7px}
body[data-page=home] .shop-category-product img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none;position:absolute;inset:0}
body[data-page=home] .shop-category-product{position:relative;overflow:hidden;border-radius:16px;margin:16px 0;min-height:0;aspect-ratio:1}
@media(max-width:600px){.hero-slide-controls{right:18px;bottom:100px;transform:none;gap:0}body[data-page=home] .hero-slide-counter{width:54px;height:54px;flex-basis:54px;font-size:13px}.coupon-box{padding:14px}.coupon-controls button{padding-inline:13px}.welcome-offer-content{padding:20px 22px}.welcome-offer-top{padding:30px 22px 23px}}
@media(prefers-reduced-motion:reduce){.hero-ring-progress{animation:none;stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.bag-camera-flash{animation:none;display:none}}
.bag-product-flight{position:fixed;width:86px;height:100px;padding:5px;border:1px solid #e6ddf6;background:#fff;border-radius:15px;box-shadow:0 12px 32px #39235040;z-index:1000;pointer-events:none;overflow:hidden}.bag-product-flight img{width:100%;height:100%;object-fit:contain;display:block}.bag-added-button{background:#178051!important;border-color:#178051!important;color:white!important}.bag-addition-receipt{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:16px 18px;width:max-content;max-width:calc(100vw - 28px);background:#fff;color:#152c24;border:1px solid #cde7d6;border-radius:16px;box-shadow:0 12px 50px #15352830;z-index:1001;animation:bag-receipt-in .22s ease-out}.bag-receipt-check{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0;border-radius:50%;background:#e0f5e8;color:#137a45;font-size:20px;font-weight:700}.bag-receipt-copy{min-width:0;display:grid;gap:4px}.bag-receipt-copy>b{font:700 14px 'DM Sans',sans-serif;color:#17623c}.bag-receipt-copy>span{font-size:12px;color:#617467;max-width:290px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bag-receipt-view{padding:10px 14px;white-space:nowrap;background:#6c2bdb;color:#fff;border:0;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.bag-receipt-close{background:transparent;border:0;color:#64756b;font-size:21px;cursor:pointer;padding:3px}.bag-addition-receipt button:focus-visible{outline:2px solid #6c2bdb;outline-offset:3px}@keyframes bag-receipt-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.bag-addition-receipt{bottom:max(18px,env(safe-area-inset-bottom));padding:12px;gap:9px;width:calc(100vw - 28px)}.bag-receipt-copy{flex:1}.bag-receipt-copy>span{max-width:160px;font-size:11px}.bag-receipt-view{padding:10px;font-size:11px}.bag-receipt-check{width:29px;height:29px;font-size:17px}.bag-product-flight{width:65px;height:78px}}
@media(prefers-reduced-motion:reduce){.bag-product-flight{display:none}.bag-addition-receipt{animation:none}}

.bundle-pack-size{display:block;color:#6c2bdb;font-size:12px;font-weight:700;margin:6px 0 8px}.quickview-size-options button{white-space:nowrap}
