/* Custom Styles für die ÖÖL-Quelle Landingpage */
.oel-hero { background: #f5f5f7; padding: 80px 48px; border-radius: 20px; margin-bottom: 20px; text-align: center; }
.oel-card { background: #ffffff; padding: 64px 48px; border-radius: 20px; margin-bottom: 20px; }
.oel-img-box { margin-bottom: 20px; border-radius: 20px; overflow: hidden; background: #ffffff; text-align: center; padding: 56px 40px; }
.oel-line-short { width: 40px; height: 3px; background: #cc0000; border-radius: 2px; margin: 0 auto 32px; }
.oel-line-left { width: 24px; height: 3px; background: #cc0000; border-radius: 2px; }
.oel-badge-red { background: #cc0000; color: #ffffff; padding: 7px 20px; border-radius: 980px; font-weight: 600; font-size: 0.82em; letter-spacing: 0.5px; text-transform: uppercase; }
.oel-badge-dark { background: #1d1d1f; color: #ffffff; padding: 7px 20px; border-radius: 980px; font-weight: 600; font-size: 0.82em; letter-spacing: 0.5px; text-transform: uppercase; }
.oel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.oel-grid-item { padding: 22px 20px; background: #f5f5f7; border-radius: 14px; display: flex; gap: 16px; align-items: flex-start; color: #1d1d1f; font-size: 1em; line-height: 1.5; font-weight: 600; }
.oel-checkmark { flex-shrink: 0; width: 22px; height: 22px; background: #cc0000; border-radius: 50%; color: #ffffff; font-size: 0.75em; line-height: 22px; text-align: center; }
.oel-text-red { color: #cc0000; }
.oel-title-uppercase { color: #cc0000; font-size: 0.78em; letter-spacing: 4px; font-weight: bold; margin: 0 0 18px; text-transform: uppercase; }
.oel-big-title { color: #1d1d1f; font-size: 3.2em; margin: 0 0 24px; font-weight: bold; line-height: 1.08; letter-spacing: -1.5px; }
.oel-section-title { color: #1d1d1f; font-size: 2.4em; margin: 0 0 40px; font-weight: bold; letter-spacing: -1px; line-height: 1.1; }

/* Custom Styles für die Über-uns-Seite */
.oel-team-card { background: #ffffff; padding: 48px; border-radius: 16px; margin-bottom: 32px; border: 1px solid #eaeaea; border-top: 4px solid #cc0000; box-shadow: 0 10px 30px rgba(0,0,0,0.04); }
.oel-subcard { background: #ffffff; padding: 50px 40px; border-radius: 16px; margin-bottom: 24px; text-align: center; border: 1px solid #eaeaea; box-shadow: 0 4px 20px rgba(0,0,0,0.02); }
.oel-team-header { margin: 60px 0 32px; text-align: center; }
.oel-profile-img { max-width: 640px; margin: 0 auto 32px; border-radius: 12px; overflow: hidden; border: 1px solid #eaeaea; box-shadow: 0 6px 18px rgba(0,0,0,0.04); }
.oel-profile-img-small { max-width: 480px; margin: 0 auto 40px; border-radius: 12px; overflow: hidden; border: 1px solid #eaeaea; box-shadow: 0 6px 18px rgba(0,0,0,0.04); }
.oel-profile-text { max-width: 760px; margin: 0 auto 40px; text-align: center; }

/* Reparierte Timeline-Regeln */
.oel-timeline { border-left: 2px solid #eaeaea; padding-left: 24px; margin-left: 12px; }
.oel-timeline-item { position: relative; margin-bottom: 24px; background: transparent !important; }
.oel-timeline-item:last-child { margin-bottom: 0; }
.oel-timeline-dot { position: absolute; left: -29px; top: 6px; width: 10px; height: 10px; background: #cc0000 !important; border-radius: 50%; padding: 0 !important; }
.oel-timeline-content { background: transparent !important; }

.oel-text-muted-italic { color: #888; font-size: 0.95em; font-style: italic; }
.oel-text-lead { color: #555; font-size: 1em; line-height: 1.75; max-width: 720px; margin: 0 auto; }

/* Custom Styles für die Historie-Seite */
.oel-history-timeline { position: relative; padding-left: 40px; border-left: 2px solid #eaeaea; margin-left: 20px; }
.oel-history-item { position: relative; margin-bottom: 64px; background: transparent !important; }
.oel-history-item:last-child { margin-bottom: 0; }
.oel-history-dot-large { position: absolute; left: -51px; top: 8px; width: 22px; height: 22px; background: #cc0000 !important; border-radius: 50%; border: 3px solid #fff !important; box-shadow: 0 0 0 2px #cc0000; padding: 0 !important; }
.oel-history-card { background: #ffffff; border-radius: 16px; border: 1px solid #eaeaea; border-top: 4px solid #cc0000; box-shadow: 0 4px 20px rgba(0,0,0,0.04); overflow: hidden; }
.oel-history-body { padding: 36px 40px 28px 40px; }
.oel-history-img-box { padding: 0 40px 36px 40px; }
.oel-history-img-box-spaced { padding: 0 40px 28px 40px; }
.oel-history-note { margin: 0 40px 36px 40px; background: #fafafa; border-left: 4px solid #cc0000; border-radius: 8px; padding: 24px 28px; }

/* Korrigierte und abgesicherte Kachel-Regeln gegen rote Balken */
.oel-spec-container { display: flex; gap: 12px; flex-wrap: wrap; }
.oel-tile { flex: 1; min-width: 140px; padding: 24px 16px; background: #f5f5f7 !important; border-radius: 16px; text-align: center; }
.oel-tile-large { flex: 1; min-width: 160px; padding: 28px 20px; background: #f5f5f7 !important; border-radius: 16px; text-align: center; }
.oel-tile-label { color: #6e6e73; font-size: 0.72em; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; margin-bottom: 10px; }
.oel-tile-value { font-size: 2em; font-weight: bold; color: #1d1d1f; letter-spacing: -1px; }
.oel-tile-value-large { font-size: 2.2em; font-weight: bold; color: #1d1d1f; letter-spacing: -1px; line-height: 1; }
.oel-tile-unit { font-size: 0.45em; color: #6e6e73; font-weight: 600; }
.oel-product-lead { color: #6e6e73; font-size: 1.1em; line-height: 1.85; max-width: 700px; margin: 0; }

/* Custom Styles für die Visionen-Seite */
.oel-vision-card { background: #ffffff; padding: 72px 56px; border-radius: 24px; margin-bottom: 24px; border: 1px solid #f2f2f2; box-shadow: 0 2px 8px rgba(0,0,0,0.04), 0 16px 48px rgba(0,0,0,0.06); text-align: left; }
.oel-vision-img-card { margin-bottom: 24px; border-radius: 24px; overflow: hidden; background: #ffffff; padding: 48px 40px; border: 1px solid #f2f2f2; box-shadow: 0 2px 8px rgba(0,0,0,0.04), 0 16px 48px rgba(0,0,0,0.06); }
.oel-shadow-img { border-radius: 18px; overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.1); }
.oel-caption { color: #b0b0b5; font-size: 0.85em; letter-spacing: 0.2px; }
.oel-vision-lead { color: #515154; font-size: 1.1em; line-height: 1.85; font-weight: 400; }

/* Automatische Verkleinerung der Überschriften auf Smartphones (< 768px) */
@media (max-width: 767.98px) {
    h2, .display-4, .display-6 {
        font-size: 1.8em !important; /* Etwas markanter als 1.4em */
        letter-spacing: -0.5px !important;
    }
    
    h3, .oel-section-title, .astroid-content-heading {
        font-size: 1.4em !important; /* Spürbar größer als normaler Text */
        letter-spacing: -0.5px !important;
        margin-bottom: 20px !important;
    }

    h4 {
        font-size: 1.2em !important; /* Verhindert das Absinken auf Standard-Fließtextgröße */
    }
}
/* Verkleinert die automatische Asteroid-Beitragsüberschrift auf Smartphones */
@media (max-width: 767.98px) {
    h3.astroid-content-heading {
        font-size: 1.4em !important; /* Passt die Größe perfekt an das Handy an */
        letter-spacing: -0.5px !important;
        margin-bottom: 24px !important;
    }
}
