/* Tour guidato */
.tour-ring {
    position: absolute;
    z-index: 9998;
    border-radius: 18px;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, .55), 0 0 0 1.5px rgba(46, 189, 133, .9);
    pointer-events: none;
    opacity: 0;
    transition: top .5s cubic-bezier(.22,.8,.3,1), left .5s cubic-bezier(.22,.8,.3,1),
                width .5s cubic-bezier(.22,.8,.3,1), height .5s cubic-bezier(.22,.8,.3,1),
                opacity .3s ease;
}
.tour-ring.is-visible { opacity: 1; }
.tour-ring.is-action {
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, .55), 0 0 0 1.5px rgba(46, 189, 133, .9),
                0 0 28px 4px rgba(46, 189, 133, .35);
}
.tour-wave {
    position: absolute;
    inset: -16px;
    border-radius: 28px;
    opacity: 0;
    pointer-events: none;
    display: none;
    filter: blur(4px);
    box-shadow: 0 0 0 3px rgba(46, 189, 133, .8), 0 0 30px 8px rgba(46, 189, 133, .45);
}
.tour-ring.is-action .tour-wave {
    display: block;
    animation: tourWave 2.1s cubic-bezier(.3,.6,.4,1) infinite;
}
.tour-ring.is-action .tour-wave-2 { animation-delay: 1.05s; }
@keyframes tourWave {
    0%   { transform: scale(1.45); opacity: 0; }
    35%  { opacity: .85; }
    100% { transform: scale(.96); opacity: 0; }
}

.tour-tooltip {
    position: absolute;
    z-index: 9999;
    width: min(340px, calc(100vw - 32px));
    background: var(--actv-surface, #1c1f22);
    color: var(--actv-ink, #eee);
    border: 1px solid var(--actv-border, #333);
    border-radius: 20px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .45);
    transition: top .5s cubic-bezier(.22,.8,.3,1), bottom .5s cubic-bezier(.22,.8,.3,1),
                opacity .3s ease, transform .5s cubic-bezier(.22,.8,.3,1);
}
.tour-tooltip::before {
    content: '';
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--actv-green, #2ebd85), var(--color-primary-blue, #0d6efd));
}
.tour-progress {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--actv-green-dark, #2ebd85);
    padding: 14px 18px 0;
}
.tour-title { font-size: 18px; font-weight: 800; letter-spacing: -.02em; padding: 4px 18px 0; }
.tour-text { font-size: 14px; line-height: 1.5; color: var(--actv-muted, #9aa0a6); padding: 8px 18px 0; }
.tour-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 18px 16px;
}
.tour-next {
    border: 0;
    border-radius: 999px;
    padding: 9px 22px;
    font-weight: 700;
    font-size: 14px;
    background: linear-gradient(135deg, var(--actv-green, #2ebd85), #26a06f);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(46, 189, 133, .35);
    transition: transform .15s ease, box-shadow .15s ease;
}
.tour-next:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(46, 189, 133, .45); }
.tour-skip {
    border: 0;
    background: none;
    color: var(--actv-muted, #9aa0a6);
    font-size: 13px;
    cursor: pointer;
    padding: 6px 0;
    text-decoration: none;
    opacity: .8;
    transition: opacity .15s ease;
}
.tour-skip:hover { opacity: 1; text-decoration: underline; }
.tour-hint { font-size: 13px; color: var(--actv-green-dark, #2ebd85); font-weight: 700; text-align: right; }
.tour-skip, .tour-hint { white-space: nowrap; flex-shrink: 0; }
