/*
========================================================================
GLOBAL STYLE
========================================================================
*/

:root {
    --color-main: rgba(0, 21, 16, 1);
    --color-secondary: rgba(255, 236, 137, 1);
    --color-gradient-hero: linear-gradient(180deg, rgba(0, 43, 33, 0.2) 0%, rgba(0, 43, 33, 0.7) 40%, rgba(0, 21, 16, 1) 100%);
    --color-gradient-section: linear-gradient(145deg, rgba(255, 236, 137, 0.1) 0%, rgba(255, 236, 137, 0.01) 100%);
    --color-button-main: rgba(0, 43, 33, 1);
    --color-subtitle: rgba(100, 116, 139, 1);

    --font-text-size: 18px;
    --font-text-weight: 400;
    --font-text-line-height: 1.5555555555555556em;

    --h1-spacing: 25px !important;
    --h2-spacing: 25px !important;
    --h3-spacing: 25px !important;
    --h4-spacing: 25px !important;

    --abend-border: rgba(17, 17, 18, 0.1);
    --abend-border-focus: rgba(17, 17, 18, 0.35);
    --abend-radius: 5px;
    --abend-field-h: 55px;
    --abend-tr: 220ms cubic-bezier(0.4, 0, 0.2, 1);
    --abend-ph: rgba(17, 17, 18, 0.6);
    --icon-chev: url("data:image/svg+xml,%3Csvg width='17' height='10' viewBox='0 0 17 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.2051 1L8.16623 8.04915L1.00009 1.09876' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --icon-box: url("data:image/svg+xml,%3Csvg width='21' height='20' viewBox='0 0 21 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.5' y='0.5' width='19.121' height='19' rx='1.5' stroke='%23535B37'/%3E%3C/svg%3E");
    --icon-check: url("data:image/svg+xml,%3Csvg width='17' height='13' viewBox='0 0 17 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.556.496a2.6 2.6 0 0 0-.48-.362 2.55 2.55 0 0 0-.596-.134 2.574 2.574 0 0 0-.575.003 2.55 2.55 0 0 0-.565.107 2.492 2.492 0 0 0-.51.237 2.44 2.44 0 0 0-.414.305L5.713 9.526a.81.81 0 0 1-.202.132.804.804 0 0 1-.234.022.794.794 0 0 1-.222-.045.783.783 0 0 1-.199-.123.77.77 0 0 1-.153-.168L2.772 5.766a2.57 2.57 0 0 0-.399-.47 2.526 2.526 0 0 0-.539-.297 2.496 2.496 0 0 0-.736-.069 2.47 2.47 0 0 0-.723.109 2.43 2.43 0 0 0-.633.344 2.393 2.393 0 0 0-.468.522 2.36 2.36 0 0 0-.272.657 2.334 2.334 0 0 0-.038.727c.036.211.11.412.218.592L2.379 11.17c.274.476.644.88 1.082 1.181.438.301.932.492 1.447.559.143.02.287.03.431.031a2.88 2.88 0 0 0 2.415-1.257L16.513 2.784a2.368 2.368 0 0 0 .334-.517 2.34 2.34 0 0 0 .126-.617 2.314 2.314 0 0 0-.043-.62 2.289 2.289 0 0 0-.374-.534Z' fill='%23535B37'/%3E%3C/svg%3E");

    /* --- Borlabs --- */
    /* Backdrop */
    --dialog-backdrop-background-color: #000;
    --dialog-backdrop-background-opacity: 0.85;

    /* Background */
    --dialog-background-color: #001510;
    --dialog-footer-background-color: #002b21;
    --dialog-card-background-color: #002b21;

    /* Text */
    --dialog-text-color: #ffffff;
    --dialog-footer-text-color: #ffffff;
    --dialog-card-text-color: #ffffff;
    --dialog-list-item-text-color-even: #ffffff;
    --dialog-list-item-text-color-odd: #ffffff;
    --dialog-table-row-text-color-even: #ffffff;
    --dialog-table-row-text-color-odd: #ffffff;

    /* Button - Accept All */
    --dialog-button-accept-all-color: #ffec89;
    --dialog-button-accept-all-color-hover: #e6d46a;
    --dialog-button-accept-all-text-color: #001510;
    --dialog-button-accept-all-text-color-hover: #001510;

    /* Button - Accept Only Essential */
    --dialog-button-accept-only-essential-color: #002b21;
    --dialog-button-accept-only-essential-color-hover: #001510;
    --dialog-button-accept-only-essential-text-color: #ffec89;
    --dialog-button-accept-only-essential-text-color-hover: #ffec89;

    /* Button - Close */
    --dialog-button-close-color: #ffec89;
    --dialog-button-close-color-hover: #e6d46a;
    --dialog-button-close-text-color: #001510;
    --dialog-button-close-text-color-hover: #001510;

    /* Button - Preferences */
    --dialog-button-preferences-color: #002b21;
    --dialog-button-preferences-color-hover: #001510;
    --dialog-button-preferences-text-color: #ffec89;
    --dialog-button-preferences-text-color-hover: #ffec89;

    /* Button - Save Consent */
    --dialog-button-save-consent-color: #ffec89;
    --dialog-button-save-consent-color-hover: #e6d46a;
    --dialog-button-save-consent-text-color: #001510;
    --dialog-button-save-consent-text-color-hover: #001510;

    /* Button - Selection */
    --dialog-button-selection-color: #002b21;
    --dialog-button-selection-color-hover: #001510;
    --dialog-button-selection-text-color: #ffec89;
    --dialog-button-selection-text-color-hover: #ffec89;

    /* Links */
    --dialog-link-primary-color: #ffec89;
    --dialog-link-primary-color-hover: #e6d46a;
    --dialog-link-secondary-color: #ffffff;
    --dialog-link-secondary-color-hover: #ffec89;

    /* Control Elements */
    --dialog-control-element-color: #ffec89;
    --dialog-control-element-color-hover: #e6d46a;
    --dialog-card-control-element-color: #ffec89;
    --dialog-card-control-element-color-hover: #e6d46a;

    /* Switch */
    --dialog-switch-button-background-color-active: #ffec89;
    --dialog-switch-button-background-color-inactive: #64748b;
    --dialog-switch-button-color-active: #001510;
    --dialog-switch-button-color-inactive: #fff;

    /* Checkbox */
    --dialog-checkbox-background-color-active: #ffec89;
    --dialog-checkbox-background-color-disabled: #1a3329;
    --dialog-checkbox-background-color-inactive: #001510;
    --dialog-checkbox-border-color-active: #ffec89;
    --dialog-checkbox-border-color-disabled: #1a3329;
    --dialog-checkbox-border-color-inactive: #64748b;
    --dialog-checkbox-check-mark-color-active: #001510;
    --dialog-checkbox-check-mark-color-disabled: #64748b;

    /* Separators */
    --dialog-separator-color: #1a3329;
    --dialog-card-separator-color: #1a3329;
    --dialog-list-item-separator-color: #1a3329;
    --dialog-table-row-border-color: #1a3329;

    /* List Items */
    --dialog-list-item-background-color-even: #001510;
    --dialog-list-item-background-color-odd: #002b21;
    --dialog-list-item-control-element-color: #ffec89;
    --dialog-list-item-control-element-color-hover: #e6d46a;
    --dialog-list-item-control-element-separator-color: #1a3329;

    /* Table */
    --dialog-table-row-background-color-even: #001510;
    --dialog-table-row-background-color-odd: #002b21;

    /* Tab Bar */
    --dialog-tab-bar-tab-background-color-active: #ffec89;
    --dialog-tab-bar-tab-background-color-inactive: #002b21;
    --dialog-tab-bar-tab-border-color-bottom-active: #ffec89;
    --dialog-tab-bar-tab-border-color-bottom-inactive: #1a3329;
    --dialog-tab-bar-tab-border-color-left-active: #ffec89;
    --dialog-tab-bar-tab-border-color-left-inactive: #1a3329;
    --dialog-tab-bar-tab-border-color-right-active: #ffec89;
    --dialog-tab-bar-tab-border-color-right-inactive: #1a3329;
    --dialog-tab-bar-tab-border-color-top-active: #ffec89;
    --dialog-tab-bar-tab-border-color-top-inactive: #1a3329;
    --dialog-tab-bar-tab-text-color-active: #001510;
    --dialog-tab-bar-tab-text-color-inactive: #ffffff;

    /* Search Bar */
    --dialog-search-bar-input-background-color: #FFF;
    --dialog-search-bar-input-border-color-default: #1a3329;
    --dialog-search-bar-input-border-color-focus: #ffec89;
    --dialog-search-bar-input-text-color: #ffffff;
}

/* Font Urbanist */
@font-face {
    font-family: 'Urbanist';
    src: url('../../fonts/urbanist-child/Urbanist-SemiBoldItalic.woff2') format('woff2'),
        url('../../fonts/urbanist-child/Urbanist-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Urbanist';
    src: url('../../fonts/urbanist-child/Urbanist-Bold.woff2') format('woff2'),
        url('../../fonts/urbanist-child/Urbanist-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Urbanist';
    src: url('../../fonts/urbanist-child/Urbanist-SemiBold.woff2') format('woff2'),
        url('../../fonts/urbanist-child/Urbanist-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Urbanist';
    src: url('../../fonts/urbanist-child/Urbanist-Medium.woff2') format('woff2'),
        url('../../fonts/urbanist-child/Urbanist-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Urbanist';
    src: url('../../fonts/urbanist-child/Urbanist-Regular.woff2') format('woff2'),
        url('../../fonts/urbanist-child/Urbanist-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Password Page */
form.post-password-form {
    margin-top: 300px;
    margin-bottom: 150px;
    text-align: center;
    color: var(--body-text-color);
}

@media(max-width: 767px) {
    #wpadminbar {
        overflow: hidden;
    }
}

/* Fix: parent theme sets overflow-x:hidden on html/body at mobile
   which breaks position:sticky. Override here so sticky header works. */
@media only screen and (max-width: 768px) {

    html,
    body {
        overflow-x: unset;
    }
}

body,
button,
input,
select,
optgroup,
textarea {
    font-size: var(--font-text-size);
    line-height: var(--font-text-line-height);
    font-weight: var(--font-text-weight);
    color: var(--color-main);
}

p {
    font-family: 'Inter', sans-serif;
    color: inherit;
    line-height: var(--font-text-line-height);
    font-weight: var(--font-text-weight);
}

img {
    max-width: 100%;
    height: auto;
}

a,
button,
.wpcf7 .wpcf7-submit,
input[type="submit"] {
    transition: all 0.3s;
}

.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.budigital-child a:focus,
.budigital-child button:focus {
    outline: 0;
    box-shadow: none;
}

a:hover {
    text-decoration: none;
}

p,
ul,
ol,
blockquote {
    font-weight: inherit;
}

p:last-child,
figure {
    margin-bottom: 0;
}

b,
strong {
    font-weight: 700;
}

.vc_section.vc_section-has-fill,
.vc_section.vc_section-has-fill+.vc_row-full-width+.vc_section,
.vc_section.vc_section-has-fill+.vc_section,
.vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 0;
}

.vc_row.budi-equal-height.vc_row-o-equal-height>.wpb_column .vc_column-inner>.wpb_wrapper {
    height: 100%;
}

.wpb_content_element {
    margin-bottom: 24px;
}

.wpb_single_image.wpb_content_element {
    margin-bottom: 0;
}

.hyphens-auto {
    hyphens: auto !important;
}

@media (max-width: 767px) {
    p {
        font-size: 16px;
    }
}

/* Images */
.budi-image-rounded img {
    border-radius: 20px !important;
}

.budi-image-full * {
    width: 100%;
    height: 100%;
}

.budi-image-full img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Background Setting */
.bg-norepeat,
.bg-norepeat::before,
.bg-norepeat::after {
    background-repeat: no-repeat;
}

.bg-position-center,
.bg-position-center::before,
.bg-position-center::after {
    background-position: center;
}

.bg-position-left-center,
.bg-position-left-center::before,
.bg-position-left-center::after {
    background-position: left center;
}

.bg-position-top-center,
.bg-position-top-center::before,
.bg-position-top-center::after {
    background-position: top center;
}

.bg-position-right-center,
.bg-position-right-center::before,
.bg-position-right-center::after {
    background-position: right center;
}

.bg-size-auto,
.bg-size-auto::before,
.bg-size-auto::after {
    background-size: auto;
}

.bg-size-cover {
    background-size: cover;
}

.bg-size-100-percent,
.bg-size-100-percent::before,
.bg-size-100-percent::after {
    background-size: 100%;
}

/* Heading Typography */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    margin: 0;
    text-align: inherit;
    color: #FFF;
    line-height: normal;
    font-family: 'Urbanist', sans-serif;
}

h1,
.h1 {
    font-weight: 600;
    font-size: 60px;
    line-height: 1.1666666666666667em;
    margin-bottom: var(--h1-spacing);
}

h2,
.h2 {
    font-weight: 500;
    font-size: 48px;
    line-height: 1.3541666666666667em;
    margin-bottom: var(--h2-spacing);
}

h3,
.h3 {
    font-weight: 600;
    font-size: 28px;
    margin-bottom: var(--h3-spacing);
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-weight: 600;
    font-size: 24px;
    margin-bottom: var(--h4-spacing);
}

@media (max-width: 767px) {

    h1,
    .h1 {
        font-size: 40px;
    }

    h2,
    .h2 {
        font-size: 32px;
    }

}

/* Font Weight */
.font-weight-regular {
    font-weight: 400 !important;
}

.font-weight-medium,
.font-weight-medium p {
    font-weight: 500 !important;
}

.font-weight-semi-bold {
    font-weight: 600 !important;
}

.font-weight-extra-bold {
    font-weight: 800 !important;
}

.font-weight-black {
    font-weight: 900 !important;
}

/* Text Color */
.text-color-default {
    color: var(--body-text-color) !important;
}

.text-color-main {
    color: var(--color-main) !important;
}

.text-color-sub,
.text-color-sub p {
    color: var(--color-sub) !important;
}

.text-color-heavy {
    color: var(--color-heavy) !important;
}

.text-color-custom {
    color: var(--color-custom) !important;
}

.text-color-custom-2 {
    color: var(--color-custom-2) !important;
}

.text-color-light-white {
    color: var(--abn-light-white) !important;
}

/* Transition Settings */
.transition-all-03s {
    transition: all 0.3s;
}

/* Overflow */
.overflow-visible {
    overflow: visible !important;
}

/* Button */
div.budi-button-container a.btn,
div.budi-button-container .btn {
    font-family: 'Inter', sans-serif;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1em;
    padding: 15px 25px !important;
    border: 1px solid;
    border-radius: 100px;
    align-items: center;
    position: relative;
    cursor: pointer;
}

/* Primary Button */
div.budi-button-container a.btn.btn-primary,
div.budi-button-container .btn.btn-primary {
    color: var(--color-button-main);
    background: var(--color-secondary);
    border-color: var(--color-secondary);
}

/* Secondary Button */
div.budi-button-container a.btn.btn-secondary,
div.budi-button-container .btn.btn-secondary {
    color: var(--color-secondary);
    background: transparent;
    border-color: var(--color-secondary);
    font-weight: 400;
}

/* Dark Button */
div.budi-button-container a.btn.btn-dark,
div.budi-button-container .btn.btn-dark {
    color: #FFF;
    background: var(--color-main);
    border-color: var(--color-main);
}

@media (max-width: 767px) {

    div.budi-button-container a.btn,
    div.budi-button-container .btn {
        font-size: 16px !important;
    }

    div.budi-button-container .d-none {
        display: none !important;
    }
}

/* Fill Color */
.fill-row_color-main {
    background-color: var(--color-main) !important;
}

.fill-row_color-sub {
    background-color: var(--color-secondary) !important;
}

.fill-row_color-custom {
    background-color: var(--color-custom) !important;
}

.fill-row_color-green {
    background-color: #007C40;
}

.fill-row_color-yellow {
    background-color: #DAB532;
}

.fill-row_color-blue {
    background-color: #5492E5;
}

.border-top_color-light {
    border-top: 4px solid var(--color-sub);
}

.simplistic-headline span,
.budi-headline__title span:not(.budi-line-through) {
    color: var(--color-secondary) !important;
}

.budi-headline__subtitle {
    color: var(--color-subtitle);
    margin-bottom: 16px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.budi-headline__subtitle span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3333333333333333em;
    letter-spacing: 0.09999999999999999em;
    color: var(--color-secondary);
    padding: 5px 12px;
    border-radius: 100px;
    background: rgba(255, 236, 137, 0.08);
    border: 1px solid rgba(255, 236, 137, 0.2);
}

@media (max-width: 767px) {
    .budi-headline__subtitle {
        font-size: 14px;
    }
}

/* Swiper Arrow */
.budi-swiper-arrow {
    gap: 15px;
}

.budi-swiper-arrow .swiper-arrow {
    width: 51px;
    height: 19px;
    margin: 0 !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    top: 0;
    left: 0;
    right: 0;
    transition: all 0.3s ease;
    opacity: 1;
}

.budi-swiper-arrow .swiper-arrow::after {
    display: none;
}

.budi-swiper-arrow .swiper-button-prev {
    background-image: url("data:image/svg+xml,%3Csvg width='51' height='19' viewBox='0 0 51 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.346018 10.1212L7.43699 15.3031C7.90649 15.6344 8.65465 15.6249 9.10808 15.2818C9.55044 14.9471 9.55044 14.4165 9.10808 14.0818L4.03449 10.3742L24.8182 10.3742C25.4709 10.3743 26 9.9876 26 9.51063C26 9.03365 25.4709 8.647 24.8182 8.647L4.03454 8.647L9.10814 4.93937C9.57764 4.60802 9.5906 4.06125 9.13717 3.71819C8.68373 3.3751 7.93552 3.36562 7.46608 3.69698C7.45621 3.70394 7.44652 3.71099 7.43705 3.71819L0.346073 8.90006C-0.115339 9.23728 -0.115339 9.78397 0.346018 10.1212Z' fill='%23E0163C'/%3E%3Cline x1='51' y1='9.2' x2='3' y2='9.2' stroke='%23E0163C' stroke-width='2.4'/%3E%3C/svg%3E%0A");
}

.budi-swiper-arrow .swiper-button-next {
    background-image: url("data:image/svg+xml,%3Csvg width='51' height='19' viewBox='0 0 51 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50.654 8.8788L43.563 3.69694C43.0935 3.36558 42.3454 3.3751 41.8919 3.71819C41.4496 4.05287 41.4496 4.58348 41.8919 4.91816L46.9655 8.62578H26.1818C25.5291 8.62574 25 9.0124 25 9.48937C25 9.96635 25.5291 10.353 26.1818 10.353H46.9655L41.8919 14.0606C41.4224 14.392 41.4094 14.9388 41.8628 15.2818C42.3163 15.6249 43.0645 15.6344 43.5339 15.303C43.5438 15.2961 43.5535 15.289 43.563 15.2818L50.6539 10.0999C51.1153 9.76272 51.1153 9.21603 50.654 8.8788Z' fill='%23E0163C'/%3E%3Cline y1='9.8' x2='48' y2='9.8' stroke='%23E0163C' stroke-width='2.4'/%3E%3C/svg%3E%0A");
}

@media only screen and (max-width: 375px) {
    .budi-swiper-arrow .swiper-arrow {
        width: 40px;
    }
}

/* Swiper Pagination */
.swiper-pagination {
    top: 25px !important;
}

.budi-swiper-arrow .swiper-pagination {
    width: 110px !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    left: auto !important;
    margin: 0 auto !important;
}

.budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 5px;
    background-color: var(--color-sub);
    /* border: 1px solid var(--color-sub); */
    border-radius: 100px;
    opacity: 0.3;
    transition: all 0.3s ease;
}

.budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 22px;
    border-radius: 10px;
    background-color: var(--color-sub);
    opacity: 1;
}

.budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet-active-next,
.budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet-active-next-next,
.budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet-active-prev,
.budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet-active-prev-prev {
    transform: none;
}

/* Spacing Section */
.section-spacing-large {
    height: var(--section-spacing-large);
}

.section-spacing-medium {
    height: var(--section-spacing-medium);
}

.section-spacing-small {
    height: var(--section-spacing-small);
}

@media (max-width: 1024px) {
    .section-spacing-large {
        height: calc(var(--section-spacing-large) * 0.65);
    }

    .section-spacing-medium {
        height: calc(var(--section-spacing-medium) * 0.75);
    }

    /* .section-spacing-small { 
        height: calc(var(--section-spacing-small) * 0.65); 
    } */
}

@media (max-width: 767px) {
    .section-spacing-large {
        height: calc(var(--section-spacing-large) * 0.5);
    }

    /* .section-spacing-medium { 
        height: calc(var(--section-spacing-medium) * 0.5); 
    }

    .section-spacing-small { 
        height: calc(var(--section-spacing-small) * 0.5); 
    } */
}

/* Spacing Headline */
.headline-mb-large {
    margin-bottom: var(--headline-spacing-large);
}

.headline-mb-medium {
    margin-bottom: var(--headline-spacing-medium);
}

.headline-mb-small {
    margin-bottom: var(--headline-spacing-small);
}

@media (max-width: 1024px) {
    .headline-mb-large {
        margin-bottom: calc(var(--headline-spacing-large) * 0.65);
    }

    .headline-mb-medium {
        margin-bottom: calc(var(--headline-spacing-medium) * 0.65);
    }

    /* .headline-mb-small { 
        margin-bottom: calc(var(--headline-spacing-small) * 0.65); 
    } */
}

@media (max-width: 767px) {
    .headline-mb-large {
        margin-bottom: calc(var(--headline-spacing-large) * 0.5);
    }

    .headline-mb-medium {
        margin-bottom: calc(var(--headline-spacing-medium) * 0.5);
    }

    /* .headline-mb-small { 
        margin-bottom: calc(var(--headline-spacing-small) * 0.5); 
    } */
}

/*
========================================================================
LANDING PAGE STYLE
========================================================================
*/

/* Hero Section */
.budi-hero {
    position: relative;
}

.budi-hero::after {
    content: '';
    position: absolute;
    visibility: visible !important;
    left: 50%;
    bottom: 24px;
    width: 15px !important;
    height: 10px !important;
    transform: translateX(-50%);
    background-image: url("data:image/svg+xml,%3Csvg width='15' height='10' viewBox='0 0 15 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.5 9.25L0 1.75L1.75 0L7.5 5.75L13.25 0L15 1.75L7.5 9.25Z' fill='%23F1F5F9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    pointer-events: none;
    animation: budi-scroll-indicator 1.8s ease-in-out infinite;
}

@keyframes budi-scroll-indicator {

    0%,
    100% {
        transform: translate(-50%, 0);
        opacity: 0.75;
    }

    50% {
        transform: translate(-50%, 6px);
        opacity: 1;
    }
}

.budi-hero-overlay::before {
    content: '';
    display: block !important;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--color-gradient-hero);
}

.budi-hero-legal {
    height: 500px;
    padding-top: 80px !important;
}

.budi-hero-legal::after {
    visibility: hidden !important;
}

@media (max-width: 767px) {
    .budi-hero {
        padding-top: 50px !important;
    }

    .budi-hero-legal {
        height: 300px;
        padding-top: 60px !important;
    }
}

/* Key Facts */
.budi-img-key img {
    max-height: 600px;
}

.budi-box-key .budi-content-box__title {
    font-family: 'Urbanist', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.2em;
    margin-bottom: 5px;
    color: var(--color-secondary);
}

.budi-box-key .budi-content-box__description {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.1428571428571428em;
    margin-bottom: 0;
    color: var(--body-text-color);
    text-transform: uppercase;
    letter-spacing: 0.08571428571428572em;
    hyphens: auto;
}

@media (max-width: 767px) {
    .budi-box-key {
        margin-bottom: 20px;
    }

    .budi-img-key img {
        max-height: 90vw;
    }

    .budi-box-key .budi-content-box__title {
        font-size: 28px;
        text-align: center;
    }

    .budi-box-key .budi-content-box__description {
        font-size: 14px;
        text-align: center;
    }
}

/* Image Gallery Section */
.budi-text-location .wpb_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    position: relative;
}

.budi-text-location .wpb_wrapper::before {
    content: '';
    display: inline-block;
    width: 13px;
    height: 25px;
    background-image: url("data:image/svg+xml;utf8,<svg width='13' height='25' viewBox='0 0 13 25' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M12.5 6.25C12.5 2.80312 9.69687 0 6.25 0C2.80312 0 0 2.80312 0 6.25C0 9.52083 2.52604 12.2125 5.72917 12.4781V24.4792C5.72917 24.7667 5.9625 25 6.25 25C6.5375 25 6.77083 24.7667 6.77083 24.4792V12.4781C9.97396 12.2125 12.5 9.52083 12.5 6.25ZM6.25 11.4583C3.37812 11.4583 1.04167 9.12187 1.04167 6.25C1.04167 3.37812 3.37812 1.04167 6.25 1.04167C9.12187 1.04167 11.4583 3.37812 11.4583 6.25C11.4583 9.12187 9.12187 11.4583 6.25 11.4583Z' fill='%23FFEC89'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.budi-text-location .wpb_wrapper p {
    width: fit-content;
    font-weight: 300;
    color: #FFF;
}

.budi-gallery-grid>.wpb_column>.vc_column-inner>.wpb_wrapper {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 225px 225px;
    gap: 50px;
    align-items: stretch;
}

.budi-gallery-grid .wpb_single_image,
.budi-gallery-grid .wpb_single_image * {
    width: 100%;
    height: 100%;
}

.budi-gallery-grid .wpb_single_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.budi-gallery-grid .wpb_single_image:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

.budi-gallery-grid .wpb_single_image:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.budi-gallery-grid .wpb_single_image:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

@media (max-width: 1440px) {
    .budi-gallery-grid .wpb_single_image:nth-child(1) img {
        border-radius: 0 15px 15px 0;
    }

    .budi-gallery-grid .wpb_single_image:nth-child(2) img,
    .budi-gallery-grid .wpb_single_image:nth-child(3) img {
        border-radius: 15px 0 0 15px;
    }
}

@media (max-width: 767px) {
    .budi-gallery-grid>.wpb_column>.vc_column-inner>.wpb_wrapper {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 70vw 42vw;
        row-gap: 25px;
        column-gap: 15px;
    }

    .budi-gallery-grid .wpb_single_image:nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
    }

    .budi-gallery-grid .wpb_single_image:nth-child(2) {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
        padding-left: 20px;
    }

    .budi-gallery-grid .wpb_single_image:nth-child(3) {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        padding-right: 20px;
    }

    .budi-gallery-grid .wpb_single_image:nth-child(1) img {
        border-radius: 0;
    }

    .budi-gallery-grid .wpb_single_image:nth-child(2) img,
    .budi-gallery-grid .wpb_single_image:nth-child(3) img {
        border-radius: 15px;
    }
}

@media (min-width: 1440px) {
    .budi-gallery-grid .wpb_single_image img {
        border-radius: 15px;
    }
}

/* Topic Section */
.budi-box-topic-slider {
    max-width: 1152px;
    margin: 0 auto;
}

.budi-box-topic-slider .budi-content-image-slider__item {
    padding: 34px 32px;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    background: var(--color-gradient-section);
}

.budi-box-topic-slider .budi-content-box-slider__image {
    margin-bottom: 19px;
}

.budi-box-topic-slider .budi-content-box-slider__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4em;
    color: #FFF;
    margin-bottom: 10px;
}

.budi-box-topic-slider .budi-content-box-slider__description {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.625em;
    color: var(--body-text-color);
    margin-bottom: 0;
}

.budi-box-topic-slider .budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet {
    background: rgba(255, 236, 137, 0.4);
}

.budi-box-topic-slider .budi-swiper-arrow .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: rgba(255, 236, 137, 1);
}

/* @media (min-width: 768px) {
    .budi-box-topic-slider.fr-3 .swiper-wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 32px;
    }
} */

/* CTA Section */
.budi-cta {
    background: var(--color-secondary);
}

.budi-cta .budi-headline__title {
    font-weight: 400;
}

.budi-cta .budi-headline__title strong {
    font-weight: 600;
    font-style: italic;
}

.budi-cta .budi-cta_limited-text {
    margin-top: 24px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.17142857142857143em;
}

/* Host Section */
.budi-box-host__wrapper>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 60px;
    max-width: 1152px;
    margin: 0 auto;
}

.budi-box-host {
    max-width: 425px;
}

.budi-box-host img {
    border-radius: 16px;
    border: 1px solid #ffffff1a;
}

.budi-box-host .budi-content-box__image {
    margin-bottom: 40px !important;
}

.budi-box-host .budi-content-box__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
}

.budi-box-host .budi-content-box__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4em;
    color: #FFF;
    margin-bottom: 0;
    text-align: center;
}

.budi-box-host .budi-content-box__sub-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4285714285714286em;
    color: var(--color-secondary);
    margin-bottom: 0;
    text-align: center;
    letter-spacing: 0.09999999999999999em;
    text-transform: uppercase;
}

.budi-box-host .budi-content-box__description {
    color: var(--body-text-color);
    margin-bottom: 0;
    text-align: center;
}

@media (max-width: 767px) {
    .budi-box-host__wrapper>.wpb_column>.vc_column-inner>.wpb_wrapper {
        flex-direction: column;
        align-items: center;
        gap: 45px;
    }
}

/* Video Section */
div.budi-video__wrapper {
    margin: 0 auto;
}

div.budi-video__wrapper .budi-video-wrapper {
    border-radius: 20px;
}

div.budi-video__wrapper .budi-video-wrapper::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 43, 33, 1) 100%);
}

div.budi-video__wrapper .budi-video-content__container {
    bottom: 0;
    padding: 35px;
}

div.budi-video__wrapper .budi-video__sub-title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1785714285714286em;
    letter-spacing: 0.09428571428571429em;
    text-transform: uppercase;
    color: var(--color-secondary);
    margin-bottom: 8px;
}

div.budi-video__wrapper .budi-video__title {
    font-size: 22px;
    font-weight: 400;
    line-height: 1.0636363636363635em;
    color: #FFF;
    margin-bottom: 0px;
}

@media (max-width: 767px) {
    div.budi-video__wrapper .budi-video-wrapper::before {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 43, 33, 0.7) 100%);
    }

    div.budi-video__wrapper {
        display: flex;
        flex-direction: column-reverse;
        gap: 25px;
    }

    div.budi-video__wrapper .budi-video-play-button {
        width: 15.4vw;
    }

    div.budi-video__wrapper .budi-video-wrapper {
        border-radius: 15px;
    }

    div.budi-video__wrapper .budi-video__sub-title {
        font-size: 12px;
        text-align: center;
    }

    div.budi-video__wrapper .budi-video__title {
        font-size: 16px;
        text-align: center;
    }

    div.budi-video__wrapper .budi-video-content__container {
        position: relative !important;
        padding: 0;
    }
}

/* Kontakt Form */
.budi-anfragen>.wpb_column>.vc_column-inner>.wpb_wrapper {
    display: flex;
    flex-direction: column;
    padding: 50px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    max-width: 1056px;
    margin: 0 auto;
    background: var(--color-gradient-section);
}

@media (max-width: 767px) {
    .budi-anfragen__wrapper {
        background: var(--color-gradient-section);
    }

    .budi-anfragen>.wpb_column>.vc_column-inner>.wpb_wrapper {
        background: none;
        border: none;
        padding: 50px 0;
    }
}

/* ── Fields ────────────────────────────────────────────────────── */
.abend-form .form-control,
.abend-form input[type="text"],
.abend-form input[type="email"],
.abend-form input[type="tel"],
.abend-form textarea {
    min-height: var(--abend-field-h);
    border: 1px solid var(--abend-border) !important;
    border-radius: var(--abend-radius) !important;
    padding: 12.5px 14px !important;
    font-size: 16px !important;
    font-weight: 400;
    background: #fff;
    color: rgba(17, 17, 18, 1);
    box-shadow: none !important;
    transition: border-color var(--abend-tr) !important;
}

.abend-form textarea {
    min-height: 110px !important;
}

.abend-form input::placeholder,
.abend-form textarea::placeholder {
    color: var(--abend-ph) !important;
}

.abend-form input:focus,
.abend-form textarea:focus {
    border-color: var(--abend-border-focus) !important;
    outline: none;
}

.abend-form textarea {
    min-height: 120px;
    resize: vertical;
}

.abend-form .form-group {
    margin-bottom: 1.5rem;
}

@media (max-width: 767px) {
    .abend-form .form-group {
        margin-bottom: 1rem;
    }
}

/* ── Dropdown wrapper ──────────────────────────────────────────── */
.abend-dropdown-wrap {
    position: relative;
}

.abend-dropdown-trigger {
    min-height: var(--abend-field-h);
    border: 1px solid var(--abend-border);
    border-radius: var(--abend-radius);
    padding: 12.5px 14px;
    background: #fff;
    cursor: pointer;
    user-select: none;
    font-size: 16px;
    color: var(--abend-ph) !important;
    transition:
        border-color var(--abend-tr),
        border-bottom-left-radius var(--abend-tr),
        border-bottom-right-radius var(--abend-tr);
}

.abend-dropdown-trigger.has-value {
    color: rgba(17, 17, 18, 1) !important;
}

/* Chevron */
.abend-chev {
    flex-shrink: 0;
    display: inline-block;
    width: 17px;
    height: 10px;
    background-color: #666;
    -webkit-mask-image: var(--icon-chev);
    mask-image: var(--icon-chev);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    transition: transform var(--abend-tr);
}

.abend-dropdown-trigger.is-open .abend-chev {
    transform: rotate(180deg);
}

/* Panel */
.abend-dropdown-panel {
    background: #fff;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 200ms ease;
    margin-top: 3px;
    border-radius: 5px;
    border: none;
}

.abend-dropdown-panel.is-open {
    max-height: 600px;
    opacity: 1;
}

/* ── CF7 checkbox list inside panel ────────────────────────────── */
.abend-dropdown-panel .wpcf7-checkbox {
    display: block;
    padding: 13px 0;
}

.abend-dropdown-panel .wpcf7-list-item {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 12px;
    width: 100%;
    padding: 7px 19px;
    margin: 0 !important;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    color: rgba(102, 102, 102, 1);
}

.abend-dropdown-panel .wpcf7-list-item.is-checked,
.abend-dropdown-panel .wpcf7-list-item.is-checked .wpcf7-list-item-label {
    font-weight: 700 !important;
    color: rgba(83, 91, 55, 1);
}

.abend-dropdown-panel .wpcf7-list-item:hover {
    background: transparent !important;
    transition: none !important;
}

.abend-dropdown-panel .wpcf7-list-item:hover .wpcf7-list-item-label {
    color: inherit !important;
    font-weight: inherit !important;
}

/* Hide native checkbox */
.abend-dropdown-panel .wpcf7-list-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* Custom checkbox via label::after (box) and ::before (check) */
.abend-dropdown-panel .wpcf7-list-item-label {
    flex: 1;
    cursor: pointer;
    position: relative;
    font-size: 18px !important;
    line-height: normal;
    font-weight: 400 !important;
}

/* The visual icon box — injected via .abend-cb-icon span added by JS */
.abend-cb-icon {
    flex-shrink: 0;
    position: relative;
    width: 21px;
    height: 20px;
    display: inline-block;
    color: currentColor;
    /* Use body text color or parent color */
}

.abend-cb-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: currentColor;
    -webkit-mask-image: var(--icon-box);
    mask-image: var(--icon-box);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
}

.abend-cb-icon::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: currentColor;
    -webkit-mask-image: var(--icon-check);
    mask-image: var(--icon-check);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 17px 13px;
    mask-size: 17px 13px;
    -webkit-mask-position: center;
    mask-position: center;
    opacity: 0;
    transition: opacity var(--abend-tr);
}

.wpcf7-list-item.is-checked .abend-cb-icon::after {
    opacity: 1;
}

/* ── Acceptance checkboxes ─────────────────────────────────────── */
.abend-form-note {
    color: #FFF;
    font-size: 14px;
    line-height: normal;
    font-weight: 300;
    max-width: 650px;
}

.abend-form-note .wpcf7-list-item {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin: 5px 0 !important;
    width: 100%;
    cursor: pointer;
}

.abend-form-note .wpcf7-list-item label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
}

.abend-form-note .wpcf7-list-item input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.abend-form-note .wpcf7-list-item-label {
    font-size: 14px;
    line-height: 1.55;
    cursor: pointer;
    flex: 1;
}

/* Visual box for acceptance */
.abend-form-note .abend-cb-icon {
    margin-top: 0;
    /* Centered via flex */
    color: rgba(255, 255, 255, 0.6);
}

/* ── Submit button ─────────────────────────────────────────────── */
div.wpcf7 .abend-form [type="submit"] {
    background: var(--color-secondary) !important;
    color: #111112;
    border: none !important;
    border-radius: 999px !important;
    padding: 15px 25px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 220ms ease, transform 220ms ease, box-shadow 220ms ease;
    white-space: nowrap;
}

.abend-form [type="submit"]:hover {
    background: #c4a830;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(212, 184, 74, .35);
}

/* ── Header ─────────────────────────────────────────────── */
.ki-zimmer-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10005 !important;
    background: rgba(0, 43, 33, 0.8);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 0;
}

.ki-zimmer-header .container {
    position: relative;
}

/* Nav wrapper */
.ki-zimmer-nav__menu-wrapper {
    padding: 20px 0;
}

/* Nav menu flex to right */
.ki-zimmer-nav__menu {
    display: flex;
    justify-content: flex-end;
}

.ki-zimmer-nav__menu ul {
    display: flex;
    align-items: center;
    gap: 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ki-zimmer-nav__menu ul li {
    margin: 0;
}

.ki-zimmer-nav__menu ul li a {
    font-size: 18px;
    font-weight: 500;
    line-height: normal;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.3s;
}

.ki-zimmer-nav__menu ul li a:hover {
    opacity: 0.75;
}

/* CTA Button */
.ki-zimmer-nav__cta {
    margin-left: 40px;
}

.ki-zimmer-nav__cta .button-anfragen {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    line-height: normal;
    color: rgba(0, 43, 33, 1);
    background: rgba(255, 236, 137, 1);
    border-radius: 100px;
    padding: 10px 22px;
    text-decoration: none;
    transition: all 0.3s;
}

@media (max-width: 1024px) {
    .ki-zimmer-nav__menu ul {
        gap: 20px;
    }

    .ki-zimmer-nav__cta {
        margin-left: 20px;
    }
}



@media (max-width: 991px) {
    .ki-zimmer-header {
        padding: 15px 0;
    }

    .ki-zimmer-header__branding img {
        width: fit-content;
        height: 30px;
    }
}

/* ── Mobile Menu (Simplistic Sync) ───────────────────────── */
.ki-zimmer-header .ki-zimmer-mobile-menu-toggle {
    display: inline-flex;
    /* Changed from display: none to allow Bootstrap classes to control visibility */
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: none;
    background: transparent !important;
    color: #ffffff !important;
    cursor: pointer;
    position: relative;
    z-index: 10010;
}

.ki-zimmer-header .ki-zimmer-mobile-menu-toggle svg {
    display: block;
    width: 40px;
    height: auto;
}

.ki-zimmer-header .ki-zimmer-mobile-menu {
    position: absolute;
    top: 100%;
    /* Positioned right below the fixed header */
    right: 15px;
    width: min(420px, calc(100vw - 30px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
    z-index: 10006;
}

.ki-zimmer-header.is-mobile-menu-open .ki-zimmer-mobile-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(12px);
    /* Maintain a small gap */
}

.ki-zimmer-header .ki-zimmer-mobile-menu__inner {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding: 24px;
    border-radius: 16px;
    background: rgba(0, 21, 16, 1);
    border: 1px solid rgba(255, 236, 137, 0.2);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.5);
}

.ki-zimmer-header .ki-zimmer-mobile-menu__header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-bottom: 20px;
}

.ki-zimmer-header .ki-zimmer-mobile-menu__close {
    position: relative;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: transparent;
    cursor: pointer;
}

.ki-zimmer-header .ki-zimmer-mobile-menu__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    background-color: #ffffff;
}

.ki-zimmer-header .ki-zimmer-mobile-menu__close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.ki-zimmer-header .ki-zimmer-mobile-menu__close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ki-zimmer-header .ki-zimmer-mobile-menu__list,
.ki-zimmer-header .ki-zimmer-mobile-menu__list .sub-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ki-zimmer-header .ki-zimmer-mobile-menu__list>li {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ki-zimmer-header .ki-zimmer-mobile-menu__list>li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ki-zimmer-header .ki-zimmer-mobile-menu__list li {
    position: relative;
}

.ki-zimmer-header .ki-zimmer-mobile-menu__list a {
    display: block;
    padding: 16px 0;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
}

.ki-zimmer-header .ki-zimmer-mobile-menu__cta {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 24px;
}

.ki-zimmer-header .ki-zimmer-mobile-menu__cta .button-anfragen {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: rgba(0, 43, 33, 1);
    background: var(--color-secondary);
    border-radius: 100px;
    padding: 12px 25px;
    text-decoration: none;
}

#primary-navigation-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    /* Thinner overlay */
    backdrop-filter: blur(4px);
    /* Subtler blur */
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.24s ease, visibility 0.24s ease;
    z-index: 10000;
    /* Below header */
}

body.ki-zimmer-mobile-menu-open #primary-navigation-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.ki-zimmer-mobile-menu-open {
    overflow: hidden;
}



/* ── Footer ─────────────────────────────────────────────── */
.ki-zimmer-footer {
    background-color: var(--color-main);
    padding: 48px 0;
}

/* 35px gap between row 1 and row 2 */
.ki-zimmer-footer .row+.row {
    margin-top: 35px;
}

/* Row 1 — Logo */
.ki-zimmer-footer__logo-link {
    display: inline-flex;
}

.ki-zimmer-footer__logo {
    height: 20px;
    width: auto;
    filter: brightness(0) invert(1);
    margin-bottom: 35px;
}

/* Powered by label */
.ki-zimmer-footer__powered-label {
    font-size: 14px;
    font-weight: 400;
    color: #FFF;
    white-space: nowrap;
    margin-right: 30px;
}

/* Partner logos */
.ki-zimmer-footer__partner-link {
    display: inline-flex;
    align-items: center;
    opacity: 1;
    transition: opacity 0.3s;
}

.ki-zimmer-footer__partner-link:hover {
    opacity: 0.85;
}

/* Divider between partner logos */
.ki-zimmer-footer__divider {
    display: inline-block;
    width: 1px;
    align-self: stretch;
    background-color: rgba(241, 245, 249, 0.3);
    margin-left: 20px;
    margin-right: 20px;
    flex-shrink: 0;
}

.ki-zimmer-footer__partner-logo {
    height: 35px;
    width: auto;
    filter: brightness(0) invert(1);
}

/* Legal links */
.ki-zimmer-footer__legal {
    gap: 32px;
}

.ki-zimmer-footer__legal-link {
    font-size: 14px;
    font-weight: 400;
    color: var(--body-text-color, rgba(148, 163, 184, 1));
    text-decoration: none;
    transition: opacity 0.3s;
}

.ki-zimmer-footer__legal-link:hover {
    opacity: 0.75;
    color: var(--body-text-color, rgba(148, 163, 184, 1));
}

@media (max-width: 767px) {
    .ki-zimmer-footer {
        padding: 40px 0 25px 0;
    }

    .ki-zimmer-footer__logo {
        margin-bottom: 30px;
    }

    .ki-zimmer-footer__powered-label {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .ki-zimmer-footer__partners {
        gap: 12px;
    }

    .ki-zimmer-footer__legal {
        gap: 20px;
        margin-top: 25px !important;
        padding-top: 25px;
        border-top: 1px solid rgba(241, 245, 249, 0.3);
    }
}

/* ── Legal text (Impressum & Datenschutz) ─────────────────────────────────────────────── */
.budi-legal-text a {
    color: var(--body-text-color);
    text-decoration: underline;
    hyphens: auto;
}

.budi-legal-text a:hover {
    color: #FFF;
}

.budi-legal-text h2,
.budi-legal-text h3 {
    color: var(--body-text-color);
    font-size: 18px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    margin: 40px 0;
}