/* StromFlex24 – Block Styles (Frontend) */

/* ── Basis Blöcke ── */
.wp-block-paragraph { font-family: 'Outfit', sans-serif; font-size: 15px; line-height: 1.8; }

.wp-block-heading {
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #0D1B0F;
    line-height: 1.15;
}

/* ── Buttons ── */
.wp-block-button__link {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    border-radius: 100px !important;
    padding: 13px 24px !important;
    transition: all .25s !important;
    box-shadow: 0 8px 24px rgba(232,130,26,.25) !important;
}
.wp-block-button__link:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(232,130,26,.4) !important;
}
.has-amber-background-color .wp-block-button__link { color: #fff !important; }

/* ── Bilder ── */
.wp-block-image img { border-radius: 14px; }
.wp-block-image figcaption { font-size: 13px; color: #6B7B6E; font-family: 'Outfit', sans-serif; }

/* ── Zitat ── */
.wp-block-quote {
    background: #F5F2ED;
    border-left: 4px solid #E8821A;
    border-radius: 0 12px 12px 0;
    padding: 16px 20px;
    font-style: italic;
    color: #6B7B6E;
    margin: 20px 0;
}
.wp-block-quote cite { font-size: 13px; font-style: normal; font-weight: 700; color: #0D1B0F; }

/* ── Tabellen ── */
.wp-block-table table {
    border-collapse: collapse;
    width: 100%;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
}
.wp-block-table td, .wp-block-table th {
    border: 1px solid #D8D2C8;
    padding: 10px 14px;
    text-align: left;
}
.wp-block-table th { background: #0D1B0F; color: #fff; font-weight: 700; }
.wp-block-table tr:nth-child(even) td { background: #F5F2ED; }

/* ── Cover ── */
.wp-block-cover { border-radius: 20px; overflow: hidden; }

/* ── Separator ── */
.wp-block-separator { border: none; border-top: 1px solid #D8D2C8; }

/* ── Spalten ── */
.wp-block-columns { gap: clamp(20px, 3vw, 40px); }

/* ── Galerie ── */
.wp-block-gallery .wp-block-image img { border-radius: 10px; }

/* ── Code ── */
.wp-block-code {
    background: #F5F2ED;
    border: 1px solid #D8D2C8;
    border-radius: 10px;
    font-size: 13px;
    padding: 16px;
}

/* ── Pullquote ── */
.wp-block-pullquote {
    border-top: 3px solid #E8821A;
    border-bottom: 3px solid #E8821A;
    padding: 24px;
    text-align: center;
}
.wp-block-pullquote blockquote p {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 700;
    color: #0D1B0F;
    line-height: 1.4;
    font-style: normal;
}

/* ── SF24 Farben als Klassen ── */
.has-ink-background-color    { background-color: #0D1B0F !important; }
.has-amber-background-color  { background-color: #E8821A !important; }
.has-paper-background-color  { background-color: #F5F2ED !important; }
.has-ink-color               { color: #0D1B0F !important; }
.has-amber-color             { color: #E8821A !important; }
.has-muted-color             { color: #6B7B6E !important; }
.has-blue-color              { color: #1A6FC4 !important; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .wp-block-columns { flex-direction: column; }
}

/* ══════════════════════════════════════════
   ELEMENTOR KOMPATIBILITÄT
   SF24 CI bleibt erhalten
══════════════════════════════════════════ */

/* Elementor Section Boxed = 1180px max */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1180px;
}

/* Elementor Buttons – SF24 Stil */
.elementor-button {
    font-family: "Outfit", sans-serif !important;
    border-radius: 100px !important;
    font-weight: 700 !important;
    transition: all .25s !important;
    letter-spacing: 0 !important;
}
.elementor-button:hover {
    transform: translateY(-2px) !important;
}

/* Elementor Button – Amber Variante */
.elementor-button.sf24-btn-amber,
.e-btn-amber .elementor-button {
    background-color: #E8821A !important;
    color: #fff !important;
    box-shadow: 0 8px 28px rgba(232,130,26,.32) !important;
}
/* Elementor Button – Dark Variante */
.elementor-button.sf24-btn-dark,
.e-btn-dark .elementor-button {
    background-color: #0D1B0F !important;
    color: #fff !important;
}
.e-btn-dark .elementor-button:hover {
    background-color: #E8821A !important;
}

/* Elementor Überschriften */
.elementor-widget-heading .elementor-heading-title {
    font-family: "Outfit", sans-serif !important;
    letter-spacing: -0.5px;
    line-height: 1.15;
}

/* Elementor Text-Editor */
.elementor-widget-text-editor {
    font-family: "Outfit", sans-serif;
    line-height: 1.8;
    font-size: 15px;
}

/* Elementor Image – gerundete Ecken */
.elementor-widget-image img {
    border-radius: 14px;
}

/* Elementor Icon Box */
.elementor-icon-box-content .elementor-icon-box-title {
    font-family: "Outfit", sans-serif !important;
    font-weight: 700;
}

/* Elementor Divider */
.elementor-divider-separator {
    border-color: #D8D2C8;
}

/* Elementor Akkordeon */
.elementor-accordion .elementor-accordion-title {
    font-family: "Outfit", sans-serif !important;
    font-weight: 700;
    color: #0D1B0F;
}

/* Elementor Tabs */
.elementor-tab-title {
    font-family: "Outfit", sans-serif !important;
    font-weight: 700;
}

/* SF24 Sektion Klassen für Elementor Sections */
/* Nutzung: Section → Erweitert → CSS-Klassen → "sf24-section-dark" */
.sf24-section-dark {
    background-color: #0D1B0F !important;
    color: #fff;
}
.sf24-section-dark h1,.sf24-section-dark h2,.sf24-section-dark h3,
.sf24-section-dark h4,.sf24-section-dark p {
    color: #fff;
}

.sf24-section-paper {
    background-color: #F5F2ED !important;
}

.sf24-section-amber {
    background-color: #E8821A !important;
    color: #fff;
}

/* SF24 Widget-Klassen für Elementor-Widgets */
/* Nutzung: Widget → Erweitert → CSS-Klassen → "sf24-card" */
.sf24-card {
    background: #fff;
    border: 1px solid #D8D2C8;
    border-radius: 20px;
    padding: clamp(22px, 3.5vw, 36px);
    transition: all .22s;
}
.sf24-card:hover {
    box-shadow: 0 4px 32px rgba(13,27,15,.12);
    transform: translateY(-4px);
    border-color: #E8821A;
}

/* SF24 Pill Label für Elementor-Texte */
.sf24-pill-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(232,130,26,.12);
    border: 1px solid rgba(232,130,26,.28);
    color: #E8821A;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 6px 16px;
    border-radius: 100px;
    margin-bottom: 14px;
    font-family: "Outfit", sans-serif;
}

/* Elementor Fullwidth Seiten – kein extra Padding */
.sf24-elementor-page .elementor-section {
    position: relative;
}

/* Elementor Testimonials */
.elementor-testimonial-wrapper {
    font-family: "Outfit", sans-serif;
}

/* Elementor Counter */
.elementor-counter-number-wrapper {
    font-family: "Outfit", sans-serif !important;
    font-weight: 900 !important;
    color: #E8821A;
    letter-spacing: -1px;
}

/* Elementor Progress Bar */
.elementor-progress-bar {
    background-color: #E8821A;
    border-radius: 100px;
}

/* Elementor Seiten ohne Header/Footer (Fullwidth Template) */
body.elementor-template-full-width #sf24-header,
body.elementor-template-full-width #sf24-footer {
    display: none;
}

/* Mobile Elementor Fixes */
@media (max-width: 768px) {
    .elementor-column-gap-default > .elementor-row {
        gap: 16px;
    }
    .elementor-section.elementor-section-boxed > .elementor-container {
        padding-left: 16px;
        padding-right: 16px;
    }
}
