.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-4360 .elementor-element.elementor-element-74bf07a .elementor-icon-wrapper{text-align:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4360 .elementor-element.elementor-element-1286e79 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-905c1d5 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-6856c6e .elementor-icon-wrapper{text-align:center;}.elementor-widget-countdown .elementor-countdown-item{background-color:var( --e-global-color-primary );}.elementor-widget-countdown .elementor-countdown-digits{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-countdown .elementor-countdown-label{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-countdown .elementor-countdown-expire--message{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-4360 .elementor-element.elementor-element-f25c156 .elementor-countdown-wrapper{max-width:100%;}body:not(.rtl) .elementor-4360 .elementor-element.elementor-element-f25c156 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-4360 .elementor-element.elementor-element-f25c156 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-4360 .elementor-element.elementor-element-f25c156 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-4360 .elementor-element.elementor-element-f25c156 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 10px/2 );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4360 .elementor-element.elementor-element-5390584 .elementor-countdown-wrapper{max-width:100%;}body:not(.rtl) .elementor-4360 .elementor-element.elementor-element-5390584 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-4360 .elementor-element.elementor-element-5390584 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-4360 .elementor-element.elementor-element-5390584 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-4360 .elementor-element.elementor-element-5390584 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 10px/2 );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.products-heading-show .related-products > h2, .elementor-widget-woocommerce-products.products-heading-show .upsells > h2, .elementor-widget-woocommerce-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4360 .elementor-element.elementor-element-34838c3.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-4360 .elementor-element.elementor-element-34838c3.elementor-wc-products ul.products li.product span.onsale{display:block;}.elementor-4360 .elementor-element.elementor-element-606ab46 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-14cd4f8 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-fc30efd .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-f0bafb7 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-e609a53 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-f280dad .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-42503a7 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-8357e5d .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-0a0a2fe .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-490fdcc .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-c092c25 .elementor-icon-wrapper{text-align:center;}.elementor-4360 .elementor-element.elementor-element-c092c25.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-4360 .elementor-element.elementor-element-c092c25.elementor-view-framed .elementor-icon, .elementor-4360 .elementor-element.elementor-element-c092c25.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4360 .elementor-element.elementor-element-c092c25.elementor-view-framed .elementor-icon, .elementor-4360 .elementor-element.elementor-element-c092c25.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-4360 .elementor-element.elementor-element-cf4ff01 .elementor-icon-wrapper{text-align:center;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-4360 .elementor-element.elementor-element-34838c3.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-4360 .elementor-element.elementor-element-34838c3.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS *//* ============================================================
   MY-FEUERWERK 2026 – BEREINIGTES GLOBAL CSS
   Stand: 06.09.2026
   Elementor = Struktur/Klassen, dieses CSS = Layout/Design
   ============================================================ */


/* ==============================
   MY-FEUERWERK 2026 – INFO BAR
   ============================== */

.mf-info-bar {
    width: 100%;
    background: #171717;
    border-top: 1px solid #2A2A2A;
    border-bottom: 1px solid #2A2A2A;
}

.mf-info-bar-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: stretch;

    padding: 0;
    gap: 0;
}

.mf-info-item {
    flex: 1 1 25%;

    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 2px;

    align-items: center;

    padding: 18px 22px;
    min-height: 82px;
}

.mf-info-item:not(:first-child) {
    border-left: 1px solid #2A2A2A;
}

/* Icon */
.mf-info-item .elementor-widget-icon {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    margin: 0;
}

.mf-info-item .elementor-icon {
    color: #FF4D1F;
    font-size: 26px;
}

/* Überschrift */
.mf-info-item .elementor-widget-heading {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}

.mf-info-item .elementor-heading-title,
.mf-info-item .elementor-widget-heading * {
    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}

/* Text */
.mf-info-item .elementor-widget-text-editor {
    grid-column: 2;
    grid-row: 2;
    margin: 0;

    color: #B9B9B9;
    font-family: "Lato", sans-serif;
    font-size: 12.5px;
    line-height: 1.4;
}

.mf-info-item .elementor-widget-text-editor p {
    margin: 0;
}

/* Tablet */
@media (max-width: 1024px) {
    .mf-info-bar-inner {
        flex-wrap: wrap;
    }

    .mf-info-item {
        flex: 1 1 50%;
    }

    .mf-info-item:nth-child(3) {
        border-left: 0;
    }

    .mf-info-item:nth-child(n+3) {
        border-top: 1px solid #2A2A2A;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .mf-info-bar-inner {
        flex-direction: column;
    }

    .mf-info-item {
        flex: 1 1 auto;
        width: 100%;
        border-left: 0 !important;
        border-top: 1px solid #2A2A2A;
        padding: 14px 18px;
        min-height: 0;
    }

    .mf-info-item:first-child {
        border-top: 0;
    }
}


/* ==============================
   MY-FEUERWERK 2026 – COUNTDOWN
   ============================== */

.mf-countdown-section {
    width: 100%;
    padding: 64px 24px;
    background:
        radial-gradient(circle at 20% 20%, rgba(255,77,31,.09), transparent 32%),
        #111111;
}

.mf-countdown-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: flex;
    gap: 24px;
    align-items: stretch;
}

.mf-countdown-card {
    flex: 1 1 50%;
    position: relative;
    overflow: hidden;

    padding: 34px 34px 32px 38px;

    background:
        linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),
        #1D1D1D;

    border: 1px solid #2A2A2A;
    border-radius: 12px;

    box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

.mf-countdown-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;

    background: linear-gradient(
        180deg,
        #FF4D1F 0%,
        #FF7A1A 100%
    );
}

/* kleiner Kicker oben */
.mf-countdown-card .mf-countdown-kicker .elementor-heading-title {
    color: #FF4D1F;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .16em;
    text-transform: uppercase;
}

/* große Überschrift */
.mf-countdown-card .mf-countdown-title .elementor-heading-title {
    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 2.5vw, 38px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.02em;
}

/* Beschreibung */
.mf-countdown-card .mf-countdown-copy {
    color: #B9B9B9;
    font-family: "Lato", sans-serif;
    font-size: 14px;
    line-height: 1.55;
}

.mf-countdown-card .mf-countdown-copy p {
    margin-bottom: 0;
}

/* Elementor Countdown Widget */
.mf-countdown-card .elementor-countdown-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;

    margin: 24px 0;
}

.mf-countdown-card .elementor-countdown-item {
    padding: 16px 8px;

    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
}

.mf-countdown-card .elementor-countdown-digits {
    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 2.4vw, 38px);
    font-weight: 800;
    line-height: 1;
}

.mf-countdown-card .elementor-countdown-label {
    margin-top: 7px;

    color: #9F9F9F;
    font-family: "Lato", sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Buttons */
.mf-countdown-card .mf-countdown-button .elementor-button {
    min-height: 48px;
    padding: 14px 22px;

    background: linear-gradient(
        135deg,
        #FF4D1F,
        #FF7A1A
    );

    border-radius: 7px;

    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;

    box-shadow: none;

    transition:
        transform .2s ease,
        filter .2s ease;
}

.mf-countdown-card .mf-countdown-button .elementor-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
}

/* Tablet */
@media (max-width: 1024px) {

    .mf-countdown-section {
        padding: 54px 22px;
    }

    .mf-countdown-inner {
        flex-direction: column;
    }

    .mf-countdown-card {
        flex: 1 1 auto;
        width: 100%;
    }
}

/* Mobile */
@media (max-width: 767px) {

    .mf-countdown-section {
        padding: 42px 16px;
    }

    .mf-countdown-card {
        padding: 26px 22px 24px 26px;
    }

    .mf-countdown-card .elementor-countdown-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* ==============================
   COUNTDOWN – ELEMENTOR OVERRIDES
   ============================== */

/* Elementor Standard-Hintergründe neutralisieren */
.mf-countdown-card .elementor-countdown-item {
    background: rgba(255,255,255,.035) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: #fff !important;
}

/* Zahlen */
.mf-countdown-card .elementor-countdown-digits {
    color: #fff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(28px, 2.4vw, 38px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Beschriftungen */
.mf-countdown-card .elementor-countdown-label {
    color: #9f9f9f !important;
    font-family: "Lato", sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

/* Countdown-Felder etwas ruhiger */
.mf-countdown-card .elementor-countdown-wrapper {
    gap: 12px !important;
}

.mf-countdown-card .elementor-countdown-item {
    padding: 18px 8px !important;
    border-radius: 8px !important;
}

/* Button-Widget komplett neutralisieren */
.mf-countdown-card .elementor-widget-button {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Button selbst */
.mf-countdown-card .mf-countdown-button .elementor-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Elementor Editor-/Widget-Rahmen sollen nicht optisch ins Layout eingreifen */
.mf-countdown-card .elementor-widget-container {
    border: 0 !important;
    outline: 0 !important;
}

/* etwas mehr Luft zwischen Text und Countdown */
.mf-countdown-card .mf-countdown-copy {
    margin-bottom: 6px;
}

/* =========================================
   MF 2026 – COUNTDOWN + INFO FINAL TUNING
   ========================================= */

/* INFO BAR:
   Icon orange, Überschrift weiß */
.mf-info-item .elementor-icon {
    color: #FF4D1F !important;
}

.mf-info-item .elementor-heading-title,
.mf-info-item .elementor-widget-heading * {
    color: #FFFFFF !important;
}

/* COUNTDOWN:
   Kicker orange */
.mf-countdown-card .mf-countdown-kicker .elementor-heading-title {
    color: #FF4D1F !important;
}

/* Hauptüberschrift weiß */
.mf-countdown-card .mf-countdown-title .elementor-heading-title {
    color: #FFFFFF !important;
}

/* Karten als vertikale Flexbox,
   damit Buttons unten sauber ausgerichtet sind */
.mf-countdown-card {
    display: flex !important;
    flex-direction: column !important;
}

/* Button nach unten drücken */
.mf-countdown-card .mf-countdown-button {
    margin-top: auto !important;
    padding-top: 24px;
}

/* etwas kompaktere Karten */
.mf-countdown-card {
    min-height: 0 !important;
}

/* Countdown-Zahlen */
.mf-countdown-card .elementor-countdown-digits {
    font-variant-numeric: tabular-nums;
}

/* Karten-Hover sehr dezent */
.mf-countdown-card {
    transition: border-color .25s ease, transform .25s ease;
}

.mf-countdown-card:hover {
    border-color: rgba(255,77,31,.35);
    transform: translateY(-2px);
}


/* =========================================
   MY-FEUERWERK 2026 – KATEGORIEN
   ========================================= */

.mf-categories-section {
    width: 100%;
    padding: 72px 24px;
    background: #111111;
}

.mf-categories-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.mf-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.mf-section-head-left {
    max-width: 760px;
}

.mf-section-kicker,
.mf-section-kicker * {
    color: #FF4D1F !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.mf-section-title,
.mf-section-title * {
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
}

.mf-section-copy {
    color: #B9B9B9 !important;
    font-family: "Lato", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.mf-category-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.mf-category-card {
    position: relative;
    overflow: hidden;
    min-height: 300px;
    border-radius: 12px;
    border: 1px solid #2A2A2A;
    background: #1D1D1D;
    box-shadow: 0 18px 40px rgba(0,0,0,.22);
}

.mf-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.72) 0%,
        rgba(0,0,0,.38) 30%,
        rgba(0,0,0,.10) 58%,
        rgba(0,0,0,0) 78%
    );
    pointer-events: none;
}

.mf-category-card .elementor-widget-image img {
    filter: saturate(1.08) contrast(1.03);
}

.mf-category-card .elementor-widget-image,
.mf-category-card .elementor-widget-image .elementor-widget-container,
.mf-category-card .elementor-widget-image img {
    width: 100%;
    height: 100%;
}

.mf-category-card .elementor-widget-image {
    position: absolute !important;
    inset: 0;
    margin: 0 !important;
}

.mf-category-card .elementor-widget-image img {
    object-fit: cover;
    transition: transform .45s ease;
}

.mf-category-card:hover .elementor-widget-image img {
    transform: scale(1.045);
}

.mf-category-content {
    position: absolute !important;
    z-index: 2;
    left: 24px;
    right: 24px;
    bottom: 22px;
}

.mf-category-title .elementor-heading-title {
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}

.mf-category-copy {
    color: rgba(255,255,255,.72) !important;
    font-family: "Lato", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.mf-category-link .elementor-button {
    background: transparent !important;
    color: #FFFFFF !important;
    padding: 0 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.mf-category-link .elementor-button:hover {
    color: #FF4D1F !important;
}

@media (max-width: 1024px) {
    .mf-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .mf-categories-section {
        padding: 52px 16px;
    }

    .mf-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .mf-category-grid {
        grid-template-columns: 1fr;
    }

    .mf-category-card {
        min-height: 250px;
    }
}


/* =========================================
   MY-FEUERWERK 2026 – PRODUKT-HIGHLIGHTS
   ========================================= */

.mf-highlights-section {
    width: 100%;
    padding: 76px 24px;
    background: #171717;
}

.mf-highlights-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

.mf-highlight-more .elementor-button {
    background: transparent !important;
    color: #FFFFFF !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;

    transition: color .2s ease;
}

.mf-highlight-more .elementor-button:hover {
    color: #FF4D1F !important;
}


/* =========================================
   HIGHLIGHT PRODUCTS – FLATSOME / ELEMENTOR FINAL
   WICHTIG: Bild-Geometrie von Flatsome nicht überschreiben.
   ========================================= */

.mf-highlight-products {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0;
    background: #111111 !important;
}

.mf-highlight-products > .e-con-inner,
.mf-highlight-products .elementor-widget-container,
.mf-highlight-products .woocommerce {
    background: #111111 !important;
}

.mf-highlight-products .products.row {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 8px 0 0 !important;
    justify-content: center !important;
}

/* Desktop: 6 Produkte in einer Reihe */
.mf-highlight-products .product-small.col {
    flex: 0 0 16.6667% !important;
    max-width: 16.6667% !important;
    padding: 7px !important;
}

/* Karte */
.mf-highlight-products .product-small.col > .col-inner {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    background: #1D1D1D !important;
    border: 1px solid #2A2A2A !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.24) !important;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.mf-highlight-products .product-small.col > .col-inner:hover {
    transform: translateY(-4px);
    border-color: rgba(255,77,31,.42) !important;
    box-shadow: 0 20px 44px rgba(0,0,0,.30) !important;
}

.mf-highlight-products .product-small.box {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 10px !important;
    background: transparent !important;
}

/* Produktinformationen */
.mf-highlight-products .box-text.box-text-products {
    padding: 10px 12px 6px !important;
    background: #1D1D1D !important;
}

.mf-highlight-products .category {
    color: #818181 !important;
    font-family: "Lato", sans-serif !important;
    font-size: 9px !important;
    line-height: 1.3 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.mf-highlight-products .name.product-title,
.mf-highlight-products .name.product-title a {
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.mf-highlight-products .price-wrapper {
    margin-top: 8px !important;
}

.mf-highlight-products .price,
.mf-highlight-products .price .amount {
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

/* Germanized */
.mf-highlight-products .wc-gzd-additional-info {
    color: #888888 !important;
    font-family: "Lato", sans-serif !important;
    padding: 2px 12px 0 !important;
    margin: 0 !important;
    font-size: 8.5px !important;
    line-height: 1.25 !important;
}

/* Button – bestehender Catalog-Mode bzw. später Add-to-Cart */
.mf-highlight-products .button {
    margin: 8px 12px 12px !important;
    padding: 8px 10px !important;
    min-height: 32px !important;
    background: #242424 !important;
    border: 1px solid #353535 !important;
    border-radius: 6px !important;
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

.mf-highlight-products .button:hover {
    background: #FF4D1F !important;
    border-color: #FF4D1F !important;
}

/* Nur den doppelten direkten Loop-Button ausblenden.
   Flatsome .add-to-cart-button bleibt erhalten. */
.mf-highlight-products .product-small.col > .col-inner > a.button.product_type_simple {
    display: none !important;
}

/* Badge */
.mf-highlight-products .badge-container {
    z-index: 5 !important;
}

.mf-highlight-products .badge {
    margin: 12px !important;
}

.mf-highlight-products .badge-inner {
    background: #FF4D1F !important;
    color: #FFFFFF !important;
    border-radius: 5px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

@media (max-width: 1024px) {
    .mf-highlight-products .product-small.col {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
    }
}

@media (max-width: 767px) {
    .mf-highlight-products .product-small.col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding: 8px !important;
    }
}


/* =========================================
   MY-FEUERWERK 2026 – WARUM MY-FEUERWERK
   ========================================= */

.mf-why-section {
    width: 100%;
    padding: 72px 24px;
    background: #151515;
}

.mf-why-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}

/* Vorteilskarten */
.mf-why-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.mf-why-card {
    position: relative;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    min-height: 190px;
    padding: 26px 24px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.025),
            rgba(255,255,255,.008)
        ),
        #1D1D1D;

    border: 1px solid #2A2A2A;
    border-radius: 10px;

    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}

.mf-why-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255,77,31,.42);

    background:
        linear-gradient(
            145deg,
            rgba(255,77,31,.045),
            rgba(255,255,255,.008)
        ),
        #1D1D1D;
}

/* Icon */
.mf-why-icon {
    margin-bottom: 18px;
}

.mf-why-icon .elementor-icon {
    color: #FF4D1F !important;
    font-size: 30px !important;
}

/* Titel */
.mf-why-title {
    margin-bottom: 8px !important;
}

.mf-why-title .elementor-heading-title {
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    margin: 0 !important;
}

/* Beschreibung */
.mf-why-copy,
.mf-why-copy p,
.mf-why-copy .elementor-widget-container {
    color: #AFAFAF !important;

    font-family: "Lato", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.55 !important;

    margin: 0 !important;
}

.mf-why-copy p {
    margin-bottom: 0 !important;
}

/* dezenter Glow oben */
.mf-why-card::before {
    content: "";
    position: absolute;

    top: -1px;
    left: 24px;

    width: 42px;
    height: 2px;

    background: #FF4D1F;

    opacity: .85;
}

/* Tablet */
@media (max-width: 1024px) {

    .mf-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */
@media (max-width: 767px) {

    .mf-why-section {
        padding: 54px 16px;
    }

    .mf-why-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mf-why-card {
        min-height: 0;
        padding: 22px 20px;
    }
}

/* WHY-BLOCK – FEINSCHLIFF */

.mf-why-section .mf-section-title,
.mf-section-title * {
    font-size: clamp(30px, 2.4vw, 40px) !important;
    line-height: 1.08 !important;
}

.mf-why-card {
    min-height: 165px !important;
    padding: 22px 20px !important;
}

.mf-why-icon {
    margin-bottom: 12px !important;
}

.mf-why-icon .elementor-icon {
    font-size: 28px !important;
}

.mf-why-title {
    margin-bottom: 6px !important;
}

.mf-why-title .elementor-heading-title {
    font-size: 16px !important;
}

.mf-why-copy,
.mf-why-copy p {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}


/* =========================================
   MY-FEUERWERK 2026 – STORY / VERTRAUEN
   ========================================= */

.mf-story-section {
    width: 100%;
    padding: 0;
    background: #0F0F0F;
    overflow: hidden;
}

.mf-story-inner {
    width: 100%;
    max-width: 1400px;
    min-height: 470px;
    margin: 0 auto;

    display: grid !important;
    grid-template-columns: 1.05fr .95fr;

    background: #151515;
    border-top: 1px solid #252525;
    border-bottom: 1px solid #252525;
}

/* ======================
   BILDSEITE
   ====================== */

.mf-story-image {
    position: relative;
    overflow: hidden;
    min-height: 470px;
}

.mf-story-image .elementor-widget-image,
.mf-story-image .elementor-widget-container {
    width: 100%;
    height: 100%;
}

.mf-story-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Verlauf zum Text hin */
.mf-story-image::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.08) 0%,
            rgba(0,0,0,.05) 55%,
            rgba(21,21,21,.78) 100%
        );

    pointer-events: none;
}

/* ======================
   TEXTSEITE
   ====================== */

.mf-story-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    padding: 58px 64px 58px 54px;
}

/* Kicker */
.mf-story-kicker,
.mf-story-kicker * {
    color: #FF4D1F !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;

    line-height: 1.3 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

/* Headline */
.mf-story-title {
    margin-top: 10px !important;
}

.mf-story-title,
.mf-story-title * {
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    font-weight: 800 !important;

    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
}

/* Fließtext */
.mf-story-copy {
    max-width: 590px;

    margin-top: 20px !important;

    color: #B9B9B9 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.mf-story-copy p {
    margin: 0 0 14px !important;
}

.mf-story-copy p:last-child {
    margin-bottom: 0 !important;
}

/* Button */
.mf-story-button {
    margin-top: 26px !important;
}

.mf-story-button .elementor-button {
    padding: 13px 20px !important;

    background: #FF4D1F !important;
    border: 1px solid #FF4D1F !important;
    border-radius: 6px !important;

    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    box-shadow: none !important;

    transition:
        transform .2s ease,
        background .2s ease;
}

.mf-story-button .elementor-button:hover {
    transform: translateY(-2px);
    background: #FF641F !important;
}

/* ======================
   TABLET
   ====================== */

@media (max-width: 1024px) {

    .mf-story-inner {
        grid-template-columns: 1fr 1fr;
    }

    .mf-story-content {
        padding: 44px 36px;
    }
}

/* ======================
   MOBILE
   ====================== */

@media (max-width: 767px) {

    .mf-story-inner {
        display: flex !important;
        flex-direction: column !important;
    }

    .mf-story-image {
        min-height: 320px;
    }

    .mf-story-image::after {
        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.05) 45%,
                rgba(21,21,21,.85) 100%
            );
    }

    .mf-story-content {
        padding: 38px 20px 44px;
    }

    .mf-story-copy {
        font-size: 14px !important;
    }
}


/* =========================================
   MY-FEUERWERK – MARKENSCROLLER
   ========================================= */

.mf-brands-section {
    width: 100%;
    padding: 64px 24px 72px;
    background: #111111;
    overflow: hidden;
}

.mf-brands-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
}


/* =========================================
   HEADER
   ========================================= */

.mf-brand-head {
    width: 100%;

    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-end !important;

    margin-bottom: 28px;
}

.mf-brand-head-left {
    width: 100%;
    max-width: 760px;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}


/* =========================================
   MARQUEE – SICHTBARE BEREICHE
   ========================================= */

.mf-brand-marquee-left,
.mf-brand-marquee-right {
    position: relative;

    width: 100%;
    overflow: hidden;
}

.mf-brand-marquee-right {
    margin-top: 14px;
}


/* =========================================
   FADE AN DEN RÄNDERN
   ========================================= */

.mf-brand-marquee-left::before,
.mf-brand-marquee-left::after,
.mf-brand-marquee-right::before,
.mf-brand-marquee-right::after {
    content: "";
    position: absolute;

    top: 0;
    bottom: 0;

    width: 70px;

    z-index: 5;
    pointer-events: none;
}

.mf-brand-marquee-left::before,
.mf-brand-marquee-right::before {
    left: 0;

    background: linear-gradient(
        90deg,
        #111111 0%,
        rgba(17,17,17,0) 100%
    );
}

.mf-brand-marquee-left::after,
.mf-brand-marquee-right::after {
    right: 0;

    background: linear-gradient(
        270deg,
        #111111 0%,
        rgba(17,17,17,0) 100%
    );
}


/* =========================================
   LAUFENDE TRACKS
   ========================================= */

.mf-brand-track-left,
.mf-brand-track-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;

    width: max-content !important;

    gap: 14px !important;

    will-change: transform;
}

.mf-brand-track-left {
    animation: mfBrandsLeft 34s linear infinite;
}

.mf-brand-track-right {
    animation: mfBrandsRight 38s linear infinite;
}


/* =========================================
   LOGO-KARTEN
   ========================================= */

.mf-brand-item {
    position: relative;

    flex: 0 0 190px !important;

    width: 190px;
    height: 140px;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 8px 10px !important;

    overflow: hidden;

    background: #191919;

    border: 1px solid #2A2A2A;
    border-radius: 9px;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}


/* =========================================
   WEICHER HINTERGRUND-GLOW
   ========================================= */

.mf-brand-item::before {
    content: "";

    position: absolute;

    inset: 12px;

    border-radius: 18px;

    background: radial-gradient(
        circle at center,
        rgba(255,255,255,0.14) 0%,
        rgba(255,255,255,0.06) 38%,
        rgba(255,255,255,0.02) 58%,
        rgba(255,255,255,0) 76%
    );

    opacity: .85;

    pointer-events: none;

    z-index: 0;

    transition:
        opacity .2s ease,
        transform .2s ease;
}


/* =========================================
   HOVER LOGO-KARTE
   ========================================= */

.mf-brand-item:hover {
    transform: translateY(-2px);

    border-color: rgba(255,77,31,.45);

    background: #1D1D1D;
}

.mf-brand-item:hover::before {
    opacity: 1;

    transform: scale(1.05);
}


/* =========================================
   ELEMENTOR BILD-WIDGET
   ========================================= */

.mf-brand-item .elementor-widget-image {
    position: relative;

    z-index: 1;

    width: 100% !important;

    margin: 0 !important;
}

.mf-brand-item .elementor-widget-container {
    width: 100% !important;
}


/* =========================================
   LOGO
   ========================================= */

.mf-brand-item img {
    position: relative;

    z-index: 1;

    display: block;

    width: 100% !important;
    height: 130px !important;

    max-width: 165px !important;

    object-fit: contain !important;
    object-position: center !important;

    margin: 0 auto !important;

    opacity: .96;

    filter:
        brightness(1.06)
        contrast(1.10)
        drop-shadow(0 0 4px rgba(255,255,255,.22))
        drop-shadow(0 0 12px rgba(255,255,255,.12));

    transition:
        transform .2s ease,
        opacity .2s ease,
        filter .2s ease;
}


/* =========================================
   LOGO HOVER
   ========================================= */

.mf-brand-item:hover img {
    transform: scale(1.05);

    opacity: 1;

    filter:
        brightness(1.12)
        contrast(1.12)
        drop-shadow(0 0 7px rgba(255,255,255,.38))
        drop-shadow(0 0 18px rgba(255,255,255,.20));
}


/* =========================================
   ANIMATION
   ========================================= */

@keyframes mfBrandsLeft {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 7px));
    }
}


@keyframes mfBrandsRight {

    from {
        transform: translateX(calc(-50% - 7px));
    }

    to {
        transform: translateX(0);
    }
}


/* =========================================
   BEI HOVER ANHALTEN
   ========================================= */

.mf-brand-marquee-left:hover .mf-brand-track-left,
.mf-brand-marquee-right:hover .mf-brand-track-right {
    animation-play-state: paused;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .mf-brand-item {
        flex: 0 0 175px !important;

        width: 175px;
        height: 125px;

        padding: 8px 10px !important;
    }

    .mf-brand-item img {
        height: 115px !important;

        max-width: 150px !important;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .mf-brands-section {
        padding: 48px 16px 56px;
    }

    .mf-brand-head {
        align-items: flex-start !important;

        margin-bottom: 22px;
    }

    .mf-brand-marquee-left::before,
    .mf-brand-marquee-left::after,
    .mf-brand-marquee-right::before,
    .mf-brand-marquee-right::after {
        width: 30px;
    }

    .mf-brand-marquee-right {
        margin-top: 10px;
    }

    .mf-brand-item {
        flex: 0 0 150px !important;

        width: 150px;
        height: 110px;

        padding: 7px 8px !important;
    }

    .mf-brand-item::before {
        inset: 8px;
    }

    .mf-brand-item img {
        height: 100px !important;

        max-width: 132px !important;
    }

    .mf-brand-track-left {
        animation-duration: 28s;
    }

    .mf-brand-track-right {
        animation-duration: 31s;
    }
}


/* =========================================
   REDUCED MOTION
   ========================================= */

@media (prefers-reduced-motion: reduce) {

    .mf-brand-track-left,
    .mf-brand-track-right {
        animation: none !important;

        transform: none !important;
    }
}

/* =========================================
   MY-FEUERWERK – SO FUNKTIONIERT'S
   ========================================= */

.mf-process-section {
    width: 100%;
    padding: 72px 24px;
    background: #151515;
}

.mf-process-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}


/* =========================================
   HEADER
   ========================================= */

.mf-process-head {
    width: 100%;
    max-width: 800px;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 0 !important;
    margin-bottom: 36px;
}


/* KICKER */

.mf-process-kicker,
.mf-process-kicker * {
    color: #FF4D1F !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: .16em !important;
    text-transform: uppercase !important;

    margin: 0 !important;
}


/* HEADLINE */

.mf-process-heading {
    width: 100% !important;
    margin: 0 !important;
}

.mf-process-heading,
.mf-process-heading * {
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(30px, 3vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;

    letter-spacing: -.025em !important;
}


/* INTROTEXT */

.mf-process-intro {
    width: 100% !important;
    max-width: 720px;

    margin: 12px 0 0 0 !important;
}

.mf-process-intro,
.mf-process-intro * {
    color: #B9B9B9 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.mf-process-intro p {
    margin: 0 !important;
}


/* =========================================
   GRID
   ========================================= */

.mf-process-grid {
    width: 100%;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 16px !important;
}


/* =========================================
   KARTE
   ========================================= */

.mf-process-card {
    position: relative !important;

    min-height: 220px;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    padding: 28px 26px 26px;

    overflow: hidden;

    background: #1B1B1B;

    border: 1px solid #2A2A2A;
    border-radius: 10px;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}


/* ORANGE LINIE OBEN */

.mf-process-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 26px;

    width: 42px;
    height: 2px;

    background: #FF4D1F;
}


/* HOVER */

.mf-process-card:hover {
    transform: translateY(-3px);

    border-color: rgba(255,77,31,.45);

    background: #1F1F1F;
}


/* =========================================
   GROSSE NUMMER
   ========================================= */

.mf-process-number {
    position: absolute !important;

    top: 14px !important;
    right: 14px !important;
    left: auto !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;

    pointer-events: none;

    z-index: 0;
}

.mf-process-number,
.mf-process-number * {
    color: rgba(255,255,255,.14) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 74px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    margin: 0 !important;
}


/* =========================================
   ICON
   ========================================= */

.mf-process-icon {
    position: relative;

    z-index: 2;

    width: auto !important;

    margin: 0 0 22px 0 !important;
}

.mf-process-icon .elementor-icon {
    color: #FF4D1F !important;

    font-size: 30px !important;
}


/* =========================================
   KARTEN-TITEL
   ========================================= */

.mf-process-title {
    position: relative;

    z-index: 2;

    width: 100% !important;
    max-width: calc(100% - 95px) !important;

    margin: 0 0 8px 0 !important;
}

.mf-process-title,
.mf-process-title * {
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}


/* =========================================
   KARTEN-TEXT
   ========================================= */

.mf-process-copy {
    position: relative;

    z-index: 2;

    width: 100% !important;

    margin: 0 !important;
}

.mf-process-copy,
.mf-process-copy * {
    color: #B9B9B9 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}

.mf-process-copy p {
    margin: 0 !important;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .mf-process-section {
        padding: 64px 22px;
    }

    .mf-process-grid {
        gap: 12px !important;
    }

    .mf-process-card {
        min-height: 215px;

        padding: 24px 22px;
    }

    .mf-process-card::before {
        left: 22px;
    }

    .mf-process-number {
        top: 12px !important;
        right: 12px !important;
    }

    .mf-process-number,
    .mf-process-number * {
        font-size: 64px !important;
    }

    .mf-process-title {
        max-width: calc(100% - 82px) !important;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .mf-process-section {
        padding: 52px 16px;
    }

    .mf-process-head {
        margin-bottom: 28px;
    }

    .mf-process-heading,
    .mf-process-heading * {
        font-size: 30px !important;
    }

    .mf-process-intro,
    .mf-process-intro * {
        font-size: 13.5px !important;
    }

    .mf-process-grid {
        grid-template-columns: 1fr;

        gap: 12px !important;
    }

    .mf-process-card {
        min-height: 0;

        padding: 24px 20px;
    }

    .mf-process-card::before {
        left: 20px;
    }

    .mf-process-number {
        top: 12px !important;
        right: 14px !important;
    }

    .mf-process-number,
    .mf-process-number * {
        font-size: 56px !important;
    }

    .mf-process-title {
        max-width: calc(100% - 74px) !important;
    }

    .mf-process-icon {
        margin-bottom: 18px !important;
    }
}


/* =========================================
   MY-FEUERWERK – SAISON CTA
   ========================================= */

.mf-cta-section {
    width: 100%;
    padding: 72px 24px 76px;
    background:
        radial-gradient(
            circle at 18% 30%,
            rgba(255,77,31,.14) 0%,
            rgba(255,77,31,.05) 26%,
            rgba(255,77,31,0) 52%
        ),
        #101010;

    border-top: 1px solid #252525;
    border-bottom: 1px solid #252525;
}

.mf-cta-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: grid !important;
    grid-template-columns: 1.05fr .95fr;

    gap: 54px;

    align-items: center !important;
}


/* =========================================
   CONTENT LINKS
   ========================================= */

.mf-cta-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    max-width: 680px;
}


/* KICKER */

.mf-cta-kicker,
.mf-cta-kicker * {
    color: #FF4D1F !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: .17em !important;
    text-transform: uppercase !important;

    margin: 0 !important;
}


/* HEADLINE */

.mf-cta-heading {
    width: 100% !important;

    margin: 8px 0 0 0 !important;
}

.mf-cta-heading,
.mf-cta-heading * {
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(34px, 3.4vw, 50px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;

    letter-spacing: -.03em !important;
}


/* TEXT */

.mf-cta-copy {
    width: 100% !important;
    max-width: 620px;

    margin: 18px 0 0 0 !important;
}

.mf-cta-copy,
.mf-cta-copy * {
    color: #B9B9B9 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.mf-cta-copy p {
    margin: 0 !important;
}


/* =========================================
   BUTTONS
   ========================================= */

.mf-cta-buttons {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;

    gap: 12px !important;

    margin-top: 26px;
}


/* PRIMARY */

.mf-cta-primary .elementor-button {
    padding: 13px 22px !important;

    background: #FF4D1F !important;

    border: 1px solid #FF4D1F !important;
    border-radius: 6px !important;

    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    box-shadow: none !important;

    transition:
        transform .2s ease,
        background .2s ease;
}

.mf-cta-primary .elementor-button:hover {
    transform: translateY(-2px);

    background: #FF641F !important;
}


/* SECONDARY */

.mf-cta-secondary .elementor-button {
    padding: 13px 22px !important;

    background: transparent !important;

    border: 1px solid #3A3A3A !important;
    border-radius: 6px !important;

    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    box-shadow: none !important;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.mf-cta-secondary .elementor-button:hover {
    transform: translateY(-2px);

    border-color: #FF4D1F !important;

    background: #181818 !important;
}


/* =========================================
   INFO-SEITE RECHTS
   ========================================= */

.mf-cta-info {
    display: flex !important;
    flex-direction: column !important;

    gap: 12px !important;
}


/* EINZELNER INFO-PUNKT */

.mf-cta-info-item {
    position: relative;

    display: grid !important;
    grid-template-columns: 42px 1fr;
    grid-template-rows: auto auto;

    column-gap: 16px;
    row-gap: 2px;

    align-items: center !important;

    min-height: 94px;

    padding: 18px 20px;

    background: #191919;

    border: 1px solid #2A2A2A;
    border-radius: 9px;
}


/* ICON */

.mf-cta-info-item .elementor-widget-icon {
    grid-column: 1;
    grid-row: 1 / 3;

    margin: 0 !important;
}

.mf-cta-info-item .elementor-icon {
    color: #FF4D1F !important;

    font-size: 26px !important;
}


/* INFO-TITEL */

.mf-cta-info-title {
    grid-column: 2;
    grid-row: 1;

    margin: 0 !important;
}

.mf-cta-info-title,
.mf-cta-info-title * {
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}


/* INFO-TEXT */

.mf-cta-info-copy {
    grid-column: 2;
    grid-row: 2;

    margin: 0 !important;
}

.mf-cta-info-copy,
.mf-cta-info-copy * {
    color: #B9B9B9 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

.mf-cta-info-copy p {
    margin: 0 !important;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .mf-cta-inner {
        grid-template-columns: 1fr 1fr;

        gap: 34px;
    }

    .mf-cta-heading,
    .mf-cta-heading * {
        font-size: 38px !important;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .mf-cta-section {
        padding: 54px 16px 58px;
    }

    .mf-cta-inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 34px;
    }

    .mf-cta-heading,
    .mf-cta-heading * {
        font-size: 31px !important;
    }

    .mf-cta-copy,
    .mf-cta-copy * {
        font-size: 14px !important;
    }

    .mf-cta-buttons {
        width: 100%;

        flex-direction: column !important;
        align-items: stretch !important;
    }

    .mf-cta-primary,
    .mf-cta-secondary {
        width: 100% !important;
    }

    .mf-cta-primary .elementor-button,
    .mf-cta-secondary .elementor-button {
        width: 100%;

        justify-content: center;
    }

    .mf-cta-info {
        width: 100%;
    }

    .mf-cta-info-item {
        min-height: 86px;

        padding: 16px 18px;
    }
}

/* =========================================
   MY-FEUERWERK – SOCIAL / UPDATES
   ========================================= */

.mf-social-section {
    width: 100%;
    padding: 72px 24px 76px;

    background:
        radial-gradient(
            circle at 82% 40%,
            rgba(255,77,31,.08) 0%,
            rgba(255,77,31,.025) 30%,
            rgba(255,77,31,0) 58%
        ),
        #111111;

    border-top: 1px solid #252525;
}

.mf-social-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: grid !important;
    grid-template-columns: 1.15fr .85fr;

    gap: 54px;

    align-items: center !important;
}


/* =========================================
   LINKER BEREICH
   ========================================= */

.mf-social-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    max-width: 760px;
}


/* KICKER */

.mf-social-kicker,
.mf-social-kicker * {
    margin: 0 !important;

    color: #FF4D1F !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: .17em !important;
    text-transform: uppercase !important;
}


/* HEADLINE */

.mf-social-heading {
    width: 100% !important;

    margin: 8px 0 0 0 !important;
}

.mf-social-heading,
.mf-social-heading * {
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(32px, 3.1vw, 46px) !important;
    font-weight: 800 !important;
    line-height: 1.06 !important;

    letter-spacing: -.03em !important;
}


/* TEXT */

.mf-social-copy {
    width: 100% !important;
    max-width: 650px;

    margin: 16px 0 0 0 !important;
}

.mf-social-copy,
.mf-social-copy * {
    color: #B9B9B9 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
}

.mf-social-copy p {
    margin: 0 !important;
}


/* =========================================
   SOCIAL-KARTE
   ========================================= */

.mf-social-card {
    position: relative;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    padding: 30px 30px 32px;

    overflow: hidden;

    background: #191919;

    border: 1px solid #2A2A2A;
    border-radius: 10px;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}


/* kleine orange Linie */

.mf-social-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 30px;

    width: 44px;
    height: 2px;

    background: #FF4D1F;
}


.mf-social-card:hover {
    transform: translateY(-2px);

    border-color: rgba(255,77,31,.38);

    background: #1C1C1C;
}


/* SOCIAL-TITEL */

.mf-social-title,
.mf-social-title * {
    margin: 0 !important;

    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}


/* SOCIAL-TEXT */

.mf-social-card-copy {
    margin: 8px 0 0 0 !important;
}

.mf-social-card-copy,
.mf-social-card-copy * {
    color: #B9B9B9 !important;

    font-family: "Lato", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.mf-social-card-copy p {
    margin: 0 !important;
}


/* =========================================
   SOCIAL ICONS
   ========================================= */

.mf-social-links {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;

    gap: 10px !important;

    margin-top: 22px;
}


/* jedes Elementor Icon */

.mf-social-links .elementor-widget-icon {
    width: auto !important;
    margin: 0 !important;
}

.mf-social-links .elementor-icon {
    width: 46px;
    height: 46px;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;

    background: #222222;

    border: 1px solid #343434;
    border-radius: 7px;

    color: #FFFFFF !important;

    font-size: 19px !important;

    transition:
        transform .2s ease,
        color .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.mf-social-links .elementor-icon:hover {
    transform: translateY(-2px);

    color: #FF4D1F !important;

    border-color: rgba(255,77,31,.55);

    background: #202020;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .mf-social-inner {
        grid-template-columns: 1fr 1fr;

        gap: 34px;
    }

    .mf-social-heading,
    .mf-social-heading * {
        font-size: 38px !important;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .mf-social-section {
        padding: 54px 16px 58px;
    }

    .mf-social-inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 30px;
    }

    .mf-social-heading,
    .mf-social-heading * {
        font-size: 31px !important;
    }

    .mf-social-copy,
    .mf-social-copy * {
        font-size: 14px !important;
    }

    .mf-social-card {
        width: 100%;

        padding: 24px 20px 26px;
    }

    .mf-social-card::before {
        left: 20px;
    }
}

.mf-social-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.mf-social-card {
  display: flex;
  align-items: center;
  gap: 10px;

  min-width: 160px;
  min-height: 52px;

  padding: 0 16px;

  background: #171717;
  border: 1px solid #2A2A2A;
  border-radius: 10px;

  transition: all .25s ease;
}

.mf-social-card:hover {
  border-color: #FF4D1F;
  transform: translateY(-2px);
}

.mf-social-card-icon {
  color: #FF4D1F;
  font-size: 19px;
  line-height: 1;
}

.mf-social-card-label {
  margin: 0;
  color: #FFFFFF;

  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .4px;
}

@media (max-width: 767px) {
  .mf-social-links {
    flex-direction: column;
  }

  .mf-social-card {
    width: 100%;
  }
}/* End custom CSS */