/* ═══════════════════════════════════════════════════════════════════════════ */
/* PLANVIGO FRONTEND ISOLATION                                               */
/* Schützt NUR den Plugin-Content-Bereich (#planvigo-page-wrapper)           */
/* Theme-Header (Navbar) und Footer bleiben komplett unberührt!              */
/* !important wird genutzt um JEDE Theme-CSS-Regel zu überstimmen            */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* ── Plugin-Wrapper Basis ──────────────────────────────────────────────── */
#planvigo-page-wrapper {
    width: 100% !important;
    min-height: 70vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--pv-color-bg, #f8f8f8) !important;
    font-family: var(--pv-font-family-secondary, "Inter", sans-serif) !important;
    color: var(--pv-color-text-primary, #1C1C1E) !important;
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: none !important;

    /* ── SCHUTZ: Navbar-Überdeckung verhindern ────────────────────────── */
    /* KEIN z-index auf dem Wrapper setzen! Ein z-index erzeugt einen     */
    /* Stacking-Context, der alle position:fixed Modals einsperrt.       */
    /* Stattdessen: Navbars werden per CSS auf niedrigen z-index gesetzt. */
    position: relative !important;
    overflow: visible !important;
}

/* ── SCHUTZ: Theme-Navbars, Sticky-Header, Fixed-Overlays blockieren ── */
/* Jedes fixed/sticky Element AUSSERHALB des Plugin-Wrappers wird unter   */
/* den Plugin-Content gedrückt, damit nichts den Inhalt verdecken kann.   */
/* WICHTIG: :not() verhindert, dass Plugin-eigene Elemente mit "header"   */
/* im Klassennamen (pv-card-header, modal-header etc.) betroffen werden.  */
body.planvigo-isolated-page header:not(#planvigo-page-wrapper header),
body.planvigo-isolated-page nav:not(#planvigo-page-wrapper nav),
body.planvigo-isolated-page .site-header:not(#planvigo-page-wrapper .site-header),
body.planvigo-isolated-page .site-navigation:not(#planvigo-page-wrapper .site-navigation),
body.planvigo-isolated-page .main-navigation:not(#planvigo-page-wrapper .main-navigation),
body.planvigo-isolated-page .primary-navigation:not(#planvigo-page-wrapper .primary-navigation),
body.planvigo-isolated-page .navbar:not(#planvigo-page-wrapper .navbar),
body.planvigo-isolated-page .wp-site-blocks > header {
    z-index: 5 !important;
}

/* Kein Theme-Element darf den Plugin-Content überlagern                  */
/* WICHTIG: Modals (.modal-overlay, .acceptance-modal-overlay) werden per */
/* JS auf document.body verschoben und MÜSSEN ausgenommen werden!         */
body.planvigo-isolated-page #planvigo-page-wrapper ~ *:not(.modal-overlay):not(.acceptance-modal-overlay):not([id*="Modal"]),
body.planvigo-isolated-page #planvigo-page-wrapper ~ *:not(.modal-overlay):not(.acceptance-modal-overlay):not([id*="Modal"]) * {
    z-index: auto;
}

/* Popups, Modals & Dropdowns — unabhängig ob im Wrapper oder auf body */
.modal-overlay,
.acceptance-modal-overlay,
#profileModal,
#playerAcceptanceModal,
#trainerAcceptanceModal,
#availabilityModal {
    z-index: 100000 !important;
}

#planvigo-page-wrapper .pv-modal,
#planvigo-page-wrapper .pv-dropdown,
#planvigo-page-wrapper .pv-popup,
#planvigo-page-wrapper [class*="dropdown-menu"],
#planvigo-page-wrapper [class*="popup"] {
    z-index: 100000 !important;
}

/* Stelle sicher, dass der Plugin-Content nie von Footern überlagert wird */
body.planvigo-isolated-page footer,
body.planvigo-isolated-page .site-footer,
body.planvigo-isolated-page .wp-site-blocks > footer {
    z-index: 1 !important;
    position: relative !important;
}

/* ── Basis-Reset für alle Elemente im Plugin-Wrapper ───────────────────── */
#planvigo-page-wrapper *,
#planvigo-page-wrapper *::before,
#planvigo-page-wrapper *::after {
    box-sizing: border-box !important;
}

/* ── Typografie: Keine Theme-Fonts im Plugin-Bereich ───────────────────── */
#planvigo-page-wrapper h1,
#planvigo-page-wrapper h2,
#planvigo-page-wrapper h3,
#planvigo-page-wrapper h4,
#planvigo-page-wrapper h5,
#planvigo-page-wrapper h6 {
    font-family: var(--pv-font-family-primary, "Poppins", sans-serif) !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    font-style: normal !important;
    color: var(--pv-color-text-primary, #1C1C1E) !important;
    margin-top: 0 !important;
}

#planvigo-page-wrapper p,
#planvigo-page-wrapper span:not(.dashicons),
#planvigo-page-wrapper div,
#planvigo-page-wrapper label,
#planvigo-page-wrapper li,
#planvigo-page-wrapper td,
#planvigo-page-wrapper th {
    font-family: var(--pv-font-family-secondary, "Inter", sans-serif) !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

/* ── Farben: Kein Theme darf Textfarben überschreiben ──────────────────── */
#planvigo-page-wrapper p,
#planvigo-page-wrapper li {
    color: var(--pv-color-text-primary, #1C1C1E) !important;
}

/* ── Dashicons: Font nicht überschreiben ───────────────────────────────── */
#planvigo-page-wrapper .dashicons,
#planvigo-page-wrapper .dashicons-before::before,
#planvigo-page-wrapper i.dashicons {
    font-family: dashicons !important;
}

/* ── Buttons: Reset gegen Theme-Overrides ──────────────────────────────── */
#planvigo-page-wrapper button,
#planvigo-page-wrapper .pv-btn,
#planvigo-page-wrapper .pv-btn-submit,
#planvigo-page-wrapper input[type="submit"],
#planvigo-page-wrapper input[type="button"] {
    font-family: var(--pv-font-family-secondary, "Inter", sans-serif) !important;
    border-radius: 10px !important;
    border: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

/* ── Inputs/Select: Kein Theme-Styling ─────────────────────────────────── */
#planvigo-page-wrapper input[type="text"],
#planvigo-page-wrapper input[type="email"],
#planvigo-page-wrapper input[type="password"],
#planvigo-page-wrapper input[type="number"],
#planvigo-page-wrapper input[type="tel"],
#planvigo-page-wrapper input[type="date"],
#planvigo-page-wrapper input[type="time"],
#planvigo-page-wrapper input[type="search"],
#planvigo-page-wrapper textarea,
#planvigo-page-wrapper select {
    font-family: var(--pv-font-family-secondary, "Inter", sans-serif) !important;
    font-size: 14px !important;
    border: 1px solid var(--pv-color-border, #D1D1D1) !important;
    border-radius: 8px !important;
    background: white !important;
    color: var(--pv-color-text-primary, #1C1C1E) !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding: 10px 14px !important;
    transition: border-color 0.2s ease !important;
}

#planvigo-page-wrapper input:focus,
#planvigo-page-wrapper textarea:focus,
#planvigo-page-wrapper select:focus {
    border-color: var(--pv-color-accent, #FF785F) !important;
    box-shadow: 0 0 0 3px rgba(255, 120, 95, 0.1) !important;
    outline: none !important;
}

/* ── Links im Plugin-Bereich ───────────────────────────────────────────── */
#planvigo-page-wrapper a {
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

/* ── Tabellen ──────────────────────────────────────────────────────────── */
#planvigo-page-wrapper table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

#planvigo-page-wrapper th,
#planvigo-page-wrapper td {
    text-align: left !important;
    vertical-align: middle !important;
}

/* ── Listen ────────────────────────────────────────────────────────────── */
#planvigo-page-wrapper ul,
#planvigo-page-wrapper ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Images ────────────────────────────────────────────────────────────── */
#planvigo-page-wrapper img {
    max-width: 100% !important;
    height: auto !important;
}

/* ── Gutenberg-Wrapper NUR innerhalb Plugin-Bereich neutralisieren ─────── */
#planvigo-page-wrapper .wp-block-post-content,
#planvigo-page-wrapper .wp-block-group,
#planvigo-page-wrapper .is-layout-constrained,
#planvigo-page-wrapper .is-layout-flow,
#planvigo-page-wrapper .entry-content,
#planvigo-page-wrapper .page-content {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Seiten-Titel verstecken (Plugin hat eigene) ── nur im Wrapper ─────── */
#planvigo-page-wrapper .wp-block-post-title,
#planvigo-page-wrapper .entry-title,
#planvigo-page-wrapper .page-title {
    display: none !important;
}
