/* Vibe Shooping - Sticker Pop (light) */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,800&display=swap');
:root{--v-ink:#1b1340;--v-bg:#fff8ee;--v-pink:#ffc9e0;--v-hot:#ff5fa2;--v-mint:#c8f0dc;--v-sky:#cfe0ff;--v-sun:#ffd43b;--v-peach:#ffe3b8;--v-dim:#4b4470}
html.vibe-lock{overflow:hidden}
body{background:var(--v-bg)!important;color:var(--v-ink);font-family:'Bricolage Grotesque',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.h1,.h2,.h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-.03em;color:var(--v-ink)}
::selection{background:var(--v-sun);color:var(--v-ink)}
body,[class*=color-scheme],.header,.footer,section{--color-background:#fff8ee!important;--color-foreground:#1b1340!important;--color-primary-button-background:#1b1340!important;--color-primary-button-text:#fff!important;--color-border:#1b1340!important}
[class*=color-scheme],.shopify-section{background-color:transparent}
.button,button[type=submit]{border-radius:999px!important;font-weight:700;border:2.5px solid var(--v-ink)!important;transition:transform .15s,box-shadow .15s}
.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--v-ink)}
.button:active{transform:translate(2px,2px);box-shadow:none}
.header,header{background:var(--v-bg)!important;border-bottom:2.5px solid var(--v-ink)}
.footer{border-top:2.5px solid var(--v-ink)}
.product-card{position:relative;background:#fff;border:2.5px solid var(--v-ink);border-radius:24px;padding:12px;box-shadow:6px 6px 0 var(--v-ink);transition:transform .18s ease,box-shadow .18s ease}
.product-card:hover{transform:translate(-3px,-3px) rotate(-.6deg);box-shadow:9px 9px 0 var(--v-ink)}
.product-card img{border-radius:16px}
.vibe-launch{animation:vlaunch .4s cubic-bezier(.5,0,.3,1) forwards;z-index:5}
@keyframes vlaunch{40%{transform:scale(.94) rotate(-2deg)}to{transform:scale(1.12) rotate(3deg)}}
.vibe-warp{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0;background:var(--v-sun);clip-path:circle(0 at var(--wx,50%) var(--wy,50%));transition:clip-path .45s cubic-bezier(.7,0,.2,1),opacity .1s}
.vibe-warp::after{content:"";position:absolute;inset:0;background:var(--v-hot);clip-path:circle(30% at var(--wx,50%) var(--wy,50%))}
.vibe-warp.is-on{opacity:1;clip-path:circle(150% at var(--wx,50%) var(--wy,50%));pointer-events:all}
.vibe-bar{position:fixed;top:0;left:0;right:0;height:5px;z-index:99990}
.vibe-bar i{display:block;height:100%;transform:scaleX(0);transform-origin:0 50%;background:var(--v-hot);border-right:2.5px solid var(--v-ink)}
.vibe-heart{position:absolute;right:16px;top:16px;z-index:3;width:40px;height:40px;border-radius:50%;border:2.5px solid var(--v-ink);background:#fff;color:var(--v-ink);cursor:pointer;display:grid;place-items:center;padding:0;transition:transform .15s,background .15s}
.vibe-heart:hover{transform:scale(1.12) rotate(-6deg)}
.vibe-heart svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4}
.vibe-heart[aria-pressed=true]{background:var(--v-hot)}
.vibe-heart[aria-pressed=true] svg{fill:var(--v-ink)}
.vibe-heart.pop{animation:vpopheart .45s}
@keyframes vpopheart{40%{transform:scale(1.4) rotate(10deg)}}
.vibe-dock{position:fixed;right:16px;bottom:16px;z-index:99980;display:flex;gap:10px}
.vibe-dock__btn{min-width:48px;height:48px;border-radius:999px;display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:0 14px;font:700 14px 'Bricolage Grotesque',sans-serif;color:var(--v-ink);background:var(--v-sun);border:2.5px solid var(--v-ink);box-shadow:4px 4px 0 var(--v-ink);cursor:pointer;transition:transform .15s,box-shadow .15s}
.vibe-dock__btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--v-ink)}
.vibe-dock__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4}
.vibe-dock__btn--pink{background:var(--v-pink)}
.vibe-cmdk{position:fixed;inset:0;z-index:100000;background:rgba(27,19,64,.5);display:grid;place-items:start center;padding-top:12vh}
.vibe-cmdk[hidden]{display:none}
.vibe-cmdk__box{width:min(640px,92vw);background:#fff;border:2.5px solid var(--v-ink);border-radius:24px;box-shadow:8px 8px 0 var(--v-ink);overflow:hidden;animation:vpop .25s ease}
@keyframes vpop{from{transform:translateY(-14px) scale(.97);opacity:0}}
.vibe-cmdk__top{display:flex;gap:12px;align-items:center;padding:16px 20px;border-bottom:2.5px solid var(--v-ink);background:var(--v-pink)}
.vibe-cmdk__top input{flex:1;background:none;border:0;outline:0;color:var(--v-ink);font:600 18px 'Bricolage Grotesque',sans-serif;box-shadow:none}
.vibe-cmdk__top kbd{font:700 11px monospace;border:2px solid var(--v-ink);border-radius:6px;padding:2px 6px;background:#fff}
.vibe-cmdk__label{padding:10px 20px 0;font:700 12px 'Bricolage Grotesque',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--v-dim)}
.vibe-cmdk__list{list-style:none;margin:0;padding:8px;max-height:50vh;overflow:auto}
.vibe-cmdk__list li{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;cursor:pointer}
.vibe-cmdk__list li.is-on{background:var(--v-sun)}
.vibe-cmdk__list img{object-fit:cover;border-radius:10px;border:2px solid var(--v-ink)}
.vibe-cmdk__list b{display:block;font-weight:700}
.vibe-cmdk__list em{font-style:normal;font-size:12px;color:var(--v-dim)}
.vibe-cmdk__dot{width:40px;height:40px;border-radius:10px;background:var(--v-mint);border:2px solid var(--v-ink)}
.vibe-cmdk__none{color:var(--v-dim);cursor:default!important}
.vibe-cmdk__foot{display:flex;gap:18px;padding:10px 20px;border-top:2.5px solid var(--v-ink);font:600 12px 'Bricolage Grotesque',sans-serif;color:var(--v-dim)}
.vibe-dl-host{position:relative;overflow:hidden}
.vibe-dl{position:absolute;inset:0;display:grid;place-items:center;background:var(--v-sun);color:var(--v-ink);font:800 13px 'Bricolage Grotesque',sans-serif;letter-spacing:.06em;z-index:2}
.vibe-dl i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);background:var(--v-hot)}
.vibe-dl b{position:relative}
[data-vibe-reveal]{opacity:0;transform:translateY(24px) rotate(-.5deg);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
[data-vibe-reveal].is-in{opacity:1;transform:none}
.vh-wrap{padding:20px clamp(16px,4vw,48px)}
.vh-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.vh-card{border:2.5px solid var(--v-ink);border-radius:28px;box-shadow:8px 8px 0 var(--v-ink);padding:clamp(24px,4vw,48px);box-sizing:border-box}
.vh-main{grid-column:span 7;background:var(--v-pink);display:flex;flex-direction:column;gap:22px;min-height:420px}
.vh-side{grid-column:span 5;display:grid;grid-template-rows:1fr 1fr;gap:20px}
.vh-side .vh-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.vh-kicker{font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.vh-title{margin:0;font-size:clamp(44px,8vw,96px);line-height:.92;font-weight:800;letter-spacing:-.04em}
.vh-sub{margin:0;font-size:20px;max-width:480px;line-height:1.45}
.vh-cta{display:flex;gap:12px;flex-wrap:wrap}
.vh-btn{display:inline-block;padding:16px 28px;border-radius:999px;font-weight:700;text-decoration:none;border:2.5px solid var(--v-ink);background:var(--v-ink);color:#fff;transition:transform .15s,box-shadow .15s}
.vh-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--v-sun);text-shadow:none}
.vh-btn--ghost{background:#fff;color:var(--v-ink)}
.vh-big{font-size:30px;font-weight:800;line-height:1;letter-spacing:-.03em}
.vh-marquee{overflow:hidden;border-block:2.5px solid var(--v-ink);background:var(--v-sun);padding:12px 0;white-space:nowrap;margin-top:28px}
.vh-track{display:inline-flex;gap:36px;animation:vmarq 26s linear infinite;font:800 18px 'Bricolage Grotesque',sans-serif;text-transform:uppercase}
@keyframes vmarq{to{transform:translateX(-50%)}}
.vh-sec{padding:clamp(36px,6vw,80px) clamp(16px,4vw,48px) 0}
.vh-sec h2{font-size:clamp(30px,5vw,52px);margin:0 0 24px}
.vh-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.vh-tile{display:flex;flex-direction:column;justify-content:space-between;min-height:200px;padding:24px;border:2.5px solid var(--v-ink);border-radius:24px;box-shadow:6px 6px 0 var(--v-ink);text-decoration:none;color:var(--v-ink);font-weight:800;font-size:26px;line-height:1.05;letter-spacing:-.03em;transition:transform .15s,box-shadow .15s}
.vh-tile:hover{transform:translate(-3px,-3px) rotate(-1deg);box-shadow:9px 9px 0 var(--v-ink);text-shadow:none}
.vh-tile small{font:700 12px 'Bricolage Grotesque',sans-serif;letter-spacing:.1em}
.vh-tile:nth-child(4n+1){background:var(--v-pink)}.vh-tile:nth-child(4n+2){background:var(--v-mint)}.vh-tile:nth-child(4n+3){background:var(--v-sky)}.vh-tile:nth-child(4n+4){background:var(--v-peach)}
.vh-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;background:var(--v-sun);border:2.5px solid var(--v-ink);border-radius:28px;box-shadow:8px 8px 0 var(--v-ink);padding:clamp(24px,4vw,40px)}
.vh-feats b{font-size:22px;display:block;margin-bottom:8px}
.vh-feats p{margin:0;line-height:1.45}
@media(max-width:800px){.vh-main,.vh-side{grid-column:span 12}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}[data-vibe-reveal]{opacity:1;transform:none}}
