body.page-summer-register,
body.page-summer-thanks{
    font-family:"Inter",sans-serif;
    color:#1f2937;
    background:#fff;
    overflow-x:hidden;
}

body.page-summer-register .demo-register-hero{
    background:linear-gradient(135deg,#0c3fd7 0%,#125bdc 55%,#168bb5 100%);
}

body.page-summer-register .demo-register-hero::after{
    background:#fff;
}

body.page-summer-register .summer-register-kicker{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    margin-bottom:16px;
    padding:6px 12px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

body.page-summer-register .demo-register-grid{
    align-items:start;
}

body.page-summer-register .demo-register-card{
    font-family:"Inter",sans-serif;
}

body.page-summer-register .demo-form-progress button.is-active span,
body.page-summer-register .demo-form-progress button.is-complete span{
    border-color:#0c3fd7;
    background:#0c3fd7;
}

body.page-summer-register .demo-input:focus,
body.page-summer-register .demo-select:focus,
body.page-summer-register .demo-date-display:focus{
    border-color:#0c3fd7;
    box-shadow:0 0 0 4px rgba(12,63,215,.10);
}

body.page-summer-register .demo-consent input{
    accent-color:#0c3fd7;
}

body.page-summer-register .demo-submit{
    background:linear-gradient(135deg,#0c3fd7 0%,#1769df 100%);
    box-shadow:0 8px 20px rgba(12,63,215,.20);
}

body.page-summer-register .demo-submit:hover{
    box-shadow:0 10px 25px rgba(12,63,215,.28);
}

#summerRegisterForm.is-enhanced .demo-form-step{
    display:none;
}

#summerRegisterForm.is-enhanced .demo-form-step.is-active{
    display:block;
    animation:demoStepFade .2s ease;
}

body.page-summer-register .summer-week-form-group{
    align-items:start;
}

body.page-summer-register .summer-week-groups{
    width:100%;
}

body.page-summer-register .summer-week-group[hidden]{
    display:none!important;
}

body.page-summer-register .summer-week-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

body.page-summer-register .summer-week-card{
    position:relative;
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:11px;
    min-width:0;
    min-height:108px;
    padding:15px;
    border:2px solid #e5e7eb;
    border-radius:12px;
    background:#f9fafb;
    cursor:pointer;
    transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}

body.page-summer-register .summer-week-card:hover:not(.is-full){
    border-color:#9eb5f7;
    background:#fff;
    box-shadow:0 8px 20px rgba(12,63,215,.08);
    transform:translateY(-1px);
}

body.page-summer-register .summer-week-card:has(input:checked){
    border-color:#0c3fd7;
    background:#f2f6ff;
    box-shadow:0 0 0 3px rgba(12,63,215,.07);
}

body.page-summer-register .summer-week-card.is-full{
    opacity:.55;
    cursor:not-allowed;
}

body.page-summer-register .summer-week-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

body.page-summer-register .summer-week-check{
    position:relative;
    width:21px;
    height:21px;
    margin-top:1px;
    border:2px solid #b8c1cf;
    border-radius:6px;
    background:#fff;
}

body.page-summer-register .summer-week-card:has(input:checked) .summer-week-check{
    border-color:#0c3fd7;
    background:#0c3fd7;
}

body.page-summer-register .summer-week-card:has(input:checked) .summer-week-check::after{
    content:"";
    position:absolute;
    left:6px;
    top:2px;
    width:5px;
    height:10px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}

body.page-summer-register .summer-week-content{
    display:grid;
    align-content:start;
    gap:6px;
    min-width:0;
}

body.page-summer-register .summer-week-content strong{
    color:#1f2937;
    font-size:.92rem;
    line-height:1.4;
}

body.page-summer-register .summer-week-content small{
    color:#6b7280;
    font-size:.78rem;
    line-height:1.4;
}

body.page-summer-register .summer-week-spots{
    width:fit-content;
    max-width:100%;
    padding:4px 8px;
    border-radius:999px;
    background:#e9f8e2;
    color:#397418;
    font-size:.72rem;
    font-weight:800;
    line-height:1.25;
}

body.page-summer-register .summer-week-spots.is-full{
    background:#eef0f3;
    color:#7b8493;
}

body.page-summer-register .summer-weeks-empty{
    padding:16px;
    border:1px dashed #cbd5e1;
    border-radius:12px;
    background:#f8fafc;
    color:#64748b;
    font-size:.88rem;
    line-height:1.5;
}

body.page-summer-register .summer-review{
    margin-bottom:22px;
}

body.page-summer-register .summer-register-info{
    color:#1f2937;
}

body.page-summer-register .summer-register-info__icon{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    margin-bottom:18px;
    border-radius:16px;
    background:#eef4ff;
    font-size:1.65rem;
}

body.page-summer-register .summer-register-info__points{
    display:grid;
    gap:12px;
    margin-top:24px;
}

body.page-summer-register .summer-register-info__points span{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    align-items:center;
    color:#667085;
    font-size:.9rem;
    line-height:1.5;
}

body.page-summer-register .summer-register-info__points b{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:#0c3fd7;
    color:#fff;
    font-size:.78rem;
}

body.page-summer-register .summer-register-empty{
    display:grid;
    justify-items:start;
    gap:12px;
    padding:8px 0;
}

body.page-summer-register .summer-register-empty>span{
    font-size:2rem;
}

body.page-summer-register .summer-register-empty h2,
body.page-summer-register .summer-register-empty p{
    margin:0;
}

/* Thank-you page keeps the same Logikids typography and safe page gutters. */
body.page-summer-thanks{
    background:#f6f8fc;
}

body.page-summer-thanks .container{
    width:min(100% - 40px,980px);
    margin:0 auto;
}

body.page-summer-thanks .summer-thanks{
    padding:160px 0 90px;
}

body.page-summer-thanks .summer-thanks__card{
    padding:clamp(26px,5vw,54px);
    border:1px solid #e6eaf2;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 50px rgba(25,40,82,.08);
    text-align:center;
}

body.page-summer-thanks .summer-thanks__mark{
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    margin:0 auto 18px;
    border-radius:50%;
    background:#e9f8e2;
    color:#367a10;
    font-size:1.8rem;
    font-weight:900;
}

body.page-summer-thanks .summer-thanks__eyebrow{
    display:inline-flex;
    padding:6px 11px;
    border-radius:999px;
    background:#eef4ff;
    color:#0c3fd7;
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

body.page-summer-thanks h1{
    margin:16px 0 10px;
    color:#17233f;
    font-size:clamp(2rem,5vw,3.2rem);
}

body.page-summer-thanks .summer-thanks__card>p{
    max-width:680px;
    margin:0 auto;
    color:#667085;
    line-height:1.7;
}

body.page-summer-thanks .summer-thanks__details{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:28px 0 0;
    text-align:left;
}

body.page-summer-thanks .summer-thanks__details div,
body.page-summer-thanks .summer-thanks__weeks{
    padding:14px 16px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#f9fafb;
}

body.page-summer-thanks .summer-thanks__details span{
    display:block;
    margin-bottom:5px;
    color:#6b7280;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

body.page-summer-thanks .summer-thanks__weeks{
    margin-top:12px;
    text-align:left;
}

body.page-summer-thanks .summer-thanks__weeks h2{
    margin:0 0 10px;
    font-size:1rem;
}

body.page-summer-thanks .summer-thanks__weeks ul{
    margin:0;
    padding-left:20px;
    color:#5f6b7e;
}

body.page-summer-thanks .summer-thanks__actions{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}

body.page-summer-thanks .summer-thanks__primary,
body.page-summer-thanks .summer-thanks__secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 20px;
    border-radius:12px;
    font-weight:700;
    text-decoration:none;
}

body.page-summer-thanks .summer-thanks__primary{
    background:#0c3fd7;
    color:#fff;
}

body.page-summer-thanks .summer-thanks__secondary{
    border:1px solid #d7deeb;
    background:#fff;
    color:#344054;
}

@media(max-width:768px){
    body.page-summer-register .summer-week-grid{
        grid-template-columns:1fr;
    }

    body.page-summer-register .summer-register-info{
        margin-top:0;
        padding:10px 6px 0;
        text-align:left;
    }

    body.page-summer-thanks .container{
        width:min(100% - 28px,980px);
    }

    body.page-summer-thanks .summer-thanks__details{
        grid-template-columns:1fr;
    }
}

@media(max-width:520px){
    body.page-summer-register .demo-form-progress{
        gap:6px;
    }

    body.page-summer-register .demo-form-progress i{
        width:22px;
    }

    body.page-summer-register .demo-form-progress button strong{
        display:none;
    }

    body.page-summer-register .summer-week-card{
        min-height:96px;
    }
}
