/* ---------------------------------------------------------------------------
   Site-wide entry pop-up (Stage 1f)

   Shown once per browser SESSION, not once per page: the visitor meets it when
   they arrive and never again while they move around the site. sessionStorage is
   what makes that distinction — localStorage would hide it for weeks, a plain
   variable would show it on every navigation.

   Colours come from the theme's existing custom properties with literal
   fallbacks, so this inherits the Stage 3 repaint instead of having to be
   rewritten by it.
   --------------------------------------------------------------------------- */

.idc-promo {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.idc-promo.is-open { display: flex; }

.idc-promo-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 14, 4, .72);
    backdrop-filter: blur(2px);
}

.idc-promo-card {
    position: relative;
    width: min(420px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 34px 30px 30px;
    text-align: center;
    border: 1px solid var(--gold, #D4AF37);
    border-radius: var(--radius-md, 14px);
    background: var(--bg-card, #14121c);
    box-shadow: 0 24px 60px rgba(20, 14, 4, .55);
}

/* The close control is a real button in the corner, sized for a thumb. */
.idc-promo-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    color: var(--gold, #D4AF37);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}

.idc-promo-close:hover,
.idc-promo-close:focus-visible {
    background: rgba(212, 175, 55, .12);
    border-color: var(--gold, #D4AF37);
    outline: none;
}

.idc-promo-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--gold, #D4AF37);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.idc-promo-title {
    margin: 0 0 6px;
    font-family: var(--font-heading, Georgia, serif);
    font-size: 1.6rem;
    line-height: 1.2;
    text-wrap: balance;
    color: #F5F0E8;
}

.idc-promo-title span { color: var(--gold, #D4AF37); }

.idc-promo-rule {
    width: 68px;
    height: 1px;
    margin: 14px auto;
    background: linear-gradient(90deg, transparent, var(--gold, #D4AF37), transparent);
}

.idc-promo-text {
    margin: 0 0 22px;
    color: rgba(245, 240, 232, .78);
    font-size: .93rem;
    line-height: 1.6;
}

.idc-promo-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.idc-promo-btn {
    display: block;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease;
}

.idc-promo-btn--primary {
    background: var(--gold, #D4AF37);
    color: #1a1508;
}

.idc-promo-btn--ghost {
    border: 1px solid rgba(212, 175, 55, .45);
    color: var(--gold, #D4AF37);
}

.idc-promo-btn:hover { transform: translateY(-1px); }
.idc-promo-btn--ghost:hover { background: rgba(212, 175, 55, .1); }

@media (prefers-reduced-motion: reduce) {
    .idc-promo-btn,
    .idc-promo-close { transition: none; }
    .idc-promo-btn:hover { transform: none; }
}
