/*
Theme Name: ShaSha Popcorn
Theme URI: https://shashapopcorn.com
Author: ShaSha Popcorn
Author URI: https://shashapopcorn.com
Description: The Candy Carnival — gourmet popcorn and pastel-cute merch. Custom storefront theme built for the ShaSha Store plugin (no WooCommerce). Shares one sparkly identity: cream paper, navy ink, candy stripes, Baloo 2 + Quicksand + Space Mono.
Version: 1.11.22
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shasha-popcorn
Tags: e-commerce, custom-colors, custom-logo, blog
*/

/* ═══════════════════════════════════════════════════════════════════
   1 · TOKENS & RESET
   ═══════════════════════════════════════════════════════════════════ */
:root{
	--cream:#FFF6EC;
	--paper:#FFFFFF;
	--navy:#231D42;
	--ink-soft:#5F5680;
	--pink:#FF85B7;
	--pink-deep:#F04C86;
	--pink-tint:#FFE3EF;
	--blue:#7ED0EE;
	--blue-deep:#2FA3D0;
	--blue-tint:#DFF3FB;
	--gold:#FFC64D;
	--gold-deep:#EF9A1F;
	--gold-tint:#FFF0D2;
	--lilac:#CDA8EC;
	--lilac-tint:#F2E8FC;
	--mint:#BDEBD2;
	--mint-tint:#E5F8EE;
	--wc-line:#ECE6F5;
	--wc-line-2:#D9CFEA;
	--shadow-sm:0 4px 14px rgba(35,29,66,.07);
	--shadow-md:0 14px 34px rgba(35,29,66,.12);
	--shadow-lg:0 26px 60px rgba(35,29,66,.16);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
html, body{overflow-x:hidden;}
body{
	font-family:'Quicksand',sans-serif;
	background:var(--cream);
	color:var(--navy);
	-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Baloo 2',sans-serif; line-height:1.08; color:var(--navy); letter-spacing:-.01em;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}
.mono{font-family:'Space Mono',monospace;}
.wrap{max-width:1180px; margin:0 auto; padding:0 26px;}
[id]{scroll-margin-top:84px;}
::selection{background:var(--pink); color:#fff;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:3px solid var(--blue-deep); outline-offset:2px;}
.screen-reader-text{border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important;}

/* Kill native touch/selection defaults — theme styles control all feedback */
*{ -webkit-tap-highlight-color:transparent; -webkit-touch-callout:none; }
a, button, input, select, textarea, summary, label, [role="button"], .m-dock-item{
	-webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;
}
input, textarea{ -webkit-user-select:text; -moz-user-select:text; -ms-user-select:text; user-select:text; }
button, a, .btn, .m-dock-item, .fav-btn{ -webkit-tap-highlight-color:transparent; }

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

/* ═══════════════════════════════════════════════════════════════════
   2 · BUTTONS
   ═══════════════════════════════════════════════════════════════════ */
.btn{
	position:relative;
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	font-family:'Baloo 2'; font-weight:700; font-size:16px;
	padding:15px 30px; border-radius:100px;
	background:var(--navy); color:#fff;
	box-shadow:4px 5px 0 var(--pink);
	transition:transform .18s ease, box-shadow .18s ease;
}
.btn:hover{transform:translate(-2px,-3px); box-shadow:7px 9px 0 var(--pink); color:#fff;}
.btn:active{transform:translate(1px,2px); box-shadow:2px 2px 0 var(--pink);}
.btn.pink{background:var(--pink); color:var(--navy); box-shadow:4px 5px 0 var(--navy);}
.btn.pink:hover{box-shadow:7px 9px 0 var(--navy);}
.btn.blue{background:var(--blue-deep); box-shadow:4px 5px 0 var(--navy);}
.btn.ghost{background:var(--paper); color:var(--navy); box-shadow:0 0 0 2.5px var(--navy), 3px 4px 0 var(--navy);}
.btn.ghost:hover{box-shadow:0 0 0 2.5px var(--navy), 6px 7px 0 var(--navy);}
.btn .kern{font-size:20px; line-height:1; animation:shv3-wiggle 1.6s ease-in-out infinite; display:inline-block;}
@keyframes shv3-wiggle{0%,100%{transform:rotate(-8deg);}50%{transform:rotate(10deg) scale(1.15);}}

/* ═══════════════════════════════════════════════════════════════════
   3 · ANNOUNCE + HEADER + DRAWER
   ═══════════════════════════════════════════════════════════════════ */
.announce{
	position:relative;
	background:repeating-linear-gradient(-45deg, var(--navy) 0 22px, #2E2754 22px 44px);
	color:var(--cream);
	text-align:center;
	font-family:'Space Mono'; font-size:12px; letter-spacing:.09em; text-transform:uppercase;
	padding:11px 40px;
}
.announce::before,.announce::after{content:"\2726"; position:absolute; top:50%; transform:translateY(-50%); color:var(--pink); font-size:13px; z-index:2;}
.announce::before{left:14px;}
.announce::after{right:14px;}
.announce b{color:var(--pink);}

.nav{position:sticky; top:0; z-index:60; background:rgba(255,246,236,.92); backdrop-filter:blur(12px); transition:background .3s ease, box-shadow .3s ease;}
.nav-inner{
	display:flex; align-items:center; gap:28px;
	min-height:72px;
	max-width:1180px; margin:0 auto; padding:0 26px;
	transition:min-height .3s ease;
}
.nav.shrink{background:rgba(255,246,236,.98); box-shadow:0 6px 22px rgba(35,29,66,.09);}
.nav.shrink::after{opacity:.55;}
.nav.shrink .nav-inner{min-height:60px;}
.nav::after{
	content:""; position:absolute; left:0; right:0; bottom:-3px; height:3px;
	background:repeating-linear-gradient(90deg, var(--pink) 0 14px, #fff 14px 28px, var(--lilac) 28px 42px, #fff 42px 56px, var(--blue) 56px 70px);
	opacity:.9;
}
.brand{
	display:flex; align-items:center; gap:10px;
	font-family:'Baloo 2'; font-weight:800; font-size:21px;
	white-space:nowrap;
}
.brand-mark{
	width:38px; height:38px; border-radius:50%;
	flex:none;
	background:var(--paper);
	box-shadow:var(--shadow-sm), 0 0 0 3px var(--pink);
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
}
.brand-mark img{width:100%; height:100%; object-fit:contain; padding:5px;}
.brand--logo{padding:6px 0;}
.brand-logo{height:44px; width:auto; max-width:210px; object-fit:contain; display:block;}
.foot-brand .brand--logo{padding:0;}
.foot-brand .brand-logo{height:40px; max-width:190px;}
.b-blue{color:var(--blue-deep);}
.b-pink{color:var(--pink-deep);}
.nav-links{display:flex; gap:22px; font-weight:700; font-size:14px; margin-inline-start:auto;}
.nav-links a{position:relative; padding:6px 2px; opacity:.82; transition:opacity .2s ease;}
.nav-links a:hover{opacity:1;}
.nav-links a::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:5px;
	background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 6"><path d="M0 5 Q5 0 10 4 T20 2" fill="none" stroke="#F04C86" stroke-width="2.5" stroke-linecap="round"/></svg>') no-repeat bottom center / 100% 100%;
	opacity:0; transform:scaleX(.4); transition:opacity .25s ease, transform .25s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{opacity:1; transform:scaleX(1);}
.nav-actions{display:flex; align-items:center; gap:8px;}
.icon-btn{
	width:42px; height:42px; border-radius:50%;
	background:var(--paper); box-shadow:var(--shadow-sm);
	display:flex; align-items:center; justify-content:center;
	font-size:17px; position:relative;
	transition:transform .18s ease, background .18s ease;
}
.icon-btn:hover{background:var(--pink); transform:translateY(-2px) rotate(-8deg);}
.account-icon{width:21px; height:21px; overflow:visible;}
.account-icon circle,.account-icon path{
	fill:transparent; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}
.cart-count{
	position:absolute; top:-3px; right:-3px;
	min-width:19px; height:19px; padding:0 4px;
	background:var(--pink-deep); color:#fff;
	border-radius:100px; font-family:'Baloo 2'; font-weight:800; font-size:11px;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 2px 6px rgba(240,76,134,.4);
}
.cart-count.bump{animation:shv3-bump .4s ease;}
@keyframes shv3-bump{0%{transform:scale(1);}40%{transform:scale(1.6);}100%{transform:scale(1);}}
.burger{display:none; width:44px; height:44px; border-radius:50%; background:var(--navy); color:#fff; font-size:19px; align-items:center; justify-content:center;}

/* ── search: ينزّل تحت الهيدر بعرض كامل، محاذي للصندوق ── */
.nav-search{
	position:absolute; top:100%; left:0; right:0; z-index:55;
	background:rgba(255,246,236,.97); backdrop-filter:blur(12px);
	border-bottom:1.5px solid var(--wc-line); box-shadow:var(--shadow-md);
	max-height:0; overflow:hidden; transition:max-height .32s ease;
}
.nav-search.open{max-height:130px;}
.nav-search-inner{
	max-width:1180px; margin:0 auto; padding:14px 26px;
	display:flex; gap:10px; align-items:center;
}
.nav-search input{
	flex:1; min-width:0; height:44px; padding:0 18px;
	border-radius:100px; border:2px solid var(--wc-line); background:#fff;
	font-family:'Baloo 2'; font-size:15px; color:var(--navy);
	outline:none; transition:border-color .15s ease;
}
.nav-search input:focus{border-color:var(--pink-deep); box-shadow:0 0 0 4px rgba(255,133,183,.15);}
.nav-search button{
	width:44px; height:44px; flex:none; border-radius:50%;
	background:#fff; color:var(--navy); font-size:16px;
	border:1.5px solid var(--wc-line);
	display:flex; align-items:center; justify-content:center;
	transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.nav-search button:hover{background:var(--pink-tint); border-color:var(--pink-deep); transform:translateY(-2px) rotate(-8deg);}

.drawer{
	position:fixed; inset:0; z-index:90;
	background:rgba(35,29,66,.45);
	opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.drawer.open{opacity:1; pointer-events:auto;}
.drawer-panel{
	position:absolute; top:0; left:0; bottom:0; width:min(330px,86vw);
	background:var(--cream);
	border-right:3px solid var(--navy);
	padding:22px 20px;
	display:flex; flex-direction:column;
	transform:translateX(-100%); transition:transform .35s cubic-bezier(.22,.68,.35,1);
}
.drawer.open .drawer-panel{transform:none;}
.drawer-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px;}
.drawer-head .brand{display:flex; font-size:19px; gap:8px;}
.drawer-head .brand-mark{width:36px; height:36px;}
.drawer-close{
	width:38px; height:38px; flex:none; border-radius:50%; background:var(--navy); color:#fff;
	display:flex; align-items:center; justify-content:center; font-size:16px;
	transition:background .18s ease, transform .18s ease;
}
.drawer-close:hover{background:var(--pink-deep); transform:rotate(90deg);}
.drawer-links{flex:1; display:flex; flex-direction:column; gap:8px;}
.drawer-links li{list-style:none;}
.drawer-links a{
	display:block;
	font-family:'Baloo 2'; font-weight:700; font-size:19px;
	padding:13px 16px; border-radius:16px;
	color:var(--navy);
	transition:background .18s ease, transform .18s ease, color .18s ease;
}
.drawer-links a:hover{background:var(--pink-tint); transform:translateX(8px); color:var(--pink-deep);}
.drawer-links li{opacity:0; transform:translateX(-16px); transition:opacity .3s ease, transform .3s ease;}
.drawer.open .drawer-links li{opacity:1; transform:none;}
.drawer.open .drawer-links li:nth-child(1){transition-delay:.08s;}
.drawer.open .drawer-links li:nth-child(2){transition-delay:.13s;}
.drawer.open .drawer-links li:nth-child(3){transition-delay:.18s;}
.drawer.open .drawer-links li:nth-child(4){transition-delay:.23s;}
.drawer.open .drawer-links li:nth-child(5){transition-delay:.28s;}
.drawer.open .drawer-links li:nth-child(6){transition-delay:.33s;}
.drawer-foot{padding-top:18px; border-top:1.5px solid var(--wc-line);}
.drawer-shop{
	display:flex; align-items:center; justify-content:center;
	width:100%; padding:13px 18px; border-radius:100px;
	font-family:'Baloo 2'; font-weight:800; font-size:15px;
}
body.no-scroll{overflow:hidden;}

/* ═══════════════════════════════════════════════════════════════════
   4 · DECOR + REVEAL
   ═══════════════════════════════════════════════════════════════════ */
.kern-float{
	position:absolute;
	width:22px; height:22px;
	background:
		radial-gradient(circle at 30% 30%, #fff 0 8%, transparent 9%),
		radial-gradient(circle at 68% 26%, #fff 0 8%, transparent 9%),
		radial-gradient(circle at 27% 64%, #fff 0 8%, transparent 9%),
		radial-gradient(circle at 70% 70%, #fff 0 8%, transparent 9%),
		radial-gradient(ellipse at center, var(--pink) 50%, var(--pink-deep) 100%);
	border-radius:45% 55% 50% 50%/55% 45% 55% 45%;
	box-shadow:inset 0 -3px 0 rgba(0,0,0,.08);
	opacity:.9;
	animation:shv3-drift 7s ease-in-out infinite;
}
@keyframes shv3-drift{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-22px) rotate(24deg);}}
.spark{position:absolute; color:var(--pink-deep); font-size:17px; animation:shv3-glow 2.4s ease-in-out infinite;}
@keyframes shv3-glow{0%,100%{opacity:.25; transform:scale(.8) rotate(0deg);}50%{opacity:1; transform:scale(1.15) rotate(30deg);}}
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,.68,.35,1);}
.reveal.in{opacity:1; transform:none;}
.reveal.d1{transition-delay:.08s;}
.reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;}

/* ═══════════════════════════════════════════════════════════════════
   5 · HERO
   ═══════════════════════════════════════════════════════════════════ */
.hero{
	position:relative;
	padding:70px 0 84px;
	overflow:hidden;
	background:
		radial-gradient(46% 60% at 16% 12%, rgba(126,208,238,.4), transparent 70%),
		radial-gradient(50% 60% at 86% 16%, rgba(255,133,183,.38), transparent 72%),
		radial-gradient(56% 66% at 50% 110%, rgba(255,198,77,.32), transparent 74%),
		var(--cream);
}
.hero .grid{display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:48px;}
.hero-badgesv{
	display:inline-flex; align-items:center; gap:9px;
	font-family:'Space Mono'; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
	background:var(--paper); color:var(--ink-soft);
	border-radius:100px; padding:9px 18px 9px 12px;
	box-shadow:var(--shadow-sm);
	margin-bottom:26px;
}
.hero-badgesv .live{width:9px; height:9px; border-radius:50%; background:var(--pink-deep); animation:shv3-live 1.6s ease-in-out infinite;}
@keyframes shv3-live{0%,100%{box-shadow:0 0 0 0 rgba(240,76,134,.4);}50%{box-shadow:0 0 0 6px rgba(240,76,134,0);}}
.hero h1{font-size:clamp(40px, 5.4vw, 68px); margin-bottom:22px;}
.hero h1 .show{color:var(--pink-deep); position:relative; display:inline-block;}
.hero h1 .show2{color:var(--blue-deep);}
.hero p.lead{font-size:17.5px; line-height:1.7; color:var(--ink-soft); max-width:470px; margin-bottom:32px;}
.hero .cta-row{display:flex; gap:15px; flex-wrap:wrap; margin-bottom:36px;}
.hero .trust{display:flex; gap:22px; flex-wrap:wrap;}
.hero .trust .t{display:flex; align-items:center; gap:9px; font-weight:700; font-size:12.5px; color:var(--ink-soft);}
.hero .trust .b{width:29px; height:29px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 2px var(--navy); display:flex; align-items:center; justify-content:center; font-size:13px; flex:none;}
.hero .trust .t:nth-child(2) .b{background:var(--blue-tint);}
.hero .trust .t:nth-child(3) .b{background:var(--pink-tint);}
.hero-visual{position:relative;}
.blob{
	position:relative;
	width:min(420px, 86vw);
	aspect-ratio:1/1;
	margin:0 auto;
	background:
		radial-gradient(circle at 30% 25%, #fff6e4, transparent 60%),
		linear-gradient(160deg, var(--cream), var(--pink-tint) 55%, var(--blue-tint));
	border:4px solid var(--navy);
	box-shadow:12px 14px 0 var(--pink), 12px 14px 0 4px var(--navy);
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
	animation:shv3-blob 9s ease-in-out infinite;
}
.blob img{position:absolute; top:50%; left:50%; width:min(78%, 340px); height:auto; transform:translate(-50%,-50%); object-fit:contain; animation:shv3-float-center 5s ease-in-out infinite;}
@keyframes shv3-blob{
	0%,100%{border-radius:46% 54% 56% 44%/52% 46% 54% 48%;}
	25%{border-radius:52% 48% 46% 54%/56% 52% 48% 44%;}
	50%{border-radius:56% 44% 50% 50%/46% 56% 44% 54%;}
	75%{border-radius:44% 56% 54% 46%/50% 44% 56% 50%;}
}
@keyframes shv3-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
@keyframes shv3-float-center{0%,100%{transform:translate(-50%,-50%) translateY(0);}50%{transform:translate(-50%,-50%) translateY(-12px);}}
.orbit{position:absolute; top:50%; left:50%; width:min(500px,95vw); aspect-ratio:1/1; transform:translate(-50%,-50%); animation:shv3-spin 22s linear infinite; pointer-events:none;}
.orbit i{position:absolute; top:-13px; left:50%; width:46px; height:46px; margin-left:-23px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; box-shadow:0 4px 10px rgba(35,29,66,.18);}
.orbit .d1{background:var(--pink-deep);} .orbit .d2{background:var(--pink);} .orbit .d3{background:var(--blue);} .orbit .d4{background:var(--lilac);} .orbit .d5{background:var(--mint);}
@keyframes shv3-spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.seal{
	position:absolute; top:-16px; right:-6px;
	width:112px; height:112px; border-radius:50%;
	background:var(--pink); border:3px solid var(--navy);
	box-shadow:4px 4px 0 var(--navy);
	display:flex; align-items:center; justify-content:center;
	animation:shv3-spin-slow 14s linear infinite; z-index:3;
}
.seal .inner{font-family:'Baloo 2'; font-weight:800; font-size:14px; line-height:1.05; text-align:center; color:var(--navy); animation:shv3-spin-slow 14s linear infinite reverse;}
.seal .inner span{display:block; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; opacity:.85;}
@keyframes shv3-spin-slow{to{transform:rotate(360deg);}}
.bubble-card{
	position:absolute; bottom:-2%; right:1%;
	background:var(--paper); border:3px solid var(--navy);
	border-radius:20px; padding:12px 15px;
	box-shadow:6px 6px 0 var(--navy);
	animation:shv3-float 6s ease-in-out infinite; z-index:3;
}
.bubble-card .stars{color:var(--pink-deep); font-size:14px; letter-spacing:1px;}
.bubble-card b{font-family:'Baloo 2'; font-size:14.5px; display:block;}
.bubble-card span{font-size:12px; color:var(--ink-soft);}
.floating-tag{
	position:absolute; top:10%; left:-14px;
	background:var(--pink); border:3px solid var(--navy);
	border-radius:100px; padding:9px 18px;
	font-family:'Baloo 2'; font-weight:700; font-size:13.5px;
	box-shadow:4px 4px 0 var(--navy);
	transform:rotate(-8deg);
	animation:shv3-float 5.4s ease-in-out infinite .4s; z-index:3;
}

/* ═══════════════════════════════════════════════════════════════════
   6 · TICKER
   ═══════════════════════════════════════════════════════════════════ */
.ticker{position:relative; background:var(--navy); color:var(--cream); padding:15px 0; overflow:hidden; border-top:3px solid var(--pink); border-bottom:3px solid var(--pink);}
.ticker .track{display:flex; width:max-content; animation:shv3-scroll 26s linear infinite;}
.ticker:hover .track{animation-play-state:paused;}
.ticker .tgroup{display:flex; align-items:center;}
.ticker .tgroup span{white-space:nowrap; font-family:'Space Mono'; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; padding:0 22px;}
.ticker .tgroup span:first-child{color:var(--pink); font-family:'Baloo 2'; font-size:15px; letter-spacing:0; text-transform:none; padding-left:34px;}
.ticker .tgroup span:nth-child(odd):not(:first-child){color:var(--pink);}
@keyframes shv3-scroll{to{transform:translateX(-50%);}}

/* ═══════════════════════════════════════════════════════════════════
   7 · SHARED SECTION + CATEGORIES
   ═══════════════════════════════════════════════════════════════════ */
section{padding:84px 0;}
.ko{
	display:inline-block;
	font-family:'Space Mono'; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
	color:var(--pink-deep); font-weight:700;
	background:var(--pink-tint);
	border-radius:100px; padding:7px 16px;
	margin-bottom:16px;
}
.sec-head{text-align:center; max-width:600px; margin:0 auto 50px;}
.sec-head h2{font-size:clamp(29px,3.6vw,42px); margin-bottom:14px;}
.sec-head p{color:var(--ink-soft); font-size:16px; line-height:1.65;}
.cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.cat-card{
	position:relative;
	border:3px solid var(--navy);
	border-radius:26px;
	background:var(--paper);
	padding:30px 24px 26px;
	text-align:center;
	box-shadow:6px 6px 0 var(--navy);
	transform-style:preserve-3d;
	transition:box-shadow .3s ease;
}
.cat-card:hover{box-shadow:8px 14px 0 var(--navy);}
.cat-card .em{
	width:78px; height:78px; margin:0 auto 20px;
	border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	font-size:35px; position:relative;
	transition:transform .3s ease;
}
.cat-card:hover .em{transform:translateZ(40px) scale(1.12) rotate(-8deg);}
.cat-card:nth-child(1) .em{background:var(--mint-tint);}
.cat-card:nth-child(2) .em{background:var(--pink-tint);}
.cat-card:nth-child(3) .em{background:var(--blue-tint);}
.cat-card:nth-child(4) .em{background:var(--lilac-tint);}
.cat-card .nrb{
	font-family:'Space Mono'; font-size:10px; font-weight:700;
	position:absolute; top:-6px; right:-6px;
	background:var(--navy); color:var(--pink);
	border-radius:100px; padding:4px 9px;
	box-shadow:2px 2px 0 rgba(35,29,66,.25);
}
.cat-card h3{font-size:19px; margin-bottom:8px;}
.cat-card p{font-size:13px; color:var(--ink-soft); line-height:1.55; margin-bottom:16px;}
.cat-card a{font-family:'Baloo 2'; font-weight:700; font-size:13.5px; display:inline-block;}
.cat-card a::after{content:"\2192"; display:inline-block; margin-left:4px; transition:margin .18s ease;}
.cat-card:hover a::after{margin-left:10px;}

/* ═══════════════════════════════════════════════════════════════════
   8 · PRODUCT GRID + CARD
   ═══════════════════════════════════════════════════════════════════ */
.bestsellers{background:linear-gradient(180deg, var(--paper), var(--cream));}
.prod-grid,.shasha-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.prod-card{
	background:var(--paper);
	border:2px dashed var(--navy);
	border-radius:16px;
	padding:0;
	box-shadow:5px 7px 0 rgba(35,29,66,.9);
	overflow:visible;
	transform-style:preserve-3d;
	transition:transform .25s ease, box-shadow .25s ease;
	position:relative;
}
.prod-card:hover{transform:translateY(-4px); box-shadow:5px 12px 0 rgba(35,29,66,.9);}
.prod-thumb{
	aspect-ratio:1/.88;
	margin:10px 10px 0;
	display:flex; align-items:center; justify-content:center;
	font-size:56px;
	position:relative;
	border:2px solid var(--navy);
	border-radius:8px;
	overflow:hidden;
	background:var(--cream);
}
.prod-thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.prod-thumb::after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.7) 50%, transparent 70%);
	transform:translateX(-120%);
	transition:transform .7s ease;
}
.prod-card:hover .prod-thumb::after{transform:translateX(120%);}
.prod-thumb .flag{
	position:absolute; top:8px; left:8px;
	background:var(--pink-deep); color:#fff;
	font-family:'Baloo 2'; font-weight:800; font-size:10px;
	padding:3px 10px; border-radius:100px;
	box-shadow:2px 2px 0 var(--navy);
	z-index:2;
}
.prod-thumb .flag.f-new{background:var(--navy); color:var(--pink); box-shadow:2px 2px 0 var(--pink-deep);}
.prod-thumb .flag.f-lim{background:var(--lilac); color:var(--navy); box-shadow:2px 2px 0 var(--navy);}
.prod-thumb .flag.f-fan{background:var(--blue); color:var(--navy); box-shadow:2px 2px 0 var(--navy);}
.prod-thumb .flag.f-hot{background:var(--gold); color:var(--navy); box-shadow:2px 2px 0 var(--navy);}
.prod-info{
	padding:0 18px 16px; position:relative; z-index:2;
	margin-top:10px;
}
.prod-info .cat{display:block; font-family:'Space Mono'; font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-deep);}
.prod-info h4{font-family:'Baloo 2'; font-size:16.5px; margin:5px 0 10px;}
.prod-info h4 a{color:var(--navy);}
.prod-info h4 a:hover{color:var(--pink-deep);}
.price-row{display:flex; align-items:center; justify-content:space-between; padding-top:10px; border-top:2px dashed rgba(35,29,66,.25); position:relative;}
.price{font-family:'Baloo 2'; font-weight:800; font-size:17px;}
.price .was{font-size:11.5px; color:#aaa1c4; text-decoration:line-through; font-weight:600; margin-right:6px;}
.add-btn{
	width:38px; height:38px; border-radius:50%;
	background:var(--pink); color:var(--navy);
	display:inline-flex; align-items:center; justify-content:center;
	font-size:16px;
	font-family:'Baloo 2'; font-weight:800;
	border:2px solid var(--navy); box-shadow:3px 3px 0 var(--navy);
	transition:transform .18s ease, background .18s ease;
	position:relative; z-index:2;
}
.add-btn:hover{background:var(--pink); transform:rotate(-14deg) scale(1.1);}
.add-btn.pop{animation:shv3-pop .5s ease;}
@keyframes shv3-pop{0%{transform:scale(1);}35%{transform:scale(1.35) rotate(180deg);}100%{transform:scale(1);}}
.add-btn.is-added,.add-btn.is-added:hover{
	background:var(--mint); color:var(--navy);
	border:2px solid var(--navy);
	transform:none;
	animation:shv3-added .4s ease;
}
@keyframes shv3-added{0%{transform:scale(.5); opacity:0;}65%{transform:scale(1.06);}100%{transform:scale(1); opacity:1;}}
.atc-feedback{
	position:absolute; right:0; bottom:calc(100% + 8px); z-index:5;
	background:var(--navy); color:var(--mint);
	font-family:'Baloo 2'; font-weight:800; font-size:12.5px;
	padding:7px 14px; border-radius:100px;
	border:2px solid var(--navy); box-shadow:3px 4px 0 var(--pink);
	white-space:nowrap; pointer-events:none;
	animation:atc-pop .35s ease;
}
@keyframes atc-pop{
	0%{transform:translateY(6px) scale(.7); opacity:0;}
	65%{transform:translateY(-1px) scale(1.04);}
	100%{transform:translateY(0) scale(1); opacity:1;}
}
.prod-link{position:absolute; inset:0; z-index:1;}

/* ═══════════════════════════════════════════════════════════════════
   9 · STATS
   ═══════════════════════════════════════════════════════════════════ */
.stats{
	position:relative;
	background:
		radial-gradient(40% 90% at 8% 50%, rgba(255,133,183,.16), transparent 70%),
		radial-gradient(40% 90% at 92% 50%, rgba(126,208,238,.16), transparent 70%),
		var(--navy);
	padding:74px 0;
	color:var(--cream);
	overflow:hidden;
}
.stats::before,.stats::after{content:""; position:absolute; top:0; bottom:0; width:54px; background:repeating-linear-gradient(-45deg, var(--pink-deep), var(--pink-deep) 12px, #C93A6E 12px, #C93A6E 24px);}
.stats::before{left:-8px;}
.stats::after{right:-8px;}
.stats .st-head{text-align:center; margin-bottom:44px;}
.stats .st-head .ko{background:rgba(255,255,255,.1); color:var(--pink);}
.stats .st-head h2{font-size:clamp(26px,3.2vw,38px); color:#fff;}
.stats .st-head p{opacity:.72; font-size:15.5px; max-width:520px; margin:12px auto 0; line-height:1.6;}
.stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.stat{text-align:center; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.14); border-radius:22px; padding:28px 16px; transition:background .22s ease, transform .22s ease;}
.stat:hover{transform:translateY(-6px); background:rgba(255,255,255,.1);}
.stat .ic{font-size:26px; margin-bottom:10px;}
.stat b{display:block; font-family:'Baloo 2'; font-weight:800; font-size:34px; color:var(--pink);}
.stat span{font-size:12.5px; opacity:.75; display:block; margin-top:4px;}

/* ═══════════════════════════════════════════════════════════════════
   10 · FLAVOR STUDIO
   ═══════════════════════════════════════════════════════════════════ */
.studio .grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:56px; align-items:center;}
.stage{
	position:relative;
	border:4px solid var(--navy);
	border-radius:34px;
	background:
		radial-gradient(circle at 30% 25%, rgba(255,255,255,.65), transparent 60%),
		linear-gradient(160deg, var(--pink-tint), var(--blue-tint));
	aspect-ratio:1/.92;
	display:flex; align-items:center; justify-content:center;
	box-shadow:10px 12px 0 var(--lilac);
	overflow:hidden;
	padding-bottom:64px;
}
.stage .big-emoji{font-size:120px; filter:drop-shadow(0 14px 20px rgba(35,29,66,.25)); animation:shv3-float 4.5s ease-in-out infinite; transition:transform .4s cubic-bezier(.22,.68,.35,1); margin-top:-30px;}
.stage .grain{position:absolute; width:70%; aspect-ratio:1/1; border:3px dashed rgba(255,255,255,.8); border-radius:50%; animation:shv3-spin-slow 30s linear infinite;}
.stage .spindot{position:absolute; width:15px; height:15px; border-radius:50%; background:var(--pink-deep); box-shadow:0 0 0 4px rgba(240,76,134,.25); top:14%; right:16%; animation:shv3-float 3.6s ease-in-out infinite;}
.stage .spindot2{position:absolute; width:11px; height:11px; border-radius:50%; background:var(--pink-deep); box-shadow:0 0 0 4px rgba(240,76,134,.22); bottom:18%; left:14%; animation:shv3-float 4.2s ease-in-out infinite .6s;}
.stage .tagP{position:absolute; bottom:18px; left:26px; background:var(--pink); border:3px solid var(--navy); border-radius:100px; padding:10px 22px; font-family:'Baloo 2'; font-weight:800; font-size:13.5px; box-shadow:4px 4px 0 var(--navy); color:var(--navy);}
.flavor-studio h2{font-size:clamp(26px,3.2vw,38px); margin-bottom:14px;}
.flavor-studio > p{color:var(--ink-soft); font-size:15.5px; line-height:1.7; max-width:440px; margin-bottom:26px;}
.swatch-list{display:flex; flex-direction:column; gap:14px; margin-bottom:30px;}
.swatch{
	display:flex; align-items:center; gap:16px;
	background:var(--paper);
	border:3px solid var(--navy);
	border-radius:18px;
	padding:14px 18px;
	box-shadow:4px 4px 0 rgba(35,29,66,.12);
	cursor:pointer;
	text-align:left;
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
	width:100%;
}
.swatch:hover{transform:translateY(-3px); box-shadow:6px 8px 0 rgba(35,29,66,.16);}
.swatch.active{background:var(--cream); box-shadow:6px 8px 0 var(--navy); transform:translateY(-3px);}
.swatch .dot{width:44px; height:44px; border-radius:50%; flex:none; border:3px solid #fff; box-shadow:0 0 0 2px var(--navy), inset 0 -6px 10px rgba(0,0,0,.08); transition:transform .3s ease;}
.swatch.active .dot{transform:scale(1.12) rotate(12deg);}
.swatch .s-name{font-family:'Baloo 2'; font-weight:700; font-size:16px; display:block;}
.swatch .s-desc{font-size:12.5px; color:var(--ink-soft);}
.swatch .s-idx{margin-left:auto; font-family:'Space Mono'; font-size:11px; font-weight:700; color:var(--ink-soft);}
.swatch.active .s-idx{color:var(--pink-deep);}

/* ═══════════════════════════════════════════════════════════════════
   11 · FAN LOVE
   ═══════════════════════════════════════════════════════════════════ */
.love{background:linear-gradient(180deg, var(--cream), var(--paper));}
.love-scroll{display:flex; gap:20px; overflow-x:auto; padding:6px 4px 22px; scroll-snap-type:x mandatory; scrollbar-width:none;}
.love-scroll::-webkit-scrollbar{display:none;}
.love-card{
	scroll-snap-align:start;
	flex:0 0 320px;
	background:var(--paper);
	border:3px solid var(--navy);
	border-radius:24px;
	padding:26px 24px;
	box-shadow:5px 5px 0 var(--navy);
	position:relative;
	transition:transform .22s ease;
}
.love-card:hover{transform:translateY(-5px) rotate(-1deg);}
.love-card .q{position:absolute; top:6px; right:18px; font-family:'Baloo 2'; font-size:58px; font-weight:800; color:var(--pink-tint); line-height:1;}
.love-card .stars{color:var(--pink-deep); letter-spacing:2px; font-size:15px; margin-bottom:12px;}
.love-card p{font-size:14.5px; line-height:1.65; color:var(--ink-soft); margin-bottom:18px; position:relative;}
.love-card .who{display:flex; align-items:center; gap:12px;}
.love-card .av{width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Baloo 2'; font-weight:800; font-size:16px; color:#fff; border:2px solid var(--navy);}
.love-card b{display:block; font-family:'Baloo 2'; font-size:14.5px;}
.love-card span{font-size:11.5px; color:var(--ink-soft);}
.love-scroll .av1{background:var(--pink-deep);}
.love-scroll .av2{background:var(--blue-deep);}
.love-scroll .av3{background:var(--mint); color:var(--navy);}

/* ═══════════════════════════════════════════════════════════════════
   12 · GALLERY
   ═══════════════════════════════════════════════════════════════════ */
.gallery{background:linear-gradient(180deg, var(--paper), var(--cream));}
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:22px;}
.pol{position:relative; background:var(--paper); border:3px solid var(--navy); border-radius:18px; padding:10px 10px 16px; box-shadow:5px 6px 0 var(--navy); transition:transform .2s ease, box-shadow .2s ease;}
.pol img{width:100%; aspect-ratio:1/1; object-fit:cover; border:2px solid var(--navy); border-radius:10px; background:var(--pink-tint);}
.pol figcaption{font-family:'Baloo 2'; font-size:13px; font-weight:700; text-align:center; padding-top:12px; color:var(--ink-soft);}
.pol:hover{transform:translateY(-5px) rotate(1.5deg); box-shadow:7px 12px 0 var(--navy);}
.pol:nth-child(even){transform:rotate(-1.3deg);}
.pol:nth-child(even):hover{transform:translateY(-5px) rotate(0deg);}

/* ═══════════════════════════════════════════════════════════════════
   13 · VIP NEWSLETTER
   ═══════════════════════════════════════════════════════════════════ */
.vip{padding:0 0 90px; position:relative;}
.vip-card{
	position:relative;
	background:var(--navy);
	color:var(--cream);
	border-radius:34px;
	border:3px solid var(--pink);
	box-shadow:10px 12px 0 var(--pink);
	padding:52px 54px;
	overflow:hidden;
	display:grid;
	grid-template-columns:1.1fr 1fr; gap:34px;
	align-items:center;
}
.vip-card::before{content:""; position:absolute; top:0; bottom:0; left:52%; border-left:2px dashed rgba(255,255,255,.22);}
.vip-card .bg-e{position:absolute; inset:0; pointer-events:none; opacity:.5;}
.vip-card .bg-e span{position:absolute; animation:shv3-drift 8s ease-in-out infinite;}
.vip-card .ko{background:rgba(255,255,255,.1); color:var(--pink);}
.vip-card h2{font-size:clamp(26px,3vw,36px); color:#fff; margin-bottom:12px;}
.vip-card p{opacity:.78; font-size:15px; line-height:1.65; max-width:340px;}
.vip-form{display:flex; flex-direction:column; gap:12px; position:relative; z-index:2;}
.vip-form input{padding:15px 20px; border-radius:100px; border:2px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; font-family:'Quicksand'; font-weight:600; font-size:14.5px; transition:border .2s ease, background .2s ease;}
.vip-form input::placeholder{color:rgba(255,255,255,.45);}
.vip-form input:focus{outline:none; border-color:var(--pink); background:rgba(255,255,255,.12);}
.vip-form .btn{justify-content:center;}
.vip-form small{font-family:'Space Mono'; font-size:10px; letter-spacing:.06em; text-transform:uppercase; opacity:.5; text-align:center;}

/* ═══════════════════════════════════════════════════════════════════
   14 · FOOTER
   ═══════════════════════════════════════════════════════════════════ */
.foot{background:var(--navy); color:var(--cream); padding:60px 0 26px; position:relative;}
.foot::before{content:""; position:absolute; top:-3px; left:0; right:0; height:3px; background:repeating-linear-gradient(90deg, var(--lilac) 0 14px, var(--pink) 14px 28px, var(--blue) 28px 42px);}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px;}
.foot-brand{display:flex; align-items:center; gap:11px; font-family:'Baloo 2'; font-weight:800; font-size:21px; margin-bottom:16px;}
.foot-brand .brand-mark{background:var(--paper); box-shadow:0 0 0 3px var(--pink);}
.foot p.desc{opacity:.62; font-size:13.5px; line-height:1.75; max-width:270px;}
.foot-social{display:flex; gap:10px; margin-top:20px;}
.foot-social a{
	width:38px; height:38px; border-radius:50%;
	background:rgba(255,255,255,.07);
	border:1.5px solid rgba(255,255,255,.25);
	display:flex; align-items:center; justify-content:center;
	color:#fff; opacity:.92;
	transition:background .18s ease, border-color .18s ease, transform .18s ease, opacity .18s ease;
}
.foot-social a svg{width:17px; height:17px; display:block;}
.foot-social a:hover{background:var(--pink-deep); border-color:var(--pink-deep); transform:translateY(-3px) rotate(-8deg); opacity:1;}
.foot-col summary{
	list-style:none; cursor:default; pointer-events:none;
	font-family:'Space Mono'; font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--pink); margin-bottom:18px;
}
.foot-col summary::-webkit-details-marker{display:none;}
.foot-col ul li{margin-bottom:11px;}
.foot-col ul li a{opacity:.65; font-size:13.5px; transition:opacity .18s ease, padding .18s ease;}
.foot-col ul li a:hover{opacity:1; color:var(--pink); padding-left:4px;}
.foot-bot{border-top:1px solid rgba(255,255,255,.1); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-family:'Space Mono'; font-size:11px; opacity:.5;}
.foot-bot a{opacity:1;}

/* ═══════════════════════════════════════════════════════════════════
   15 · MOBILE BOTTOM DOCK
   ═══════════════════════════════════════════════════════════════════ */
.m-dock{
	display:none;
	position:fixed; left:12px; right:12px; bottom:10px; z-index:120;
	background:linear-gradient(180deg,#2C2456,#231D42);
	border:2px solid var(--pink);
	border-radius:100px; padding:8px 6px;
	box-shadow:0 14px 30px rgba(35,29,66,.45);
}
.m-dock-item{
	position:relative; flex:1;
	display:flex; flex-direction:column; align-items:center; gap:3px;
	color:rgba(255,255,255,.55);
	font-family:'Space Mono'; font-size:9.5px; letter-spacing:.03em;
	padding:6px 0; border-radius:99px;
	text-decoration:none; cursor:pointer; background:none; border:none;
}
.m-dock-item svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.m-dock-item.on{color:var(--pink); background:rgba(255,255,255,.09);}
.m-dock-item.on svg{stroke:var(--pink); filter:drop-shadow(0 0 5px rgba(255,133,183,.65));}
.m-dock-badge{
	position:absolute; top:-4px; right:calc(50% - 17px);
	min-width:16px; height:16px; padding:0 3px; border-radius:99px;
	background:var(--gold); color:var(--navy);
	font-family:'Space Mono'; font-weight:700; font-size:9px; line-height:16px; text-align:center;
	border:1.5px solid var(--navy);
}
.m-dock-badge[hidden]{display:none;}

/* ═══════════════════════════════════════════════════════════════════
   16 · GENERIC PAGE CONTENT
   ═══════════════════════════════════════════════════════════════════ */
.site-main{padding:60px 0 90px;}
.page-head{text-align:center; margin-bottom:44px;}
.page-head .ko{margin-bottom:12px;}
.page-head h1{font-size:clamp(30px,4vw,46px);}
.page-head p{color:var(--ink-soft); font-size:15.5px; max-width:560px; margin:10px auto 0; line-height:1.6;}
.page-content{max-width:760px; margin:0 auto;}
.page-content:has(.shasha-products){max-width:none;}
.page-content p{font-size:15.5px; line-height:1.8; color:var(--ink-soft); margin-bottom:18px;}
.page-content h2,.page-content h3{color:var(--navy); margin:26px 0 12px;}
.page-content h2{font-size:28px;} .page-content h3{font-size:22px;}
.page-content ul{list-style:disc; padding-left:22px; margin-bottom:18px;}
.page-content li{margin-bottom:8px; color:var(--ink-soft);}
.page-content a{color:var(--pink-deep); font-weight:700;}
.page-content a:hover{color:var(--pink-deep);}
.page-content img{border-radius:16px;}

/* ═══════════════════════════════════════════════════════════════════
   17 · ARCHIVE / SHOP HEADER + PAGINATION
   ═══════════════════════════════════════════════════════════════════ */
.shop-archive{background:linear-gradient(180deg, var(--paper), var(--cream));}
.shop-archive .prod-grid{margin-top:50px;}
.pagination{margin-top:48px; display:flex; justify-content:center; gap:10px;}
.pagination .page-numbers{
	display:inline-flex; align-items:center; justify-content:center;
	min-width:44px; height:44px; padding:0 14px;
	border:2.5px solid var(--navy); border-radius:100px;
	background:var(--paper); color:var(--navy); font-family:'Baloo 2'; font-weight:800; font-size:15px;
	box-shadow:3px 3px 0 var(--navy);
	transition:transform .15s ease, box-shadow .15s ease;
}
.pagination a.page-numbers:hover{transform:translate(-1px,-2px); box-shadow:5px 6px 0 var(--navy);}
.pagination .page-numbers.current{background:var(--pink); box-shadow:3px 3px 0 var(--navy);}

/* ═══════════════════════════════════════════════════════════════════
   18 · SINGLE PRODUCT
   (from single-product/style.css, unprefixed for theme use)
   ═══════════════════════════════════════════════════════════════════ */
.single-shasha_product .site-main{background:var(--cream); padding-top:40px;}
.sp-breadcrumb{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-family:'Space Mono'; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 26px;}
.sp-breadcrumb a:hover{color:var(--pink-deep);}
.sp-breadcrumb span{opacity:.5;}
.crumb-here{color:var(--navy); font-weight:700; opacity:1!important;}
.sp-product-hero{position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(330px,.9fr); gap:22px; align-items:start;}
.sp-product-hero .woocommerce-product-gallery{grid-column:1; grid-row:1;}
.sp-product-hero .sp-summary-card{grid-column:2; grid-row:1;}
.sp-product-hero .woocommerce-tabs,.sp-product-hero .related.products{grid-column:1 / -1;}
.woocommerce-product-gallery{display:grid; grid-template-columns:var(--rail-size,84px) minmax(0,1fr); grid-template-rows:1fr; gap:22px; align-items:start;}
.woocommerce-product-gallery .flex-viewport{grid-column:2; grid-row:1; min-width:0; position:relative; background:#fff; border:1.5px solid var(--wc-line); border-radius:22px; padding:var(--card-pad,14px); box-shadow:var(--shadow-md); aspect-ratio:1/1;}
.flex-viewport .slides{margin:0; padding:0; list-style:none; position:relative; height:100%;}
.flex-viewport .slides li{position:absolute; inset:0; opacity:0; transition:opacity .2s ease; pointer-events:none;}
.flex-viewport .slides li.flex-active{opacity:1; pointer-events:auto;}
.flex-viewport .slides li .slide-img{width:100%; height:100%; object-fit:cover; display:block; border-radius:15px; background:#fff;}

/* ── rail (desktop): عامود رأسي على يسار الصورة الرئيسية ── */
.v4-rail{grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:var(--rail-gap,12px); position:sticky; top:120px; align-self:center; max-height:calc(100vh - 140px); overflow-y:auto; scrollbar-width:none;}
.v4-rail::-webkit-scrollbar{display:none;}
.v4-rail-link{display:block; line-height:0; border:2.5px solid var(--wc-line-2); border-radius:14px; overflow:hidden; background:#fff; transition:border-color .15s ease, box-shadow .15s ease;}
.v4-rail-link:hover{border-color:var(--pink-deep);}
.v4-rail-link img{width:100%; aspect-ratio:1/1; object-fit:cover;}
.v4-rail-link.on{border-color:var(--pink-deep); box-shadow:0 0 0 4px rgba(255,133,183,.18);}
.nav-arrow{position:absolute; top:50%; transform:translateY(-50%); z-index:7; width:42px; height:42px; display:none; place-items:center; font-size:20px; font-weight:700; border-radius:50%; background:rgba(255,255,255,.92); border:1.5px solid var(--wc-line); box-shadow:0 8px 18px rgba(35,29,66,.14); color:var(--navy); transition:.18s;}
.nav-arrow:hover{background:var(--pink);}
.nav-arrow:disabled{opacity:.35; pointer-events:none;}
.nav-arrow.prev{left:16px;} .nav-arrow.next{right:16px;}
.gallery-count{grid-column:2; grid-row:2; text-align:center; margin-top:10px; font-family:'Space Mono'; font-size:11px; letter-spacing:.1em; color:var(--ink-soft);}
.woocommerce-product-gallery.sp-gallery-no-rail{grid-template-columns:minmax(0,1fr); grid-template-rows:1fr;}
.woocommerce-product-gallery.sp-gallery-no-rail .flex-viewport{grid-column:1;}
.woocommerce-product-gallery.sp-gallery-no-rail .v4-rail{display:none;}
.woocommerce-product-gallery.sp-gallery-no-rail .nav-arrow{display:grid;}
.onsale{position:absolute; z-index:6; margin:0; inset-block-start:calc(1.5px + var(--card-pad,14px) + 24px); inset-inline-start:calc(var(--rail-size,84px) + 22px + 1.5px + var(--card-pad,14px) + 24px); font-family:'Space Mono'; font-size:11.5px; text-transform:none; letter-spacing:0; background:var(--pink); color:#fff; font-weight:700; padding:6px 14px; border-radius:100px; box-shadow:0 8px 16px rgba(255,133,183,.4);}
.sp-product-hero:has(.sp-gallery-no-rail) .onsale{inset-inline-start:calc(1.5px + var(--card-pad,14px) + 24px);}
.sp-summary-card{background:#fff; border-radius:20px; padding:28px 24px; box-shadow:var(--shadow-sm); border-top:6px solid var(--pink);}
.sp-product-hero.sticky-on .sp-summary-card{position:sticky; top:120px;}
.v4-cat{font-family:'Space Mono'; font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--pink-deep);}
.v4-cat a{color:var(--pink-deep); font-weight:700;}
.v4-cat a:hover{color:var(--pink-deep);}
.product_title{font-size:clamp(28px,3vw,38px); color:var(--navy); margin:9px 0 10px;}
.woocommerce-product-rating{display:flex; align-items:center; gap:9px;}
.star-rating{position:relative; display:inline-block; font-family:Arial; font-size:15px; color:var(--wc-line-2);}
.star-rating::before{content:"★★★★★"; letter-spacing:2px;}
.star-rating span{position:absolute; top:0; left:0; overflow:hidden; white-space:nowrap; color:var(--gold);}
.star-rating span::before{content:"★★★★★"; letter-spacing:2px;}
.woocommerce-review-link{color:var(--ink-soft); font-size:12.5px; font-family:'Space Mono';}
.woocommerce-review-link:hover{color:var(--pink-deep);}
.sp-summary-card .price{font-family:'Baloo 2'; font-weight:800; font-size:30px; color:var(--navy); margin:16px 0 14px; display:flex; align-items:center; flex-wrap:wrap; gap:10px;}
.price del{color:#B9AECC; margin-inline-end:2px; font-size:15px; font-weight:600; text-decoration:line-through;}
.price ins{text-decoration:none; color:var(--navy);}
.save-note{display:inline-flex; align-items:center; gap:6px; background:var(--green-tint,#E2F7EC); color:var(--green-deep,#1E8E58); font-family:'Quicksand'; font-weight:700; font-size:12px; padding:6px 12px; border-radius:100px;}
.v4-trust{display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:0 0 18px;}
.v4-trust .chp{display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:14px; font-size:11.5px; font-weight:700; line-height:1.4;}
.v4-trust .chp i{width:26px; height:26px; flex:none; border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:13px; line-height:1; color:#fff;}
.chp--ship{background:var(--blue-tint); color:var(--blue-deep);}
.chp--ship i{background:var(--blue-deep);}
.chp--stock{background:var(--mint-tint); color:#1E8E58;}
.chp--stock i{background:#1E8E58;}
.chp--secure{background:var(--lilac-tint); color:#8B5CF6;}
.chp--secure i{background:#8B5CF6;}
.chp--local{background:var(--gold-tint); color:var(--gold-deep);}
.chp--local i{background:var(--gold-deep);}
.chp--none{background:#FFE9E9; color:#D9534F;}
.chp--none i{background:#D9534F;}
.sold-note{display:flex; align-items:center; justify-content:center; gap:8px; padding:16px; background:#F4F1FA; border:1.5px dashed var(--wc-line-2); border-radius:16px; color:var(--ink-soft); font-weight:700; font-size:14px; margin:0 0 14px;}
.sp-product-hero .cart{margin:0 0 14px;}
.vq-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px;}
.variations{flex:1; min-width:180px;}
.v-label{display:block; font-family:'Space Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:var(--ink-soft); margin-bottom:8px;}
.v-pills{display:flex; flex-wrap:wrap; gap:8px;}
.v-pill{display:inline-flex; align-items:center; gap:6px; padding:10px 16px; border:1.5px solid var(--wc-line-2); border-radius:100px; background:#fff; color:var(--navy); font-family:'Quicksand'; font-weight:700; font-size:13.5px; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;}
.v-pill:hover{border-color:var(--pink-deep); transform:translateY(-1px);}
.v-pill.is-active{background:var(--pink); border-color:var(--pink); color:#fff;}
.v-price{font-size:11px; font-weight:800; opacity:.75;}
.variations label{display:block; font-family:'Space Mono'; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; color:var(--ink-soft); margin-bottom:6px;}
.variations select{width:100%; padding:12px 14px; font-family:'Quicksand'; font-weight:700; font-size:14px; color:var(--navy); background:#fff; border:1.5px solid var(--wc-line-2); border-radius:100px; outline:none;}
.variations select:focus{border-color:var(--pink-deep); box-shadow:0 0 0 4px rgba(255,133,183,.15);}
.quantity{display:flex; align-items:center; border:1.5px solid var(--wc-line-2); border-radius:100px; overflow:hidden;}
.quantity button{width:44px; height:48px; font-size:20px; color:var(--navy); transition:.15s;}
.quantity button:hover{background:var(--pink-tint);}
.quantity input{width:52px; height:48px; border:none; text-align:center; font-weight:700; font-size:16px; font-family:'Baloo 2'; color:var(--navy); background:#fff;}
.single_add_to_cart_button{flex:1; width:100%; padding:15px 24px; font-size:16px; font-weight:800; font-family:'Baloo 2'; letter-spacing:.01em; background:var(--pink); color:#fff; border-radius:100px; transition:transform .12s ease; display:flex; align-items:center; justify-content:center; gap:10px;}
.single_add_to_cart_button:hover{transform:translateY(-2px);}
.single_add_to_cart_button:active{transform:translateY(0);}
.single_add_to_cart_button[disabled]{opacity:.6; cursor:wait;}
.add-feedback{display:none; font-size:12.5px; font-weight:700; color:var(--blue-deep); text-align:center; margin-top:8px;}
.add-feedback:not(:empty){display:block;}
.delivery-note{display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; font-size:12.5px; font-weight:700; color:var(--gold-deep); background:var(--gold-tint); padding:11px 14px; border-radius:14px;}

.sp-summary-card{position:relative;}
.sp-summary-card .fav-btn--summary{position:absolute;top:18px;right:20px;width:30px;height:30px;padding:0;box-shadow:0 2px 8px rgba(35,29,66,.16);}
.sp-summary-card .fav-btn--summary .fav-btn__icon{width:19px;height:19px;}
.product_meta{margin-top:16px; font-size:12.5px; color:var(--wc-ink,#5F5680); line-height:1.9; display:flex; flex-wrap:wrap; gap:6px; align-items:center; border-top:1.5px dashed var(--wc-line); padding-top:16px;}
.product_meta .sku_wrapper,.product_meta .tagged_as{display:inline-flex; align-items:center; background:var(--pink-tint); border-radius:100px; padding:7px 16px; font-family:'Space Mono'; font-size:11px; text-transform:uppercase; letter-spacing:.05em;}
.product_meta .sku_wrapper{background:var(--blue-tint);}
.product_meta .tagged_as a{color:var(--pink-deep); font-weight:700;}
.product_meta .sku-label{color:var(--blue-deep); font-weight:600;}
.product_meta .sku{color:var(--navy); font-weight:800; letter-spacing:.02em;}

.shop-cat-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.shop-cat-chips .chip{display:inline-block;padding:9px 20px;border-radius:100px;border:2.5px solid var(--navy);background:var(--paper);color:var(--navy);font-family:'Baloo 2';font-weight:700;font-size:13px;box-shadow:3px 3px 0 var(--navy);}
.shop-cat-chips .chip--all{background:var(--pink);}

/* ── شريط إضافة للسلة ثابت على الموبايل ── */
.m-atc{display:none;}
@media (max-width:720px){
	body.single-shasha_product .m-dock{display:none;}
	.m-atc{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60; align-items:center; gap:12px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:var(--navy); color:#fff; box-shadow:0 -6px 24px rgba(35,29,66,.25);}
	.m-atc .m-atc-info{flex:1; min-width:0;}
	.m-atc .m-atc-name{display:block; font-family:'Baloo 2'; font-size:13px; color:rgba(255,255,255,.75); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
	.m-atc .m-atc-price{font-family:'Baloo 2'; font-weight:800; font-size:19px;}
	.m-atc button{flex:none; background:var(--pink); color:#fff; font-family:'Baloo 2'; font-weight:800; font-size:15px; padding:12px 22px; border-radius:100px;}
	.m-atc button:active{transform:scale(.97);}
	body.single-shasha_product .foot{padding-bottom:96px;}
}
.woocommerce-tabs{margin-top:36px;}
.woocommerce-tabs ul.tabs{margin:0 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:10px; border:none;}
.woocommerce-tabs ul.tabs li{border:none; background:none; margin:0; padding:0;}
.woocommerce-tabs ul.tabs li a{display:block; padding:10px 20px; font-weight:700; font-size:14px; border:1.5px solid var(--wc-line-2); border-radius:100px; color:var(--ink-soft); transition:.15s;}
.woocommerce-tabs ul.tabs li.active a{background:var(--pink); color:var(--navy); border-color:var(--pink);}
.woocommerce-tabs ul.tabs li a:hover{background:var(--pink); color:var(--navy); border-color:var(--pink);}
.woocommerce-tabs .panel{display:none; background:#fff; border:1.5px solid var(--wc-line); border-radius:20px; padding:26px; box-shadow:var(--shadow-sm); color:var(--wc-ink,#5F5680);}
.woocommerce-tabs .panel.active{display:block; animation:fadeIn .25s ease;}
.woocommerce-tabs .panel h2{font-family:'Baloo 2'; font-size:20px; color:var(--navy); margin-bottom:10px;}
.woocommerce-tabs .panel p{line-height:1.75; margin-bottom:10px;}
.woocommerce-tabs table{width:100%; border-collapse:collapse; font-size:14px;}
.woocommerce-tabs th,.woocommerce-tabs td{padding:11px 14px; border-bottom:1.5px solid var(--wc-line); text-align:left;}
.woocommerce-tabs th{width:38%; color:var(--navy); font-weight:700;}
.rev-summary{display:flex; gap:14px; align-items:center; margin-bottom:18px;}
.star-big{color:var(--gold); font-size:22px; letter-spacing:3px;}
.review{display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--wc-line);}
.rev-avatar{width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-family:'Baloo 2'; font-weight:800; color:var(--navy); flex:none;}
.review b{color:var(--navy);}
.review .stars{color:var(--gold); font-size:13px; letter-spacing:2px;}
.review p{font-size:13.5px; margin-top:5px;}
@keyframes fadeIn{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;}}
.related.products{margin-top:36px; padding-top:0; padding-bottom:0;}
.related.products h2{font-size:26px; margin:0 0 22px;}
.related-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}

/* ═══════════════════════════════════════════════════════════════════
   19 · STOREFRONT PAGES (cart / checkout / thank-you)
   Theme layer on top of the plugin's store.css — same visual language.
   ═══════════════════════════════════════════════════════════════════ */
.shasha-store .site-main{padding-top:50px;}
.shasha-box{
	border:3px solid var(--navy);
	border-radius:24px;
	box-shadow:6px 6px 0 var(--navy);
	padding:32px;
	background:var(--paper);
}
.shasha-cart-empty .shasha-btn,.shasha-thankyou .shasha-btn,.shasha-btn--primary{
	background:var(--navy); color:#fff; box-shadow:4px 5px 0 var(--pink);
}
.shasha-btn--primary:hover{transform:translate(-2px,-3px); box-shadow:7px 9px 0 var(--pink); background:var(--navy); color:#fff;}
.shasha-btn--ghost{background:var(--paper); color:var(--navy); box-shadow:0 0 0 2.5px var(--navy), 3px 4px 0 var(--navy);}
.shasha-btn--ghost:hover{transform:translate(-2px,-3px); box-shadow:0 0 0 2.5px var(--navy), 6px 7px 0 var(--navy); background:var(--paper); color:var(--navy);}
.page-content .shasha-btn--primary{color:#fff;}
.page-content .shasha-btn--primary:hover{color:#fff;}
.page-content .shasha-btn--ghost{color:var(--navy);}
.page-content .shasha-btn--ghost:hover{color:var(--navy);}
.shasha-cart-title,.shasha-checkout-title{font-family:'Baloo 2'; color:var(--navy);}
.shasha-cart-line{border-bottom:2px dashed rgba(35,29,66,.12);}
.shasha-cart-thumb{border:2px solid var(--navy);}
.shasha-cart-name:hover{color:var(--pink-deep);}
.shasha-cart-qty{border:1.5px solid var(--wc-line-2);}
.shasha-cart-remove{background:var(--pink); color:var(--navy);}
.shasha-cart-remove:hover{background:var(--pink-deep); color:#fff;}
.shasha-cart-footer{border-top:3px dashed rgba(35,29,66,.16);}
.shasha-checkout-grid{gap:28px;}
.shasha-checkout-summary{border:3px solid var(--navy); box-shadow:5px 5px 0 var(--navy);}
.shasha-co-grand{font-family:'Baloo 2';}
.shasha-field input,.shasha-field select{border:1.5px solid var(--wc-line-2); border-radius:12px;}
.shasha-field input:focus,.shasha-field select:focus{border-color:var(--pink-deep); box-shadow:0 0 0 4px rgba(255,133,183,.15);}
#shasha-payment-element{border:1.5px solid var(--wc-line-2);}
.shasha-ty-emoji{font-size:64px;}
.shasha-ty-meta code{background:var(--cream);}

/* ═══════════════════════════════════════════════════════════════════
   20 · RESPONSIVE
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width:1020px){
	.hero .grid{grid-template-columns:1fr; gap:64px; text-align:center;}
	.hero p.lead{margin-left:auto; margin-right:auto;}
	.hero .cta-row,.hero .trust{justify-content:center;}
	.hero-visual{order:-1;}
	.cat-grid,.prod-grid,.shasha-grid{grid-template-columns:repeat(2,1fr);}
	.stat-row{grid-template-columns:repeat(2,1fr);}
	.studio .grid{grid-template-columns:1fr;}
	.stage{max-width:440px; margin:0 auto;}
	.flavor-studio{text-align:center;}
	.flavor-studio > p{margin-left:auto; margin-right:auto;}
	.swatch{text-align:left;}
	.vip-card{grid-template-columns:1fr; text-align:center;}
	.vip-card::before{display:none;}
	.vip-card p{margin:0 auto;}
	.foot-grid{grid-template-columns:1fr 1fr;}
	.woocommerce-product-gallery{grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:14px;}
	.woocommerce-product-gallery .flex-viewport{grid-column:1; grid-row:1;}
	.v4-rail{grid-column:1; grid-row:2; flex-direction:row; position:static; align-self:auto; max-height:none; overflow-y:visible; overflow-x:auto; gap:12px; padding:4px; margin:-4px; justify-content:safe center; -webkit-overflow-scrolling:touch;}
	.v4-rail-link{flex:0 0 82px; width:82px;}
	.gallery-count{grid-column:1; grid-row:3; margin-top:0;}
	.nav-arrow{display:grid;}
	.onsale{inset-inline-start:calc(1.5px + var(--card-pad,14px) + 24px);}
	.sp-product-hero{grid-template-columns:1fr; gap:30px;}
	.sp-product-hero .woocommerce-product-gallery{grid-column:1; grid-row:1;}
	.sp-product-hero .sp-summary-card{grid-column:1; grid-row:2;}
	.sp-product-hero.sticky-on .sp-summary-card{position:relative; top:auto;}
}
@media (max-width:900px){
	.sp-product-hero{grid-template-columns:1fr; gap:30px;}
	.sp-product-hero .woocommerce-product-gallery{grid-column:1; grid-row:1;}
	.sp-product-hero .sp-summary-card{grid-column:1; grid-row:2;}
	.sp-product-hero.sticky-on .sp-summary-card{position:relative; top:auto;}
	.related-grid{grid-template-columns:repeat(2,1fr);}
	.shasha-checkout-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
	.nav-links{display:none;}
	.burger{display:flex;}
	.nav-inner{padding:10px 16px; gap:16px; min-height:60px; justify-content:space-between;}
	.nav-search-inner{padding:12px 16px;}
	.brand{font-size:19px; gap:8px;}
	.brand-mark{width:38px; height:38px;}
	.brand-logo{height:36px; max-width:150px;}
	.nav-actions{gap:8px;}
	.icon-btn{width:38px; height:38px; font-size:15px;}
	.burger{width:38px; height:38px; font-size:17px;}
	section{padding:64px 0;}
	.m-dock{display:flex;}
	.blob{width:min(300px,78vw); box-shadow:8px 9px 0 var(--pink), 8px 9px 0 4px var(--navy);}
	.seal{width:86px; height:86px; font-size:11px; right:-4px; top:-12px;}
	.orbit{width:min(360px,92vw);}
	.orbit i{width:36px; height:36px; margin-left:-18px; font-size:16px;}
	.orbit .d1{transform:rotate(0deg) translateY(-175px)!important;}
	.orbit .d2{transform:rotate(72deg) translateY(-175px)!important;}
	.orbit .d3{transform:rotate(144deg) translateY(-175px)!important;}
	.orbit .d4{transform:rotate(216deg) translateY(-175px)!important;}
	.orbit .d5{transform:rotate(288deg) translateY(-175px)!important;}
	.bubble-card{padding:11px 14px; right:0;}
	.cat-grid{grid-template-columns:1fr;}
	.prod-grid,.shasha-grid{grid-template-columns:repeat(2,1fr); gap:16px;}
	.stat{padding:22px 10px;}
	.stat b{font-size:26px;}
	.foot{padding:46px 0 104px;}
	.foot-grid{grid-template-columns:1fr; gap:10px; margin-bottom:26px;}
	.foot-grid > div:first-child{text-align:center;}
	.foot-brand{justify-content:center; font-size:23px; margin-bottom:14px;}
	.foot-brand .brand-logo{height:50px; max-width:200px;}
	.foot p.desc{margin-left:auto; margin-right:auto; margin-bottom:20px;}
	.foot-social{justify-content:center; margin-top:0; margin-bottom:24px;}
	.foot-col{background:rgba(255,255,255,.03); border:1.5px dashed rgba(255,255,255,.25); border-radius:16px; padding:0 14px;}
	.foot-col summary{
		cursor:pointer; pointer-events:auto; margin-bottom:0; padding:14px 0;
		font-family:'Baloo 2'; font-size:15px; font-weight:800; text-transform:none; letter-spacing:0; color:var(--cream);
		display:flex; align-items:center; justify-content:space-between;
	}
	.foot-col summary::after{content:"▾"; color:var(--pink); font-size:13px; transition:transform .25s ease;}
	.foot-col[open] summary::after{transform:rotate(180deg);}
	.foot-col ul{padding-left:0; padding-bottom:8px;}
	.foot-bot{flex-direction:column; align-items:center; text-align:center; gap:6px; padding-top:18px;}
	.vip-card{padding:38px 24px;}
	.stat-row{grid-template-columns:1fr 1fr; gap:14px;}
	.hero h1{font-size:clamp(38px,12vw,52px);}
	.shasha-box{padding:22px;}
	.shasha-cart-line{grid-template-columns:64px 1fr auto;}
	.shasha-checkout-row{grid-template-columns:1fr;}
	.page-content{padding:0 8px;}
}
@media (max-width:560px){
	.related-grid{grid-template-columns:repeat(2,1fr); gap:14px;}
	.vq-row{flex-direction:column;}
	.quantity{width:100%;}
	.quantity button{flex:1;}
	.v4-trust{grid-template-columns:repeat(3,1fr); gap:6px;}
	.v4-trust .chp{flex-direction:column; gap:5px; padding:9px 6px; text-align:center; font-size:10.5px; line-height:1.3;}
	.onsale{inset-block-start:calc(1.5px + var(--card-pad,14px) + 12px);}
}
@media (max-width:420px){
	.brand{font-size:18px; gap:7px;}
	.brand-mark{width:36px; height:36px;}
	.brand-name{display:none;}
	.nav-inner{padding:10px 12px; gap:10px;}
	.nav-actions{gap:6px;}
	.icon-btn{width:36px; height:36px; font-size:14px;}
.burger{width:36px; height:36px; font-size:16px;}
}

/* ── homepage page-template: editor SEO text below the carnival sections ── */
.home-page-content{background:var(--cream); padding:64px 26px;}

