/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* ==========================================================================
   Het "vel": de save-the-date als pagina. Bovenaan de boomkruinen met de
   lichtslinger, onderaan het erf met de dieren; de inhoud groeit ertussen.
   ========================================================================== */

.skip-link[b-ducd2atry9] {
    position: absolute;
    top: 1rem;
    translate: 0 -200%;
    left: 1rem;
    z-index: 100;
    padding: .6rem 1rem;
    border-radius: 999px;
    background: var(--paper);
    color: var(--terracotta);
    box-shadow: var(--shadow-soft);
    transition: top .2s;
}

.skip-link:focus[b-ducd2atry9] {
    translate: 0 0;
}

/* Wazige versie van de illustratie achter het vel (alleen zichtbaar op brede schermen) */
.backdrop[b-ducd2atry9] {
    position: fixed;
    inset: 0;
    z-index: -1;
    background: url("../img/boerderij-waas.webp") center / cover no-repeat, var(--cream);
}

.backdrop[b-ducd2atry9]::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at center, rgb(248 241 226 / .15), rgb(248 241 226 / .6) 75%),
        var(--grain);
    background-size: auto, 220px;
}

.sheet[b-ducd2atry9] {
    --sheet-w: min(100vw, var(--sheet-max), max(680px, 105svh));
    position: relative;
    width: var(--sheet-w);
    min-height: 100svh;
    margin-inline: auto;
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    isolation: isolate;
    background:
        linear-gradient(180deg, #e9ece8 0, #f2efe6 18%, #f6f1e5 32%, #f8f1e2 60%, #f8f1e1 100%);
    overflow: clip;
}

/* papierkorrel over alles heen */
.sheet[b-ducd2atry9]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    background: var(--grain);
    background-size: 220px;
    opacity: .13;
    mix-blend-mode: multiply;
    pointer-events: none;
}

@media (min-width: 700px) {
    .sheet[b-ducd2atry9] {
        /* zachte randen, zodat het vel in de achtergrond overloopt */
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 2.5%, #000 97.5%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 2.5%, #000 97.5%, transparent 100%);
    }
}

/* ---------- Illustratie ---------- */

/* Breedte van de illustratie: de volle breedte van het vel, maar op kleine schermen
   iets groter (en aan de zijkanten bijgesneden), zodat de dieren niet te klein worden. */
.sheet > *[b-ducd2atry9] {
    --art-w: max(100cqw, 600px);
}

.art[b-ducd2atry9] {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 0;
    pointer-events: none;
    background-image: url("../img/boerderij.webp");
    background-repeat: no-repeat;
    background-size: var(--art-w) auto;
}

.art-top[b-ducd2atry9] {
    top: 0;
    height: calc(640 / 1024 * var(--art-w));
    background-position: top center;
    -webkit-mask-image: linear-gradient(180deg, #000 52%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 52%, transparent 100%);
}

.art-bottom[b-ducd2atry9] {
    bottom: 0;
    height: calc(700 / 1024 * var(--art-w));
    background-position: bottom center;
    -webkit-mask-image: linear-gradient(0deg, #000 60%, transparent 100%);
    mask-image: linear-gradient(0deg, #000 60%, transparent 100%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

/* Gloeiende lampjes in de slinger */
.bulb[b-ducd2atry9] {
    position: absolute;
    left: calc(50% + (var(--x) / 1024 - .5) * var(--art-w));
    top: calc(var(--y) / 1024 * var(--art-w));
    width: calc(var(--art-w) * .07);
    aspect-ratio: 1;
    translate: -50% -50%;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(255 240 190 / .95) 0 7%, rgb(255 215 125 / .5) 20%, rgb(255 205 110 / .18) 42%, transparent 66%);
    mix-blend-mode: screen;
    animation: glow-b-ducd2atry9 4.2s ease-in-out var(--d) infinite alternate;
}

@keyframes glow-b-ducd2atry9 {
    0% { opacity: .55; scale: .9; }
    45% { opacity: 1; scale: 1.05; }
    55% { opacity: .82; scale: 1; }
    100% { opacity: 1; scale: 1.12; }
}

/* ---------- Navigatie ---------- */

.site-header[b-ducd2atry9] {
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    padding: max(.9rem, 2cqw) 1rem 0;
}

.site-nav[b-ducd2atry9] {
    display: flex;
    gap: .15rem;
    padding: .3rem;
    border-radius: 999px;
    background: rgb(251 247 238 / .66);
    border: 1px solid rgb(255 255 255 / .7);
    box-shadow: 0 10px 30px -18px rgb(74 71 51 / .5);
    backdrop-filter: blur(10px) saturate(1.2);
    -webkit-backdrop-filter: blur(10px) saturate(1.2);
}

.site-nav[b-ducd2atry9]  a {
    position: relative;
    padding: .5rem 1.05rem;
    border-radius: 999px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ink);
    transition: background-color .25s, color .25s;
    white-space: nowrap;
}

.site-nav[b-ducd2atry9]  a:hover {
    color: var(--terracotta);
    background: rgb(255 255 255 / .55);
}

.site-nav[b-ducd2atry9]  a.active {
    color: var(--paper);
    background: var(--terracotta);
    box-shadow: 0 6px 14px -8px rgb(138 71 36 / .8);
}

@media (max-width: 380px) {
    .site-nav[b-ducd2atry9]  a {
        padding-inline: .75rem;
        letter-spacing: .16em;
    }
}

/* ---------- Inhoud ---------- */

.sheet-body[b-ducd2atry9] {
    position: relative;
    z-index: 2;
    flex: 1;
    width: 100%;
    max-width: calc(var(--content-max) + 4rem);
    margin-inline: auto;
    padding: calc(var(--art-w) * .21) clamp(1.1rem, 5cqw, 2rem) calc(var(--art-w) * .56);
}

/* De homepagina volgt de opbouw van de kaart precies */
.sheet:has(.home-hero) .sheet-body[b-ducd2atry9] {
    max-width: none;
    padding-top: calc(var(--art-w) * .29);
}

/* ---------- Voet ---------- */

.footer-note[b-ducd2atry9] {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 0 0 max(1.1rem, 2.4cqw);
    padding: .45rem 1.2rem;
    border-radius: 999px;
    background: rgb(251 247 238 / .6);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .75rem;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--ink);
}

.footer-note[b-ducd2atry9]  .icon {
    width: .9rem;
    height: .9rem;
    color: var(--terracotta);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-pdeitri9y6],
.components-reconnect-repeated-attempt-visible[b-pdeitri9y6],
.components-reconnect-failed-visible[b-pdeitri9y6],
.components-pause-visible[b-pdeitri9y6],
.components-resume-failed-visible[b-pdeitri9y6],
.components-rejoining-animation[b-pdeitri9y6] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-retrying[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-failed[b-pdeitri9y6],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-pdeitri9y6] {
    display: block;
}


#components-reconnect-modal[b-pdeitri9y6] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-pdeitri9y6 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-pdeitri9y6 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-pdeitri9y6 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-pdeitri9y6]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-pdeitri9y6 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-pdeitri9y6 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-pdeitri9y6 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-pdeitri9y6 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-pdeitri9y6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-pdeitri9y6] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-pdeitri9y6] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-pdeitri9y6] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-pdeitri9y6] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-pdeitri9y6] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-pdeitri9y6] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-pdeitri9y6 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-pdeitri9y6] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-pdeitri9y6 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Admin/InvitationEdit.razor.rz.scp.css */
.back-link[b-hl9kt5sbx3] {
    text-decoration: none;
}

.back-link:hover[b-hl9kt5sbx3] {
    color: var(--terracotta);
}

.title-badge[b-hl9kt5sbx3] {
    font-size: .95rem;
    padding: .3rem .9rem;
}

.edit-layout[b-hl9kt5sbx3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 1.2rem;
    align-items: start;
}

.edit-side[b-hl9kt5sbx3] {
    display: grid;
    gap: 1.2rem;
    position: sticky;
    top: 1.2rem;
}

@media (max-width: 900px) {
    .edit-layout[b-hl9kt5sbx3] {
        grid-template-columns: 1fr;
    }

    .edit-side[b-hl9kt5sbx3] {
        position: static;
    }
}

.response-hint[b-hl9kt5sbx3] {
    margin-top: -.4rem;
    font-style: italic;
}

.code-card[b-hl9kt5sbx3] {
    display: grid;
    gap: .35rem;
}

.code-big[b-hl9kt5sbx3] {
    font-size: 1.9rem;
    color: var(--terracotta);
    margin-bottom: .8rem;
}

.link-text[b-hl9kt5sbx3] {
    font-size: .9rem;
    color: var(--ink-soft);
    word-break: break-all;
}

.code-actions[b-hl9kt5sbx3] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .6rem;
}

.code-note[b-hl9kt5sbx3] {
    margin: .6rem 0 0;
    font-size: .88rem;
    font-style: italic;
}

.danger-zone[b-hl9kt5sbx3] {
    display: grid;
    gap: .7rem;
    justify-items: start;
}

.danger-zone form[b-hl9kt5sbx3] {
    margin: 0;
}
/* /Components/Pages/Admin/Login.razor.rz.scp.css */
.login-card[b-rib9h582hi] {
    display: grid;
    justify-items: stretch;
    max-width: 26rem;
    margin: 0 auto;
    padding-top: 2.6rem;
}

.login-card[b-rib9h582hi]  .login-icon {
    justify-self: center;
    width: 3rem;
    height: 3rem;
    color: var(--terracotta);
    margin-bottom: 1rem;
}

.login-card[b-rib9h582hi]  .btn {
    width: 100%;
}
/* /Components/Pages/Admin/Settings.razor.rz.scp.css */
.settings-card[b-e463q9ptmj] {
    max-width: 42rem;
}

.deadline-status[b-e463q9ptmj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
}

.settings-card[b-e463q9ptmj]  input[type=datetime-local] {
    max-width: 18rem;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ---------- Hero: dezelfde opbouw als de save-the-date ---------- */

.home-hero[b-yrac7wmy2p] {
    position: relative;
    display: grid;
    justify-items: center;
    text-align: center;
    max-width: 100%;
    margin-inline: auto;
}

.greeting[b-yrac7wmy2p] {
    margin: 0 0 .4rem;
    font-family: var(--font-script);
    font-size: max(2rem, 4.8cqw);
    line-height: 1;
    color: var(--terracotta);
}

.hero-kicker[b-yrac7wmy2p] {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: max(1rem, 3.6cqw);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--ink);
    /* compenseert letter-spacing aan het eind */
    padding-left: .24em;
}

.hero-names[b-yrac7wmy2p] {
    width: min(92%, 71cqw);
    margin: max(.6rem, 1.4cqw) 0 0;
    min-width: 17rem;
}

.home-hero[b-yrac7wmy2p]  .hero-divider {
    width: min(80%, 40cqw);
    margin: max(.2rem, .4cqw) auto max(.8rem, 1.6cqw);
    --i: 2;
}

.home-hero[b-yrac7wmy2p]  .hero-divider .icon {
    width: max(1.3rem, 3cqw);
    height: max(1.3rem, 3cqw);
}

.hero-date[b-yrac7wmy2p] {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: max(1.35rem, 4.2cqw);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ink);
    padding-left: .16em;
}

.hero-facts[b-yrac7wmy2p] {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: center;
    list-style: none;
    margin: max(1.2rem, 3cqw) 0 0;
    padding: 0;
}

.hero-facts li[b-yrac7wmy2p] {
    display: grid;
    justify-items: center;
    align-content: start;
    gap: max(.6rem, 1.3cqw);
    padding: 0 max(.8rem, 3.2cqw);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: max(.72rem, 1.75cqw);
    letter-spacing: .12em;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--ink);
}

.hero-facts li + li[b-yrac7wmy2p] {
    border-left: 1px solid rgb(168 93 52 / .7);
}

.hero-facts[b-yrac7wmy2p]  .icon {
    width: max(2.4rem, 6.5cqw);
    height: max(2.4rem, 6.5cqw);
    color: var(--terracotta);
}

.hero-actions[b-yrac7wmy2p] {
    display: grid;
    justify-items: center;
    gap: .7rem;
    margin-top: max(2rem, 4.5cqw);
}

.hero-deadline[b-yrac7wmy2p] {
    margin: 0;
    font-style: italic;
    color: var(--ink-soft);
}

/* ---------- Aftellen ---------- */

.home-countdown[b-yrac7wmy2p] {
    display: grid;
    gap: 1.1rem;
    justify-items: center;
    text-align: center;
    margin: clamp(3.5rem, 8cqw, 5.5rem) auto 0;
}

/* ---------- Brief ---------- */

.home-letter[b-yrac7wmy2p] {
    max-width: var(--content-max);
    margin: clamp(3rem, 7cqw, 5rem) auto 0;
    padding: clamp(2rem, 1.2rem + 4vw, 3.5rem);
    padding-top: clamp(2.6rem, 1.6rem + 4vw, 3.8rem);
    font-size: 1.08em;
}

.home-letter[b-yrac7wmy2p]  .letter-daisy {
    position: absolute;
    top: -1.6rem;
    right: clamp(1.2rem, 5%, 2.5rem);
    width: 3.4rem;
    height: 3.4rem;
    rotate: 12deg;
    filter: drop-shadow(0 4px 6px rgb(74 71 51 / .18));
}

.letter-title[b-yrac7wmy2p] {
    font-size: clamp(2.6rem, 2rem + 2.6vw, 3.6rem);
    margin: 0 0 1.2rem;
    line-height: 1.05;
}

.letter-sign[b-yrac7wmy2p] {
    display: grid;
    justify-items: end;
    margin-top: 1.6rem;
}

.letter-love[b-yrac7wmy2p] {
    font-style: italic;
    color: var(--ink-soft);
    margin-right: 10rem;
}

.letter-sign[b-yrac7wmy2p]  .names {
    width: 12rem;
    margin-top: -.4rem;
}

@media (max-width: 520px) {
    .hero-actions .btn[b-yrac7wmy2p] {
        width: min(100%, 20rem);
    }
}

/* ---------- Tegels ---------- */

.home-tiles[b-yrac7wmy2p] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 1rem;
    max-width: var(--content-max);
    margin: 2rem auto 0;
}

.tile[b-yrac7wmy2p] {
    display: grid;
    justify-items: center;
    gap: .35rem;
    padding: 1.6rem 1.2rem;
    text-align: center;
    text-decoration: none;
    color: var(--ink);
    border-radius: var(--radius);
    background: rgb(255 253 247 / .55);
    border: 1px solid var(--line-soft);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out), background-color .3s;
}

.tile:hover[b-yrac7wmy2p] {
    color: var(--ink);
    transform: translateY(-4px);
    background: rgb(255 253 247 / .85);
    box-shadow: var(--shadow-lift);
}

.tile[b-yrac7wmy2p]  .icon {
    width: 2.6rem;
    height: 2.6rem;
    color: var(--terracotta);
    margin-bottom: .3rem;
}

.tile-title[b-yrac7wmy2p] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .88rem;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.tile-text[b-yrac7wmy2p] {
    font-style: italic;
    color: var(--ink-soft);
}

@media (max-width: 600px) {
    .home-tiles[b-yrac7wmy2p] {
        gap: .7rem;
    }

    .tile[b-yrac7wmy2p] {
        grid-template-columns: auto 1fr;
        justify-items: start;
        align-items: center;
        column-gap: 1.1rem;
        row-gap: .1rem;
        padding: 1rem 1.3rem;
        text-align: left;
    }

    .tile[b-yrac7wmy2p]  .icon {
        grid-row: span 2;
        margin: 0;
        width: 2.2rem;
        height: 2.2rem;
    }
}

/* ---------- Vlinders rond de namen ---------- */

.butterflies[b-yrac7wmy2p] {
    position: absolute;
    inset: -4rem 0 0;
    pointer-events: none;
    z-index: 1;
}

.butterflies[b-yrac7wmy2p]  .butterfly-1 {
    top: 0;
    left: 0;
    offset-path: path("M 40 260 C 140 120, 260 80, 330 170 S 520 330, 640 180 S 820 40, 900 160 S 700 420, 460 360 S 60 420, 40 260 Z");
}

.butterflies[b-yrac7wmy2p]  .butterfly-2 {
    top: 0;
    left: 0;
    width: 1.6rem;
    animation-duration: 29s;
    animation-delay: -11s;
    offset-path: path("M 860 420 C 760 300, 820 180, 700 120 S 480 60, 380 150 S 180 300, 120 200 S 260 20, 420 40 S 900 260, 860 420 Z");
}

.butterflies[b-yrac7wmy2p]  .butterfly-2 .wing {
    animation-duration: .34s;
}

@media (max-width: 700px) {
    .butterflies[b-yrac7wmy2p]  .butterfly {
        scale: .8;
    }

    .butterflies[b-yrac7wmy2p]  .butterfly-1 {
        offset-path: path("M 20 200 C 80 90, 180 60, 240 140 S 330 260, 360 150 S 300 20, 200 40 S 10 120, 20 200 Z");
    }

    .butterflies[b-yrac7wmy2p]  .butterfly-2 {
        offset-path: path("M 340 330 C 290 250, 330 170, 260 120 S 140 90, 90 160 S 40 280, 150 300 S 360 380, 340 330 Z");
    }
}
/* /Components/Pages/Info.razor.rz.scp.css */
.info-section[b-gd4q175p55] {
    margin-top: clamp(3rem, 8cqw, 4.5rem);
    scroll-margin-top: 2rem;
}

.info-heading[b-gd4q175p55] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin-bottom: 1.6rem;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--ink);
}

.info-heading[b-gd4q175p55]  .icon {
    width: 1.6rem;
    height: 1.6rem;
    color: var(--terracotta);
}

.programme-note[b-gd4q175p55] {
    margin: -.4rem auto 2rem;
    font-style: italic;
}

/* ---------- Programma op slot tot de gast een code heeft ---------- */

.programme-locked[b-gd4q175p55] {
    display: grid;
    justify-items: center;
    max-width: 34rem;
    margin: 0 auto;
    text-align: center;
}

.programme-locked[b-gd4q175p55]  .locked-icon {
    width: 2.8rem;
    height: 2.8rem;
    color: var(--terracotta);
    margin-bottom: .6rem;
}

.locked-title[b-gd4q175p55] {
    font-family: var(--font-script);
    font-size: clamp(2.2rem, 1.8rem + 1.6vw, 2.8rem);
    color: var(--terracotta);
    margin-bottom: .6rem;
}

.programme-locked[b-gd4q175p55]  .locked-form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .8rem;
    width: 100%;
    margin-top: .4rem;
}

.programme-locked[b-gd4q175p55]  .locked-code {
    flex: 1 1 12rem;
    max-width: 16rem;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.4rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    text-align: center;
    color: var(--ink);
    background: rgb(255 253 248 / .9);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .55rem 1rem;
}

.programme-locked[b-gd4q175p55]  .locked-code::placeholder {
    color: rgb(154 149 124 / .5);
}

.programme-locked[b-gd4q175p55]  .locked-code:focus {
    outline: none;
    border-color: var(--terracotta);
    box-shadow: 0 0 0 4px rgb(168 93 52 / .14);
}

.programme-locked .validation-message[b-gd4q175p55] {
    margin: .8rem 0 0;
}

.other-code[b-gd4q175p55] {
    margin-top: .4rem;
    font-size: .95em;
    font-style: italic;
    color: var(--ink-soft);
}

/* ---------- Locatie ---------- */

.location-card[b-gd4q175p55] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.8rem;
    align-items: center;
}

.location-name[b-gd4q175p55] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(1.3rem, 1.1rem + .8vw, 1.6rem);
    letter-spacing: .16em;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: .4rem;
}

.location-address[b-gd4q175p55] {
    font-style: italic;
    color: var(--terracotta);
}

.location-map[b-gd4q175p55] {
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: inset 0 0 0 4px rgb(255 253 247 / .7);
}

.location-map iframe[b-gd4q175p55] {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    filter: sepia(.25) saturate(.85);
}

.map-placeholder[b-gd4q175p55] {
    display: grid;
    place-content: center;
    justify-items: center;
    gap: .5rem;
    height: 100%;
    color: var(--terracotta);
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: .24em;
    text-transform: uppercase;
    font-size: .8rem;
    background:
        radial-gradient(circle at 30% 35%, rgb(142 154 102 / .28), transparent 40%),
        radial-gradient(circle at 72% 68%, rgb(142 154 102 / .22), transparent 38%),
        repeating-linear-gradient(35deg, transparent 0 22px, rgb(168 93 52 / .08) 22px 23px),
        repeating-linear-gradient(-55deg, transparent 0 30px, rgb(168 93 52 / .06) 30px 31px),
        var(--straw-wash);
}

.map-placeholder[b-gd4q175p55]  .icon {
    width: 3.2rem;
    height: 3.2rem;
}

@media (max-width: 640px) {
    .location-card[b-gd4q175p55] {
        grid-template-columns: 1fr;
    }
}

/* ---------- Praktische kaartjes ---------- */

.info-grid[b-gd4q175p55] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    margin-top: 1.2rem;
}

.info-card[b-gd4q175p55]  > .icon {
    width: 2.6rem;
    height: 2.6rem;
    color: var(--terracotta);
    margin-bottom: .8rem;
}

.info-card h2[b-gd4q175p55] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .24em;
    text-transform: uppercase;
    margin-bottom: .7rem;
}

.info-card p:last-child[b-gd4q175p55] {
    margin-bottom: 0;
}

.info-card-wide[b-gd4q175p55] {
    grid-column: 1 / -1;
}

.dresscode[b-gd4q175p55] {
    font-family: var(--font-script);
    font-size: 2.6rem;
    line-height: 1;
    color: var(--terracotta);
    margin: 0 0 .5rem;
}

@media (max-width: 640px) {
    .info-grid[b-gd4q175p55] {
        grid-template-columns: 1fr;
    }
}

.placeholder[b-gd4q175p55] {
    font-style: italic;
    color: var(--ink-faint);
}

/* ---------- Afsluiter ---------- */

.info-cta[b-gd4q175p55] {
    display: grid;
    justify-items: center;
    text-align: center;
    margin-top: clamp(3rem, 8cqw, 4.5rem);
}

.info-cta-title[b-gd4q175p55] {
    font-size: clamp(3rem, 2.4rem + 3vw, 4.2rem);
    margin: 0 0 .5rem;
}
/* /Components/Pages/NotFound.razor.rz.scp.css */
.section-title[b-bz238l4aht]  .lost-chick {
    width: 5rem;
    height: 5rem;
    color: var(--terracotta);
    margin-bottom: .6rem;
    animation: peck-b-bz238l4aht 2.4s ease-in-out infinite;
}

.section-title[b-bz238l4aht]  .lost-chick .chick-body {
    fill: var(--straw);
}

@keyframes peck-b-bz238l4aht {
    0%, 60%, 100% { transform: rotate(0); }
    70% { transform: rotate(14deg) translateY(4px); }
    80% { transform: rotate(0); }
    88% { transform: rotate(14deg) translateY(4px); }
}
/* /Components/Pages/Rsvp/Bedankt.razor.rz.scp.css */
/* ---------- Vallende madeliefjes ---------- */

.daisies[b-obyr1mp4em] {
    position: fixed;
    inset: 0;
    z-index: 20;
    overflow: hidden;
    pointer-events: none;
}

.daisies span[b-obyr1mp4em] {
    position: absolute;
    top: -3rem;
    left: calc(var(--x) * 1%);
    width: calc(2.2rem * var(--s));
    height: calc(2.2rem * var(--s));
    opacity: 0;
    animation: fall-b-obyr1mp4em var(--t) cubic-bezier(.35, .1, .6, 1) var(--d) 2 both;
}

.daisies[b-obyr1mp4em]  .icon {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 3px 3px rgb(74 71 51 / .15));
}

@keyframes fall-b-obyr1mp4em {
    0% { opacity: 0; transform: translate(0, 0) rotate(0); }
    10% { opacity: 1; }
    50% { transform: translate(calc(var(--r) * 3rem), 50vh) rotate(calc(var(--r) * 180deg)); }
    85% { opacity: .9; }
    100% { opacity: 0; transform: translate(calc(var(--r) * -1.5rem), 105vh) rotate(calc(var(--r) * 360deg)); }
}

/* ---------- Mascotte ---------- */

.mascot[b-obyr1mp4em] {
    position: relative;
    display: grid;
    justify-items: center;
    margin-bottom: .6rem;
    color: var(--terracotta);
}

.mascot[b-obyr1mp4em]  .icon {
    width: 5.5rem;
    height: 5.5rem;
    position: relative;
    z-index: 1;
}

.mascot-ground[b-obyr1mp4em] {
    width: 5rem;
    height: .6rem;
    margin-top: -.35rem;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgb(95 107 60 / .3), transparent 70%);
}

.mascot-yes[b-obyr1mp4em]  .icon {
    animation: goat-hop-b-obyr1mp4em 1.3s cubic-bezier(.3, .7, .4, 1) .3s 3 both;
}

.mascot-yes .mascot-ground[b-obyr1mp4em] {
    animation: shadow-b-obyr1mp4em 1.3s cubic-bezier(.3, .7, .4, 1) .3s 3 both;
}

.mascot-no[b-obyr1mp4em]  .icon {
    animation: sheep-sigh-b-obyr1mp4em 2.4s ease-in-out .3s 2 both;
}

@keyframes goat-hop-b-obyr1mp4em {
    0%, 100% { transform: translateY(0) rotate(0); }
    15% { transform: translateY(2px) scale(1.04, .95); }
    45% { transform: translateY(-26px) rotate(-7deg); }
    70% { transform: translateY(0) rotate(3deg); }
    82% { transform: translateY(1px) scale(1.03, .97); }
}

@keyframes shadow-b-obyr1mp4em {
    0%, 100%, 70% { transform: scale(1); opacity: 1; }
    45% { transform: scale(.55); opacity: .5; }
}

@keyframes sheep-sigh-b-obyr1mp4em {
    0%, 100% { transform: rotate(0) translateY(0); }
    40% { transform: rotate(-6deg) translateY(3px); }
    70% { transform: rotate(4deg) translateY(1px); }
}

/* ---------- Samenvatting ---------- */

.summary[b-obyr1mp4em] {
    max-width: 34rem;
    margin: 0 auto;
}

.summary-title[b-obyr1mp4em] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .85rem;
    letter-spacing: .26em;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 1rem;
    color: var(--ink-soft);
}

.summary dl[b-obyr1mp4em] {
    margin: 0;
}

.summary-row[b-obyr1mp4em] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1.5rem;
    padding: .65rem 0;
    border-bottom: 1px dashed var(--line);
}

.summary-row:last-child[b-obyr1mp4em] {
    border-bottom: 0;
}

.summary-row dt[b-obyr1mp4em] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.2rem;
}

.summary-row dd[b-obyr1mp4em] {
    margin: 0;
    text-align: right;
    color: var(--ink-soft);
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.summary-row dd[b-obyr1mp4em]  .icon {
    width: 1.2rem;
    height: 1.2rem;
}

.summary-row dd.yes[b-obyr1mp4em] {
    color: var(--sage-deep);
    font-weight: 600;
}

.summary-message[b-obyr1mp4em] {
    flex-direction: column;
    gap: .3rem;
}

.summary-message dd[b-obyr1mp4em] {
    text-align: left;
    font-style: italic;
}

.thanks-actions[b-obyr1mp4em] {
    margin-top: 2rem;
}

.thanks-note[b-obyr1mp4em] {
    margin-top: 1rem;
    font-style: italic;
}
/* /Components/Pages/Rsvp/RsvpCode.razor.rz.scp.css */
.welcome-back[b-wa02pjo4il] {
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: 34rem;
    margin: 0 auto 1.5rem;
    padding: 1rem 1.4rem;
    border-radius: var(--radius);
    background: var(--terracotta-wash);
    border: 1px solid rgb(168 93 52 / .25);
    color: var(--ink);
    text-decoration: none;
    transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out);
}

.welcome-back:hover[b-wa02pjo4il] {
    color: var(--ink);
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.welcome-back > span[b-wa02pjo4il] {
    flex: 1;
    display: grid;
}

.welcome-back > span > span[b-wa02pjo4il] {
    font-style: italic;
    color: var(--ink-soft);
}

.welcome-back[b-wa02pjo4il]  .icon {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--terracotta);
}

/* ---------- Het toegangskaartje ---------- */

.ticket[b-wa02pjo4il] {
    --notch: 14px;
    position: relative;
    display: grid;
    grid-template-columns: 6.5rem 1fr;
    max-width: 34rem;
    margin-inline: auto;
    filter: drop-shadow(0 18px 26px rgb(74 71 51 / .18)) drop-shadow(0 2px 3px rgb(74 71 51 / .08));
}

.ticket-stub[b-wa02pjo4il],
.ticket[b-wa02pjo4il]  .ticket-body {
    /* halve cirkeltjes uit de randen, zoals bij een scheurkaartje */
    -webkit-mask:
        radial-gradient(circle var(--notch) at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
        radial-gradient(circle var(--notch) at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    mask:
        radial-gradient(circle var(--notch) at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
        radial-gradient(circle var(--notch) at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
}

.ticket-stub[b-wa02pjo4il] {
    display: grid;
    place-content: center;
    justify-items: center;
    gap: .6rem;
    border-radius: var(--radius) 0 0 var(--radius);
    background:
        var(--grain),
        linear-gradient(160deg, #b8693c, var(--terracotta-deep));
    background-size: 220px, auto;
    background-blend-mode: overlay, normal;
    color: var(--paper);
    border-right: 2px dashed rgb(251 247 238 / .55);
}

.ticket-stub[b-wa02pjo4il]  .icon {
    width: 2.6rem;
    height: 2.6rem;
}

.ticket-stub span[b-wa02pjo4il] {
    writing-mode: vertical-rl;
    rotate: 180deg;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .4em;
    text-transform: uppercase;
}

.ticket[b-wa02pjo4il]  .ticket-body {
    display: grid;
    justify-items: start;
    gap: .5rem;
    padding: 2rem 2.2rem 2.2rem;
    border-radius: 0 var(--radius) var(--radius) 0;
    background:
        var(--grain),
        linear-gradient(180deg, #fffdf8, #fbf4e6);
    background-size: 220px, auto;
    background-blend-mode: soft-light, normal;
}

.ticket-kicker[b-wa02pjo4il] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .7rem;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--ink-faint);
    margin-bottom: .6rem;
}

.ticket-label[b-wa02pjo4il] {
    font-family: var(--font-script);
    font-size: 2.4rem;
    line-height: 1;
    color: var(--terracotta);
}

.ticket[b-wa02pjo4il]  .code-input {
    width: 100%;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(1.6rem, 1.2rem + 2vw, 2.2rem);
    letter-spacing: .22em;
    text-transform: uppercase;
    text-align: center;
    color: var(--ink);
    background: transparent;
    border: 0;
    border-bottom: 2px solid var(--line);
    border-radius: 0;
    padding: .5rem 0 .4rem;
    transition: border-color .2s;
}

.ticket[b-wa02pjo4il]  .code-input::placeholder {
    color: rgb(154 149 124 / .5);
}

.ticket[b-wa02pjo4il]  .code-input:focus {
    outline: none;
    border-bottom-color: var(--terracotta);
}

.ticket-help[b-wa02pjo4il] {
    margin: 0 0 1rem;
    font-size: .92em;
    font-style: italic;
    color: var(--ink-soft);
}

.ticket[b-wa02pjo4il]  .btn {
    justify-self: stretch;
}

@media (max-width: 520px) {
    .ticket[b-wa02pjo4il] {
        grid-template-columns: 1fr;
    }

    .ticket-stub[b-wa02pjo4il] {
        grid-auto-flow: column;
        gap: .8rem;
        padding: .9rem;
        border-radius: var(--radius) var(--radius) 0 0;
        border-right: 0;
        border-bottom: 2px dashed rgb(251 247 238 / .55);
        -webkit-mask: none;
        mask: none;
    }

    .ticket-stub[b-wa02pjo4il]  .icon {
        width: 1.8rem;
        height: 1.8rem;
    }

    .ticket-stub span[b-wa02pjo4il] {
        writing-mode: horizontal-tb;
        rotate: none;
    }

    .ticket[b-wa02pjo4il]  .ticket-body {
        border-radius: 0 0 var(--radius) var(--radius);
        padding: 1.6rem 1.4rem 1.6rem;
        -webkit-mask: none;
        mask: none;
    }
}
/* /Components/Pages/Rsvp/RsvpForm.razor.rz.scp.css */
.guest-badge[b-psltfdwlul] {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1rem;
    padding: .45rem 1.1rem;
    border-radius: 999px;
    background: rgb(255 253 247 / .75);
    border: 1px solid var(--line-soft);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ink);
}

.guest-badge[b-psltfdwlul]  .icon {
    width: 1.3rem;
    height: 1.3rem;
    color: var(--terracotta);
}

.notice[b-psltfdwlul] {
    max-width: var(--content-max);
    margin: 0 auto 1.4rem;
}

.rsvp-steps[b-psltfdwlul] {
    display: grid;
    gap: 1.2rem;
    counter-reset: stap;
}

/* ---------- Stappen ---------- */

.form-step[b-psltfdwlul] {
    counter-increment: stap;
}

.step-head[b-psltfdwlul] {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: 1.3rem;
}

.step-no[b-psltfdwlul] {
    display: grid;
    place-items: center;
    width: 2.3rem;
    height: 2.3rem;
    flex: none;
    border-radius: 50%;
    border: 1px solid var(--terracotta);
    color: var(--terracotta);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.15rem;
}

.step-no[b-psltfdwlul]::before {
    content: counter(stap);
}

.step-head h2[b-psltfdwlul] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(1.45rem, 1.2rem + 1vw, 1.8rem);
    color: var(--ink);
}

.step-intro[b-psltfdwlul] {
    color: var(--ink-soft);
    margin-top: -.4rem;
}

/* ---------- Per gast: komt wel / komt niet ---------- */

/* scheidingslijn onderaan (een border-top zou dwars door de legend lopen) */
.guest:not(:last-of-type)[b-psltfdwlul] {
    margin-bottom: 1.4rem;
    padding-bottom: 1.6rem;
    border-bottom: 1px dashed var(--line);
}

.guest-name[b-psltfdwlul] {
    font-family: var(--font-script);
    font-size: 2.4rem;
    line-height: 1.1;
    color: var(--terracotta);
    margin-bottom: .6rem;
}

.choices[b-psltfdwlul] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .9rem;
}

.choice[b-psltfdwlul] {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: .15rem;
    padding: 1.3rem 1rem 1.2rem;
    text-align: center;
    border-radius: var(--radius);
    background: rgb(255 253 248 / .75);
    border: 1px solid var(--line);
    cursor: pointer;
    transition: border-color .25s, background-color .25s, box-shadow .3s var(--ease-out), transform .3s var(--ease-out);
    -webkit-tap-highlight-color: transparent;
}

.choice[b-psltfdwlul]  input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.choice:hover[b-psltfdwlul] {
    border-color: var(--terracotta-soft);
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}

.choice:has(input:focus-visible)[b-psltfdwlul] {
    outline: 2px solid var(--terracotta);
    outline-offset: 3px;
}

.choice[b-psltfdwlul]  .choice-icon {
    width: 3.6rem;
    height: 3.6rem;
    color: var(--ink-faint);
    margin-bottom: .4rem;
    transition: color .25s, transform .5s var(--ease-out);
}

.choice-title[b-psltfdwlul] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--ink);
    line-height: 1.2;
}

.choice-sub[b-psltfdwlul] {
    font-size: .92rem;
    font-style: italic;
    color: var(--ink-soft);
}

.choice[b-psltfdwlul]  .choice-check {
    position: absolute;
    top: .7rem;
    right: .7rem;
    width: 1.6rem;
    height: 1.6rem;
    padding: .3rem;
    border-radius: 50%;
    stroke-width: 3;
    color: var(--paper);
    background: var(--terracotta);
    opacity: 0;
    scale: .4;
    transition: opacity .25s, scale .4s cubic-bezier(.3, 1.6, .5, 1);
}

.choice:has(input:checked)[b-psltfdwlul] {
    border-color: var(--terracotta);
    background: linear-gradient(180deg, #fff9f1, var(--terracotta-wash));
    box-shadow: 0 0 0 1px var(--terracotta), var(--shadow-soft);
}

.choice:has(input:checked)[b-psltfdwlul]  .choice-icon {
    color: var(--terracotta);
    animation: hop-b-psltfdwlul .6s var(--ease-out);
}

.choice-no:has(input:checked)[b-psltfdwlul]  .choice-icon {
    animation: sway-b-psltfdwlul .8s ease-in-out;
}

.choice:has(input:checked)[b-psltfdwlul]  .choice-check {
    opacity: 1;
    scale: 1;
}

@keyframes hop-b-psltfdwlul {
    0%, 100% { transform: translateY(0); }
    35% { transform: translateY(-9px) rotate(-6deg); }
    65% { transform: translateY(0) rotate(3deg); }
}

@keyframes sway-b-psltfdwlul {
    0%, 100% { transform: rotate(0); }
    30% { transform: rotate(-8deg); }
    65% { transform: rotate(6deg); }
}

@media (max-width: 420px) {
    .choices[b-psltfdwlul] {
        gap: .6rem;
    }

    .choice[b-psltfdwlul] {
        padding: 1.1rem .6rem 1rem;
    }

    .choice-title[b-psltfdwlul] {
        font-size: 1.1rem;
    }
}

/* ---------- Kinderen: kuikentjes tellen ---------- */

.chicks[b-psltfdwlul] {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    padding-bottom: 2.4rem;
    margin-bottom: .8rem;
}

.chicks label[b-psltfdwlul] {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.chicks[b-psltfdwlul]  input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.chick-none[b-psltfdwlul] {
    display: grid;
    place-items: center;
    min-width: 4.2rem;
    height: 3.6rem;
    margin-right: .5rem;
    padding: 0 1rem;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgb(255 253 248 / .75);
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: .85rem;
    color: var(--ink-soft);
    transition: all .25s;
}

.chick-none:has(input:checked)[b-psltfdwlul] {
    border-color: var(--terracotta);
    color: var(--paper);
    background: var(--terracotta);
}

.chick[b-psltfdwlul] {
    color: var(--ink-faint);
    transition: color .25s;
}

/* Let op: het label zelf blijft zonder positie/transform, zodat het bijschrift
   ten opzichte van de hele rij kuikentjes wordt geplaatst. */
.chick-art[b-psltfdwlul] {
    position: relative;
    display: grid;
    place-items: center;
    width: 3.9rem;
    height: 3.9rem;
    transition: transform .3s var(--ease-out);
}

.chick:hover[b-psltfdwlul] {
    color: var(--terracotta-soft);
}

.chick:hover .chick-art[b-psltfdwlul] {
    transform: translateY(-3px);
}

.chick[b-psltfdwlul]  .icon {
    width: 3.1rem;
    height: 3.1rem;
    transition: transform .4s var(--ease-out);
}

.chick[b-psltfdwlul]  .icon .chick-body {
    fill: transparent;
    transition: fill .25s;
}

.chick-no[b-psltfdwlul] {
    position: absolute;
    bottom: -.15rem;
    right: .05rem;
    min-width: 1.3rem;
    height: 1.3rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .8rem;
    line-height: 1;
    background: var(--paper);
    border: 1px solid var(--line);
    color: var(--ink-soft);
}

/* Een kuikentje is "aan" als het zelf gekozen is, of als een kuikentje verderop gekozen is */
.chick:has(input:checked)[b-psltfdwlul],
.chick:has(~ .chick input:checked)[b-psltfdwlul] {
    color: var(--terracotta);
}

.chick:has(input:checked)[b-psltfdwlul]  .icon .chick-body,
.chick:has(~ .chick input:checked)[b-psltfdwlul]  .icon .chick-body {
    fill: var(--straw);
}

.chick:has(input:checked)[b-psltfdwlul]  .icon {
    animation: hop-b-psltfdwlul .6s var(--ease-out);
}

.chick:has(input:focus-visible)[b-psltfdwlul],
.chick-none:has(input:focus-visible)[b-psltfdwlul] {
    outline: 2px solid var(--terracotta);
    outline-offset: 2px;
}

.chick-caption[b-psltfdwlul] {
    display: none;
    position: absolute;
    left: 0;
    bottom: 0;
    font-style: italic;
    color: var(--ink-soft);
    white-space: nowrap;
}

label:has(input:checked) .chick-caption[b-psltfdwlul] {
    display: block;
    animation: fade .4s ease both;
}

/* Namen van de kinderen alleen vragen als er kinderen meekomen */
.form-step:has(.chick-none input:checked) .kids-details[b-psltfdwlul] {
    display: none;
}

/* ---------- Velden ---------- */

.field-label[b-psltfdwlul]  .icon {
    display: inline-block;
    vertical-align: -.15em;
    width: 1.1em;
    height: 1.1em;
    margin-right: .25rem;
    color: var(--terracotta);
}

.form-step .field:last-child[b-psltfdwlul] {
    margin-bottom: 0;
}

/* ---------- Versturen ---------- */

.form-actions[b-psltfdwlul] {
    display: grid;
    justify-items: center;
    gap: .6rem;
    margin-top: 1rem;
    text-align: center;
}

.form-actions p[b-psltfdwlul] {
    margin: 0;
    font-style: italic;
}

.rsvp-steps:disabled .choice[b-psltfdwlul],
.rsvp-steps:disabled .chicks label[b-psltfdwlul] {
    cursor: default;
    transform: none;
}
/* /Components/Shared/Butterfly.razor.rz.scp.css */
.butterfly[b-jd0zkdxp8f] {
    position: absolute;
    display: block;
    width: 2.1rem;
    filter: drop-shadow(0 4px 4px rgb(74 71 51 / .12));
    offset-rotate: auto 90deg;
    animation: flutter-path-b-jd0zkdxp8f 22s linear infinite;
}

.butterfly svg[b-jd0zkdxp8f] {
    display: block;
    width: 100%;
    overflow: visible;
}

.wing[b-jd0zkdxp8f] {
    transform-box: view-box;
    animation: flap-b-jd0zkdxp8f .28s ease-in-out infinite alternate;
}

.wing-left[b-jd0zkdxp8f] {
    transform-origin: 20px 16px;
}

.wing-right[b-jd0zkdxp8f] {
    transform-origin: 20px 16px;
    animation-name: flap-right-b-jd0zkdxp8f;
}

@keyframes flap-b-jd0zkdxp8f {
    from { transform: scaleX(1); }
    to { transform: scaleX(.25); }
}

@keyframes flap-right-b-jd0zkdxp8f {
    from { transform: scaleX(1); }
    to { transform: scaleX(.25); }
}

@keyframes flutter-path-b-jd0zkdxp8f {
    from { offset-distance: 0%; }
    to { offset-distance: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .butterfly[b-jd0zkdxp8f] {
        display: none;
    }
}
/* /Components/Shared/Countdown.razor.rz.scp.css */
.countdown[b-6ofru3p5ye] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 30rem;
    margin-inline: auto;
}

.unit[b-6ofru3p5ye] {
    display: grid;
    justify-items: center;
    gap: .35rem;
    padding: .2rem .4rem;
}

.unit + .unit[b-6ofru3p5ye] {
    border-left: 1px solid rgb(168 93 52 / .45);
}

.value[b-6ofru3p5ye] {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(2.2rem, 1.6rem + 3vw, 3.3rem);
    line-height: 1;
    color: var(--terracotta);
    font-variant-numeric: lining-nums tabular-nums;
}

.label[b-6ofru3p5ye] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .72rem;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--ink-soft);
}
/* /Components/Shared/InstallPrompt.razor.rz.scp.css */
.install[b-ox3w67m3vt] {
    max-width: var(--content-max);
    margin: 1.4rem auto 0;
}

.install[hidden][b-ox3w67m3vt] {
    display: none;
}

.install-button[b-ox3w67m3vt] {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: .9rem 1.2rem;
    border-radius: var(--radius);
    border: 1px dashed rgb(168 93 52 / .45);
    background: rgb(255 253 247 / .6);
    font: inherit;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), background-color .3s;
}

.install-button:hover[b-ox3w67m3vt] {
    transform: translateY(-2px);
    background: rgb(255 253 247 / .9);
    box-shadow: var(--shadow-soft);
}

.install-button img[b-ox3w67m3vt] {
    border-radius: 11px;
    box-shadow: 0 2px 6px rgb(74 71 51 / .2);
    flex: none;
}

.install-button > span[b-ox3w67m3vt] {
    flex: 1;
    display: grid;
}

.install-button strong[b-ox3w67m3vt] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .9rem;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.install-button > span > span[b-ox3w67m3vt] {
    font-size: .95rem;
    font-style: italic;
    color: var(--ink-soft);
}

.install-button[b-ox3w67m3vt]  .icon {
    width: 1.4rem;
    height: 1.4rem;
    color: var(--terracotta);
}

.install-dialog[b-ox3w67m3vt] {
    max-width: min(24rem, calc(100vw - 2rem));
    padding: 2rem 1.6rem 1.6rem;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    background: var(--paper);
    color: var(--ink);
    box-shadow: var(--shadow-lift);
    text-align: center;
}

.install-dialog[b-ox3w67m3vt]::backdrop {
    background: rgb(74 71 51 / .35);
    backdrop-filter: blur(3px);
}

.install-dialog[open][b-ox3w67m3vt] {
    animation: rise .4s var(--ease-out);
}

.install-dialog-icon[b-ox3w67m3vt] {
    margin: 0 auto .8rem;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgb(74 71 51 / .2);
}

.install-dialog h2[b-ox3w67m3vt] {
    font-size: 2.6rem;
    margin-bottom: 1rem;
}

.install-dialog ol[b-ox3w67m3vt] {
    margin: 0 0 1rem;
    padding-left: 1.4rem;
    text-align: left;
    display: grid;
    gap: .4rem;
}

.share-glyph[b-ox3w67m3vt] {
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    vertical-align: -.2em;
    color: #2f7bf6;
}

.install-dialog p[b-ox3w67m3vt] {
    font-size: .95rem;
    font-style: italic;
}
/* /Components/Shared/Names.razor.rz.scp.css */
.names[b-30zuwfxxp0] {
    display: block;
    width: 100%;
    aspect-ratio: 4308 / 1356;
    background:
        linear-gradient(100deg, var(--terracotta) 0%, #b56a3e 35%, var(--terracotta-deep) 60%, #b46a40 100%);
    -webkit-mask: url("../img/frie-en-lars.svg") center / contain no-repeat;
    mask: url("../img/frie-en-lars.svg") center / contain no-repeat;
}

.names-animated[b-30zuwfxxp0] {
    background: none;
    -webkit-mask: none;
    mask: none;
    height: auto;
    overflow: visible;
}

/* Elke pennenstreek groeit van begin naar eind (pathLength = 1).
   Het streepje begint net vóór het pad, zodat er geen ronde dop zichtbaar is voordat de pen begint. */
.pen[b-30zuwfxxp0] {
    stroke-dasharray: 1 3;
    stroke-dashoffset: 1.001;
    animation-name: pen-b-30zuwfxxp0;
    animation-timing-function: cubic-bezier(.45, .05, .35, 1);
    animation-fill-mode: forwards;
}

@keyframes pen-b-30zuwfxxp0 {
    to {
        stroke-dashoffset: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pen[b-30zuwfxxp0] {
        animation: none;
        stroke-dashoffset: 0;
    }
}
/* /Components/Shared/Timeline.razor.rz.scp.css */
.timeline[b-nvxmrto1c5] {
    --dot: 3.6rem;
    --time-col: 4.6rem;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 36rem;
}

.tl-item[b-nvxmrto1c5] {
    position: relative;
    display: grid;
    grid-template-columns: var(--time-col) var(--dot) 1fr;
    column-gap: 1.1rem;
    align-items: start;
    padding-bottom: 1.8rem;
}

/* stippellijn als een tuinpad tussen de momenten */
.tl-item:not(:last-child)[b-nvxmrto1c5]::before {
    content: "";
    position: absolute;
    left: calc(var(--time-col) + 1.1rem + var(--dot) / 2);
    top: calc(var(--dot) + .35rem);
    bottom: .35rem;
    translate: -50% 0;
    border-left: 2px dotted rgb(168 93 52 / .45);
}

.tl-time[b-nvxmrto1c5] {
    padding-top: .9rem;
    text-align: right;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.45rem;
    line-height: 1;
    color: var(--terracotta);
    font-variant-numeric: lining-nums tabular-nums;
}

.tl-dot[b-nvxmrto1c5] {
    display: grid;
    place-items: center;
    width: var(--dot);
    height: var(--dot);
    border-radius: 50%;
    background: rgb(255 253 247 / .9);
    border: 1px solid rgb(168 93 52 / .35);
    box-shadow: 0 0 0 5px rgb(248 241 226 / .9), var(--shadow-soft);
    color: var(--terracotta);
}

.tl-dot[b-nvxmrto1c5]  .icon {
    width: 58%;
    height: 58%;
}

.tl-text[b-nvxmrto1c5] {
    padding-top: .55rem;
}

.tl-text h3[b-nvxmrto1c5] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.4rem;
    color: var(--ink);
    margin-bottom: .2rem;
}

.tl-text p[b-nvxmrto1c5] {
    margin: 0;
    color: var(--ink-soft);
}

@media (max-width: 480px) {
    .timeline[b-nvxmrto1c5] {
        --dot: 3rem;
        --time-col: 3.4rem;
    }

    .tl-item[b-nvxmrto1c5] {
        column-gap: .8rem;
    }

    .tl-item:not(:last-child)[b-nvxmrto1c5]::before {
        left: calc(var(--time-col) + .8rem + var(--dot) / 2);
    }

    .tl-time[b-nvxmrto1c5] {
        font-size: 1.2rem;
        padding-top: .8rem;
    }

    .tl-text h3[b-nvxmrto1c5] {
        font-size: 1.25rem;
    }
}
