/*
 * Sofisis in-admin tours — engine styles.
 * Small overrides on top of the vendored driver.js theme (vendor/driver.min.css).
 */

.driver-popover.sofisis-tour {
    max-width: 340px;
    border-radius: 6px;
}

.driver-popover.sofisis-tour .driver-popover-title {
    font-weight: 600;
    font-size: 15px;
}

.driver-popover.sofisis-tour .driver-popover-description {
    font-size: 13px;
    line-height: 1.4;
    /* Support hints can be long and come from user input; keep them readable. */
    white-space: pre-wrap;
    word-break: break-word;
}

/* Tie the highlight accent to the tenant primary color when available. */
.driver-popover.sofisis-tour .driver-popover-navigation-btns button {
    background-color: var(--primary);
    color: #fff;
    border: none;
    text-shadow: none;
}

/* "Click here" pointer: a bouncing green arrow + a pulsing ring over the target. */
.sofisis-tour-clickhint {
    position: fixed;
    z-index: 100000;
    width: 0;
    height: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.sofisis-tour-clickhint .sofisis-tour-ring {
    position: absolute;
    left: -23px;
    top: -23px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 3px solid #28a745;
    opacity: .9;
    animation: sofisis-tour-pulse 1.2s ease-out infinite;
}

.sofisis-tour-clickhint .sofisis-tour-cursor {
    position: absolute;
    left: -10px;
    top: -40px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 16px solid #28a745;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .35));
    animation: sofisis-tour-bounce 1s ease-in-out infinite;
}

@keyframes sofisis-tour-pulse {
    0%   { transform: scale(.55); opacity: .9; }
    70%  { opacity: .12; }
    100% { transform: scale(1.7); opacity: 0; }
}

@keyframes sofisis-tour-bounce {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-9px); }
}
