/* Deluxe Studio Elementor Modules */
.dde-module,
.dde-module * {
    box-sizing: border-box;
}

.dde-module {
    --dde-bg: #071119;
    --dde-panel: #0d181f;
    --dde-text: #f4f7f9;
    --dde-muted: #b9c4ca;
    --dde-accent: #69d7e3;
    --dde-orange: #f7931e;
    --dde-border: #25343c;
    position: relative;
    width: 100%;
    color: var(--dde-text);
    font-family: inherit;
}

.dde-module img {
    display: block;
    max-width: 100%;
}

.dde-module a {
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.dde-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dde-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 24px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.dde-btn--primary {
    background: var(--dde-orange);
    color: #fff;
    border: 1px solid transparent;
}

.dde-btn--ghost {
    color: #fff;
    border: 1px solid var(--dde-accent);
    background: transparent;
}

/* Header */
.dde-header {
    z-index: 30;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.dde-header--sticky {
    position: sticky;
    top: 0;
}

.dde-header__inner {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto minmax(140px, 1fr);
    gap: 28px;
    align-items: center;
}

.dde-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}

.dde-header__logo {
    max-width: 180px;
    max-height: 52px;
    width: auto;
    height: auto;
}

.dde-header__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    white-space: nowrap;
}

.dde-header__nav a {
    display: inline-flex;
    padding: 8px 0 10px;
    color: #eef3f6;
    border-bottom: 2px solid transparent;
    font-size: 13px;
    font-weight: 500;
}

.dde-header__cta {
    justify-self: end;
}

/* Hero */
.dde-hero {
    overflow: hidden;
}

.dde-hero__inner {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    gap: 28px;
}

.dde-hero__content {
    position: relative;
    z-index: 2;
    flex: 1 1 50%;
    align-self: center;
    padding: 12px 0;
}

.dde-hero__eyebrow {
    margin-bottom: 13px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--dde-accent);
}

.dde-hero__title {
    margin: 0;
    color: #fff;
    font-size: clamp(34px, 4.1vw, 60px);
    line-height: .98;
    font-weight: 900;
    letter-spacing: -.035em;
    text-transform: uppercase;
    text-wrap: balance;
}

.dde-hero__text {
    max-width: 570px;
    margin-top: 22px;
    color: var(--dde-muted);
    font-size: 16px;
    line-height: 1.65;
}

.dde-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 27px;
}

.dde-hero__image {
    position: relative;
    flex: 1 1 50%;
    min-width: 0;
    min-height: 390px;
    overflow: hidden;
}


.dde-hero__background {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.dde-hero__background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dde-hero__background::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(7,17,25,.52);
    pointer-events: none;
}

.dde-hero--background .dde-hero__inner {
    position: relative;
    z-index: 1;
}

.dde-hero--background .dde-hero__content {
    flex-grow: 0;
}

.dde-hero__image::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, #071119 0%, rgba(7,17,25,.66) 12%, rgba(7,17,25,.06) 44%, rgba(7,17,25,0) 100%);
    pointer-events: none;
}

.dde-hero__image:empty::after,
.dde-service-card__media:empty::after,
.dde-portfolio__item:empty::after,
.dde-feature__media:empty::after,
.dde-about__media:empty::after {
    content: "Bild in Elementor wählen";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 20px;
    background: linear-gradient(135deg, #17242c, #0b151c);
    color: #7f929d;
    font-size: 12px;
    text-align: center;
}

/* Benefits */
.dde-benefits {
    border-top: 1px solid var(--dde-border);
    border-bottom: 1px solid var(--dde-border);
}

.dde-benefits__grid {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dde-benefit {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 14px;
    padding: 20px 26px;
    border-right: 1px solid var(--dde-border);
}

.dde-benefit:last-child {
    border-right: 0;
}

.dde-benefit__icon {
    flex: 0 0 auto;
    width: 34px;
    display: grid;
    place-items: center;
    color: var(--dde-accent);
    font-size: 26px;
}

.dde-benefit__title {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.dde-benefit__text {
    margin-top: 4px;
    color: var(--dde-muted);
    font-size: 12px;
    line-height: 1.35;
}

/* Services */
.dde-services__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 20px 28px 18px;
}

.dde-services__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 20px;
}

.dde-service-card {
    overflow: hidden;
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
}

.dde-service-card__media {
    position: relative;
    height: 220px;
    overflow: hidden;
    background: #0b151c;
}

.dde-service-card--image-only .dde-service-card__media {
    width: 100%;
}

.dde-service-card__media img {
    transition: transform .45s ease;
}

.dde-service-card:hover .dde-service-card__media img {
    transform: scale(1.025);
}

.dde-service-card__body {
    min-height: 128px;
    padding: 16px 18px 18px;
    background: linear-gradient(180deg, rgba(12,23,30,.96), rgba(12,23,30,1));
}

.dde-service-card__title {
    margin: 0 0 5px;
    color: #fff;
    font-size: 20px;
    line-height: 1.15;
    font-weight: 750;
}

.dde-service-card__text {
    color: var(--dde-muted);
    font-size: 13px;
    line-height: 1.45;
}

.dde-service-card__link {
    display: inline-flex;
    margin-top: 10px;
    color: var(--dde-accent);
    font-size: 12px;
    font-weight: 650;
}

/* Portfolio */
.dde-portfolio {
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.dde-portfolio__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 28px;
    display: flex;
    gap: 28px;
    align-items: stretch;
}

.dde-portfolio__intro {
    flex: 0 0 23%;
    align-self: center;
    padding: 28px 0;
}

.dde-portfolio__eyebrow {
    color: var(--dde-accent);
    font-size: 13px;
    margin-bottom: 10px;
}

.dde-portfolio__title {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 2.8vw, 43px);
    line-height: 1.02;
    letter-spacing: -.025em;
    font-weight: 850;
}

.dde-portfolio__text {
    margin-top: 17px;
    color: var(--dde-muted);
    font-size: 13px;
    line-height: 1.55;
}

.dde-portfolio__link {
    display: inline-flex;
    margin-top: 18px;
    color: var(--dde-accent);
    font-size: 12px;
    font-weight: 650;
}

.dde-portfolio__grid {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 4px;
    padding: 4px 0;
}

.dde-portfolio__item {
    position: relative;
    display: block;
    height: 145px;
    overflow: hidden;
    background: #0b151c;
}

.dde-portfolio__item--wide {
    grid-column: span 2;
}

.dde-portfolio__item img {
    transition: transform .35s ease, opacity .35s ease;
}

.dde-portfolio__item:hover img {
    transform: scale(1.025);
    opacity: .92;
}

/* Feature pair */
.dde-feature-pair {
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.dde-feature-pair__grid {
    max-width: 1240px;
    margin: 0 auto;
    padding: 14px 28px;
    display: grid;
    grid-template-columns: repeat(var(--dde-feature-columns, 2), minmax(0,1fr));
    gap: 16px;
}

.dde-feature {
    min-width: 0;
    min-height: 220px;
    display: flex;
    overflow: hidden;
}

.dde-feature__copy {
    flex: 1 1 58%;
    min-width: 0;
    --dde-copy-bottom-spacing: 22px;
    padding: 22px 20px max(0px, var(--dde-copy-bottom-spacing)) 26px;
    border-left: 3px solid var(--dde-accent);
}

/* Negative values of "Abstand Text zum unteren Kachelrand" trim only the
   lower copy area. The copy content itself is no longer translated, so the
   spacing between the image and the first line of text stays unchanged. */

.dde-feature-pair--no-line .dde-feature__copy {
    border-left-width: 0 !important;
}

.dde-feature__media {
    position: relative;
    flex: 0 0 42%;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
}

.dde-feature--image-left .dde-feature__media {
    order: -1;
}

.dde-feature__eyebrow {
    margin-bottom: 7px;
    color: var(--dde-accent);
    font-size: 12px;
}

.dde-feature__title {
    margin: 0;
    color: #fff;
    font-size: 23px;
    line-height: 1.08;
    font-weight: 800;
}

.dde-feature__text {
    margin-top: 12px;
    color: var(--dde-muted);
    font-size: 12.5px;
    line-height: 1.55;
}

.dde-feature__link {
    display: inline-flex;
    margin-top: 14px;
    color: var(--dde-accent);
    font-size: 12px;
    font-weight: 650;
}

/* About & reviews */
.dde-about-reviews__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 14px 28px 18px;
    display: grid;
    grid-template-columns: minmax(0, var(--dde-about-main-width, 57%)) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.dde-about-reviews--stacked .dde-about-reviews__inner {
    grid-template-columns: 1fr !important;
}

.dde-about-reviews--no-reviews .dde-about-reviews__inner {
    grid-template-columns: 1fr !important;
}

.dde-about-reviews--no-reviews .dde-about {
    width: 100%;
}

.dde-about-reviews--reviews-first .dde-reviews {
    order: -1;
}

.dde-about {
    display: flex;
    min-width: 0;
    background: #0b151c;
    overflow: hidden;
}

.dde-about__media {
    position: relative;
    flex: 0 0 31%;
    min-height: 250px;
    overflow: hidden;
}

.dde-about__copy {
    align-self: center;
    padding: 22px 28px;
}

.dde-about__eyebrow {
    margin-bottom: 9px;
    color: var(--dde-accent);
    font-size: 12px;
}

.dde-about__title {
    margin: 0;
    color: #fff;
    font-size: 27px;
    line-height: 1.15;
    font-weight: 800;
}

.dde-about__text {
    margin-top: 12px;
    color: var(--dde-muted);
    font-size: 12.5px;
    line-height: 1.58;
}

.dde-about__link {
    display: inline-flex;
    margin-top: 15px;
    color: var(--dde-accent);
    font-size: 12px;
    font-weight: 650;
}

.dde-reviews {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 10px;
}

.dde-review {
    min-width: 0;
    padding: 18px 15px 16px;
    border: 1px solid var(--dde-border);
    border-radius: 8px;
    background: var(--dde-panel);
    text-align: center;
}

.dde-review__quote-mark {
    height: 28px;
    color: var(--dde-accent);
    font-family: Georgia, serif;
    font-size: 44px;
    line-height: .8;
    opacity: .75;
}

.dde-review__text {
    min-height: 110px;
    color: #d0d6da;
    font-size: 11px;
    line-height: 1.55;
}

.dde-review__name {
    margin-top: 12px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.dde-review__stars {
    margin-top: 6px;
    color: #ffa800;
    font-size: 13px;
    letter-spacing: 2px;
}


/* Section intro */
.dde-section-intro__inner {
    max-width: 1240px;
    margin: 0 auto;
}

.dde-section-intro__content {
    width: 100%;
    margin-inline: var(--dde-intro-content-margin, 0 auto);
}

.dde-section-intro--position-left {
    --dde-intro-content-margin: 0 auto;
}

.dde-section-intro--position-center {
    --dde-intro-content-margin: auto;
}

.dde-section-intro--position-right {
    --dde-intro-content-margin: auto 0;
}

.dde-section-intro--divider .dde-section-intro__content {
    border-left-style: solid;
    border-left-width: 3px;
    padding-left: 22px;
}

.dde-section-intro__eyebrow {
    margin-bottom: 9px;
    color: var(--dde-accent);
    font-size: 13px;
    line-height: 1.4;
}

.dde-section-intro__title {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 3.1vw, 48px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -.025em;
}

.dde-section-intro__text {
    margin-top: 14px;
    color: var(--dde-muted);
    font-size: 15px;
    line-height: 1.6;
}

.dde-section-intro__button {
    margin-top: 20px;
}

/* CTA */
.dde-cta {
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center center;
}

.dde-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.42) 55%, rgba(0,0,0,.15));
}

.dde-cta__inner {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    min-height: 280px;
    display: flex;
    align-items: center;
    padding: 34px 65px;
}

.dde-cta__copy {
    max-width: 650px;
}

.dde-cta__title {
    margin: 0;
    color: #fff;
    font-size: clamp(32px, 3.2vw, 47px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -.025em;
}

.dde-cta__text {
    margin-top: 12px;
    color: #e3e7e9;
    font-size: 15px;
    line-height: 1.5;
}

.dde-cta .dde-btn {
    margin-top: 18px;
}

/* Footer */
.dde-footer {
    border-top: 1px solid var(--dde-border);
}

.dde-footer__inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 22px 28px 16px;
}

.dde-footer__grid {
    display: grid;
    grid-template-columns: 1.7fr repeat(3, .9fr) .8fr;
    gap: 35px;
}

.dde-footer__brand-title {
    margin-bottom: 11px;
    color: #fff;
    font-size: 21px;
    font-weight: 800;
}

.dde-footer__contact {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 5px 0;
    color: var(--dde-muted);
    font-size: 11.5px;
    line-height: 1.4;
}

.dde-footer__contact a,
.dde-footer__links a {
    color: var(--dde-muted);
}

.dde-footer__contact-icon {
    flex: 0 0 16px;
    color: var(--dde-accent);
    text-align: center;
}

.dde-footer__heading {
    margin-bottom: 10px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.dde-footer__links {
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 11.5px;
}

.dde-footer__links a:hover,
.dde-footer__contact a:hover {
    color: #fff;
}

.dde-footer__social {
    display: flex;
    gap: 10px;
}

.dde-footer__social a {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--dde-accent);
    border-radius: 5px;
    color: var(--dde-accent);
}

.dde-footer__copyright {
    margin-top: 12px;
    color: #778891;
    font-size: 10px;
    text-align: center;
}

/* Responsive fallbacks.
   These rules intentionally avoid !important so Elementor responsive controls
   can override every layout detail per device. */
@media (max-width: 1024px) {
    .dde-hero__inner { gap: 18px; }
}

@media (max-width: 767px) {
    .dde-hero__inner { flex-direction: column; }
    .dde-hero__content { flex-basis: 100%; max-width: 100%; }
    .dde-hero__image { min-height: 320px; }
    .dde-hero__image::before {
        background: linear-gradient(180deg, #071119 0%, rgba(7,17,25,.42) 22%, rgba(7,17,25,0) 50%);
    }

    .dde-benefits__grid { grid-template-columns: 1fr; }
    .dde-benefit { border-right: 0; border-bottom: 1px solid var(--dde-border); }
    .dde-benefit:last-child { border-bottom: 0; }

    .dde-services__grid { grid-template-columns: 1fr; }

    .dde-portfolio__inner { flex-direction: column; }
    .dde-portfolio__intro { flex-basis: 100%; max-width: 100%; }
    .dde-portfolio__grid { width: 100%; grid-template-columns: repeat(2, minmax(0,1fr)); }
    .dde-portfolio__item--wide { grid-column: 1 / -1; }

    .dde-feature-pair__grid { --dde-feature-columns: 1; }
    .dde-feature { flex-direction: column; }
    .dde-feature-pair--mobile-image-first .dde-feature__media { order: -1; }

    .dde-about-reviews__inner { grid-template-columns: 1fr; }
    .dde-about { flex-direction: column; }
    .dde-reviews { grid-template-columns: 1fr; }
    .dde-review__text { min-height: 0; }

    .dde-footer__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .dde-module { --dde-mobile-edge: 16px; }
}

/* === Deluxe Studio 1.2.0 additions === */

/* Hero: configurable full-image overlay gradients */
.dde-hero--overlay-linear .dde-hero__background::after {
    background: linear-gradient(
        var(--dde-hero-overlay-angle, 90deg),
        var(--dde-hero-overlay-start, rgba(7,17,25,.96)) var(--dde-hero-overlay-start-stop, 0%),
        var(--dde-hero-overlay-end, rgba(7,17,25,.08)) var(--dde-hero-overlay-end-stop, 78%)
    );
}

.dde-hero--overlay-radial .dde-hero__background::after {
    background: radial-gradient(
        circle at var(--dde-hero-overlay-radial-position, center center),
        var(--dde-hero-overlay-start, rgba(7,17,25,.96)) var(--dde-hero-overlay-start-stop, 0%),
        var(--dde-hero-overlay-end, rgba(7,17,25,.08)) var(--dde-hero-overlay-end-stop, 78%)
    );
}

/* Section intro: extended layouts and decorative system */
.dde-section-intro {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.dde-section-intro__inner {
    position: relative;
    z-index: 2;
    display: flex;
}

.dde-section-intro__content {
    position: relative;
    z-index: 2;
    --dde-intro-gap: 44px;
    --dde-intro-primary-width: 52%;
    --dde-intro-line-thickness: 3px;
    --dde-intro-line-length: 72px;
}

/* Reset the old border-based divider. Version 1.2 uses a real decorative line. */
.dde-section-intro--divider .dde-section-intro__content {
    border-left: 0;
}

.dde-section-intro--divider-left:not(.dde-section-intro--layout-card) .dde-section-intro__content {
    padding-left: 22px;
}

.dde-section-intro__primary,
.dde-section-intro__secondary {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.dde-section-intro__accent-line {
    display: block;
    width: var(--dde-intro-line-length);
    height: var(--dde-intro-line-thickness);
    border-radius: 999px;
    background: var(--dde-accent);
}

.dde-section-intro--divider-left .dde-section-intro__accent-line--before {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--dde-intro-line-thickness);
    height: var(--dde-intro-line-length);
}

.dde-section-intro--divider-top .dde-section-intro__accent-line--before {
    margin-bottom: 20px;
}

.dde-section-intro--divider-under-title .dde-section-intro__accent-line--title {
    display: inline-block;
    margin-top: 18px;
    vertical-align: top;
}

.dde-section-intro__eyebrow {
    position: relative;
    display: inline-block;
    width: auto;
    max-width: 100%;
}

.dde-section-intro--eyebrow-pill .dde-section-intro__eyebrow,
.dde-section-intro--eyebrow-boxed .dde-section-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
}

.dde-section-intro--eyebrow-boxed .dde-section-intro__eyebrow {
    border: 1px solid currentColor;
    border-radius: 4px;
}

.dde-section-intro--eyebrow-line .dde-section-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.dde-section-intro--eyebrow-line .dde-section-intro__eyebrow::before {
    content: "";
    width: 30px;
    height: 2px;
    flex: 0 0 30px;
    border-radius: 999px;
    background: currentColor;
}

.dde-section-intro__glow {
    position: absolute;
    z-index: 0;
    top: 50%;
    border-radius: 50%;
    filter: blur(85px);
    opacity: .9;
    transform: translateY(-50%);
    pointer-events: none;
}

.dde-section-intro--glow-left .dde-section-intro__glow {
    left: -16%;
}

.dde-section-intro--glow-center .dde-section-intro__glow {
    left: 50%;
    transform: translate(-50%, -50%);
}

.dde-section-intro--glow-right .dde-section-intro__glow {
    right: -16%;
}

.dde-section-intro__watermark {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    box-sizing: border-box;
    max-width: none;
    font-weight: 900;
    line-height: .8;
    letter-spacing: -.055em;
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    overflow: hidden;
    --dde-watermark-x: 0px;
    --dde-watermark-y: 0px;
}

.dde-section-intro__watermark-text {
    display: block;
    max-width: 100%;
    transform: translate(var(--dde-watermark-x), var(--dde-watermark-y));
    transform-origin: center center;
}

.dde-section-intro__icon {
    position: absolute;
    z-index: 1;
    right: 0;
    top: 0;
    line-height: 1;
    pointer-events: none;
}

.dde-section-intro__icon svg {
    display: block;
}

/* Layout 1: Classic */
.dde-section-intro--layout-classic .dde-section-intro__secondary {
    max-width: 760px;
}

/* Layout 2: Split */
.dde-section-intro--layout-split .dde-section-intro__content {
    display: grid;
    grid-template-columns: minmax(0, var(--dde-intro-primary-width)) minmax(0, 1fr);
    gap: var(--dde-intro-gap);
    align-items: center;
}

.dde-section-intro--layout-split .dde-section-intro__text {
    margin-top: 0;
}

/* Layout 3: Premium card */
.dde-section-intro--layout-card .dde-section-intro__content {
    border: 1px solid rgba(255,255,255,.09);
    background: rgba(15,29,38,.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.dde-section-intro--layout-card.dde-section-intro--divider-left .dde-section-intro__accent-line--before {
    left: 16px;
    top: 18px;
}

/* Layout 4: Spotlight */
.dde-section-intro--layout-spotlight {
    /* Preserve the traditional centered Spotlight default until the responsive control writes its own value on the content element. */
    --dde-intro-content-margin: auto;
}

.dde-section-intro--layout-spotlight .dde-section-intro__content {
    text-align: center;
}

.dde-section-intro--layout-spotlight .dde-section-intro__secondary {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
}

.dde-section-intro--layout-spotlight .dde-section-intro__accent-line--before,
.dde-section-intro--layout-spotlight .dde-section-intro__accent-line--title {
    margin-left: auto;
    margin-right: auto;
}

/* Layout 5: Editorial */
.dde-section-intro--layout-editorial .dde-section-intro__content {
    padding-left: clamp(64px, 9vw, 128px);
}

.dde-section-intro__editorial-number {
    display: none;
}

.dde-section-intro--layout-editorial .dde-section-intro__editorial-number {
    display: block;
    position: absolute;
    z-index: 0;
    left: 0;
    top: -.16em;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.08em;
    pointer-events: none;
}

.dde-section-intro--layout-editorial .dde-section-intro__title {
    position: relative;
    z-index: 1;
}

@media (max-width: 767px) {
    .dde-section-intro--layout-split .dde-section-intro__content {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .dde-section-intro--layout-editorial .dde-section-intro__content {
        padding-left: 54px;
    }

    .dde-section-intro__watermark {
        max-width: none;
    }

    .dde-section-intro__icon {
        right: 4px;
        top: 4px;
    }
}

.dde-hero--overlay-solid .dde-hero__background::after {
    background: var(--dde-hero-overlay-solid, rgba(7,17,25,.52));
}


/* === Deluxe Studio 1.3.0 – Bereichseinleitung refinements === */
/* Keep the Kicker coupled to the normal Elementor text alignment. */
.dde-section-intro__primary,
.dde-section-intro__secondary {
    text-align: inherit;
}

/* Plain kicker is inline-level so parent text-align can place it left/center/right. */
.dde-section-intro--eyebrow-plain .dde-section-intro__eyebrow {
    display: inline-block;
}


/* ========================================================================
   Deluxe Studio 1.4.0 – Header Deluxe system + intro fixes
   ======================================================================== */

/* --- Bereichseinleitung: alignment + working element gap ---------------- */
.dde-section-intro__content {
    --dde-intro-text-align: left;
    text-align: var(--dde-intro-text-align);
}

.dde-section-intro__primary,
.dde-section-intro__secondary,
.dde-section-intro__text {
    text-align: var(--dde-intro-text-align, inherit);
}

/* Spotlight must respect the Elementor alignment control instead of forcing center. */
.dde-section-intro--layout-spotlight .dde-section-intro__content {
    text-align: var(--dde-intro-text-align, center);
}

/* The control is a column gap in Split and a real block gap in every other layout. */
.dde-section-intro:not(.dde-section-intro--layout-split) .dde-section-intro__secondary {
    margin-top: var(--dde-intro-gap, 24px);
}

.dde-section-intro--layout-split .dde-section-intro__secondary {
    margin-top: 0;
}

/* --- Header foundation -------------------------------------------------- */
.dde-header {
    --dde-header-max-width: 1240px;
    --dde-header-gap: 28px;
    --dde-header-row-gap: 14px;
    --dde-header-accent: #69d7e3;
    --dde-header-nav-active-bg: rgba(105,215,227,.10);
    --dde-header-nav-hover-bg: rgba(255,255,255,.055);
    --dde-mobile-header-pad-y: 13px;
    --dde-mobile-header-pad-x: 18px;
    --dde-mobile-logo-width: 120px;
    --dde-mobile-toggle-color: #fff;
    --dde-mobile-toggle-bg: rgba(255,255,255,.07);
    --dde-mobile-toggle-border: rgba(255,255,255,.12);
    --dde-mobile-toggle-size: 44px;
    --dde-mobile-toggle-radius: 12px;
    --dde-mobile-panel-bg: #0a151d;
    --dde-mobile-panel-color: #f4f7f9;
    --dde-mobile-panel-accent: #69d7e3;
    --dde-mobile-panel-width: 88%;
    --dde-mobile-panel-pad-top: 28px;
    --dde-mobile-panel-pad-right: 24px;
    --dde-mobile-panel-pad-bottom: 28px;
    --dde-mobile-panel-pad-left: 24px;
    --dde-mobile-nav-gap: 10px;
    --dde-mobile-nav-radius: 12px;
    --dde-mobile-panel-blur: 18px;
    z-index: 50;
    border: 0;
    background: transparent;
}

.dde-header--sticky {
    position: sticky;
    top: 0;
}

.dde-header__shell {
    position: relative;
    width: 100%;
    background: #071119;
    border-bottom: 1px solid rgba(255,255,255,.06);
    overflow: visible;
}

.dde-header__inner,
.dde-header__topbar-inner {
    width: 100%;
    max-width: var(--dde-header-max-width);
    margin-inline: auto;
}

.dde-header__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto minmax(140px, 1fr);
    align-items: center;
    column-gap: var(--dde-header-gap);
    row-gap: var(--dde-header-row-gap);
}

.dde-header__brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    color: inherit;
}

.dde-header__brand-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dde-header__brand-main,
.dde-header__brand-subtitle {
    display: block;
    min-width: 0;
}

.dde-header__brand-main {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.05;
    white-space: nowrap;
}

.dde-header__brand-subtitle {
    color: #91a1aa;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: .11em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dde-header__logo {
    display: block;
    width: auto;
    max-width: 180px;
    max-height: 52px;
    object-fit: contain;
}

.dde-header__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    white-space: nowrap;
}

.dde-header__nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid transparent;
    border-bottom: 1px solid transparent;
    color: #eef3f6;
    line-height: 1.15;
    isolation: isolate;
}

.dde-header__nav-icon,
.dde-header__cta-icon {
    display: inline-flex;
    flex: 0 0 auto;
    line-height: 1;
}

.dde-header__nav-icon svg,
.dde-header__cta-icon svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.dde-header__actions {
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.dde-header__cta {
    justify-self: auto;
    gap: 8px;
    white-space: nowrap;
    border: 1px solid transparent;
}

.dde-header__cta--secondary {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.20);
    color: #fff;
}

/* Topbar */
.dde-header__topbar {
    width: 100%;
    background: #040a0e;
    color: #91a1aa;
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: .035em;
}

.dde-header__topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.dde-header__topbar a {
    color: inherit;
}

/* Desktop nav visual systems */
.dde-header--nav-style-underline .dde-header__nav a::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 8px;
    right: 8px;
    bottom: 2px;
    height: 2px;
    border-radius: 99px;
    background: var(--dde-header-accent);
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
}

.dde-header--nav-style-underline .dde-header__nav a:hover,
.dde-header--nav-style-underline .dde-header__nav a.is-active {
    color: var(--dde-header-accent);
}

.dde-header--nav-style-underline .dde-header__nav a:hover::after,
.dde-header--nav-style-underline .dde-header__nav a.is-active::after {
    transform: scaleX(1);
    opacity: 1;
}

.dde-header--nav-style-pill .dde-header__nav a:hover {
    color: var(--dde-header-accent);
    background: var(--dde-header-nav-hover-bg);
}

.dde-header--nav-style-pill .dde-header__nav a.is-active {
    color: var(--dde-header-accent);
    background: var(--dde-header-nav-active-bg);
}

.dde-header--nav-style-outline .dde-header__nav a:hover,
.dde-header--nav-style-outline .dde-header__nav a.is-active {
    color: var(--dde-header-accent);
    border-color: color-mix(in srgb, var(--dde-header-accent) 55%, transparent);
    background: var(--dde-header-nav-hover-bg);
}

.dde-header--nav-style-glow .dde-header__nav a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--dde-header-accent);
    box-shadow: 0 0 12px var(--dde-header-accent), 0 0 28px color-mix(in srgb, var(--dde-header-accent) 55%, transparent);
    transform: translateX(-50%) scale(.2);
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
}

.dde-header--nav-style-glow .dde-header__nav a:hover,
.dde-header--nav-style-glow .dde-header__nav a.is-active,
.dde-header--nav-style-minimal .dde-header__nav a:hover,
.dde-header--nav-style-minimal .dde-header__nav a.is-active {
    color: var(--dde-header-accent);
}

.dde-header--nav-style-glow .dde-header__nav a:hover::after,
.dde-header--nav-style-glow .dde-header__nav a.is-active::after {
    transform: translateX(-50%) scale(1);
    opacity: 1;
}

/* Desktop layouts */
@media (min-width: 768px) {
    .dde-header__mobile-toggle,
    .dde-header__mobile-panel,
    .dde-header__mobile-backdrop {
        display: none !important;
    }

    .dde-header--layout-classic .dde-header__brand { grid-column: 1; }
    .dde-header--layout-classic .dde-header__nav { grid-column: 2; }
    .dde-header--layout-classic .dde-header__actions { grid-column: 3; }

    .dde-header--layout-glass {
        background: transparent;
    }

    .dde-header--layout-glass .dde-header__shell {
        max-width: calc(var(--dde-header-max-width) + 56px);
        margin-inline: auto;
        background-clip: padding-box;
        border: 1px solid rgba(255,255,255,.10);
        box-shadow: 0 20px 60px rgba(0,0,0,.24);
    }

    .dde-header--layout-glass .dde-header__inner {
        max-width: var(--dde-header-max-width);
    }

    .dde-header--layout-centered .dde-header__inner {
        grid-template-columns: 1fr auto 1fr;
    }

    .dde-header--layout-centered .dde-header__brand {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
    }

    .dde-header--layout-centered .dde-header__actions {
        grid-column: 3;
        grid-row: 1;
    }

    .dde-header--layout-centered .dde-header__nav {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: center;
    }

    .dde-header--layout-centered .dde-header__brand-main {
        text-align: center;
    }

    .dde-header--layout-centered .dde-header__brand-subtitle {
        text-align: center;
    }

    .dde-header--layout-split .dde-header__inner {
        grid-template-columns: minmax(220px, 1fr) auto;
    }

    .dde-header--layout-split .dde-header__brand {
        grid-column: 1;
        grid-row: 1;
    }

    .dde-header--layout-split .dde-header__actions {
        grid-column: 2;
        grid-row: 1;
    }

    .dde-header--layout-split .dde-header__nav {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: flex-start;
        padding-top: 3px;
        border-top: 1px solid rgba(255,255,255,.06);
    }

    .dde-header--layout-editorial .dde-header__inner {
        grid-template-columns: minmax(250px, auto) 1fr auto;
    }

    .dde-header--layout-editorial .dde-header__brand-main {
        font-size: clamp(22px, 2vw, 30px);
        letter-spacing: -.035em;
    }

    .dde-header--layout-editorial .dde-header__brand-subtitle {
        letter-spacing: .18em;
    }

    .dde-header--layout-editorial .dde-header__nav {
        justify-content: flex-end;
    }

    .dde-header--layout-minimal .dde-header__inner {
        grid-template-columns: auto 1fr auto;
    }

    .dde-header--layout-minimal .dde-header__nav {
        justify-content: flex-end;
    }

    .dde-header--layout-minimal .dde-header__shell {
        border-top: 1px solid rgba(255,255,255,.04);
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .dde-header--layout-minimal .dde-header__brand-subtitle {
        display: none;
    }
}

/* Mobile controls hidden on desktop by foundation */
.dde-header__mobile-toggle,
.dde-header__mobile-close,
.dde-header__mobile-backdrop,
.dde-header__mobile-panel {
    font: inherit;
}

.dde-header__mobile-toggle,
.dde-header__mobile-close,
.dde-header__mobile-backdrop {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    cursor: pointer;
}

/* Mobile deluxe system */
@media (max-width: 767px) {
    .dde-header__topbar-inner {
        padding-inline: var(--dde-mobile-header-pad-x);
        flex-wrap: wrap;
        gap: 5px 14px;
    }

    .dde-header__inner {
        width: 100%;
        max-width: none;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto;
        gap: 10px;
        padding: var(--dde-mobile-header-pad-y) var(--dde-mobile-header-pad-x) !important;
    }

    .dde-header__brand {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        max-width: 100%;
    }

    .dde-header__logo {
        width: var(--dde-mobile-logo-width) !important;
        max-width: var(--dde-mobile-logo-width) !important;
        height: auto;
    }

    .dde-header__brand-main {
        display: none;
        font-size: 17px;
        white-space: normal;
    }

    .dde-header--mobile-brand-text .dde-header__brand-main {
        display: block;
    }

    .dde-header__brand-subtitle {
        display: none;
        white-space: normal;
    }

    .dde-header--mobile-subtitle .dde-header__brand-subtitle {
        display: block;
    }

    .dde-header__nav {
        display: none;
    }

    .dde-header__actions {
        display: none;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        gap: 7px;
    }

    .dde-header--mobile-top-cta .dde-header__actions {
        display: flex;
    }

    .dde-header--mobile-top-cta .dde-header__actions .dde-header__cta--secondary {
        display: none;
    }

    .dde-header--mobile-top-cta .dde-header__actions .dde-header__cta--primary {
        min-height: 36px;
        padding: 8px 11px;
        font-size: 11px;
    }

    .dde-header--mobile-top-cta.dde-header--nav-mobile:not(.dde-header--mobile-inline) .dde-header__inner {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .dde-header--mobile-top-cta.dde-header--nav-mobile:not(.dde-header--mobile-inline) .dde-header__actions {
        grid-column: 2;
    }

    .dde-header--mobile-top-cta.dde-header--nav-mobile:not(.dde-header--mobile-inline) .dde-header__mobile-toggle {
        grid-column: 3;
    }

    .dde-header__mobile-toggle {
        position: relative;
        z-index: 90;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        width: var(--dde-mobile-toggle-size);
        height: var(--dde-mobile-toggle-size);
        display: none;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0;
        border: 1px solid var(--dde-mobile-toggle-border);
        border-radius: var(--dde-mobile-toggle-radius);
        background: var(--dde-mobile-toggle-bg);
        color: var(--dde-mobile-toggle-color);
    }

    .dde-header--nav-mobile:not(.dde-header--mobile-inline) .dde-header__mobile-toggle {
        display: inline-flex;
    }

    .dde-header--toggle-minimal .dde-header__mobile-toggle {
        border-color: transparent;
        background: transparent;
    }

    .dde-header--toggle-pill .dde-header__mobile-toggle {
        width: auto;
        min-width: var(--dde-mobile-toggle-size);
        padding: 0 14px;
        border-radius: 999px;
    }

    .dde-header__toggle-label {
        display: none;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .dde-header--toggle-pill .dde-header__toggle-label {
        display: inline;
    }

    .dde-header__hamburger {
        position: relative;
        width: 19px;
        height: 14px;
        display: inline-flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .dde-header__hamburger span {
        width: 100%;
        height: 1.5px;
        display: block;
        border-radius: 9px;
        background: currentColor;
        transform-origin: center;
        transition: transform .22s ease, opacity .18s ease;
    }

    .dde-header.is-mobile-open .dde-header__hamburger span:nth-child(1) {
        transform: translateY(6.25px) rotate(45deg);
    }

    .dde-header.is-mobile-open .dde-header__hamburger span:nth-child(2) {
        opacity: 0;
    }

    .dde-header.is-mobile-open .dde-header__hamburger span:nth-child(3) {
        transform: translateY(-6.25px) rotate(-45deg);
    }

    .dde-header__mobile-backdrop {
        position: fixed;
        z-index: 70;
        inset: 0;
        display: none;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,.58);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .25s ease, visibility .25s ease;
    }

    .dde-header__mobile-panel {
        z-index: 80;
        color: var(--dde-mobile-panel-color);
        background: color-mix(in srgb, var(--dde-mobile-panel-bg) 93%, transparent);
        -webkit-backdrop-filter: blur(var(--dde-mobile-panel-blur));
        backdrop-filter: blur(var(--dde-mobile-panel-blur));
        visibility: hidden;
        pointer-events: none;
    }

    .dde-header__mobile-panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        margin-bottom: 26px;
        padding-bottom: 17px;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .dde-header__mobile-panel-brand {
        min-width: 0;
        color: var(--dde-mobile-panel-color);
        font-size: 17px;
        font-weight: 800;
        line-height: 1.1;
    }

    .dde-header__mobile-close {
        position: relative;
        flex: 0 0 42px;
        width: 42px;
        height: 42px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 50%;
        background: rgba(255,255,255,.06);
        color: var(--dde-mobile-panel-color);
    }

    .dde-header__mobile-close span {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 18px;
        height: 1.5px;
        background: currentColor;
    }

    .dde-header__mobile-close span:first-child {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .dde-header__mobile-close span:last-child {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .dde-header__mobile-nav {
        display: flex;
        flex-direction: column;
        gap: var(--dde-mobile-nav-gap);
    }

    .dde-header__mobile-nav a {
        position: relative;
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 12px 14px;
        border: 1px solid transparent;
        border-radius: var(--dde-mobile-nav-radius);
        color: var(--dde-mobile-panel-color);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
    }

    .dde-header__mobile-nav a:hover,
    .dde-header__mobile-nav a.is-active {
        color: var(--dde-mobile-panel-accent);
    }

    .dde-header--mobile-nav-style-pills .dde-header__mobile-nav a:hover,
    .dde-header--mobile-nav-style-pills .dde-header__mobile-nav a.is-active {
        background: color-mix(in srgb, var(--dde-mobile-panel-accent) 12%, transparent);
    }

    .dde-header--mobile-nav-style-cards .dde-header__mobile-nav a {
        background: rgba(255,255,255,.035);
        border-color: rgba(255,255,255,.07);
    }

    .dde-header--mobile-nav-style-cards .dde-header__mobile-nav a:hover,
    .dde-header--mobile-nav-style-cards .dde-header__mobile-nav a.is-active {
        border-color: color-mix(in srgb, var(--dde-mobile-panel-accent) 45%, transparent);
        background: color-mix(in srgb, var(--dde-mobile-panel-accent) 9%, rgba(255,255,255,.035));
    }

    .dde-header--mobile-nav-style-dividers .dde-header__mobile-nav {
        gap: 0;
    }

    .dde-header--mobile-nav-style-dividers .dde-header__mobile-nav a {
        border-radius: 0;
        border-bottom-color: rgba(255,255,255,.09);
        padding-left: 0;
        padding-right: 0;
    }

    .dde-header__mobile-actions {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 28px;
        padding-top: 22px;
        border-top: 1px solid rgba(255,255,255,.08);
    }

    .dde-header--mobile-buttons-full .dde-header__mobile-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .dde-header--mobile-buttons-full .dde-header__mobile-actions .dde-header__cta {
        width: 100%;
    }

    /* Dropdown */
    .dde-header--mobile-dropdown .dde-header__mobile-panel {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        width: 100%;
        padding: var(--dde-mobile-panel-pad-top) var(--dde-mobile-panel-pad-right) var(--dde-mobile-panel-pad-bottom) var(--dde-mobile-panel-pad-left);
        border-top: 1px solid rgba(255,255,255,.08);
        border-bottom: 1px solid rgba(255,255,255,.10);
        box-shadow: 0 24px 54px rgba(0,0,0,.30);
        opacity: 0;
        transform: translateY(-10px);
        transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
    }

    .dde-header--mobile-dropdown .dde-header__mobile-panel-head {
        display: none;
    }

    .dde-header--mobile-dropdown.is-mobile-open .dde-header__mobile-panel {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
        transform: translateY(0);
    }

    /* Drawer */
    .dde-header--mobile-drawer .dde-header__mobile-backdrop {
        display: block;
    }

    .dde-header--mobile-drawer .dde-header__mobile-panel {
        position: fixed;
        top: 0;
        bottom: 0;
        width: min(var(--dde-mobile-panel-width), 520px);
        height: 100dvh;
        overflow-y: auto;
        padding: var(--dde-mobile-panel-pad-top) var(--dde-mobile-panel-pad-right) var(--dde-mobile-panel-pad-bottom) var(--dde-mobile-panel-pad-left);
        box-shadow: -24px 0 80px rgba(0,0,0,.35);
        transition: transform .30s cubic-bezier(.22,.8,.22,1), visibility .30s ease;
    }

    .dde-header--mobile-drawer.dde-header--drawer-right .dde-header__mobile-panel {
        right: 0;
        transform: translateX(104%);
    }

    .dde-header--mobile-drawer.dde-header--drawer-left .dde-header__mobile-panel {
        left: 0;
        transform: translateX(-104%);
        box-shadow: 24px 0 80px rgba(0,0,0,.35);
    }

    .dde-header--mobile-drawer.is-mobile-open .dde-header__mobile-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .dde-header--mobile-drawer.is-mobile-open .dde-header__mobile-panel {
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    /* Fullscreen overlay */
    .dde-header--mobile-overlay .dde-header__mobile-panel {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100dvh;
        overflow-y: auto;
        padding: var(--dde-mobile-panel-pad-top) var(--dde-mobile-panel-pad-right) var(--dde-mobile-panel-pad-bottom) var(--dde-mobile-panel-pad-left);
        opacity: 0;
        transform: scale(.985);
        transition: opacity .24s ease, transform .28s ease, visibility .28s ease;
    }

    .dde-header--mobile-overlay .dde-header__mobile-nav {
        max-width: 620px;
        margin-inline: auto;
    }

    .dde-header--mobile-overlay .dde-header__mobile-nav a {
        min-height: 58px;
        font-size: clamp(20px, 6vw, 32px);
    }

    .dde-header--mobile-overlay .dde-header__mobile-actions {
        max-width: 620px;
        margin-left: auto;
        margin-right: auto;
    }

    .dde-header--mobile-overlay.is-mobile-open .dde-header__mobile-panel {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
        transform: scale(1);
    }

    /* Inline horizontal navigation */
    .dde-header--nav-mobile.dde-header--mobile-inline .dde-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .dde-header--nav-mobile.dde-header--mobile-inline .dde-header__nav {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        display: flex;
        justify-content: flex-start;
        gap: 8px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        padding: 4px 0 2px;
    }

    .dde-header--nav-mobile.dde-header--mobile-inline .dde-header__nav::-webkit-scrollbar {
        display: none;
    }

    .dde-header--nav-mobile.dde-header--mobile-inline .dde-header__nav a {
        flex: 0 0 auto;
        padding: 9px 12px;
        border-radius: 999px;
        background: rgba(255,255,255,.04);
        border: 1px solid rgba(255,255,255,.06);
        font-size: 12px;
    }

    .dde-header--nav-mobile.dde-header--mobile-inline .dde-header__nav a.is-active {
        color: var(--dde-header-accent);
        border-color: color-mix(in srgb, var(--dde-header-accent) 40%, transparent);
        background: color-mix(in srgb, var(--dde-header-accent) 10%, transparent);
    }

    /* No mobile nav switch = compact logo/header only. */
    .dde-header:not(.dde-header--nav-mobile) .dde-header__mobile-toggle,
    .dde-header:not(.dde-header--nav-mobile) .dde-header__mobile-panel,
    .dde-header:not(.dde-header--nav-mobile) .dde-header__mobile-backdrop {
        display: none !important;
    }
}

/* ========================================================================
   Deluxe Studio 1.5.0 – Responsive Deluxe pass
   ======================================================================== */

/* Strong, predictable section-intro alignment. The optional description must
   follow the same Elementor alignment control as kicker and heading. */
.dde-section-intro__text,
.dde-section-intro__text * {
    text-align: var(--dde-intro-text-align, inherit) !important;
}

.dde-section-intro--layout-classic .dde-section-intro__secondary {
    width: 100%;
    max-width: none;
}

.dde-section-intro__secondary {
    min-width: 0;
}

/* New mobile visibility controls for decorative intro elements. */
@media (max-width: 767px) {
    .dde-section-intro--hide-watermark-mobile .dde-section-intro__watermark,
    .dde-section-intro--hide-icon-mobile .dde-section-intro__icon {
        display: none !important;
    }

    .dde-section-intro--layout-editorial .dde-section-intro__content {
        padding-left: clamp(42px, 14vw, 72px);
    }

    .dde-section-intro__title,
    .dde-hero__title,
    .dde-portfolio__title,
    .dde-cta__title {
        overflow-wrap: anywhere;
    }
}

/* Responsive polish shared by image cards. */
.dde-service-card,
.dde-feature,
.dde-about,
.dde-review,
.dde-portfolio__item {
    min-width: 0;
}

.dde-service-card__body,
.dde-feature__copy,
.dde-about__copy,
.dde-review {
    overflow-wrap: anywhere;
}

/* Footer links remain easy to tap without changing desktop density. */
@media (max-width: 767px) {
    .dde-footer__links a,
    .dde-footer__contact a {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
    }

    .dde-footer__contact {
        margin-block: 7px;
    }

    .dde-footer__heading {
        margin-bottom: 12px;
    }
}

/* Header additions ------------------------------------------------------ */
.dde-header {
    --dde-mobile-panel-radius: 0px;
    --dde-mobile-close-size: 42px;
    --dde-mobile-nav-pad-top: 12px;
    --dde-mobile-nav-pad-right: 14px;
    --dde-mobile-nav-pad-bottom: 12px;
    --dde-mobile-nav-pad-left: 14px;
    --dde-mobile-nav-icon-size: 16px;
    --dde-mobile-actions-gap: 10px;
    --dde-mobile-panel-head-gap: 26px;
}

html.dde-mobile-menu-open {
    overflow: hidden;
}

.dde-header__mobile-toggle:focus-visible,
.dde-header__mobile-close:focus-visible,
.dde-header__mobile-nav a:focus-visible,
.dde-header__cta:focus-visible {
    outline: 2px solid var(--dde-header-accent);
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .dde-header--mobile-hide-topbar .dde-header__topbar {
        display: none;
    }

    .dde-header__mobile-panel {
        border-radius: var(--dde-mobile-panel-radius);
        overscroll-behavior: contain;
    }

    .dde-header__mobile-panel-head {
        margin-bottom: var(--dde-mobile-panel-head-gap);
    }

    .dde-header__mobile-close {
        flex-basis: var(--dde-mobile-close-size);
        width: var(--dde-mobile-close-size);
        height: var(--dde-mobile-close-size);
    }

    .dde-header__mobile-nav a {
        padding: var(--dde-mobile-nav-pad-top) var(--dde-mobile-nav-pad-right) var(--dde-mobile-nav-pad-bottom) var(--dde-mobile-nav-pad-left);
    }

    .dde-header__mobile-nav .dde-header__nav-icon {
        font-size: var(--dde-mobile-nav-icon-size);
    }

    .dde-header__mobile-nav .dde-header__nav-icon svg {
        width: var(--dde-mobile-nav-icon-size);
        height: var(--dde-mobile-nav-icon-size);
    }

    .dde-header__mobile-actions {
        gap: var(--dde-mobile-actions-gap);
    }

    /* Drawer and fullscreen already have a dedicated close button inside the
       panel. Hide the external hamburger while open so only one close control
       is visible. Dropdown keeps the hamburger/X because its panel head is hidden. */
    .dde-header--mobile-drawer.is-mobile-open .dde-header__mobile-toggle,
    .dde-header--mobile-overlay.is-mobile-open .dde-header__mobile-toggle {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .dde-header--mobile-drawer .dde-header__mobile-panel,
    .dde-header--mobile-overlay .dde-header__mobile-panel {
        padding-top: max(var(--dde-mobile-panel-pad-top), env(safe-area-inset-top));
        padding-bottom: max(var(--dde-mobile-panel-pad-bottom), env(safe-area-inset-bottom));
    }

    .dde-header--mobile-overlay .dde-header__mobile-panel-head {
        max-width: 620px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Tablet header: compact, premium two-row layout to prevent crowded desktop
   navigation between the standard mobile and desktop widths. */
@media (min-width: 768px) and (max-width: 1024px) {
    .dde-header__inner,
    .dde-header--layout-classic .dde-header__inner,
    .dde-header--layout-centered .dde-header__inner,
    .dde-header--layout-split .dde-header__inner,
    .dde-header--layout-editorial .dde-header__inner,
    .dde-header--layout-minimal .dde-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
    }

    .dde-header__brand,
    .dde-header--layout-centered .dde-header__brand,
    .dde-header--layout-split .dde-header__brand,
    .dde-header--layout-editorial .dde-header__brand,
    .dde-header--layout-minimal .dde-header__brand {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    .dde-header__actions,
    .dde-header--layout-centered .dde-header__actions,
    .dde-header--layout-split .dde-header__actions,
    .dde-header--layout-editorial .dde-header__actions,
    .dde-header--layout-minimal .dde-header__actions {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    .dde-header__nav,
    .dde-header--layout-classic .dde-header__nav,
    .dde-header--layout-centered .dde-header__nav,
    .dde-header--layout-split .dde-header__nav,
    .dde-header--layout-editorial .dde-header__nav,
    .dde-header--layout-minimal .dde-header__nav {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        padding-top: 6px;
    }

    .dde-header__nav::-webkit-scrollbar { display: none; }

    .dde-header__brand-subtitle { display: none; }
}

/* Touch devices should feel deliberate rather than triggering desktop hover
   movement after a tap. */
@media (hover: none) {
    .dde-service-card:hover .dde-service-card__media img,
    .dde-portfolio__item:hover img {
        transform: none;
        opacity: 1;
    }
}



/* Deluxe Studio 1.5.0 – Mobile interaction + overflow polish */
@media (max-width: 767px) {
    /* Text links get a comfortable tap target without looking like generic buttons. */
    .dde-service-card__link,
    .dde-feature__link,
    .dde-about__link,
    .dde-portfolio__link {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .dde-hero__actions,
    .dde-section-intro__secondary,
    .dde-cta__copy,
    .dde-about__copy,
    .dde-portfolio__intro {
        min-width: 0;
    }

    /* Prevent long words/URLs from creating horizontal page scrolling. */
    .dde-hero__text,
    .dde-section-intro__text,
    .dde-service-card__text,
    .dde-feature__text,
    .dde-about__text,
    .dde-review__text,
    .dde-portfolio__text,
    .dde-cta__text,
    .dde-footer {
        overflow-wrap: anywhere;
    }

    /* Dropdown menus remain usable on short phone screens. */
    .dde-header--mobile-dropdown .dde-header__mobile-panel {
        max-height: calc(100dvh - 64px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

@media (max-width: 380px) {
    /* Very narrow phones: avoid cramped two-column portfolio tiles by default.
       Elementor's generated responsive setting can still override this rule. */
    .dde-portfolio__grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================================================
   Deluxe Studio 1.6.0 – mobile images, portfolio layouts, review carousel,
   feature mobile spacing and footer alignment fixes
   ======================================================================== */

/* Responsive image source used by the Hero. */
.dde-responsive-picture {
    display: block;
    width: 100%;
    height: 100%;
}

.dde-responsive-picture > img {
    width: 100%;
    height: 100%;
}

/* Dedicated smartphone backgrounds. */
@media (max-width: 767px) {
    .dde-section-intro--mobile-background {
        background-image: var(--dde-intro-mobile-bg) !important;
        background-position: var(--dde-intro-mobile-bg-position, center center) !important;
        background-size: var(--dde-intro-mobile-bg-size, cover) !important;
        background-repeat: no-repeat !important;
    }

    .dde-cta--mobile-background {
        background-image: var(--dde-cta-mobile-bg) !important;
    }
}

/* Portfolio: one widget, three deliberately different layout systems. */
.dde-portfolio__grid {
    --dde-portfolio-columns: 4;
    --dde-portfolio-gap: 4px;
    --dde-portfolio-item-height: 145px;
}

.dde-portfolio--layout-grid .dde-portfolio__grid {
    display: grid;
    grid-template-columns: repeat(var(--dde-portfolio-columns), minmax(0, 1fr));
    gap: var(--dde-portfolio-gap);
}

.dde-portfolio--layout-grid .dde-portfolio__item {
    height: var(--dde-portfolio-item-height);
}

.dde-portfolio--layout-masonry .dde-portfolio__grid {
    display: block;
    column-count: var(--dde-portfolio-columns);
    column-gap: var(--dde-portfolio-gap);
}

.dde-portfolio--layout-masonry .dde-portfolio__item {
    display: inline-block;
    width: 100%;
    height: auto;
    margin: 0 0 var(--dde-portfolio-gap);
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    vertical-align: top;
}

.dde-portfolio--layout-masonry .dde-portfolio__item--wide {
    grid-column: auto;
}

.dde-portfolio--layout-masonry .dde-portfolio__item img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.dde-portfolio--layout-justified .dde-portfolio__grid {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: var(--dde-portfolio-gap);
}

.dde-portfolio--layout-justified .dde-portfolio__grid::after {
    content: "";
    flex: 999 1 var(--dde-portfolio-item-height);
    min-width: 0;
}

.dde-portfolio--layout-justified .dde-portfolio__item {
    flex: var(--dde-item-ratio, 1.33) 1 var(--dde-item-basis, 160px);
    width: auto;
    min-width: min(100%, 105px);
    height: var(--dde-portfolio-item-height);
    aspect-ratio: var(--dde-item-ratio, 1.33);
}

.dde-portfolio--layout-justified .dde-portfolio__item--wide {
    grid-column: auto;
}

@media (max-width: 767px) {
    .dde-portfolio--layout-justified .dde-portfolio__item {
        min-width: min(100%, 92px);
    }
}

/* Reviews: always one row; overflow becomes a carousel instead of a second row. */
.dde-reviews {
    --dde-review-slides: 3;
    --dde-reviews-gap: 10px;
    min-width: 0;
    display: block;
    overflow: hidden;
}

.dde-reviews__viewport {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.dde-reviews__track {
    --dde-review-transition: 500ms;
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: var(--dde-reviews-gap);
    min-width: 0;
    transform: translate3d(0, 0, 0);
    transition: transform var(--dde-review-transition) cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}

.dde-reviews__track .dde-review {
    flex: 0 0 auto;
    width: auto;
    height: auto;
}

.dde-reviews__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 14px;
}

.dde-reviews__arrow {
    width: 38px;
    height: 38px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid var(--dde-border);
    border-radius: 999px;
    background: rgba(255,255,255,.025);
    color: var(--dde-text);
    font: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}

.dde-reviews__arrow:hover,
.dde-reviews__arrow:focus-visible {
    border-color: var(--dde-accent);
    background: rgba(105,215,227,.08);
    transform: translateY(-1px);
}

.dde-reviews__arrow:disabled {
    opacity: .35;
    cursor: default;
    transform: none;
}

.dde-reviews__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
}

.dde-reviews__dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.25);
    cursor: pointer;
    transition: width .2s ease, background-color .2s ease, transform .2s ease;
}

.dde-reviews__dot.is-active {
    width: 22px;
    background: var(--dde-accent);
}

.dde-reviews--static .dde-reviews__controls {
    display: none;
}

@media (max-width: 767px) {
    .dde-reviews__controls {
        margin-top: 12px;
    }

    .dde-reviews__arrow {
        width: 42px;
        height: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dde-reviews__track,
    .dde-reviews__arrow,
    .dde-reviews__dot {
        transition-duration: 0.01ms !important;
    }
}

/* Footer alignment: text, contact flex rows and link columns now move together. */
.dde-footer__brand,
.dde-footer__col {
    --dde-footer-flex-align: flex-start;
}

.dde-footer__contact {
    justify-content: var(--dde-footer-flex-align, flex-start);
    text-align: inherit;
}

.dde-footer__contact > span:last-child,
.dde-footer__contact > a,
.dde-footer__heading,
.dde-footer__links,
.dde-footer__links a {
    text-align: inherit;
}

.dde-footer__links {
    align-items: var(--dde-footer-flex-align, flex-start);
}

/* Use explicit sibling spacing so the Social-Abstand slider is unambiguous
   on desktop and mobile, independently of flex-gap rendering/caching. */
.dde-footer__social {
    gap: 0;
}

.dde-footer__social a + a {
    margin-inline-start: var(--dde-footer-social-gap, 10px);
}

/* ========================================================================
   Deluxe Studio 1.6.4 – Doppel-Feature image layouts
   ======================================================================== */

/* Side-layout images can deliberately span the complete card height. The
   media container stretches with the flex card; the image itself is pinned
   to all four edges so percentage-height quirks cannot leave empty space. */
.dde-feature-pair--side-image-full .dde-feature:not(.dde-feature--image-top) .dde-feature__media {
    align-self: stretch;
}

.dde-feature-pair--side-image-full .dde-feature:not(.dde-feature--image-top) .dde-feature__media > img,
.dde-feature-pair--side-image-full .dde-feature:not(.dde-feature--image-top) .dde-feature__media > picture,
.dde-feature-pair--side-image-full .dde-feature:not(.dde-feature--image-top) .dde-feature__media > picture > img {
    width: 100%;
    height: 100%;
}

.dde-feature-pair--side-image-full .dde-feature:not(.dde-feature--image-top) .dde-feature__media > img,
.dde-feature-pair--side-image-full .dde-feature:not(.dde-feature--image-top) .dde-feature__media > picture > img {
    position: absolute;
    inset: 0;
    object-fit: cover;
}

/* Per-card top-image layout. This intentionally wins over the global
   Bild/Text-Anordnung so an individual feature can always use a classic
   image-above-content card. */
.dde-feature.dde-feature--image-top {
    flex-direction: column !important;
}

.dde-feature.dde-feature--image-top .dde-feature__media {
    order: -1 !important;
    flex: 0 0 auto !important;
    flex-basis: auto !important;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
}

.dde-feature.dde-feature--image-top .dde-feature__media > img,
.dde-feature.dde-feature--image-top .dde-feature__media > picture,
.dde-feature.dde-feature--image-top .dde-feature__media > picture > img {
    width: 100%;
    height: 100%;
}

.dde-feature.dde-feature--image-top .dde-feature__media > img,
.dde-feature.dde-feature--image-top .dde-feature__media > picture > img {
    object-fit: cover;
}

/* On phones the existing "Bild immer oben" behavior must not fight the
   explicit per-card top layout. Side cards still follow the responsive
   global direction chosen in Elementor. */
@media (max-width: 767px) {
    .dde-feature.dde-feature--image-top .dde-feature__media {
        order: -1 !important;
    }
}

/* ========================================================================
   Deluxe Studio 1.7.0 – Doppel-Feature layout engine
   ======================================================================== */

/* Cards now have a stable layout model independent of Elementor's generated
   responsive flex direction. The DOM itself is rendered in the requested
   image order, while these rules lock the special top/bottom/background modes. */
.dde-feature-pair {
    --dde-feature-line-size: 3px;
}

.dde-feature {
    height: 100%;
    position: relative;
    transition-property: transform, box-shadow, border-color, background-color;
    transition-timing-function: ease;
    will-change: transform;
}

.dde-feature__copy {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
    border: 0 solid transparent;
}

/* Accent line can now be placed on three card edges. */
.dde-feature-pair--line-left .dde-feature__copy {
    border-left-width: var(--dde-feature-line-size, 3px);
}

.dde-feature-pair--line-top .dde-feature__copy {
    border-top-width: var(--dde-feature-line-size, 3px);
}

.dde-feature-pair--line-bottom .dde-feature__copy {
    border-bottom-width: var(--dde-feature-line-size, 3px);
}

.dde-feature-pair--no-line .dde-feature__copy {
    border-width: 0 !important;
}

.dde-feature__media {
    position: relative;
    isolation: isolate;
}

.dde-feature__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: transparent;
}

.dde-feature__media > img,
.dde-feature__media > picture > img {
    transition: transform .35s ease;
    transform-origin: center;
}

/* Only genuine side layouts are allowed to stretch their image across the
   full card height. This avoids the old selector affecting top cards. */
.dde-feature-pair--side-image-full .dde-feature--image-left .dde-feature__media,
.dde-feature-pair--side-image-full .dde-feature--image-right .dde-feature__media {
    align-self: stretch;
}

.dde-feature-pair--side-image-full .dde-feature--image-left .dde-feature__media > img,
.dde-feature-pair--side-image-full .dde-feature--image-right .dde-feature__media > img,
.dde-feature-pair--side-image-full .dde-feature--image-left .dde-feature__media > picture,
.dde-feature-pair--side-image-full .dde-feature--image-right .dde-feature__media > picture,
.dde-feature-pair--side-image-full .dde-feature--image-left .dde-feature__media > picture > img,
.dde-feature-pair--side-image-full .dde-feature--image-right .dde-feature__media > picture > img {
    width: 100%;
    height: 100%;
}

.dde-feature-pair--side-image-full .dde-feature--image-left .dde-feature__media > img,
.dde-feature-pair--side-image-full .dde-feature--image-right .dde-feature__media > img,
.dde-feature-pair--side-image-full .dde-feature--image-left .dde-feature__media > picture > img,
.dde-feature-pair--side-image-full .dde-feature--image-right .dde-feature__media > picture > img {
    position: absolute;
    inset: 0;
}

/* TRUE top-image layout. The media is also rendered before the copy in PHP,
   so this no longer depends on CSS order tricks. */
.dde-feature.dde-feature--image-top {
    flex-direction: column !important;
}

.dde-feature.dde-feature--image-top .dde-feature__media {
    order: 0 !important;
    flex: 0 0 auto !important;
    flex-basis: auto !important;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
}

.dde-feature.dde-feature--image-top .dde-feature__copy {
    order: 1 !important;
    flex: 1 1 auto;
    width: 100%;
}

/* Bottom-image variation. */
.dde-feature.dde-feature--image-bottom {
    flex-direction: column !important;
}

.dde-feature.dde-feature--image-bottom .dde-feature__copy {
    order: 0 !important;
    flex: 1 1 auto;
    width: 100%;
}

.dde-feature.dde-feature--image-bottom .dde-feature__media {
    order: 1 !important;
    flex: 0 0 auto !important;
    flex-basis: auto !important;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
}

.dde-feature--image-top .dde-feature__media > img,
.dde-feature--image-bottom .dde-feature__media > img,
.dde-feature--image-top .dde-feature__media > picture,
.dde-feature--image-bottom .dde-feature__media > picture,
.dde-feature--image-top .dde-feature__media > picture > img,
.dde-feature--image-bottom .dde-feature__media > picture > img {
    width: 100%;
    height: 100%;
}

/* Deluxe full-background card. */
.dde-feature.dde-feature--image-background {
    display: flex;
    flex-direction: column !important;
    isolation: isolate;
}

.dde-feature.dde-feature--image-background .dde-feature__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    min-height: 0 !important;
    flex: none !important;
}

.dde-feature.dde-feature--image-background .dde-feature__media > img,
.dde-feature.dde-feature--image-background .dde-feature__media > picture,
.dde-feature.dde-feature--image-background .dde-feature__media > picture > img {
    width: 100%;
    height: 100%;
}

.dde-feature.dde-feature--image-background .dde-feature__media > img,
.dde-feature.dde-feature--image-background .dde-feature__media > picture > img {
    position: absolute;
    inset: 0;
}

.dde-feature.dde-feature--image-background .dde-feature__copy {
    position: relative;
    z-index: 2;
    flex: 1 1 auto;
    width: 100%;
}

/* The legacy mobile image-first feature is now intentionally limited to side
   cards. Explicit top/bottom/background selections keep their chosen layout. */
@media (max-width: 767px) {
    .dde-feature-pair--mobile-image-first .dde-feature--image-left .dde-feature__media,
    .dde-feature-pair--mobile-image-first .dde-feature--image-right .dde-feature__media {
        order: -1;
    }

    .dde-feature.dde-feature--image-top .dde-feature__media {
        order: 0 !important;
    }

    .dde-feature.dde-feature--image-bottom .dde-feature__media {
        order: 1 !important;
    }
}

/* On touch devices card/image transforms are intentionally disabled to avoid
   a sticky post-tap hover state. */
@media (hover: none) {
    .dde-feature:hover {
        transform: none !important;
    }

    .dde-feature:hover .dde-feature__media img {
        transform: none !important;
    }
}

/* Reset the old side-image absolute positioning for the explicit bottom mode. */
.dde-feature-pair--side-image-full .dde-feature--image-bottom .dde-feature__media > img,
.dde-feature-pair--side-image-full .dde-feature--image-bottom .dde-feature__media > picture > img {
    position: static;
    inset: auto;
}

/* ========================================================================
   Deluxe Studio 1.7.1 – Bereichseinleitung background overlay
   ======================================================================== */
.dde-section-intro__background-overlay {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    pointer-events: none;
    opacity: 1;
    --dde-intro-overlay-solid: rgba(7,17,25,.58);
    --dde-intro-overlay-start: rgba(7,17,25,.92);
    --dde-intro-overlay-end: rgba(7,17,25,.18);
    --dde-intro-overlay-start-stop: 0%;
    --dde-intro-overlay-end-stop: 82%;
    --dde-intro-overlay-angle: 90deg;
    --dde-intro-overlay-radial-position: center center;
}

.dde-section-intro--background-overlay-solid .dde-section-intro__background-overlay {
    background: var(--dde-intro-overlay-solid);
}

.dde-section-intro--background-overlay-linear .dde-section-intro__background-overlay {
    background: linear-gradient(
        var(--dde-intro-overlay-angle),
        var(--dde-intro-overlay-start) var(--dde-intro-overlay-start-stop),
        var(--dde-intro-overlay-end) var(--dde-intro-overlay-end-stop)
    );
}

.dde-section-intro--background-overlay-radial .dde-section-intro__background-overlay {
    background: radial-gradient(
        circle at var(--dde-intro-overlay-radial-position),
        var(--dde-intro-overlay-start) var(--dde-intro-overlay-start-stop),
        var(--dde-intro-overlay-end) var(--dde-intro-overlay-end-stop)
    );
}


/* === Deluxe Studio 1.7.4 – Hero fixed background === */
.dde-hero--background-fixed .dde-hero__background {
    background-image: var(--dde-hero-bg-desktop, none);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

/* The responsive <picture> is kept in the DOM as a fallback source for normal
   mode but must not cover the true fixed CSS background. */
.dde-hero--background-fixed .dde-hero__background > picture,
.dde-hero--background-fixed .dde-hero__background > img {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 767px) {
    .dde-hero--background-fixed .dde-hero__background {
        background-image: var(--dde-hero-bg-mobile, var(--dde-hero-bg-desktop, none));
    }
}

/* Gallery with Lightbox disabled: images without their own custom link are
   deliberately non-interactive. */
.dde-portfolio--lightbox-off .dde-portfolio__item:not(a) {
    cursor: default;
}

/* ========================================================================
   Deluxe Studio 1.8.0 – FAQ
   ======================================================================== */
.dde-faq {
    background: #071119;
    overflow: hidden;
}

.dde-faq,
.dde-faq * {
    box-sizing: border-box;
}

.dde-faq__question-text,
.dde-faq-card__question,
.dde-faq__split-button-text,
.dde-faq__split-pane-title,
.dde-faq__answer-content,
.dde-faq-card__answer,
.dde-faq__split-pane {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
}

.dde-faq__answer-content img,
.dde-faq-card__answer img,
.dde-faq__split-pane img,
.dde-faq__answer-content video,
.dde-faq-card__answer video,
.dde-faq__split-pane video {
    max-width: 100%;
    height: auto;
}

.dde-faq__answer-content table,
.dde-faq-card__answer table,
.dde-faq__split-pane table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.dde-faq__inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.dde-faq__intro {
    position: relative;
}

.dde-faq__eyebrow {
    color: var(--dde-accent);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.dde-faq__title {
    margin: 10px 0 0;
    color: #fff;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -.035em;
}

.dde-faq__intro-text {
    margin-top: 16px;
    color: var(--dde-muted);
    font-size: 16px;
    line-height: 1.7;
}

.dde-faq__content {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.dde-faq__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.dde-faq__filter {
    appearance: none;
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
    color: var(--dde-muted);
    cursor: pointer;
    line-height: 1.2;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.dde-faq__filter:hover {
    border-color: color-mix(in srgb, var(--dde-accent) 55%, var(--dde-border));
    color: #fff;
}

.dde-faq__filter.is-active {
    background: var(--dde-accent);
    border-color: var(--dde-accent);
    color: #071119;
}

.dde-faq__accordion,
.dde-faq__cards,
.dde-faq__split-nav {
    display: grid;
    gap: 12px;
}

.dde-faq__item,
.dde-faq-card,
.dde-faq__split-button,
.dde-faq__split-answer {
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
}

.dde-faq__item,
.dde-faq-card,
.dde-faq__split-answer {
    overflow: hidden;
}

.dde-faq__item.is-featured,
.dde-faq-card.is-featured {
    box-shadow: inset 3px 0 0 var(--dde-accent);
}

.dde-faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color .2s ease;
}

.dde-faq__question-icon,
.dde-faq-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--dde-accent);
    font-size: 20px;
}

.dde-faq__question-copy,
.dde-faq__split-button-copy {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
}

.dde-faq__question-category,
.dde-faq-card__category,
.dde-faq__split-category,
.dde-faq__split-pane-kicker {
    color: var(--dde-accent);
    font-size: 10px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dde-faq__question-text,
.dde-faq-card__question,
.dde-faq__split-button-text,
.dde-faq__split-pane-title {
    color: #fff;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 750;
}

.dde-faq__marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #13232c;
    color: var(--dde-accent);
    font-size: 13px;
    font-weight: 800;
    transition: transform .25s ease, background-color .25s ease, color .25s ease;
}

.dde-faq__marker-plus {
    position: relative;
    width: 12px;
    height: 12px;
}

.dde-faq__marker-plus::before,
.dde-faq__marker-plus::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform .25s ease, opacity .25s ease;
}

.dde-faq__marker-plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.dde-faq__item.is-open .dde-faq__marker-plus::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0deg);
}

.dde-faq__marker-chevron {
    display: inline-block;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-2px);
    transition: transform .25s ease;
}

.dde-faq__item.is-open .dde-faq__marker-chevron {
    transform: translateY(2px) rotate(180deg);
}

.dde-faq__answer {
    display: grid;
    grid-template-rows: 0fr;
    opacity: .25;
    transition-property: grid-template-rows, opacity;
    transition-duration: .28s;
    transition-timing-function: ease;
}

.dde-faq__answer-inner {
    min-height: 0;
    overflow: hidden;
}

.dde-faq__item.is-open .dde-faq__answer {
    grid-template-rows: 1fr;
    opacity: 1;
}

.dde-faq__answer-content,
.dde-faq-card__answer,
.dde-faq__split-pane {
    color: var(--dde-muted);
    font-size: 15px;
    line-height: 1.72;
}

.dde-faq__answer-content > :first-child,
.dde-faq-card__answer > :first-child,
.dde-faq__split-pane > :first-child {
    margin-top: 0;
}

.dde-faq__answer-content > :last-child,
.dde-faq-card__answer > :last-child,
.dde-faq__split-pane > :last-child {
    margin-bottom: 0;
}

/* FAQ cards */
.dde-faq__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dde-faq-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 24px;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.dde-faq-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--dde-accent) 50%, var(--dde-border));
}

.dde-faq-card__top {
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dde-faq-card__question {
    margin: 22px 0 0;
}

.dde-faq-card__answer {
    margin-top: 14px;
}

/* Split FAQ */
.dde-faq__split {
    display: flex;
    align-items: stretch;
    gap: 28px;
}

.dde-faq__split-nav {
    flex: 0 0 38%;
    align-content: start;
}

.dde-faq__split-button {
    appearance: none;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.dde-faq__split-button:hover {
    transform: translateX(3px);
}

.dde-faq__split-button.is-active {
    border-color: var(--dde-accent);
}

.dde-faq__split-button.is-active .dde-faq__marker {
    color: #071119;
    background: var(--dde-accent);
}

.dde-faq__split-answer {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    padding: clamp(26px, 4vw, 52px);
}

.dde-faq__split-pane[hidden] {
    display: none !important;
}

.dde-faq__split-pane-title {
    margin: 10px 0 18px;
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.08;
    letter-spacing: -.025em;
}

/* ========================================================================
   Deluxe Studio 1.8.0 – Pricing / price lists
   ======================================================================== */
.dde-pricing {
    background: #071119;
    overflow: hidden;
}

.dde-pricing__inner {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
}

.dde-pricing__eyebrow {
    color: var(--dde-accent);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.dde-pricing__title {
    margin: 10px 0 0;
    color: #fff;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -.035em;
}

.dde-pricing__intro-text {
    margin-top: 16px;
    color: var(--dde-muted);
    font-size: 16px;
    line-height: 1.7;
}

.dde-pricing__body {
    margin-top: 36px;
}

.dde-pricing__packages-grid,
.dde-pricing__interactive-selectors {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 18px;
}

.dde-price-card {
    --dde-package-accent: var(--dde-accent);
    position: relative;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 28px 26px;
    overflow: hidden;
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}

.dde-price-card.is-highlighted {
    border-color: var(--dde-package-accent);
    box-shadow: inset 0 3px 0 var(--dde-package-accent);
}

.dde-price-card__topline {
    min-height: 40px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.dde-price-card__icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: var(--dde-package-accent);
    background: #13232c;
    font-size: 24px;
}

.dde-price-card__icon svg,
.dde-pricing__selector-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.dde-price-card__badge,
.dde-pricing__selector-badge,
.dde-pricing__detail-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--dde-orange);
    color: #fff;
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dde-price-card__title {
    margin: 22px 0 0;
    color: #fff;
    font-size: 26px;
    line-height: 1.08;
    font-weight: 850;
    letter-spacing: -.025em;
}

.dde-price-card__subtitle {
    margin-top: 7px;
    color: #aebac1;
    font-size: 13px;
    line-height: 1.45;
}

.dde-price-card__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    margin-top: 24px;
}

.dde-price-card__price-prefix,
.dde-price-card__price-suffix {
    color: #8fa0aa;
    font-size: 12px;
    line-height: 1.3;
}

.dde-price-card__price-value {
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.035em;
}

.dde-price-card__description {
    margin-top: 18px;
    color: var(--dde-muted);
    font-size: 14px;
    line-height: 1.65;
}

.dde-price-card__features {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 24px;
}

.dde-price-card__feature {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #d8dee2;
    font-size: 13px;
    line-height: 1.5;
}

.dde-price-card__feature.is-muted {
    opacity: .58;
}

.dde-price-card__feature-icon {
    flex: 0 0 auto;
    color: var(--dde-package-accent);
    font-weight: 900;
}

.dde-price-card__button {
    align-self: flex-start;
    margin-top: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    transform: translateZ(0);
}

.dde-price-card__features + .dde-price-card__button,
.dde-price-card__description + .dde-price-card__button {
    margin-top: 28px;
}

.dde-price-card--compact {
    justify-content: flex-start;
}

.dde-price-card--compact .dde-price-card__features {
    margin-top: 18px;
}

/* Interactive package selector/detail */
.dde-pricing__interactive {
    display: flex;
    align-items: stretch;
    gap: 28px;
}

.dde-pricing__interactive--below {
    flex-direction: column;
}

.dde-pricing__interactive--right .dde-pricing__interactive-selectors {
    flex: 0 0 42%;
    align-content: start;
}

.dde-pricing__interactive-selectors {
    grid-template-columns: minmax(0,1fr);
}

.dde-pricing__selector {
    --dde-package-accent: var(--dde-accent);
    appearance: none;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 17px 18px;
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.dde-pricing__selector:hover {
    transform: translateX(3px);
}

.dde-pricing__selector.is-active {
    border-color: var(--dde-package-accent);
    box-shadow: inset 3px 0 0 var(--dde-package-accent);
}

.dde-pricing__selector-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.dde-pricing__selector-icon {
    display: inline-flex;
    flex: 0 0 auto;
    color: var(--dde-package-accent);
    font-size: 20px;
}

.dde-pricing__selector-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.dde-pricing__selector-title {
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 800;
}

.dde-pricing__selector-price {
    flex: 0 0 auto;
    color: #fff;
    font-size: 15px;
    font-weight: 850;
    white-space: nowrap;
}

.dde-pricing__detail {
    flex: 1 1 auto;
    min-width: 0;
    padding: 34px;
    border: 1px solid var(--dde-border);
    background: #0b151c;
}

.dde-pricing__detail-pane {
    --dde-package-accent: var(--dde-accent);
}

.dde-pricing__detail-pane[hidden] {
    display: none !important;
}

.dde-pricing__detail-badge {
    margin-bottom: 16px;
}

.dde-pricing__detail-kicker {
    color: var(--dde-package-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dde-pricing__detail-title {
    margin: 10px 0 0;
    color: #fff;
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -.03em;
}

.dde-pricing__detail-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px;
    margin-top: 22px;
    color: #8fa0aa;
    font-size: 13px;
}

.dde-pricing__detail-price strong {
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1;
}

.dde-pricing__detail-copy {
    margin-top: 24px;
    color: var(--dde-muted);
    font-size: 15px;
    line-height: 1.72;
}

.dde-pricing__detail-copy > :first-child { margin-top: 0; }
.dde-pricing__detail-copy > :last-child { margin-bottom: 0; }

.dde-pricing__detail-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px 20px;
    margin-top: 26px;
}

.dde-pricing__detail-feature {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #d8dee2;
    font-size: 13px;
    line-height: 1.5;
}

.dde-pricing__detail-feature > :first-child {
    color: var(--dde-package-accent);
    font-weight: 900;
}

.dde-pricing__detail-feature.is-muted { opacity: .6; }

.dde-pricing__detail-button {
    margin-top: 30px;
}

.dde-pricing-button {
    border: 1px solid var(--dde-orange);
    background: var(--dde-orange);
    color: #fff;
    transition-property: transform, background-color, color, border-color, box-shadow;
    transition-timing-function: ease;
}

/* Price list */
.dde-pricelist {
    overflow: hidden;
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
}

.dde-pricelist__heading {
    margin: 0;
    padding: 30px 22px 12px;
    color: var(--dde-accent);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dde-pricelist__heading:not(:first-child) {
    border-top: 1px solid var(--dde-border);
}

.dde-pricelist__row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    border-top: 1px solid var(--dde-border);
    transition: background-color .2s ease;
}

.dde-pricelist__copy {
    min-width: 0;
    flex: 0 1 auto;
}

.dde-pricelist__meta {
    margin-bottom: 4px;
    color: var(--dde-accent);
    font-size: 9px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dde-pricelist__title {
    color: #fff;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 750;
}

.dde-pricelist__description {
    margin-top: 4px;
    color: #9eacb5;
    font-size: 12px;
    line-height: 1.5;
}

.dde-pricelist__leader {
    min-width: 30px;
    flex: 1 1 auto;
    align-self: center;
    border-bottom: 1px dotted rgba(185,196,202,.28);
}

.dde-pricelist__price {
    flex: 0 0 auto;
    color: #fff;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 850;
    white-space: nowrap;
}

.dde-pricelist__note {
    padding: 20px 22px;
    border-top: 1px solid var(--dde-border);
    color: #9eacb5;
    font-size: 12px;
    line-height: 1.6;
    font-style: italic;
}

.dde-pricelist--menu {
    border-left: 0;
    border-right: 0;
    border-radius: 0 !important;
    background: transparent;
}

.dde-pricelist--menu .dde-pricelist__row,
.dde-pricelist--menu .dde-pricelist__heading,
.dde-pricelist--menu .dde-pricelist__note {
    padding-left: 0;
    padding-right: 0;
}

.dde-pricelist--cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
    overflow: visible;
    border: 0;
    background: transparent !important;
}

.dde-pricelist--cards .dde-pricelist__heading,
.dde-pricelist--cards .dde-pricelist__note {
    grid-column: 1 / -1;
    border: 0;
}

.dde-pricelist--cards .dde-pricelist__row {
    align-items: flex-start;
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
}

.dde-pricelist--cards .dde-pricelist__leader {
    display: none;
}

/* Responsive polish for new widgets */
@media (max-width: 1024px) {
    .dde-faq__split {
        gap: 20px;
    }

    .dde-faq__question,
    .dde-faq__split-button,
    .dde-faq-card {
        min-width: 0;
    }

    .dde-faq__question-copy,
    .dde-faq__split-button-copy {
        min-width: 0;
    }

    .dde-pricing__detail-features {
        grid-template-columns: minmax(0,1fr);
    }
}

@media (max-width: 767px) {
    .dde-faq__inner,
    .dde-faq__content,
    .dde-faq__accordion,
    .dde-faq__cards,
    .dde-faq__split,
    .dde-faq__split-nav,
    .dde-faq__split-answer {
        min-width: 0;
        max-width: 100%;
    }

    .dde-faq__filters {
        width: 100%;
    }

    .dde-faq__filter {
        min-height: 44px;
        text-align: center;
        touch-action: manipulation;
    }

    .dde-faq--mobile-filter-cols-1 .dde-faq__filter {
        flex: 1 1 100%;
    }

    .dde-faq--mobile-filter-cols-2 .dde-faq__filter {
        flex: 1 1 calc(50% - 6px);
    }

    .dde-faq--mobile-filter-cols-auto .dde-faq__filter {
        flex: 0 1 auto;
    }

    .dde-faq:not(.dde-faq--mobile-categories-show) .dde-faq__question-category,
    .dde-faq:not(.dde-faq--mobile-categories-show) .dde-faq__split-category {
        display: none;
    }

    .dde-faq--mobile-icons-hide .dde-faq__question-icon,
    .dde-faq--mobile-icons-hide .dde-faq-card__icon {
        display: none;
    }

    .dde-faq__question,
    .dde-faq__split-button {
        min-width: 0;
        touch-action: manipulation;
    }

    .dde-faq--mobile-marker-top .dde-faq__question,
    .dde-faq--mobile-marker-top .dde-faq__split-button {
        align-items: flex-start;
    }

    .dde-faq--mobile-marker-top .dde-faq__marker {
        margin-top: 1px;
    }

    .dde-faq__question-copy,
    .dde-faq__split-button-copy {
        min-width: 0;
    }

    .dde-faq__marker {
        flex-shrink: 0;
    }

    .dde-faq-card:hover,
    .dde-faq__split-button:hover {
        transform: none;
    }

    .dde-faq__split {
        flex-direction: column;
        width: 100%;
    }

    .dde-faq__split-nav {
        flex-basis: auto !important;
        width: 100%;
    }

    .dde-faq__split-answer {
        width: 100%;
    }

    .dde-faq--mobile-split-scroll .dde-faq__split-nav {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 3px;
    }

    .dde-faq--mobile-split-scroll .dde-faq__split-nav::-webkit-scrollbar {
        display: none;
    }

    .dde-faq--mobile-split-scroll .dde-faq__split-button {
        flex: 0 0 var(--dde-faq-mobile-tab-width, 82%);
        width: var(--dde-faq-mobile-tab-width, 82%);
        max-width: 360px;
        scroll-snap-align: start;
    }

    .dde-faq--mobile-split-scroll .dde-faq__split-button:hover {
        transform: none;
    }

    .dde-faq__answer-content ul,
    .dde-faq__answer-content ol,
    .dde-faq-card__answer ul,
    .dde-faq-card__answer ol,
    .dde-faq__split-pane ul,
    .dde-faq__split-pane ol {
        padding-left: 1.15em;
    }

    .dde-pricing__interactive,
    .dde-pricing__interactive--right,
    .dde-pricing__interactive--below {
        flex-direction: column;
    }

    .dde-pricing__interactive--right .dde-pricing__interactive-selectors {
        flex-basis: auto !important;
        width: 100%;
    }

    .dde-pricing__selector:hover,
    .dde-price-card:hover {
        transform: none !important;
    }

    .dde-pricing__selector {
        padding: 15px 16px;
    }

    .dde-pricing__selector-price {
        font-size: 14px;
    }

    .dde-pricing__detail {
        width: 100%;
        padding: 24px 20px;
        scroll-margin-top: 20px;
    }

    .dde-pricing__detail-features {
        grid-template-columns: minmax(0,1fr);
    }

    .dde-pricelist__row {
        align-items: flex-start;
        gap: 12px;
    }

    .dde-pricelist__leader {
        display: none;
    }

    .dde-pricelist__copy {
        flex: 1 1 auto;
    }

    .dde-pricelist__price {
        padding-top: 1px;
        font-size: 16px;
    }

    .dde-pricelist--cards {
        grid-template-columns: minmax(0,1fr);
    }
}

@media (hover: none) {
    .dde-faq-card:hover,
    .dde-faq__split-button:hover,
    .dde-pricing__selector:hover,
    .dde-price-card:hover {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dde-faq__answer,
    .dde-faq__marker,
    .dde-faq__marker-plus::before,
    .dde-faq__marker-plus::after,
    .dde-faq__marker-chevron,
    .dde-price-card,
    .dde-pricing__selector,
    .dde-pricing-button {
        transition-duration: .01ms !important;
    }
}

/* FAQ mobile category select – responsive polish 1.9.1 */
.dde-faq__filter-select-wrap {
    display: none;
    position: relative;
    width: 100%;
    min-width: 0;
}

.dde-faq__filter-select {
    width: 100%;
    min-height: 48px;
    appearance: none;
    padding: 11px 44px 11px 15px;
    border: 1px solid var(--dde-border);
    border-radius: 10px;
    outline: 0;
    background: var(--dde-panel);
    color: #fff;
    font: inherit;
    font-size: 14px;
}

.dde-faq__filter-select:focus {
    border-color: var(--dde-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--dde-accent) 20%, transparent);
}

.dde-faq__filter-select-icon {
    position: absolute;
    right: 15px;
    top: 50%;
    pointer-events: none;
    color: var(--dde-accent);
    font-size: 18px;
    transform: translateY(-55%);
}

@media (max-width: 767px) {
    .dde-faq--mobile-filter-select .dde-faq__filters {
        display: none;
    }
    .dde-faq--mobile-filter-select .dde-faq__filter-select-wrap {
        display: block;
    }
}

/* Deluxe Preispakete + Galerie */
.dde-price-gallery {
    --dde-pg-accent: var(--dde-accent);
    background: var(--dde-bg);
    overflow: hidden;
}

.dde-price-gallery__inner {
    width: 100%;
    margin: 0 auto;
}

.dde-price-gallery__intro {
    width: 100%;
}

.dde-price-gallery__eyebrow {
    margin-bottom: 10px;
    color: var(--dde-pg-accent);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dde-price-gallery__title {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 4vw, 54px);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.dde-price-gallery__intro-text {
    max-width: 720px;
    margin-top: 16px;
    color: var(--dde-muted);
    font-size: 15px;
    line-height: 1.65;
}

.dde-price-gallery__tabs {
    --dde-pg-tab-columns: 3;
    display: grid;
    grid-template-columns: repeat(var(--dde-pg-tab-columns), minmax(0, 1fr));
    gap: 10px;
    width: 100%;
}

.dde-price-gallery__tab {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    border: 1px solid var(--dde-border);
    outline: 0;
    background: var(--dde-panel);
    color: #fff;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    transition: background-color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease, color .22s ease;
}

.dde-price-gallery__tab::after {
    content: "";
    position: absolute;
    z-index: 2;
    pointer-events: none;
    background: var(--dde-pg-accent);
    opacity: 0;
    transition: opacity .2s ease, transform .2s ease;
}

.dde-price-gallery--indicator-bottom .dde-price-gallery__tab::after {
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 3px;
    transform: scaleX(.45);
}

.dde-price-gallery--indicator-top .dde-price-gallery__tab::after {
    left: 14px;
    right: 14px;
    top: 0;
    height: 3px;
    transform: scaleX(.45);
}

.dde-price-gallery--indicator-glow .dde-price-gallery__tab::after {
    inset: auto 12% -12px 12%;
    height: 18px;
    border-radius: 50%;
    filter: blur(12px);
    transform: none;
}

.dde-price-gallery__tab.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

.dde-price-gallery__tab.is-active,
.dde-price-gallery__tab.is-highlighted {
    border-color: var(--dde-pg-accent);
}

.dde-price-gallery__tab:focus-visible {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--dde-pg-accent) 24%, transparent);
}

.dde-price-gallery__tab-main {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.dde-price-gallery__tab-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dde-pg-accent);
    line-height: 1;
}

.dde-price-gallery__tab-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.dde-price-gallery__tab-copy {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
}

.dde-price-gallery__tab-title {
    overflow: hidden;
    color: inherit;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dde-price-gallery__tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 4px 8px;
    border: 1px solid color-mix(in srgb, var(--dde-pg-accent) 55%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--dde-pg-accent) 12%, transparent);
    color: var(--dde-pg-accent);
    font-size: 9px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .06em;
    white-space: nowrap;
    box-sizing: border-box;
}

.dde-price-gallery__tab-price {
    flex: 0 0 auto;
    color: var(--dde-muted);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
}

.dde-price-gallery__panels {
    width: 100%;
    scroll-margin-top: 18px;
}

.dde-price-gallery__pane[hidden] {
    display: none !important;
}

.dde-price-gallery__pane.is-active {
    animation: ddePriceGalleryIn .32s ease both;
}

@keyframes ddePriceGalleryIn {
    from { opacity: .3; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}

.dde-price-gallery__split {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.dde-price-gallery__package {
    flex: 0 0 auto;
    min-width: 0;
    border: 1px solid var(--dde-border);
    background: var(--dde-panel);
}

.dde-price-gallery__package-subtitle {
    margin-bottom: 8px;
    color: var(--dde-pg-accent);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.dde-price-gallery__package-title {
    margin: 0;
    color: #fff;
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: -.025em;
}

.dde-price-gallery__price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 17px;
}

.dde-price-gallery__price-prefix,
.dde-price-gallery__price-suffix {
    color: var(--dde-muted);
    font-size: 12px;
    line-height: 1.3;
}

.dde-price-gallery__price-value {
    color: #fff;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.025em;
}

.dde-price-gallery__package-description {
    margin-top: 18px;
    color: var(--dde-muted);
    font-size: 14px;
    line-height: 1.65;
}

.dde-price-gallery__features {
    display: grid;
    gap: 10px;
    margin-top: 23px;
}

.dde-price-gallery__feature {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #e8eef1;
    font-size: 13px;
    line-height: 1.5;
}

.dde-price-gallery__feature.is-muted {
    color: var(--dde-muted);
    opacity: .78;
}

.dde-price-gallery__feature-icon {
    flex: 0 0 auto;
    color: var(--dde-pg-accent);
    font-weight: 900;
}

.dde-price-gallery__details {
    margin-top: 25px;
    padding-top: 21px;
    border-top: 1px solid var(--dde-border);
}

.dde-price-gallery__details-title {
    margin: 0 0 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.dde-price-gallery__details-copy {
    color: var(--dde-muted);
    font-size: 13px;
    line-height: 1.62;
}

.dde-price-gallery__details-copy > :first-child { margin-top: 0; }
.dde-price-gallery__details-copy > :last-child { margin-bottom: 0; }

.dde-price-gallery__button {
    margin-top: 26px;
    border: 1px solid transparent;
}

.dde-price-gallery__gallery-panel {
    flex: 1 1 auto;
    min-width: 0;
    border: 1px solid var(--dde-border);
    background: #0a151c;
}

.dde-price-gallery__gallery-head {
    margin-bottom: 18px;
}

.dde-price-gallery__gallery-title {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 850;
    line-height: 1.2;
}

.dde-price-gallery__gallery-text {
    margin-top: 7px;
    color: var(--dde-muted);
    font-size: 13px;
    line-height: 1.55;
}

.dde-price-gallery__gallery {
    --dde-pg-columns: 3;
    --dde-pg-gap: 8px;
    width: 100%;
}

.dde-price-gallery--gallery-grid .dde-price-gallery__gallery {
    display: grid;
    grid-template-columns: repeat(var(--dde-pg-columns), minmax(0, 1fr));
}

.dde-price-gallery--gallery-grid .dde-price-gallery__image {
    aspect-ratio: 4 / 3;
}

.dde-price-gallery--gallery-masonry .dde-price-gallery__gallery {
    columns: var(--dde-pg-columns);
    column-gap: var(--dde-pg-gap);
}

.dde-price-gallery--gallery-masonry .dde-price-gallery__image {
    display: block;
    width: 100%;
    margin: 0 0 var(--dde-pg-gap);
    break-inside: avoid;
}

.dde-price-gallery__image {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    background: #071119;
    cursor: pointer;
}

.dde-price-gallery__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .42s cubic-bezier(.2,.7,.2,1), opacity .3s ease;
}

.dde-price-gallery--gallery-masonry .dde-price-gallery__image img {
    height: auto;
}

.dde-price-gallery__image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(7,17,25,0) 55%, rgba(7,17,25,.18) 100%);
    opacity: .65;
    transition: opacity .3s ease;
}

.dde-price-gallery__image:hover::after { opacity: .1; }

.dde-price-gallery__empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    padding: 26px;
    border: 1px dashed var(--dde-border);
    border-radius: 8px;
    color: var(--dde-muted);
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 1024px) {
    .dde-price-gallery__tab {
        gap: 10px;
    }
}

@media (max-width: 767px) {
    .dde-price-gallery--mobile-tabs-scroll .dde-price-gallery__tabs {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 4px;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .dde-price-gallery--mobile-tabs-scroll .dde-price-gallery__tab {
        flex: 0 0 min(78vw, 270px);
        scroll-snap-align: start;
    }

    .dde-price-gallery--mobile-tabs-grid .dde-price-gallery__tabs {
        display: grid;
        grid-template-columns: repeat(var(--dde-pg-tab-columns), minmax(0, 1fr));
    }

    .dde-price-gallery__tab-title {
        font-size: 14px;
    }

    .dde-price-gallery__tab-price {
        font-size: 12px;
    }

    .dde-price-gallery__split {
        flex-direction: column;
    }

    .dde-price-gallery__package,
    .dde-price-gallery__gallery-panel {
        width: 100%;
        flex-basis: auto !important;
    }

    .dde-price-gallery--mobile-gallery-first .dde-price-gallery__gallery-panel {
        order: 1;
    }
    .dde-price-gallery--mobile-gallery-first .dde-price-gallery__package {
        order: 2;
    }

    .dde-price-gallery--mobile-package-first .dde-price-gallery__package {
        order: 1;
    }
    .dde-price-gallery--mobile-package-first .dde-price-gallery__gallery-panel {
        order: 2;
    }

    .dde-price-gallery__price-value {
        font-size: 30px;
    }

    .dde-price-gallery__empty {
        min-height: 170px;
    }
}

@media (hover: none) {
    .dde-price-gallery__tab:hover {
        transform: none !important;
    }
    .dde-price-gallery__image:hover img {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dde-price-gallery__pane.is-active {
        animation: none !important;
    }
    .dde-price-gallery__tab,
    .dde-price-gallery__tab::after,
    .dde-price-gallery__image img,
    .dde-price-gallery__image::after,
    .dde-price-gallery__button {
        transition-duration: .01ms !important;
    }
}

/* ========================================================================
   Deluxe Studio 1.9.2 – FAQ interaction + overflow hardening
   ======================================================================== */
.dde-faq__question,
.dde-faq__split-button,
.dde-faq__filter {
    min-width: 0;
    max-width: 100%;
}

.dde-faq__question,
.dde-faq__split-button {
    overflow: hidden;
}

.dde-faq__question-copy,
.dde-faq__split-button-copy {
    flex: 1 1 0%;
    width: 0;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.dde-faq__question-text,
.dde-faq__split-button-text,
.dde-faq__question-category,
.dde-faq__split-category,
.dde-faq__filter {
    display: block;
    width: auto;
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word;
    hyphens: auto;
}

.dde-faq__question-text,
.dde-faq__split-button-text {
    width: 100%;
}

.dde-faq__marker,
.dde-faq__question-icon {
    flex-shrink: 0;
}

.dde-faq__filter {
    overflow: hidden;
    text-overflow: clip;
}

@media (max-width: 767px) {
    .dde-faq--mobile-filter-cols-1 .dde-faq__filter {
        width: 100%;
        max-width: 100%;
    }

    .dde-faq--mobile-filter-cols-2 .dde-faq__filter {
        width: calc(50% - 6px);
        max-width: calc(50% - 6px);
    }

    .dde-faq--mobile-filter-cols-auto .dde-faq__filter {
        width: auto;
        max-width: 100%;
    }

    .dde-faq--mobile-split-scroll .dde-faq__split-button {
        min-width: 0;
        overflow: hidden;
    }

    .dde-faq--mobile-split-scroll .dde-faq__split-button-copy {
        width: 0;
        min-width: 0;
    }
}

/* ========================================================================
   Deluxe Studio 1.9.3 – device-specific FAQ layouts
   ======================================================================== */
.dde-faq__views,
.dde-faq__layout-view {
    width: 100%;
    min-width: 0;
}

.dde-faq__layout-view--desktop {
    display: block;
}

.dde-faq__layout-view--mobile {
    display: none;
}

@media (max-width: 767px) {
    .dde-faq__layout-view--desktop {
        display: none !important;
    }

    .dde-faq__layout-view--mobile {
        display: block !important;
    }
}

/* =========================================================
   Deluxe Kundenstimmen / Shooting-Tipps / Shootingablauf
   Added in 2.0.0
   ========================================================= */

.dde-tips,
.dde-process,
.dde-testimonials {
    position: relative;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.dde-tips *,
.dde-process *,
.dde-testimonials * {
    box-sizing: border-box;
}

.dde-tips p,
.dde-process p,
.dde-testimonials p {
    margin: 0;
}

/* -------------------- Shooting Tipps -------------------- */
.dde-tips {
    --dde-tips-intro-width: 18%;
    --dde-tips-outer-gap: 28px;
    --dde-tip-mobile-width: 84%;
    display: grid;
    grid-template-columns: minmax(0, var(--dde-tips-intro-width)) minmax(0, 1fr);
    gap: var(--dde-tips-outer-gap);
    align-items: stretch;
}

.dde-tips--desktop-stacked {
    grid-template-columns: 1fr;
}

.dde-tips--desktop-cards .dde-tips__intro,
.dde-tips--no-intro .dde-tips__intro {
    display: none;
}

.dde-tips--desktop-cards,
.dde-tips--no-intro {
    grid-template-columns: 1fr;
}

.dde-tips__intro {
    min-width: 0;
    align-self: center;
}

.dde-tips__kicker,
.dde-process__kicker,
.dde-testimonials__kicker {
    margin: 0 0 9px;
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: .05em;
    text-transform: uppercase;
    font-weight: 700;
}

.dde-tips__title,
.dde-process__title,
.dde-testimonials__title {
    margin: 0;
    font-size: clamp(26px, 2.5vw, 42px);
    line-height: 1.03;
    letter-spacing: -.025em;
    font-weight: 800;
}

.dde-tips__intro-text,
.dde-process__intro-text,
.dde-testimonials__intro-text {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.65;
}

.dde-tips__grid {
    --dde-tips-cols: 4;
    display: grid;
    grid-template-columns: repeat(var(--dde-tips-cols), minmax(0, 1fr));
    gap: 14px;
    min-width: 0;
    align-items: stretch;
}

.dde-tip-card {
    --dde-tip-accent: #f39a35;
    position: relative;
    display: flex;
    gap: var(--dde-tip-icon-gap, 18px);
    align-items: flex-start;
    min-width: 0;
    overflow: hidden;
    background: #11181d;
    transition: transform .24s ease, background-color .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.dde-tips--card-top .dde-tip-card {
    flex-direction: column;
}

.dde-tips--card-side .dde-tip-card__icon {
    flex: 0 0 auto;
}

.dde-tips--accent .dde-tip-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--dde-tip-accent);
}

.dde-tip-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    color: #f39a35;
    line-height: 1;
}

.dde-tip-card__icon i,
.dde-tip-card__icon svg {
    display: block;
    flex: 0 0 auto;
}

.dde-tip-card__copy {
    min-width: 0;
    flex: 1 1 auto;
}

.dde-tip-card__title {
    margin: 0;
    color: #fff;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.dde-tip-card__text {
    margin-top: 7px;
    color: #aeb9c2;
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* -------------------- Shootingablauf -------------------- */
.dde-process {
    --dde-process-intro-width: 22%;
    --dde-process-outer-gap: 34px;
    --dde-process-line: #28333a;
    --dde-process-line-width: 2px;
    --dde-process-line-style: solid;
    --dde-process-marker-size: 58px;
    --dde-process-marker-bg: #f39a35;
    --dde-process-marker-color: #fff;
    --dde-process-marker-border: #ffb05a;
    --dde-process-mobile-width: 82%;
    display: grid;
    grid-template-columns: minmax(0, var(--dde-process-intro-width)) minmax(0, 1fr);
    gap: var(--dde-process-outer-gap);
    align-items: start;
}

.dde-process--intro-top {
    grid-template-columns: 1fr;
}

.dde-process--no-intro {
    grid-template-columns: 1fr;
}

.dde-process__intro {
    min-width: 0;
    align-self: center;
}

.dde-process__steps {
    --dde-process-step-gap: 20px;
    --dde-process-cols: 5;
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--dde-process-cols), minmax(0, 1fr));
    gap: var(--dde-process-step-gap);
    min-width: 0;
    align-items: stretch;
}

.dde-process--desktop-timeline .dde-process__steps {
    grid-template-columns: repeat(var(--dde-process-cols), minmax(0, 1fr));
}

.dde-process--desktop-timeline .dde-process__steps::before,
.dde-process--desktop-editorial .dde-process__steps::before {
    content: '';
    position: absolute;
    z-index: 0;
    top: calc(var(--dde-process-marker-size) / 2);
    left: calc(var(--dde-process-marker-size) / 2);
    right: calc(var(--dde-process-marker-size) / 2);
    border-top: var(--dde-process-line-width) var(--dde-process-line-style) var(--dde-process-line);
    pointer-events: none;
}

.dde-process--no-line .dde-process__steps::before {
    display: none !important;
}

.dde-process-step {
    --dde-process-card-bg: #11181d;
    --dde-process-card-padding: 20px 18px;
    --dde-process-card-radius: 12px;
    position: relative;
    z-index: 1;
    min-width: 0;
    transition: transform .24s ease, background-color .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.dde-process--desktop-timeline .dde-process-step {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    padding: 0;
}

.dde-process--desktop-cards .dde-process-step,
.dde-process--desktop-editorial .dde-process-step {
    background: var(--dde-process-card-bg);
    padding: var(--dde-process-card-padding);
    border-radius: var(--dde-process-card-radius);
}

.dde-process--desktop-editorial .dde-process-step {
    padding-top: calc(var(--dde-process-card-padding, 20px 18px) + 0px);
}

.dde-process-step__marker {
    position: relative;
    z-index: 2;
    width: var(--dde-process-marker-size);
    height: var(--dde-process-marker-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--dde-process-marker-bg);
    color: var(--dde-process-marker-color);
    border: 2px solid var(--dde-process-marker-border);
    border-radius: 50%;
    font-size: calc(var(--dde-process-marker-size) * .36);
    line-height: 1;
    font-weight: 800;
}

.dde-process-step__marker svg {
    width: 42%;
    height: 42%;
    fill: currentColor;
}

.dde-process--marker-outline .dde-process-step__marker {
    background: transparent;
    color: var(--dde-process-marker-bg);
}

.dde-process--marker-square .dde-process-step__marker {
    border-radius: 15px;
}

.dde-process--marker-minimal .dde-process-step__marker {
    background: transparent;
    border: 0;
    color: var(--dde-process-marker-bg);
    width: auto;
    height: auto;
    min-width: var(--dde-process-marker-size);
    font-size: calc(var(--dde-process-marker-size) * .46);
}

.dde-process-step__title {
    margin: 16px 0 0;
    color: #fff;
    font-size: 17px;
    line-height: 1.28;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.dde-process-step__text {
    margin-top: 7px;
    color: #aeb9c2;
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.dde-process--desktop-timeline .dde-process-step,
.dde-process--desktop-editorial .dde-process-step {
    text-align: center;
}

.dde-process--desktop-timeline .dde-process-step__marker,
.dde-process--desktop-editorial .dde-process-step__marker {
    margin-left: auto;
    margin-right: auto;
}

.dde-process--desktop-editorial .dde-process-step {
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
    border-top: 1px solid rgba(255,255,255,.08);
}

/* -------------------- Kundenstimmen -------------------- */
.dde-testimonials {
    --dde-testimonials-intro-width: 18%;
    --dde-testimonials-outer-gap: 28px;
    --dde-testimonial-nav: #69c4d0;
    --dde-testimonial-nav-bg: #11181d;
    --dde-testimonial-nav-size: 42px;
    --dde-testimonial-card-bg: #11181d;
    --dde-testimonial-featured-bg: #162128;
    display: grid;
    grid-template-columns: minmax(0, var(--dde-testimonials-intro-width)) minmax(0, 1fr);
    gap: var(--dde-testimonials-outer-gap);
    align-items: stretch;
}

.dde-testimonials--desktop-top,
.dde-testimonials--desktop-reviews,
.dde-testimonials--no-intro {
    grid-template-columns: 1fr;
}

.dde-testimonials--desktop-reviews .dde-testimonials__intro,
.dde-testimonials--no-intro .dde-testimonials__intro {
    display: none;
}

.dde-testimonials__intro {
    min-width: 0;
    align-self: center;
}

.dde-testimonials__carousel {
    --dde-testimonial-visible: 4;
    --dde-testimonial-gap: 14px;
    position: relative;
    min-width: 0;
    padding-bottom: 2px;
}

.dde-testimonials__viewport {
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.dde-testimonials__track {
    display: flex;
    align-items: stretch;
    gap: var(--dde-testimonial-gap);
    min-width: 0;
    transition-property: transform;
    transition-timing-function: cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}

.dde-testimonial-card {
    position: relative;
    flex: 0 0 auto;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--dde-testimonial-card-bg);
    isolation: isolate;
    transition: transform .24s ease, background-color .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.dde-testimonial-card.is-featured {
    background: var(--dde-testimonial-featured-bg);
}

/* Card design: Deluxe Classic */
.dde-testimonials--card-classic .dde-testimonial-card::before {
    content: '';
    position: absolute;
    z-index: 2;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, #69c4d0, #f39a35);
    opacity: .7;
    pointer-events: none;
}

/* Card design: großes Zitatzeichen – bewusst deutlich anders */
.dde-testimonials--card-quote .dde-testimonial-card {
    background: linear-gradient(145deg, color-mix(in srgb, var(--dde-testimonial-card-bg) 90%, #69c4d0 10%), var(--dde-testimonial-card-bg));
}
.dde-testimonials--card-quote .dde-testimonial-card::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, #69c4d0, #f39a35);
    opacity: .9;
}
.dde-testimonials--card-quote .dde-testimonial-card__quote-icon {
    left: 16px;
    right: auto;
    top: 2px;
    font-size: clamp(68px, 7vw, 112px) !important;
    opacity: .16 !important;
}
.dde-testimonials--card-quote .dde-testimonial-card__stars {
    justify-content: flex-end;
}
.dde-testimonials--card-quote .dde-testimonial-card__quote {
    font-size: 1.06em;
    font-style: italic;
}

/* Card design: Kompakt */
.dde-testimonials--card-compact .dde-testimonial-card {
    justify-content: center;
    background: color-mix(in srgb, var(--dde-testimonial-card-bg) 94%, #ffffff 6%);
}
.dde-testimonials--card-compact .dde-testimonial-card__quote-icon {
    display: none;
}
.dde-testimonials--card-compact .dde-testimonial-card__stars {
    font-size: .86em;
}
.dde-testimonials--card-compact .dde-testimonial-card__author {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.09);
}

/* Card design: Glass / Premium */
.dde-testimonials--card-glass .dde-testimonial-card {
    background: linear-gradient(145deg, color-mix(in srgb, var(--dde-testimonial-card-bg) 72%, transparent), color-mix(in srgb, var(--dde-testimonial-card-bg) 48%, transparent));
    border-color: rgba(255,255,255,.14);
    backdrop-filter: blur(16px) saturate(120%);
    -webkit-backdrop-filter: blur(16px) saturate(120%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.dde-testimonials--card-glass .dde-testimonial-card::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 130px;
    height: 130px;
    right: -55px;
    top: -55px;
    border-radius: 50%;
    background: #69c4d0;
    filter: blur(45px);
    opacity: .12;
    pointer-events: none;
}

.dde-testimonial-card__stars {
    display: flex;
    gap: .14em;
    color: #f6a43a;
    line-height: 1;
    letter-spacing: 0;
}

.dde-testimonial-card__quote-icon {
    position: absolute;
    z-index: 0;
    top: 8px;
    right: 18px;
    opacity: .13;
    line-height: 1;
    font-family: Georgia, serif;
    pointer-events: none;
}

.dde-testimonial-card__quote {
    position: relative;
    z-index: 1;
    margin-top: 14px;
    color: #e6ebee;
    line-height: 1.6;
    overflow-wrap: anywhere;
    flex: 1 1 auto;
}

.dde-testimonials--card-compact .dde-testimonial-card__quote {
    margin-top: 8px;
}

.dde-testimonial-card__author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    min-width: 0;
}

.dde-testimonial-card__avatar {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    min-width: 32px;
    min-height: 32px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background: rgba(255,255,255,.05);
}

.dde-testimonial-card__avatar img,
.dde-testimonial-card__avatar picture,
.dde-testimonial-card__avatar .dde-testimonial-card__avatar-img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100%;
    min-height: 100%;
    display: block;
}

.dde-testimonial-card__avatar img,
.dde-testimonial-card__avatar .dde-testimonial-card__avatar-img {
    object-fit: cover;
    object-position: center;
}

.dde-testimonial-card__author-copy {
    min-width: 0;
}

.dde-testimonial-card__name {
    color: #fff;
    font-weight: 700;
    line-height: 1.25;
}

.dde-testimonial-card__role,
.dde-testimonial-card__source {
    margin-top: 3px;
    color: #aeb9c2;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.dde-testimonial-card__source {
    color: #69c4d0;
}

.dde-testimonials__arrows {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}

.dde-testimonials__arrow {
    width: var(--dde-testimonial-nav-size);
    height: var(--dde-testimonial-nav-size);
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--dde-testimonial-nav) 42%, transparent);
    border-radius: 50%;
    background: var(--dde-testimonial-nav-bg);
    color: var(--dde-testimonial-nav);
    font-size: calc(var(--dde-testimonial-nav-size) * .7);
    line-height: 1;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, opacity .2s ease;
}

.dde-testimonials__arrow:hover,
.dde-testimonials__arrow:focus-visible {
    transform: translateY(-2px);
    border-color: var(--dde-testimonial-nav);
}

.dde-testimonials__arrow:disabled {
    opacity: .35;
    cursor: default;
    transform: none;
}

.dde-testimonials__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.dde-testimonials__dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 99px;
    background: color-mix(in srgb, var(--dde-testimonial-nav) 35%, transparent);
    cursor: pointer;
    transition: width .2s ease, background-color .2s ease;
}

.dde-testimonials__dot.is-active {
    width: 22px;
    background: var(--dde-testimonial-nav);
}

.dde-testimonials.is-static .dde-testimonials__arrows,
.dde-testimonials.is-static .dde-testimonials__dots {
    display: none;
}

/* Tablet */
@media (max-width: 1024px) {
    .dde-tips,
    .dde-process,
    .dde-testimonials {
        min-width: 0;
    }

    .dde-process--intro-left {
        grid-template-columns: minmax(0, var(--dde-process-intro-width)) minmax(0, 1fr);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .dde-tips,
    .dde-process,
    .dde-testimonials {
        width: 100%;
        min-width: 0;
        overflow: visible;
    }

    /* Tipps mobile layout */
    .dde-tips {
        grid-template-columns: 1fr;
        gap: var(--dde-tips-outer-gap);
    }

    .dde-tips--mobile-cards .dde-tips__intro {
        display: none !important;
    }

    .dde-tips--mobile-stacked .dde-tips__intro,
    .dde-tips--mobile-scroll .dde-tips__intro {
        display: block;
    }

    .dde-tips__grid {
        grid-template-columns: repeat(var(--dde-tips-cols), minmax(0, 1fr));
        width: 100%;
    }

    .dde-tips--mobile-scroll .dde-tips__grid {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
    }

    .dde-tips--mobile-scroll .dde-tips__grid::-webkit-scrollbar {
        display: none;
    }

    .dde-tips--mobile-scroll .dde-tip-card {
        flex: 0 0 var(--dde-tip-mobile-width);
        width: var(--dde-tip-mobile-width);
        scroll-snap-align: start;
    }

    /* Process mobile layout */
    .dde-process,
    .dde-process--intro-left,
    .dde-process--intro-top {
        grid-template-columns: 1fr;
        gap: var(--dde-process-outer-gap);
    }

    .dde-process__steps,
    .dde-process--desktop-timeline .dde-process__steps,
    .dde-process--desktop-editorial .dde-process__steps,
    .dde-process--desktop-cards .dde-process__steps {
        grid-template-columns: 1fr;
    }

    .dde-process--mobile-vertical .dde-process__steps {
        display: flex;
        flex-direction: column;
        gap: var(--dde-process-step-gap);
    }

    .dde-process--mobile-vertical .dde-process__steps::before {
        display: block;
        top: calc(var(--dde-process-marker-size) / 2);
        bottom: calc(var(--dde-process-marker-size) / 2);
        left: calc(var(--dde-process-marker-size) / 2);
        right: auto;
        border-top: 0;
        border-left: var(--dde-process-line-width) var(--dde-process-line-style) var(--dde-process-line);
    }

    .dde-process--mobile-vertical .dde-process-step {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        padding: 0 0 0 calc(var(--dde-process-marker-size) + 18px) !important;
        min-height: var(--dde-process-marker-size);
        text-align: left !important;
    }

    .dde-process--mobile-vertical .dde-process-step__marker {
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
    }

    .dde-process--mobile-vertical .dde-process-step__title {
        margin-top: 0;
    }

    .dde-process--mobile-cards .dde-process__steps {
        display: grid;
        grid-template-columns: repeat(var(--dde-process-cols), minmax(0, 1fr));
    }

    .dde-process--mobile-cards .dde-process__steps::before {
        display: none;
    }

    .dde-process--mobile-cards .dde-process-step {
        background: var(--dde-process-card-bg) !important;
        padding: var(--dde-process-card-padding) !important;
        border-radius: var(--dde-process-card-radius);
    }

    .dde-process--mobile-scroll .dde-process__steps {
        display: flex;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        gap: var(--dde-process-step-gap);
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
    }

    .dde-process--mobile-scroll .dde-process__steps::-webkit-scrollbar {
        display: none;
    }

    .dde-process--mobile-scroll .dde-process__steps::before {
        display: none;
    }

    .dde-process--mobile-scroll .dde-process-step {
        flex: 0 0 var(--dde-process-mobile-width);
        width: var(--dde-process-mobile-width);
        scroll-snap-align: start;
        background: var(--dde-process-card-bg) !important;
        padding: var(--dde-process-card-padding) !important;
        border-radius: var(--dde-process-card-radius);
    }

    /* Testimonials mobile layout */
    .dde-testimonials {
        grid-template-columns: 1fr;
        gap: var(--dde-testimonials-outer-gap);
    }

    .dde-testimonials--mobile-reviews .dde-testimonials__intro {
        display: none !important;
    }

    .dde-testimonials--mobile-top .dde-testimonials__intro {
        display: block;
    }

    .dde-testimonials__arrows {
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .dde-tip-card,
    .dde-process-step,
    .dde-testimonial-card {
        max-width: 100%;
    }

    .dde-tip-card__title,
    .dde-tip-card__text,
    .dde-process-step__title,
    .dde-process-step__text,
    .dde-testimonial-card__quote,
    .dde-testimonial-card__name,
    .dde-testimonial-card__role,
    .dde-testimonial-card__source {
        overflow-wrap: anywhere;
        word-break: normal;
    }
}

@media (hover: none) and (pointer: coarse) {
    .dde-tip-card:hover,
    .dde-process-step:hover,
    .dde-testimonial-card:hover {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dde-tip-card,
    .dde-process-step,
    .dde-testimonial-card,
    .dde-testimonials__track,
    .dde-testimonials__arrow,
    .dde-testimonials__dot {
        transition-duration: 0.001ms !important;
    }
}

/* =========================================================
   Deluxe Anfahrt / Weg ins Studio
   ========================================================= */
.dde-directions {
    --dde-directions-accent: #f39a35;
    --dde-directions-line: rgba(255,255,255,.09);
    --dde-directions-line-width: 1px;
    --dde-directions-outer-gap: 34px;
    overflow: hidden;
}

.dde-directions__inner {
    width: 100%;
    margin: 0 auto;
    display: grid;
    gap: var(--dde-directions-outer-gap);
}

.dde-directions__intro {
    min-width: 0;
}

.dde-directions__kicker {
    margin: 0 0 10px;
    color: var(--dde-accent);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dde-directions__title {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 4vw, 52px);
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: -.035em;
    text-transform: uppercase;
    text-wrap: balance;
}

.dde-directions__intro-text {
    max-width: 680px;
    margin-top: 14px;
    color: var(--dde-muted);
    line-height: 1.65;
}

.dde-directions__intro-text p,
.dde-contact-hours__intro-text p,
.dde-contact-info__text p,
.dde-contact-hours__hours-note p {
    margin: 0;
}

.dde-directions--top-rule .dde-directions__grid {
    border-top: var(--dde-directions-line-width) solid var(--dde-directions-line);
    padding-top: 26px;
}

.dde-directions__grid {
    --dde-directions-cols: 3;
    --dde-directions-gap: 0px;
    display: grid;
    grid-template-columns: repeat(var(--dde-directions-cols), minmax(0, 1fr));
    gap: var(--dde-directions-gap);
    min-width: 0;
}

.dde-direction-card {
    --dde-direction-accent: var(--dde-direction-icon-color, var(--dde-directions-accent));
    --dde-direction-card-bg: #111a20;
    --dde-direction-card-border: rgba(255,255,255,.08);
    --dde-direction-icon-gap: 18px;
    position: relative;
    display: flex;
    min-width: 0;
    color: inherit;
    transition: transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.dde-directions--desktop-classic .dde-direction-card,
.dde-directions--desktop-minimal .dde-direction-card {
    background: transparent;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.dde-directions--desktop-cards .dde-direction-card {
    background: var(--dde-direction-card-bg);
    border: 1px solid var(--dde-direction-card-border);
}

.dde-directions--desktop-classic.dde-directions--separators .dde-direction-card:not(:last-child),
.dde-directions--desktop-minimal.dde-directions--separators .dde-direction-card:not(:last-child) {
    border-right: var(--dde-directions-line-width) solid var(--dde-directions-line);
}

.dde-directions--desktop-classic .dde-direction-card,
.dde-directions--desktop-minimal .dde-direction-card {
    padding-top: 6px;
    padding-bottom: 6px;
}

.dde-directions--desktop-split .dde-directions__inner {
    grid-template-columns: minmax(240px, .72fr) minmax(0, 1.8fr);
    align-items: start;
}

.dde-directions--desktop-split .dde-directions__grid {
    border-top: 0;
    padding-top: 0;
}

.dde-directions--desktop-split.dde-directions--separators .dde-direction-card:not(:last-child) {
    border-right: var(--dde-directions-line-width) solid var(--dde-directions-line);
}

.dde-directions--icon-top .dde-direction-card {
    flex-direction: column;
    gap: var(--dde-direction-icon-gap);
    align-items: flex-start;
}

.dde-directions--icon-side .dde-direction-card {
    flex-direction: row;
    gap: var(--dde-direction-icon-gap);
    align-items: flex-start;
}

.dde-direction-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dde-direction-accent);
    line-height: 1;
}

.dde-direction-card__icon svg {
    display: block;
    color: inherit;
    fill: currentColor;
}

.dde-direction-card__icon svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}

.dde-direction-card__icon svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}

.dde-direction-card__copy,
.dde-direction-card__title,
.dde-direction-card__text {
    display: block;
    min-width: 0;
}

.dde-direction-card__title {
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.dde-direction-card__text {
    color: var(--dde-muted);
    font-size: 14px;
    line-height: 1.65;
}

.dde-direction-card:hover .dde-direction-card__title {
    color: #fff;
}

/* =========================================================
   Deluxe Kontakt & Öffnungszeiten
   ========================================================= */
.dde-contact-hours {
    overflow: hidden;
}

.dde-contact-hours__inner {
    width: 100%;
    margin: 0 auto;
}

.dde-contact-hours__intro {
    margin-bottom: 26px;
}

.dde-contact-hours__kicker {
    margin-bottom: 8px;
    color: var(--dde-accent);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dde-contact-hours__title {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 3.5vw, 48px);
    font-weight: 900;
    line-height: 1.03;
    letter-spacing: -.03em;
    text-transform: uppercase;
}

.dde-contact-hours__intro-text {
    max-width: 760px;
    margin-top: 14px;
    color: var(--dde-muted);
    line-height: 1.65;
}

.dde-contact-hours__grid {
    --dde-contact-left: 50%;
    display: grid;
    grid-template-columns: minmax(0, var(--dde-contact-left)) minmax(0, 1fr);
    align-items: stretch;
}

.dde-contact-hours--desktop-reverse .dde-contact-hours__panel--hours {
    order: 1;
}

.dde-contact-hours--desktop-reverse .dde-contact-hours__panel--contact {
    order: 2;
}

.dde-contact-hours--desktop-stacked .dde-contact-hours__grid {
    grid-template-columns: 1fr;
}

.dde-contact-hours__panel {
    min-width: 0;
    border: 1px solid rgba(255,255,255,.08);
}

.dde-contact-hours__panel--contact {
    display: flex;
    flex-direction: column;
    gap: 26px;
}

.dde-contact-hours__contacts {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.dde-contact-item {
    --dde-contact-item-accent: var(--dde-contact-icon-color, #f39a35);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    min-width: 0;
    color: inherit;
}

.dde-contact-item[href]:hover .dde-contact-item__value {
    color: var(--dde-accent);
}

.dde-contact-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    color: var(--dde-contact-item-accent, #f39a35);
    line-height: 1;
}

.dde-contact-item__icon i {
    color: inherit;
}

.dde-contact-item__icon svg {
    color: inherit;
    fill: currentColor;
}

.dde-contact-item__icon svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}

.dde-contact-item__icon svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}

.dde-contact-item__copy,
.dde-contact-item__label,
.dde-contact-item__value,
.dde-contact-item__subline {
    display: block;
    min-width: 0;
}

.dde-contact-item__label {
    margin-bottom: 3px;
    color: #7f929d;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dde-contact-item__value {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    transition: color .2s ease;
}

.dde-contact-item__subline {
    margin-top: 2px;
    color: var(--dde-muted);
    font-size: 13px;
    line-height: 1.45;
}

.dde-contact-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    margin-top: auto;
    padding: 20px 22px;
    border: 1px solid rgba(105,215,227,.10);
    border-radius: 10px;
}

.dde-contact-info__title {
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}

.dde-contact-info__text {
    margin-top: 6px;
    color: #c0cbd1;
    font-size: 13px;
    line-height: 1.55;
}

.dde-contact-info__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dde-accent);
    font-size: 36px;
}

.dde-contact-info__icon svg {
    width: 36px;
    height: 36px;
    color: inherit;
    fill: currentColor;
}

.dde-contact-info__icon svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}

.dde-contact-info__icon svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}

.dde-contact-hours__hours-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.dde-contact-hours__hours-title {
    margin: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
}

.dde-live-status {
    --dde-live-color: #f39a35;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 250px;
    padding: 9px 12px;
    border: 1px solid color-mix(in srgb, var(--dde-live-color) 35%, transparent);
    border-radius: 10px;
    background: rgba(255,255,255,.04);
}

.dde-live-status.is-open {
    --dde-live-color: #70d49b;
}

.dde-live-status.is-closed {
    --dde-live-color: #f39a35;
}

.dde-live-status__dot {
    position: relative;
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--dde-live-color);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--dde-live-color) 12%, transparent);
}

.dde-live-status.is-open .dde-live-status__dot::after {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid var(--dde-live-color);
    border-radius: 50%;
    animation: dde-live-pulse 1.8s ease-out infinite;
}

@keyframes dde-live-pulse {
    0% { transform: scale(.65); opacity: .9; }
    100% { transform: scale(1.5); opacity: 0; }
}

.dde-live-status__copy,
.dde-live-status__title,
.dde-live-status__detail {
    display: block;
    min-width: 0;
}

.dde-live-status__title {
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.dde-live-status__detail {
    margin-top: 2px;
    color: var(--dde-muted);
    font-size: 10px;
    line-height: 1.35;
}

.dde-contact-hours__hours-list {
    border-top: 1px solid rgba(255,255,255,.07);
}

.dde-hours-row {
    display: grid;
    grid-template-columns: minmax(120px, .7fr) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 12px 10px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    border-radius: 7px;
    transition: background-color .2s ease;
}

.dde-hours-row__day {
    color: #dce4e8;
    font-size: 14px;
    font-weight: 700;
}

.dde-hours-row__time {
    color: var(--dde-muted);
    font-size: 14px;
    line-height: 1.4;
    text-align: right;
}

.dde-contact-hours__hours-note {
    margin-top: 16px;
    color: #7f929d;
    font-size: 12px;
    line-height: 1.55;
}

/* Deluxe Kontakt – optionaler Bild- & Beschreibungsbereich */
.dde-contact-media {
    --dde-contact-media-image-height: 230px;
    --dde-contact-media-side-width: 42%;
    --dde-contact-media-overlay: rgba(6,13,18,.62);
    position: relative;
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    background: #0d151a;
    color: inherit;
    text-decoration: none;
    isolation: isolate;
}

.dde-contact-media__media {
    position: relative;
    min-width: 0;
    overflow: hidden;
    height: var(--dde-contact-media-image-height);
    background: #091015;
}

.dde-contact-media__media picture,
.dde-contact-media__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.dde-contact-media__media img {
    object-fit: cover;
    object-position: center center;
    transform: scale(1);
    transition: transform .45s cubic-bezier(.2,.7,.2,1);
}

.dde-contact-media--zoom:hover .dde-contact-media__media img {
    transform: scale(1.045);
}

.dde-contact-media__copy {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding: 20px 22px 22px;
}

.dde-contact-media__kicker,
.dde-contact-media__title,
.dde-contact-media__text {
    display: block;
    min-width: 0;
}

.dde-contact-media__kicker {
    margin-bottom: 6px;
    color: var(--dde-accent);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dde-contact-media__title {
    color: #fff;
    font-size: 18px;
    font-weight: 850;
    line-height: 1.2;
}

.dde-contact-media__text {
    margin-top: 7px;
    color: #c0cbd1;
    font-size: 13px;
    line-height: 1.6;
}

.dde-contact-media__text p {
    margin: 0;
}

.dde-contact-media--image-left,
.dde-contact-media--image-right {
    grid-template-columns: minmax(0, var(--dde-contact-media-side-width)) minmax(0, 1fr);
    align-items: stretch;
}

.dde-contact-media--image-left .dde-contact-media__media,
.dde-contact-media--image-right .dde-contact-media__media {
    height: auto;
    min-height: var(--dde-contact-media-image-height);
}

.dde-contact-media--image-left .dde-contact-media__media {
    grid-column: 1;
}

.dde-contact-media--image-left .dde-contact-media__copy {
    grid-column: 2;
    align-self: center;
}

.dde-contact-media--image-right {
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--dde-contact-media-side-width));
}

.dde-contact-media--image-right .dde-contact-media__copy {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
}

.dde-contact-media--image-right .dde-contact-media__media {
    grid-column: 2;
    grid-row: 1;
}

.dde-contact-media--overlay {
    min-height: var(--dde-contact-media-image-height);
    display: grid;
    align-items: end;
}

.dde-contact-media--overlay .dde-contact-media__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.dde-contact-media--overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, color-mix(in srgb, var(--dde-contact-media-overlay) 22%, transparent) 0%, var(--dde-contact-media-overlay) 100%);
}

.dde-contact-media--overlay .dde-contact-media__copy {
    align-self: end;
    color: #fff;
}

@media (max-width: 1024px) {
    .dde-directions--desktop-split .dde-directions__inner {
        grid-template-columns: 1fr;
    }

    .dde-contact-hours__grid {
        grid-template-columns: minmax(0, var(--dde-contact-left)) minmax(0, 1fr);
    }

    .dde-contact-hours__hours-head {
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    .dde-directions__inner {
        width: 100%;
        min-width: 0;
    }

    .dde-directions--top-rule .dde-directions__grid {
        padding-top: 18px;
    }

    .dde-directions__grid {
        grid-template-columns: repeat(var(--dde-directions-cols), minmax(0, 1fr));
    }

    .dde-directions--mobile-stack .dde-directions__grid {
        grid-template-columns: 1fr !important;
    }

    .dde-directions--mobile-grid .dde-directions__grid {
        grid-template-columns: repeat(var(--dde-directions-cols), minmax(0, 1fr));
    }

    .dde-directions--mobile-scroll .dde-directions__grid {
        display: flex;
        gap: max(var(--dde-directions-gap), 14px);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
    }

    .dde-directions--mobile-scroll .dde-directions__grid::-webkit-scrollbar {
        display: none;
    }

    .dde-directions--mobile-scroll .dde-direction-card {
        flex: 0 0 min(82vw, 330px);
        width: min(82vw, 330px);
        scroll-snap-align: start;
    }

    .dde-directions--desktop-classic .dde-direction-card,
    .dde-directions--desktop-minimal .dde-direction-card,
    .dde-directions--desktop-split .dde-direction-card,
    .dde-directions--desktop-cards .dde-direction-card {
        background: var(--dde-direction-card-bg);
        border: 1px solid var(--dde-direction-card-border);
        border-radius: inherit;
        box-shadow: none;
    }

    .dde-directions--separators .dde-direction-card:not(:last-child) {
        border-right: 1px solid var(--dde-direction-card-border) !important;
    }

    .dde-contact-hours__grid,
    .dde-contact-hours--desktop-reverse .dde-contact-hours__grid,
    .dde-contact-hours--desktop-stacked .dde-contact-hours__grid {
        grid-template-columns: 1fr !important;
    }

    .dde-contact-hours--mobile-contact-first .dde-contact-hours__panel--contact { order: 1; }
    .dde-contact-hours--mobile-contact-first .dde-contact-hours__panel--hours { order: 2; }
    .dde-contact-hours--mobile-hours-first .dde-contact-hours__panel--hours { order: 1; }
    .dde-contact-hours--mobile-hours-first .dde-contact-hours__panel--contact { order: 2; }

    .dde-contact-media--mobile-image-top,
    .dde-contact-media--image-left.dde-contact-media--mobile-image-top,
    .dde-contact-media--image-right.dde-contact-media--mobile-image-top,
    .dde-contact-media--overlay.dde-contact-media--mobile-image-top {
        display: grid;
        grid-template-columns: 1fr;
        min-height: 0;
        align-items: stretch;
    }

    .dde-contact-media--mobile-image-top::after {
        content: none;
    }

    .dde-contact-media--mobile-image-top .dde-contact-media__media {
        position: relative;
        inset: auto;
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        height: var(--dde-contact-media-image-height);
        min-height: 0;
    }

    .dde-contact-media--mobile-image-top .dde-contact-media__copy {
        position: relative;
        grid-column: 1;
        grid-row: 2;
        align-self: auto;
    }

    .dde-contact-media--mobile-overlay,
    .dde-contact-media--image-left.dde-contact-media--mobile-overlay,
    .dde-contact-media--image-right.dde-contact-media--mobile-overlay,
    .dde-contact-media--image-top.dde-contact-media--mobile-overlay {
        display: grid;
        grid-template-columns: 1fr;
        min-height: var(--dde-contact-media-image-height);
        align-items: end;
    }

    .dde-contact-media--mobile-overlay .dde-contact-media__media {
        position: absolute;
        inset: 0;
        z-index: 0;
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    .dde-contact-media--mobile-overlay::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(180deg, color-mix(in srgb, var(--dde-contact-media-overlay) 22%, transparent) 0%, var(--dde-contact-media-overlay) 100%);
    }

    .dde-contact-media--mobile-overlay .dde-contact-media__copy {
        position: relative;
        z-index: 2;
        grid-column: 1;
        grid-row: 1;
        align-self: end;
    }

    .dde-contact-hours__intro {
        margin-bottom: 20px;
    }

    .dde-contact-hours__hours-head {
        flex-direction: column;
        align-items: stretch;
    }

    .dde-live-status {
        width: 100%;
        max-width: none;
    }

    .dde-hours-row {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        gap: 12px;
        padding-inline: 6px;
    }

    .dde-contact-info {
        padding: 18px;
    }
}

@media (max-width: 420px) {
    .dde-directions__title,
    .dde-direction-card__title,
    .dde-direction-card__text,
    .dde-contact-hours__title,
    .dde-contact-item__label,
    .dde-contact-item__value,
    .dde-contact-item__subline,
    .dde-contact-hours__hours-title,
    .dde-hours-row__day,
    .dde-hours-row__time,
    .dde-contact-info__title,
    .dde-contact-info__text,
    .dde-live-status__title,
    .dde-live-status__detail {
        overflow-wrap: anywhere;
    }

    .dde-contact-item {
        gap: 12px;
    }

    .dde-contact-item__icon {
        width: 36px;
        height: 36px;
    }

    .dde-hours-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .dde-hours-row__time {
        text-align: left;
    }
}

@media (hover: none) and (pointer: coarse) {
    .dde-direction-card:hover {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dde-direction-card,
    .dde-live-status__dot::after {
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* =========================================================
   DELUXE BLOG SUITE 2.2.0
   ========================================================= */
.dde-blog-hero,
.dde-blog-posts,
.dde-blog-learn,
.dde-blog-categories,
.dde-blog-newsletter {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    isolation: isolate;
}

/* Blog Hero */
.dde-blog-hero { min-height: var(--dde-blog-hero-height, 560px); display: grid; }
.dde-blog-hero__image { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.dde-blog-hero__image picture,
.dde-blog-hero__image img { display: block; width: 100%; height: 100%; }
.dde-blog-hero__image img { object-fit: cover; transition: transform .45s ease; }
.dde-blog-hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; }
.dde-blog-hero--overlay-none::after { display:none; }
.dde-blog-hero--overlay-gradient::after { background: linear-gradient(var(--dde-blog-gradient-angle, 90deg), var(--dde-blog-gradient-start, rgba(3,7,9,.96)) 0%, var(--dde-blog-gradient-end, rgba(3,7,9,.06)) 100%); }
.dde-blog-hero__inner { width: min(100%, 1600px); margin-inline:auto; display:flex; align-items:center; min-height:inherit; position:relative; z-index:2; }
.dde-blog-hero__copy { position:relative; min-width:0; z-index:2; }
.dde-blog-hero__kicker { margin-bottom:14px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.dde-blog-hero__title { margin:0; font-size:clamp(2.4rem, 5vw, 5.8rem); line-height:.95; letter-spacing:-.035em; text-wrap:balance; }
.dde-blog-hero__text { margin-top:22px; max-width:620px; font-size:clamp(1rem,1.3vw,1.22rem); line-height:1.7; }
.dde-blog-hero__text p:last-child { margin-bottom:0; }
.dde-blog-hero__button { display:inline-flex; align-items:center; justify-content:center; gap:18px; margin-top:28px; padding:15px 22px; border:1px solid transparent; text-decoration:none; font-weight:700; text-transform:uppercase; transition-property:transform,background,color,border-color,box-shadow; }
.dde-blog-hero--editorial .dde-blog-hero__copy { border-left:3px solid #F28A18; padding-left:28px; }
.dde-blog-hero--compact { min-height:min(var(--dde-blog-hero-height, 440px), 520px); }
.dde-blog-hero--overlay .dde-blog-hero__copy { margin-inline:auto; }
.dde-blog-hero--fixed .dde-blog-hero__image { display:none; }
.dde-blog-hero--fixed { background-image: var(--dde-blog-fixed-image); background-size:cover; background-position:center; background-attachment:fixed; }
.dde-blog-hero--brush-top::before,
.dde-blog-hero--brush-bottom .dde-blog-hero__inner::after { content:""; position:absolute; left:-3%; width:106%; height:34px; z-index:3; pointer-events:none; background:radial-gradient(120% 100% at 50% 100%, transparent 52%, #050607 55%); opacity:.95; }
.dde-blog-hero--brush-top::before { top:-18px; transform:rotate(180deg); }
.dde-blog-hero--brush-bottom .dde-blog-hero__inner::after { bottom:-18px; }

/* Blog Posts */
.dde-blog-posts__inner,
.dde-blog-categories__inner { width:100%; margin-inline:auto; }
.dde-blog-posts__intro,
.dde-blog-categories__intro { margin:0 auto 34px; max-width:850px; }
.dde-blog-posts__kicker,
.dde-blog-categories__kicker { font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.dde-blog-posts__title,
.dde-blog-categories__title { margin:0; font-size:clamp(1.8rem,3vw,3.4rem); line-height:1.08; }
.dde-blog-posts__intro-text { margin-top:14px; }
.dde-blog-posts__grid { display:grid; grid-template-columns:repeat(var(--dde-blog-post-cols,4),minmax(0,1fr)); min-width:0; }
.dde-blog-post-card { position:relative; display:flex; flex-direction:column; overflow:hidden; min-width:0; border:1px solid transparent; transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.dde-blog-post-card:hover { transform:translateY(-4px); }
.dde-blog-post-card__click { position:absolute; inset:0; z-index:1; }
.dde-blog-post-card__image { overflow:hidden; flex:none; background:#090B0C; }
.dde-blog-post-card__image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.dde-blog-post-card__body { position:relative; z-index:2; display:flex; flex-direction:column; flex:1; min-width:0; pointer-events:none; }
.dde-blog-post-card__body a { pointer-events:auto; position:relative; z-index:3; }
.dde-blog-post-card__category { font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; }
.dde-blog-post-card__title { margin:0; font-size:clamp(1.05rem,1.45vw,1.35rem); line-height:1.25; overflow-wrap:anywhere; }
.dde-blog-post-card__title a { color:inherit; text-decoration:none; }
.dde-blog-post-card__excerpt { margin-top:12px; line-height:1.62; overflow-wrap:anywhere; }
.dde-blog-post-card__meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:18px; font-size:.82rem; }
.dde-blog-posts__footer { text-align:center; margin-top:32px; }
.dde-blog-posts__more { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:1px solid; text-decoration:none; transition-property:transform,background,color,border-color,box-shadow; }
.dde-blog-posts--minimal .dde-blog-post-card { background:transparent !important; border-width:0 0 1px; }
.dde-blog-posts--minimal .dde-blog-post-card__body { padding-inline:0 !important; }
.dde-blog-posts--editorial .dde-blog-post-card:nth-child(1) { grid-column:span 2; }
.dde-blog-posts--image-overlay .dde-blog-post-card { min-height:380px; }
.dde-blog-posts--image-overlay .dde-blog-post-card__image { position:absolute; inset:0; height:100% !important; }
.dde-blog-posts--image-overlay .dde-blog-post-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.92) 100%); z-index:1; }
.dde-blog-posts--image-overlay .dde-blog-post-card__body { justify-content:flex-end; color:#fff; min-height:inherit; }

/* Blog Learn */
.dde-blog-learn { display:grid; }
.dde-blog-learn__bg { position:absolute; inset:0; z-index:0; }
.dde-blog-learn__bg picture,
.dde-blog-learn__bg img { width:100%; height:100%; display:block; }
.dde-blog-learn__bg img { object-fit:cover; }
.dde-blog-learn::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,var(--dde-blog-learn-overlay-start,rgba(2,4,5,.94)),var(--dde-blog-learn-overlay-end,rgba(2,4,5,.48))); pointer-events:none; }
.dde-blog-learn__inner { width:min(100%,1600px); margin-inline:auto; position:relative; z-index:2; display:flex; align-items:center; min-width:0; }
.dde-blog-learn__copy { min-width:0; flex:none; }
.dde-blog-learn__kicker { font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.dde-blog-learn__title { margin:0; font-size:clamp(2rem,3.2vw,4rem); line-height:1.08; text-wrap:balance; }
.dde-blog-learn__text { margin-top:16px; line-height:1.7; }
.dde-blog-learn__button { display:inline-flex; align-items:center; gap:18px; margin-top:24px; padding:14px 20px; text-decoration:none; border:1px solid transparent; transition-property:transform,background,color,border-color,box-shadow; }
.dde-blog-learn__features { flex:1; min-width:0; display:grid; grid-template-columns:repeat(var(--dde-blog-learn-cols,2),minmax(0,1fr)); }
.dde-blog-learn__feature { display:flex; align-items:flex-start; gap:16px; min-width:0; border:1px solid transparent; color:inherit; text-decoration:none; transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.dde-blog-learn__feature:hover { transform:translateY(-3px); }
.dde-blog-learn__icon { flex:none; color:var(--dde-blog-learn-accent,inherit); }
.dde-blog-learn__icon svg { display:block; }
.dde-blog-learn__feature-copy { min-width:0; }
.dde-blog-learn__feature-title { margin:0 0 5px; font-size:1.05rem; }
.dde-blog-learn__feature-text { line-height:1.5; overflow-wrap:anywhere; }
.dde-blog-learn--overlay .dde-blog-learn__inner { flex-direction:column; align-items:flex-start; }
.dde-blog-learn--overlay .dde-blog-learn__copy { width:100% !important; max-width:800px; }
.dde-blog-learn--overlay .dde-blog-learn__features { width:100%; margin-top:36px; }
.dde-blog-learn--cards::after { opacity:.72; }
.dde-blog-learn--editorial .dde-blog-learn__feature { border-left:2px solid var(--dde-blog-learn-accent,#F28A18); }

/* Blog Categories */
.dde-blog-categories__intro { text-align:center; }
.dde-blog-categories__grid { display:grid; grid-template-columns:repeat(var(--dde-blog-cat-cols,6),minmax(0,1fr)); min-width:0; }
.dde-blog-category { position:relative; display:flex; align-items:flex-end; justify-content:center; min-width:0; overflow:hidden; border:1px solid transparent; color:#fff; text-decoration:none; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.dde-blog-category:hover { transform:translateY(-4px); }
.dde-blog-category__image { position:absolute; inset:0; z-index:0; }
.dde-blog-category__image picture,
.dde-blog-category__image img { width:100%; height:100%; display:block; }
.dde-blog-category__image img { object-fit:cover; transition:transform .45s ease; }
.dde-blog-category:hover .dde-blog-category__image img { transform:scale(1.055); }
.dde-blog-category::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; }
.dde-blog-category__content { position:relative; z-index:2; width:100%; padding:22px 16px; text-align:center; min-width:0; }
.dde-blog-category__icon { margin:0 auto 12px; color:var(--dde-blog-cat-accent,inherit); }
.dde-blog-category__icon svg { display:inline-block; }
.dde-blog-category__title { margin:0; font-size:1rem; overflow-wrap:anywhere; }
.dde-blog-category__count { margin-top:7px; font-size:.86rem; }
.dde-blog-categories--icon .dde-blog-category__image,
.dde-blog-categories--minimal .dde-blog-category__image { display:none; }
.dde-blog-categories--minimal .dde-blog-category::after { display:none; }
.dde-blog-categories--minimal .dde-blog-category__content { padding-block:28px; }
.dde-blog-categories--overlay .dde-blog-category__icon { position:absolute; top:18px; left:18px; margin:0; }

/* Blog Newsletter */
.dde-blog-newsletter__inner { width:min(100%,1600px); margin-inline:auto; display:flex; align-items:center; position:relative; border:1px solid transparent; min-width:0; }
.dde-blog-newsletter__copy { flex:none; min-width:0; }
.dde-blog-newsletter__kicker { font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:9px; }
.dde-blog-newsletter__title { margin:0; font-size:clamp(1.6rem,2.5vw,3rem); line-height:1.12; text-wrap:balance; }
.dde-blog-newsletter__text { margin-top:12px; line-height:1.6; }
.dde-blog-newsletter__form-wrap { flex:1; min-width:0; }
.dde-blog-newsletter__form { display:flex; align-items:stretch; width:100%; min-width:0; }
.dde-blog-newsletter__email { min-width:0; flex:1; border:1px solid; border-radius:4px 0 0 4px; padding:0 18px; outline:none; }
.dde-blog-newsletter__email:focus { border-color:#65C6D4; box-shadow:0 0 0 2px rgba(101,198,212,.14); }
.dde-blog-newsletter__button { display:inline-flex; align-items:center; justify-content:center; gap:15px; border:1px solid transparent; padding:0 24px; text-decoration:none; white-space:nowrap; transition-property:transform,background,color,border-color,box-shadow; cursor:pointer; }
.dde-blog-newsletter__button--link { min-height:54px; }
.dde-blog-newsletter__privacy { display:block; margin-top:11px; text-decoration:none; line-height:1.45; }
.dde-blog-newsletter__decor { flex:none; margin-left:auto; }
.dde-blog-newsletter--center .dde-blog-newsletter__inner { flex-direction:column; text-align:center; }
.dde-blog-newsletter--center .dde-blog-newsletter__copy { width:100% !important; max-width:900px; }
.dde-blog-newsletter--center .dde-blog-newsletter__form-wrap { width:min(100%,850px); }
.dde-blog-newsletter--card { padding:25px; }

@media (max-width: 1024px) {
    .dde-blog-hero__inner { width:100%; }
    .dde-blog-posts--editorial .dde-blog-post-card:nth-child(1) { grid-column:span min(2,var(--dde-blog-post-cols,2)); }
    .dde-blog-learn__inner { align-items:stretch; }
    .dde-blog-newsletter__inner { align-items:stretch; }
}

@media (max-width: 767px) {
    .dde-blog-hero { min-height:var(--dde-blog-hero-height,500px); }
    .dde-blog-hero__copy { width:100% !important; max-width:none; }
    .dde-blog-hero--mobile-image-top,
    .dde-blog-hero--mobile-image-bottom { display:flex; flex-direction:column; min-height:0; }
    .dde-blog-hero--mobile-image-top .dde-blog-hero__image,
    .dde-blog-hero--mobile-image-bottom .dde-blog-hero__image { position:relative; height:min(62vw,360px); flex:none; order:1; }
    .dde-blog-hero--mobile-image-top .dde-blog-hero__inner { order:2; min-height:0; }
    .dde-blog-hero--mobile-image-bottom .dde-blog-hero__inner { order:1; min-height:0; }
    .dde-blog-hero--mobile-image-bottom .dde-blog-hero__image { order:2; }
    .dde-blog-hero--mobile-image-top::after,
    .dde-blog-hero--mobile-image-bottom::after { display:none; }
    .dde-blog-hero--fixed { background-attachment:scroll; background-image:var(--dde-blog-fixed-mobile-image,var(--dde-blog-fixed-image)); }
    .dde-blog-hero--fixed .dde-blog-hero__image { display:none !important; }
    .dde-blog-hero__title { overflow-wrap:anywhere; }
    .dde-blog-hero__button { max-width:100%; }

    .dde-blog-posts__grid { grid-template-columns:repeat(var(--dde-blog-post-cols,1),minmax(0,1fr)); }
    .dde-blog-posts--editorial .dde-blog-post-card:nth-child(1) { grid-column:span 1; }
    .dde-blog-post-card:hover { transform:none; }

    .dde-blog-learn__inner { flex-direction:column; }
    .dde-blog-learn__copy { width:100% !important; }
    .dde-blog-learn__features { width:100%; grid-template-columns:repeat(var(--dde-blog-learn-cols,1),minmax(0,1fr)); }
    .dde-blog-learn--mobile-scroll .dde-blog-learn__features { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:7px; }
    .dde-blog-learn--mobile-scroll .dde-blog-learn__features::-webkit-scrollbar { display:none; }
    .dde-blog-learn--mobile-scroll .dde-blog-learn__feature { flex:0 0 min(82vw,330px); scroll-snap-align:start; }
    .dde-blog-learn--mobile-compact .dde-blog-learn__feature { background:transparent !important; border-width:0 0 1px; padding-inline:0 !important; }
    .dde-blog-learn__feature:hover { transform:none; }

    .dde-blog-categories__grid { grid-template-columns:repeat(var(--dde-blog-cat-cols,2),minmax(0,1fr)); }
    .dde-blog-categories--mobile-stack .dde-blog-categories__grid { grid-template-columns:1fr !important; }
    .dde-blog-categories--mobile-scroll .dde-blog-categories__grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:7px; }
    .dde-blog-categories--mobile-scroll .dde-blog-categories__grid::-webkit-scrollbar { display:none; }
    .dde-blog-categories--mobile-scroll .dde-blog-category { flex:0 0 min(72vw,280px); scroll-snap-align:start; }
    .dde-blog-category:hover { transform:none; }

    .dde-blog-newsletter__inner { flex-direction:column; }
    .dde-blog-newsletter__copy { width:100% !important; }
    .dde-blog-newsletter__form-wrap { width:100%; }
    .dde-blog-newsletter__form { flex-direction:column; gap:10px; }
    .dde-blog-newsletter__email { border-radius:4px; width:100%; }
    .dde-blog-newsletter__button { width:100%; white-space:normal; text-align:center; }
    .dde-blog-newsletter__decor { margin:8px auto 0; }
    .dde-blog-newsletter--mobile-center .dde-blog-newsletter__inner { text-align:center; align-items:center; }
    .dde-blog-newsletter--mobile-compact .dde-blog-newsletter__decor { display:none; }
}

@media (max-width: 430px) {
    .dde-blog-post-card__title,
    .dde-blog-post-card__excerpt,
    .dde-blog-category__title,
    .dde-blog-category__count,
    .dde-blog-learn__feature-title,
    .dde-blog-learn__feature-text,
    .dde-blog-newsletter__title,
    .dde-blog-newsletter__text,
    .dde-blog-newsletter__privacy { overflow-wrap:anywhere; word-break:normal; }
}

@media (hover:none) and (pointer:coarse) {
    .dde-blog-post-card:hover,
    .dde-blog-category:hover,
    .dde-blog-learn__feature:hover { transform:none !important; }
}

/* Newsletter: third-party shortcode safety / responsive baseline */
.dde-blog-newsletter__shortcode form { width:100%; }
.dde-blog-newsletter__shortcode input[type="email"],
.dde-blog-newsletter__shortcode input[type="text"] { max-width:100%; }
.dde-blog-newsletter__shortcode button,
.dde-blog-newsletter__shortcode input[type="submit"] { max-width:100%; }
@media (max-width:767px) {
    .dde-blog-newsletter__shortcode form,
    .dde-blog-newsletter__shortcode .ff-t-container,
    .dde-blog-newsletter__shortcode .elementor-form-fields-wrapper { min-width:0; width:100%; }
}

/* =========================================================
   Blog Suite 2.2.2 – distinct Knowledge + Category layouts
   ========================================================= */

/* Blog Wissen – stronger, genuinely different desktop compositions */
.dde-blog-learn { position:relative; overflow:hidden; isolation:isolate; }
.dde-blog-learn__inner { min-height:inherit; }
.dde-blog-learn__features { align-items:stretch; }
.dde-blog-learn__feature { position:relative; overflow:hidden; }
.dde-blog-learn__icon {
    width:clamp(46px,4vw,64px);
    height:clamp(46px,4vw,64px);
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb, var(--dde-blog-learn-accent, #F28A18) 46%, transparent);
    border-radius:16px;
    color:var(--dde-blog-learn-accent, #F28A18);
}
.dde-blog-learn__icon i { line-height:1; }
.dde-blog-learn__feature-title,
.dde-blog-learn__feature-text { overflow-wrap:anywhere; }

/* 1: Split Deluxe – copy left, premium 2xN knowledge grid right */
.dde-blog-learn--split .dde-blog-learn__inner {
    display:flex;
    flex-direction:row;
    align-items:center;
}
.dde-blog-learn--split .dde-blog-learn__copy { max-width:620px; }
.dde-blog-learn--split .dde-blog-learn__features { width:auto; flex:1 1 auto; }
.dde-blog-learn--split .dde-blog-learn__feature {
    align-items:center;
    border-style:solid;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
.dde-blog-learn--split .dde-blog-learn__feature::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:2px;
    background:var(--dde-blog-learn-accent,#F28A18);
    opacity:.8;
}

/* 2: Cinematic Overlay – text upper-left, feature glass rail across the lower area */
.dde-blog-learn--overlay .dde-blog-learn__inner {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto 1fr auto;
    align-items:stretch;
}
.dde-blog-learn--overlay .dde-blog-learn__copy {
    width:min(100%,760px) !important;
    max-width:none;
    align-self:start;
    position:relative;
    z-index:1;
}
.dde-blog-learn--overlay .dde-blog-learn__features {
    width:100%;
    align-self:end;
    margin-top:clamp(42px,8vw,120px);
    padding:clamp(12px,1.5vw,22px);
    border:1px solid rgba(255,255,255,.10);
    border-radius:22px;
    background:rgba(3,8,10,.58);
    box-shadow:0 24px 70px rgba(0,0,0,.28);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.dde-blog-learn--overlay .dde-blog-learn__feature {
    background:transparent !important;
    border-color:rgba(255,255,255,.08) !important;
    border-radius:14px;
}
.dde-blog-learn--overlay .dde-blog-learn__icon {
    border-radius:50%;
    background:color-mix(in srgb, var(--dde-blog-learn-accent,#F28A18) 12%, rgba(0,0,0,.35));
}

/* 3: Premium Karten – centered introduction, large feature-card collection below */
.dde-blog-learn--cards .dde-blog-learn__inner {
    display:flex;
    flex-direction:column;
    align-items:stretch;
}
.dde-blog-learn--cards .dde-blog-learn__copy {
    width:min(100%,900px) !important;
    max-width:none;
    margin-inline:auto;
    text-align:center;
}
.dde-blog-learn--cards .dde-blog-learn__features {
    width:100%;
    margin-top:clamp(28px,4vw,56px);
}
.dde-blog-learn--cards .dde-blog-learn__feature {
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    border-style:solid;
    box-shadow:inset 0 1px rgba(255,255,255,.03);
}
.dde-blog-learn--cards .dde-blog-learn__feature::after {
    content:"";
    position:absolute;
    right:-40px;
    bottom:-45px;
    width:120px;
    height:120px;
    border-radius:50%;
    background:var(--dde-blog-learn-accent,#F28A18);
    filter:blur(55px);
    opacity:.10;
    pointer-events:none;
}
.dde-blog-learn--cards .dde-blog-learn__icon {
    border-radius:18px;
    margin-bottom:8px;
}

/* 4: Editorial Liste – publication-like copy column + clean ruled list */
.dde-blog-learn--editorial .dde-blog-learn__inner {
    display:grid;
    grid-template-columns:minmax(260px,.82fr) minmax(0,1.35fr);
    align-items:stretch;
}
.dde-blog-learn--editorial .dde-blog-learn__copy {
    width:100% !important;
    max-width:580px;
    padding-right:clamp(26px,4vw,70px);
    border-right:1px solid rgba(255,255,255,.12);
    align-self:center;
}
.dde-blog-learn--editorial .dde-blog-learn__features {
    grid-template-columns:1fr !important;
    align-content:center;
}
.dde-blog-learn--editorial .dde-blog-learn__feature {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    background:transparent !important;
    border-width:0 0 1px !important;
    border-style:solid;
    border-radius:0 !important;
    box-shadow:none !important;
}
.dde-blog-learn--editorial .dde-blog-learn__feature:first-child { border-top:1px solid rgba(255,255,255,.08); }
.dde-blog-learn--editorial .dde-blog-learn__icon {
    border-radius:50%;
    background:transparent !important;
}
.dde-blog-learn--editorial .dde-blog-learn__feature:hover { transform:translateX(5px); }

/* Blog Kategorien – common robust card primitives */
.dde-blog-category {
    position:relative;
    min-width:0;
    overflow:hidden;
    isolation:isolate;
}
.dde-blog-category__content,
.dde-blog-category__copy { min-width:0; }
.dde-blog-category__copy { width:100%; }
.dde-blog-category__icon {
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb, var(--dde-blog-cat-accent,#F28A18) 52%, transparent);
    border-radius:50%;
    color:var(--dde-blog-cat-accent,#F28A18);
}
.dde-blog-category__icon i { line-height:1; }
.dde-blog-category__icon svg { display:block; max-width:72%; max-height:72%; }
.dde-blog-category__title,
.dde-blog-category__count { overflow-wrap:anywhere; }

/* Category layout 1: image top + separate content panel */
.dde-blog-categories--image .dde-blog-category {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
}
.dde-blog-categories--image .dde-blog-category::after { display:none; }
.dde-blog-categories--image .dde-blog-category__image {
    position:relative;
    inset:auto;
    z-index:0;
    width:100%;
    flex:0 0 auto;
    overflow:hidden;
}
.dde-blog-categories--image .dde-blog-category__image::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.34));
    pointer-events:none;
}
.dde-blog-categories--image .dde-blog-category__content {
    position:relative;
    z-index:2;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
}
.dde-blog-categories--image .dde-blog-category--has-image .dde-blog-category__icon {
    margin-top:-38px;
    margin-bottom:10px;
    box-shadow:0 9px 24px rgba(0,0,0,.34);
}
.dde-blog-categories--image .dde-blog-category--no-image .dde-blog-category__icon { margin-bottom:14px; }

/* Category layout 2: cinematic full-bleed overlay */
.dde-blog-categories--overlay .dde-blog-category {
    display:flex;
    align-items:stretch;
    justify-content:stretch;
}
.dde-blog-categories--overlay .dde-blog-category__image { position:absolute; inset:0; z-index:0; }
.dde-blog-categories--overlay .dde-blog-category::after { display:block; z-index:1; }
.dde-blog-categories--overlay .dde-blog-category__content {
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:space-between;
    text-align:left;
}
.dde-blog-categories--overlay .dde-blog-category__icon {
    position:static;
    margin:0 0 auto;
    border-color:rgba(255,255,255,.34);
    background:rgba(2,5,7,.52);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
}
.dde-blog-categories--overlay .dde-blog-category__copy { margin-top:auto; }
.dde-blog-categories--overlay .dde-blog-category__title { text-shadow:0 2px 15px rgba(0,0,0,.5); }
.dde-blog-categories--overlay .dde-blog-category--no-image {
    background:linear-gradient(145deg,#11191d,#070a0c);
}

/* Category layout 3: premium icon card – intentionally no photo */
.dde-blog-categories--icon .dde-blog-category {
    display:flex;
    align-items:center;
    justify-content:center;
    background-image:
        radial-gradient(circle at 50% 28%, color-mix(in srgb, var(--dde-blog-cat-accent,#F28A18) 13%, transparent), transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.025),transparent 55%);
}
.dde-blog-categories--icon .dde-blog-category__image { display:none !important; }
.dde-blog-categories--icon .dde-blog-category::after { display:none; }
.dde-blog-categories--icon .dde-blog-category__content {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
}
.dde-blog-categories--icon .dde-blog-category__icon {
    margin:0 auto 18px;
    border-width:2px;
    box-shadow:0 0 0 8px color-mix(in srgb, var(--dde-blog-cat-accent,#F28A18) 7%, transparent);
}
.dde-blog-categories--icon .dde-blog-category::before {
    content:"";
    position:absolute;
    left:18%;
    right:18%;
    bottom:0;
    height:2px;
    background:var(--dde-blog-cat-accent,#F28A18);
    opacity:.75;
}


/* Category layout: pure image with title anchored at the bottom */
.dde-blog-categories--image_title .dde-blog-category {
    display:flex;
    align-items:flex-end;
    justify-content:stretch;
    overflow:hidden;
    border-width:1px;
    background:#080B0D;
}
.dde-blog-categories--image_title .dde-blog-category__image {
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100%;
    height:100%;
    z-index:0;
}
.dde-blog-categories--image_title .dde-blog-category__image picture,
.dde-blog-categories--image_title .dde-blog-category__image img { width:100%; height:100%; }
.dde-blog-categories--image_title .dde-blog-category::after {
    display:block !important;
    z-index:1;
    background:linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.22) 60%, var(--dde-blog-cat-title-overlay, rgba(2,4,5,.88)) 100%);
}
.dde-blog-categories--image_title .dde-blog-category__content {
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    margin-top:auto;
}
.dde-blog-categories--image_title .dde-blog-category__icon,
.dde-blog-categories--image_title .dde-blog-category__count { display:none !important; }
.dde-blog-categories--image_title .dde-blog-category__copy { width:100%; }
.dde-blog-categories--image_title .dde-blog-category__title {
    margin:0;
    text-shadow:0 2px 18px rgba(0,0,0,.65);
}
.dde-blog-categories--image_title .dde-blog-category--no-image {
    background:linear-gradient(145deg, #11181c, #080b0d);
}
.dde-blog-categories--image_title .dde-blog-category:hover { transform:translateY(-4px); }

/* Category layout 4: minimal editorial row/card */
.dde-blog-categories--minimal .dde-blog-category {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    overflow:visible;
    border-width:0 0 1px;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.dde-blog-categories--minimal .dde-blog-category__image { display:none !important; }
.dde-blog-categories--minimal .dde-blog-category::after { display:none !important; }
.dde-blog-categories--minimal .dde-blog-category__content {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:16px;
    width:100%;
    padding-left:0;
    padding-right:0;
    text-align:left;
}
.dde-blog-categories--minimal .dde-blog-category__icon {
    width:48px !important;
    height:48px !important;
    margin:0;
    border-radius:12px;
    background:transparent !important;
}
.dde-blog-categories--minimal .dde-blog-category__count { margin-top:4px; }
.dde-blog-categories--minimal .dde-blog-category::before {
    content:"";
    position:absolute;
    left:0;
    bottom:-1px;
    width:54px;
    height:2px;
    background:var(--dde-blog-cat-accent,#F28A18);
}

/* Card hover remains layout-aware */
.dde-blog-categories--image .dde-blog-category:hover,
.dde-blog-categories--overlay .dde-blog-category:hover,
.dde-blog-categories--icon .dde-blog-category:hover { transform:translateY(-4px); }
.dde-blog-categories--minimal .dde-blog-category:hover { transform:translateX(5px); }

@media (max-width:1024px) {
    .dde-blog-learn--editorial .dde-blog-learn__inner {
        grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);
    }
    .dde-blog-learn--editorial .dde-blog-learn__copy { padding-right:30px; }
}

@media (max-width:767px) {
    /* Knowledge: mobile mode wins over every desktop composition */
    .dde-blog-learn--split .dde-blog-learn__inner,
    .dde-blog-learn--overlay .dde-blog-learn__inner,
    .dde-blog-learn--cards .dde-blog-learn__inner,
    .dde-blog-learn--editorial .dde-blog-learn__inner {
        display:flex;
        flex-direction:column;
        align-items:stretch;
    }
    .dde-blog-learn--split .dde-blog-learn__copy,
    .dde-blog-learn--overlay .dde-blog-learn__copy,
    .dde-blog-learn--cards .dde-blog-learn__copy,
    .dde-blog-learn--editorial .dde-blog-learn__copy {
        width:100% !important;
        max-width:none;
        padding-right:0;
        border-right:0;
    }
    .dde-blog-learn--overlay .dde-blog-learn__features,
    .dde-blog-learn--cards .dde-blog-learn__features { margin-top:0; }
    .dde-blog-learn--overlay .dde-blog-learn__features { padding:0; border:0; background:transparent; box-shadow:none; backdrop-filter:none; }
    .dde-blog-learn--editorial .dde-blog-learn__features { grid-template-columns:1fr !important; }
    .dde-blog-learn--mobile-compact .dde-blog-learn__feature {
        min-height:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    /* Mobile category visual layout can be chosen independently from desktop */
    .dde-blog-categories--mobile-layout-image .dde-blog-category {
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        overflow:hidden !important;
        border-width:1px !important;
    }
    .dde-blog-categories--mobile-layout-image .dde-blog-category::after { display:none !important; }
    .dde-blog-categories--mobile-layout-image .dde-blog-category__image {
        display:block !important;
        position:relative !important;
        inset:auto !important;
        width:100% !important;
        flex:0 0 auto !important;
    }
    .dde-blog-categories--mobile-layout-image .dde-blog-category__content {
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-start !important;
        height:auto !important;
        text-align:center;
    }
    .dde-blog-categories--mobile-layout-image .dde-blog-category--has-image .dde-blog-category__icon {
        position:static !important;
        margin:-36px auto 10px !important;
    }

    .dde-blog-categories--mobile-layout-overlay .dde-blog-category {
        display:flex !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        overflow:hidden !important;
        border-width:1px !important;
    }
    .dde-blog-categories--mobile-layout-overlay .dde-blog-category__image { display:block !important; position:absolute !important; inset:0 !important; }
    .dde-blog-categories--mobile-layout-overlay .dde-blog-category::after { display:block !important; }
    .dde-blog-categories--mobile-layout-overlay .dde-blog-category__content {
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:space-between !important;
        width:100% !important;
        height:100% !important;
        text-align:left !important;
    }
    .dde-blog-categories--mobile-layout-overlay .dde-blog-category__icon {
        position:static !important;
        margin:0 0 auto !important;
        border-radius:50% !important;
        background:rgba(2,5,7,.52);
    }
    .dde-blog-categories--mobile-layout-overlay .dde-blog-category__copy { margin-top:auto; }

    .dde-blog-categories--mobile-layout-icon .dde-blog-category {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
        border-width:1px !important;
        background-image:radial-gradient(circle at 50% 28%, color-mix(in srgb, var(--dde-blog-cat-accent,#F28A18) 13%, transparent), transparent 42%) !important;
    }
    .dde-blog-categories--mobile-layout-icon .dde-blog-category__image { display:none !important; }
    .dde-blog-categories--mobile-layout-icon .dde-blog-category::after { display:none !important; }
    .dde-blog-categories--mobile-layout-icon .dde-blog-category__content {
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
    }
    .dde-blog-categories--mobile-layout-icon .dde-blog-category__icon { position:static !important; margin:0 auto 16px !important; }

    .dde-blog-categories--mobile-layout-image_title .dde-blog-category {
        display:flex !important;
        align-items:flex-end !important;
        justify-content:stretch !important;
        overflow:hidden !important;
        border-width:1px !important;
        background:#080B0D;
    }
    .dde-blog-categories--mobile-layout-image_title .dde-blog-category__image {
        display:block !important;
        position:absolute !important;
        inset:0 !important;
        width:100% !important;
        height:100% !important;
        z-index:0 !important;
    }
    .dde-blog-categories--mobile-layout-image_title .dde-blog-category::after {
        display:block !important;
        z-index:1 !important;
        background:linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.22) 60%, var(--dde-blog-cat-title-overlay, rgba(2,4,5,.88)) 100%) !important;
    }
    .dde-blog-categories--mobile-layout-image_title .dde-blog-category__content {
        position:relative !important;
        z-index:2 !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        margin-top:auto !important;
    }
    .dde-blog-categories--mobile-layout-image_title .dde-blog-category__icon,
    .dde-blog-categories--mobile-layout-image_title .dde-blog-category__count { display:none !important; }
    .dde-blog-categories--mobile-layout-image_title .dde-blog-category__copy { width:100% !important; }

    .dde-blog-categories--mobile-layout-minimal .dde-blog-category {
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        overflow:visible !important;
        border-width:0 0 1px !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        min-height:0 !important;
    }
    .dde-blog-categories--mobile-layout-minimal .dde-blog-category__image { display:none !important; }
    .dde-blog-categories--mobile-layout-minimal .dde-blog-category::after { display:none !important; }
    .dde-blog-categories--mobile-layout-minimal .dde-blog-category__content {
        display:grid !important;
        grid-template-columns:auto minmax(0,1fr) !important;
        align-items:center !important;
        gap:14px !important;
        width:100% !important;
        height:auto !important;
        text-align:left !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .dde-blog-categories--mobile-layout-minimal .dde-blog-category__icon {
        position:static !important;
        width:44px !important;
        height:44px !important;
        margin:0 !important;
        border-radius:12px !important;
        background:transparent !important;
    }

    .dde-blog-categories--mobile-scroll .dde-blog-category { flex-shrink:0; }
}

@media (hover:none) and (pointer:coarse) {
    .dde-blog-learn--editorial .dde-blog-learn__feature:hover,
    .dde-blog-categories--minimal .dde-blog-category:hover { transform:none !important; }
}

/* =========================================================
   Blog article suite (v2.3.1)
   ========================================================= */

/* Article Hero */

/* -------------------------------------------------------------------------
 * Blog Single Template compatibility
 * -------------------------------------------------------------------------
 * Elementor Theme Builder wraps widgets differently from normal pages and
 * themes/global styles can add widths, margins and box sizing to the wrapper.
 * Keep the structural Deluxe layout deterministic in editor preview and on the
 * automatically applied Single Post template. Typography/color controls remain
 * fully editable because this layer only normalizes geometry and browser defaults.
 */
.elementor-widget[class*="elementor-widget-dde_blog_"] {
    width:100%;
    min-width:0;
    max-width:100%;
}
.elementor-widget[class*="elementor-widget-dde_blog_"] > .elementor-widget-container {
    width:100%;
    min-width:0;
    max-width:100%;
}
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module {
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module *,
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module *::before,
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module *::after { box-sizing:border-box; }
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module img,
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module picture,
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module video { max-width:100%; }
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module h1,
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module h2,
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module h3,
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module h4 { overflow-wrap:anywhere; }
.elementor-widget[class*="elementor-widget-dde_blog_"] .dde-module a { text-decoration:none; }

.dde-blog-article-content__empty {
    padding:18px 20px;
    border:1px dashed rgba(242,138,24,.55);
    border-radius:8px;
    background:rgba(242,138,24,.06);
    color:#D8DEE1;
    line-height:1.55;
}

.dde-blog-article-hero {
    --dde-article-accent:#F28A18;
    --dde-article-accent-alt:#65C6D4;
    --dde-article-hero-overlay-a:rgba(3,5,7,.96);
    --dde-article-hero-overlay-b:rgba(3,5,7,.12);
    overflow:hidden;
}
.dde-blog-article-hero__inner {
    position:relative;
    width:min(100%, 1600px);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,var(--dde-article-hero-content,48%)) minmax(0,1fr);
    align-items:stretch;
}
.dde-blog-article-hero__content {
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
}
.dde-blog-article-hero__breadcrumb {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin-bottom:30px;
    line-height:1.3;
}
.dde-blog-article-hero__breadcrumb a { color:inherit; }
.dde-blog-article-hero__crumb-sep { color:var(--dde-article-accent); }
.dde-blog-article-hero__category {
    margin-bottom:12px;
    font-size:13px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.dde-blog-article-hero__title {
    margin:0;
    max-width:13ch;
    font-size:clamp(38px,4vw,72px);
    line-height:.98;
    letter-spacing:-.025em;
    overflow-wrap:anywhere;
}
.dde-blog-article-hero__excerpt {
    max-width:62ch;
    margin-top:22px;
}
.dde-blog-article-hero__excerpt p { margin:0; }
.dde-blog-article-hero__meta {
    display:flex;
    flex-wrap:wrap;
    gap:12px 22px;
    margin-top:26px;
}
.dde-blog-article-hero__meta span {
    display:inline-flex;
    align-items:center;
    gap:7px;
}
.dde-blog-article-hero__meta i { color:var(--dde-article-accent); }
.dde-blog-article-hero__media {
    position:relative;
    min-width:0;
    overflow:hidden;
}
.dde-blog-article-hero__media::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,var(--dde-article-hero-overlay-a) 0%,rgba(3,5,7,.48) 22%,var(--dde-article-hero-overlay-b) 70%);
    pointer-events:none;
}
.dde-blog-article-hero__media .dde-responsive-picture,
.dde-blog-article-hero__media img {
    width:100%; height:100%; display:block;
}
.dde-blog-article-hero__media img { object-fit:cover; }
.dde-blog-article-hero--split .dde-blog-article-hero__media { margin-left:-17%; }
.dde-blog-article-hero--overlay .dde-blog-article-hero__inner,
.dde-blog-article-hero--centered .dde-blog-article-hero__inner { display:block; }
.dde-blog-article-hero--overlay .dde-blog-article-hero__media,
.dde-blog-article-hero--centered .dde-blog-article-hero__media { position:absolute; inset:0; min-height:100%; }
.dde-blog-article-hero--overlay .dde-blog-article-hero__media::after,
.dde-blog-article-hero--centered .dde-blog-article-hero__media::after {
    background:linear-gradient(90deg,var(--dde-article-hero-overlay-a),rgba(3,5,7,.66) 42%,var(--dde-article-hero-overlay-b));
}
.dde-blog-article-hero--overlay .dde-blog-article-hero__content { width:min(64%,900px); }
.dde-blog-article-hero--centered .dde-blog-article-hero__content { width:min(900px,90%); margin:0 auto; align-items:center; text-align:center; }
.dde-blog-article-hero--centered .dde-blog-article-hero__title,
.dde-blog-article-hero--centered .dde-blog-article-hero__excerpt { max-width:none; }
.dde-blog-article-hero--centered .dde-blog-article-hero__meta { justify-content:center; }
.dde-blog-article-hero--editorial .dde-blog-article-hero__inner { grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); }
.dde-blog-article-hero--editorial .dde-blog-article-hero__media { margin:0; }
.dde-blog-article-hero--editorial .dde-blog-article-hero__media::after { background:linear-gradient(90deg,rgba(3,5,7,.3),transparent); }

/* Article content */
.dde-blog-article-content__inner { width:100%; margin:0 auto; }
.dde-blog-article-content__body { line-height:1.75; overflow-wrap:anywhere; }
.dde-blog-article-content__body > :first-child { margin-top:0 !important; }
.dde-blog-article-content__body > :last-child { margin-bottom:0 !important; }
.dde-blog-article-content__body h2,
.dde-blog-article-content__body h3,
.dde-blog-article-content__body h4 { scroll-margin-top:110px; line-height:1.15; }
.dde-blog-article-content__body ul,
.dde-blog-article-content__body ol { padding-left:1.45em; margin:0 0 22px; }
.dde-blog-article-content__body li { margin-bottom:.55em; }
.dde-blog-article-content__body img { max-width:100%; height:auto; }
.dde-blog-article-content__body figure { max-width:100%; }
.dde-blog-article-content__body figcaption { margin-top:8px; color:#8F9AA0; font-size:.88em; }
.dde-blog-article-content__body blockquote {
    margin:28px 0;
    border:1px solid transparent;
    border-left-width:3px;
    font-style:normal;
}
.dde-blog-article-content__body blockquote p:last-child { margin-bottom:0; }
.dde-blog-article-content__body table { width:100%; border-collapse:collapse; }
.dde-blog-article-content__body th,
.dde-blog-article-content__body td { padding:10px 12px; border:1px solid rgba(255,255,255,.12); }

/* Article quote */
.dde-blog-article-quote__inner { width:100%; margin:0 auto; }
.dde-blog-article-quote__box {
    position:relative;
    display:flex;
    align-items:flex-start;
    border:1px solid transparent;
}
.dde-blog-article-quote__icon { flex:0 0 auto; line-height:1; }
.dde-blog-article-quote__copy { min-width:0; flex:1; }
.dde-blog-article-quote__text { line-height:1.55; }
.dde-blog-article-quote__source { margin-top:10px; }
.dde-blog-article-quote--accent-left .dde-blog-article-quote__box { border-width:0 0 0 4px; }
.dde-blog-article-quote--glass .dde-blog-article-quote__box { backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); background:rgba(14,23,28,.72) !important; }
.dde-blog-article-quote--minimal .dde-blog-article-quote__box { background:transparent !important; border-width:0 0 1px; border-radius:0 !important; }

/* Article tips */
.dde-blog-article-tips { --dde-tip-accent:#F28A18; }
.dde-blog-article-tips__intro { margin-bottom:22px; }
.dde-blog-article-tips__kicker { margin-bottom:8px; text-transform:uppercase; font-weight:700; letter-spacing:.07em; }
.dde-blog-article-tips__title { margin:0; }
.dde-blog-article-tips__intro-text { margin-top:10px; }
.dde-blog-article-tips__intro-text p { margin:0; }
.dde-blog-article-tips__grid { display:grid; grid-template-columns:repeat(var(--dde-article-tip-cols,1),minmax(0,1fr)); }
.dde-blog-article-tip {
    --dde-tip-item-accent:var(--dde-tip-accent);
    display:flex;
    align-items:flex-start;
    position:relative;
    min-width:0;
    border:1px solid transparent;
}
.dde-blog-article-tip__marker {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:50%;
    background:var(--dde-tip-item-accent);
    font-weight:800;
    line-height:1;
}
.dde-blog-article-tip__marker i { line-height:1; }
.dde-blog-article-tip__copy { min-width:0; }
.dde-blog-article-tip__title { margin:0 0 7px; line-height:1.25; }
.dde-blog-article-tip__text { line-height:1.6; }
.dde-blog-article-tip__text p { margin:0; }
.dde-blog-article-tips--editorial .dde-blog-article-tip,
.dde-blog-article-tips--compact .dde-blog-article-tip { background:transparent !important; border:0; }
.dde-blog-article-tips--timeline .dde-blog-article-tips__grid { display:block; }
.dde-blog-article-tips--timeline .dde-blog-article-tip { margin-bottom:22px; padding-bottom:22px; border-width:0 0 1px; border-color:rgba(255,255,255,.10); }
.dde-blog-article-tips--timeline .dde-blog-article-tip::after { content:""; position:absolute; left:calc(var(--dde-tip-marker-size,34px)/2); top:100%; width:1px; height:22px; background:rgba(242,138,24,.35); }
.dde-blog-article-tips--cards .dde-blog-article-tip { padding:20px; }
.dde-blog-article-tips--compact .dde-blog-article-tip__marker { background:transparent; color:var(--dde-tip-item-accent); border:1px solid var(--dde-tip-item-accent); }

/* Checklist */
.dde-blog-article-checklist {
    --dde-check-accent:#F28A18;
    --dde-check-bg:#0D1418;
    --dde-check-border:#F28A18;
}
.dde-blog-article-checklist__box {
    position:relative;
    border:1px solid var(--dde-check-border);
    background:var(--dde-check-bg);
    overflow:hidden;
    isolation:isolate;
}
.dde-blog-article-checklist__box::before,
.dde-blog-article-checklist__box::after { content:""; position:absolute; pointer-events:none; z-index:-1; }
.dde-blog-article-checklist__header { display:flex; align-items:center; gap:16px; position:relative; z-index:1; }
.dde-blog-article-checklist__main-icon {
    color:var(--dde-check-accent);
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}
.dde-blog-article-checklist__headcopy { min-width:0; }
.dde-blog-article-checklist__title { margin:0; line-height:1.2; }
.dde-blog-article-checklist__subtitle { margin-top:4px; }
.dde-blog-article-checklist__items { display:grid; grid-template-columns:repeat(var(--dde-check-cols,2),minmax(0,1fr)); position:relative; z-index:1; }
.dde-blog-article-checklist__item { display:flex; align-items:flex-start; gap:9px; min-width:0; }
.dde-blog-article-checklist__item-icon { flex:0 0 auto; line-height:1.45; }
.dde-blog-article-checklist__item-text { min-width:0; overflow-wrap:anywhere; }

/* Deluxe Rahmen: klarer Premium-Rahmen + Icon-Plate */
.dde-blog-article-checklist--bordered .dde-blog-article-checklist__box {
    border:1px solid var(--dde-check-border) !important;
    background:var(--dde-check-bg) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.dde-blog-article-checklist--bordered .dde-blog-article-checklist__main-icon {
    min-width:48px;
    min-height:48px;
    border:1px solid var(--dde-check-border);
    border-radius:10px;
    background:rgba(255,255,255,.025);
}
.dde-blog-article-checklist--bordered .dde-blog-article-checklist__box::after {
    left:0; right:0; top:0; height:2px;
    background:linear-gradient(90deg,var(--dde-check-accent),transparent 62%);
}

/* Glass Premium: transparent wirkende Schicht, Glow und Blur */
.dde-blog-article-checklist--glass .dde-blog-article-checklist__box {
    border:1px solid rgba(255,255,255,.14) !important;
    background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.018) 42%,rgba(0,0,0,.10)),var(--dde-check-bg) !important;
    backdrop-filter:blur(18px) saturate(118%);
    -webkit-backdrop-filter:blur(18px) saturate(118%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 50px rgba(0,0,0,.22);
}
.dde-blog-article-checklist--glass .dde-blog-article-checklist__box::before {
    width:220px; height:220px; right:-90px; top:-110px; border-radius:50%;
    background:radial-gradient(circle,rgba(242,138,24,.22),transparent 68%);
}
.dde-blog-article-checklist--glass .dde-blog-article-checklist__main-icon {
    min-width:50px; min-height:50px; border-radius:50%;
    background:rgba(242,138,24,.10); border:1px solid rgba(242,138,24,.36);
    box-shadow:0 0 30px rgba(242,138,24,.12);
}

/* Flächig: kräftige geschlossene Karte mit markanter Top-Bar */
.dde-blog-article-checklist--solid .dde-blog-article-checklist__box {
    border-color:transparent !important;
    background:var(--dde-check-bg) !important;
    box-shadow:0 14px 38px rgba(0,0,0,.20);
}
.dde-blog-article-checklist--solid .dde-blog-article-checklist__box::before {
    left:0; right:0; top:0; height:5px; background:var(--dde-check-accent);
}
.dde-blog-article-checklist--solid .dde-blog-article-checklist__header { padding-top:4px; }
.dde-blog-article-checklist--solid .dde-blog-article-checklist__main-icon {
    min-width:46px; min-height:46px; border-radius:8px;
    color:#0A0D0F; background:var(--dde-check-accent);
}
.dde-blog-article-checklist--solid .dde-blog-article-checklist__item {
    padding:9px 10px; border-radius:7px; background:rgba(255,255,255,.035);
}

/* Minimal: keine Box, stattdessen Editorial-Akzent und feine Trenner */
.dde-blog-article-checklist--minimal .dde-blog-article-checklist__box {
    background:transparent !important;
    border:0 !important;
    border-left:3px solid var(--dde-check-accent) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible;
}
.dde-blog-article-checklist--minimal .dde-blog-article-checklist__main-icon {
    min-width:0; min-height:0; border:0; background:transparent;
}
.dde-blog-article-checklist--minimal .dde-blog-article-checklist__items { border-top:1px solid rgba(255,255,255,.10); padding-top:14px; }
.dde-blog-article-checklist--minimal .dde-blog-article-checklist__item { padding-bottom:9px; border-bottom:1px solid rgba(255,255,255,.065); }

/* Article CTA */
.dde-blog-article-cta {
    --dde-article-cta-bg:#0C1216;
    --dde-article-cta-overlay:rgba(5,8,10,.78);
    --dde-article-cta-accent:#F28A18;
    --dde-article-cta-accent-alt:#65C6D4;
    background:transparent;
}
.dde-blog-article-cta__inner {
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    overflow:hidden;
    border:1px solid transparent;
    background:var(--dde-article-cta-bg);
}
.dde-blog-article-cta__inner::before {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(var(--dde-article-cta-overlay),var(--dde-article-cta-overlay)),var(--dde-article-cta-image,none);
    background-size:cover;
    background-position:center;
    opacity:0;
    pointer-events:none;
}
.dde-blog-article-cta--image .dde-blog-article-cta__inner::before { opacity:1; }
.dde-blog-article-cta__inner > * { position:relative; z-index:1; }
.dde-blog-article-cta__icon {
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--dde-article-cta-accent);
    border-radius:50%;
    color:var(--dde-article-cta-accent);
    line-height:1;
}
.dde-blog-article-cta__copy { min-width:0; }
.dde-blog-article-cta__kicker { margin-bottom:5px; }
.dde-blog-article-cta__title { margin:0; line-height:1.15; }
.dde-blog-article-cta__text { margin-top:5px; }
.dde-blog-article-cta__text p { margin:0; }
.dde-blog-article-cta__actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; }
.dde-blog-article-cta__primary { border:1px solid transparent; white-space:nowrap; }
.dde-blog-article-cta__secondary { display:inline-flex; align-items:center; gap:6px; font-weight:600; white-space:nowrap; }
.dde-blog-article-cta--centered .dde-blog-article-cta__inner { display:flex; flex-direction:column; text-align:center; }
.dde-blog-article-cta--centered .dde-blog-article-cta__actions { justify-content:center; }
.dde-blog-article-cta--compact .dde-blog-article-cta__icon { display:none; }

/* Author sidebar */
.dde-blog-author-sidebar { --dde-author-accent:#65C6D4; --dde-author-overlay:rgba(5,8,10,.72); }
.dde-blog-author-sidebar__inner {
    position:relative;
    overflow:hidden;
    border:1px solid transparent;
    background-image:linear-gradient(var(--dde-author-overlay),var(--dde-author-overlay)),var(--dde-author-bg,none);
    background-size:cover;
    background-position:center;
}
.dde-blog-author-sidebar__heading { position:relative; z-index:1; margin:0 0 14px; }
.dde-blog-author-sidebar__content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; }
.dde-blog-author-sidebar__portrait { overflow:hidden; flex:0 0 auto; border:1px solid rgba(255,255,255,.12); }
.dde-blog-author-sidebar__portrait--circle { border-radius:50%; }
.dde-blog-author-sidebar__portrait--rounded { border-radius:18px; }
.dde-blog-author-sidebar__portrait--square { border-radius:0; }
.dde-blog-author-sidebar__portrait img { width:100%; height:100%; object-fit:cover; }
.dde-blog-author-sidebar__copy { min-width:0; }
.dde-blog-author-sidebar__name { margin-top:14px; font-weight:800; }
.dde-blog-author-sidebar__role { margin-top:3px; }
.dde-blog-author-sidebar__bio { margin-top:12px; line-height:1.55; overflow-wrap:anywhere; }
.dde-blog-author-sidebar__bio p { margin:0; }
.dde-blog-author-sidebar__link { display:inline-flex; align-items:center; gap:6px; margin-top:12px; }
.dde-blog-author-sidebar--compact .dde-blog-author-sidebar__content { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; }
.dde-blog-author-sidebar--compact .dde-blog-author-sidebar__name { margin-top:0; }
.dde-blog-author-sidebar--horizontal .dde-blog-author-sidebar__content { flex-direction:row; align-items:center; }
.dde-blog-author-sidebar--horizontal .dde-blog-author-sidebar__name { margin-top:0; }
.dde-blog-author-sidebar--portrait-top .dde-blog-author-sidebar__portrait { width:100% !important; height:auto !important; aspect-ratio:4/3; border-radius:8px !important; }
.dde-blog-author-sidebar--portrait-top .dde-blog-author-sidebar__portrait img { object-position:center top; }

/* TOC sidebar */
.dde-blog-toc-sidebar { --dde-toc-accent:#F28A18; }
.dde-blog-toc-sidebar__inner { border:1px solid transparent; overflow:hidden; }
.dde-blog-toc-sidebar__toggle {
    appearance:none;
    border:0;
    background:transparent;
    color:inherit;
    width:100%;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    text-align:left;
    cursor:default;
}
.dde-blog-toc-sidebar__title { margin:0; display:block; }
.dde-blog-toc-sidebar__chevron { display:none; color:var(--dde-toc-accent); transition:transform .2s ease; }
.dde-blog-toc-sidebar__nav { margin-top:14px; }
.dde-blog-toc-sidebar__list { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; }
.dde-blog-toc-sidebar__item { position:relative; min-width:0; }
.dde-blog-toc-sidebar__item a { display:flex; align-items:flex-start; gap:7px; line-height:1.45; overflow-wrap:anywhere; }
.dde-blog-toc-sidebar__item a:hover { color:var(--dde-toc-accent); }
.dde-blog-toc-sidebar__item.is-active::before { content:""; position:absolute; left:-10px; top:.2em; bottom:.2em; width:2px; background:var(--dde-toc-accent); }
.dde-blog-toc-sidebar__num { color:var(--dde-toc-accent); flex:0 0 auto; }
.dde-blog-toc-sidebar--line .dde-blog-toc-sidebar__inner { border-width:0 0 0 2px; border-color:var(--dde-toc-accent); border-radius:0 !important; }
.dde-blog-toc-sidebar--minimal .dde-blog-toc-sidebar__inner { border:0; background:transparent !important; border-radius:0 !important; box-shadow:none !important; }
.dde-blog-toc-sidebar--glass .dde-blog-toc-sidebar__inner { backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); background:rgba(10,15,18,.72) !important; }

/* Contact sidebar */
.dde-blog-contact-sidebar { --dde-blog-contact-accent:#F28A18; }
.dde-blog-contact-sidebar__inner { display:flex; flex-direction:column; align-items:flex-start; border:1px solid transparent; }
.dde-blog-contact-sidebar__main-icon { color:var(--dde-blog-contact-accent); line-height:1; }
.dde-blog-contact-sidebar__title { margin:0; line-height:1.2; }
.dde-blog-contact-sidebar__text { line-height:1.55; }
.dde-blog-contact-sidebar__text p { margin:0; }
.dde-blog-contact-sidebar__row { display:flex; align-items:center; gap:10px; max-width:100%; overflow-wrap:anywhere; color:inherit; }
.dde-blog-contact-sidebar__row:hover { color:var(--dde-blog-contact-accent); }
.dde-blog-contact-sidebar__row-icon { flex:0 0 auto; width:20px; line-height:1; color:var(--dde-blog-contact-accent); }
.dde-blog-contact-sidebar__button { border:1px solid transparent; text-align:center; }
.dde-blog-contact-sidebar--accent .dde-blog-contact-sidebar__inner { border-top:3px solid var(--dde-blog-contact-accent); }
.dde-blog-contact-sidebar--glass .dde-blog-contact-sidebar__inner { backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); background:rgba(11,17,21,.72) !important; }
.dde-blog-contact-sidebar--minimal .dde-blog-contact-sidebar__inner { border-width:1px 0 0; border-radius:0 !important; background:transparent !important; }

/* Related posts */
.dde-blog-related-posts { --dde-related-accent:#65C6D4; }
.dde-blog-related-posts__title { margin:0 0 18px; }
.dde-blog-related-posts__grid { display:grid; grid-template-columns:repeat(var(--dde-related-cols,3),minmax(0,1fr)); }
.dde-blog-related-post { position:relative; overflow:hidden; min-width:0; border:1px solid transparent; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.dde-blog-related-post:hover { transform:translateY(-3px); border-color:var(--dde-related-accent); }
.dde-blog-related-post__click { position:absolute; inset:0; z-index:4; }
.dde-blog-related-post__image { overflow:hidden; background:#070A0C; }
.dde-blog-related-post__image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.dde-blog-related-post__body { position:relative; z-index:2; min-width:0; }
.dde-blog-related-post__category { margin-bottom:7px; font-size:11px; line-height:1.2; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.dde-blog-related-post__title { margin:0; line-height:1.25; overflow-wrap:anywhere; }
.dde-blog-related-post__excerpt { margin-top:9px; line-height:1.5; }
.dde-blog-related-post__meta { display:flex; flex-wrap:wrap; gap:5px 10px; margin-top:12px; }
.dde-blog-related-posts--sidebar .dde-blog-related-posts__grid,
.dde-blog-related-posts--minimal .dde-blog-related-posts__grid { display:flex; flex-direction:column; }
.dde-blog-related-posts--sidebar .dde-blog-related-post { display:grid; grid-template-columns:92px minmax(0,1fr); }
.dde-blog-related-posts--sidebar .dde-blog-related-post__image { height:100% !important; min-height:82px; }
.dde-blog-related-posts--sidebar .dde-blog-related-post__body { padding:12px !important; }
.dde-blog-related-posts--sidebar .dde-blog-related-post__excerpt,
.dde-blog-related-posts--sidebar .dde-blog-related-post__category { display:none; }
.dde-blog-related-posts--sidebar .dde-blog-related-post__meta { margin-top:7px; }
.dde-blog-related-posts--minimal .dde-blog-related-post { display:grid; grid-template-columns:auto minmax(0,1fr); border-width:0 0 1px; border-radius:0 !important; background:transparent !important; }
.dde-blog-related-posts--minimal .dde-blog-related-post__image { width:70px; height:70px !important; }
.dde-blog-related-posts--horizontal .dde-blog-related-post { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr); }
.dde-blog-related-posts--horizontal .dde-blog-related-post__image { height:100% !important; min-height:160px; }

@media (max-width:1024px) {
    .dde-blog-article-hero__inner { grid-template-columns:minmax(0,48%) minmax(0,52%); }
    .dde-blog-article-hero--split .dde-blog-article-hero__media { margin-left:-10%; }
    .dde-blog-article-cta__inner { grid-template-columns:auto minmax(0,1fr); }
    .dde-blog-article-cta__actions { grid-column:2; justify-content:flex-start; }
    .dde-blog-author-sidebar--horizontal .dde-blog-author-sidebar__content { flex-direction:column; align-items:flex-start; }
}

@media (max-width:767px) {
    .dde-blog-article-hero__inner { display:flex; flex-direction:column; min-height:0 !important; }
    .dde-blog-article-hero__content { width:100% !important; order:1; }
    .dde-blog-article-hero__media { width:100%; margin:0 !important; order:2; }
    .dde-blog-article-hero__media::after { background:linear-gradient(180deg,var(--dde-article-hero-overlay-a) 0%,rgba(3,5,7,.18) 45%,var(--dde-article-hero-overlay-b) 100%); }
    .dde-blog-article-hero--mobile-image-first .dde-blog-article-hero__media { order:1; }
    .dde-blog-article-hero--mobile-image-first .dde-blog-article-hero__content { order:2; }
    .dde-blog-article-hero--mobile-overlay .dde-blog-article-hero__inner { display:block; min-height:520px !important; }
    .dde-blog-article-hero--mobile-overlay .dde-blog-article-hero__media { position:absolute; inset:0; height:100%; min-height:100%; }
    .dde-blog-article-hero--mobile-overlay .dde-blog-article-hero__content { position:relative; z-index:3; min-height:520px; justify-content:flex-end; }
    .dde-blog-article-hero__title { max-width:none; font-size:clamp(34px,10vw,52px); }
    .dde-blog-article-hero__breadcrumb { margin-bottom:20px; }
    .dde-blog-article-hero__meta { gap:9px 14px; }

    .dde-blog-article-content__body { overflow-x:hidden; }
    .dde-blog-article-content__body table { display:block; max-width:100%; overflow-x:auto; white-space:nowrap; }

    .dde-blog-article-quote__box { flex-direction:column; }

    .dde-blog-article-tips--mobile-cards .dde-blog-article-tip { background:#0D161B !important; border-width:1px; padding:18px !important; }
    .dde-blog-article-tips--mobile-compact .dde-blog-article-tip { background:transparent !important; border:0; padding:0 !important; }
    .dde-blog-article-tips--mobile-scroll .dde-blog-article-tips__grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
    .dde-blog-article-tips--mobile-scroll .dde-blog-article-tips__grid::-webkit-scrollbar { display:none; }
    .dde-blog-article-tips--mobile-scroll .dde-blog-article-tip { flex:0 0 min(84vw,360px); scroll-snap-align:start; background:#0D161B !important; border-width:1px; padding:18px !important; }
    .dde-blog-article-tips__grid { grid-template-columns:repeat(var(--dde-article-tip-cols,1),minmax(0,1fr)); }

    .dde-blog-article-checklist__items { grid-template-columns:repeat(var(--dde-check-cols,1),minmax(0,1fr)); }
    .dde-blog-article-checklist__header { align-items:flex-start; }

    .dde-blog-article-cta__inner { display:flex; flex-direction:column; align-items:flex-start; }
    .dde-blog-article-cta__actions { width:100%; justify-content:flex-start; }
    .dde-blog-article-cta--mobile-center .dde-blog-article-cta__inner { align-items:center; text-align:center; }
    .dde-blog-article-cta--mobile-center .dde-blog-article-cta__actions { justify-content:center; }
    .dde-blog-article-cta--mobile-image .dde-blog-article-cta__inner::before {
        opacity:1;
        background-image:linear-gradient(var(--dde-article-cta-overlay),var(--dde-article-cta-overlay)),var(--dde-article-cta-mobile-image,var(--dde-article-cta-image,none));
    }

    .dde-blog-author-sidebar--compact .dde-blog-author-sidebar__content { grid-template-columns:auto minmax(0,1fr); }
    .dde-blog-author-sidebar--horizontal .dde-blog-author-sidebar__content { flex-direction:row; align-items:center; }

    .dde-blog-toc-sidebar__toggle { cursor:pointer; }
    .dde-blog-toc-sidebar__chevron { display:block; }
    .dde-blog-toc-sidebar--mobile-collapsible .dde-blog-toc-sidebar__nav { display:none; }
    .dde-blog-toc-sidebar--mobile-collapsible.is-open .dde-blog-toc-sidebar__nav { display:block; }
    .dde-blog-toc-sidebar--mobile-collapsible.is-open .dde-blog-toc-sidebar__chevron { transform:rotate(180deg); }
    .dde-blog-toc-sidebar--mobile-compact .dde-blog-toc-sidebar__list { flex-direction:row; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:4px; scrollbar-width:none; }
    .dde-blog-toc-sidebar--mobile-compact .dde-blog-toc-sidebar__list::-webkit-scrollbar { display:none; }
    .dde-blog-toc-sidebar--mobile-compact .dde-blog-toc-sidebar__item { flex:0 0 auto; padding-left:0 !important; scroll-snap-align:start; }
    .dde-blog-toc-sidebar--mobile-compact .dde-blog-toc-sidebar__item a { padding:8px 12px; border:1px solid rgba(255,255,255,.12); border-radius:999px; white-space:nowrap; }
    .dde-blog-toc-sidebar--mobile-compact .dde-blog-toc-sidebar__item.is-active::before { display:none; }

    .dde-blog-contact-sidebar__button { min-height:46px; }

    .dde-blog-related-posts--mobile-stack .dde-blog-related-posts__grid { display:grid; grid-template-columns:1fr; }
    .dde-blog-related-posts--mobile-scroll .dde-blog-related-posts__grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:5px; }
    .dde-blog-related-posts--mobile-scroll .dde-blog-related-posts__grid::-webkit-scrollbar { display:none; }
    .dde-blog-related-posts--mobile-scroll .dde-blog-related-post { flex:0 0 min(84vw,360px); scroll-snap-align:start; }
    .dde-blog-related-posts--mobile-sidebar .dde-blog-related-posts__grid { display:flex; flex-direction:column; }
    .dde-blog-related-posts--mobile-sidebar .dde-blog-related-post { display:grid !important; grid-template-columns:86px minmax(0,1fr) !important; }
    .dde-blog-related-posts--mobile-sidebar .dde-blog-related-post__image { display:block; height:100% !important; min-height:78px; }
    .dde-blog-related-posts--mobile-sidebar .dde-blog-related-post__body { padding:11px !important; }
    .dde-blog-related-posts--mobile-sidebar .dde-blog-related-post__excerpt,
    .dde-blog-related-posts--mobile-sidebar .dde-blog-related-post__category { display:none; }
}

@media (hover:none) and (pointer:coarse) {
    .dde-blog-related-post:hover { transform:none; }
}

/* =========================================================
   Deluxe Blog Artikel – integrated category filter (v2.3.2)
   Desktop reuses the exact Deluxe Blog Kategorien card system.
   ========================================================= */
.dde-blog-posts__filter {
    position:relative;
    width:100%;
    min-width:0;
    overflow:hidden;
    isolation:isolate;
}
.dde-blog-posts-filter__inner { width:100%; margin-inline:auto; }
.dde-blog-posts__filter .dde-blog-categories__intro { margin-bottom:26px; }
.dde-blog-posts__filter .dde-blog-category {
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    margin:0;
    padding:0;
    font:inherit;
    color:inherit;
    cursor:pointer;
    outline:none;
}
.dde-blog-posts__filter .dde-blog-category:focus-visible {
    outline:2px solid var(--dde-blog-cat-accent,#F28A18);
    outline-offset:3px;
}
.dde-blog-posts__filter .dde-blog-category.is-active {
    border-color:var(--dde-blog-cat-accent,#F28A18) !important;
    box-shadow:0 0 0 1px color-mix(in srgb,var(--dde-blog-cat-accent,#F28A18) 55%,transparent),
               0 16px 38px color-mix(in srgb,var(--dde-blog-cat-accent,#F28A18) 14%,transparent);
}
.dde-blog-posts__filter .dde-blog-category.is-active::before { opacity:1; }
.dde-blog-posts-filter__mobile { display:none; }

.dde-blog-posts__grid-wrap {
    position:relative;
    min-width:0;
}
.dde-blog-posts__grid {
    transition:opacity .18s ease, transform .18s ease;
}
.dde-blog-posts.is-filter-loading .dde-blog-posts__grid {
    opacity:.22;
    transform:translateY(3px);
    pointer-events:none;
}
.dde-blog-posts__loading {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    opacity:0;
    transition:opacity .18s ease;
    z-index:8;
}
.dde-blog-posts.is-filter-loading .dde-blog-posts__loading { opacity:1; }
.dde-blog-posts__loading span {
    width:38px;
    height:38px;
    border-radius:50%;
    border:3px solid rgba(255,255,255,.16);
    border-top-color:#F28A18;
    animation:dde-blog-filter-spin .72s linear infinite;
}
@keyframes dde-blog-filter-spin { to { transform:rotate(360deg); } }
.dde-blog-posts__empty {
    grid-column:1 / -1;
    width:100%;
    padding:36px 24px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:rgba(255,255,255,.025);
    text-align:center;
    color:#AAB0B4;
}
.dde-blog-posts__filter-error {
    margin-top:14px;
    padding:12px 16px;
    border:1px solid rgba(242,138,24,.5);
    border-radius:8px;
    color:#F4C58C;
    background:rgba(242,138,24,.08);
}

@media (max-width:767px) {
    .dde-blog-posts__filter {
        overflow:visible;
        isolation:auto;
    }
    .dde-blog-posts__filter .dde-blog-posts-filter__desktop {
        display:none !important;
    }
    .dde-blog-posts-filter__mobile {
        display:block;
        width:100%;
    }
    .dde-blog-posts-filter__mobile-label {
        display:block;
        margin:0 0 8px;
        font-size:.76rem;
        line-height:1.2;
        font-weight:800;
        letter-spacing:.08em;
        text-transform:uppercase;
    }
    .dde-blog-posts-filter__select-wrap {
        position:relative;
        display:flex;
        align-items:center;
        width:100%;
        min-height:60px;
        border:1px solid #2B3A41;
        border-radius:12px;
        overflow:hidden;
        background:#101A1F;
        transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .dde-blog-posts-filter__select-wrap:focus-within {
        transform:translateY(-1px);
    }
    .dde-blog-posts-filter__select {
        appearance:none;
        -webkit-appearance:none;
        width:100%;
        min-width:0;
        height:100%;
        min-height:inherit;
        margin:0;
        padding:0 54px 0 18px;
        border:0;
        outline:0;
        border-radius:inherit;
        background:transparent;
        color:#fff;
        font:inherit;
        font-weight:700;
        cursor:pointer;
    }
    .dde-blog-posts-filter__select option {
        color:#111;
        background:#fff;
    }
    .dde-blog-posts-filter__select-arrow {
        position:absolute;
        top:50%;
        right:18px;
        transform:translateY(-55%);
        display:flex;
        align-items:center;
        justify-content:center;
        width:24px;
        height:24px;
        font-size:1.55rem;
        line-height:1;
        pointer-events:none;
    }
    .dde-blog-posts__filter .dde-blog-categories__intro {
        margin-bottom:18px;
        text-align:left;
    }
}

@media (prefers-reduced-motion:reduce) {
    .dde-blog-posts__grid,
    .dde-blog-posts__loading span,
    .dde-blog-posts-filter__select-wrap { transition:none !important; animation:none !important; }
}

@media (min-width:768px) and (max-width:1024px) {
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__desktop { display:none !important; }
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__mobile { display:block; }
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__mobile-label {
        display:block;
        margin:0 0 8px;
        font-size:.76rem;
        line-height:1.2;
        font-weight:800;
        letter-spacing:.08em;
        text-transform:uppercase;
    }
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__select-wrap {
        position:relative;
        display:flex;
        align-items:center;
        width:100%;
        min-height:60px;
        border:1px solid #2B3A41;
        border-radius:12px;
        overflow:hidden;
        background:#101A1F;
    }
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__select {
        appearance:none;
        -webkit-appearance:none;
        width:100%;
        min-height:inherit;
        margin:0;
        padding:0 54px 0 18px;
        border:0;
        outline:0;
        background:transparent;
        color:#fff;
        font:inherit;
        font-weight:700;
    }
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__select-arrow {
        position:absolute;
        top:50%;
        right:18px;
        transform:translateY(-55%);
        pointer-events:none;
        font-size:1.55rem;
    }
}

/* --------------------------------------------------------------------------
   Deluxe Blog Artikel – custom mobile category dropdown (v2.3.3)
   Replaces the browser-native <select> popup with a fully styled, accessible
   Deluxe menu so Android/iOS/Desktop previews use the same visual language.
   -------------------------------------------------------------------------- */
.dde-blog-posts-filter__dropdown {
    position:relative;
    width:100%;
    min-width:0;
    z-index:30;
}
.dde-blog-posts-filter__trigger {
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    min-width:0;
    min-height:60px;
    margin:0;
    padding:8px 10px 8px 18px;
    border:1px solid #2B3A41;
    border-radius:12px;
    background:#101A1F;
    color:#fff;
    font:inherit;
    text-align:left;
    cursor:pointer;
    outline:none;
    box-shadow:0 10px 26px rgba(0,0,0,.12);
    transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease;
}
.dde-blog-posts-filter__trigger:hover {
    border-color:color-mix(in srgb,#65C6D4 55%,#2B3A41);
}
.dde-blog-posts-filter__trigger:focus-visible,
.dde-blog-posts-filter__dropdown.is-open .dde-blog-posts-filter__trigger {
    transform:translateY(-1px);
}
.dde-blog-posts-filter__trigger-label {
    display:block;
    min-width:0;
    flex:1 1 auto;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:700;
}
.dde-blog-posts-filter__trigger-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:1px solid rgba(101,198,212,.25);
    border-radius:10px;
    background:rgba(101,198,212,.10);
    color:#65C6D4;
    font-size:16px;
    line-height:1;
    transition:transform .22s ease, background-color .22s ease, border-color .22s ease;
}
.dde-blog-posts-filter__trigger-icon i,
.dde-blog-posts-filter__trigger-icon svg {
    display:block;
    margin:0;
    line-height:1;
}
.dde-blog-posts-filter__trigger-icon svg {
    width:1em;
    height:1em;
    fill:currentColor;
    stroke:currentColor;
}
.dde-blog-posts-filter__dropdown.is-open .dde-blog-posts-filter__trigger-icon {
    transform:rotate(180deg);
}
.dde-blog-posts-filter__menu {
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    z-index:1000;
    width:100%;
    max-height:min(360px,55vh);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:7px;
    border:1px solid #2B3A41;
    border-radius:12px;
    background:#101A1F;
    box-shadow:0 22px 55px rgba(0,0,0,.45), 0 2px 0 rgba(255,255,255,.025) inset;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    scrollbar-width:thin;
    scrollbar-color:rgba(101,198,212,.45) transparent;
}
.dde-blog-posts-filter__menu[hidden] { display:none !important; }
.dde-blog-posts-filter__dropdown.is-open .dde-blog-posts-filter__menu {
    animation:dde-blog-filter-menu-in .18s ease-out both;
}
@keyframes dde-blog-filter-menu-in {
    from { opacity:0; transform:translateY(-6px) scale(.985); }
    to { opacity:1; transform:translateY(0) scale(1); }
}
.dde-blog-posts-filter__option {
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:100%;
    margin:0;
    padding:13px 14px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#E8EDF0;
    font:inherit;
    text-align:left;
    cursor:pointer;
    outline:none;
    transition:background-color .16s ease, color .16s ease, transform .16s ease;
}
.dde-blog-posts-filter__option + .dde-blog-posts-filter__option {
    margin-top:2px;
}
.dde-blog-posts-filter__option:hover,
.dde-blog-posts-filter__option:focus-visible {
    background:rgba(255,255,255,.06);
}
.dde-blog-posts-filter__option:focus-visible {
    box-shadow:0 0 0 1px rgba(101,198,212,.5) inset;
}
.dde-blog-posts-filter__option.is-selected {
    background:rgba(242,138,24,.12);
    color:#fff;
}
.dde-blog-posts-filter__option-text {
    min-width:0;
    flex:1 1 auto;
    overflow-wrap:anywhere;
}
.dde-blog-posts-filter__option-mark {
    width:8px;
    height:8px;
    flex:0 0 8px;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 1px rgba(255,255,255,.16);
    transition:background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.dde-blog-posts-filter__option.is-selected .dde-blog-posts-filter__option-mark {
    background:var(--dde-blog-cat-accent,#F28A18);
    box-shadow:0 0 0 4px color-mix(in srgb,var(--dde-blog-cat-accent,#F28A18) 16%,transparent);
    transform:scale(1.05);
}

@media (max-width:767px) {
    .dde-blog-posts__filter,
    .dde-blog-posts-filter__inner,
    .dde-blog-posts-filter__mobile {
        overflow:visible !important;
    }
}

@media (min-width:768px) and (max-width:1024px) {
    .dde-blog-posts__filter--dropdown-tablet,
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__inner,
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__mobile {
        overflow:visible !important;
    }
}

@media (prefers-reduced-motion:reduce) {
    .dde-blog-posts-filter__trigger,
    .dde-blog-posts-filter__trigger-icon,
    .dde-blog-posts-filter__option,
    .dde-blog-posts-filter__dropdown.is-open .dde-blog-posts-filter__menu {
        transition:none !important;
        animation:none !important;
    }
}

/* --------------------------------------------------------------------------
   Deluxe Blog Artikel – mobile filter hardening (v2.3.4)
   Elementor previews/themes can impose global button layout rules. These rules
   intentionally lock only the dropdown's structural properties while keeping
   all user-facing colours/sizes configurable through CSS custom properties.
   -------------------------------------------------------------------------- */
@media (max-width:767px) {
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__mobile {
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__mobile-label {
        display:block !important;
        width:100% !important;
        margin:0 0 9px !important;
        color:var(--dde-bpf-label-color,#65C6D4) !important;
        text-align:left !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__dropdown {
        position:relative !important;
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        z-index:100 !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__trigger {
        position:relative !important;
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        align-content:normal !important;
        gap:14px !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        min-height:var(--dde-bpf-trigger-height,60px) !important;
        height:auto !important;
        margin:0 !important;
        padding:9px 11px 9px 18px !important;
        box-sizing:border-box !important;
        border-width:1px !important;
        border-style:solid !important;
        border-color:var(--dde-bpf-trigger-border,#2B3A41) !important;
        border-radius:var(--dde-bpf-radius,12px) !important;
        background:var(--dde-bpf-trigger-bg,#101A1F) !important;
        color:var(--dde-bpf-trigger-color,#FFFFFF) !important;
        text-align:left !important;
        line-height:1.25 !important;
        white-space:normal !important;
        text-decoration:none !important;
        text-transform:none !important;
        letter-spacing:normal;
        cursor:pointer !important;
        overflow:visible !important;
        box-shadow:0 10px 28px rgba(0,0,0,.16) !important;
        appearance:none !important;
        -webkit-appearance:none !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__trigger::before,
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__trigger::after {
        content:none !important;
        display:none !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__trigger:hover {
        transform:none !important;
        border-color:var(--dde-bpf-focus,#F28A18) !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__trigger:focus-visible,
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__dropdown.is-open button.dde-blog-posts-filter__trigger {
        transform:none !important;
        border-color:var(--dde-bpf-focus,#F28A18) !important;
        box-shadow:0 0 0 2px color-mix(in srgb,var(--dde-bpf-focus,#F28A18) 22%,transparent),0 12px 30px rgba(0,0,0,.20) !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__trigger-label {
        display:block !important;
        flex:1 1 auto !important;
        order:1 !important;
        width:auto !important;
        max-width:calc(100% - 54px) !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        color:var(--dde-bpf-trigger-color,#FFFFFF) !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        line-height:1.25 !important;
        text-align:left !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__trigger-icon {
        position:static !important;
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:center !important;
        order:2 !important;
        flex:0 0 var(--dde-bpf-icon-box,38px) !important;
        width:var(--dde-bpf-icon-box,38px) !important;
        height:var(--dde-bpf-icon-box,38px) !important;
        min-width:var(--dde-bpf-icon-box,38px) !important;
        min-height:var(--dde-bpf-icon-box,38px) !important;
        margin:0 !important;
        padding:0 !important;
        box-sizing:border-box !important;
        border-width:1px !important;
        border-style:solid !important;
        border-color:var(--dde-bpf-icon-border,rgba(101,198,212,.25)) !important;
        border-radius:var(--dde-bpf-icon-radius,10px) !important;
        background:var(--dde-bpf-icon-bg,rgba(101,198,212,.10)) !important;
        color:var(--dde-bpf-icon-color,#65C6D4) !important;
        font-size:var(--dde-bpf-icon-size,16px) !important;
        line-height:1 !important;
        overflow:hidden !important;
        transform:none;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__dropdown--icon-plain .dde-blog-posts-filter__trigger-icon {
        flex-basis:30px !important;
        width:30px !important;
        min-width:30px !important;
        height:30px !important;
        min-height:30px !important;
        border-color:transparent !important;
        background:transparent !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__trigger-icon i,
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__trigger-icon svg {
        display:block !important;
        flex:0 0 auto !important;
        width:var(--dde-bpf-icon-size,16px) !important;
        height:var(--dde-bpf-icon-size,16px) !important;
        margin:0 !important;
        padding:0 !important;
        color:currentColor !important;
        font-size:inherit !important;
        line-height:1 !important;
        fill:currentColor;
        stroke:currentColor;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__trigger-icon svg.dde-blog-posts-filter__chevron {
        fill:none !important;
        stroke:currentColor !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__trigger-icon i::before {
        display:block !important;
        margin:0 !important;
        line-height:1 !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__dropdown.is-open .dde-blog-posts-filter__trigger-icon {
        transform:rotate(180deg) !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__menu {
        position:absolute !important;
        top:calc(100% + var(--dde-bpf-menu-gap,8px)) !important;
        left:0 !important;
        right:auto !important;
        display:block;
        width:100% !important;
        min-width:100% !important;
        max-width:100% !important;
        max-height:min(360px,55vh) !important;
        margin:0 !important;
        padding:6px !important;
        box-sizing:border-box !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
        border-width:1px !important;
        border-style:solid !important;
        border-color:var(--dde-bpf-menu-border,#2B3A41) !important;
        border-radius:var(--dde-bpf-radius,12px) !important;
        background:var(--dde-bpf-menu-bg,#101A1F) !important;
        box-shadow:0 24px 60px rgba(0,0,0,.52) !important;
        z-index:9999 !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__menu[hidden] {
        display:none !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__dropdown.is-open .dde-blog-posts-filter__menu:not([hidden]) {
        display:block !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option {
        position:relative !important;
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:14px !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        min-height:46px !important;
        margin:0 !important;
        padding:var(--dde-bpf-option-pt,13px) var(--dde-bpf-option-pr,14px) var(--dde-bpf-option-pb,13px) var(--dde-bpf-option-pl,14px) !important;
        box-sizing:border-box !important;
        border:0 !important;
        border-radius:8px !important;
        outline:0 !important;
        background:transparent !important;
        color:var(--dde-bpf-option-color,#E8EDF0) !important;
        text-align:left !important;
        text-decoration:none !important;
        text-transform:none !important;
        line-height:1.3 !important;
        white-space:normal !important;
        cursor:pointer !important;
        box-shadow:none !important;
        appearance:none !important;
        -webkit-appearance:none !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option::before,
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option::after {
        content:none !important;
        display:none !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option + button.dde-blog-posts-filter__option {
        margin-top:2px !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option:hover,
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option:focus-visible {
        transform:none !important;
        background:var(--dde-bpf-option-hover,rgba(255,255,255,.06)) !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option.is-selected {
        background:var(--dde-bpf-option-active-bg,rgba(242,138,24,.12)) !important;
        color:var(--dde-bpf-option-active-color,#FFFFFF) !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__option-text {
        display:block !important;
        flex:1 1 auto !important;
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow-wrap:break-word !important;
        word-break:normal !important;
        white-space:normal !important;
    }
    .dde-blog-posts .dde-blog-posts__filter .dde-blog-posts-filter__option-mark {
        position:relative !important;
        display:block !important;
        flex:0 0 18px !important;
        width:18px !important;
        height:18px !important;
        min-width:18px !important;
        margin:0 !important;
        border:1px solid rgba(255,255,255,.20) !important;
        border-radius:50% !important;
        background:transparent !important;
        box-shadow:none !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option.is-selected .dde-blog-posts-filter__option-mark {
        border-color:var(--dde-blog-cat-accent,#F28A18) !important;
        background:var(--dde-blog-cat-accent,#F28A18) !important;
        box-shadow:0 0 0 4px color-mix(in srgb,var(--dde-blog-cat-accent,#F28A18) 14%,transparent) !important;
    }
    .dde-blog-posts .dde-blog-posts__filter button.dde-blog-posts-filter__option.is-selected .dde-blog-posts-filter__option-mark::after {
        content:"" !important;
        position:absolute !important;
        left:5px !important;
        top:2px !important;
        display:block !important;
        width:5px !important;
        height:9px !important;
        border:solid #fff !important;
        border-width:0 2px 2px 0 !important;
        transform:rotate(45deg) !important;
    }
}

@media (min-width:768px) and (max-width:1024px) {
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__mobile {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__dropdown {
        position:relative !important;
        width:100% !important;
        min-width:0 !important;
    }
    .dde-blog-posts__filter--dropdown-tablet button.dde-blog-posts-filter__trigger {
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        align-items:center !important;
        justify-content:space-between !important;
        width:100% !important;
        min-width:0 !important;
    }
    .dde-blog-posts__filter--dropdown-tablet .dde-blog-posts-filter__menu {
        position:absolute !important;
        left:0 !important;
        width:100% !important;
        min-width:100% !important;
    }
    .dde-blog-posts__filter--dropdown-tablet button.dde-blog-posts-filter__option {
        display:flex !important;
        flex-direction:row !important;
        width:100% !important;
        min-width:0 !important;
    }
}
