/* VARGA WEBDESIGN – RESPONSIVE & BARRIEREFREIHEIT */

/* RESPONSIVE & BARRIEREFREIHEIT */

@media (max-width: 1360px) {
    .vw-home { --vw-page-edge: 64px; }
    .vw-hero__grid { grid-template-columns: minmax(440px, 0.92fr) minmax(460px, 1.08fr); gap: 50px; }
    .vw-hero__visual img { max-width: 700px; }
    .vabout3 { --vabout3-edge: 64px; }
    .vabout3__hero { grid-template-columns: minmax(430px, 0.92fr) minmax(440px, 1.08fr); gap: 50px; }
    .vabout3__media { max-width: 520px; }
    .vabout3__approach { grid-template-columns: minmax(320px, 0.92fr) minmax(440px, 1.08fr); gap: 50px; }
    .vabout3__hero::before { opacity: 0.27; }
}

@media (max-width: 1120px) {
    .vwl-services { --vwl-edge: 32px; }
    .vwl-services .vwl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .vwl-card:last-child {
        width: min(560px, 100%);
        grid-column: 1 / -1;
        justify-self: center;
    }
    .vwl-contact { grid-template-columns: 1fr; gap: 28px; }
    .vwl-contact__button { width: fit-content; }
}

@media (max-width: 1100px) {
    .vw-home { --vw-page-edge: 24px; }
    .vw-hero { padding: 68px 0 60px; }
    .vw-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr); gap: 40px; }
    .vw-hero__title { font-size: clamp(43px, 5vw, 58px); }
    .vw-hero__visual { justify-content: center; }
    .vw-hero__visual img { max-width: 650px; }
    .vw-section-title { font-size: clamp(42px, 5vw, 58px); }
    .vw-trust-grid, .vw-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .vw-info-card:last-child, .vw-service-card:last-child {
        width: min(620px, 100%);
        grid-column: 1 / -1;
        justify-self: center;
    }
    .vw-process-grid {
        max-width: 900px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 48px 28px;
        margin-top: 54px;
        margin-inline: auto;
    }
    .vw-process-grid::before { display: none; }
    .vw-process-card { padding: 0 12px; }
    .vwa-about-section { padding: 78px 0 86px; }
    .vwa-about-grid { grid-template-columns: 1fr; gap: 50px; }
    .vwa-about-content { max-width: none; }
    .vwa-about-features { max-width: 850px; }
    .vwa-about-visual { width: 100%; max-width: 640px; justify-self: start; }
    .vwa-about-profile__image-wrap { height: auto; aspect-ratio: 1 / 0.9; }
    .vabout3 { --vabout3-edge: 32px; padding-top: 62px; }
    .vabout3__hero { grid-template-columns: minmax(0, 1fr) minmax(350px, 450px); gap: 42px; }
    .vabout3__title { font-size: clamp(42px, 5vw, 54px); }
    .vabout3__media { max-width: 450px; }
    .vabout3__hero::before { display: none; }
    .vabout3__approach { grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr); gap: 40px; }
    .kb-row-layout-wrap.vw-contact-section { padding: 42px 0 74px !important; }
    .kb-row-layout-wrap.vw-contact-section > .kt-row-column-wrap { width: calc(100% - 64px) !important; gap: 22px !important; }
    .vw-contact-intro, .vw-contact-section .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col {
        padding: 36px !important;
    }
    .vw-contact-title { font-size: 40px; }
}

/* Tablet quer: Inhalt effizient nutzen, ohne Desktop zu verändern. */
@media (min-width: 821px) and (max-width: 1024px) {
    .vw-home { --vw-page-edge: 32px; }
    .vw-hero { padding: 52px 0 56px; }
    .vw-hero__grid {
        grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
        gap: 32px;
    }
    .vw-hero__title { font-size: clamp(42px, 4.8vw, 50px); line-height: 1.01; }
    .vw-hero__description { margin-top: 22px; font-size: 16px; }
    .vw-hero__buttons { margin-top: 26px; }
    .vw-hero__features { margin-top: 20px; }
    .vw-hero__visual img { max-width: 460px; }
    .vw-section-title { font-size: clamp(40px, 4.7vw, 50px); }

    .vabout3 { --vabout3-edge: 32px; }
    .vabout3__hero { grid-template-columns: minmax(0, 1fr) minmax(340px, 430px); gap: 36px; }
    .vabout3__media { max-width: 430px; }
}

@media (max-width: 980px) {
    .vwfaq { --vwfaq-edge: 32px; }
    .vwfaq__contact { grid-template-columns: 1fr; gap: 28px; }
    .vwfaq__contact-button { width: fit-content; }
}

@media (max-width: 850px) {
    .kb-row-layout-wrap.vw-contact-section > .kt-row-column-wrap { grid-template-columns: 1fr !important; gap: 22px !important; }
    .vw-contact-section .wp-block-kadence-column,
    .vw-contact-section .wp-block-kadence-column > .kt-inside-inner-col,
    .vw-contact-intro {
        height: auto !important;
    }
    html.vw-contact-js .vw-contact-intro, html.vw-contact-js .vw-contact-section .wp-block-kadence-column:nth-child(2) {
        transform: translate3d(0, 18px, 0);
    }
}

@media (max-width: 820px) {
    .vw-home { --vw-page-edge: 22px; }
    .vw-hero { padding: 52px 0 48px; }
    .vw-hero__grid { grid-template-columns: 1fr; gap: 38px; }
    .vw-hero__content { max-width: 680px; margin-inline: auto; text-align: center; }
    .vw-hero__title { max-width: 680px; margin-inline: auto; font-size: clamp(42px, 7.2vw, 54px); line-height: 1.02; }
    .vw-hero__title br { display: none; }
    .vw-hero__description { max-width: 620px; margin: 21px auto 0; }
    .vw-hero__buttons, .vw-hero__features { justify-content: center; }
    .vw-hero__visual { width: min(100%, 560px); margin-inline: auto; justify-content: center; }
    .vw-hero__visual img { width: 100%; max-width: 100%; }

    .vwa-about-subtitle br { display: none; }

    .vabout3 { --vabout3-edge: 24px; padding-top: 52px; padding-bottom: 82px; }
    .vabout3__hero { grid-template-columns: 1fr; gap: 44px; }
    .vabout3__content { max-width: 720px; }
    .vabout3__media {
        width: min(100%, 530px);
        max-width: none;
        justify-self: center;
        margin-inline: auto;
    }
    .vabout3__study { right: 18px; }
    .vabout3__approach { grid-template-columns: 1fr; gap: 28px; margin-top: 72px; }
    .vabout3__values { grid-template-columns: 1fr; }
    .vabout3__value { min-height: 0; }
    .vabout3__contact { grid-template-columns: 1fr; gap: 28px; }
    .vabout3__contact-button { width: fit-content; }

    .vwfaq__question { min-height: 84px; grid-template-columns: 44px minmax(0, 1fr) 38px; gap: 15px; padding: 19px 20px; }
    .vwfaq__number { width: 44px; height: 44px; }
    .vwfaq__toggle { width: 38px; height: 38px; }
    .vwfaq__answer-inner { margin-left: 79px; padding-right: 20px; }
}

@media (max-width: 768px) {
    .site-middle-footer-wrap, .site-middle-footer-wrap .site-footer-row-container-inner { padding: 42px 22px 34px !important; }
    .site-middle-footer-inner-wrap .site-footer-row { grid-template-columns: 1fr !important; row-gap: 32px !important; }
    .site-middle-footer-inner-wrap { row-gap: 32px !important; }
    .site-middle-footer-inner-wrap .site-footer-section { justify-content: flex-start !important; }
    .site-middle-footer-inner-wrap .site-footer-section > * { max-width: none !important; }
    .varga-footer-brand p, .varga-footer-links a { font-size: 15px !important; }
}

@media (max-width: 720px) {
    .vwa-about-section { padding: 66px 0 72px; }
    .vwa-about-title { font-size: clamp(40px, 9vw, 52px); line-height: 1; }
    .vwa-about-subtitle { font-size: clamp(23px, 6.5vw, 30px); }
    .vwa-about-subtitle br { display: none; }
    .vwa-about-text { margin-top: 20px; font-size: 16px; }
    .vwa-about-features { grid-template-columns: 1fr; gap: 18px; margin: 30px 0; }
    .vwa-about-feature { grid-template-columns: 48px minmax(0, 1fr); }
    .vwa-about-feature__icon { width: 48px; height: 48px; }
    .vwa-about-visual { padding: 12px 12px 0 0; }
    .vwa-about-visual__backdrop, .vwa-about-profile { border-radius: 22px; }
    .vwa-about-profile__image-wrap { aspect-ratio: 1 / 1.05; }
    .vwa-about-profile__info { padding-inline: 18px; }
    .vwa-about-info-row { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 15px 0; }
    .vwa-about-info-row__icon { width: 38px; height: 38px; }
    .vwl-contact, .vwfaq__contact { margin-top: 42px; padding: 30px 24px; border-radius: 17px; }
    .vwl-contact__title, .vwfaq__contact-title { font-size: clamp(27px, 8vw, 34px); }
    .vwl-contact__button, .vwfaq__contact-button { width: 100%; white-space: normal; }
    .vwl-services { --vwl-edge: 18px; }
    .vwl-services__section { padding: 24px 0 76px; }
    .vwl-services .vwl-grid { grid-template-columns: 1fr !important; gap: 20px; }
    .vwl-card, .vwl-card:last-child { width: 100%; grid-column: auto; }
    .vwl-services .vwl-card { padding: 16px; border-radius: 17px; }
    .vwl-card__visual { min-height: 132px; border-radius: 13px; }
    .vwl-card__icon { width: 58px; height: 58px; }
    .vwl-card__icon svg { width: 37px; height: 37px; }
    .vwl-card__body { padding: 22px 5px 5px; }
    .vwl-card__title { font-size: 25px; }
    .vwl-contact { margin-top: 42px; padding: 30px 24px; border-radius: 17px; }
    .vwl-contact__title { font-size: clamp(27px, 8vw, 34px); }
    .vwl-contact__button { width: 100%; white-space: normal; }
    .vwfaq { --vwfaq-edge: 18px; }
    .vwfaq__shell { padding-top: 24px; padding-bottom: 76px; }
    .vwfaq__list { gap: 13px; }
    .vwfaq__question { min-height: 82px; grid-template-columns: 42px minmax(0, 1fr) 36px; gap: 13px; padding: 18px; }
    .vwfaq__number { width: 42px; height: 42px; border-radius: 11px; }
    .vwfaq__question-text { font-size: 17px; }
    .vwfaq__toggle { width: 36px; height: 36px; font-size: 22px; }
    .vwfaq__answer-inner { margin-right: 18px; margin-left: 73px; padding-right: 0; padding-bottom: 23px; }
    .vwfaq__answer p { margin-top: 17px; font-size: 15px; }
    .vwfaq__contact { margin-top: 42px; padding: 30px 24px; border-radius: 17px; }
    .vwfaq__contact-title { font-size: clamp(27px, 8vw, 34px); }
    .vwfaq__contact-button { width: 100%; white-space: normal; }
}

@media (max-width: 700px) {
    .vw-home-cta__title { max-width: 520px; font-size: clamp(31px, 9vw, 42px); line-height: 1.14; letter-spacing: -0.7px; }
    .vw-home-cta__title br { display: none; }
    .vw-home-cta__title-line { display: inline; }
    .vw-home-cta__actions { margin-top: 46px; }
    .vw-home-cta__content > .vw-home-cta__button, .vw-home-cta__stack > .vw-home-cta__button { margin-top: 46px; }
}

@media (max-width: 680px) {
    .vw-trust-section, .vw-services-section, .vw-process-section { padding: 68px 0 76px; }
    .vw-section-title { font-size: clamp(36px, 10vw, 48px); line-height: 1.04; }
    .vw-section-title br { display: none; }
    .vw-section-description { margin-top: 20px; font-size: 16px; }
    .vw-trust-grid, .vw-services-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 40px; }
    .vw-info-card, .vw-info-card:last-child, .vw-service-card, .vw-service-card:last-child {
        width: 100%;
        min-height: 0;
        grid-column: auto;
        padding: 28px;
    }
    .vw-services-section__action { margin-top: 30px; }
    .vw-process-grid { grid-template-columns: 1fr; gap: 22px; margin-top: 40px; }
    .vw-process-card {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
        gap: 18px;
        padding: 22px;
        border: 1px solid var(--vw-color-border);
        border-radius: 16px;
        background: var(--vw-color-surface);
        box-shadow: 0 14px 34px rgba(16, 24, 39, 0.05);
        text-align: left;
    }
    .vw-process-card__number { width: 58px; height: 58px; margin: 0; font-size: 14px; }
    .vw-process-card__content { max-width: none; margin: 0; }
    .vw-process-card__title { font-size: 20px; }
    .vw-process-card__text { margin-top: 10px; font-size: 15px; }
}

@media (max-width: 620px) {
    .vw-home-cta { padding: 68px 18px 72px; }
    .vw-home-cta__button {
        width: 100%;
        max-width: 360px;
        padding: 14px 18px;
        font-size: 14px;
        text-align: center;
    }
    .vabout3 {
        --vabout3-edge: 24px;
        padding-top: 44px;
        padding-bottom: 76px;
    }
    .vabout3__hero { gap: 40px; }
    .vabout3__title { font-size: clamp(36px, 10vw, 45px); line-height: 1.02; }
    .vabout3__lead { margin-top: 21px; font-size: 17px; }
    .vabout3__text { margin-top: 18px; font-size: 15.5px; }
    .vabout3__actions { align-items: stretch; flex-direction: column; gap: 9px; margin-top: 28px; }
    .vabout3__button { width: 100%; }
    .vabout3__link { align-self: center; }
    .vabout3__image { aspect-ratio: 4 / 5; border-width: 7px; border-radius: 20px; }
    .vabout3__media::before { top: -16px; right: -8px; width: 88px; height: 88px; }
    .vabout3__study { right: 16px; bottom: 16px; left: 16px; width: auto; }
    .vabout3__approach { margin-top: 62px; padding-top: 38px; padding-bottom: 38px; }
    .vabout3__approach-heading h2 { font-size: 31px; }
    .vabout3__values { gap: 13px; margin-top: 20px; }
    .vabout3__value { padding: 29px 24px; border-radius: 17px; }
    .vabout3__contact { padding: 29px 23px; border-radius: 17px; }
    .vabout3__contact-button { width: 100%; white-space: normal; }
}

@media (max-width: 600px) {
    .kb-row-layout-wrap.vw-contact-section { padding: 28px 0 58px !important; }
    .kb-row-layout-wrap.vw-contact-section > .kt-row-column-wrap { width: calc(100% - 28px) !important; gap: 18px !important; }
    .vw-contact-intro, .vw-contact-section .wp-block-kadence-column:nth-child(2) { border-radius: 18px !important; }
    .vw-contact-intro, .vw-contact-section .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col {
        padding: 28px 22px !important;
    }
    .vw-contact-title { font-size: 34px; line-height: 1.08; letter-spacing: -1.1px; }
    .vw-contact-description { font-size: 15px; line-height: 1.68; }
    .vw-contact-step { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 13px; }
    .vw-contact-step-number { width: 34px; height: 34px; }
    .vw-contact-section .fluentform .ff-t-container { display: block !important; margin-inline: 0 !important; }
    .vw-contact-section .fluentform .ff-t-cell { width: 100% !important; padding-inline: 0 !important; }
    .vw-contact-section .fluentform input[type="text"],
    .vw-contact-section .fluentform input[type="email"],
    .vw-contact-section .fluentform input[type="tel"],
    .vw-contact-section .fluentform input[type="url"],
    .vw-contact-section .fluentform input[type="number"],
    .vw-contact-section .fluentform select,
    .vw-contact-section .fluentform textarea,
    .vw-contact-section .fluentform .ff-el-form-control {
        font-size: 16px !important;
    }
}

@media (max-width: 560px) {
    .vw-home { --vw-page-edge: 14px; }
    .vw-eyebrow { font-size: 10px; letter-spacing: 1.7px; }
    .vw-hero__title { font-size: clamp(36px, 10.5vw, 44px); }
    .vw-hero__buttons { flex-direction: column; }
    .vw-button { width: 100%; }
    .vw-hero__features { align-items: flex-start; flex-direction: column; gap: 9px; }
    .vw-hero__features span:not(:last-child)::after { display: none; }
}

@media (max-width: 460px) {
    .vwfaq__question { grid-template-columns: 36px minmax(0, 1fr) 34px; gap: 10px; padding: 16px 14px; }
    .vwfaq__number { width: 36px; height: 36px; font-size: 11px; }
    .vwfaq__toggle { width: 34px; height: 34px; }
    .vwfaq__answer-inner { margin-right: 14px; margin-left: 60px; }
}

@media (max-width: 420px) {
    .vabout3 { --vabout3-edge: 20px; }
    .vabout3__title { font-size: 36px; }
    .vabout3__study { grid-template-columns: 40px minmax(0, 1fr); padding: 12px 13px; }
    .vabout3__study-icon { width: 40px; height: 40px; }
    .vabout3__study-text strong { font-size: 12.5px; }
    .vabout3__study-text > span { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .vw-hero__content, .vw-hero__visual, .vw-hero__buttons, .vw-hero__features, .vw-home-cta::before { animation: none; }
    .vw-button,
    .vw-info-card,
    .vw-info-card::before,
    .vw-info-card__number,
    .vw-info-card__title,
    .vw-service-card,
    .vw-service-card::before,
    .vw-service-card__icon,
    .vw-service-card__title,
    .vw-process-card__number,
    .vw-process-card__title,
    .vwa-about-feature__icon,
    .vwa-about-profile,
    .vwa-about-profile__image,
    .vw-home-cta__button,
    .vw-home-cta__button-arrow,
    .main-navigation .primary-menu-container > ul > li.menu-item > a,
    .main-navigation .primary-menu-container > ul > li.menu-item > a::after,
    .vwfaq__item,
    .vwfaq__item::before,
    .vwfaq__number,
    .vwfaq__toggle,
    .vwfaq__contact-button,
    .vwfaq__contact-arrow,
    .vabout3__button,
    .vabout3__button > span:last-child,
    .vabout3__link,
    .vabout3__link > span:last-child,
    .vabout3__value,
    .vabout3__value::before,
    .vabout3__value-number,
    .vabout3__contact-button,
    .vabout3__contact-button > span:last-child {
        transition: none;
    }
    .vw-button:hover,
    .vw-info-card:hover,
    .vw-info-card:hover .vw-info-card__number,
    .vw-info-card:hover .vw-info-card__title,
    .vw-service-card:hover,
    .vw-service-card:hover .vw-service-card__icon,
    .vw-service-card:hover .vw-service-card__title,
    .vw-process-card:hover .vw-process-card__number,
    .vw-process-card:hover .vw-process-card__title,
    .vwa-about-feature:hover .vwa-about-feature__icon,
    .vwa-about-profile:hover,
    .vwa-about-profile:hover .vwa-about-profile__image,
    .vw-home-cta__button:hover,
    .vw-home-cta__button:focus-visible,
    .vw-home-cta__button:hover .vw-home-cta__button-arrow,
    .vw-home-cta__button:focus-visible .vw-home-cta__button-arrow,
    .vwfaq__item:hover,
    .vwfaq__question:hover .vwfaq__number,
    .vwfaq__contact-button:hover,
    .vwfaq__contact-button:focus-visible,
    .vwfaq__contact-button:hover .vwfaq__contact-arrow,
    .vwfaq__contact-button:focus-visible .vwfaq__contact-arrow,
    .vabout3__button:hover,
    .vabout3__button:focus-visible,
    .vabout3__button:hover > span:last-child,
    .vabout3__button:focus-visible > span:last-child,
    .vabout3__link:hover > span:last-child,
    .vabout3__link:focus-visible > span:last-child,
    .vabout3__value:hover,
    .vabout3__value:hover .vabout3__value-number,
    .vabout3__contact-button:hover,
    .vabout3__contact-button:focus-visible,
    .vabout3__contact-button:hover > span:last-child,
    .vabout3__contact-button:focus-visible > span:last-child {
        transform: none;
    }
    .vw-scroll-reveal { opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important; }
    html.vwl-animations-ready .vwl-services .vwl-grid > .vwl-card,
    .vwl-card.vwl-card-enter,
    html.vwl-animations-ready .vwl-contact,
    .vwl-contact.vwl-contact-enter,
    .vwl-contact.vwl-contact-enter .vwl-contact__content,
    .vwl-contact.vwl-contact-enter .vwl-contact__button,
    html.vwfaq-js .vwfaq .vwfaq__item,
    .vwfaq__item.vwfaq-item-enter,
    html.vwfaq-js .vwfaq .vwfaq__contact,
    .vwfaq__contact.vwfaq-contact-enter,
    .vwfaq__contact.vwfaq-contact-enter .vwfaq__contact-content,
    .vwfaq__contact.vwfaq-contact-enter .vwfaq__contact-button {
        opacity: 1;
        transform: none;
        animation: none;
        transition: none;
    }
    .vw-contact-step,
    .vw-contact-step-number,
    .vw-contact-section .fluentform .ff-btn-submit,
    .vw-contact-section .fluentform button[type="submit"] {
        transition: none !important;
    }
    .vw-contact-step:hover,
    .vw-contact-step:hover .vw-contact-step-number,
    .vw-contact-section .fluentform .ff-btn-submit:hover,
    .vw-contact-section .fluentform button[type="submit"]:hover {
        transform: none !important;
    }
    html.vw-contact-js .vw-contact-intro,
    html.vw-contact-js .vw-contact-section .wp-block-kadence-column:nth-child(2),
    html.vw-contact-js .vw-contact-step,
    html.vw-contact-js .vw-contact-response {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* ==================================================
   MOBILER KADENCE-HEADER – TRIGGER IM VIEWPORT HALTEN
================================================== */

@media (max-width: 1024px) {
    #mobile-header .site-header-row-container-inner > .site-container,
    #masthead .site-mobile-header-wrap .site-header-row-container-inner > .site-container,
    .site-mobile-header-wrap .site-header-row-container-inner > .site-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-inline: 24px !important;
        box-sizing: border-box;
    }

    #mobile-header .site-main-header-inner-wrap,
    #masthead .site-mobile-header-wrap .site-main-header-inner-wrap {
        min-height: 124px !important;
    }

    #mobile-header .site-main-header-inner-wrap,
    #mobile-header .site-header-main-section-left,
    #mobile-header .site-header-main-section-right,
    #masthead .site-mobile-header-wrap .site-main-header-inner-wrap,
    #masthead .site-mobile-header-wrap .site-header-main-section-left,
    #masthead .site-mobile-header-wrap .site-header-main-section-right {
        min-width: 0;
    }

    #mobile-header .site-header-main-section-right,
    #masthead .site-mobile-header-wrap .site-header-main-section-right,
    #mobile-header .mobile-toggle-open-container,
    #masthead .site-mobile-header-wrap .mobile-toggle-open-container {
        flex: 0 0 auto;
        margin-right: 0;
        margin-left: auto;
    }

    #mobile-header .site-branding,
    #masthead .site-mobile-header-wrap .site-branding {
        min-width: 0;
        max-width: calc(100vw - 104px);
    }

    #mobile-header .site-branding img,
    #masthead .site-mobile-header-wrap .site-branding img {
        width: 210px !important;
        max-width: calc(100vw - 112px) !important;
        max-height: none !important;
        height: auto !important;
        object-fit: contain;
    }

    #mobile-header .menu-toggle-open,
    #masthead .site-mobile-header-wrap .menu-toggle-open {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mobile-header .menu-toggle-open svg,
    #mobile-header .menu-toggle-open .kadence-svg-icon,
    #masthead .site-mobile-header-wrap .menu-toggle-open svg,
    #masthead .site-mobile-header-wrap .menu-toggle-open .kadence-svg-icon {
        width: 26px !important;
        height: 26px !important;
    }

    #mobile-drawer.popup-drawer .drawer-inner {
        width: min(420px, 88vw) !important;
        max-width: 420px !important;
    }

    #mobile-drawer .drawer-header {
        min-height: 68px;
        padding: 12px 16px !important;
    }

    #mobile-drawer .drawer-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        min-width: 44px;
        padding: 0;
    }

    #mobile-drawer .drawer-content { padding: 4px 24px 30px !important; }
    #mobile-drawer .mobile-navigation ul { margin: 0 !important; padding: 0 !important; }
    #mobile-drawer .mobile-navigation ul li { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
    #mobile-drawer .mobile-navigation ul li:last-child { border-bottom: 0; }
    #mobile-drawer .mobile-navigation ul li > a {
        min-height: 60px;
        display: flex;
        align-items: center;
        padding: 17px 8px !important;
        font-size: 18px !important;
        font-weight: 700;
        line-height: 1.3;
    }

    .vw-imprint a,
    .vw-privacy a { overflow-wrap: anywhere; }
}

@media (max-width: 600px) {
    #mobile-header .site-header-row-container-inner > .site-container,
    #masthead .site-mobile-header-wrap .site-header-row-container-inner > .site-container,
    .site-mobile-header-wrap .site-header-row-container-inner > .site-container {
        padding-inline: 16px !important;
    }

    #mobile-header .site-main-header-inner-wrap,
    #masthead .site-mobile-header-wrap .site-main-header-inner-wrap {
        min-height: 124px !important;
    }

    #mobile-header .site-branding img,
    #masthead .site-mobile-header-wrap .site-branding img {
        width: 220px !important;
        max-width: calc(100vw - 96px) !important;
        max-height: none !important;
    }

    #mobile-header .menu-toggle-open,
    #masthead .site-mobile-header-wrap .menu-toggle-open {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }

    #mobile-drawer.popup-drawer .drawer-inner {
        width: min(360px, 92vw) !important;
        max-width: 360px !important;
    }

    #mobile-drawer .drawer-content { padding: 2px 18px 24px !important; }
    #mobile-drawer .mobile-navigation ul li > a { min-height: 56px; padding: 15px 6px !important; font-size: 17px !important; }
}


@media (max-width: 420px) {
    #mobile-header .site-branding img,
    #masthead .site-mobile-header-wrap .site-branding img {
        width: 205px !important;
        max-width: calc(100vw - 92px) !important;
        max-height: none !important;
    }
}

@media (hover: none) and (pointer: coarse) {
    .vw-button:hover,
    .vw-info-card:hover,
    .vw-service-card:hover,
    .vwl-card:hover,
    .vwfaq__item:hover,
    .vwa-about-profile:hover,
    .vabout3__value:hover,
    .vw-contact-step:hover {
        transform: none;
    }
}

@media screen and (min-width: 1025px) {
    html body .vwl-services > .vwl-services__section {
        padding-top: 0 !important;
    }
}