/* CSP #8 hardening: former inline page styles moved to same-origin CSS. */

/* From php/header.php */
.nav-link.active {
            background-color: #f7d9c4;
            color: inherit;
            border-radius: 0.5rem;
        }

/* From tavadmin/includes/admin_header.php */
.tavadmin-inner-nav {
        position: sticky;
        top: 0;
        z-index: 1035;
        background: #0f2747;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
        box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
    }

    .tavadmin-inner-nav .navbar-brand,
    .tavadmin-inner-nav .nav-link,
    .tavadmin-inner-nav .admin-user-label {
        color: rgba(255, 255, 255, .90);
    }

    .tavadmin-inner-nav .navbar-brand {
        font-weight: 700;
        letter-spacing: .2px;
    }

    .tavadmin-inner-nav .nav-link {
        border-radius: .45rem;
        padding: .5rem .7rem;
        transition: background-color .15s ease, color .15s ease;
        white-space: nowrap;
    }

    .tavadmin-inner-nav .nav-link:hover,
    .tavadmin-inner-nav .nav-link:focus {
        color: #fff;
        background: rgba(255, 255, 255, .10);
    }

    .tavadmin-inner-nav .nav-link.active {
        color: #fff;
        background: #0d6efd;
        font-weight: 700;
    }

    .tavadmin-inner-nav .navbar-toggler {
        border-color: rgba(255, 255, 255, .35);
    }

    .tavadmin-inner-nav .navbar-toggler:focus {
        box-shadow: 0 0 0 .18rem rgba(255, 255, 255, .18);
    }

    .tavadmin-inner-nav .navbar-toggler-icon {
        filter: invert(1) grayscale(1) brightness(2);
    }

    .tavadmin-inner-nav .admin-user-label {
        font-size: .875rem;
        opacity: .82;
        white-space: nowrap;
    }

    .tavadmin-inner-nav .admin-session-countdown {
        color: #fff;
        font-size: .875rem;
        font-weight: 700;
        white-space: nowrap;
        min-width: 3.2rem;
        text-align: center;
    }

    .tavadmin-inner-nav .admin-session-countdown.is-expiring {
        color: #ffc107;
    }

    .tavadmin-inner-nav .admin-logout-btn {
        white-space: nowrap;
    }

    @media (max-width: 1199.98px) {
        .tavadmin-inner-nav .navbar-collapse {
            padding-top: .75rem;
            padding-bottom: .35rem;
        }

        .tavadmin-inner-nav .nav-link {
            margin-bottom: .2rem;
        }

        .tavadmin-inner-nav .admin-session-box {
            border-top: 1px solid rgba(255, 255, 255, .14);
            margin-top: .6rem;
            padding-top: .75rem;
        }
    }


    /*
     * 2026-08-13 – Távadmin műveleti modal mobil/tablet görgetés (v2)
     *
     * A Foglalások kezelése oldalon a #muveletModal dinamikusan töltődik be.
     * Mobilon a modal saját törzse görgethető, a háttéroldal nem.
     */
    @media (max-width: 991.98px) {
        #muveletModal {
            padding-left: 0 !important;
            padding-right: 0 !important;
            overflow: hidden !important;
            overscroll-behavior: contain;
        }

        #muveletModal .modal-dialog {
            width: calc(100% - 1rem) !important;
            max-width: none !important;
            height: calc(100vh - 1rem);
            height: calc(100dvh - 1rem);
            max-height: calc(100vh - 1rem) !important;
            max-height: calc(100dvh - 1rem) !important;
            margin: .5rem auto !important;
            display: flex !important;
            align-items: stretch !important;
            overflow: hidden !important;
        }

        #muveletModal .modal-content {
            display: flex !important;
            flex-direction: column !important;
            width: 100% !important;
            height: 100% !important;
            max-height: 100% !important;
            min-height: 0 !important;
            overflow: hidden !important;
            padding-bottom: 0 !important;
        }

        /*
         * FONTOS: a műveleti modalban a header/body/footer egy FORM-ban van.
         * A Bootstrap scrollable modal csak akkor működik rendesen, ha ez a
         * köztes form is átveszi a rendelkezésre álló magasságot és flex konténer.
         */
        #muveletModal .modal-content > form {
            display: flex !important;
            flex-direction: column !important;
            flex: 1 1 auto !important;
            width: 100% !important;
            height: 100% !important;
            max-height: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            overflow: hidden !important;
        }

        #muveletModal .modal-header,
        #muveletModal .modal-footer {
            flex: 0 0 auto !important;
        }

        #muveletModal .modal-body {
            flex: 1 1 auto !important;
            min-height: 0 !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior-y: contain;
            touch-action: pan-y;
            padding-bottom: 1rem !important;
        }

        #muveletModal .modal-footer {
            position: static !important;
            bottom: auto !important;
            z-index: auto !important;
            flex-direction: column !important;
            align-items: stretch !important;
            background: var(--agi-surface, #fff) !important;
            padding: .75rem !important;
            padding-bottom: max(.75rem, env(safe-area-inset-bottom)) !important;
            gap: .65rem !important;
            box-shadow: 0 -8px 22px rgba(0, 0, 0, .08);
        }

        #muveletModal .modal-footer .btn {
            width: 100% !important;
            margin: 0 !important;
        }
    }

/* Former static style attributes */
/* csp-s001: index.php */
[data-csp-style="csp-s001"] { margin: 0; padding: 0; height: 100vh; display: flex; justify-content: center; align-items: center; position: relative; }
/* csp-s002: connecting.php */
[data-csp-style="csp-s002"] { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
/* csp-s003: prices.php */
[data-csp-style="csp-s003"] { text-align: justify; margin-bottom: 1rem; }
/* csp-s004: prices.php */
[data-csp-style="csp-s004"] { text-align:center; margin-top:1rem; margin-bottom:0; }
/* csp-s005: prices.php */
[data-csp-style="csp-s005"] { margin-bottom:0; }
/* csp-s006: prices.php */
[data-csp-style="csp-s006"] { margin-top: .75rem; }
/* csp-s007: prices.php */
[data-csp-style="csp-s007"] { margin: .25rem 0 0 1.25rem; }
/* csp-s008: prices.php */
[data-csp-style="csp-s008"] { text-align: justify; margin-top: 1rem; margin-bottom:0; }
/* csp-s009: prices.php */
[data-csp-style="csp-s009"] { font-size:1.15rem; }
/* csp-s010: prices.php */
[data-csp-style="csp-s010"] { margin-bottom:.5rem; text-align: justify; }
/* csp-s011: prices.php */
[data-csp-style="csp-s011"] { margin-bottom:0; font-size:0.95rem; }
/* csp-s012: prices.php */
[data-csp-style="csp-s012"] { text-align: justify; margin-bottom:0; }
/* csp-s013: naptar.php */
[data-csp-style="csp-s013"] { max-width: 900px; }
/* csp-s014: naptar.php */
[data-csp-style="csp-s014"] { transform-origin: top center; }
/* csp-s015: naptar.php */
[data-csp-style="csp-s015"] { text-align: center; }
/* csp-s016: impinfo.php, naptar.php */
[data-csp-style="csp-s016"] { color: red; }
/* csp-s017: bemutatkozas.php, impinfo.php */
[data-csp-style="csp-s017"] { text-align: justify; }
/* csp-s018: tavadmin/tv_foglalasok.php */
[data-csp-style="csp-s018"] { max-height: 50vh; overflow-y: auto; }
/* csp-s020: tavadmin/adm_sec_lg.php, tavadmin/tv_booking_access_attempts.php */
[data-csp-style="csp-s020"] { min-width: 220px; }
/* csp-s021: tavadmin/tv_booking_access_attempts.php */
[data-csp-style="csp-s021"] { min-width: 360px; }
/* csp-s022: tavadmin/tv_osszres.php */
[data-csp-style="csp-s022"] { max-width: 100%; }
/* csp-s023: tavadmin/tv_osszres.php */
[data-csp-style="csp-s023"] { width: min(100%, 440px); }
/* csp-s024: tavadmin/tv_osszres.php */
[data-csp-style="csp-s024"] { font-size: 0.875rem; min-width: 1610px; table-layout: fixed; }
/* csp-s025: tavadmin/tv_osszres.php */
[data-csp-style="csp-s025"] { min-width: 140px; }
/* csp-s026: tavadmin/adm_sec_lg.php */
[data-csp-style="csp-s026"] { position:absolute; left:-10000px; width:1px; height:1px; }
/* csp-s027: tavadmin/adm_sec_lg.php */
[data-csp-style="csp-s027"] { min-width: 240px; }
/* csp-s028: tavadmin/login.php */
[data-csp-style="csp-s028"] { max-width: 480px; }
/* csp-s029: blog/index.php */
[data-csp-style="csp-s029"] { max-width: 720px; }
/* csp-s030: php/booking_modal.php */
[data-csp-style="csp-s030"] { color: red; font-weight: bold; }
/* csp-s031: php/footer.php */
[data-csp-style="csp-s031"] { opacity:0.7; margin: 0 6px; }
/* csp-s032: php/footer.php */
[data-csp-style="csp-s032"] { font-style: italic; }
/* csp-s033: php/footer.php */
[data-csp-style="csp-s033"] { height: 50px; }
/* csp-s034: php/header.php */
[data-csp-style="csp-s034"] { font-family: 'Parisienne', cursive; font-weight: normal; }


/* =========================================================
   2026-09-20 – Távadmin fejléc: több soros desktop navigáció
   ========================================================= */

@media (min-width: 1200px) {
    .tavadmin-inner-nav .container-fluid {
        align-items: flex-start;
        gap: .5rem .7rem;
    }

    .tavadmin-inner-nav .navbar-brand {
        flex: 0 0 auto;
        margin-right: .25rem;
        margin-top: .05rem;
    }

    .tavadmin-inner-nav .navbar-collapse {
        display: flex !important;
        flex: 1 1 0;
        flex-wrap: wrap;
        align-items: center;
        min-width: 0;
        gap: .45rem .65rem;
    }

    .tavadmin-inner-nav .tavadmin-menu {
        flex: 1 1 760px;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: .38rem !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        min-width: 0;
    }

    .tavadmin-inner-nav .tavadmin-menu .nav-item {
        flex: 0 0 auto;
    }

    .tavadmin-inner-nav .admin-session-box {
        display: flex !important;
        flex: 0 0 auto;
        margin-left: auto !important;
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
}

@media (min-width: 1200px) and (max-width: 1599.98px) {
    .tavadmin-inner-nav .admin-session-box {
        flex-basis: 100%;
        justify-content: flex-end;
        padding-top: .15rem;
    }
}

@media (min-width: 1600px) {
    .tavadmin-inner-nav .tavadmin-menu {
        flex-basis: auto;
    }
}


/* =========================================================
   2026-09-20 – Publikus felső fejléc: stabil desktop/hamburger törés
   1600 px alatt hamburger; 1600 px-től egysoros desktop menü.
   ========================================================= */

/* A navbar-expand-xxl Bootstrap szerint 1400 px-től már kinyílna.
   Nálunk a hosszú magyar menü miatt 1600 px-ig maradjon összecsukva. */
@media (min-width: 1400px) and (max-width: 1599.98px) {
    .public-main-nav.navbar-expand-xxl {
        flex-wrap: wrap;
    }

    .public-main-nav.navbar-expand-xxl .navbar-toggler {
        display: block;
    }

    .public-main-nav.navbar-expand-xxl .navbar-collapse {
        flex-basis: 100%;
        flex-grow: 1;
        align-items: center;
    }

    .public-main-nav.navbar-expand-xxl .navbar-collapse:not(.show) {
        display: none !important;
    }

    .public-main-nav.navbar-expand-xxl .navbar-collapse.show,
    .public-main-nav.navbar-expand-xxl .navbar-collapse.collapsing {
        display: block !important;
    }
}

/* Az összecsukott publikus menü 1600 px alatt kulturált lenyíló panel. */
@media (max-width: 1599.98px) {
    .public-main-nav .navbar-collapse {
        margin-top: .65rem;
        padding: .65rem;
        border: 1px solid var(--agi-border);
        border-radius: 16px;
        background: rgba(255, 255, 255, .96);
        box-shadow: var(--agi-shadow-md);
    }

    .public-main-nav .public-main-menu {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: .38rem !important;
        margin: 0 !important;
    }

    .public-main-nav .public-main-menu .nav-item,
    .public-main-nav .public-main-menu .nav-link {
        width: 100%;
    }

    .public-main-nav .public-main-menu .nav-link {
        justify-content: flex-start;
    }

    .public-main-nav .public-nav-tools {
        justify-content: flex-end;
        margin-top: .65rem;
        padding-top: .65rem;
        border-top: 1px solid var(--agi-border);
    }

    html.dark-mode .public-main-nav .navbar-collapse {
        background: rgba(39, 35, 31, .97);
    }
}

/* Széles desktopon marad az eredeti egysoros Bootstrap elrendezés. */
@media (min-width: 1600px) {
    .public-main-nav .public-main-menu {
        flex-wrap: nowrap;
    }

    .public-main-nav .public-nav-tools {
        flex: 0 0 auto;
    }
}
