/* InstantPlan "Guide me" (js/entryGuide.js, Pages/IntakeForm/SubComponents/EntryGuide.razor): the ring around the next
   entry and the "Next" tag set in its edge. Blue = EstateView needs it for the plan, yellow = optional. */
.ev-guide-ring {
    position: fixed;
    z-index: 1020; /* under the fixed step buttons (1025), the Sections panel and every dialog */
    pointer-events: none;
    border: 3px solid var(--ev-blue);
    border-radius: 10px;
    box-shadow: 0 0 0 4px rgba(11, 94, 215, 0.22);
    animation: evGuidePulseRequired 1.4s ease-out 2;
}

.ev-guide-ring.ev-guide-optional {
    border-color: var(--ev-highlight);
    box-shadow: 0 0 0 4px rgba(255, 171, 0, 0.3);
    animation-name: evGuidePulseOptional;
}

.ev-guide-tag {
    position: fixed;
    z-index: 1021;
    pointer-events: none;
    padding: 1px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    color: #fff;
    background: var(--ev-blue);
    box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(0, 0, 0, 0.2); /* the white edge sets it into the ring */
}

.ev-guide-tag.ev-guide-optional {
    color: var(--ev-dark-blue);
    background: var(--ev-highlight);
}

@keyframes evGuidePulseRequired {
    0% { box-shadow: 0 0 0 4px rgba(11, 94, 215, 0.45); }
    70% { box-shadow: 0 0 0 14px rgba(11, 94, 215, 0); }
    100% { box-shadow: 0 0 0 4px rgba(11, 94, 215, 0.22); }
}

@keyframes evGuidePulseOptional {
    0% { box-shadow: 0 0 0 4px rgba(255, 171, 0, 0.55); }
    70% { box-shadow: 0 0 0 14px rgba(255, 171, 0, 0); }
    100% { box-shadow: 0 0 0 4px rgba(255, 171, 0, 0.3); }
}

@media (prefers-reduced-motion: reduce) {
    .ev-guide-ring {
        animation: none;
    }
}

/* While the guide is on, yellow means only "optional next entry": the usual yellow outline on calculator fields and
   the "Calculators only require highlighted fields" note step aside until it is turned off. */
body.ev-guide-on #mainFormElement .highlight {
    border-color: var(--bs-border-color, #dee2e6) !important;
    box-shadow: none !important;
}

body.ev-guide-on #mainFormElement .highlight > .btn {
    border-color: var(--bs-btn-border-color);
}

body.ev-guide-on #mainFormElement span:has(> .highlight-header) {
    display: none;
}

@media print {
    .ev-guide-ring,
    .ev-guide-tag {
        display: none !important;
    }
}

/* While the Results tour after the Trial Grounds is on (js/resultsTour.js), the Super Save invitation waits until it
   ends, so a new planner meets one guide at a time. */
body.ev-results-tour-on .super-save-invite {
    display: none;
}
