/*
 Theme Name:   Avada Child
 Theme URI:    https://polsterei-hm.de
 Description:  Avada Child Theme fuer Polsterei Hoxha & Miller
 Author:       Polsterei HM
 Author URI:   https://polsterei-hm.de
 Template:     Avada
 Version:      4.0.0
 Text Domain:  avada-child
*/

/* ============================================================
   POLSTEREI HM v4 — Clean, Elegant, Proportional
   ============================================================ */

:root {
    --phm-primary: #b8977e;
    --phm-primary-dark: #9a7d66;
    --phm-primary-light: rgba(184,151,126,0.08);
    --phm-bg-warm: #f7f4f0;
    --phm-text: #555;
    --phm-text-light: #999;
    --phm-heading: #2c2c2c;
    --phm-white: #fff;
    --phm-border: rgba(0,0,0,0.07);
    --phm-radius: 6px;
    --phm-transition: 0.2s ease;
}

body { -webkit-font-smoothing: antialiased; }

/* ============================================================
   TYPOGRAPHY — Alles Poppins, proportional, elegant
   ============================================================ */

/* Typografie-Soll: Angleichung an Checklisten-Zielwerte */
.fusion-body h1, .fusion-body .fusion-title h1, .fusion-body .entry-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 40px !important;
    line-height: 1.15 !important;
    color: var(--phm-heading) !important;
    letter-spacing: 0px !important;
}

.fusion-body h2, .fusion-body .fusion-title h2 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    color: var(--phm-heading) !important;
    letter-spacing: 0px !important;
}

.fusion-body h3, .fusion-body .fusion-title h3 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 24px !important;
    line-height: 1.3 !important;
    color: var(--phm-heading) !important;
    letter-spacing: 0px !important;
}

.fusion-body h4, .fusion-body .fusion-title h4 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
}

.fusion-body, .fusion-body .fusion-text, .fusion-body p,
.fusion-body .fusion-text p {
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: var(--phm-text) !important;
}

/* Hero H1 groesser */
.fusion-body .fusion-fullwidth[style*="background"] h1,
.fusion-body .phm-hero-slider h1 {
    font-size: 48px !important;
    line-height: 1.1 !important;
}

/* Hero Subtext */
.fusion-body .fusion-fullwidth[style*="background"] p {
    font-size: 15px !important;
}

@media (max-width: 768px) {
    .fusion-body h1, .fusion-body .fusion-title h1 { font-size: 30px !important; }
    .fusion-body h2, .fusion-body .fusion-title h2 { font-size: 26px !important; }
    .fusion-body h3 { font-size: 22px !important; }
    .fusion-body .fusion-fullwidth[style*="background"] h1,
    .fusion-body .phm-hero-slider h1 { font-size: 34px !important; }
    .fusion-body, .fusion-body p { font-size: 16px !important; }
}

/* ============================================================
   HEADER & NAVIGATION
   ============================================================ */

.fusion-header-wrapper { box-shadow: 0 1px 0 var(--phm-border); }
.fusion-logo img { max-height: 45px !important; }

.fusion-main-menu > ul > li > a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    color: var(--phm-heading) !important;
    padding: 0 16px !important;
    transition: color var(--phm-transition) !important;
}

.fusion-main-menu > ul > li > a:hover,
.fusion-main-menu > ul > li.current-menu-item > a {
    color: var(--phm-primary) !important;
}

/* Dropdown */
.fusion-main-menu .sub-menu {
    border-top: 2px solid var(--phm-primary) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.07) !important;
    border-radius: 0 0 var(--phm-radius) var(--phm-radius) !important;
    padding: 6px 0 !important;
}

.fusion-main-menu .sub-menu li a {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--phm-text) !important;
    padding: 7px 18px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.fusion-main-menu .sub-menu li a:hover {
    color: var(--phm-primary-dark) !important;
    background: var(--phm-primary-light) !important;
}

/* Avada highlight backgrounds weg */
.fusion-main-menu .fusion-main-menu-icon:after,
.fusion-body .fusion-main-menu > ul > li > a .menu-text-with-bg {
    background: none !important;
}

.fusion-is-sticky .fusion-header {
    box-shadow: 0 2px 16px rgba(0,0,0,0.05) !important;
}

/* ============================================================
   ICONS — clean
   ============================================================ */

.fusion-body .fontawesome-icon {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    height: auto !important;
    width: auto !important;
    line-height: 1 !important;
    color: var(--phm-primary) !important;
}

.fusion-body .fontawesome-icon.circle-yes {
    background: transparent !important;
    border: none !important;
}

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

.fusion-button {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    letter-spacing: 0.3px;
    border-radius: 6px !important;
    padding: 14px 28px !important;
    transition: all var(--phm-transition) !important;
    box-shadow: none !important;
}

.fusion-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 12px rgba(0,0,0,0.08) !important;
}

.fusion-button.button-default, .fusion-button.button-flat {
    background: var(--phm-primary) !important;
    color: var(--phm-white) !important;
    border: none !important;
}

.fusion-button.button-default:hover, .fusion-button.button-flat:hover {
    background: var(--phm-primary-dark) !important;
}

/* ============================================================
   KARTEN & INFOBOXEN
   ============================================================ */

.fusion-column-wrapper[style*="#f7f4f0"],
.fusion-column-wrapper[style*="#f8f5f0"] {
    background: linear-gradient(135deg, #f7f4f0 0%, #f0ebe4 100%) !important;
    border: 1px solid rgba(184,151,126,0.12) !important;
    border-radius: 6px !important;
}

.fusion-layout-column:hover .fusion-column-wrapper[style*="#f7f4f0"],
.fusion-layout-column:hover .fusion-column-wrapper[style*="#f8f5f0"] {
    border-color: rgba(184,151,126,0.25);
}

/* Infobox Titel */
.fusion-column-wrapper[style*="#f7f4f0"] .fusion-title h3,
.fusion-column-wrapper[style*="#f8f5f0"] .fusion-title h3 {
    font-size: 14px !important;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--phm-primary);
    display: inline-block;
}

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

.fusion-body a:not(.fusion-button) { color: var(--phm-primary-dark); }
.fusion-body a:not(.fusion-button):hover { color: var(--phm-heading); }
a[href^="tel:"] { font-weight: 600; white-space: nowrap; }

/* ============================================================
   SEPARATORS & DIVIDERS
   ============================================================ */

.fusion-body .fusion-separator .separator-line {
    border-color: var(--phm-primary) !important;
    opacity: 0.3;
}

.fusion-body .title-sep-container { display: none; }

/* ============================================================
   CHECKLISTE
   ============================================================ */

.fusion-checklist .fusion-li-item {
    padding: 4px 0;
    font-size: 15px !important;
}

/* ============================================================
   ACCORDION / FAQ
   ============================================================ */

.fusion-accordion .panel-title a {
    font-family: 'Poppins', sans-serif;
    font-size: 16px !important;
    font-weight: 500;
    padding: 14px 16px;
    color: var(--phm-heading);
    border-bottom: 1px solid var(--phm-border);
}

.fusion-accordion .panel-body {
    padding: 14px 16px;
    font-size: 15px !important;
    line-height: 1.65;
}

/* ============================================================
   FORMULARE
   ============================================================ */

.fusion-form-form-wrapper input[type="text"],
.fusion-form-form-wrapper input[type="email"],
.fusion-form-form-wrapper input[type="tel"],
.fusion-form-form-wrapper textarea,
.fusion-form-form-wrapper select {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 12px 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px !important;
    background: var(--phm-white);
}

.fusion-form-form-wrapper input::placeholder,
.fusion-form-form-wrapper textarea::placeholder {
    color: #bbb;
}

.fusion-form-form-wrapper input:focus,
.fusion-form-form-wrapper textarea:focus {
    border-color: var(--phm-primary);
    outline: none;
    box-shadow: 0 0 0 2px var(--phm-primary-light);
}

.fusion-form-form-wrapper .fusion-form-submit-button {
    background: var(--phm-primary) !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}

.fusion-form-form-wrapper .fusion-form-submit-button:hover {
    background: var(--phm-primary-dark) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */

.fusion-footer-widget-area {
    padding: 30px 0 12px !important;
}

.fusion-footer-widget-area .widget-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase;
    margin-bottom: 12px !important;
}

.fusion-footer-widget-area p,
.fusion-footer-widget-area li {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 1px !important;
}

.fusion-footer-widget-area a:hover { color: var(--phm-primary) !important; }
.fusion-footer-widget-area ul { list-style: none; padding: 0; }
.fusion-footer-widget-area li { padding: 2px 0; }

.fusion-copyright-content {
    padding: 10px 0 !important;
    font-size: 14px !important;
}

/* ============================================================
   BILDER & GALERIE
   ============================================================ */

.fusion-imageframe img {
    width: 100%; height: auto; display: block;
    border-radius: var(--phm-radius);
}

.fusion-imageframe { overflow: hidden; border-radius: var(--phm-radius); }

.phm-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

@media (max-width: 768px) {
    .phm-gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
}

.phm-gallery-item { display: none; overflow: hidden; border-radius: var(--phm-radius); }
.phm-gallery-item.visible { display: block; }
.phm-gallery-item img { aspect-ratio: 3/2; object-fit: cover; transition: transform 0.3s; }
.phm-gallery-item:hover img { transform: scale(1.03); }

.phm-gallery-nav {
    display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 16px;
}

.phm-gallery-nav button {
    background: none; border: 1px solid #ddd; border-radius: var(--phm-radius);
    padding: 8px 18px; font-family: 'Poppins', sans-serif; font-size: 14px;
    cursor: pointer; color: var(--phm-heading); transition: all var(--phm-transition);
}

.phm-gallery-nav button:hover { border-color: var(--phm-primary); color: var(--phm-primary); }
.phm-gallery-nav button:disabled { opacity: 0.3; cursor: default; }
.phm-gallery-nav .phm-page-info { font-size: 14px; color: var(--phm-text-light); }

/* ============================================================
   TRUST BAR & PROZESS
   ============================================================ */

.fusion-body .fusion-title span[style*="font-size: 36px"],
.fusion-body .fusion-title span[style*="font-size: 30px"] {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700;
    font-size: 24px !important;
    color: var(--phm-heading);
}

.fusion-body p[style*="font-size: 48px"],
.fusion-body p[style*="font-size: 40px"] {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 300 !important;
    font-size: 32px !important;
    color: var(--phm-primary) !important;
    opacity: 0.5;
}

/* ============================================================
   SPACING
   ============================================================ */

.fusion-fullwidth { margin-bottom: 0 !important; }
.fusion-body .fusion-builder-row { max-width: 1100px; }
.fusion-text ul, .fusion-text ol { padding-left: 18px; margin-bottom: 12px; }
.fusion-text li { margin-bottom: 4px; line-height: 1.6; font-size: 15px !important; }
.fusion-animated { animation-duration: 0.4s !important; }

/* ============================================================
   MOBILE CTA BAR
   ============================================================ */

@media (max-width: 768px) {
    .mobile-cta-bar {
        position: fixed; bottom: 0; left: 0; right: 0;
        background: var(--phm-heading); display: flex; z-index: 99999;
    }
    .mobile-cta-bar a {
        flex: 1; text-align: center; padding: 10px 6px; color: var(--phm-white);
        text-decoration: none; font-family: 'Poppins', sans-serif;
        font-size: 14px; font-weight: 500; text-transform: uppercase;
        border-right: 1px solid rgba(255,255,255,0.08);
    }
    .mobile-cta-bar a:last-child { border-right: none; }
    .mobile-cta-bar a i { display: block; font-size: 14px; margin-bottom: 2px; }
    body { padding-bottom: 50px; }
}

/* ============================================================
   BLOG
   ============================================================ */

.single-post h1, .single-post h2, .single-post h3,
.single-post .entry-title {
    font-family: 'Poppins', sans-serif !important;
}

.fusion-body .related-posts { padding-top: 16px; border-top: 1px solid var(--phm-border); }
.fusion-body .related-posts .fusion-carousel-nav { display: none !important; }

/* Kontaktseite Icons */
.fusion-body .fa-phone-alt, .fusion-body .fa-envelope, .fusion-body .fa-map-marker-alt {
    font-size: 24px !important;
}

/* ============================================================
   MOBILE FIXES v4.1
   ============================================================ */

@media (max-width: 768px) {
    /* Container padding reduzieren */
    .fusion-fullwidth {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Hero kompakter */
    .fusion-fullwidth[style*="background_image"],
    .fusion-fullwidth[style*="background-image"] {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    /* Trust-Bar kompakter auf Mobile */
    .fusion-layout-column .fusion-title span {
        font-size: 20px !important;
    }

    /* Service-Karten: mehr Abstand zwischen */
    .fusion-layout-column {
        margin-bottom: 10px !important;
    }

    /* Buttons volle Breite auf Mobile */
    .fusion-button {
        width: 100%;
        text-align: center;
        margin-left: 0 !important;
    }

    /* Sidebar Infobox: volle Breite */
    .fusion-column-wrapper[style*="#f7f4f0"],
    .fusion-column-wrapper[style*="#f8f5f0"] {
        margin-top: 20px;
    }

    /* Galerie: 2 Spalten */
    .phm-gallery-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 6px !important;
    }

    /* Abstände global reduzieren */
    .fusion-fullwidth[style*="padding_top"] {
        padding-top: 25px !important;
    }
    .fusion-fullwidth[style*="padding_bottom"] {
        padding-bottom: 25px !important;
    }
}

@media (max-width: 480px) {
    .fusion-body h1, .fusion-body .fusion-title h1 {
        font-size: 26px !important;
    }
    .fusion-body h2, .fusion-body .fusion-title h2 {
        font-size: 22px !important;
    }
    .fusion-body .fusion-fullwidth[style*="background"] h1,
    .fusion-body .phm-hero-slider h1 {
        font-size: 28px !important;
    }
    .fusion-body, .fusion-body p {
        font-size: 15px !important;
    }

    /* Galerie auf kleinen Screens */
    .phm-gallery-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ============================================================
   AVADA INLINE STYLE OVERRIDES
   Avada setzt inline font-sizes die unser CSS ueberschreiben
   ============================================================ */

/* Diese !important Regeln ueberschreiben Avada inline styles */
.fusion-body .fusion-title h1[style],
.fusion-body .fusion-title h2[style],
.fusion-body .fusion-title h3[style] {
    font-family: 'Poppins', sans-serif !important;
}

/* Avada responsive typography calculated */
.fusion-body [data-fontsize] {
    font-family: 'Poppins', sans-serif !important;
}

.fusion-body .fusion-responsive-typography-calculated {
    font-family: 'Poppins', sans-serif !important;
}

/* Avada setzt manchmal Cormorant Garamond inline */
.fusion-body [style*="Cormorant"] {
    font-family: 'Poppins', sans-serif !important;
}

/* ============================================================
   HERO → TRUST-BAR: Sauberer Übergang, kein grauer Balken
   ============================================================ */

.fusion-body .phm-trust-bar {
    border: none !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.04) !important;
    position: relative;
    z-index: 5;
}

/* ============================================================
   STANDORT-TICKER / FLIESSBAND
   ============================================================ */

.phm-ticker-wrap {
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}

.phm-ticker-track {
    display: flex;
    gap: 0;
    animation: phm-ticker 30s linear infinite;
    width: max-content;
}

.phm-ticker-item {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    margin: 0 6px;
    background: #f7f4f0;
    border-radius: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #2c2c2c;
    white-space: nowrap;
    letter-spacing: 0.2px;
}

.phm-ticker-item::before {
    content: '•';
    color: var(--phm-primary);
    margin-right: 8px;
    font-size: 16px;
}

@keyframes phm-ticker {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 768px) {
    .phm-ticker-item {
        padding: 8px 14px;
        font-size: 14px;
        margin: 0 4px;
    }
    .phm-ticker-track {
        animation-duration: 20s;
    }
}

/* ============================================================
   PROZESS-KARTEN — Exaktes Raster
   Avada fontawesome-icon + fusion_text pro Karte
   ============================================================ */

/* Karten: gleiche Höhe, Flexbox-Spalte, subtiler Schatten */
.fusion-body .phm-process .fusion-layout-column .fusion-column-wrapper {
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* Avada-Icon innerhalb der Prozesskarten: fixe Höhe für Ausrichtung */
.fusion-body .phm-process .fontawesome-icon {
    height: 28px !important;
    width: auto !important;
    line-height: 28px !important;
    font-size: 22px !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Step-Container: internes Layout */
.phm-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
}

/* Nummer */
.phm-step-num {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #b8977e;
    letter-spacing: 0.5px;
    height: 18px;
    line-height: 18px;
    margin-bottom: 8px;
}

/* Headline: fixe Höhe für Baseline-Alignment */
.phm-step-title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #2c2c2c;
    line-height: 1.3;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}

/* Beschreibung */
.phm-step-desc {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #888;
    line-height: 1.6;
}

/* fusion_text Reset innerhalb Prozesskarten */
.fusion-body .phm-process .fusion-text,
.fusion-body .phm-process .fusion-text p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
}

@media (max-width: 768px) {
    .phm-step-title {
        height: auto;
        margin-bottom: 6px;
        font-size: 14px;
    }
    .phm-step-desc {
        font-size: 14px;
    }
}

/* ============================================================
   HERO CROSSFADE SLIDER
   Zwei Bilder wechseln sanft (ruhig, hochwertig)
   ============================================================ */

.fusion-body .phm-hero-slider {
    position: relative;
    overflow: hidden;
}

.fusion-body .phm-hero-slider::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('https://polsterei-hm.de/wp-content/uploads/2026/04/sofa-dunkelgruen-samt-01.webp');
    background-size: cover;
    background-position: center center;
    animation: phm-hero-fade 12s ease-in-out infinite;
    z-index: 0;
}

.fusion-body .phm-hero-slider::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45));
    z-index: 1;
}

.fusion-body .phm-hero-slider .fusion-builder-row {
    position: relative;
    z-index: 2;
}

@keyframes phm-hero-fade {
    0%, 40%   { opacity: 0; }
    50%, 90%  { opacity: 1; }
    100%      { opacity: 0; }
}

/* Hero-Text muss immer hell sein */
.fusion-body .phm-hero-slider h1,
.fusion-body .phm-hero-slider p,
.fusion-body .phm-hero-slider .fusion-text p {
    color: #fff !important;
}

.fusion-body .phm-hero-slider .fusion-text p[style*="color: #CEB19C"],
.fusion-body .phm-hero-slider p[style*="#CEB19C"] {
    color: #CEB19C !important;
}

/* ============================================================
   VISUELLE FIXES (Review-Punkte)
   ============================================================ */

/* Trust-Bar enger an Hero: negativen Margin beibehalten, Padding reduzieren */
.fusion-builder-row-1 .fusion-fullwidth:nth-child(2) {
    padding-top: 30px !important;
    padding-bottom: 20px !important;
    margin-top: -40px !important;
}

/* Leistungen-Karten: saubere Typografie, konsistente Hoehe */
.fusion-layout-column[style*="#f8f5f0"] .fusion-title h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
}

.fusion-layout-column[style*="#f8f5f0"] .fusion-text p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Prozess-Bereich: weniger Leerraum */
.fusion-body .fusion-fullwidth[style*="#f8f5f0"][style*="padding_top: 60px"],
.fusion-body .fusion-fullwidth[style*="#f8f5f0"][style*="padding-top: 60px"] {
    padding-top: 40px !important;
    padding-bottom: 30px !important;
}

/* Blog: Typo-Konsistenz erzwingen */
.single-post .post-content h1,
.single-post .post-content h2,
.single-post .post-content h3,
.single-post .post-content h4,
.single-post .post-content p,
.single-post .post-content li,
.single-post .post-content blockquote {
    font-family: 'Poppins', sans-serif !important;
}

/* Blog: Related Posts sauberer */
.fusion-body .related-posts {
    padding: 20px 0 !important;
    border-top: 1px solid var(--phm-border);
}

.fusion-body .related-posts h3 {
    font-size: 15px !important;
    margin-bottom: 15px !important;
}

/* Galerie: Beschriftungen nicht abschneiden */
.phm-gallery-item {
    position: relative;
}

.phm-gallery-item figcaption,
.phm-gallery-item .gallery-item-caption {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    padding: 6px 8px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

/* Footer */
.fusion-footer-widget-area {
    padding: 32px 0 12px !important;
}

.fusion-footer-widget-area .widget-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 1px !important;
    margin-bottom: 12px !important;
}

.fusion-footer-widget-area p,
.fusion-footer-widget-area li,
.fusion-footer-widget-area a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.fusion-copyright-content {
    padding: 12px 0 !important;
    font-size: 14px !important;
    font-family: 'Poppins', sans-serif !important;
}

/* Spacing-Fixes: Leerraum reduzieren */
.fusion-body .fusion-fullwidth[style*="padding_bottom: 60px"],
.fusion-body .fusion-fullwidth[style*="padding-bottom: 60px"] {
    padding-bottom: 40px !important;
}

.fusion-body .fusion-fullwidth[style*="padding_top: 60px"],
.fusion-body .fusion-fullwidth[style*="padding-top: 60px"] {
    padding-top: 40px !important;
}

/* ============================================================
   GRAUE RAENDER / TRENNLINIEN ZWISCHEN BEREICHEN ENTFERNEN
   ============================================================ */

/* Avada setzt default border auf fullwidth Containers */
.fusion-body .fusion-fullwidth {
    border: none !important;
    border-color: transparent !important;
}

/* Footer-Divider-Linie: sauber statt grau */
.fusion-body .fusion-footer {
    border-top: none !important;
}

.fusion-body .fusion-footer-widget-area {
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

/* Section-Separator Avada default */
.fusion-body .fusion-separator {
    opacity: 0.15 !important;
}

/* Template Builder Footer: Poppins + saubere Typo */
.fusion-body .fusion-tb-footer .fusion-text,
.fusion-body .fusion-tb-footer .fusion-text p,
.fusion-body .fusion-tb-footer a {
    font-family: 'Poppins', sans-serif !important;
}

/* Template Builder Footer copyright */
.fusion-body .fusion-tb-footer .fusion-text[style*="font_size"] p,
.fusion-body .fusion-tb-footer .fusion-text p {
    font-size: 14px !important;
    letter-spacing: 0.3px;
}

/* Avada Accordion/Toggle: Poppins + Cormorant Override */
.fusion-body .accordian .panel-title a,
.fusion-body .accordian .panel-body,
.fusion-body .accordian .panel-body p,
.fusion-body .fusion-toggle .panel-title a,
.fusion-body .fusion-toggle .panel-body p {
    font-family: 'Poppins', sans-serif !important;
}

.fusion-body .accordian .panel-body,
.fusion-body .accordian .panel-body p {
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ============================================================
   GLOBAL FONT CONSISTENCY
   Alle Avada-Elemente auf Poppins zwingen
   ============================================================ */

.fusion-body .fusion-widget-area *,
.fusion-body .fusion-footer-widget-area *,
.fusion-body .fusion-sliding-bar-area *,
.fusion-body .fusion-main-menu *,
.fusion-body .fusion-mobile-menu *,
.fusion-body .fusion-mobile-nav-holder *,
.fusion-body .fusion-tb-footer * {
    font-family: 'Poppins', sans-serif !important;
}

/* Icon-Fonts NICHT mit Poppins überschreiben */
.fusion-body .fontawesome-icon,
.fusion-body .fas,
.fusion-body .far,
.fusion-body .fab,
.fusion-body .fa-solid,
.fusion-body .fa-regular,
.fusion-body .fa-brands,
.fusion-body i[class*="fa-"] {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "awb-icons" !important;
}
.fusion-body .fas,
.fusion-body .fa-solid {
    font-weight: 900 !important;
}

/* ============================================================
   COOKIE-BANNER (Moove GDPR) — Marken-Anpassung
   ============================================================ */

#moove_gdpr_cookie_modal,
#moove_gdpr_cookie_info_bar,
.moove-gdpr-modal-content,
.gdpr_cookie_settings_shortcode_content {
    font-family: 'Poppins', sans-serif !important;
}

#moove_gdpr_cookie_info_bar {
    background: #2c2c2c !important;
    border-top: 2px solid #b8977e !important;
    font-family: 'Poppins', sans-serif !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #ccc !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all,
#moove_gdpr_cookie_info_bar span.change-settings-button,
#moove_gdpr_cookie_info_bar button.change-settings-button {
    background: #b8977e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 10px 20px !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all:hover,
#moove_gdpr_cookie_info_bar span.change-settings-button:hover,
#moove_gdpr_cookie_info_bar button.change-settings-button:hover {
    background: #9a7d66 !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content {
    font-family: 'Poppins', sans-serif !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-button-holder a.mgbutton,
#moove_gdpr_cookie_modal .moove-gdpr-button-holder button.mgbutton {
    background: #b8977e !important;
    border-color: #b8977e !important;
    border-radius: 6px !important;
    font-family: 'Poppins', sans-serif !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-button-holder a.mgbutton:hover,
#moove_gdpr_cookie_modal .moove-gdpr-button-holder button.mgbutton:hover {
    background: #9a7d66 !important;
    border-color: #9a7d66 !important;
}

/* Moove close icon */
#moove_gdpr_cookie_modal .moove-gdpr-modal-close i,
#moove_gdpr_cookie_info_bar .moove-gdpr-close {
    color: #b8977e !important;
    border-color: #b8977e !important;
}

/* Mobile CTA Bar icon fix */
.mobile-cta-bar a i {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

