/* ===== SSK Shop: Page-scoped design layer ===== */
#ssk-app {
	--shop-bg: linear-gradient(180deg, #ffffff 0%, #fbf7ff 30%, #ffffff 100%);
	--r-lg: 1.25rem;
	--r-md: 1rem;
	--shadow: 0 18px 60px rgba(26,16,34,.12);
}

/* Page base */
.shop-gradient-bg {
	background:
		radial-gradient(900px 520px at 5% 5%, rgba(199,168,248,.15), transparent 60%),
		radial-gradient(860px 520px at 95% 10%, rgba(33,212,198,.10), transparent 58%),
		radial-gradient(720px 520px at 50% 95%, rgba(255,79,216,.05), transparent 60%),
		var(--shop-bg);
	min-height:100vh;
}

/* Tight section rhythm */
#main > section {
	padding-block:clamp(1.1rem, 3.0vw, 2.35rem);
}

#shop-hero {
	padding-top:clamp(.75rem, 2.2vw, 1.75rem);
	padding-bottom:clamp(1.3rem, 3.6vw, 2.75rem);
}

/* Cards */
.shop-card {
	background:rgba(255,255,255,.92);
	backdrop-filter:blur(12px);
	border:1px solid rgba(26,16,34,.08);
	border-radius:var(--r-lg);
	box-shadow:0 10px 30px rgba(26,16,34,.06);
	transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.shop-card:hover {
	transform:translateY(-3px);
	box-shadow:0 18px 45px rgba(26,16,34,.12);
	border-color:rgba(199,168,248,.35);
}

.category-card {
	background:rgba(255,255,255,.86);
	backdrop-filter:blur(10px);
	border:1px solid rgba(26,16,34,.06);
	border-radius:1rem;
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	position:relative;
	overflow:hidden;
}

.category-card:hover {
	transform:translateY(-3px);
	box-shadow:0 12px 35px rgba(26,16,34,.1);
	border-color:rgba(199,168,248,.4);
}

/* Visual hotspots (non-interactive) */
.hero-halo {
	position:relative;
}

.hero-halo:before {
	content:"";
	position:absolute;
	inset:-14px -22px;
	background:
		radial-gradient(420px 240px at 50% 20%, rgba(199,168,248,.26), transparent 64%),
		radial-gradient(420px 240px at 50% 80%, rgba(33,212,198,.18), transparent 66%);
	filter: blur(2px);
	pointer-events:none;
	z-index:-1;
}

.soft-sep {
	position:relative;
}

.soft-sep:before {
	content:"";
	position:absolute;
	left:0;right:0;top:-1px;height:26px;
	background:linear-gradient(180deg, rgba(255,255,255,0), rgba(199,168,248,.10), rgba(255,255,255,0));
	filter: blur(6px);
	pointer-events:none;
}

.featured-ping {
	border-color:rgba(33,212,198,.55)!important;
	box-shadow:0 18px 55px rgba(16,179,167,.16);
}

.corner-chip {
	position:absolute;top:10px;right:10px;
	padding:.25rem .55rem;border-radius:999px;
	font-size:.72rem;font-weight:700;
	background:rgba(255,255,255,.9);
	border:1px solid rgba(26,16,34,.10);
	color:rgba(26,16,34,.86);
}

/* Filter pills */
.filter-pill {
	background:rgba(255,255,255,.9);
	border:1px solid rgba(26,16,34,.12);
	transition:all .15s ease;
}

.filter-pill:hover {
	background:rgba(199,168,248,.14);
	border-color:var(--primary-purple);
}

.filter-pill[aria-current="true"] {
	background:rgba(33,212,198,.12);
	border-color:rgba(16,179,167,.55);
}

/* Floating cart button */
.ssk-float-cart {
	position:fixed;right:14px;bottom:14px;z-index:9998;
	display:inline-flex;align-items:center;gap:.55rem;
	padding:.75rem .85rem;border-radius:999px;
	background:rgba(255,255,255,.92);
	border:1px solid rgba(26,16,34,.12);
	box-shadow:0 18px 50px rgba(26,16,34,.18);
	color:rgba(26,16,34,.88);
	backdrop-filter:blur(10px);
	min-height:44px;
}

.ssk-float-cart:focus {
	outline:3px solid rgba(16,179,167,.45);
	outline-offset:3px;
}

.ssk-float-cart__icon {
	display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;
	background:linear-gradient(135deg,var(--primary-purple-dark),var(--accent-teal));
	color:#fff;
}

.ssk-float-cart__count {
	display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;
	background:#F43F5E;color:#fff;font-size:.78rem;font-weight:700;line-height:1;
}

@media (max-width:767px) {
	.ssk-float-cart {
		bottom:88px;
	}
}

@media (min-width:1024px) {
	.ssk-float-cart {
		right:18px;bottom:18px;
	}
}

/* Off-canvas mini cart */
#cartSidebarOverlay {
	transition:opacity .25s ease;
}

#cartSidebar {
	transition:transform .25s ease;
}

.cart-open #cartSidebarOverlay {
	opacity:1;pointer-events:auto;
}

.cart-open #cartSidebar {
	transform:translateX(0);
}

/* Focus ring for interactive elements */
.ssk-shop a:focus, .ssk-shop button:focus, .ssk-shop summary:focus {
	outline:3px solid rgba(16,179,167,.35);
	outline-offset:3px;
}

@media (prefers-reduced-motion: reduce) {
	#ssk-app * {
		animation-duration:0.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:0.01ms!important;
		scroll-behavior:auto!important;
	}
	.btn-sheen:after {
		animation:none!important;
	}
}

/* S&S Savings Haven parity for the shop page. Loaded after ssk-app.css. */
#ssk-app{
	--shop-bg:
		radial-gradient(circle at 10% 0%, rgba(239,232,251,.92), transparent 40%),
		radial-gradient(circle at 88% 22%, rgba(216,183,106,.20), transparent 36%),
		linear-gradient(180deg, #fffaf4 0%, #fffdf9 48%, #f5edff 100%);
}
.shop-gradient-bg{
	background:var(--shop-bg) !important;
}
#ssk-app .ssk-shop #main > section{
	padding-block:clamp(42px, 5vw, 76px);
}
#ssk-app .ssk-shop #shop-hero{
	padding-top:clamp(42px, 5.5vw, 86px);
	padding-bottom:clamp(46px, 6vw, 92px);
}
#ssk-app .ssk-shop .hero-frame,
#ssk-app .ssk-shop .shop-card,
#ssk-app .ssk-shop .category-card,
#ssk-app .ssk-shop .filter-pill{
	border-color:rgba(75,45,115,.14) !important;
	border-radius:30px !important;
	background:rgba(255,253,249,.84) !important;
	box-shadow:0 18px 52px -24px rgba(47,29,70,.30) !important;
}
#ssk-app .ssk-shop .ssk-h1{
	font-size:clamp(3.15rem, 6.8vw, 6.65rem);
	line-height:1.04;
	color:#251737;
}
#ssk-app .ssk-shop .ssk-h2{
	font-size:clamp(2rem, 4.2vw, 4rem);
	line-height:1.06;
	color:#251737;
}
#ssk-app .ssk-shop .ssk-hero-eyebrow,
#ssk-app .ssk-shop .corner-chip{
	border-color:rgba(75,45,115,.20) !important;
	background:rgba(255,253,249,.78) !important;
	color:#4b2d73 !important;
	border-radius:999px !important;
}
#ssk-app .ssk-shop .bg-gradient-to-r,
#ssk-app .ssk-shop .btn-sheen.bg-gradient-to-r,
#ssk-app .ssk-shop .btn-sheen[style*="background"]{
	background-image:linear-gradient(135deg, #4b2d73, #7651a0) !important;
	background-color:#4b2d73 !important;
	color:#fff !important;
}
#ssk-app .ssk-shop .bg-clip-text.text-transparent,
#ssk-app .ssk-shop .text-transparent.bg-clip-text{
	background-image:linear-gradient(135deg, #4b2d73, #b98aa8) !important;
	background-color:transparent !important;
	color:transparent !important;
	-webkit-background-clip:text !important;
	background-clip:text !important;
	text-shadow:none !important;
}
#ssk-app .ssk-shop .border-purple-700,
#ssk-app .ssk-shop .border-teal-500{
	border-color:rgba(75,45,115,.30) !important;
}
#ssk-app .ssk-shop .text-purple-700,
#ssk-app .ssk-shop .text-teal-700{
	color:#4b2d73 !important;
}
#ssk-app .ssk-shop .ssk-float-cart__icon{
	background:linear-gradient(135deg, #4b2d73, #7651a0);
}
@media (max-width:720px){
	#ssk-app .ssk-shop #main > section,
	#ssk-app .ssk-shop #shop-hero{
		padding-block:34px;
	}
	#ssk-app .ssk-shop .ssk-h1{
		font-size:clamp(2.65rem, 14vw, 4rem);
	}
	#ssk-app .ssk-shop .hero-frame,
	#ssk-app .ssk-shop .shop-card,
	#ssk-app .ssk-shop .category-card{
		border-radius:24px !important;
	}
}
