.letsgoparty-pagina {
    --roze: #ed145b;
    --donkerroze: #c80e4a;
    --paars: #712b91;
    --donkerpaars: #241334;
    --oranje: #ff7a00;
    --geel: #ffd23f;
    --turquoise: #00aaa5;
    --wit: #ffffff;
    --lichtroze: #fff2f7;
    --lichtgeel: #fff8e7;

    width: 100%;
    overflow: hidden;
    color: var(--donkerpaars);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.7;
    background: #ffffff;
}

.letsgoparty-pagina * {
    box-sizing: border-box;
}

.letsgoparty-pagina img {
    display: block;
    max-width: 100%;
}

.letsgoparty-pagina h1,
.letsgoparty-pagina h2,
.letsgoparty-pagina h3,
.letsgoparty-pagina p {
    padding: 0;
}

.letsgoparty-hero {
    position: relative;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 25px;
    color: #ffffff;
    text-align: center;
    background:
        url("/images/com_eventbooking/galleries/eventpagina/1.jpg")
        center center / cover no-repeat;
}

.letsgoparty-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            135deg,
            rgba(36, 19, 52, 0.68),
            rgba(113, 43, 145, 0.54),
            rgba(237, 20, 91, 0.42)
        );
}

.letsgoparty-hero-inhoud {
    position: relative;
    z-index: 2;
    width: min(950px, 100%);
}

.letsgoparty-label {
    display: inline-block;
    margin-bottom: 24px;
    padding: 9px 22px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.letsgoparty-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(55px, 10vw, 115px);
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -4px;
    text-transform: uppercase;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.letsgoparty-hero h1 span {
    display: block;
    color: var(--geel);
}

.letsgoparty-hero-tekst {
    max-width: 760px;
    margin: 30px auto 0;
    color: #ffffff;
    font-size: clamp(18px, 2.4vw, 25px);
    line-height: 1.55;
}

.letsgoparty-muziekregels {
    margin-top: 18px;
    color: var(--geel);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px;
}

.letsgoparty-knop {
    display: inline-block;
    margin-top: 35px;
    padding: 15px 31px;
    border-radius: 50px;
    color: var(--donkerpaars);
    background: var(--geel);
    font-size: 17px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.letsgoparty-knop:hover {
    color: var(--donkerpaars);
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}

.letsgoparty-intro {
    padding: 110px 25px;
    background:
        radial-gradient(
            circle at top left,
            rgba(255, 210, 63, 0.22),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #fffdf9,
            #fff5fa
        );
}

.letsgoparty-intro-grid {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.letsgoparty-afbeeldingen {
    position: relative;
    min-height: 600px;
}

.letsgoparty-afbeelding-groot {
    width: 82%;
    height: 520px;
    object-fit: cover;
    border-radius: 35px;
    box-shadow: 0 25px 55px rgba(62, 21, 72, 0.18);
}

.letsgoparty-afbeelding-klein {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    height: 270px;
    object-fit: cover;
    border: 8px solid #ffffff;
    border-radius: 30px;
    box-shadow: 0 20px 45px rgba(62, 21, 72, 0.2);
}

.letsgoparty-boventitel {
    margin: 0 0 14px;
    color: var(--roze);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.letsgoparty-boventitel-geel {
    color: var(--geel);
}

.letsgoparty-intro h2,
.letsgoparty-muziek h2,
.letsgoparty-beleving h2,
.letsgoparty-uitnodiging h2 {
    margin: 0 0 26px;
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.07;
    letter-spacing: -2px;
}

.letsgoparty-intro h2 span {
    color: var(--roze);
}

.letsgoparty-lead {
    margin-bottom: 22px;
    font-size: 21px;
    line-height: 1.7;
}

.letsgoparty-intro-tekst p:not(.letsgoparty-boventitel) {
    margin-top: 0;
    margin-bottom: 20px;
}

.letsgoparty-quote {
    margin-top: 32px;
    padding: 24px 28px;
    border-left: 6px solid var(--oranje);
    border-radius: 0 18px 18px 0;
    background: rgba(255, 122, 0, 0.1);
    font-size: 19px;
    font-weight: 700;
}

.letsgoparty-muziek {
    padding: 100px 25px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--donkerpaars),
            var(--paars)
        );
}

.letsgoparty-muziek-inhoud {
    width: min(1180px, 100%);
    margin: 0 auto;
    text-align: center;
}

.letsgoparty-muziek h2 {
    color: #ffffff;
}

.letsgoparty-muziek-intro {
    max-width: 800px;
    margin: 0 auto 55px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 19px;
}

.letsgoparty-muziek-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.letsgoparty-muziekkaart {
    position: relative;
    min-height: 300px;
    padding: 35px 27px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 25px;
    text-align: left;
    background: rgba(255, 255, 255, 0.1);
}

.letsgoparty-muziekkaart:nth-child(1) {
    border-top: 7px solid var(--roze);
}

.letsgoparty-muziekkaart:nth-child(2) {
    border-top: 7px solid var(--oranje);
}

.letsgoparty-muziekkaart:nth-child(3) {
    border-top: 7px solid var(--geel);
}

.letsgoparty-muziekkaart:nth-child(4) {
    border-top: 7px solid var(--turquoise);
}

.letsgoparty-nummer {
    margin-bottom: 25px;
    color: rgba(255, 255, 255, 0.35);
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
}

.letsgoparty-muziekkaart h3 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 27px;
}

.letsgoparty-muziekkaart p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
}

.letsgoparty-beleving {
    min-height: 650px;
    display: flex;
    align-items: center;
    padding: 100px 25px;
    color: #ffffff;
    background:
        linear-gradient(
            90deg,
            rgba(23, 10, 33, 0.93),
            rgba(53, 17, 68, 0.72),
            rgba(36, 19, 52, 0.35)
        ),
        url("/images/com_eventbooking/galleries/eventpagina/4.jpg")
        center center / cover no-repeat;
}

.letsgoparty-beleving-inhoud {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.letsgoparty-beleving-tekst {
    max-width: 650px;
}

.letsgoparty-beleving h2 {
    color: #ffffff;
}

.letsgoparty-beleving p:not(.letsgoparty-boventitel) {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 18px;
}

.letsgoparty-highlight {
    display: inline-block;
    margin-top: 20px;
    padding: 16px 24px;
    border-left: 5px solid var(--geel);
    background: rgba(255, 255, 255, 0.14);
    font-size: 20px;
    font-weight: 800;
}

.letsgoparty-uitnodiging {
    padding: 100px 25px;
    text-align: center;
    background:
        radial-gradient(
            circle at top left,
            rgba(255, 210, 63, 0.46),
            transparent 35%
        ),
        radial-gradient(
            circle at bottom right,
            rgba(237, 20, 91, 0.22),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            var(--lichtroze),
            var(--lichtgeel)
        );
}

.letsgoparty-uitnodiging-inhoud {
    width: min(850px, 100%);
    margin: 0 auto;
}

.letsgoparty-uitnodiging h2 {
    color: var(--paars);
}

.letsgoparty-uitnodiging p {
    max-width: 720px;
    margin: 0 auto;
    font-size: 20px;
}

.letsgoparty-dansregel {
    display: inline-block;
    margin-top: 30px;
    padding: 13px 28px;
    border-radius: 50px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--roze),
            var(--paars)
        );
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 1px;
}

.letsgoparty-praktisch {
    padding: 80px 25px;
    background: var(--donkerpaars);
}

.letsgoparty-praktisch-inhoud {
    width: min(1000px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}

.letsgoparty-praktisch-kaart {
    padding: 35px;
    border-radius: 25px;
    background: #ffffff;
}

.letsgoparty-praktisch-kaart:first-child {
    border-top: 8px solid var(--turquoise);
}

.letsgoparty-praktisch-kaart:last-child {
    border-top: 8px solid var(--roze);
}

.letsgoparty-praktisch-label {
    margin-bottom: 12px;
    color: var(--roze);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.letsgoparty-praktisch-kaart h3 {
    margin: 0 0 14px;
    color: var(--donkerpaars);
    font-size: 25px;
}

.letsgoparty-praktisch-kaart p {
    margin: 0;
}

.letsgoparty-footer {
    padding: 28px 20px;
    color: #ffffff;
    text-align: center;
    background: #160b20;
    font-size: 14px;
    letter-spacing: 0.5px;
}

@media (max-width: 1000px) {
    .letsgoparty-muziek-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .letsgoparty-intro-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .letsgoparty-afbeeldingen {
        width: min(680px, 100%);
        margin: 0 auto;
    }
}

@media (max-width: 700px) {
    .letsgoparty-hero {
        min-height: 620px;
        padding: 70px 20px;
    }

    .letsgoparty-hero h1 {
        letter-spacing: -2px;
    }

    .letsgoparty-intro,
    .letsgoparty-muziek,
    .letsgoparty-beleving,
    .letsgoparty-uitnodiging,
    .letsgoparty-praktisch {
        padding-left: 20px;
        padding-right: 20px;
    }

    .letsgoparty-afbeeldingen {
        min-height: auto;
    }

    .letsgoparty-afbeelding-groot {
        width: 100%;
        height: auto;
        min-height: 380px;
    }

    .letsgoparty-afbeelding-klein {
        position: relative;
        width: 82%;
        height: auto;
        min-height: 220px;
        margin: -60px 0 0 auto;
    }

    .letsgoparty-muziek-grid,
    .letsgoparty-praktisch-inhoud {
        grid-template-columns: 1fr;
    }

    .letsgoparty-muziekkaart {
        min-height: auto;
    }

    .letsgoparty-beleving {
        min-height: 600px;
        background-position: 60% center;
    }

    .letsgoparty-highlight {
        font-size: 18px;
    }
}
.salsabasis-pagina {
    --sb-roze: #ed145b;
    --sb-donkerroze: #c80e4a;
    --sb-paars: #712b91;
    --sb-donkerpaars: #241334;
    --sb-oranje: #ff7a00;
    --sb-geel: #ffd23f;
    --sb-turquoise: #00aaa5;
    --sb-wit: #ffffff;
    --sb-lichtroze: #fff2f7;
    --sb-lichtgeel: #fff8e7;

    width: 100%;
    overflow: hidden;
    color: var(--sb-donkerpaars);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.7;
    background: #ffffff;
}
.salsabasis-pagina {
    --sb-roze: #ed145b;
    --sb-donkerroze: #c80e4a;
    --sb-paars: #712b91;
    --sb-donkerpaars: #241334;
    --sb-oranje: #ff7a00;
    --sb-geel: #ffd23f;
    --sb-turquoise: #00aaa5;
    --sb-wit: #ffffff;
    --sb-lichtroze: #fff2f7;
    --sb-lichtgeel: #fff8e7;

    width: 100%;
    overflow: hidden;
    color: var(--sb-donkerpaars);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.7;
    background: #ffffff;
}

.salsabasis-pagina * {
    box-sizing: border-box;
}

.salsabasis-pagina img {
    display: block;
    max-width: 100%;
}

.salsabasis-pagina h1,
.salsabasis-pagina h2,
.salsabasis-pagina h3,
.salsabasis-pagina p {
    padding: 0;
}

.salsabasis-hero {
    position: relative;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 25px;
    color: #ffffff;
    text-align: center;
    background:
        url("/images/com_eventbooking/galleries/eventpagina/5.jpg")
        center center / cover no-repeat;
}

.salsabasis-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            135deg,
            rgba(36, 19, 52, 0.74),
            rgba(113, 43, 145, 0.54),
            rgba(237, 20, 91, 0.38)
        );
}

.salsabasis-hero-inhoud {
    position: relative;
    z-index: 2;
    width: min(980px, 100%);
}

.salsabasis-label {
    display: inline-block;
    margin-bottom: 24px;
    padding: 9px 22px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.14);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.salsabasis-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(48px, 8vw, 100px);
    font-weight: 900;
    line-height: 0.95;
    letter-spacing: -4px;
    text-transform: uppercase;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.30);
}

.salsabasis-hero h1 span {
    display: block;
    color: var(--sb-geel);
}

.salsabasis-hero-tekst {
    max-width: 760px;
    margin: 30px auto 0;
    color: #ffffff;
    font-size: clamp(18px, 2.4vw, 25px);
    line-height: 1.55;
}

.salsabasis-hero-regel {
    margin-top: 18px;
    color: var(--sb-geel);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px;
}

.salsabasis-knop,
.salsabasis-aanmeldknop {
    display: inline-block;
    margin-top: 35px;
    padding: 15px 31px;
    border-radius: 50px;
    font-size: 17px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.salsabasis-knop {
    color: var(--sb-donkerpaars);
    background: var(--sb-geel);
}

.salsabasis-knop:hover,
.salsabasis-aanmeldknop:hover {
    text-decoration: none;
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
}

.salsabasis-knop:hover {
    color: var(--sb-donkerpaars);
}

.salsabasis-intro {
    padding: 110px 25px;
    background:
        radial-gradient(
            circle at top left,
            rgba(255, 210, 63, 0.22),
            transparent 35%
        ),
        linear-gradient(135deg, #fffdf9, #fff5fa);
}

.salsabasis-intro-grid {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
}

.salsabasis-afbeeldingen {
    position: relative;
    min-height: 600px;
}

.salsabasis-afbeelding-groot {
    width: 82%;
    height: 520px;
    object-fit: cover;
    border-radius: 35px;
    box-shadow: 0 25px 55px rgba(62, 21, 72, 0.18);
}

.salsabasis-afbeelding-klein {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    height: 270px;
    object-fit: cover;
    border: 8px solid #ffffff;
    border-radius: 30px;
    box-shadow: 0 20px 45px rgba(62, 21, 72, 0.20);
}

.salsabasis-boventitel {
    margin: 0 0 14px;
    color: var(--sb-roze);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.salsabasis-boventitel-geel {
    color: var(--sb-geel);
}

.salsabasis-intro h2,
.salsabasis-voordelen h2,
.salsabasis-deelname h2,
.salsabasis-socials h2,
.salsabasis-lesdata h2,
.salsabasis-aanmelden h2 {
    margin: 0 0 26px;
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.07;
    letter-spacing: -2px;
}

.salsabasis-intro h2 span {
    color: var(--sb-roze);
}

.salsabasis-lead {
    margin-bottom: 22px;
    font-size: 21px;
    line-height: 1.7;
}

.salsabasis-intro-tekst p:not(.salsabasis-boventitel) {
    margin-top: 0;
    margin-bottom: 20px;
}

.salsabasis-quote {
    margin-top: 32px;
    padding: 24px 28px;
    border-left: 6px solid var(--sb-oranje);
    border-radius: 0 18px 18px 0;
    background: rgba(255, 122, 0, 0.10);
    font-size: 19px;
    font-weight: 700;
}

.salsabasis-voordelen {
    padding: 100px 25px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--sb-donkerpaars),
            var(--sb-paars)
        );
}

.salsabasis-voordelen-inhoud {
    width: min(1180px, 100%);
    margin: 0 auto;
    text-align: center;
}

.salsabasis-voordelen h2,
.salsabasis-deelname h2,
.salsabasis-socials h2 {
    color: #ffffff;
}

.salsabasis-voordelen-intro {
    max-width: 820px;
    margin: 0 auto 55px;
    color: rgba(255, 255, 255, 0.90);
    font-size: 19px;
}

.salsabasis-voordelen-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.salsabasis-voordeelkaart {
    min-height: 345px;
    padding: 35px 27px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 25px;
    text-align: left;
    background: rgba(255, 255, 255, 0.10);
}

.salsabasis-voordeelkaart:nth-child(1) {
    border-top: 7px solid var(--sb-roze);
}

.salsabasis-voordeelkaart:nth-child(2) {
    border-top: 7px solid var(--sb-oranje);
}

.salsabasis-voordeelkaart:nth-child(3) {
    border-top: 7px solid var(--sb-geel);
}

.salsabasis-voordeelkaart:nth-child(4) {
    border-top: 7px solid var(--sb-turquoise);
}

.salsabasis-nummer {
    margin-bottom: 25px;
    color: rgba(255, 255, 255, 0.35);
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
}

.salsabasis-voordeelkaart h3 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 25px;
    line-height: 1.25;
}

.salsabasis-voordeelkaart p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
}

.salsabasis-deelname {
    padding: 100px 25px;
    color: #ffffff;
    background:
        linear-gradient(
            90deg,
            rgba(23, 10, 33, 0.95),
            rgba(53, 17, 68, 0.76),
            rgba(36, 19, 52, 0.30)
        ),
        url("/images/com_eventbooking/galleries/eventpagina/8.jpg")
        center center / cover no-repeat;
}

.salsabasis-deelname-inhoud,
.salsabasis-socials-inhoud {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.salsabasis-deelname-tekst {
    max-width: 690px;
}

.salsabasis-deelname p:not(.salsabasis-boventitel),
.salsabasis-socials p:not(.salsabasis-boventitel) {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 18px;
}

.salsabasis-highlight {
    display: inline-block;
    margin-top: 20px;
    padding: 17px 24px;
    border-left: 5px solid var(--sb-geel);
    background: rgba(255, 255, 255, 0.14);
    font-size: 20px;
    font-weight: 800;
}

.salsabasis-socials {
    padding: 100px 25px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--sb-paars),
            var(--sb-donkerpaars)
        );
}

.salsabasis-socials-tekst {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.salsabasis-lesdata {
    padding: 100px 25px;
    text-align: center;
    background:
        radial-gradient(
            circle at top left,
            rgba(255, 210, 63, 0.42),
            transparent 32%
        ),
        radial-gradient(
            circle at bottom right,
            rgba(237, 20, 91, 0.18),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            var(--sb-lichtroze),
            var(--sb-lichtgeel)
        );
}

.salsabasis-lesdata-inhoud {
    width: min(1100px, 100%);
    margin: 0 auto;
}

.salsabasis-lesdata h2 {
    color: var(--sb-paars);
}

.salsabasis-lesdata-intro {
    max-width: 720px;
    margin: 0 auto 45px;
    font-size: 19px;
}

.salsabasis-datums-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.salsabasis-datumkaart {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 210px;
    padding: 25px 15px;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 15px 35px rgba(65, 25, 75, 0.12);
}

.salsabasis-datumkaart:nth-child(4n+1) {
    border-top: 7px solid var(--sb-roze);
}

.salsabasis-datumkaart:nth-child(4n+2) {
    border-top: 7px solid var(--sb-oranje);
}

.salsabasis-datumkaart:nth-child(4n+3) {
    border-top: 7px solid var(--sb-turquoise);
}

.salsabasis-datumkaart:nth-child(4n+4) {
    border-top: 7px solid var(--sb-paars);
}

.salsabasis-datumkaart-start {
    border: 2px solid rgba(255, 210, 63, 0.95);
    border-top: 7px solid var(--sb-geel) !important;
    box-shadow:
        0 18px 42px rgba(65, 25, 75, 0.16),
        0 0 0 5px rgba(255, 210, 63, 0.18);
}

.salsabasis-startlabel {
    display: inline-block;
    align-self: center;
    margin-bottom: 10px;
    padding: 6px 14px;
    border-radius: 30px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--sb-roze),
            var(--sb-oranje)
        );
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.3;
    text-transform: uppercase;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
}

.salsabasis-dag {
    color: var(--sb-paars);
    font-size: 52px;
    font-weight: 900;
    line-height: 1;
}

.salsabasis-maand {
    margin-top: 10px;
    color: var(--sb-donkerpaars);
    font-size: 18px;
    font-weight: 800;
}

.salsabasis-jaar {
    margin-top: 2px;
    color: #6b6171;
    font-size: 14px;
}

.salsabasis-aanmelden {
    padding: 100px 25px;
    text-align: center;
    background: #ffffff;
}

.salsabasis-aanmelden-inhoud {
    width: min(850px, 100%);
    margin: 0 auto;
}

.salsabasis-aanmelden h2 {
    color: var(--sb-paars);
}

.salsabasis-aanmelden p {
    max-width: 750px;
    margin: 0 auto 18px;
    font-size: 19px;
}

.salsabasis-aanmeldknop {
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--sb-roze),
            var(--sb-paars)
        );
}

.salsabasis-aanmeldknop:hover {
    color: #ffffff;
}

.salsabasis-website {
    margin-top: 22px;
    color: var(--sb-paars);
    font-size: 17px;
    font-weight: 800;
}

.salsabasis-praktisch {
    padding: 80px 25px;
    background: var(--sb-donkerpaars);
}

.salsabasis-praktisch-inhoud {
    width: min(1000px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
}

.salsabasis-praktisch-kaart {
    padding: 35px;
    border-radius: 25px;
    background: #ffffff;
}

.salsabasis-praktisch-kaart:first-child {
    border-top: 8px solid var(--sb-turquoise);
}

.salsabasis-praktisch-kaart:last-child {
    border-top: 8px solid var(--sb-roze);
}

.salsabasis-praktisch-label {
    margin-bottom: 12px;
    color: var(--sb-roze);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.salsabasis-praktisch-kaart h3 {
    margin: 0 0 14px;
    color: var(--sb-donkerpaars);
    font-size: 25px;
}

.salsabasis-praktisch-kaart p {
    margin: 0;
}

.salsabasis-footer {
    padding: 28px 20px;
    color: #ffffff;
    text-align: center;
    background: #160b20;
    font-size: 14px;
    letter-spacing: 0.5px;
}

@media (max-width: 1050px) {
    .salsabasis-voordelen-grid,
    .salsabasis-datums-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .salsabasis-intro-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .salsabasis-afbeeldingen {
        width: min(680px, 100%);
        margin: 0 auto;
    }
}

@media (max-width: 700px) {
    .salsabasis-hero {
        min-height: 620px;
        padding: 70px 20px;
    }

    .salsabasis-hero h1 {
        letter-spacing: -2px;
    }

    .salsabasis-intro,
    .salsabasis-voordelen,
    .salsabasis-deelname,
    .salsabasis-socials,
    .salsabasis-lesdata,
    .salsabasis-aanmelden,
    .salsabasis-praktisch {
        padding-left: 20px;
        padding-right: 20px;
    }

    .salsabasis-afbeeldingen {
        min-height: auto;
    }

    .salsabasis-afbeelding-groot {
        width: 100%;
        height: auto;
        min-height: 380px;
    }

    .salsabasis-afbeelding-klein {
        position: relative;
        width: 82%;
        height: auto;
        min-height: 220px;
        margin: -60px 0 0 auto;
    }

    .salsabasis-voordelen-grid,
    .salsabasis-datums-grid,
    .salsabasis-praktisch-inhoud {
        grid-template-columns: 1fr;
    }

    .salsabasis-voordeelkaart {
        min-height: auto;
    }

    .salsabasis-deelname {
        background-position: 60% center;
    }

    .salsabasis-highlight {
        font-size: 18px;
    }
}
.salsakort{
    max-width:950px;
    margin:40px auto;
    padding:45px;
    background:#ffffff;
    border-radius:22px;
    box-shadow:0 15px 35px rgba(0,0,0,.10);
    text-align:center;
}

.salsakort-badge{
    display:inline-block;
    padding:8px 18px;
    border-radius:30px;
    background:linear-gradient(135deg,#ed145b,#ff7a00);
    color:#fff;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
}

.salsakort h2{
    margin:20px 0;
    color:#712b91;
    font-size:38px;
}

.salsakort-lead{
    max-width:760px;
    margin:0 auto 35px;
    font-size:18px;
    line-height:1.8;
}

.salsakort-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-bottom:35px;
}

.salsakort-item{
    padding:25px;
    border-radius:18px;
    background:#faf6fc;
}

.salsakort-item span{
    display:block;
    font-size:34px;
    margin-bottom:10px;
}

.salsakort-highlight{
    padding:18px;
    border-radius:18px;
    background:#fff3d9;
    border-left:6px solid #ffb300;
    font-size:18px;
    font-weight:600;
}

@media(max-width:768px){

.salsakort{
    padding:30px 20px;
}

.salsakort h2{
    font-size:30px;
}

.salsakort-grid{
    grid-template-columns:1fr 1fr;
}

}

@media(max-width:500px){

.salsakort-grid{
    grid-template-columns:1fr;
}

}
/*
 * Salsa Paleis – Event Booking huisstijl
 * Plaats dit bestand in je template-CSS of kopieer de inhoud naar user.css.
 * De styling is bewust beperkt tot .salsabasis-booking-theme.
 */

.salsabasis-booking-theme {
    --sp-roze: #ed145b;
    --sp-roze-donker: #c80e4a;
    --sp-paars: #712b91;
    --sp-paars-donker: #241334;
    --sp-oranje: #ff7a00;
    --sp-geel: #ffd23f;
    --sp-turquoise: #00aaa5;
    --sp-tekst: #34283b;
    --sp-grijs: #746b79;
    --sp-rand: #eadfea;
    --sp-achtergrond: #fff8fb;
    --sp-wit: #fff;

    max-width: 1120px;
    margin: 35px auto;
    padding: clamp(22px, 4vw, 48px);
    border: 1px solid rgba(113, 43, 145, .12);
    border-radius: 30px;
    color: var(--sp-tekst);
    background:
        radial-gradient(circle at top left, rgba(255, 210, 63, .20), transparent 28%),
        radial-gradient(circle at bottom right, rgba(237, 20, 91, .12), transparent 30%),
        #fff;
    box-shadow: 0 24px 60px rgba(52, 22, 65, .13);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.65;
}

.salsabasis-booking-theme *,
.salsabasis-booking-theme *::before,
.salsabasis-booking-theme *::after {
    box-sizing: border-box;
}

.salsabasis-booking-theme .eb-page-heading,
.salsabasis-booking-theme .eb-page-title {
    position: relative;
    margin: 0 0 34px;
    padding: 30px clamp(22px, 4vw, 45px);
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(135deg, var(--sp-paars-donker), var(--sp-paars), var(--sp-roze));
    box-shadow: 0 16px 34px rgba(64, 20, 75, .22);
    font-size: clamp(30px, 5vw, 52px);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -1.5px;
    overflow: hidden;
}

.salsabasis-booking-theme .eb-page-heading::after,
.salsabasis-booking-theme .eb-page-title::after {
    content: "Salsa Paleis";
    display: block;
    margin-top: 12px;
    color: var(--sp-geel);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.salsabasis-booking-theme .eb-heading,
.salsabasis-booking-theme .eb-form-heading {
    margin: 34px 0 20px;
    padding: 14px 18px;
    border-left: 6px solid var(--sp-roze);
    border-radius: 0 14px 14px 0;
    color: var(--sp-paars-donker);
    background: linear-gradient(90deg, rgba(237, 20, 91, .10), rgba(255, 255, 255, .7));
    font-size: clamp(21px, 3vw, 29px);
    font-weight: 850;
    line-height: 1.25;
}

.salsabasis-booking-theme .eb-form-content,
.salsabasis-booking-theme #eb-login-form,
.salsabasis-booking-theme #adminForm,
.salsabasis-booking-theme #eb-form-number-group-members,
.salsabasis-booking-theme #eb-form-group-members {
    border-radius: 22px;
}

.salsabasis-booking-theme .control-group,
.salsabasis-booking-theme .form-group,
.salsabasis-booking-theme .uk-margin,
.salsabasis-booking-theme .mb-3 {
    margin-bottom: 22px;
}

.salsabasis-booking-theme .control-label,
.salsabasis-booking-theme .form-label,
.salsabasis-booking-theme label:not(.checkbox):not(.radio):not(.form-check-label) {
    margin-bottom: 7px;
    color: var(--sp-paars-donker);
    font-weight: 750;
}

.salsabasis-booking-theme .required {
    margin-left: 3px;
    color: var(--sp-roze);
    font-weight: 900;
}

.salsabasis-booking-theme input[type="text"],
.salsabasis-booking-theme input[type="email"],
.salsabasis-booking-theme input[type="password"],
.salsabasis-booking-theme input[type="number"],
.salsabasis-booking-theme input[type="tel"],
.salsabasis-booking-theme input[type="url"],
.salsabasis-booking-theme input[type="date"],
.salsabasis-booking-theme select,
.salsabasis-booking-theme textarea,
.salsabasis-booking-theme .form-control,
.salsabasis-booking-theme .form-select,
.salsabasis-booking-theme .uk-input,
.salsabasis-booking-theme .uk-select,
.salsabasis-booking-theme .uk-textarea {
    width: 100%;
    min-height: 50px;
    padding: 12px 15px;
    border: 1px solid var(--sp-rand);
    border-radius: 13px;
    color: var(--sp-tekst);
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(42, 15, 50, .03);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.salsabasis-booking-theme textarea,
.salsabasis-booking-theme .uk-textarea {
    min-height: 120px;
    resize: vertical;
}

.salsabasis-booking-theme input:focus,
.salsabasis-booking-theme select:focus,
.salsabasis-booking-theme textarea:focus,
.salsabasis-booking-theme .form-control:focus,
.salsabasis-booking-theme .form-select:focus {
    outline: none;
    border-color: var(--sp-roze);
    box-shadow: 0 0 0 4px rgba(237, 20, 91, .13);
}

.salsabasis-booking-theme input[readonly],
.salsabasis-booking-theme input[disabled],
.salsabasis-booking-theme select[disabled] {
    color: #504757;
    background: #f7f1f8;
}

.salsabasis-booking-theme .input-group,
.salsabasis-booking-theme .input-append,
.salsabasis-booking-theme .input-prepend {
    display: flex;
    align-items: stretch;
}

.salsabasis-booking-theme .input-group-text,
.salsabasis-booking-theme .add-on {
    display: flex;
    align-items: center;
    padding: 0 16px;
    border: 1px solid var(--sp-rand);
    color: var(--sp-paars-donker);
    background: var(--sp-geel);
    font-weight: 850;
}

.salsabasis-booking-theme .btn,
.salsabasis-booking-theme .button,
.salsabasis-booking-theme button,
.salsabasis-booking-theme input[type="submit"],
.salsabasis-booking-theme input[type="button"] {
    min-height: 48px;
    padding: 12px 24px;
    border: 0;
    border-radius: 50px;
    color: #fff;
    background: linear-gradient(135deg, var(--sp-roze), var(--sp-paars));
    box-shadow: 0 10px 24px rgba(113, 43, 145, .22);
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.salsabasis-booking-theme .btn:hover,
.salsabasis-booking-theme .button:hover,
.salsabasis-booking-theme button:hover,
.salsabasis-booking-theme input[type="submit"]:hover,
.salsabasis-booking-theme input[type="button"]:hover {
    color: #fff;
    filter: brightness(1.05);
    transform: translateY(-2px);
    box-shadow: 0 15px 31px rgba(113, 43, 145, .28);
}

.salsabasis-booking-theme .btn-secondary,
.salsabasis-booking-theme .btn-default {
    color: var(--sp-paars-donker);
    background: #fff;
    border: 1px solid var(--sp-rand);
    box-shadow: 0 7px 18px rgba(50, 20, 60, .09);
}

.salsabasis-booking-theme .btn-secondary:hover,
.salsabasis-booking-theme .btn-default:hover {
    color: var(--sp-paars-donker);
    background: var(--sp-licht, #fff8fb);
}

.salsabasis-booking-theme table,
.salsabasis-booking-theme .table {
    width: 100%;
    margin: 20px 0 30px;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 28px rgba(54, 20, 65, .10);
}

.salsabasis-booking-theme table thead th,
.salsabasis-booking-theme .table thead th {
    padding: 16px;
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, var(--sp-paars-donker), var(--sp-paars));
    font-weight: 800;
    vertical-align: middle;
}

.salsabasis-booking-theme table tbody td,
.salsabasis-booking-theme .table tbody td {
    padding: 16px;
    border: 0;
    border-bottom: 1px solid #f0e7f1;
    vertical-align: middle;
}

.salsabasis-booking-theme table tbody tr:nth-child(even),
.salsabasis-booking-theme .table-striped tbody tr:nth-of-type(odd) {
    background: #fff8fb;
}

.salsabasis-booking-theme table tbody tr:hover {
    background: #fff3d9;
}

.salsabasis-booking-theme .eb-ticket-type-title {
    color: var(--sp-paars-donker);
    font-weight: 850;
}

.salsabasis-booking-theme .eb-ticket-type-description {
    margin: 6px 0 0;
    color: var(--sp-grijs);
    font-size: 14px;
    font-weight: 400;
}

.salsabasis-booking-theme .payment_information,
.salsabasis-booking-theme #eb-coupon-container,
.salsabasis-booking-theme #eb-amount-container,
.salsabasis-booking-theme #eb-discount-amount-container,
.salsabasis-booking-theme #eb-tax-amount-container,
.salsabasis-booking-theme #eb-gross-amount-container,
.salsabasis-booking-theme #eb-payment-processing-fee-container,
.salsabasis-booking-theme #eb-late-fee-container {
    padding: 16px 18px;
    border: 1px solid #eee3ef;
    border-radius: 15px;
    background: rgba(255, 255, 255, .86);
}

.salsabasis-booking-theme #eb-gross-amount-container {
    border: 2px solid rgba(237, 20, 91, .28);
    background: linear-gradient(135deg, #fff6d7, #fff3f8);
    box-shadow: 0 10px 25px rgba(90, 32, 96, .10);
}

.salsabasis-booking-theme #eb-gross-amount-container label,
.salsabasis-booking-theme #eb-gross-amount-container .control-label {
    color: var(--sp-roze-donker);
    font-size: 18px;
    font-weight: 900;
}

.salsabasis-booking-theme #payment_method_container label,
.salsabasis-booking-theme .payment_information label.d-block {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin: 10px 0;
    padding: 15px 17px;
    border: 1px solid var(--sp-rand);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.salsabasis-booking-theme #payment_method_container label:hover,
.salsabasis-booking-theme .payment_information label.d-block:hover {
    border-color: var(--sp-roze);
    box-shadow: 0 8px 20px rgba(95, 35, 105, .10);
    transform: translateY(-1px);
}

.salsabasis-booking-theme input[type="checkbox"],
.salsabasis-booking-theme input[type="radio"],
.salsabasis-booking-theme .form-check-input {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    accent-color: var(--sp-roze);
}

.salsabasis-booking-theme .eb-payment-method-icon {
    width: auto;
    max-width: 125px;
    max-height: 38px;
    object-fit: contain;
}

.salsabasis-booking-theme .eb-terms-and-conditions-container,
.salsabasis-booking-theme #eb-privacy-policy-container,
.salsabasis-booking-theme .eb-subscribe-to-newsletter-container {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid var(--sp-rand);
    border-radius: 16px;
    background: #fffafc;
}

.salsabasis-booking-theme .checkbox,
.salsabasis-booking-theme .form-check-label {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    cursor: pointer;
}

.salsabasis-booking-theme a {
    color: var(--sp-paars);
    font-weight: 700;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.salsabasis-booking-theme a:hover {
    color: var(--sp-roze);
}

.salsabasis-booking-theme .eb-message,
.salsabasis-booking-theme .alert {
    margin: 18px 0 26px;
    padding: 18px 20px;
    border: 0;
    border-left: 6px solid var(--sp-turquoise);
    border-radius: 0 15px 15px 0;
    color: #000000 !important;
    background: rgba(0, 170, 165, .10);
}

.salsabasis-booking-theme .alert-danger,
.salsabasis-booking-theme .invalid,
.salsabasis-booking-theme .formErrorContent {
    color: #a51242;
}

.salsabasis-booking-theme .eb-privacy-policy-message.alert-info {
    margin-top: 12px;
    font-size: 14px;
}

.salsabasis-booking-theme #eb-forgot-username-password {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.salsabasis-booking-theme .osm-extra-login-buttons {
    margin-top: 12px;
}

.salsabasis-booking-theme .osm-extra-login-buttons .btn {
    width: 100%;
}

.salsabasis-booking-theme .eb-cart-content {
    overflow-x: auto;
}

.salsabasis-booking-theme .eb-form-heading {
    cursor: default;
}

.salsabasis-booking-theme .eb-form-content:empty {
    min-height: 70px;
    border: 1px dashed rgba(113, 43, 145, .22);
    background: rgba(255, 248, 251, .65);
}

.salsabasis-booking-theme .center,
.salsabasis-booking-theme .text-center {
    text-align: center;
}

.salsabasis-booking-theme .text-right {
    text-align: right;
}

@media (max-width: 767px) {
    .salsabasis-booking-theme {
        margin: 18px auto;
        padding: 18px;
        border-radius: 20px;
    }

    .salsabasis-booking-theme .eb-page-heading,
    .salsabasis-booking-theme .eb-page-title {
        padding: 24px 20px;
        border-radius: 18px;
    }

    .salsabasis-booking-theme .control-label,
    .salsabasis-booking-theme .controls {
        width: 100%;
        float: none;
        margin-left: 0;
    }

    .salsabasis-booking-theme table,
    .salsabasis-booking-theme .table {
        min-width: 640px;
    }

    .salsabasis-booking-theme .btn,
    .salsabasis-booking-theme .button,
    .salsabasis-booking-theme input[type="submit"] {
        width: 100%;
        margin-bottom: 10px;
    }
}
.eb-message span[style] {
    color: #000000 !important;
}