/* Marini Dynamic Content | Modul: Nyitvatartás kijelzés | Verzió: 0.9.1-alpha3 | Build: 2026-09-09 */
/*
 * Frissítésálló, Blocksy belső szerkezetétől független állapotsáv.
 * A sáv a WordPress wp_body_open hookján jelenik meg, ezért itt tudatosan
 * felülírjuk a téma esetleges flex/grid és konténerváltozóit.
 */
.marini-opening-sitebar {
    display: block !important;
    position: relative;
    z-index: 20;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    overflow: visible !important;
    border-bottom: 1px solid rgba(64, 87, 52, 0.10);
    background: linear-gradient(
        90deg,
        #ffebeb 0%,
        #fff7f4 48%,
        #f1f3ea 100%
    );
}

.marini-opening-sitebar[hidden] {
    display: none !important;
}

.marini-opening-sitebar__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 1290px !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 4px 24px !important;
    box-sizing: border-box !important;
}

.marini-opening-block {
    display: flex;
    align-items: center;
    min-width: 0;
}

.marini-opening-status {
    --marini-opening-dot: #405734;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55em;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0.42em 0.74em !important;
    box-sizing: border-box;
    border: 1px solid rgba(64, 87, 52, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    color: #405734;
    font-family: inherit;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: normal;
    text-align: left;
    text-transform: none;
    vertical-align: middle;
    white-space: nowrap;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    box-shadow: 0 1px 0 rgba(64, 87, 52, 0.04);
}

.marini-opening-status[hidden] {
    display: none !important;
}

.marini-opening-status__dot {
    display: block;
    width: 0.72em;
    height: 0.72em;
    flex: 0 0 0.72em;
    border-radius: 50%;
    background: var(--marini-opening-dot);
    box-shadow: 0 0 0 3px rgba(64, 87, 52, 0.12);
}

.marini-opening-status__text {
    display: block;
    min-width: 0;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.marini-opening-status--open {
    --marini-opening-dot: #405734;
    border-color: rgba(64, 87, 52, 0.25);
    background: rgba(255, 255, 255, 0.82);
}

.marini-opening-status--open .marini-opening-status__dot {
    animation: marini-opening-pulse 2.8s ease-in-out infinite;
}

.marini-opening-status--closing_soon {
    --marini-opening-dot: #a97818;
    border-color: rgba(169, 120, 24, 0.30);
    background: rgba(255, 250, 235, 0.88);
}

.marini-opening-status--closing_soon .marini-opening-status__dot {
    box-shadow: 0 0 0 3px rgba(169, 120, 24, 0.14);
    animation: marini-opening-pulse-warm 2.1s ease-in-out infinite;
}

.marini-opening-status--closed {
    --marini-opening-dot: #a45f62;
    border-color: rgba(164, 95, 98, 0.26);
    background: rgba(255, 247, 247, 0.88);
}

.marini-opening-status--closed .marini-opening-status__dot {
    box-shadow: 0 0 0 3px rgba(164, 95, 98, 0.12);
}

.marini-opening-status--extraordinary_closed {
    --marini-opening-dot: #4d4945;
    border-color: rgba(77, 73, 69, 0.30);
    background: rgba(248, 247, 245, 0.90);
}

.marini-opening-status--extraordinary_closed .marini-opening-status__dot {
    box-shadow: 0 0 0 3px rgba(77, 73, 69, 0.12);
}

@keyframes marini-opening-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(64, 87, 52, 0.12); }
    50% { box-shadow: 0 0 0 6px rgba(64, 87, 52, 0.035); }
}

@keyframes marini-opening-pulse-warm {
    0%, 100% { box-shadow: 0 0 0 3px rgba(169, 120, 24, 0.14); }
    50% { box-shadow: 0 0 0 6px rgba(169, 120, 24, 0.035); }
}

@media (max-width: 689px) {
    .marini-opening-sitebar__inner {
        justify-content: center !important;
        min-height: 42px !important;
        padding: 5px 12px !important;
    }

    .marini-opening-status--sitebar {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        padding: 0.56em 0.76em !important;
        font-size: 13px;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .marini-opening-status__dot {
        animation: none !important;
    }
}

/* Kézi nyitvatartási üzenetek: asztalin egy sor, mobilon külön sorok. */
.marini-opening-status__reason {
    display: inline;
    min-width: 0;
    font-weight: 500;
}

.marini-opening-status__reason[hidden] {
    display: none !important;
}

.marini-opening-status__reason-text {
    display: inline;
}

@media (max-width: 689px) {
    .marini-opening-status--sitebar {
        flex-wrap: wrap;
        row-gap: 0.22em;
    }

    .marini-opening-status--sitebar .marini-opening-status__reason {
        display: block;
        flex: 0 0 100%;
        width: 100%;
        font-size: 0.94em;
        line-height: 1.35;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .marini-opening-status--sitebar .marini-opening-status__separator {
        display: none;
    }
}
