/* ==================== SICUREZZA KIDS ==================== */
@font-face{font-family:Fredoka;font-weight:600;font-display:swap;src:url(fredoka-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Fredoka;font-weight:700;font-display:swap;src:url(fredoka-latin-700-normal.woff2) format("woff2")}
.kids{--kn:#16306E;--kr:#FF5252;--ky:#FFC928;--kg:#2FB86A;--kb:#3E98E6;--kc:#FFF9EC;--km:#5A6A92;font-family:Fredoka,var(--body);color:var(--kn)}
.kids h1,.kids h2,.kids h3{font-family:Fredoka,var(--display);font-weight:700;letter-spacing:0;color:var(--kn)}
.kids p{color:var(--km);font-weight:600}
.kids section{padding:64px 0}
.k-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.k-lead{font-size:1.15rem;max-width:62ch}
.k-btn{display:inline-flex;align-items:center;gap:10px;font-family:Fredoka;font-weight:700;font-size:1.15rem;color:#fff;background:var(--kr);border:4px solid var(--kn);border-radius:40px;padding:12px 26px;box-shadow:0 6px 0 var(--kn);cursor:pointer;transition:transform .1s,box-shadow .1s;text-decoration:none}
.k-btn:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--kn)}
.k-btn:active{transform:translateY(6px);box-shadow:0 0 0 var(--kn)}
.k-btn.white{background:#fff;color:var(--kn)}
.k-btn.green{background:var(--kg)}
.k-btn.yt{background:#E62117}
.k-btn[disabled]{opacity:.45;pointer-events:none}
.k-card{background:var(--kc);border:4px solid var(--kn);border-radius:26px;box-shadow:0 6px 0 var(--kn);padding:24px}
.k-chip{display:inline-block;background:var(--ky);border:3px solid var(--kn);border-radius:30px;padding:4px 16px;font-weight:700;font-size:1rem;box-shadow:0 4px 0 var(--kn)}

/* hero */
.k-hero{background:radial-gradient(ellipse at 50% 20%,#9BDCFF,#3E98E6 75%);position:relative;overflow:hidden;padding:56px 0 150px!important}
.k-hero:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-70px;height:170px;background:#64C93F;border-top:6px solid var(--kn);border-radius:50% 50% 0 0}
.k-hero .k-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;position:relative;z-index:1}
.k-hero h1{color:#fff;font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:1.02;margin:14px 0 16px;-webkit-text-stroke:2px var(--kn);paint-order:stroke fill;text-shadow:0 5px 0 var(--kn)}
.k-hero p{color:#fff;font-size:1.2rem;text-shadow:0 1px 2px rgba(0,0,0,.25);max-width:540px}
.k-hero .art{position:relative;height:440px}
.k-hero .art .logo-k{position:absolute;left:0;top:0;width:240px;animation:kfloat 4s ease-in-out infinite}
.k-hero .art .pp{position:absolute;right:0;bottom:-40px;width:260px}
.k-hero .cloud{position:absolute;background:#fff;border-radius:60px;opacity:.9;z-index:0}
.k-hero .cloud:before,.k-hero .cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}
.k-hero .c1{width:150px;height:46px;top:60px;left:6%}.k-hero .c1:before{width:70px;height:70px;top:-34px;left:22px}.k-hero .c1:after{width:50px;height:50px;top:-22px;left:76px}
.k-hero .c2{width:120px;height:38px;top:120px;right:8%}.k-hero .c2:before{width:56px;height:56px;top:-28px;left:16px}.k-hero .c2:after{width:40px;height:40px;top:-18px;left:62px}
@keyframes kfloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
.k-hero .btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

/* welcome bubble */
.k-welcome{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.k-welcome img{width:150px}
.k-bubble{position:relative;background:#fff;border:4px solid var(--kn);border-radius:28px;padding:24px 28px;box-shadow:0 6px 0 var(--kn)}
.k-bubble:before{content:"";position:absolute;left:-22px;top:46px;border:14px solid transparent;border-right:22px solid var(--kn);border-left:0}
.k-bubble p{font-size:1.15rem;margin:0 0 10px}
.k-bubble p:last-child{margin:0}

/* episodes */
.k-eps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.k-ep{padding:0;overflow:hidden;display:flex;flex-direction:column}
.k-ep .thumb{aspect-ratio:16/9;background:#BFE8FF center/cover;position:relative;border-bottom:4px solid var(--kn);display:flex;align-items:center;justify-content:center}
.k-ep .thumb .play{width:70px;height:70px;border-radius:50%;background:var(--kr);border:4px solid #fff;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.k-ep .thumb .num{position:absolute;left:12px;top:12px;background:var(--ky);border:3px solid var(--kn);border-radius:14px;padding:2px 12px;font-weight:700}
.k-ep .body{padding:16px 18px 20px}
.k-ep h3{margin:0 0 4px;font-size:1.3rem}
.k-ep p{margin:0 0 12px;font-size:1rem}
.k-ep.soon .thumb{background:repeating-linear-gradient(45deg,#E6F4FF,#E6F4FF 16px,#D6ECFF 16px,#D6ECFF 32px)}
.k-ep.soon .thumb .lock{font-size:3rem}
.k-ep.soon{opacity:.75}

/* patentini */
.k-pat{background:#BFE8FF}
.k-privacy{display:flex;gap:16px;align-items:flex-start;background:#fff;border:4px solid var(--kg);border-radius:22px;padding:18px 22px;margin:26px 0}
.k-privacy .ic{font-size:2rem;line-height:1}
.k-privacy p{margin:0;color:var(--kn)}
.k-pat-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}
.k-form label{display:block;font-weight:700;margin:14px 0 6px}
.k-form input[type=text],.k-form select{width:100%;font-family:Fredoka;font-size:1.15rem;padding:12px 16px;border:3px solid var(--kn);border-radius:16px;background:#fff;color:var(--kn)}
.k-photo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.k-photo .prev{width:72px;height:88px;border:3px dashed var(--kn);border-radius:12px;background:#fff center/cover;display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.k-form .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.k-small{font-size:.92rem!important}
.k-path{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0 18px}
.k-path div{aspect-ratio:1;border-radius:50%;border:4px dashed #9AA6C6;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.4rem;color:#9AA6C6}
.k-path div.ok{border:4px solid var(--kn);background:var(--kg);color:#fff}
.k-diploma{background:linear-gradient(135deg,#FFF3C4,#FFE07A);text-align:center}
.k-diploma .medal{font-size:3.4rem;line-height:1}
.k-bar{height:22px;border:3px solid var(--kn);border-radius:20px;background:#fff;overflow:hidden;margin:12px 0 6px}
.k-bar i{display:block;height:100%;background:var(--kg)}

/* giochi */
.k-games{display:grid;grid-template-columns:1fr;gap:26px}
.k-game h3{font-size:1.6rem;margin:0 0 4px}
.k-q{font-size:clamp(1.3rem,2.6vw,1.8rem);font-weight:700;margin:16px 0;min-height:2.4em}
.k-ans{display:flex;gap:14px;flex-wrap:wrap}
.k-feedback{margin-top:16px;font-size:1.2rem;font-weight:700;min-height:1.5em}
.k-score{float:right;font-weight:700}
.k-mem{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px;max-width:760px}
.k-mem button{aspect-ratio:3/4;border:4px solid var(--kn);border-radius:18px;background:var(--kb);cursor:pointer;font-family:Fredoka;color:var(--kn);position:relative;box-shadow:0 4px 0 var(--kn);padding:4px}
.k-mem button .f{display:none;flex-direction:column;align-items:center;justify-content:center;height:100%}
.k-mem button .f b{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1}
.k-mem button .f small{font-size:.8rem;font-weight:700}
.k-mem button .bk{font-size:2rem;color:#fff;font-weight:700}
.k-mem button.open{background:#fff}
.k-mem button.open .f{display:flex}.k-mem button.open .bk{display:none}
.k-mem button.done{background:#DDF6E6;border-color:var(--kg)}
.k-words{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}
.k-words button{font-family:Fredoka;font-weight:700;font-size:1.6rem;color:#fff;border:4px solid var(--kn);border-radius:20px;padding:10px 26px;box-shadow:0 5px 0 var(--kn);cursor:pointer}
.k-words button.used{opacity:.3;pointer-events:none}
.k-slots{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;min-height:64px}
.k-slots span{font-weight:700;font-size:1.6rem;border:4px dashed #9AA6C6;border-radius:20px;padding:8px 22px;min-width:120px;text-align:center;background:#fff}
.k-parents{background:var(--kc);border-top:4px solid var(--kn)}

/* coriandoli */
.k-conf{position:fixed;top:-20px;width:14px;height:9px;border-radius:2px;z-index:999;pointer-events:none;animation:kfall linear forwards}
@keyframes kfall{to{transform:translateY(110vh) rotate(720deg)}}


@media(max-width:900px){
 .k-hero .k-wrap,.k-pat-grid,.k-welcome{grid-template-columns:1fr}
 .k-hero .art{height:300px;order:-1}
 .k-hero .art .logo-k{width:180px;left:4%}
 .k-hero .art .pp{width:170px;right:6%;bottom:-30px}
 .k-welcome img{width:110px;margin:0 auto}
 .k-bubble:before{display:none}
 .k-eps{grid-template-columns:1fr}
 .k-mem{grid-template-columns:repeat(4,1fr)}
}

/* ==================== STAMPA PATENTINO ==================== */
#k-print{display:none}
@media print{
 @page{size:A4;margin:0}
 body>*:not(#k-print){display:none!important}
 html,body{background:#fff!important}
 #k-print{display:block!important;width:210mm;height:297mm;position:relative;font-family:Fredoka;color:#16306E;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
#k-print .pp-hint{position:absolute;left:0;right:0;text-align:center;font-size:11pt;font-weight:600;color:#7A86A8}
#k-print .pp-cut{position:absolute;left:15mm;width:180mm;height:118mm;border:.6mm dashed #9AA6C6;border-radius:6mm}
#k-print .pp-card{position:absolute;inset:3mm;border:1.6mm solid #16306E;border-radius:5mm;overflow:hidden;background:#FFF9EC}
#k-print .pp-hd{height:17mm;background:#FF5252;border-bottom:1.4mm solid #16306E;color:#fff;font-weight:700;font-size:21pt;display:flex;align-items:center;justify-content:center;-webkit-text-stroke:.5mm #16306E;paint-order:stroke fill}
#k-print .pp-ph{position:absolute;left:8mm;top:24mm;width:40mm;height:50mm;border:1mm dashed #16306E;border-radius:3mm;background:#fff center/cover;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9.5pt;color:#7A86A8;padding:3mm}
#k-print .pp-lbl{font-size:10pt;color:#5A6A92;font-weight:600}
#k-print .pp-val{border-bottom:.5mm solid #16306E;min-height:10mm;font-size:20pt;font-weight:700;line-height:10mm}
#k-print .pp-rule{position:absolute;left:8mm;right:8mm;bottom:5mm;background:#fff;border:.8mm solid #16306E;border-radius:4mm;padding:2.5mm 4mm;font-size:10.5pt;font-weight:600}
#k-print .pp-stamp{position:absolute;right:7mm;top:27mm;width:34mm;height:34mm;border-radius:50%;background:#2FB86A;border:1.2mm solid #16306E;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);text-align:center;font-weight:700;font-size:9pt;line-height:1.1}
#k-print .pp-stamp b{font-size:24pt}
