/*
 * AVG Custom Styles - lädt NACH theme.min.css
 * Wird NICHT vom Theme-Compiler überschrieben.
 * Enthält: Hintergrundbilder, Logo-Größe, Button-Styles, Mobile-Fixes
 */

/* ---------- Unterer Bereich dunkel (kein weißer Rand) ---------- */
html, body,
#fullpage, .fullpage, .pagewrapper { background-color: #222 !important; }

/* ---------- Hintergrundbilder AVG ---------- */
.section-1 { background-image: url("../img/setra_415_gue_sl.png"); }
/* Wenn Hintergrund-Video gesetzt (data-bgvideo): kein statisches Bild darüber */
section.section[data-bgvideo] { background-image: none !important; }
/* Video unter dem Fullpage-Inhalt; sonst kann die Sektionsfarbe (#444) alles überdecken */
.fp-section.section[data-bgvideo] > .fullpage-bgvideo,
.slide[data-bgvideo] > .fullpage-bgvideo { z-index: 0; }
.fp-section.section[data-bgvideo] > .fp-table,
.slide[data-bgvideo] > .fp-table { position: relative; z-index: 1; }
.section-2.loaded { background-image: url("../img/schienenersatzverkehr.png"); background-attachment: fixed; }
.section-3.loaded { background-image: url("../img/transfer_02_higru.png"); }
.section-4.loaded { background-image: url("../img/AVG_Klassenfarhten.png"); background-attachment: fixed; }
.section-5.loaded { display: none; }
.section-6.loaded { background-image: url("../img/alle_Angebot_von_AVT.png"); background-attachment: fixed; }
.section-13.loaded { background-image: url("../img/bg13.webp"); }

/* ---------- Logo-Bereich: Kein dunkler Hintergrund (transparent) ---------- */
nav, .main-navigation,
.pagelogo, nav .pagelogo, .fp-responsive .pagelogo { background-color: transparent !important; }

/* ---------- Logo-Größe (Desktop) ---------- */
nav .pagelogo { width: 150px !important; }
nav .pagelogo img { width: 150px !important; }

/* ---------- Logo-Größe (Mobile/fp-responsive) ---------- */
.fp-responsive .pagelogo img { width: 85px !important; }

/* ---------- Container Abstand Mobile ---------- */
.fp-responsive div.uk-container { margin-top: 140px !important; }

/* ---------- Obere Navigation: Modern mit Verlauf, Schatten & Glow ---------- */
.mainnav li a {
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    border: 1px solid rgba(64,169,255,.35) !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.35), 0 0 20px rgba(64,169,255,.25), inset 0 1px 0 rgba(64,169,255,.2) !important;
}
.mainnav li a:hover {
    color: #40A9FF !important;
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    border-color: rgba(64,169,255,.7) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.4), 0 0 24px rgba(64,169,255,.4), inset 0 1px 0 rgba(64,169,255,.25) !important;
}
.mainnav li.active a {
    color: #40A9FF !important;
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    border-color: rgba(64,169,255,.6) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.35), 0 0 20px rgba(64,169,255,.3), inset 0 1px 0 rgba(64,169,255,.2) !important;
}
.mainnav li.active a:hover {
    border-color: rgba(64,169,255,.7) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.4), 0 0 24px rgba(64,169,255,.4), inset 0 1px 0 rgba(64,169,255,.25) !important;
}

/* ---------- GLightbox: Kein heller Hintergrund um Impressum/Datenschutz ---------- */
.gslide-external {
    background: transparent !important;
}

/* ---------- Impressum/Datenschutz: Modern mit Glow ---------- */
ul.imprint li a {
    color: #e8e8e8 !important;
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    border: 1px solid rgba(64,169,255,.35) !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.35), 0 0 20px rgba(64,169,255,.25), inset 0 1px 0 rgba(64,169,255,.2) !important;
}
ul.imprint li a:hover {
    color: #40A9FF !important;
    border-color: rgba(64,169,255,.7) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.4), 0 0 24px rgba(64,169,255,.4), inset 0 1px 0 rgba(64,169,255,.25) !important;
}

/* ---------- sev-button, Submit, uk-button: Modern mit Glow ---------- */
.sev-button, a.sev-button,
.sev-form button[type="submit"], .sev-form input[type="submit"],
.uk-button-primary, .uk-button-default,
div.uk-container a.uk-button {
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    border: 1px solid rgba(64,169,255,.35) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.35), 0 0 20px rgba(64,169,255,.25), inset 0 1px 0 rgba(64,169,255,.2) !important;
}
.sev-button:hover, a.sev-button:hover,
.sev-form button[type="submit"]:hover, .sev-form input[type="submit"]:hover,
.uk-button-primary:hover, .uk-button-default:hover,
div.uk-container a.uk-button:hover {
    color: #40A9FF !important;
    border-color: rgba(64,169,255,.7) !important;
    box-shadow: 0 6px 16px rgba(0,0,0,.4), 0 0 24px rgba(64,169,255,.4), inset 0 1px 0 rgba(64,169,255,.25) !important;
}

/* ---------- Mobile: Hamburger (3 Linien) nicht orange ---------- */
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    background-color: #fff !important;
}
.hamburger:hover .hamburger-inner,
.hamburger:hover .hamburger-inner::before,
.hamburger:hover .hamburger-inner::after {
    background-color: #2385ae !important;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #2385ae !important;
}

/* ---------- Content-Overlays: Modern (dunkel, Rand, abgerundete Ecken, Schrift) ---------- */
/* Haupt-Container: Immer undurchsichtigen Hintergrund (sonst transparent über Bild) */
.fp-tableCell div.uk-container,
.fp-tableCell .uk-container {
    background: rgba(13, 17, 29, 0.98) !important;
    color: #e8e8e8 !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(64, 169, 255, 0.25) !important;
    padding: 30px 40px !important;
}
/* Titelseite: Sehr transparenter schwarzer Hintergrund + Rahmen wie die anderen */
.fp-section.section-1 .fp-tableCell div.uk-container,
.fp-section.section-1 .fp-tableCell .uk-container,
.fp-section:first-child .fp-tableCell div.uk-container,
.fp-section:first-child .fp-tableCell .uk-container {
    background: rgba(0, 0, 0, 0.73) !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.6), 0 0 60px rgba(0, 0, 0, 0.4), 0 0 24px rgba(64, 169, 255, 0.5), 0 0 48px rgba(64, 169, 255, 0.2), 0 4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(64, 169, 255, 0.15) !important;
    padding: 40px 50px !important;
}
/* Titelseite: Weißer Text + schwarze 1px Outline + wesentlich deutlicher Schatten */
.fp-section.section-1 .fp-tableCell .uk-container h1,
.fp-section.section-1 .fp-tableCell .uk-container h2,
.fp-section.section-1 .fp-tableCell .uk-container h3,
.fp-section.section-1 .fp-tableCell .uk-container p,
.fp-section:first-child .fp-tableCell .uk-container h1,
.fp-section:first-child .fp-tableCell .uk-container h2,
.fp-section:first-child .fp-tableCell .uk-container h3,
.fp-section:first-child .fp-tableCell .uk-container p {
    color: #fff !important;
    text-shadow:
        /* Schwarze Outline 1px breit */
        -1px -1px 0 rgba(0, 0, 0, 0.95),
        1px -1px 0 rgba(0, 0, 0, 0.95),
        -1px 1px 0 rgba(0, 0, 0, 0.95),
        1px 1px 0 rgba(0, 0, 0, 0.95),
        -1px 0 0 rgba(0, 0, 0, 0.95),
        1px 0 0 rgba(0, 0, 0, 0.95),
        0 -1px 0 rgba(0, 0, 0, 0.95),
        0 1px 0 rgba(0, 0, 0, 0.95),
        /* Wesentlich deutlicher Schatten (weniger transparent) */
        0 2px 6px rgba(0, 0, 0, 1),
        0 4px 12px rgba(0, 0, 0, 1),
        0 8px 24px rgba(0, 0, 0, 1),
        0 16px 48px rgba(0, 0, 0, 1),
        0 32px 80px rgba(0, 0, 0, 1) !important;
}
.fp-tableCell .uk-container h1,
.fp-tableCell .uk-container h2,
.fp-tableCell .uk-container h3,
.fp-tableCell .uk-container h4 {
    color: #40A9FF !important;
}
.fp-tableCell .uk-container p,
.fp-tableCell .uk-container li {
    color: #e8e8e8 !important;
}
.fp-tableCell .uk-container a {
    color: #40A9FF !important;
}
.fp-tableCell .uk-container a:hover {
    color: #66b8ff !important;
}

.gallery-wrap {
    background: rgba(11, 17, 29, 0.9) !important;
    color: #e8e8e8 !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(64, 169, 255, 0.25) !important;
    padding: 30px 40px 40px 40px !important;
}

.uk-background-default {
    background-color: rgba(13, 17, 29, 0.95) !important;
    color: #e8e8e8 !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(64, 169, 255, 0.25) !important;
    padding: 30px 40px 40px 40px !important;
}

.uk-card,
.uk-card-default {
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(64, 169, 255, 0.25), inset 1px 0 0 rgba(64, 169, 255, 0.15) !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    overflow: hidden !important;
}
.uk-card:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 20px rgba(64, 169, 255, 0.15), inset 0 1px 0 rgba(64, 169, 255, 0.35), inset 1px 0 0 rgba(64, 169, 255, 0.25) !important;
    border-color: rgba(64, 169, 255, 0.6) !important;
}

.uk-card-body {
    background: transparent !important;
    color: #A0B0C4 !important;
    padding: 30px 25px !important;
    border-radius: 20px !important;
}
/* Textspalten in Karten: mehr Abstand nach unten (überschreibt :last-child-Regeln) */
.uk-card .uk-card-body {
    padding-bottom: 50px !important;
}
/* Abstand unten zwischen äußerem Rahmen (Container) und innerem Rahmen (Karte) */
.section-4 .fp-tableCell .uk-container,
.fp-tableCell .uk-container:has(.uk-card) {
    padding-bottom: 50px !important;
}
.uk-card-body p,
.uk-card-body li {
    color: #A0B0C4 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}
.uk-card-body h1,
.uk-card-body h2,
.uk-card-body h3,
.uk-card-body h4 {
    color: #40A9FF !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}
.uk-card-body a {
    color: #40A9FF !important;
}
.uk-card-body a:hover {
    color: #66b8ff !important;
}

/* Section 2 (SEV), Section 3 (Transfers) & Section 4 (Klassen-, Firmen- und Vereinsfahrten): Blauverlauf-Glow für Headlines */
.section-2 .fp-tableCell .uk-container h1,
.section-2 .fp-tableCell .uk-container h2,
.section-2 .fp-tableCell .uk-container h3,
.section-2 .fp-tableCell .uk-container h4,
.section-3 .fp-tableCell .uk-container h1,
.section-3 .fp-tableCell .uk-container h2,
.section-3 .fp-tableCell .uk-container h3,
.section-3 .fp-tableCell .uk-container h4,
.section-4 .fp-tableCell .uk-container h1,
.section-4 .fp-tableCell .uk-container h2,
.section-4 .fp-tableCell .uk-container h3,
.section-4 .fp-tableCell .uk-container h4 {
    color: #40A9FF !important;
    text-shadow:
        0 0 8px rgba(64, 169, 255, 0.4),
        0 0 16px rgba(64, 169, 255, 0.3),
        0 0 24px rgba(64, 169, 255, 0.25),
        0 0 32px rgba(102, 184, 255, 0.2),
        0 0 48px rgba(102, 184, 255, 0.15) !important;
}

/* Text in uk-background-default und gallery-wrap */
.uk-background-default h1,
.uk-background-default h2,
.uk-background-default h3,
.uk-background-default h4,
.gallery-wrap h1,
.gallery-wrap h2,
.gallery-wrap h3,
.gallery-wrap h4 {
    color: #40A9FF !important;
    font-weight: 700 !important;
}
.uk-background-default p,
.uk-background-default li,
.uk-background-default,
.gallery-wrap p,
.gallery-wrap li {
    color: #e8e8e8 !important;
}
.uk-background-default a,
.gallery-wrap a {
    color: #40A9FF !important;
}
.uk-background-default a:hover,
.gallery-wrap a:hover {
    color: #66b8ff !important;
}

/* ---------- Anfrageformulare (sev-form): Modern ---------- */
/* Form & Button klickbar (Fullpage-Overlay umgehen) */
.sev-form {
    position: relative;
    z-index: 10;
    pointer-events: auto;
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    color: #e8e8e8 !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(64, 169, 255, 0.25) !important;
}
.sev-form button[type="submit"],
.sev-form input[type="submit"] {
    cursor: pointer !important;
    pointer-events: auto !important;
}
/* Doppeltes Papierflug-Icon entfernen: nur 1 Icon anzeigen */
.sev-form button[type="submit"]::before,
.sev-form input[type="submit"]::before {
    content: "\f1d8" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}
/* HTML-Icons im Button ausblenden (falls doppelt) */
.sev-form button[type="submit"] i,
.sev-form input[type="submit"] i {
    display: none !important;
}
.sev-form label {
    color: #e8e8e8 !important;
}
.sev-form input[type="text"],
.sev-form input[type="email"],
.sev-form input[type="tel"],
.sev-form input[type="number"],
.sev-form input[type="date"],
.sev-form input[type="time"],
.sev-form select,
.sev-form textarea {
    background: rgba(29, 45, 77, 0.9) !important;
    color: #e8e8e8 !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    border-radius: 8px !important;
    min-height: 44px !important;
    padding: 12px 15px !important;
    box-sizing: border-box !important;
}
.sev-form textarea {
    min-height: 100px !important;
}
/* Uhrzeit-Felder: Browser-interne Teile dunkel stylen (Chrome/Safari/Edge) */
.sev-form input[type="time"]::-webkit-datetime-edit,
.sev-form input[type="time"]::-webkit-datetime-edit-fields-wrapper,
.sev-form input[type="time"]::-webkit-datetime-edit-text,
.sev-form input[type="time"]::-webkit-datetime-edit-hour-field,
.sev-form input[type="time"]::-webkit-datetime-edit-minute-field,
.sev-form input[type="time"]::-webkit-datetime-edit-second-field,
.sev-form input[type="time"]::-webkit-datetime-edit-ampm-field {
    background: transparent !important;
    color: #e8e8e8 !important;
}
.sev-form input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 0.9;
}
/* Kalender-Icon (Datum) weiß */
.sev-form input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 0.9;
}
/* Number-Spinner (Pfeile) weiß */
.sev-form input[type="number"]::-webkit-inner-spin-button,
.sev-form input[type="number"]::-webkit-outer-spin-button {
    filter: invert(1);
    opacity: 0.9;
}
/* Firefox: Dunkles Farbschema für Uhrzeit-Felder */
.sev-form input[type="time"] {
    color-scheme: dark;
}
.sev-form input[type="text"]:focus,
.sev-form input[type="email"]:focus,
.sev-form input[type="tel"]:focus,
.sev-form input[type="number"]:focus,
.sev-form input[type="date"]:focus,
.sev-form input[type="time"]:focus,
.sev-form select:focus,
.sev-form textarea:focus {
    border-color: rgba(64, 169, 255, 0.7) !important;
    box-shadow: 0 0 0 3px rgba(64, 169, 255, 0.2) !important;
}
.sev-form input::placeholder,
.sev-form textarea::placeholder {
    color: #A0B0C4 !important;
    opacity: 0.9;
}
.sev-form input[type="checkbox"] {
    accent-color: #40A9FF !important;
}
.sev-row.sev-checkbox label {
    color: #e8e8e8 !important;
}
/* Send-Buttons immer rechts (am Ende, rechtsbündig) */
.sev-form .sev-row.sev-submit,
.sev-form .sev-grid .sev-row.sev-submit,
.sev-row.sev-submit,
/* Transfer-Form u.a.: sev-row-full mit Submit-Button */
.sev-form .sev-row.sev-row-full:has(button[type="submit"]),
.sev-form .sev-row.sev-row-full:has(input[type="submit"]) {
    text-align: right !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
}
.sev-form .sev-row.sev-submit button,
.sev-form .sev-row.sev-submit input[type="submit"],
.sev-form .sev-row-full:has(button[type="submit"]) button,
.sev-form .sev-row-full:has(input[type="submit"]) input[type="submit"],
.sev-form button[type="submit"],
.sev-form input[type="submit"] {
    margin-left: auto !important;
    min-width: 200px !important;
}
@media (min-width: 768px) {
    .sev-form button[type="submit"],
    .sev-form input[type="submit"] {
        width: auto !important;
    }
}

/* ---------- Impressum/Datenschutz Lightbox: Modern (Hintergrund, Text) ---------- */
body.lightboxcontent {
    background-color: #0b111d !important;
    color: #e8e8e8 !important;
}
section.lightboxcontent {
    color: #e8e8e8 !important;
}
/* Content-Wrapper (uk-background-default vom REDAXO-Modul) dunkel statt hellgrau */
section.lightboxcontent .uk-background-default,
section.lightboxcontent .uk-background-muted {
    background: transparent !important;
    background-color: transparent !important;
    color: #e8e8e8 !important;
    border: none !important;
    box-shadow: none !important;
}
/* Blauer Rahmen: nur div.lightboxcontent; uk-container bleibt transparent */
section.lightboxcontent div.lightboxcontent {
    background: linear-gradient(135deg, #1d2d4d 0%, #0b111d 100%) !important;
    color: #e8e8e8 !important;
    border: 1px solid rgba(64, 169, 255, 0.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(64, 169, 255, 0.25) !important;
    padding: 16px 4px !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}
section.lightboxcontent .uk-container {
    background: transparent !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
}
/* Headlines größer als Fließtext (Fließtext ~1em), mittig */
section.lightboxcontent h1,
section.lightboxcontent h2,
section.lightboxcontent h3,
section.lightboxcontent h4 {
    color: #40A9FF !important;
    font-size: 1.6em !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}
section.lightboxcontent h2 { font-size: 1.4em !important; }
section.lightboxcontent h3 { font-size: 1.2em !important; }
section.lightboxcontent h4 { font-size: 1.1em !important; }
section.lightboxcontent p,
section.lightboxcontent li,
section.lightboxcontent span,
section.lightboxcontent strong,
section.lightboxcontent td,
section.lightboxcontent th,
section.lightboxcontent div,
section.lightboxcontent blockquote {
    color: #e8e8e8 !important;
}
section.lightboxcontent table {
    border-color: rgba(64, 169, 255, 0.35) !important;
}
section.lightboxcontent a {
    color: #40A9FF !important;
}
section.lightboxcontent a:hover {
    color: #66b8ff !important;
}

/* Impressum/Datenschutz Lightbox: Mobile – deutlich reduzierter Rand */
@media (max-width: 768px) {
    section.lightboxcontent div.lightboxcontent {
        padding: 16px 4px !important;
    }
    section.lightboxcontent .uk-container {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}

/* ---------- Mobile: Leerer Bereich am Ende entfernen ---------- */
@media (max-width: 768px) {
    body.fp-responsive .pagewrapper { opacity: 1 !important; }
    body.fp-responsive #fullpage,
    body.fp-responsive .fullpage { height: auto !important; min-height: 0 !important; }
    .section-2.loaded, .section-4.loaded, .section-6.loaded { background-attachment: scroll !important; }
    .fp-responsive .fp-section:last-child { padding-bottom: 0 !important; margin-bottom: 0 !important; }
    .fp-responsive .fp-section:last-child .fp-auto-height div.uk-container,
    .fp-responsive .fp-section:last-child div.uk-container { margin-bottom: 0 !important; padding-bottom: 0 !important; }
}
