/**
 * HMNS Static Header Styles
 *
 * Extracted verbatim from the former inline <style> blocks in header.php so they
 * can be enqueued the WordPress way (versioned via filemtime, cacheable) instead
 * of being re-parsed inline on every page load. Only the unconditional, static
 * rules live here; the conditional blocks (password-protected pages, mega-menu
 * quick-link toggles, notification bars) remain inline in header.php since they
 * depend on per-request PHP state.
 */
    .lazybg {background-image: none !important}
    
    /* Logout modal styling - matches cookies modal */
    .logout-modal {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: white;
        border: 2px solid var(--fossil-rim);
        box-shadow: 0 4px 20px rgba(0,0,0,0.2);
        z-index: 99999;
        max-width: 500px;
        width: 90%;
    }
    .logout-modal .top-bar {
        background: var(--fossil-rim);
        color: white;
        padding: 16px 24px;
        text-align: center;
    }
    .logout-modal .top-bar h4 {
        margin: 0;
        font-family: "source-sans-pro", sans-serif; font-weight: 700;
        font-size: 20px;
    }
    .logout-modal .bottom-section {
        padding: 32px 24px;
        text-align: center;
    }
    .logout-modal .bottom-section p {
        margin-bottom: 24px;
        font-size: 16px;
    }
    .logout-button-flex {
        display: flex;
        gap: 16px;
        justify-content: center;
        flex-wrap: wrap;
    }
    .logout-button-flex button {
        background: var(--monarch-alt);
        color: white;
        border: 0;
        padding: 12px 24px;
        font-family: "source-sans-pro", sans-serif; font-weight: 700;
        cursor: pointer;
        border-radius: 4px;
        transition: all 0.3s ease;
    }
    .logout-button-flex button:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    .logout-button-flex button.alt {
        background: var(--cream);
        color: var(--fossil-rim);
        border: 1px solid rgba(95,85,65,.2);
    }
    .logout-success {
        text-align: center;
    }
    .logout-success .subhead-bold {
        font-family: "source-sans-pro", sans-serif; font-weight: 700;
        font-size: 18px;
        color: var(--monarch-alt);
        margin-bottom: 16px;
    }
    .logout-countdown {
        font-size: 16px;
        color: var(--fossil-rim);
    }
    .logout-countdown .countdown-number {
        font-family: "source-sans-pro", sans-serif; font-weight: 700;
        font-size: 24px;
        color: var(--monarch-alt);
    }
    /* Promo code validation feedback (shown when Tessitura rejects the code) */
    .hmns-tessitura-bar .promo-flex,
    .mobile-tessitura-bar .promo-flex {
        position: relative;
    }
    .hmns-tessitura-bar .promo-fail:not(.hide),
    .mobile-tessitura-bar .promo-fail:not(.hide) {
        display: block !important;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 3;
        padding: 5px 8px;
        margin: 0;
        font-family: "source-sans-pro", sans-serif;
        font-weight: 700;
        font-size: 11px;
        line-height: 1.25;
        text-align: center;
        color: var(--cream, #fff);
        background: var(--monarch, #AF6420);
        border-radius: 2px;
        pointer-events: none;
    }
    .mobile-tessitura-bar .tessitura-cell-separator {
        align-self: center;
        width: 1px;
        height: 24px;
        margin: 0 8px;
        background: #d9d9d9;
        flex: 0 0 auto;
    }
    .mobile-tessitura-bar .tessitura-cell.user-menu {
        position: relative;
        display: flex;
        align-items: center;
    }
    .mobile-tessitura-bar .tessitura-cell.user-menu .logged-in,
    .mobile-tessitura-bar .tessitura-cell.user-menu .logged-out {
        align-items: center;
    }
    .mobile-tessitura-bar .tessitura-cell.user-menu .logged-in:not(.hide),
    .mobile-tessitura-bar .tessitura-cell.user-menu .logged-out:not(.hide) {
        display: flex;
    }
    .mobile-tessitura-bar .tessitura-cell.user-menu .logged-out a {
        color: var(--cream);
    }
    .mobile-tessitura-bar .tessitura-cell.user-menu .user-dropdown {
        right: 0;
        left: auto;
        z-index: 10000;
    }
    /* Cart locked while an add-to-cart is in flight (window.hmnsCartBusy).
       The click itself is blocked in JS; this is the visual/cursor feedback.
       Intentionally no pointer-events:none so the not-allowed cursor still shows. */
    .tessitura-cell.cart.cart-busy,
    .tessitura-cell.cart.cart-busy * {
        cursor: not-allowed;
    }
    .tessitura-cell.cart.cart-busy {
        opacity: 0.6;
    }

/* Header stack layout (was inline <style id="hmns-header-stack-layout">). */
	/* Filled by hmnsApplyHeaderStackOffset() via --hmns-header-stack-height (distance from viewport top to bottom of fixed header stack). */
	#container {
		/* Fallback ≈ .top-nav (53px) + header band (~122px) before JS measures */
		padding-top: var(--hmns-header-stack-height, 175px);
	}
	body.admin-bar #container {
		padding-top: var(--hmns-header-stack-height, calc(175px + 32px));
	}
	@media screen and (max-width: 786px) {
		body.admin-bar #container {
			padding-top: var(--hmns-header-stack-height, calc(175px + 46px));
		}
	}
