/* ═══════════════════════════════════════════════════════════════════════════ */
/* PLANVIGO MAIN CONTENT CONTAINER                                             */
/* Schützt alle Frontend-Seiteninhalte vor Überdeckung durch Navbars und     */
/* wird nicht von Templates überschrieben (mit !important)                     */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* ── Main Content Container Wrapper ───────────────────────────────────── */
.pv-main-content-container {
    position: relative !important;
    width: 100% !important;
    min-height: calc(100vh - 200px) !important;
    
    /* Schutz vor Navbar-Überdeckung */
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    padding: 2rem 1rem !important;
    
    /* Vermeide floating/absolute positioning */
    display: block !important;
    clear: both !important;
    
    /* Verhindere Template-Überschreibungen */
    background: inherit !important;
    z-index: 1 !important;
    overflow: visible !important;
}

/* ── Schutz für responsive Designs ──────────────────────────────────── */
@media (max-width: 768px) {
    .pv-main-content-container {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
        padding: 1.5rem 0.75rem !important;
    }
}

@media (max-width: 480px) {
    .pv-main-content-container {
        margin-top: 10px !important;
        margin-bottom: 10px !important;
        padding: 1rem 0.5rem !important;
    }
}

/* ── Schütze alle direkten Kinder vor Template-Überschreibungen ─────── */
.pv-main-content-container > * {
    margin: 0 !important;
    padding: 0 !important;
}

.pv-main-content-container > div,
.pv-main-content-container > section,
.pv-main-content-container > article {
    width: 100% !important;
    margin: 1rem 0 !important;
    padding: 0 !important;
}

/* ── Spezifische Container-Typen ────────────────────────────────────── */

/* Registration Container */
.pv-main-content-container .player-registration-page,
.pv-main-content-container .pv-registration-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Form Container */
.pv-main-content-container .registration-form-card,
.pv-main-content-container .pv-card {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Dashboard und Calendar Container */
.pv-main-content-container .planvigo-dashboard,
.pv-main-content-container .planvigo-calendar,
.pv-main-content-container .calendar-container {
    width: 100% !important;
    margin: 0 !important;
}

/* ── Verhindere negative Margins die Überdeckung verursachen ────────── */
.pv-main-content-container .stats-container,
.pv-main-content-container [class*="full-width"],
.pv-main-content-container [class*="container"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}

/* ── Success Overlays bleiben sichtbar über Container ────────────────── */
.pv-main-content-container .pv-registration-success-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 9999 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Alerts und Notices im Container ────────────────────────────────── */
.pv-main-content-container .notice,
.pv-main-content-container .pv-alert,
.pv-main-content-container [class*="alert"],
.pv-main-content-container [class*="message"] {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 1rem 0 !important;
    padding: 1rem !important;
}

/* ── Forms im Container ─────────────────────────────────────────────── */
.pv-main-content-container form,
.pv-main-content-container .pv-form {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pv-main-content-container form [type="text"],
.pv-main-content-container form [type="email"],
.pv-main-content-container form [type="password"],
.pv-main-content-container form [type="tel"],
.pv-main-content-container form [type="date"],
.pv-main-content-container form select,
.pv-main-content-container form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0.5rem 0 !important;
}

/* ── Buttons im Container ────────────────────────────────────────────── */
.pv-main-content-container button,
.pv-main-content-container [type="submit"],
.pv-main-content-container [type="button"],
.pv-main-content-container [class*="btn"] {
    margin: 0.5rem 0 !important;
}

/* ── Überschriften im Container ─────────────────────────────────────── */
.pv-main-content-container h1,
.pv-main-content-container h2,
.pv-main-content-container h3,
.pv-main-content-container h4,
.pv-main-content-container h5,
.pv-main-content-container h6 {
    margin-top: 1.5rem !important;
    margin-bottom: 1rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ── Absätze im Container ────────────────────────────────────────────── */
.pv-main-content-container p {
    margin: 0.5rem 0 !important;
    padding: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────── */
/* SICHERE INKUBATOR - Template-Überschreibungen blockieren               */
/* Ziel: Keine Änderungen am Container-Layout durch externe CSS möglich  */
/* ─────────────────────────────────────────────────────────────────────── */

/* Blockiere alle generischen Container-Änderungen */
#main .pv-main-content-container,
#content .pv-main-content-container,
.content .pv-main-content-container,
main .pv-main-content-container,
.container .pv-main-content-container {
    width: 100% !important;
    margin: 20px auto !important;
    padding: 2rem 1rem !important;
    max-width: none !important;
}

/* Blockiere Flexbox/Grid-Modifizierungen */
.pv-main-content-container {
    display: block !important;
    flex: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: auto !important;
    align-self: auto !important;
}
