/* ============================================================
   TOUR ENGINE – spotlight-alapú oldal-bemutató
   ============================================================ */

.tour-overlay {
    position: fixed;
    inset: 0;
    z-index: 980;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--t-mid) var(--ease-premium);
}

.tour-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.tour-spotlight {
    position: fixed;
    border-radius: var(--radius-m);
    box-shadow: 0 0 0 9999px rgba(3, 5, 9, 0.78);
    border: 1px solid var(--border-glow-cyan);
    pointer-events: none;
    transition: left var(--t-mid) var(--ease-premium), top var(--t-mid) var(--ease-premium),
        width var(--t-mid) var(--ease-premium), height var(--t-mid) var(--ease-premium);
}

.tour-tooltip {
    position: fixed;
    width: min(320px, 86vw);
    padding: 16px 18px;
    border-radius: var(--radius-m);
    background: linear-gradient(160deg, var(--c-panel-light), var(--c-panel));
    border: 1px solid var(--border-glow-cyan);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
    transition: left var(--t-mid) var(--ease-premium), top var(--t-mid) var(--ease-premium);
}

.tour-tooltip-eyebrow {
    margin: 0 0 4px;
    color: var(--c-cyan);
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 0.62rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.tour-tooltip-title {
    margin: 0 0 6px;
    color: var(--c-text);
    font-family: "Cinzel", "Montserrat", serif;
    font-size: 1.05rem;
}

.tour-tooltip-text {
    margin: 0 0 14px;
    color: var(--c-text-dim);
    font-family: "Montserrat", sans-serif;
    font-size: 0.82rem;
    line-height: 1.45;
}

.tour-tooltip-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.tour-tooltip-progress {
    color: var(--c-text-dim);
    font-family: "Montserrat", sans-serif;
    font-size: 0.68rem;
}

.tour-tooltip-actions {
    display: flex;
    gap: 8px;
}

.tour-btn {
    padding: 7px 14px;
    border-radius: var(--radius-m);
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.04);
    color: var(--c-text);
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background var(--t-fast) var(--ease-premium), transform var(--t-fast) var(--ease-premium);
}

.tour-btn:hover {
    transform: translateY(-1px);
}

.tour-btn--skip:hover {
    background: rgba(255, 255, 255, 0.08);
}

.tour-btn--next {
    background: linear-gradient(180deg, var(--c-cyan), #1b8fc4);
    border-color: var(--border-glow-cyan);
    color: #04202b;
}

.tour-btn--next:hover {
    box-shadow: 0 0 16px rgba(76, 212, 255, 0.4);
}
