/* Dark-theme overrides for Driver.js to match the Mantine dark colour scheme.
   Driver.js uses `all: unset` on .driver-popover and sets button styles via the
   combinator selector `.driver-popover-footer button`, so we mirror that
   specificity and suppress the default text-shadow that causes doubled text. */

.driver-popover {
    background-color: #1a1b1e !important;
    color: #c1c2c5 !important;
    border: 1px solid #373a40 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6) !important;
    min-width: 300px !important;
    max-width: 420px !important;
}

.driver-popover-title {
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
}

.driver-popover-description {
    color: #c1c2c5 !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
}

.driver-popover-description b,
.driver-popover-description strong {
    color: #339af0;
}

.driver-popover-description em {
    color: #a9e34b;
}

/* Footer */
.driver-popover-footer {
    margin-top: 12px !important;
}

/* All buttons — override the Driver.js combinator rule including text-shadow */
.driver-popover-footer button {
    background-color: #2c2e33 !important;
    border: 1px solid #373a40 !important;
    color: #c1c2c5 !important;
    border-radius: 6px !important;
    font-size: 0.8rem !important;
    padding: 6px 14px !important;
    text-shadow: none !important;
    cursor: pointer !important;
    transition: transform 0.08s ease, box-shadow 0.08s ease !important;
}

.driver-popover-footer button:hover,
.driver-popover-footer button:focus {
    background-color: #2c2e33 !important;
    color: #c1c2c5 !important;
    border-color: #373a40 !important;
}

.driver-popover-footer button.driver-btn-pressed {
    transform: translateY(2px) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.45) !important;
}

/* Next / Done button (blue) */
.driver-popover-footer .driver-popover-next-btn {
    background-color: #1971c2 !important;
    border-color: #1971c2 !important;
    color: #ffffff !important;
}

.driver-popover-footer .driver-popover-next-btn:hover,
.driver-popover-footer .driver-popover-next-btn:focus {
    background-color: #1971c2 !important;
    border-color: #1971c2 !important;
    color: #ffffff !important;
}

/* Disabled buttons */
.driver-popover-footer .driver-popover-btn-disabled {
    opacity: 0.4 !important;
}

/* Close (×) button */
.driver-popover-close-btn {
    color: #868e96 !important;
    text-shadow: none !important;
}

.driver-popover-close-btn:hover,
.driver-popover-close-btn:focus {
    color: #868e96 !important;
}

/* Progress text */
.driver-popover-progress-text {
    color: #868e96 !important;
    font-size: 0.78rem !important;
}

/* Arrow — match the dark popover background */
.driver-popover-arrow {
    border-color: #1a1b1e !important;
}

.driver-popover-arrow-side-left {
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
    border-top-color: transparent !important;
}

.driver-popover-arrow-side-right {
    border-left-color: transparent !important;
    border-bottom-color: transparent !important;
    border-top-color: transparent !important;
}

.driver-popover-arrow-side-top {
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
}

.driver-popover-arrow-side-bottom {
    border-left-color: transparent !important;
    border-top-color: transparent !important;
    border-right-color: transparent !important;
}
