/* ============================================
   INTRO.JS / ONBOARDING TOUR STYLES
   ============================================ */

/* RTL Support */
html[dir="rtl"] .introjs-tooltip {
    direction: rtl;
    text-align: right;
}

html[dir="rtl"] .introjs-tooltipbuttons {
    text-align: left;
    flex-direction: row-reverse !important;
}

/* Tooltip Styling */
.introjs-tooltip {
    font-family: 'Tajawal', sans-serif;
    width: 90% !important;
    max-width: 500px !important;
    max-height: calc(100vh - 40px) !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    position: fixed !important;
    overflow: hidden !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 auto !important;
    pointer-events: auto !important;
    z-index: 999999 !important;
}

/* Reduce vertical padding inside tooltip content */
.introjs-tooltip .introjs-tooltiptext {
    padding-top: 4px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important; /* tighten gap above buttons */
}

/* Tooltip positioning classes */
.introjs-tooltip.tooltip-top {
    top: 20px !important;
    bottom: auto !important;
}

.introjs-tooltip.tooltip-bottom {
    bottom: 20px !important;
    top: auto !important;
}


/* Ensure tooltip doesn't exceed viewport width on small screens */
@media (max-width: 600px) {
    .introjs-tooltip {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
    }
}

/* Ensure tooltip reference point stays within viewport */
.introjs-tooltipReferenceLayer {
    max-width: 100vw !important;
    max-height: 100vh !important;
    overflow: visible !important;
}

/* Prevent Horizontal Scroll */
body.introjs-fixParent,
html.introjs-fixParent {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* Button Styling */
.introjs-tooltipbuttons {
    display: flex !important;
    gap: 10px !important;
    margin-top: 10px !important; /* reduce space between text and buttons */
    justify-content: center !important;
    pointer-events: auto !important;
    z-index: 1000 !important;
    position: relative !important;
}

.introjs-button {
    padding: 10px 20px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    border: none !important;
    pointer-events: auto !important;
    z-index: 1001 !important;
    position: relative !important;
}

.introjs-prevbutton {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
}

.introjs-nextbutton,
.introjs-donebutton {
    background-color: #ecfdf5 !important;
    color: #047857 !important;
}

/* Modal-style close button in top-right corner */
.introjs-skipbutton {
    background-color: transparent !important;
    color: #6b7280 !important;
    padding: 0 !important;
    min-width: auto !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    margin: 0 !important;
    border: none !important;
    cursor: pointer !important;
    z-index: 1002 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.introjs-skipbutton:hover {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
}

/* Replace skip text with close icon (×) */
.introjs-skipbutton::after {
    content: "×" !important;
    position: absolute !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: inherit !important;
    font-weight: normal !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* RTL support for close button */
html[dir="rtl"] .introjs-skipbutton {
    right: auto !important;
    left: 4px !important;
}

/* Overlay */
.introjs-overlay {
    z-index: 999997 !important;
}

/* Helper Layer - Ensure it's visible and properly positioned */
.introjs-helperLayer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999998 !important;
    pointer-events: none !important;
    border: none !important;
    box-sizing: border-box !important;
    position: fixed !important;
}

/* Red border for highlighted/focused section */
.introjs-helperLayer.introjs-highlight {
    border: none !important;
    box-shadow: 0 2px 4px 0 #ccc !important;
    outline: none !important;
    padding: 0 8px !important;
}

/* Helper layer alignment using CSS custom properties */
.introjs-helperLayer.needs-alignment {
    top: var(--align-top) !important;
    left: var(--align-left) !important;
    width: var(--align-width) !important;
    height: var(--align-height) !important;
}

/* Fix for elements inside overflow containers */
.introjs-fixParent {
    overflow: visible !important;
}

/* Tour active overlay */
#sidebar-overlay.tour-active {
    z-index: 30 !important;
}

/* Mobile Styles */
@media (max-width: 1023px) {
    .introjs-tooltip {
        max-height: 85vh !important;
        overflow-y: visible !important;
    }
}
