/* ============ FUN THEME — playful, family-friendly storefront ============ */
.theme-fun{
  --ink:#123A44;--ink-soft:#4E6C73;--cream:#FFF8F1;--paper:#fff;
  --berry:#FF5A1F;--berry-deep:#E0430A;--sun:#FFD54A;--sea:#2FB9A5;
  --mint:#5ED2BD;--lemon:#FFD54A;--lilac:#B9A3F0;--bubble:#FF9EC2;--sky:#7CC8FF;--coral:#FF7A4D;--grape:#7A4FD8;
  --r:28px;--r-sm:20px;--shadow:0 22px 44px -26px rgba(18,58,68,.55);
  font-family:'DM Sans',system-ui,sans-serif;background:var(--cream);
}
.theme-fun h1,.theme-fun h2,.theme-fun h3,.theme-fun h4,.theme-fun .serif,.theme-fun .logo{font-family:'Outfit',system-ui,sans-serif;letter-spacing:-.025em;}
.theme-fun h1 em,.theme-fun h2 em,.theme-fun h3 em{font-family:'Outfit',sans-serif;font-style:normal;color:var(--berry);}
.theme-fun .btn{border-radius:999px;text-transform:none;letter-spacing:0;font-size:15px;font-weight:700;padding:15px 26px;transition:transform .2s cubic-bezier(.3,1.6,.5,1),box-shadow .2s;}
.theme-fun .btn:hover{transform:translateY(-3px) scale(1.03);}
.theme-fun .btn-primary{background:var(--grape);color:#fff;box-shadow:0 12px 26px -12px rgba(122,79,216,.9);}
.theme-fun .btn-primary:hover{background:#6A3FC6;}
.theme-fun .btn-white{background:#fff;color:var(--ink);box-shadow:0 10px 24px -14px rgba(0,0,0,.45);}
.theme-fun .btn-sun{background:var(--lemon);color:var(--ink);}
.theme-fun .btn-outline{border:2px solid var(--ink);}
.theme-fun .btn-ghost{background:rgba(255,255,255,.14);border:2px solid #fff;color:#fff;}
.theme-fun .btn-sm{padding:10px 18px;font-size:13px;}

.theme-fun header{background:rgba(255,255,255,.92);border-bottom:0;box-shadow:0 6px 24px -18px rgba(18,58,68,.5);}
.theme-fun .utility-bar{background:var(--grape);color:#fff;}
.theme-fun .nav-links{font-weight:700;}
.theme-fun .nav-links a::after{height:3px;border-radius:3px;background:var(--mint);}
.theme-fun .iconbtn{border-radius:50%;}
.theme-fun .pill,.theme-fun .cart-count{background:var(--berry);}

/* tones */
.theme-fun .t-mint{--tone:var(--mint);}
.theme-fun .t-lemon{--tone:var(--lemon);}
.theme-fun .t-lilac{--tone:var(--lilac);}
.theme-fun .t-bubble{--tone:var(--bubble);}
.theme-fun .t-sky{--tone:var(--sky);}
.theme-fun .t-coral{--tone:var(--coral);}

/* hero */
.fun-hero{position:relative;min-height:clamp(560px,82vh,860px);background:#6DDCC8;overflow:hidden;display:flex;align-items:center;}
.fun-hero .fun-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;}
.fun-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(64,190,170,.55) 0%,rgba(64,190,170,.18) 46%,transparent 62%);pointer-events:none;}
.fun-hero-inner{position:relative;z-index:2;padding-top:40px;padding-bottom:60px;}
.fun-hero-copy{max-width:560px;color:#fff;}
.fun-eyebrow{display:inline-block;background:rgba(255,255,255,.22);backdrop-filter:blur(6px);padding:8px 16px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:18px;}
.fun-hero h1{font-size:clamp(46px,8.6vw,96px);line-height:.95;font-weight:800;text-shadow:0 4px 30px rgba(10,60,55,.25);margin-bottom:18px;}
.fun-hero h1 em{color:#fff;display:inline-block;background:var(--grape);padding:0 .2em .08em;border-radius:.3em;transform:rotate(-2deg);margin-top:.12em;font-size:.62em;white-space:nowrap;}
.fun-hero p{font-size:18px;line-height:1.55;max-width:46ch;margin-bottom:26px;text-shadow:0 1px 14px rgba(10,60,55,.35);}
.fun-ctas{display:flex;flex-wrap:wrap;gap:12px;}
.fun-ctas-center{justify-content:center;}
.fun-sticker{position:absolute;z-index:3;right:clamp(16px,5vw,70px);bottom:clamp(18px,5vw,60px);width:118px;height:118px;border-radius:50%;background:var(--lemon);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;transform:rotate(-12deg);box-shadow:0 14px 30px -12px rgba(0,0,0,.45);animation:funWobble 4s ease-in-out infinite;}
.fun-sticker b{font-family:'Outfit',sans-serif;font-size:36px;font-weight:800;margin:4px 0;}
.fun-sticker small{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
@keyframes funWobble{0%,100%{transform:rotate(-12deg) scale(1);}50%{transform:rotate(-4deg) scale(1.06);}}
@media(max-width:700px){
  .fun-hero{align-items:flex-end;min-height:640px;}
  .fun-hero .fun-video{object-position:76% center;}
  .fun-hero::after{background:linear-gradient(0deg,rgba(30,140,125,.85) 0%,rgba(40,170,150,.35) 48%,transparent 70%);}
  .fun-hero p{font-size:16px;}
  .fun-sticker{width:92px;height:92px;top:22px;bottom:auto;}
  .fun-sticker b{font-size:28px;}
}

/* perks strip */
.fun-perks{background:#fff;padding:18px 0;}
.fun-perks-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fun-perk{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--tone) 28%,#fff);border-radius:18px;padding:12px 14px;font-size:13.5px;line-height:1.3;}
.fun-perk i{font-style:normal;font-size:20px;width:38px;height:38px;flex:none;border-radius:50%;background:var(--tone);display:flex;align-items:center;justify-content:center;}
@media(min-width:900px){.fun-perks-row{grid-template-columns:repeat(4,1fr);}.fun-perk{font-size:14.5px;}}

/* sections */
.fun-sec{padding:72px 0;}
.fun-head{margin-bottom:30px;max-width:720px;}
.fun-head-center{text-align:center;margin-left:auto;margin-right:auto;}
.fun-head h2{font-size:clamp(36px,6.4vw,64px);font-weight:800;line-height:1;margin-bottom:10px;}
.fun-head p{font-size:17px;color:var(--ink-soft);}
.fun-big{font-size:clamp(44px,8vw,92px)!important;}
.fun-kicker{display:inline-block;background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:14px;}

/* ZURU-style tiles */
.fun-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fun-tile{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:var(--tone);}
.fun-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.9,.3,1);}
.fun-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--tone) 92%,transparent) 0%,transparent 48%);}
.fun-tile span{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(22px,3.2vw,34px);line-height:1;color:var(--ink);}
.fun-tile:hover img{transform:scale(1.07) rotate(-1deg);}
@media(min-width:860px){.fun-tiles{grid-template-columns:repeat(4,1fr);gap:18px;}}

/* family split rows (Rascals-style) */
.fun-family{padding:72px 0 24px;background:#fff;}
.fun-split{display:grid;background:var(--tone);margin:0 0 0;}
.fun-split-media{position:relative;min-height:340px;overflow:hidden;}
.fun-split-media .fun-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center;}
.fun-split-copy{padding:44px var(--pad) 52px;max-width:620px;}
.fun-split-copy h3{font-size:clamp(32px,4.6vw,52px);font-weight:800;line-height:1.02;margin-bottom:14px;}
.fun-split-copy p{font-size:17px;color:var(--ink);opacity:.82;margin-bottom:22px;}
.fun-split .fun-kicker{background:#fff;color:var(--ink);}
.fun-picks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;}
.fun-pick{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.75);border-radius:18px;padding:8px 12px 8px 8px;transition:transform .2s;}
.fun-pick:hover{transform:translateY(-3px) rotate(-1deg);}
.fun-pick img{width:54px;height:54px;object-fit:cover;border-radius:12px;flex:none;}
.fun-pick span{display:flex;flex-direction:column;line-height:1.2;font-size:13.5px;}
.fun-pick small{font-weight:700;color:var(--grape);margin-top:3px;}
@media(min-width:900px){
  .fun-split{grid-template-columns:1.15fr 1fr;align-items:center;}
  .fun-split.flip .fun-split-media{order:2;}
  .fun-split-media{min-height:560px;height:100%;}
  .fun-split-copy{padding:60px clamp(32px,5vw,80px);}
}

/* product cards */
.theme-fun .tab{border-radius:999px;border-width:2px;font-weight:700;}
.theme-fun .tab.on{background:var(--grape);border-color:var(--grape);}
.theme-fun .prods{gap:14px;}
.theme-fun .prod{border-radius:var(--r);border:0;box-shadow:var(--shadow);background:#fff;padding:12px 12px 16px;transition:transform .25s cubic-bezier(.3,1.5,.5,1);}
.theme-fun .prod:hover{transform:translateY(-6px) rotate(-.6deg);}
.theme-fun .prod:nth-child(6n+1) .prod-img{background:color-mix(in srgb,var(--mint) 35%,#fff);}
.theme-fun .prod:nth-child(6n+2) .prod-img{background:color-mix(in srgb,var(--lemon) 38%,#fff);}
.theme-fun .prod:nth-child(6n+3) .prod-img{background:color-mix(in srgb,var(--lilac) 38%,#fff);}
.theme-fun .prod:nth-child(6n+4) .prod-img{background:color-mix(in srgb,var(--bubble) 35%,#fff);}
.theme-fun .prod:nth-child(6n+5) .prod-img{background:color-mix(in srgb,var(--sky) 35%,#fff);}
.theme-fun .prod:nth-child(6n+6) .prod-img{background:color-mix(in srgb,var(--coral) 30%,#fff);}
.theme-fun .prod-img{height:auto;aspect-ratio:1;border-radius:20px;overflow:hidden;padding:0;}
.theme-fun .prod-img img{width:100%;height:100%;max-height:none;object-fit:cover;filter:none;transition:transform .4s;}
.theme-fun .prod:hover .prod-img img{transform:scale(1.06);}
.theme-fun .prod h4{font-family:'Outfit',sans-serif;font-size:17px;}
.theme-fun .prod .add{border-radius:999px;background:var(--ink);color:#fff;font-weight:700;}
.theme-fun .prod .add:hover{background:var(--grape);}
.theme-fun .badge{border-radius:999px;background:var(--lemon);color:var(--ink);font-weight:800;transform:rotate(-4deg);}
.theme-fun .badge.hot{background:var(--berry);color:#fff;}
.theme-fun .price b{color:var(--grape);}

/* bundles */
.fun-bundles{background:color-mix(in srgb,var(--lilac) 30%,var(--cream));}
.theme-fun .bundle{border-radius:var(--r);border:0;}
.theme-fun .bundle:nth-child(3n+1){background:var(--grape);color:#fff;}
.theme-fun .bundle:nth-child(3n+2){background:var(--mint);color:var(--ink);}
.theme-fun .bundle:nth-child(3n+3){background:var(--coral);color:#fff;}

/* quiz */
.theme-fun .quiz-sec{background:linear-gradient(150deg,#FFE4F0 0%,#E9E0FF 55%,#DDF6F0 100%);}
.theme-fun .quiz-card{border-radius:32px;}

/* steps */
.fun-steps{display:grid;gap:14px;}
.fun-step{background:var(--tone);border-radius:var(--r);padding:28px 24px;position:relative;}
.fun-step b{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#fff;font-family:'Outfit',sans-serif;font-size:28px;font-weight:800;margin-bottom:16px;}
.fun-step h4{font-size:24px;margin-bottom:6px;}
.fun-step p{opacity:.85;}
@media(min-width:860px){.fun-steps{grid-template-columns:repeat(3,1fr);gap:18px;}.fun-step:nth-child(2){transform:translateY(22px);}}

/* reviews */
.fun-reviews{background:var(--ink);color:#fff;}
.fun-reviews .fun-head p{color:rgba(255,255,255,.75);}
.fun-reviews h2 em{color:var(--lemon);}
.fun-review-wall{display:grid;gap:14px;}
.fun-review{background:#fff;color:var(--ink);border-radius:var(--r);padding:26px 24px;}
.fun-review:nth-child(3n+1){background:var(--mint);}
.fun-review:nth-child(3n+2){background:var(--lemon);}
.fun-review:nth-child(3n+3){background:var(--bubble);}
.fun-review .stars{color:var(--ink);letter-spacing:3px;margin-bottom:10px;}
.fun-review blockquote{font-family:'Outfit',sans-serif;font-size:19px;font-weight:600;line-height:1.35;margin-bottom:14px;}
.fun-review figcaption{font-weight:700;font-size:13px;opacity:.75;}
@media(min-width:860px){.fun-review-wall{grid-template-columns:repeat(3,1fr);gap:18px;}.fun-review:nth-child(odd){transform:rotate(-1.2deg);}.fun-review:nth-child(even){transform:rotate(1.2deg) translateY(14px);}}

/* photo marquee */
.fun-marquee{background:var(--cream);padding:40px 0;overflow:hidden;display:grid;gap:14px;}
.fun-marquee-row{display:flex;gap:14px;width:max-content;animation:funScroll 60s linear infinite;}
.fun-marquee-row.rev-dir{animation-direction:reverse;animation-duration:75s;}
.fun-marquee img{height:clamp(150px,20vw,240px);width:auto;aspect-ratio:4/3;object-fit:cover;border-radius:24px;}
@keyframes funScroll{to{transform:translateX(-50%);}}

/* reseller */
.fun-sell{display:grid;gap:26px;background:var(--grape);color:#fff;border-radius:36px;padding:44px 28px;position:relative;overflow:hidden;}
.fun-sell::after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:var(--bubble);opacity:.35;right:-110px;top:-120px;}
.fun-sell h2{font-size:clamp(32px,5vw,54px);font-weight:800;line-height:1.02;margin-bottom:12px;max-width:16ch;}
.fun-sell p{opacity:.9;font-size:17px;margin-bottom:22px;max-width:48ch;}
.fun-sell .fun-kicker{background:var(--lemon);color:var(--ink);}
.fun-sell-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1;align-self:center;}
.fun-sell-stats div{background:rgba(255,255,255,.14);border-radius:24px;padding:22px;}
.fun-sell-stats b{display:block;font-family:'Outfit',sans-serif;font-size:44px;font-weight:800;line-height:1;color:var(--lemon);}
.fun-sell-stats span{font-size:13px;opacity:.85;}
@media(min-width:860px){.fun-sell{grid-template-columns:1.3fr 1fr;padding:64px;}}

/* logistics + faq */
.theme-fun .lbox{border:0;border-radius:var(--r);background:#fff;box-shadow:var(--shadow);}
.theme-fun .chip{border:0;background:color-mix(in srgb,var(--mint) 30%,#fff);}
.theme-fun .chip i{background:var(--grape);}
.theme-fun .faq{border:0;display:grid;gap:10px;}
.theme-fun .faq details{background:#fff;border:0;border-radius:22px;padding:0 22px;box-shadow:0 10px 24px -20px rgba(18,58,68,.6);}
.theme-fun .faq summary{font-family:'Outfit',sans-serif;font-size:18px;}
.theme-fun .faq summary::after{color:var(--grape);}

/* final CTA */
.fun-cta{background:var(--berry);color:#fff;text-align:center;padding:80px 0;position:relative;overflow:hidden;}
.fun-cta::before,.fun-cta::after{content:"";position:absolute;border-radius:50%;}
.fun-cta::before{width:260px;height:260px;background:var(--lemon);left:-90px;bottom:-110px;opacity:.6;}
.fun-cta::after{width:180px;height:180px;background:var(--mint);right:-50px;top:-60px;opacity:.6;}
.fun-cta .wrap{position:relative;z-index:1;}
.fun-cta h2{font-size:clamp(44px,8vw,96px);font-weight:800;line-height:.95;margin-bottom:26px;}
.fun-cta h2 em{color:var(--lemon);}
.fun-cta .btn-primary{background:#fff;color:var(--berry);}
.fun-news{max-width:560px;margin:38px auto 0;display:grid;gap:10px;}
.fun-news label{font-weight:700;font-size:16px;}
.fun-news div{display:flex;gap:8px;background:#fff;border-radius:999px;padding:6px;}
.fun-news input{flex:1;min-width:0;border:0;background:transparent;padding:0 16px;font:inherit;font-size:15px;color:var(--ink);outline:none;}
.fun-news small{opacity:.8;}

/* shell */
.theme-fun footer{background:var(--ink);}
.theme-fun .disclaimer{background:var(--cream);}
.theme-fun .drawer{border-radius:0;}
.theme-fun .flash{border-radius:18px;}
@media(prefers-reduced-motion:reduce){
  .fun-marquee-row,.fun-sticker{animation:none;}
  .theme-fun .fun-video{display:none;}
  .fun-hero{background:#6DDCC8 url('../fun/hero-woman.jpg') 70% center/cover;}
}
