/* =========================================================
   Style Baazar · Little Sitare — public site
   ========================================================= */
:root{
  --purple-900:#24093F; --purple:#5B1E8C; --purple-500:#7A33B8; --magenta:#E5197E;
  --red:#E30613; --red-600:#C70510; --yellow:#FFC93C; --orange:#FF8A00; --sky:#2BB3F0; --green:#16A34A;
  --ink:#1E1333; --muted:#6B6280; --bg:#FFF9F3; --card:#FFFFFF; --line:#EFE6F6; --tint:#F7F0FF;
  --r-lg:28px; --r:18px; --r-sm:12px;
  --shadow:0 18px 50px -18px rgba(59,16,99,.28); --shadow-sm:0 6px 20px -8px rgba(59,16,99,.22);
  --display:'Fredoka', 'Nunito', system-ui, sans-serif; --body:'Nunito', system-ui, -apple-system, Segoe UI, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--purple)}
h1,h2,h3,h4{font-family:var(--display);line-height:1.12;margin:0 0 .4em;letter-spacing:-.01em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.narrow{width:min(820px,100% - 32px)}
.center{text-align:center}.muted{color:var(--muted)}.tiny{font-size:.8rem;color:var(--muted);margin:.8rem 0 0}
.hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}

/* ---------- buttons ---------- */
.btn{--bg:var(--purple);display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:0;border-radius:999px;background:var(--bg);color:#fff;font:700 1rem/1 var(--body);padding:.85em 1.4em;text-decoration:none;cursor:pointer;transition:transform .15s ease, box-shadow .2s ease, filter .2s;box-shadow:0 10px 24px -10px var(--bg)}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn:active{transform:translateY(0)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.btn-red{--bg:var(--red)} .btn-yellow{--bg:var(--yellow);color:var(--purple-900)}
.btn-sm{padding:.6em 1.1em;font-size:.9rem}.btn-lg{padding:1.05em 1.7em;font-size:1.08rem}.btn-block{width:100%}
.link-btn{background:none;border:0;color:var(--red);font:700 .85rem var(--body);cursor:pointer;margin-left:auto;padding:.2em .4em}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,249,243,.82);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(91,30,140,.08)}
.nav-in{display:flex;align-items:center;gap:20px;height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand img{width:44px;height:auto}
.brand b{font-family:var(--display);font-size:1.15rem;display:block;line-height:1;color:var(--purple)}
.brand small{font-size:.72rem;color:var(--red);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.nav-links{display:flex;gap:22px}
.nav-links a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem;opacity:.75}
.nav-links a:hover{opacity:1;color:var(--purple)}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;background:
  radial-gradient(900px 500px at 85% 10%, rgba(229,25,126,.55), transparent 60%),
  radial-gradient(700px 500px at 0% 100%, rgba(43,179,240,.35), transparent 60%),
  linear-gradient(135deg,#3A0D63 0%, #5B1E8C 45%, #8B1F8F 100%);
  padding:64px 0 120px;overflow:hidden}
.hero-sky{position:absolute;inset:0;pointer-events:none}
.star{position:absolute;color:var(--yellow);opacity:.9;animation:twinkle 3.2s ease-in-out infinite;font-size:22px}
.s1{top:12%;left:6%}.s2{top:22%;left:46%;font-size:16px;animation-delay:.6s}.s3{top:70%;left:42%;font-size:14px;animation-delay:1.2s}.s4{top:10%;right:8%;font-size:28px;animation-delay:.3s}.s5{bottom:24%;left:10%;font-size:18px;animation-delay:1.8s}
.blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.9}
.b1{width:120px;height:120px;background:var(--orange);top:-40px;left:38%;opacity:.25}
.b2{width:70px;height:70px;background:var(--sky);bottom:110px;right:6%;opacity:.5}
.b3{width:26px;height:26px;background:var(--yellow);top:30%;left:3%}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0);opacity:.9}50%{transform:scale(.6) rotate(20deg);opacity:.4}}
.hero-in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.pill{display:inline-block;padding:.45em 1em;border-radius:999px;font-weight:800;font-size:.85rem}
.pill-glow{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.hero h1{font-size:clamp(2.2rem,5.2vw,4rem);margin:.45em 0 .35em;font-weight:700}
.shine{color:var(--yellow);position:relative;white-space:nowrap}
.shine::after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:.22em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 7 Q 12 1 25 6 T 50 6 T 75 6 T 100 5' stroke='%23FFC93C' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.lead{font-size:1.12rem;opacity:.92;max-width:560px}
.event-chips{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 26px}
.echip{display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);padding:10px 16px 10px 10px;border-radius:18px;box-shadow:0 10px 30px -12px rgba(0,0,0,.45)}
.echip-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:22px;background:color-mix(in srgb,var(--c) 16%, #fff)}
.echip b{display:block;font-family:var(--display);font-size:1.02rem}
.echip small{color:var(--muted);font-weight:700;font-size:.8rem}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.countdown{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:8px 14px}
.countdown small{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-weight:800}
.countdown b{font-family:var(--display);font-size:1.35rem;color:var(--yellow)}
.hero-art{position:relative;display:grid;place-items:center}
.logo-halo{position:relative;width:min(420px,90%);animation:float 6s ease-in-out infinite}
.logo-halo::before{content:"";position:absolute;inset:8% 4%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),rgba(255,255,255,0) 65%);z-index:-1}
.hero-kids{width:min(360px,80%);margin-top:-14px;background:#fff;padding:10px 14px;border-radius:22px;transform:rotate(-2.5deg);box-shadow:0 20px 40px -16px rgba(0,0,0,.5)}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:90px;color:var(--bg)}

/* ---------- sections ---------- */
.section{padding:72px 0}
.section-tint{background:var(--tint)}
.sec-head{text-align:center;max-width:680px;margin:0 auto 40px}
.sec-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);color:var(--purple-900)}
.sec-head p{color:var(--muted);font-size:1.05rem;margin:0}
.kicker{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:8px}

/* ---------- events ---------- */
.events{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.event{background:var(--card);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s}
.event:hover{transform:translateY(-4px)}
.event-art{position:relative;background:color-mix(in srgb,var(--c) 12%, #fff);aspect-ratio:16/8;display:grid;place-items:center;overflow:hidden}
.event-art img{width:100%;height:100%;object-fit:contain;padding:12px 24px 0}
.event-emoji{font-size:84px}
.status{position:absolute;top:14px;left:14px;font-size:.75rem;font-weight:800;padding:.4em .85em;border-radius:999px;background:#fff;box-shadow:var(--shadow-sm)}
.st-open{color:var(--green)}.st-open::before{content:"● "}
.st-upcoming{color:var(--orange)}.st-closed{color:var(--muted)}
.event-body{position:relative;padding:26px 26px 22px;flex:1;display:flex;flex-direction:column}
.event-date{position:absolute;top:-34px;right:22px;background:var(--c);color:#fff;border-radius:18px;padding:8px 14px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 24px -10px var(--c)}
.event-date .d{font:700 2rem/1 var(--display)}
.event-date .m{font:700 1rem/1 var(--display);text-transform:uppercase}
.event-date small{display:block;font:700 .66rem/1.3 var(--body);text-transform:none;opacity:.9}
.event h3{font-size:1.5rem;color:var(--purple-900);padding-right:110px}
.facts{list-style:none;padding:0;margin:6px 0 16px;display:grid;gap:10px}
.facts li{display:flex;gap:10px;font-size:.95rem}
.facts i{font-style:normal;flex:0 0 28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--tint);font-size:15px}
.event-foot{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted)}
.event-foot b{color:var(--red)}

/* ---------- steps ---------- */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.steps li{background:#fff;border-radius:var(--r);padding:24px 20px;box-shadow:var(--shadow-sm);position:relative}
.steps .n{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;font:700 1.3rem var(--display);color:#fff;background:linear-gradient(135deg,var(--magenta),var(--purple));margin-bottom:14px;transform:rotate(-6deg)}
.steps li:nth-child(2) .n{background:linear-gradient(135deg,var(--orange),var(--red))}
.steps li:nth-child(3) .n{background:linear-gradient(135deg,var(--sky),#246BFD)}
.steps li:nth-child(4) .n{background:linear-gradient(135deg,var(--yellow),var(--orange));color:var(--purple-900)}
.steps h4{font-size:1.15rem}
.steps p{margin:0;color:var(--muted);font-size:.94rem}

/* ---------- podium ---------- */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,220px));justify-content:center;align-items:end;gap:14px;margin:10px auto 28px}
.pod{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.pod .medal{font-size:46px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.15))}
.pod b{font-family:var(--display);font-size:1.15rem;color:var(--purple-900)}
.pod > span:not(.medal){font-size:.9rem;color:var(--muted);min-height:2.8em;padding:0 6px}
.pod .block{width:100%;margin-top:8px;border-radius:16px 16px 6px 6px;display:grid;place-items:center;font:700 2.4rem var(--display);color:#fff}
.p1 .block{height:150px;background:linear-gradient(180deg,#FFC93C,#FF8A00)}
.p2 .block{height:110px;background:linear-gradient(180deg,#B9A7D6,#7A33B8)}
.p3 .block{height:80px;background:linear-gradient(180deg,#FF9AC8,#E5197E)}

/* ---------- form ---------- */
.register-sec{background:linear-gradient(180deg,var(--bg),#FFF0F6 60%,var(--bg))}
.form-card{background:#fff;border-radius:32px;box-shadow:var(--shadow);border:1px solid var(--line);padding:34px;position:relative;overflow:hidden}
.form-card::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,var(--red),var(--magenta),var(--purple),var(--sky),var(--yellow))}
.form-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.form-head h2{font-size:1.9rem;color:var(--purple-900);margin:0}
.form-head p{margin:2px 0 0;color:var(--muted);font-size:.92rem}
.progress{height:6px;background:var(--tint);border-radius:9px;overflow:hidden;margin-bottom:22px}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--magenta),var(--red));border-radius:9px;transition:width .35s ease}
.fs{border:1.5px solid var(--line);border-radius:22px;padding:22px 20px 8px;margin:0 0 18px;min-width:0;background:#fff;transition:border-color .2s}
.fs:focus-within{border-color:#D9C4EE}
.fs legend{display:flex;align-items:center;gap:10px;font:600 1.15rem var(--display);color:var(--purple-900);padding:0 8px;width:auto}
.kid legend{width:calc(100% - 4px)}
.lg-n{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--purple);color:#fff;font-size:.95rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.field{display:block;margin-bottom:16px}
.field > span{display:block;font-weight:800;font-size:.9rem;margin-bottom:7px;color:#3B2E52}
.field > span small{font-weight:600;color:var(--muted)}
.field input[type=text],.field input[type=tel],.field select{width:100%;height:54px;border:1.5px solid #E4DCEC;border-radius:15px;padding:0 16px;font:600 1rem var(--body);color:var(--ink);background:#FCFAFE;transition:border-color .2s, box-shadow .2s, background .2s;appearance:none;-webkit-appearance:none}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235B1E8C' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field input:focus,.field select:focus{outline:none;border-color:var(--purple-500);background:#fff;box-shadow:0 0 0 4px rgba(122,51,184,.13)}
.field select:disabled{opacity:.6}
.phone{display:flex;align-items:stretch}
.phone em{font-style:normal;display:grid;place-items:center;padding:0 12px;border:1.5px solid #E4DCEC;border-right:0;border-radius:15px 0 0 15px;background:var(--tint);font-weight:800;color:var(--purple)}
.phone input{border-radius:0 15px 15px 0!important}
.hint{display:block;margin-top:6px;color:var(--muted);font-size:.8rem}
.hint.ok{color:var(--green);font-weight:700}
.hint.info{color:var(--purple);font-weight:700}
.f-err{color:var(--red);font-size:.83rem;font-weight:700;margin-top:6px}
.has-err input,.has-err select,.has-err .ages,.has-err .comp-pick{border-color:var(--red)!important}
.has-err .ages,.has-err .comp-pick{border:1.5px dashed;border-radius:14px;padding:6px}
.ages{display:grid;grid-template-columns:repeat(9,1fr);gap:8px}
.age input,.cpick input{position:absolute;opacity:0;pointer-events:none}
.age span{display:grid;place-items:center;height:48px;border-radius:14px;border:1.5px solid #E4DCEC;font:700 1.1rem var(--display);color:var(--purple-900);cursor:pointer;background:#FCFAFE;transition:all .15s}
.age:hover span{border-color:var(--purple-500)}
.age input:checked + span{background:var(--purple);border-color:var(--purple);color:#fff;transform:translateY(-2px);box-shadow:0 8px 16px -8px var(--purple)}
.age input:focus-visible + span{outline:3px solid rgba(122,51,184,.35)}
.comp-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cpick{position:relative;cursor:pointer}
.cpick-in{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;border:2px solid #EEE6F5;background:#fff;transition:all .18s}
.cpick:hover .cpick-in{border-color:color-mix(in srgb,var(--c) 55%, #fff)}
.cpick-ic{flex:0 0 48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:color-mix(in srgb,var(--c) 14%, #fff)}
.cpick-tx b{display:block;font-family:var(--display);font-size:1.05rem;color:var(--purple-900)}
.cpick-tx small{color:var(--muted);font-weight:700;font-size:.78rem}
.tick{margin-left:auto;width:26px;height:26px;border-radius:50%;border:2px solid #E4DCEC;display:grid;place-items:center;color:transparent;font-weight:900;font-size:.8rem;transition:all .15s}
.cpick input:checked + .cpick-in{border-color:var(--c);background:color-mix(in srgb,var(--c) 7%, #fff);box-shadow:0 10px 22px -14px var(--c)}
.cpick input:checked + .cpick-in .tick{background:var(--c);border-color:var(--c);color:#fff}
.cpick input:focus-visible + .cpick-in{outline:3px solid rgba(122,51,184,.35)}
.cpick.is-off{cursor:not-allowed;opacity:.5}
.add-kid{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;border-radius:20px;border:2px dashed #D9C4EE;background:#FCF8FF;color:var(--purple);font:700 1rem var(--body);cursor:pointer;margin-bottom:18px;transition:all .2s}
.add-kid span{font-size:1.4rem;line-height:1}
.add-kid small{color:var(--muted);font-weight:600}
.add-kid:hover{background:var(--tint);border-color:var(--purple-500)}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:#4A3F5E;margin:4px 0 16px;cursor:pointer}
.agree input{width:20px;height:20px;accent-color:var(--purple);flex:0 0 auto;margin-top:2px}
.notice{border-radius:16px;padding:14px 16px;margin-bottom:18px;font-size:.95rem}
.notice-info{background:#FFF6DD;border:1px solid #FFE3A0;color:#6B4B00}
.notice-err{background:#FFECEE;border:1px solid #FFC9CF;color:#9B0C18;font-weight:700}
form.is-disabled .fs,form.is-disabled .add-kid{opacity:.55}
#submitBtn .spin{display:none;width:18px;height:18px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
#submitBtn.loading .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- voucher / terms ---------- */
.voucher{display:flex;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:22px}
.v-left{flex:0 0 230px;background:linear-gradient(135deg,var(--red),var(--magenta));color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:center;position:relative}
.v-left::after{content:"";position:absolute;right:-12px;top:0;bottom:0;width:24px;background:radial-gradient(circle at 12px 12px,#fff 7px,transparent 8px) 0 0/24px 24px repeat-y}
.v-left small{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.72rem;opacity:.9}
.v-left b{font:700 2.4rem/1.1 var(--display)}
.v-left span{font-size:.85rem;opacity:.95}
.v-right{padding:22px 26px 22px 36px;display:flex;align-items:center}
.v-right p{margin:0;line-height:1.9;color:#43385A;font-weight:600}
.terms{background:#fff;border-radius:18px;border:1px solid var(--line);margin-bottom:12px;overflow:hidden}
.terms summary{cursor:pointer;padding:18px 22px;font:600 1.1rem var(--display);color:var(--purple-900);list-style:none;display:flex;justify-content:space-between;align-items:center}
.terms summary::-webkit-details-marker{display:none}
.terms summary::after{content:"+";font-size:1.5rem;color:var(--purple);transition:transform .2s}
.terms[open] summary::after{transform:rotate(45deg)}
.terms ol{margin:0;padding:0 26px 20px 46px;color:#4A3F5E;font-size:.93rem}
.terms ol li{margin-bottom:6px}
.faq{margin:0;padding:0 22px 18px}
.faq dt{font-weight:800;margin-top:10px}.faq dd{margin:4px 0 0;color:#4A3F5E}

/* ---------- footer / fab ---------- */
.foot{background:var(--purple-900);color:#D9CCEB;padding:30px 0 90px}
.foot-in{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.foot p{margin:0;font-size:.9rem}
.foot-link{margin-left:auto;color:#fff;font-weight:700;font-size:.85rem;opacity:.7}
.fab{position:fixed;left:16px;right:16px;bottom:14px;z-index:60;display:none;text-align:center;text-decoration:none;background:var(--red);color:#fff;font-weight:800;padding:16px;border-radius:999px;box-shadow:0 14px 30px -10px rgba(227,6,19,.7);transition:transform .25s, opacity .25s}
.fab.hide{transform:translateY(120%);opacity:0}

/* ---------- success page ---------- */
.success-hero{padding:56px 0 110px;text-align:center}
.burst{width:96px;height:96px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:48px;background:#fff;box-shadow:0 0 0 12px rgba(255,255,255,.15),0 0 0 26px rgba(255,255,255,.08);animation:pop .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
.success-hero h1{font-size:clamp(2rem,5vw,3.2rem)}
.success-hero p{opacity:.92;max-width:560px;margin:0 auto}
.ref{display:inline-block;margin-top:14px;background:rgba(255,255,255,.14);border:1px dashed rgba(255,255,255,.5);border-radius:12px;padding:6px 14px;font-weight:800;letter-spacing:.08em}
.tickets{display:grid;gap:18px;margin-top:-70px;position:relative}
.ticket{display:grid;grid-template-columns:1fr 240px;background:#fff;border-radius:24px;box-shadow:var(--shadow);overflow:hidden;border-top:6px solid var(--c)}
.t-main{padding:22px 24px}
.t-main h3{font-size:1.35rem;color:var(--purple-900);margin-bottom:2px}
.t-kid{font-weight:800;color:var(--c);font-size:.95rem}
.t-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:6px 26px;margin-top:14px;font-size:.88rem}
.t-meta small{display:block;color:var(--muted);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.t-meta b{font-size:.98rem}
.t-coupon{background:color-mix(in srgb,var(--c) 8%, #fff);border-left:2px dashed color-mix(in srgb,var(--c) 40%, #fff);padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:6px}
.t-coupon small{font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.code{font:700 1.4rem var(--display);letter-spacing:.08em;color:var(--purple-900);background:#fff;border:2px dashed var(--c);border-radius:12px;padding:6px 14px;cursor:pointer}
.t-coupon .note{font-size:.78rem;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:30px 0 10px}
.btn-ghost{--bg:#fff;color:var(--purple);box-shadow:var(--shadow-sm);border:1.5px solid var(--line)}
.btn-wa{--bg:#25D366}
.next-box{background:#fff;border-radius:22px;padding:22px 24px;box-shadow:var(--shadow-sm);margin-top:20px}
.next-box h4{font-size:1.15rem;color:var(--purple-900)}
.next-box ul{margin:0;padding-left:20px;color:#4A3F5E}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(150%);background:var(--purple-900);color:#fff;padding:12px 18px;border-radius:12px;font-weight:700;transition:transform .3s;z-index:99}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .hero-in{grid-template-columns:1fr;text-align:center}
  .hero-art{order:-1}.logo-halo{width:min(280px,70%)}.hero-kids{display:none}
  .lead{margin-inline:auto}.event-chips,.hero-cta{justify-content:center}
  .steps{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
}
@media (max-width: 640px){
  .hero{padding:28px 0 100px}
  .section{padding:52px 0}
  .form-card{padding:22px 16px;border-radius:26px}
  .form-head h2{font-size:1.5rem}
  .fs{padding:18px 14px 4px;border-radius:18px}
  .grid2,.comp-pick{grid-template-columns:1fr}
  .ages{grid-template-columns:repeat(5,1fr)}
  .steps{grid-template-columns:1fr}
  .podium{gap:8px}.pod b{font-size:.95rem}.pod > span:not(.medal){font-size:.78rem}.pod .medal{font-size:34px}
  .voucher{flex-direction:column}.v-left{flex:auto}.v-left::after{display:none}.v-right{padding:18px 20px}
  .ticket{grid-template-columns:1fr}.t-coupon{border-left:0;border-top:2px dashed color-mix(in srgb,var(--c) 40%, #fff)}
  .t-meta{grid-template-columns:1fr 1fr}
  .fab{display:block}
  .event h3{padding-right:0;margin-top:22px}
}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- test mode / duplicate ---------- */
.test-bar{background:repeating-linear-gradient(45deg,#FFC93C,#FFC93C 14px,#FFD866 14px,#FFD866 28px);color:#3A2400;text-align:center;font-size:.85rem;padding:7px 12px;font-weight:600;position:relative;z-index:51}
.hint.dup{color:var(--red);font-weight:800}
.hint.dup a{color:var(--red)}
.phone.is-dup em,.phone.is-dup input{border-color:var(--red)!important;background:#FFF5F6}
.phone.checking input{background-image:linear-gradient(90deg,transparent,rgba(122,51,184,.08),transparent);background-size:200% 100%;animation:shimmer 1s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}
