@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&display=swap');
/* Sidebar toggle button alleen tonen op mobiel */
@media (min-width: 1024px) {
    .sidebar-toggle-btn {
        display: none !important;
    }
}

/* Consistent image size and spacing for wie-zijn-we page diubjjhyrhyrjji */
#homepage-cards-container {
    width: 95%;
}

.consistent-img {
    display: block;
    width: 366px;
    height: 94px;
    object-fit: contain;
    margin-bottom: 1rem;
    margin-left: auto;
    margin-right: auto;
}

.bigger-img {
    width: 732px;
    height: 200px;
}

@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-space-y-reverse: 0;
            --tw-space-x-reverse: 0;
            --tw-divide-x-reverse: 0;
            --tw-border-style: solid;
            --tw-divide-y-reverse: 0;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-duration: initial;
            --tw-ease: initial
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: "Instrument Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-amber-200: oklch(92.4% .12 95.746);
        --color-amber-300: oklch(87.9% .169 91.605);
        --color-amber-500: oklch(76.9% .188 70.08);
        --color-amber-600: oklch(66.6% .179 58.318);
        --color-amber-800: oklch(47.3% .137 46.201);
        --color-amber-900: oklch(41.4% .112 45.904);
        --color-amber-950: oklch(27.9% .077 45.635);
        --color-green-100: oklch(96.2% .044 156.743);
        --color-green-700: oklch(52.7% .154 150.069);
        --color-green-800: oklch(44.8% .119 151.328);
        --color-emerald-200: oklch(90.5% .093 164.15);
        --color-emerald-400: oklch(76.5% .177 163.223);
        --color-emerald-500: oklch(69.6% .17 162.48);
        --color-emerald-600: oklch(59.6% .145 163.225);
        --color-emerald-900: oklch(37.8% .077 168.94);
        --color-blue-100: oklch(93.2% .032 255.585);
        --color-blue-300: oklch(80.9% .105 251.813);
        --color-blue-500: oklch(62.3% .214 259.815);
        --color-blue-600: oklch(54.6% .245 262.881);
        --color-blue-700: oklch(48.8% .243 264.376);
        --color-blue-800: oklch(42.4% .199 265.638);
        --color-blue-900: oklch(37.9% .146 265.522);
        --color-blue-950: oklch(28.2% .091 267.935);
        --color-pink-100: oklch(94.8% .028 342.258);
        --color-rose-100: oklch(94.1% .03 12.58);
        --color-rose-200: oklch(89.2% .058 10.001);
        --color-rose-500: oklch(64.5% .246 16.439);
        --color-rose-600: oklch(58.6% .253 17.585);
        --color-rose-900: oklch(41% .159 10.272);
        --color-rose-950: oklch(27.1% .105 12.094);
        --color-gray-50: oklch(98.5% .002 247.839);
        --color-gray-100: oklch(96.7% .003 264.542);
        --color-gray-200: oklch(92.8% .006 264.531);
        --color-gray-300: oklch(87.2% .01 258.338);
        --color-gray-400: oklch(70.7% .022 261.325);
        --color-gray-500: oklch(55.1% .027 264.364);
        --color-gray-600: oklch(44.6% .03 256.802);
        --color-gray-700: oklch(37.3% .034 259.733);
        --color-gray-800: oklch(27.8% .033 256.848);
        --color-gray-900: oklch(21% .034 264.665);
        --color-neutral-50: oklch(98.5% 0 0);
        --color-neutral-100: oklch(97% 0 0);
        --color-neutral-200: oklch(92.2% 0 0);
        --color-neutral-300: oklch(87% 0 0);
        --color-neutral-400: oklch(70.8% 0 0);
        --color-neutral-500: oklch(55.6% 0 0);
        --color-neutral-600: oklch(43.9% 0 0);
        --color-neutral-700: oklch(37.1% 0 0);
        --color-neutral-800: oklch(26.9% 0 0);
        --color-neutral-900: oklch(20.5% 0 0);
        --color-neutral-950: oklch(14.5% 0 0);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-sm: 24rem;
        --container-md: 28rem;
        --container-xl: 36rem;
        --container-3xl: 48rem;
        --container-6xl: 72rem;
        --container-7xl: 80rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75/1.125);
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75/1.25);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2/1.5);
        --text-3xl: 1.875rem;
        --text-3xl--line-height: 1.2;
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --text-9xl: 8rem;
        --text-9xl--line-height: 1;
        --font-weight-light: 300;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --tracking-wider: .05em;
        --leading-relaxed: 1.625;
        --radius-md: .375rem;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --ease-in-out: cubic-bezier(.4, 0, .2, 1);
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-rdm: #b2bd4f
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    html,
    :host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings, normal);
        font-variation-settings: var(--default-font-variation-settings, normal);
        -webkit-tap-highlight-color: transparent
    }

    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }

    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: inherit;
        font-weight: inherit
    }

    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

    code,
    kbd,
    samp,
    pre {
        font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings, normal);
        font-variation-settings: var(--default-mono-font-variation-settings, normal);
        font-size: 1em
    }

    small {
        font-size: 80%
    }

    sub,
    sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

    img,
    svg,
    video,
    canvas,
    audio,
    iframe,
    embed,
    object {
        vertical-align: middle;
        display: block
    }

    img,
    video {
        max-width: 100%;
        height: auto
    }

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

    ::-webkit-search-decoration {
        -webkit-appearance: none
    }

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-moz-ui-invalid {
        box-shadow: none
    }

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

    ::-webkit-inner-spin-button {
        height: auto
    }

    ::-webkit-outer-spin-button {
        height: auto
    }

    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .inset-0 {
        inset: calc(var(--spacing)*0)
    }

    .top-0 {
        top: calc(var(--spacing)*0)
    }

    .top-\[-1px\] {
        top: -1px
    }

    .right-0 {
        right: calc(var(--spacing)*0)
    }

    .bottom-0 {
        bottom: calc(var(--spacing)*0)
    }

    .left-0 {
        left: calc(var(--spacing)*0)
    }

    .-z-10 {
        z-index: -10
    }

    .z-0 {
        z-index: 0
    }

    .z-50 {
        z-index: 50
    }

    .container {
        width: 100%
    }

    @media(min-width:40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media(min-width:48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media(min-width:64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media(min-width:80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media(min-width:96rem) {
        .container {
            max-width: 96rem
        }
    }

    .mx-auto {
        margin-inline: auto
    }

    .my-4 {
        margin-block: calc(var(--spacing)*4)
    }

    .my-10 {
        margin-block: calc(var(--spacing)*10)
    }

    .my-12 {
        margin-block: calc(var(--spacing)*12)
    }

    .-mt-5 {
        margin-top: calc(var(--spacing)*-5)
    }

    .-mt-px {
        margin-top: -1px
    }

    .mt-2 {
        margin-top: calc(var(--spacing)*2)
    }

    .mt-4 {
        margin-top: calc(var(--spacing)*4)
    }

    .mt-6 {
        margin-top: calc(var(--spacing)*6)
    }

    .mt-8 {
        margin-top: calc(var(--spacing)*8)
    }

    .mt-10 {
        margin-top: calc(var(--spacing)*10)
    }

    .mt-16 {
        margin-top: calc(var(--spacing)*16)
    }

    .mr-2 {
        margin-right: calc(var(--spacing)*2)
    }

    .mr-5 {
        margin-right: calc(var(--spacing)*5)
    }

    .mr-6 {
        margin-right: calc(var(--spacing)*6)
    }

    .mb-1 {
        margin-bottom: calc(var(--spacing)*1)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing)*2)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing)*4)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing)*6)
    }

    .mb-8 {
        margin-bottom: calc(var(--spacing)*8)
    }

    .mb-10 {
        margin-bottom: calc(var(--spacing)*10)
    }

    .-ml-px {
        margin-left: -1px
    }

    .ml-1 {
        margin-left: calc(var(--spacing)*1)
    }

    .ml-2 {
        margin-left: calc(var(--spacing)*2)
    }

    .ml-3 {
        margin-left: calc(var(--spacing)*3)
    }

    .ml-4 {
        margin-left: calc(var(--spacing)*4)
    }

    .ml-5 {
        margin-left: calc(var(--spacing)*5)
    }

    .ml-12 {
        margin-left: calc(var(--spacing)*12)
    }

    .ml-\[2px\] {
        margin-left: 2px
    }

    .ml-\[15\%\] {
        margin-left: 15%
    }

    .block {
        display: block
    }

    .contents {
        display: contents
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

    .table {
        display: table
    }

    .size-2 {
        width: calc(var(--spacing)*2);
        height: calc(var(--spacing)*2)
    }

    .size-3 {
        width: calc(var(--spacing)*3);
        height: calc(var(--spacing)*3)
    }

    .h-0 {
        height: calc(var(--spacing)*0)
    }

    .h-2\.5 {
        height: calc(var(--spacing)*2.5)
    }

    .h-3 {
        height: calc(var(--spacing)*3)
    }

    .h-4 {
        height: calc(var(--spacing)*4)
    }

    .h-5 {
        height: calc(var(--spacing)*5)
    }

    .h-6 {
        height: calc(var(--spacing)*6)
    }

    .h-7 {
        height: calc(var(--spacing)*7)
    }

    .h-8 {
        height: calc(var(--spacing)*8)
    }

    .h-10 {
        height: calc(var(--spacing)*10)
    }

    .h-11 {
        height: calc(var(--spacing)*11)
    }

    .h-14 {
        height: calc(var(--spacing)*14)
    }

    .h-16 {
        height: calc(var(--spacing)*16)
    }

    .h-20 {
        height: calc(var(--spacing)*20)
    }

    .h-32 {
        height: calc(var(--spacing)*32)
    }

    .h-62 {
        height: calc(var(--spacing)*62)
    }

    .h-64 {
        height: calc(var(--spacing)*64)
    }

    .h-72 {
        height: calc(var(--spacing)*72)
    }

    .h-\[18px\] {
        height: 18px
    }

    .h-\[56px\] {
        height: 56px
    }

    .h-auto {
        height: auto
    }

    .max-h-\[250px\] {
        max-height: 250px
    }

    .max-h-full {
        max-height: 100%
    }

    .min-h-\[150px\] {
        min-height: 150px
    }

    .min-h-\[220px\] {
        min-height: 220px
    }

    .min-h-\[320px\] {
        min-height: 320px
    }

    .min-h-\[360px\] {
        min-height: 360px
    }

    .min-h-\[420px\] {
        min-height: 420px
    }

    .min-h-dvh {
        min-height: 100dvh
    }

    .min-h-screen {
        min-height: 100vh
    }

    .w-2\.5 {
        width: calc(var(--spacing)*2.5)
    }

    .w-3 {
        width: calc(var(--spacing)*3)
    }

    .w-4 {
        width: calc(var(--spacing)*4)
    }

    .w-5 {
        width: calc(var(--spacing)*5)
    }

    .w-6 {
        width: calc(var(--spacing)*6)
    }

    .w-8 {
        width: calc(var(--spacing)*8)
    }

    .w-14 {
        width: calc(var(--spacing)*14)
    }

    .w-32 {
        width: calc(var(--spacing)*32)
    }

    .w-56 {
        width: calc(var(--spacing)*56)
    }

    .w-\[18px\] {
        width: 18px
    }

    .w-auto {
        width: auto
    }

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .max-w-3xl {
        max-width: var(--container-3xl)
    }

    .max-w-6xl {
        max-width: var(--container-6xl)
    }

    .max-w-7xl {
        max-width: var(--container-7xl)
    }

    .max-w-full {
        max-width: 100%
    }

    .max-w-md {
        max-width: var(--container-md)
    }

    .max-w-sm {
        max-width: var(--container-sm)
    }

    .max-w-xl {
        max-width: var(--container-xl)
    }

    .min-w-0 {
        min-width: calc(var(--spacing)*0)
    }

    .min-w-5 {
        min-width: calc(var(--spacing)*5)
    }

    .min-w-6 {
        min-width: calc(var(--spacing)*6)
    }

    .flex-1 {
        flex: 1
    }

    .flex-shrink-0,
    .shrink-0 {
        flex-shrink: 0
    }

    .grow {
        flex-grow: 1
    }

    .rotate-180 {
        rotate: 180deg
    }

    .transform {
        transform: var(--tw-rotate-x, )var(--tw-rotate-y, )var(--tw-rotate-z, )var(--tw-skew-x, )var(--tw-skew-y, )
    }

    .cursor-default {
        cursor: default
    }

    .cursor-not-allowed\! {
        cursor: not-allowed !important
    }

    .cursor-pointer {
        cursor: pointer
    }

    .list-disc {
        list-style-type: disc
    }

    .grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .flex-col {
        flex-direction: column
    }

    .flex-row {
        flex-direction: row
    }

    .items-baseline {
        align-items: baseline
    }

    .items-center {
        align-items: center
    }

    .items-start {
        align-items: flex-start
    }

    .justify-between {
        justify-content: space-between
    }

    .justify-center {
        justify-content: center
    }

    .justify-evenly {
        justify-content: space-evenly
    }

    .justify-start {
        justify-content: flex-start
    }

    .justify-items-center {
        justify-items: center
    }

    .gap-0\.5 {
        gap: calc(var(--spacing)*.5)
    }

    .gap-1 {
        gap: calc(var(--spacing)*1)
    }

    .gap-1\.5 {
        gap: calc(var(--spacing)*1.5)
    }

    .gap-2 {
        gap: calc(var(--spacing)*2)
    }

    .gap-2\.5 {
        gap: calc(var(--spacing)*2.5)
    }

    .gap-3 {
        gap: calc(var(--spacing)*3)
    }

    .gap-4 {
        gap: calc(var(--spacing)*4)
    }

    .gap-5 {
        gap: calc(var(--spacing)*5)
    }

    .gap-6 {
        gap: calc(var(--spacing)*6)
    }

    .gap-8 {
        gap: calc(var(--spacing)*8)
    }

    .gap-10 {
        gap: calc(var(--spacing)*10)
    }

    .gap-12 {
        gap: calc(var(--spacing)*12)
    }

    :where(.space-y-2>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-3>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-4>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-6>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-x-3>:not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))
    }

    :where(.space-x-4>:not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))
    }

    :where(.space-x-8>:not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))
    }

    :where(.divide-x>:not(:last-child)) {
        --tw-divide-x-reverse: 0;
        border-inline-style: var(--tw-border-style);
        border-inline-start-width: calc(1px*var(--tw-divide-x-reverse));
        border-inline-end-width: calc(1px*calc(1 - var(--tw-divide-x-reverse)))
    }

    :where(.divide-y>:not(:last-child)) {
        --tw-divide-y-reverse: 0;
        border-bottom-style: var(--tw-border-style);
        border-top-style: var(--tw-border-style);
        border-top-width: calc(1px*var(--tw-divide-y-reverse));
        border-bottom-width: calc(1px*calc(1 - var(--tw-divide-y-reverse)))
    }

    :where(.divide-neutral-200>:not(:last-child)) {
        border-color: var(--color-neutral-200)
    }

    .truncate {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .overflow-hidden {
        overflow: hidden
    }

    .overflow-x-auto {
        overflow-x: auto
    }

    .overflow-x-hidden {
        overflow-x: hidden
    }

    .rounded-full {
        border-radius: 3.40282e38px
    }

    .rounded-lg {
        border-radius: var(--radius-lg)
    }

    .rounded-md {
        border-radius: var(--radius-md)
    }

    .rounded-xl {
        border-radius: var(--radius-xl)
    }

    .rounded-t-lg {
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg)
    }

    .rounded-l-md {
        border-top-left-radius: var(--radius-md);
        border-bottom-left-radius: var(--radius-md)
    }

    .rounded-r-md {
        border-top-right-radius: var(--radius-md);
        border-bottom-right-radius: var(--radius-md)
    }

    .rounded-b-lg {
        border-bottom-right-radius: var(--radius-lg);
        border-bottom-left-radius: var(--radius-lg)
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-x {
        border-inline-style: var(--tw-border-style);
        border-inline-width: 1px
    }

    .border-t {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .border-r {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .border-b-2 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px
    }

    .border-dashed {
        --tw-border-style: dashed;
        border-style: dashed
    }

    .border-dotted {
        --tw-border-style: dotted;
        border-style: dotted
    }

    .border-gray-200 {
        border-color: var(--color-gray-200)
    }

    .border-gray-300 {
        border-color: var(--color-gray-300)
    }

    .border-gray-400 {
        border-color: var(--color-gray-400)
    }

    .border-neutral-100 {
        border-color: var(--color-neutral-100)
    }

    .border-neutral-200 {
        border-color: var(--color-neutral-200)
    }

    .border-neutral-300 {
        border-color: var(--color-neutral-300)
    }

    .bg-\[\#00811F\] {
        background-color: #00811f
    }

    .bg-amber-200 {
        background-color: var(--color-amber-200)
    }

    .bg-amber-600 {
        background-color: var(--color-amber-600)
    }

    .bg-black\/8 {
        background-color: #00000014
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/8 {
            background-color: color-mix(in oklab, var(--color-black)8%, transparent)
        }
    }

    .bg-black\/10 {
        background-color: #0000001a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/10 {
            background-color: color-mix(in oklab, var(--color-black)10%, transparent)
        }
    }

    .bg-blue-100 {
        background-color: var(--color-blue-100)
    }

    .bg-blue-600 {
        background-color: var(--color-blue-600)
    }

    .bg-blue-700 {
        background-color: var(--color-blue-700)
    }

    .bg-emerald-200 {
        background-color: var(--color-emerald-200)
    }

    .bg-emerald-600 {
        background-color: var(--color-emerald-600)
    }

    .bg-gray-50 {
        background-color: var(--color-gray-50)
    }

    .bg-gray-100 {
        background-color: var(--color-gray-100)
    }

    .bg-green-100 {
        background-color: var(--color-green-100)
    }

    .bg-neutral-50 {
        background-color: var(--color-neutral-50)
    }

    .bg-neutral-600 {
        background-color: var(--color-neutral-600)
    }

    .bg-pink-100 {
        background-color: var(--color-pink-100)
    }

    .bg-rose-200 {
        background-color: var(--color-rose-200)
    }

    .bg-rose-200\! {
        background-color: var(--color-rose-200) !important
    }
    /* Mobile ordering helper: put element first on small screens, last on md+ */
    .mobile-order-first {
        order: -1;
    }

    @media (min-width: 768px) {
        .mobile-order-first {
            order: 1;
        }
    }

    /* Show image only on mobile when duplicated inside content */
    .mobile-image {
        display: block;
    }
    .desktop-image {
        display: none;
    }

    @media (min-width: 768px) {
        .mobile-image {
            display: none;
        }
        .desktop-image {
            display: block;
        }
    }

    .bg-rose-500 {
        background-color: var(--color-rose-500)
    }

    .bg-rose-600 {
        background-color: var(--color-rose-600)
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-white\/5 {
        background-color: #ffffff0d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/5 {
            background-color: color-mix(in oklab, var(--color-white)5%, transparent)
        }
    }

    .bg-white\/\[2\%\] {
        background-color: #ffffff05
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/\[2\%\] {
            background-color: color-mix(in oklab, var(--color-white)2%, transparent)
        }
    }

    .bg-gradient-to-br {
        --tw-gradient-position: to bottom right in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-\[\#00811F\] {
        --tw-gradient-from: #00811f;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-\[\#b9eb34\] {
        --tw-gradient-to: #b9eb34;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .bg-cover {
        background-size: cover
    }

    .bg-center {
        background-position: 50%
    }

    .object-contain {
        object-fit: contain
    }

    .object-cover {
        object-fit: cover
    }

    .p-1 {
        padding: calc(var(--spacing)*1)
    }

    .p-2 {
        padding: calc(var(--spacing)*2)
    }

    .p-2\.5 {
        padding: calc(var(--spacing)*2.5)
    }

    .p-4 {
        padding: calc(var(--spacing)*4)
    }

    .p-5 {
        padding: calc(var(--spacing)*5)
    }

    .p-6 {
        padding: calc(var(--spacing)*6)
    }

    .p-8 {
        padding: calc(var(--spacing)*8)
    }

    .px-1\.5 {
        padding-inline: calc(var(--spacing)*1.5)
    }

    .px-2 {
        padding-inline: calc(var(--spacing)*2)
    }

    .px-3 {
        padding-inline: calc(var(--spacing)*3)
    }

    .px-4 {
        padding-inline: calc(var(--spacing)*4)
    }

    .px-6 {
        padding-inline: calc(var(--spacing)*6)
    }

    .px-\[6px\] {
        padding-inline: 6px
    }

    .py-0 {
        padding-block: calc(var(--spacing)*0)
    }

    .py-1 {
        padding-block: calc(var(--spacing)*1)
    }

    .py-2 {
        padding-block: calc(var(--spacing)*2)
    }

    .py-3 {
        padding-block: calc(var(--spacing)*3)
    }

    .py-4 {
        padding-block: calc(var(--spacing)*4)
    }

    .py-12 {
        padding-block: calc(var(--spacing)*12)
    }

    .pt-8 {
        padding-top: calc(var(--spacing)*8)
    }

    .pt-14 {
        padding-top: calc(var(--spacing)*14)
    }

    .pr-2\.5 {
        padding-right: calc(var(--spacing)*2.5)
    }

    .pr-5 {
        padding-right: calc(var(--spacing)*5)
    }

    .pb-0 {
        padding-bottom: calc(var(--spacing)*0)
    }

    .pb-3 {
        padding-bottom: calc(var(--spacing)*3)
    }

    .pl-4 {
        padding-left: calc(var(--spacing)*4)
    }

    .pl-10 {
        padding-left: calc(var(--spacing)*10)
    }

    .text-center {
        text-align: center
    }

    .text-right {
        text-align: right
    }

    .font-mono {
        font-family: var(--font-mono)
    }

    .font-sans {
        font-family: var(--font-sans)
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height))
    }

    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading, var(--text-3xl--line-height))
    }

    .text-9xl {
        font-size: var(--text-9xl);
        line-height: var(--tw-leading, var(--text-9xl--line-height))
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height))
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .text-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .text-xs\/none {
        font-size: var(--text-xs);
        line-height: 1
    }

    .text-\[13px\] {
        font-size: 13px
    }

    .leading-3 {
        --tw-leading: calc(var(--spacing)*3);
        line-height: calc(var(--spacing)*3)
    }

    .leading-5 {
        --tw-leading: calc(var(--spacing)*5);
        line-height: calc(var(--spacing)*5)
    }

    .leading-7 {
        --tw-leading: calc(var(--spacing)*7);
        line-height: calc(var(--spacing)*7)
    }

    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed)
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold)
    }

    .font-light {
        --tw-font-weight: var(--font-weight-light);
        font-weight: var(--font-weight-light)
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold)
    }

    .tracking-wider {
        --tw-tracking: var(--tracking-wider);
        letter-spacing: var(--tracking-wider)
    }

    .text-\[\#00811F\] {
        color: #00811f
    }

    .text-\[\#cc0033\] {
        color: #c03
    }

    .text-amber-900 {
        color: var(--color-amber-900)
    }

    .text-black {
        color: var(--color-black)
    }

    .text-blue-500 {
        color: var(--color-blue-500)
    }

    .text-blue-900 {
        color: var(--color-blue-900)
    }

    .text-emerald-500 {
        color: var(--color-emerald-500)
    }

    .text-emerald-900 {
        color: var(--color-emerald-900)
    }

    .text-gray-200 {
        color: var(--color-gray-200)
    }

    .text-gray-300 {
        color: var(--color-gray-300)
    }

    .text-gray-400 {
        color: var(--color-gray-400)
    }

    .text-gray-500 {
        color: var(--color-gray-500)
    }

    .text-gray-600 {
        color: var(--color-gray-600)
    }

    .text-gray-700 {
        color: var(--color-gray-700)
    }

    .text-gray-900 {
        color: var(--color-gray-900)
    }

    .text-green-800 {
        color: var(--color-green-800)
    }

    .text-neutral-100 {
        color: var(--color-neutral-100)
    }

    .text-neutral-400 {
        color: var(--color-neutral-400)
    }

    .text-neutral-500 {
        color: var(--color-neutral-500)
    }

    .text-neutral-500\! {
        color: var(--color-neutral-500) !important
    }

    .text-neutral-600 {
        color: var(--color-neutral-600)
    }

    .text-neutral-800 {
        color: var(--color-neutral-800)
    }

    .text-neutral-900 {
        color: var(--color-neutral-900)
    }

    .text-neutral-950 {
        color: var(--color-neutral-950)
    }

    .text-rose-900 {
        color: var(--color-rose-900)
    }

    .text-white {
        color: var(--color-white)
    }

    .uppercase {
        text-transform: uppercase
    }

    .underline {
        text-decoration-line: underline
    }

    .decoration-neutral-400 {
        -webkit-text-decoration-color: var(--color-neutral-400);
        text-decoration-color: var(--color-neutral-400)
    }

    .antialiased {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }

    .scheme-light-dark {
        color-scheme: light dark
    }

    .opacity-90 {
        opacity: .9
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-inner {
        --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-md {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-sm {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xs {
        --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .ring-gray-300 {
        --tw-ring-color: var(--color-gray-300)
    }

    .transition {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-colors {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-transform {
        transition-property: transform, translate, scale, rotate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .duration-150 {
        --tw-duration: .15s;
        transition-duration: .15s
    }

    .duration-200 {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out)
    }

    @media(hover:hover) {
        .group-hover\:text-blue-500:is(:where(.group):hover *) {
            color: var(--color-blue-500)
        }
    }

    .marker\:text-gray-600 ::marker {
        color: var(--color-gray-600)
    }

    .marker\:text-gray-600::marker {
        color: var(--color-gray-600)
    }

    .marker\:text-gray-600 ::-webkit-details-marker {
        color: var(--color-gray-600)
    }

    .marker\:text-gray-600::-webkit-details-marker {
        color: var(--color-gray-600)
    }

    .odd\:bg-white\/2:nth-child(odd) {
        background-color: #ffffff05
    }

    @supports (color:color-mix(in lab, red, red)) {
        .odd\:bg-white\/2:nth-child(odd) {
            background-color: color-mix(in oklab, var(--color-white)2%, transparent)
        }
    }

    .even\:bg-white:nth-child(2n) {
        background-color: var(--color-white)
    }

    @media(hover:hover) {
        .hover\:bg-blue-600:hover {
            background-color: var(--color-blue-600)
        }

        .hover\:bg-gray-100:hover {
            background-color: var(--color-gray-100)
        }

        .hover\:bg-green-700:hover {
            background-color: var(--color-green-700)
        }

        .hover\:bg-neutral-100:hover {
            background-color: var(--color-neutral-100)
        }

        .hover\:bg-neutral-200:hover {
            background-color: var(--color-neutral-200)
        }

        .hover\:bg-rdm:hover {
            background-color: var(--color-rdm)
        }

        .hover\:bg-white\/50:hover {
            background-color: #ffffff80
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-white\/50:hover {
                background-color: color-mix(in oklab, var(--color-white)50%, transparent)
            }
        }

        .hover\:text-\[\#006f19\]:hover {
            color: #006f19
        }

        .hover\:text-\[\#00811F\]:hover {
            color: #00811f
        }

        .hover\:text-gray-400:hover {
            color: var(--color-gray-400)
        }

        .hover\:text-gray-500:hover {
            color: var(--color-gray-500)
        }

        .hover\:underline:hover {
            text-decoration-line: underline
        }
    }

    .focus\:z-10:focus {
        z-index: 10
    }

    .focus\:border-blue-300:focus {
        border-color: var(--color-blue-300)
    }

    .focus\:ring:focus {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus\:ring-2:focus {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus\:ring-blue-500:focus {
        --tw-ring-color: var(--color-blue-500)
    }

    .focus\:outline-none:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    .active\:bg-gray-100:active {
        background-color: var(--color-gray-100)
    }

    .active\:text-gray-500:active {
        color: var(--color-gray-500)
    }

    .active\:text-gray-700:active {
        color: var(--color-gray-700)
    }

    @media(min-width:40rem) {
        .sm\:mb-16 {
            margin-bottom: calc(var(--spacing)*16)
        }

        .sm\:flex {
            display: flex
        }

        .sm\:hidden {
            display: none
        }

        .sm\:flex-1 {
            flex: 1
        }

        .sm\:items-center {
            align-items: center
        }

        .sm\:justify-between {
            justify-content: space-between
        }

        .sm\:justify-start {
            justify-content: flex-start
        }

        .sm\:p-14 {
            padding: calc(var(--spacing)*14)
        }

        .sm\:px-6 {
            padding-inline: calc(var(--spacing)*6)
        }

        .sm\:py-0 {
            padding-block: calc(var(--spacing)*0)
        }

        .sm\:pt-0 {
            padding-top: calc(var(--spacing)*0)
        }

        .sm\:pt-16 {
            padding-top: calc(var(--spacing)*16)
        }

        .sm\:pb-0 {
            padding-bottom: calc(var(--spacing)*0)
        }
    }

    @media(min-width:48rem) {
        .md\:flex {
            display: flex
        }

        .md\:h-78 {
            height: calc(var(--spacing)*78)
        }

        .md\:h-96 {
            height: calc(var(--spacing)*96)
        }

        .md\:grid-cols-3 {
            grid-template-columns: repeat(3, minmax(0, 1fr))
        }

        .md\:flex-col {
            flex-direction: column
        }

        .md\:flex-row {
            flex-direction: row
        }

        .md\:justify-between {
            justify-content: space-between
        }

        .md\:text-3xl {
            font-size: var(--text-3xl);
            line-height: var(--tw-leading, var(--text-3xl--line-height))
        }

        .md\:text-5xl {
            font-size: var(--text-5xl);
            line-height: var(--tw-leading, var(--text-5xl--line-height))
        }

        .md\:text-xl {
            font-size: var(--text-xl);
            line-height: var(--tw-leading, var(--text-xl--line-height))
        }
    }

    @media(min-width:64rem) {
        .lg\:px-8 {
            padding-inline: calc(var(--spacing)*8)
        }
    }

    .rtl\:flex-row-reverse:where(:dir(rtl), [dir=rtl], [dir=rtl] *) {
        flex-direction: row-reverse
    }

    @media(prefers-color-scheme:dark) {
        :where(.dark\:divide-white\/5>:not(:last-child)) {
            border-color: #ffffff0d
        }

        @supports (color:color-mix(in lab, red, red)) {
            :where(.dark\:divide-white\/5>:not(:last-child)) {
                border-color: color-mix(in oklab, var(--color-white)5%, transparent)
            }
        }

        :where(.dark\:divide-white\/10>:not(:last-child)) {
            border-color: #ffffff1a
        }

        @supports (color:color-mix(in lab, red, red)) {
            :where(.dark\:divide-white\/10>:not(:last-child)) {
                border-color: color-mix(in oklab, var(--color-white)10%, transparent)
            }
        }

        .dark\:border {
            border-style: var(--tw-border-style);
            border-width: 1px
        }

        .dark\:border-none {
            --tw-border-style: none;
            border-style: none
        }

        .dark\:border-amber-500 {
            border-color: var(--color-amber-500)
        }

        .dark\:border-amber-800 {
            border-color: var(--color-amber-800)
        }

        .dark\:border-blue-600 {
            border-color: var(--color-blue-600)
        }

        .dark\:border-blue-800 {
            border-color: var(--color-blue-800)
        }

        .dark\:border-emerald-500 {
            border-color: var(--color-emerald-500)
        }

        .dark\:border-emerald-600 {
            border-color: var(--color-emerald-600)
        }

        .dark\:border-gray-600 {
            border-color: var(--color-gray-600)
        }

        .dark\:border-neutral-500 {
            border-color: var(--color-neutral-500)
        }

        .dark\:border-neutral-700 {
            border-color: var(--color-neutral-700)
        }

        .dark\:border-neutral-800 {
            border-color: var(--color-neutral-800)
        }

        .dark\:border-rose-500 {
            border-color: var(--color-rose-500)
        }

        .dark\:border-rose-900 {
            border-color: var(--color-rose-900)
        }

        .dark\:border-white\/5 {
            border-color: #ffffff0d
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:border-white\/5 {
                border-color: color-mix(in oklab, var(--color-white)5%, transparent)
            }
        }

        .dark\:border-white\/8 {
            border-color: #ffffff14
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:border-white\/8 {
                border-color: color-mix(in oklab, var(--color-white)8%, transparent)
            }
        }

        .dark\:border-white\/10 {
            border-color: #ffffff1a
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:border-white\/10 {
                border-color: color-mix(in oklab, var(--color-white)10%, transparent)
            }
        }

        .dark\:border-white\/20 {
            border-color: #fff3
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:border-white\/20 {
                border-color: color-mix(in oklab, var(--color-white)20%, transparent)
            }
        }

        .dark\:border-white\/\[9\%\] {
            border-color: #ffffff17
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:border-white\/\[9\%\] {
                border-color: color-mix(in oklab, var(--color-white)9%, transparent)
            }
        }

        .dark\:bg-\[\#1a1a1a\] {
            background-color: #1a1a1a
        }

        .dark\:bg-amber-600 {
            background-color: var(--color-amber-600)
        }

        .dark\:bg-amber-950 {
            background-color: var(--color-amber-950)
        }

        .dark\:bg-blue-700 {
            background-color: var(--color-blue-700)
        }

        .dark\:bg-blue-950 {
            background-color: var(--color-blue-950)
        }

        .dark\:bg-emerald-600 {
            background-color: var(--color-emerald-600)
        }

        .dark\:bg-emerald-900\/70 {
            background-color: #004e3bb3
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:bg-emerald-900\/70 {
                background-color: color-mix(in oklab, var(--color-emerald-900)70%, transparent)
            }
        }

        .dark\:bg-gray-800 {
            background-color: var(--color-gray-800)
        }

        .dark\:bg-gray-900 {
            background-color: var(--color-gray-900)
        }

        .dark\:bg-neutral-400 {
            background-color: var(--color-neutral-400)
        }

        .dark\:bg-neutral-600 {
            background-color: var(--color-neutral-600)
        }

        .dark\:bg-neutral-700 {
            background-color: var(--color-neutral-700)
        }

        .dark\:bg-neutral-800 {
            background-color: var(--color-neutral-800)
        }

        .dark\:bg-neutral-900 {
            background-color: var(--color-neutral-900)
        }

        .dark\:bg-rose-600 {
            background-color: var(--color-rose-600)
        }

        .dark\:bg-rose-900\! {
            background-color: var(--color-rose-900) !important
        }

        .dark\:bg-rose-950 {
            background-color: var(--color-rose-950)
        }

        .dark\:bg-transparent {
            background-color: #0000
        }

        .dark\:bg-white {
            background-color: var(--color-white)
        }

        .dark\:bg-white\/1 {
            background-color: #ffffff03
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:bg-white\/1 {
                background-color: color-mix(in oklab, var(--color-white)1%, transparent)
            }
        }

        .dark\:bg-white\/3 {
            background-color: #ffffff08
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:bg-white\/3 {
                background-color: color-mix(in oklab, var(--color-white)3%, transparent)
            }
        }

        .dark\:bg-white\/5 {
            background-color: #ffffff0d
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:bg-white\/5 {
                background-color: color-mix(in oklab, var(--color-white)5%, transparent)
            }
        }

        .dark\:bg-white\/10 {
            background-color: #ffffff1a
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:bg-white\/10 {
                background-color: color-mix(in oklab, var(--color-white)10%, transparent)
            }
        }

        .dark\:bg-white\/\[2\%\] {
            background-color: #ffffff05
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:bg-white\/\[2\%\] {
                background-color: color-mix(in oklab, var(--color-white)2%, transparent)
            }
        }

        .dark\:bg-white\/\[3\%\] {
            background-color: #ffffff08
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:bg-white\/\[3\%\] {
                background-color: color-mix(in oklab, var(--color-white)3%, transparent)
            }
        }

        .dark\:text-amber-300 {
            color: var(--color-amber-300)
        }

        .dark\:text-blue-300 {
            color: var(--color-blue-300)
        }

        .dark\:text-emerald-400 {
            color: var(--color-emerald-400)
        }

        .dark\:text-emerald-500 {
            color: var(--color-emerald-500)
        }

        .dark\:text-gray-300 {
            color: var(--color-gray-300)
        }

        .dark\:text-gray-400 {
            color: var(--color-gray-400)
        }

        .dark\:text-gray-600 {
            color: var(--color-gray-600)
        }

        .dark\:text-neutral-100 {
            color: var(--color-neutral-100)
        }

        .dark\:text-neutral-200 {
            color: var(--color-neutral-200)
        }

        .dark\:text-neutral-300 {
            color: var(--color-neutral-300)
        }

        .dark\:text-neutral-400 {
            color: var(--color-neutral-400)
        }

        .dark\:text-neutral-500 {
            color: var(--color-neutral-500)
        }

        .dark\:text-neutral-600 {
            color: var(--color-neutral-600)
        }

        .dark\:text-neutral-600\! {
            color: var(--color-neutral-600) !important
        }

        .dark\:text-neutral-900 {
            color: var(--color-neutral-900)
        }

        .dark\:text-rose-100 {
            color: var(--color-rose-100)
        }

        .dark\:text-white {
            color: var(--color-white)
        }

        .dark\:text-white\! {
            color: var(--color-white) !important
        }
    }

    @media(hover:hover) {
        @media(prefers-color-scheme:dark) {
            .group-hover\:dark\:text-emerald-500:is(:where(.group):hover *) {
                color: var(--color-emerald-500)
            }
        }
    }

    @media(prefers-color-scheme:dark) {
        .odd\:dark\:bg-white\/4:nth-child(odd) {
            background-color: #ffffff0a
        }

        @supports (color:color-mix(in lab, red, red)) {
            .odd\:dark\:bg-white\/4:nth-child(odd) {
                background-color: color-mix(in oklab, var(--color-white)4%, transparent)
            }
        }

        .even\:dark\:bg-white\/2:nth-child(2n) {
            background-color: #ffffff05
        }

        @supports (color:color-mix(in lab, red, red)) {
            .even\:dark\:bg-white\/2:nth-child(2n) {
                background-color: color-mix(in oklab, var(--color-white)2%, transparent)
            }
        }

        @media(hover:hover) {
            .dark\:hover\:bg-white\/2:hover {
                background-color: #ffffff05
            }

            @supports (color:color-mix(in lab, red, red)) {
                .dark\:hover\:bg-white\/2:hover {
                    background-color: color-mix(in oklab, var(--color-white)2%, transparent)
                }
            }

            .dark\:hover\:bg-white\/5:hover {
                background-color: #ffffff0d
            }

            @supports (color:color-mix(in lab, red, red)) {
                .dark\:hover\:bg-white\/5:hover {
                    background-color: color-mix(in oklab, var(--color-white)5%, transparent)
                }
            }

            .dark\:hover\:bg-white\/10:hover {
                background-color: #ffffff1a
            }

            @supports (color:color-mix(in lab, red, red)) {
                .dark\:hover\:bg-white\/10:hover {
                    background-color: color-mix(in oklab, var(--color-white)10%, transparent)
                }
            }
        }
    }

    @media(hover:hover) {
        @media(prefers-color-scheme:dark) {
            .hover\:dark\:bg-white\/5:hover {
                background-color: #ffffff0d
            }

            @supports (color:color-mix(in lab, red, red)) {
                .hover\:dark\:bg-white\/5:hover {
                    background-color: color-mix(in oklab, var(--color-white)5%, transparent)
                }
            }
        }
    }

    @media(prefers-color-scheme:dark) {
        @media(hover:hover) {
            .dark\:hover\:text-gray-300:hover {
                color: var(--color-gray-300)
            }
        }
    }

    @media(hover:hover) {
        @media(prefers-color-scheme:dark) {
            .hover\:dark\:text-white:hover {
                color: var(--color-white)
            }
        }
    }

    @media(prefers-color-scheme:dark) {
        .dark\:focus\:border-blue-700:focus {
            border-color: var(--color-blue-700)
        }

        .dark\:focus\:border-blue-800:focus {
            border-color: var(--color-blue-800)
        }

        .dark\:active\:bg-gray-700:active {
            background-color: var(--color-gray-700)
        }

        .dark\:active\:text-gray-300:active {
            color: var(--color-gray-300)
        }
    }

    .\[\&_svg\]\:size-2\.5 svg {
        width: calc(var(--spacing)*2.5);
        height: calc(var(--spacing)*2.5)
    }

    .\[\&_svg\]\:\!text-white svg {
        color: var(--color-white) !important
    }

    @media(hover:hover) {
        .hover\:\[\&_svg\]\:stroke-emerald-500:hover svg {
            stroke: var(--color-emerald-500)
        }
    }

    @media(prefers-color-scheme:dark) {
        .dark\:\[\&_svg\]\:\!text-white svg {
            color: var(--color-white) !important
        }
    }
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-space-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-divide-x-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-divide-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}


/* Centralized styles moved from page-level <style> blocks */
.text-block-content {
    padding: 30px;
}

.responsive-img {
    max-width: 280px;
    /* desktop breedte */
    width: 100%;
    /* past in container */
    height: auto;
    border-radius: 0.5rem;
}

/* create_admin.php styles */
.create-admin-body {
    font-family: Arial, sans-serif;
    padding: 40px;
    background: #f5f5f5;
}

.create-admin-container {
    max-width: 600px;
    margin: 0 auto;
    background: #ffffff;
    padding: 30px;
    border-radius: 8px;
}

.create-admin-success {
    color: green;
    background: #d4edda;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.create-admin-warning {
    color: #856404;
    background: #fff3cd;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.create-admin-error {
    color: red;
    background: #f8d7da;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.create-admin-btn {
    padding: 12px 24px;
    background: #00811F;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    display: inline-block;
}

.create-admin-separator {
    margin: 30px 0;
}

.create-admin-muted {
    color: #666;
}

.banner-wrapper {
    display: grid;
}

.banner {
    grid-area: 1 / 1;
}

.banner {
    opacity: 0;
    transition: opacity 1s ease;
}

.banner.active {
    opacity: 1;
}

.slide {
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.slide.active {
    opacity: 1;
}



.slide2 {
    display: none;
    transform: translateX(210%);
    padding-right: 32px;
}

#slide {
    overflow: hidden;
}

.text-block {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.text-block.with-image {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    align-items: center;
}

.text-block.with-image .text-block-image-container {
    flex: 0 0 50%;
}

.text-block.with-image .text-block-content {
    flex: 0 0 50%;
}

.agenda {
    width: 95%;
}

.terugblik {
    width: 95%;
}

.text-block-image {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
}

img,
video {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    width: 100%;
    padding: 0 1rem;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1200px;
}

.flexrow {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.hamburger {
    display: block;
}


#mobile-menu {
    display: none;
    flex-direction: column;
    gap: 0.5rem;
    flex-wrap: nowrap;
    align-items: flex-start;
}

#mobile-menu.open,
#mobile-menu:not(.hidden) {
    display: block;
    flex-direction: column !important;
    align-items: flex-start !important;
}

#mobile-menu.open>*,
#mobile-menu:not(.hidden)>* {
    display: block;
    width: 100%;
    text-align: left;
}

#programma-toggle .fa-caret-right {
    display: inline-block;
    transition: transform 0.2s ease;
}

#programma-toggle[aria-expanded="true"] .fa-caret-right {
    transform: rotate(90deg);
}

.green-highlight {
    display: inline-block;
    background-color: #ffd4e5;
    color: #8d184a;
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    margin-bottom: 1.5rem;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.site-footer .footer-logos {
    gap: 0.75rem;
}

.site-footer .footer-logo img {
    max-width: 130px;
    width: 100%;
    height: auto;
    display: block;
}

.site-footer {
    background-color: #ffffff;
    padding: 2rem 1rem;
}

.site-footer .footer-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.site-footer .footer-logo {
    flex: 0 0 auto;
}

.site-footer .footer-logo img {
    max-width: 140px;
    max-height: 70px;
    width: 100%;
    height: auto;
    object-fit: contain;
}

main>section {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

main>section:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.13);
}

main>div.grid>div {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

main>div.grid>div:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.grid img {
    border: 1px solid #9ca3af;
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.watdoenwe-page .grid>.bg-white {
    box-sizing: border-box;
    overflow: hidden;
}

.watdoenwe-page .grid>.bg-white>div {
    min-width: 0;
}

.watdoenwe-page h3,
.watdoenwe-page p,
.watdoenwe-page .green-highlight,
.watdoenwe-page .text-gray-700,
.watdoenwe-page .leading-relaxed {
    overflow-wrap: anywhere;
}

/* Link styling - ONLY for editor-rendered content (title, description, content fields) */

/* Blue styling ONLY for links in rendered editor content */
/* Event description and summary content */
.event-description a {
    color: #0066cc !important;
    text-decoration: underline !important;
    cursor: pointer;
    transition: color 0.2s ease;
}

.event-description a:hover {
    color: #0052a3 !important;
}

.event-description a:visited {
    color: #6b21a8 !important;
}

/* Links in text-gray-700 context (rendered content only) */
.text-gray-700 a {
    color: #0066cc !important;
    text-decoration: underline !important;
}

.text-gray-700 a:hover {
    color: #0052a3 !important;
}

/* Links in leading-relaxed sections (main content) */
.leading-relaxed a {
    color: #0066cc !important;
    text-decoration: underline !important;
}

.leading-relaxed a:hover {
    color: #0052a3 !important;
}
    word-break: break-word;
}

.bg-white {
    padding: 15px;
}

.sociaalai-contact-wrap {
    max-width: 900px;
}

.sociaalai-contact-intro {
    color: #374151;
    margin-bottom: 1.25rem;
}

.sociaalai-contact-form {
    background: linear-gradient(180deg, #f8fff9 0%, #ffffff 100%);
    border: 1px solid #d1e7d7;
    border-radius: 12px;
    padding: 1rem;
}

.sociaalai-label {
    display: block;
    color: #0b5e2a;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.sociaalai-input {
    background-color: #ffffff;
    border: 1px solid #9bc9a9 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.sociaalai-input:focus {
    border-color: #00811f !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 129, 31, 0.18);
}

.sociaalai-textarea {
    min-height: 170px;
}

.sociaalai-submit-btn {
    display: inline-block;
    background: #e91e63;
    color: #ffffff;
    border: 1px solid #e91e63;
    border-radius: 10px;
    font-weight: 700;
    padding: 0.75rem 1.5rem;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.sociaalai-submit-btn:hover {
    background: #c2185b;
}

.sociaalai-submit-btn:active {
    transform: translateY(1px);
}

.event-accent-badge {
    display: inline-block;
    background: #e91e63;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.25rem 1rem;
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .sociaalai-submit-btn {
        width: 100%;
    }
}


.card-icon {
    width: 300px;
    height: 250px;
    object-fit: contain;
}

.text-padding {
    padding: 32px;
}

/* ---- Navbar basis ---- */
.navbar {
    background-color: white;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    top: 0;
    z-index: 1000;
}

.nav-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ---- Menu ---- */
.nav-menu {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
    flex-wrap: nowrap;
    gap: 0;
}

.nav-menu li {
    position: relative;
    white-space: nowrap;
}

.nav-menu a,
.dropbtn {
    display: block;
    padding: 12px 16px;
    text-decoration: none;
    color: #333;
    font-weight: 500;
    font-size: 0.95rem;
}

.nav-menu a:hover,
.dropbtn:hover {
    color: #00811F;
}

/* ---- Dropdown ---- */
.dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    /* direct onder parent */
    left: 0;
    background-color: white;
    min-width: 200px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.dropdown-content li a {
    padding: 10px 15px;
    color: #333;
}

.dropdown-content li a:hover {
    background-color: #f0f0f0;
}

/* ---- Hamburger mobiel ---- */
.hamburger {
    display: none;
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
}

.site-footer {
    background-color: #ffffff;
    color: #fff;
    /* space between terugblik and agent text-block*/
    margin-top: 40px;
    padding: 20px 10px;
    text-align: center;
    font-family: sans-serif;
}

.footer-container h3 {
    margin-bottom: 15px;
    color: #000000;
    font-size: 1.2rem;
    font-weight: 600;
}

.partners {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    /* belangrijke regel voor mobiel */
    gap: 20px;
    margin-bottom: 15px;
}

.partners img {
    max-height: 110px;
    /* past alle logo's mooi */
    width: auto;
    object-fit: contain;
    transition: transform 0.3s;
}

.partners img:hover {
    transform: scale(1.1);
}

.footer-address {
    color: #000;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0 auto 12px;
}

.footer-address strong,
.footer-address a {
    display: block;
}

.footer-address a {
    color: #1b5e20;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.footer-address a:hover,
.footer-address a:focus-visible {
    color: #00811F;
}

.partners-inline {
    margin-top: 20px;
    margin-bottom: 0;
}

@media (max-width: 640px) {
    .partners-inline {
        gap: 14px;
    }

    .partners-inline img {
        max-height: 42px;
    }
}

.site-footer p {
    font-size: 0.8rem;
    color: #000000;
}

/* Basis navbar */
.navbar {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    font-family: sans-serif;
}

.nav-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 1rem;
    flex-wrap: nowrap;
}

/* Hamburger menu */
.hamburger {
    display: none;
    font-size: 2rem;
    background: none;
    border: none;
    cursor: pointer;
}

.fa-solid {
    padding: 2px;
    font-size: 16px;
}

/* Nav menu desktop */
.nav-menu {
    display: flex;
    list-style: none;
    gap: 0;
    flex-wrap: nowrap;
    margin: 0;
    padding: 0;
    align-items: center;
}

/* Dropdown menu */
.dropdown {
    position: relative;
}

.dropbtn {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 1rem;
}

.dropdown-content {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    min-width: 180px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    display: none;
    flex-direction: column;
    z-index: 10;
}

.dropdown-content li a {
    padding: 0.5rem 1rem;
    display: block;
    text-decoration: none;
    color: #333;
}

.dropdown-content li a:hover {
    background-color: #f0f0f0;
}

/* Dropdown active */
.dropdown-content.show {
    display: flex;
}

/* Arrow */
.arrow {
    transition: transform 0.3s;
}

.arrow.rotate {
    transform: rotate(180deg);
}

#watdoenwe-switch {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    scroll-margin-top: 110px;
}

#watdoenwe-switch>div {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    flex: 1 1 180px;
    max-width: 240px;
    text-align: center;
    padding: 1rem;
    transition: transform 0.2s, box-shadow 0.2s;
}

#watdoenwe-switch>div:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12);
}

#watdoenwe-switch a h1 {
    font-size: clamp(1rem, 2vw, 1.3rem);
    color: black;
    font-weight: 600;
    margin: 0;
}

#watdoenwe-switch a h1:hover {
    color: #005e13;
}

/* Kennis pagina actief */
.page-kennis #watdoenwe-switch a[href*="kennis"] h1 {
    color: #00811F;
}

/* Actie pagina actief */
.page-actie #watdoenwe-switch a[href*="actie"] h1 {
    color: #00811F;
}

/* Faciliteit pagina actief */
.page-faciliteit #watdoenwe-switch a[href*="faciliteit"] h1 {
    color: #00811F;
}

/* Global font restore */
:root {
    --site-font-family: 'Onest', 'Public Sans', sans-serif;
}

body,
button,
input,
select,
textarea {
    font-family: var(--site-font-family);
}

/* Keep navbar/footer on the same font even when older rules set sans-serif */
.navbar.onest-font,
.navbar.onest-font .nav-menu,
.navbar.onest-font .nav-menu a,
.navbar.onest-font .dropbtn,
.site-footer.onest-font,
.site-footer.onest-font * {
    font-family: var(--site-font-family) !important;
}


.dropbtn .dropdown-caret {
    width: 0.5rem;
    height: 0.5rem;
    margin-left: 0.35rem;
    display: inline-block;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.dropbtn.open .dropdown-caret {
    transform: rotate(-135deg) translateY(-1px);
}

.no-scroll {
    overflow: hidden;
}

/* Rounded edges across UI */
:root {
    --edge-radius-lg: 16px;
    --edge-radius-md: 12px;
}

.bg-white.shadow-lg,
.bg-white.shadow-md,
.bg-white.shadow-sm,
section.bg-white,
.text-block,
.card,
.create-admin-container,
.site-footer .footer-container,
.dropdown-content {
    border-radius: var(--edge-radius-lg) !important;
}

.bg-white.shadow-lg,
.bg-white.shadow-md,
.bg-white.shadow-sm,
section.bg-white,
.card {
    overflow: hidden;
}

img.object-cover,
img.shadow-md,
.text-block-image,
.card-icon {
    border-radius: var(--edge-radius-md);
}

.form-input,
.form-textarea,
input,
select,
textarea,
button,
.btn {
    border-radius: var(--edge-radius-md);
}

/* Tab/switch cards on Terugblik + Wat doen we */
.mobile>div.bg-white {
    border-radius: var(--edge-radius-lg) !important;
    overflow: hidden;
}

section {
    width: 95%;
}

@media (max-width: 490px) {

    .watdoenwe-page .card.row {
        flex-direction: column !important;
    }

    .watdoenwe-page .card-image-container {
        width: 100% !important;
    }

    /* 🔥 DIT is de key fix */
    .watdoenwe-page img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

}

@media (max-width: 571px) {

    /* Container voor de items */
    #watdoenwe-switch {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        padding: 0;
    }



    #watdoenwe-switch>div {
        background-color: #ffffff;
        border-radius: 12px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
        width: 90%;
        /* gelijke breedte */
        max-width: 250px;

        padding: 0.5rem;
        min-height: 60px;
        max-height: 100px;

        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;

        box-sizing: border-box;
        overflow: hidden;
    }

    #watdoenwe-switch p {
        margin: 0;
        font-size: 0.9rem;
        line-height: 1.2;
    }

    /* Size homepage Pictures */
    .card-icon {
        width: 120px;
        height: auto;
        display: block;
        margin: 0 auto;
    }

}

/* Mobile styles */
@media (max-width: 768px) {
    .hamburger {
        display: block;
        font-size: 28px;
    }

    /* Size homepage pictures*/
    .card-icon {
        width: 120px;
        height: auto;
        display: block;
        margin: 0 auto;
    }

    .nav-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: #fff;
        flex-direction: column;
        display: none;
        gap: 0;
        border-top: 1px solid #ddd;
        flex-wrap: wrap;
    }

    .nav-container {
        position: relative;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .nav-menu.show {
        display: flex;
    }

    .nav-menu li {
        border-bottom: 1px solid #eee;
    }

    .fa-solid {
        padding: 2px;
        font-size: 14px;
    }

    .nav-menu li a {
        font-size: 14px;
        text-align: left;
    }

    .dropbtn {
        font-size: 14px;
        text-align: left;
    }

    .dropdown-content {
        position: relative;
        box-shadow: none;
        border-radius: 0;
        font-size: 14px;
    }

    body.no-scroll {
        overflow: hidden;
    }

    /* Wat doen we switch items */
    #watdoenwe-switch {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        padding: 0;
    }

    #watdoenwe-switch>div {
        background-color: #ffffff;
        border-radius: 12px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
        width: 90%;
        max-width: 250px;

        /* Compacte hoogte en padding */
        padding: 0.5rem;
        min-height: 60px;
        max-height: 100px;

        /* Tekst mooi in het midden */
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;

        box-sizing: border-box;
        overflow: hidden;
    }

    #watdoenwe-switch p {
        margin: 0;
        font-size: 0.9rem;
        line-height: 1.2;
    }

    .wie-zijn-we-page section.bg-white {
        flex-direction: column !important;
    }

    section.bg-white.max-w-6xl [style*="min-width: 340px"],
    section.bg-white.max-w-6xl [style*="min-width:340px"] {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .flexrow {
        flex-direction: column;
        align-items: center;
        /* items mooi centreren */
        gap: 0.5rem;
        /* eventueel kleinere spacing */
    }

    #agenda-terugblik-switch {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        padding: 0 16px;
        /* iets meer ruimte links/rechts */
    }

    #agenda-terugblik-switch>div {
        width: 100%;
        max-width: 600px;
        padding: 0.75rem;
    }

    .mobile-hide-no-image {
        display: none;
    }
}

.text-padding[style*="flex-direction: row"] {
    align-items: center !important;
}

.text-padding[style*="flex-direction: row"]>div {
    align-self: center;
}

@media (min-width: 768px) and (max-width: 1035px) {

    /* Hamburger zelf */
    .hamburger {
        display: block;
        font-size: 28px;
        cursor: pointer;
        position: relative;
        margin-left: 10px;
        z-index: 21;
        background: none;
        border: none;
    }

    .nav-container {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        height: 60px;
    }

    nav {
        position: relative;
    }

    /* Nav menu links als sidebar */
    .nav-menu {
        display: none;
        flex-direction: column;
        position: absolute;
        /* 🔥 belangrijk */
        top: 100%;
        /* onder navbar */
        left: 0;
        width: 100%;
        background-color: #fff;
        border-top: 1px solid #ddd;
        z-index: 20;
    }

    .nav-menu.show {
        display: flex;
    }

    body {
        padding-top: 0;
    }

    main {
        padding-top: 60px;
    }

    .nav-menu li {
        border-bottom: 1px solid #eee;
    }

    .nav-menu li a,
    .dropbtn {
        font-size: 14px;
        padding: 0.75rem 1rem;
        white-space: nowrap;
    }


    .dropdown-content {
        position: relative;
        display: none;
        flex-direction: column;
        box-shadow: none;
        border-radius: 0;
    }

    .dropbtn.open+.dropdown-content {
        display: flex;
        flex-direction: column;
    }


    section {
        width: 95%;
    }

    .card-icon {
        width: 120px;
        height: auto;
        display: block;
        margin: 0 auto;
    }

    .watdoenwe-page .grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem;
    }

    .watdoenwe-page .grid img {
        width: 100%;
        height: auto;
        object-fit: cover;
        border-radius: 12px;
    }

    .flexrow {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    #agenda-terugblik-switch {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        padding: 0 16px;
    }

    #agenda-terugblik-switch>div {
        width: 100%;
        max-width: 600px;
        padding: 0.75rem;
    }
}

@media (min-width: 1036px) and (max-width: 1160px) {
    .flexrow {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    #agenda-terugblik-switch {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        padding: 0 16px;
        /* iets meer ruimte links/rechts */
    }

    #agenda-terugblik-switch>div {
        width: 100%;
        max-width: 600px;
        /* 🔥 groter maken (zelfde gevoel als je cards) */
        padding: 0.75rem;
    }

    .card-icon {
        width: 120px;
        height: auto;
        display: block;
        margin: 0 auto;
    }
}

/* Overlay template for agenda and terugblik image blocks */


/*
.event-template.is-retrospective {
    background: linear-gradient(135deg, #0c8146 0%, #719f3f 100%);
}
*/

.event-template-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

.event-template-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.event-template-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.event-template-brand-title {
    font-size: 2rem;
    line-height: 1;
    font-weight: 500;
}

.event-template-brand-subtitle {
    font-size: 1.4rem;
    line-height: 1;
    opacity: 0.95;
}

.event-template-meta {
    text-align: right;
    margin-left: auto;
    margin-right: 1rem;
}

.event-template-meta-time {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
}

.event-template-meta-location {
    font-size: 1rem;
}

.event-template-date-badge {
    background: #ce0245;
    padding: 0.9rem 1rem;
    min-width: 120px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.1;
    font-weight: 700;
}

.event-template-date-badge span:first-child {
    font-size: 2rem;
}

.event-template-date-badge span:last-child {
    font-size: 1.15rem;
}

.event-template-body {
    margin-bottom: 1.25rem;
}

.event-template-label {
    display: inline-block;
    font-size: 1.7rem;
    line-height: 1.1;
    margin-bottom: 0.25rem;
}

.event-template-title {
    font-size: clamp(1.85rem, 3.8vw, 3rem);
    line-height: 1.12;
    font-weight: 700;
}

.event-template-description {
    font-size: clamp(1.05rem, 2vw, 1.4rem);
    line-height: 1.35;
    margin-top: 0.6rem;
}

.event-template-description p {
    margin: 0;
}

.event-template-photo-wrap {
    position: relative;
}

.event-template-photo {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/*
.event-template-square {
    position: absolute;
    background: #68b04a;
    width: 3.4rem;
    height: 3.4rem;
}
*/

.event-template-square-left {
    left: 1.6rem;
    bottom: -1.2rem;
}

.event-template-square-right {
    right: 1.8rem;
    top: 2rem;
}

.event-template-footer {
    margin-top: 1.5rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}

.event-template-footer-text {
    color: rgba(255, 255, 255, 0.95);
    font-size: 1rem;
    line-height: 1.5;
}

.event-template-divider {
    margin: 0 0.45rem;
    opacity: 0.8;
}

.event-template-location-link {
    text-decoration: underline;
}

.event-template-location-link:hover {
    color: #ecffd9;
}

.event-template-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
}

.event-template-cta {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    color: #007a1d;
    font-weight: 700;
    padding: 0.7rem 1.2rem;
    border-radius: 0.45rem;
    white-space: nowrap;
}

.event-template-cta:hover {
    background: #f1ffe8;
}

.event-template-cta-alt {
    background: #ce0245;
    color: #ffffff;
}

.event-template-cta-alt:hover {
    background: #b6003c;
}

.event-template-cta-pink {
    background: #ffffff;
    color: #ce0245;
}

.event-template-cta-pink:hover {
    background: #ffeaf2;
}

@media (max-width: 900px) {
    .event-template {
        padding: 1.25rem;
    }

    .event-template-head {
        flex-direction: column;
        gap: 1rem;
    }

    .event-template-meta {
        text-align: left;
        margin: 0;
    }

    .event-template-date-badge {
        align-self: flex-start;
    }

    .event-template-label {
        font-size: 1.45rem;
    }

    .event-template-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .event-template-actions {
        justify-content: flex-start;
    }

    .event-template-divider {
        display: none;
    }

    .event-template-footer-text {
        display: grid;
        gap: 0.3rem;
    }

    .event-template-square {
        width: 2.2rem;
        height: 2.2rem;
    }

    .event-template-square-left {
        left: 0.8rem;
        bottom: -0.6rem;
    }

    .event-template-square-right {
        right: 0.9rem;
        top: 0.9rem;
    }
}

/* Image-only template for agenda and terugblik photo blocks */
.image-template-wrap {
    position: relative;
    overflow: visible;
}

.image-template-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.agenda-event-card .image-template-wrap {
    align-items: center;
    background: #fff;
    display: flex;
    justify-content: center;
    max-height: 360px;
    overflow: hidden;
    width: 100%;
}

.agenda-event-card .image-template-photo {
    height: auto !important;
    max-height: 360px;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.image-template-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: #ce0245;
    color: #ffffff;
    font-weight: 700;
    line-height: 1.1;
    padding: 0.65rem 0.8rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 90px;
}

.image-template-badge span:first-child {
    font-size: 1.45rem;
}

.image-template-badge span:last-child {
    font-size: 1rem;
}

.image-template-square {
    position: absolute;
    width: 2.8rem;
    height: 2.8rem;
    background: #68b04a;
}

.image-template-square-left {
    left: 0.9rem;
    bottom: -0.9rem;
}

.image-template-square-right {
    right: 1rem;
    top: 42%;
}

@media (max-width: 900px) {
    .image-template-badge {
        top: 0.65rem;
        right: 0.65rem;
        min-width: 78px;
        padding: 0.5rem 0.6rem;
    }

    .image-template-badge span:first-child {
        font-size: 1.2rem;
    }

    .image-template-badge span:last-child {
        font-size: 0.85rem;
    }

    .image-template-square {
        width: 2rem;
        height: 2rem;
    }

    .image-template-square-left {
        left: 0.45rem;
        bottom: -0.55rem;
    }

    .image-template-square-right {
        right: 0.55rem;
        top: 38%;
    }
}



@media (max-width: 767px) {
    .agenda-event-card .mobile-image {
        align-items: center;
        display: flex;
        justify-content: center;
    }

    .agenda-event-card .mobile-image .image-template-photo {
        max-height: 300px;
        max-width: min(100%, 420px);
    }
}

@media (max-width: 768px) {
    .mobile-hide-no-image {
        display: none;
    }

    .wie-zijn-we-page .wie-zijn-we-logo-card {
        position: relative;
        padding-right: 7.25rem !important;
        min-height: 12rem;
    }

    .wie-zijn-we-page .wie-zijn-we-logo-card .wie-zijn-we-logo-wrap {
        position: absolute;
        top: 1.25rem;
        right: 1.25rem;
        width: 84px;
        max-width: 84px;
        margin: 0;
        display: block !important;
    }

    .wie-zijn-we-page .wie-zijn-we-logo-card .wie-zijn-we-logo-wrap img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    .wie-zijn-we-page .wie-zijn-we-logo-card .wie-zijn-we-text {
        width: 100%;
        min-width: 0;
    }

    .verantwoord-ai-page>section.bg-white {
        flex-direction: column !important;
        gap: 1.25rem !important;
        padding: 1.25rem !important;
    }

    .verantwoord-ai-page>section.bg-white>div[style*="width: 280px"] {
        width: 100% !important;
        max-width: 100% !important;
    }

    .verantwoord-ai-page>section.bg-white>div[style*="font-size: 120px"] {
        font-size: 84px !important;
        min-height: 120px !important;
    }
}

.text-padding[style*="flex-direction: row"] {
    align-items: center !important;
}

.text-padding[style*="flex-direction: row"]>div {
    align-self: center;
}


.navbar a.nav-active,
.navbar .nav-active {
    color: #00811F !important;
    font-weight: 700;
    border-bottom: 2px solid #00811F;
}

/* Visible focus ring for all tabbable blocks */
section:focus-visible,
[tabindex="0"]:focus-visible {
    outline: 3px solid #00811F;
    outline-offset: 2px;
}

.watdoenwe-page .grid>.bg-white:focus {
    outline: 3px solid #00811F;
    outline-offset: 2px;
}

.homepage-carousel {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

#homepage-events.homepage-carousel {
    align-items: flex-start;
}

.homepage-carousel::-webkit-scrollbar {
    display: none;
}

.homepage-carousel-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
}

.homepage-carousel-slide .image-template-wrap {
    align-items: center;
    background: #fff;
    display: flex;
    justify-content: center;
    max-height: 360px;
    overflow: hidden;
    width: 100%;
}

.homepage-carousel-slide .image-template-photo {
    height: auto;
    max-height: 360px;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.homepage-carousel-arrow {
    background: #fff;
    border: 2px solid #00811F;
    color: #00811F;
    width: 48px;
    height: 48px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
    transition: background-color 0.2s, color 0.2s, opacity 0.2s;
}

.homepage-carousel-arrow:hover,
.homepage-carousel-arrow:focus {
    background: #00811F;
    color: #fff;
}

.homepage-carousel-arrow:disabled {
    cursor: default;
    opacity: 0.35;
}

.festival-promo-modal,
.festival-promo-modal[hidden] {
    display: none;
}

.festival-promo-modal:not([hidden]) {
    align-items: center;
    background: rgba(17, 24, 39, 0.72);
    display: flex;
    inset: 0;
    justify-content: center;
    overflow-y: auto;
    padding: 1rem;
    position: fixed;
    z-index: 10000;
}

.festival-promo-dialog {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
    max-width: 680px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.festival-promo-image {
    background: #f6f6f6;
    display: block;
    height: auto;
    max-height: min(34vh, 300px);
    max-height: min(34dvh, 300px);
    object-fit: contain;
    object-position: center;
    max-width: 100%;
    width: 100%;
}

.festival-promo-close {
    align-items: center;
    background: rgba(17, 24, 39, 0.72);
    border: 0;
    border-radius: 9999px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 2rem;
    height: 2.75rem;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 0.8rem;
    top: 0.8rem;
    width: 2.75rem;
}

.festival-promo-close:hover,
.festival-promo-close:focus-visible {
    background: #00811F;
}

.festival-promo-content {
    padding: 1.5rem 2rem 2rem;
    text-align: center;
}

.festival-promo-date {
    color: #00811F;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 0.35rem;
}

.festival-promo-location {
    color: #4b5563;
    font-size: 0.95rem;
    margin: 0 0 0.75rem;
}

.festival-promo-content h2 {
    color: #1f2937;
    font-size: clamp(1.5rem, 5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 1.25rem;
}

.festival-promo-teaser {
    color: #4b5563;
    line-height: 1.5;
    margin: 0 auto 0.85rem;
    max-width: 38rem;
}

.festival-promo-countdown {
    color: #00811F;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 1.1rem;
}

.festival-promo-link {
    background: #00811F;
    border-radius: 0.5rem;
    color: #fff;
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    padding: 0.8rem 1.4rem;
    text-decoration: none;
}

.festival-promo-link span {
    margin-left: 0.4rem;
}

.festival-promo-link:hover,
.festival-promo-link:focus-visible {
    background: #006f19;
}

.festival-promo-calendar {
    color: #00811F;
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0.9rem auto 0;
    text-decoration: underline;
    text-underline-offset: 0.18em;
    width: fit-content;
}

.festival-promo-calendar:hover,
.festival-promo-calendar:focus-visible {
    color: #005c16;
}

.homepage-news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.homepage-news-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 0.5rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.homepage-news-card-img {
    display: block;
    width: 100%;
    height: clamp(280px, 25vw, 360px);
    object-fit: contain;
    border-bottom: 1px solid #eee;
    background: #f6f6f6;
}

.homepage-news-card-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem 1.2rem 0.5rem;
}

.homepage-news-card-title {
    color: #222;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0.5rem 0 0.25rem;
}

.homepage-news-card-title,
.homepage-news-card-meta,
.homepage-news-card-summary {
    font-family: var(--site-font-family);
}

.homepage-news-card-title strong,
.homepage-news-card-title b,
.homepage-news-card-summary strong,
.homepage-news-card-summary b {
    font-family: inherit;
    font-weight: bolder;
}

.homepage-news-card-meta {
    color: #777;
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
}

.homepage-news-card-summary {
    color: #444;
    flex: 1 1 auto;
    font-size: 0.97rem;
    margin-bottom: 1rem;
}

.homepage-news-card-link {
    align-items: center;
    color: #0A66C2;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.7rem;
    text-decoration: none;
    transition: color 0.2s;
}

.homepage-news-card-link:hover {
    color: #004099;
}

.homepage-event-mobile-image {
    display: none;
}

@media (max-width: 900px) {
    .homepage-news-grid {
        grid-template-columns: 1fr;
    }

    .homepage-news-card-img {
        height: clamp(220px, 40vw, 320px);
    }
}

@media (max-width: 800px) {
    .festival-promo-modal:not([hidden]) {
        align-items: center;
        box-sizing: border-box;
        overflow-x: hidden;
        padding: 0.75rem;
    }

    .festival-promo-dialog {
        box-sizing: border-box;
        max-height: calc(100vh - 1.5rem);
        max-height: calc(100dvh - 1.5rem);
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        width: 100%;
    }

    .festival-promo-image {
        background: #f6f6f6;
        height: auto;
        max-height: min(30vh, 220px);
        max-height: min(30dvh, 220px);
        object-fit: contain;
        object-position: center;
        width: 100%;
    }

    .festival-promo-close {
        margin-bottom: -2.75rem;
        margin-left: auto;
        margin-right: 0.8rem;
        position: sticky;
        top: 0.5rem;
        z-index: 2;
    }

    .festival-promo-content {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 640px) {
    .festival-promo-modal:not([hidden]) {
        padding: 0.5rem;
    }

    .festival-promo-dialog {
        max-height: calc(100vh - 1rem);
        max-height: calc(100dvh - 1rem);
    }

    .festival-promo-image {
        max-height: min(30vh, 200px);
        max-height: min(30dvh, 200px);
    }

    .festival-promo-content {
        padding: 1rem 0.85rem 1.25rem;
    }

    .festival-promo-content h2 {
        margin-bottom: 0.85rem;
    }

    .festival-promo-link {
        box-sizing: border-box;
        max-width: 100%;
        width: 100%;
    }

    .homepage-carousel-arrow {
        width: 42px;
        height: 42px;
        font-size: 1rem;
    }

    .homepage-event-mobile-image {
        display: block;
        margin: 0.75rem 0 1rem;
    }

    .homepage-event-mobile-image .image-template-photo {
        max-height: 300px;
    }

    .homepage-carousel-slide > .flex-1:last-child {
        display: none;
    }
}

@media (max-width: 375px) {
    .festival-promo-modal:not([hidden]) {
        padding: 0.35rem;
    }

    .festival-promo-dialog {
        max-height: calc(100vh - 0.7rem);
        max-height: calc(100dvh - 0.7rem);
    }

    .festival-promo-content {
        padding: 0.85rem 0.7rem 1rem;
    }

    .festival-promo-date,
    .festival-promo-countdown {
        font-size: 1rem;
    }
}

@media (max-width: 800px) and (orientation: landscape) and (max-height: 500px) {
    .festival-promo-image {
        max-height: min(22vh, 110px);
        max-height: min(22dvh, 110px);
    }

    .festival-promo-content {
        padding-bottom: 0.85rem;
    }
}

h2 span {
    background-color: #d12254;
    color: white;
    font-size: 16px;
    padding: 4px 8px; /* top/bottom, left/right */
}

.pink-text{
    background-color: #d12254;
    color: white;
    font-size: 16px;
    padding: 4px 8px; /* top/bottom, left/right */
}

/* ---- Ons team page: horizontal photo-left cards (scoped, ons-team only) ---- */
.ons-team-intro {
    text-align: center;
}

.ons-team-page .team-card {
    border-radius: var(--edge-radius-lg) !important;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    min-height: 200px;
    height: 100%;
}

.ons-team-page .team-photo {
    width: 36%;
    min-width: 36%;
    height: 100%;
    min-height: 200px;
    object-fit: cover;
    display: block;
    background: #f6f6f6;
    flex-shrink: 0;
}

.ons-team-page .team-photo-placeholder {
    width: 36%;
    min-width: 36%;
    align-self: stretch;
    flex-shrink: 0;
    background: #e5e7eb;
    color: #6b7280;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 700;
}

.ons-team-page .team-card-body {
    flex: 1 1 auto;
    min-width: 0;
    padding: 1.2rem 1.4rem;
}

.ons-team-page .team-role {
    color: #00811F;
    font-weight: 600;
    font-size: 0.85rem;
    margin-top: 0.15rem;
}

.ons-team-page .team-bio {
    font-size: 0.85rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ons-team-page .team-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ons-team-page .team-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

@media (max-width: 640px) {
    .ons-team-page .team-card {
        flex-direction: column;
    }

    .ons-team-page .team-photo,
    .ons-team-page .team-photo-placeholder {
        width: 100%;
        min-width: 0;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 10;
    }
}
