/**
 * Elementor Override CSS - Ohne !important
 * Stadt Dorsten Theme
 *
 * Diese Datei überschreibt Elementor-Styles durch höhere CSS-Spezifität
 * anstatt !important zu verwenden
 */

/* =======================
   SCHRIFTARTEN ÜBERSCHREIBEN
   ======================= */

/* Höhere Spezifität für alle Elementor-Elemente */
.elementor-page .elementor .elementor-widget-container,
.elementor-page .elementor .elementor-widget-container *,
.elementor-page .elementor-section,
.elementor-page .elementor-column,
.elementor-page h1,
.elementor-page h2,
.elementor-page h3,
.elementor-page h4,
.elementor-page h5,
.elementor-page h6,
.elementor-page p,
.elementor-page span,
.elementor-page div {
    font-family: var(--schrift-primär);
}

/* WICHTIG: Font Awesome Icons müssen ihre eigene Schriftart behalten */
.elementor-page .elementor .elementor-widget-container .fa,
.elementor-page .elementor .elementor-widget-container .fas,
.elementor-page .elementor .elementor-widget-container .far,
.elementor-page .elementor .elementor-widget-container .fab,
.elementor-page .elementor .elementor-widget-container .fal,
.elementor-page .elementor .elementor-widget-container .fad,
.elementor-page .elementor .elementor-widget-container .fat,
.elementor-page .elementor .elementor-widget-container .fass,
.elementor-page .elementor .elementor-widget-container .fasr,
.elementor-page .elementor .elementor-widget-container .fasl,
.elementor-page .elementor .elementor-widget-container .fast,
.elementor-page .elementor .elementor-widget-container i[class*="fa-"] {
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
}

/* Elementor Icons müssen ihre eigene Schriftart behalten */
.elementor-page .elementor .elementor-widget-container .eicon,
.elementor-page .elementor .elementor-widget-container i[class*="eicon-"] {
    font-family: "eicons";
}

/* Spezifische Elementor-Widget-Container */
.elementor-page .elementor-widget-text-editor,
.elementor-page .elementor-widget-heading,
.elementor-page .elementor-widget-button {
    font-family: var(--schrift-primär);
}

/* Text-Editor Widget */
.elementor-page .elementor-widget-text-editor .elementor-widget-container {
    font-family: var(--schrift-primär);
    font-size: 1rem;
    line-height: 1.6;
    color: #575756;
}

/* Überschriften in Elementor */
.elementor-page .elementor-widget-heading .elementor-heading-title {
    font-family: var(--schrift-primär);
    color: #575756;
}

.elementor-page .elementor-widget-heading h1.elementor-heading-title { font-size: 3rem; font-weight: 600; }
.elementor-page .elementor-widget-heading h2.elementor-heading-title { font-size: 2.25rem; font-weight: 600; }
.elementor-page .elementor-widget-heading h3.elementor-heading-title { font-size: 1.75rem; font-weight: 600; }
.elementor-page .elementor-widget-heading h4.elementor-heading-title { font-size: 1.4rem; font-weight: 600; }
.elementor-page .elementor-widget-heading h5.elementor-heading-title { font-size: 1.15rem; font-weight: 600; }
.elementor-page .elementor-widget-heading h6.elementor-heading-title { font-size: 1rem; font-weight: 600; }

/* Button Widget */
.elementor-page .elementor-widget-button .elementor-button {
    font-family: var(--schrift-primär);
    font-size: 1rem;
    background-color: #80B022;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.elementor-page .elementor-widget-button .elementor-button:hover {
    background-color: #6a9a1d;
}

/* =======================
   LINKS ÜBERSCHREIBEN
   ======================= */

.elementor-page .elementor-widget-container a {
    color: #80B022;
    text-decoration: none;
    transition: color 0.3s ease;
}

.elementor-page .elementor-widget-container a:hover {
    color: #6a9a1d;
    text-decoration: underline;
}

/* =======================
   LISTEN ÜBERSCHREIBEN
   ======================= */

.elementor-page .elementor-widget-text-editor ul {
    list-style-type: square;
    margin: 0 0 1.5em 1.5em;
    padding-left: 1.5em;
}

.elementor-page .elementor-widget-text-editor ol {
    margin: 0 0 1.5em 1.5em;
    padding-left: 1.5em;
}

.elementor-page .elementor-widget-text-editor li {
    margin-bottom: 0.5em;
    line-height: 1.6;
}

/* =======================
   ABSTÄNDE ÜBERSCHREIBEN
   ======================= */

.elementor-page .elementor-widget-text-editor p {
    margin-bottom: 1.2em;
    line-height: 1.6;
    /* WICHTIG: Ausrichtung vom Container erben, damit Elementor-Einstellungen (links/zentriert/rechts) wirken */
    text-align: inherit;
    hyphens: auto;
}

.elementor-page .elementor-section {
    margin-bottom: 2rem;
}

.elementor-page .elementor-widget {
    margin-bottom: 1.5rem;
}

/* =======================
   RESPONSIVE ANPASSUNGEN
   ======================= */

@media screen and (max-width: 768px) {
    .elementor-page .elementor-widget-heading h1.elementor-heading-title { font-size: 2.4rem; }
    .elementor-page .elementor-widget-heading h2.elementor-heading-title { font-size: 2rem; }
    .elementor-page .elementor-widget-heading h3.elementor-heading-title { font-size: 1.55rem; }
    .elementor-page .elementor-widget-heading h4.elementor-heading-title { font-size: 1.3rem; }
    .elementor-page .elementor-widget-heading h5.elementor-heading-title { font-size: 1.05rem; }
    .elementor-page .elementor-widget-heading h6.elementor-heading-title { font-size: 0.95rem; }

    .elementor-page .elementor-widget-text-editor {
        font-size: 0.95rem;
    }
}

@media screen and (max-width: 480px) {
    .elementor-page .elementor-widget-heading h1.elementor-heading-title { font-size: 2rem; }
    .elementor-page .elementor-widget-heading h2.elementor-heading-title { font-size: 1.7rem; }
    .elementor-page .elementor-widget-heading h3.elementor-heading-title { font-size: 1.45rem; }
    .elementor-page .elementor-widget-heading h4.elementor-heading-title { font-size: 1.25rem; }
    .elementor-page .elementor-widget-heading h5.elementor-heading-title { font-size: 1rem; }
    .elementor-page .elementor-widget-heading h6.elementor-heading-title { font-size: 0.9rem; }
}

/**
 * Weitere Elementor-Override-Techniken
 */

/* =======================
   FALLBACK FÜR ÄLTERE ELEMENTOR-VERSIONEN
   ======================= */

/* Für ältere Elementor-Versionen ohne .elementor-page */
body.elementor-default .elementor .elementor-widget-container,
body.elementor-default .elementor .elementor-widget-container *,
body:not(.elementor-page) .elementor .elementor-widget-container,
body:not(.elementor-page) .elementor .elementor-widget-container * {
    font-family: 'Segoe UI', sans-serif;
}

/* WICHTIG: Font Awesome Icons auch für ältere Elementor-Versionen */
body.elementor-default .elementor .elementor-widget-container .fa,
body.elementor-default .elementor .elementor-widget-container .fas,
body.elementor-default .elementor .elementor-widget-container .far,
body.elementor-default .elementor .elementor-widget-container .fab,
body.elementor-default .elementor .elementor-widget-container .fal,
body.elementor-default .elementor .elementor-widget-container .fad,
body.elementor-default .elementor .elementor-widget-container .fat,
body.elementor-default .elementor .elementor-widget-container .fass,
body.elementor-default .elementor .elementor-widget-container .fasr,
body.elementor-default .elementor .elementor-widget-container .fasl,
body.elementor-default .elementor .elementor-widget-container .fast,
body.elementor-default .elementor .elementor-widget-container i[class*="fa-"],
body:not(.elementor-page) .elementor .elementor-widget-container .fa,
body:not(.elementor-page) .elementor .elementor-widget-container .fas,
body:not(.elementor-page) .elementor .elementor-widget-container .far,
body:not(.elementor-page) .elementor .elementor-widget-container .fab,
body:not(.elementor-page) .elementor .elementor-widget-container .fal,
body:not(.elementor-page) .elementor .elementor-widget-container .fad,
body:not(.elementor-page) .elementor .elementor-widget-container .fat,
body:not(.elementor-page) .elementor .elementor-widget-container .fass,
body:not(.elementor-page) .elementor .elementor-widget-container .fasr,
body:not(.elementor-page) .elementor .elementor-widget-container .fasl,
body:not(.elementor-page) .elementor .elementor-widget-container .fast,
body:not(.elementor-page) .elementor .elementor-widget-container i[class*="fa-"] {
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
}

/* Elementor Icons auch für ältere Versionen */
body.elementor-default .elementor .elementor-widget-container .eicon,
body.elementor-default .elementor .elementor-widget-container i[class*="eicon-"],
body:not(.elementor-page) .elementor .elementor-widget-container .eicon,
body:not(.elementor-page) .elementor .elementor-widget-container i[class*="eicon-"] {
    font-family: "eicons";
}

/* =======================
   ATTRIBUT-SELEKTOREN FÜR HÖHERE SPEZIFITÄT
   ======================= */

/* Elementor Container mit data-Attributen */
[data-elementor-type] .elementor-widget-container,
[data-elementor-type] .elementor-widget-container * {
    font-family: 'Segoe UI', sans-serif;
    color: #575756;
}

/* Spezifische Elementor-Element-Typen */
[data-widget_type^="text-editor"] .elementor-widget-container,
[data-widget_type^="heading"] .elementor-widget-container,
[data-widget_type^="button"] .elementor-widget-container {
    font-family: 'Segoe UI', sans-serif;
}

/* =======================
   CSS-KASKADE NUTZEN
   ======================= */

/* Mehrfache Klassen-Selektoren für höhere Spezifität */
.elementor.elementor .elementor-widget-container {
    font-family: 'Segoe UI', sans-serif;
}

.elementor.elementor .elementor-widget-text-editor .elementor-widget-container {
    font-size: 1rem;
    line-height: 1.6;
}

.elementor.elementor .elementor-widget-heading .elementor-heading-title {
    font-family: 'Segoe UI', sans-serif;
    font-weight: 600;
}

/* =======================
   PSEUDO-KLASSEN FÜR ZUSÄTZLICHE SPEZIFITÄT
   ======================= */

/* :not() Pseudo-Klasse für höhere Spezifität ohne Änderung der Funktionalität */
.elementor-widget:not(.elementor-widget-spacer) .elementor-widget-container {
    font-family: 'Segoe UI', sans-serif;
}

/* ID-ähnliche Spezifität durch Wiederholung der Klasse */
.elementor-page.elementor-page .elementor-widget-container {
    font-family: 'Segoe UI', sans-serif;
}

/* =======================
   CONTAINER-QUERIES VORBEREITUNG
   ======================= */

/* Für zukünftige Browser-Unterstützung */
@supports (container-type: inline-size) {
    .elementor-widget-container {
        container-type: inline-size;
    }

    @container (min-width: 300px) {
        .elementor-widget-container {
            font-family: 'Segoe UI', sans-serif;
        }
    }
}

