/* Explain: Page layout utilities for hero, features, and footer sections. */
/* לוגו – סמל מעוגל בגרדיאנט כחול ואינדיגו */
.logo-mark {
    background: linear-gradient(135deg, var(--brand-blue) 0%, var(--cyan-color) 100%);
    box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--accent-color) 55%, transparent);
}

/* שכבת כיסוי כהה מעל תמונת הרקע של אזור הפתיחה – שומרת על קריאות הטקסט */
.hero-overlay {
    background:
        linear-gradient(to left,
            color-mix(in srgb, var(--secondary-color) 96%, transparent) 0%,
            color-mix(in srgb, var(--secondary-color) 86%, transparent) 50%,
            color-mix(in srgb, var(--secondary-color) 70%, transparent) 100%),
        linear-gradient(to top,
            color-mix(in srgb, var(--secondary-color) 80%, transparent) 0%,
            transparent 40%);
}

/* הילה כתומה עדינה לעומק */
.hero-glow {
    width: 32rem;
    height: 32rem;
    top: -10rem;
    right: -10rem;
    border-radius: 9999px;
    background: radial-gradient(circle, color-mix(in srgb, var(--cyan-color) 16%, transparent) 0%, transparent 70%);
    pointer-events: none;
}

/* רשת עדינה מעל אזור הפתיחה */
.hero-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(to bottom, #000 0%, transparent 85%);
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 85%);
    pointer-events: none;
}

/* קו הדגשה כתום מתחת לחלק המודגש בכותרת */
.hero-highlight {
    color: var(--cyan-color) !important;
    background-image: linear-gradient(to left, color-mix(in srgb, var(--cyan-color) 35%, transparent), transparent);
    background-repeat: no-repeat;
    background-size: 100% 0.3em;
    background-position: 0 92%;
}

/* נקודות דקורטיביות ברקע אזור "מה תקבלו" */
.features-dots {
    background-image: radial-gradient(color-mix(in srgb, var(--secondary-color) 12%, transparent) 1.5px, transparent 1.5px);
    background-size: 22px 22px;
}

/* קשת עליונה מעוגלת לכותרת התחתונה */
.footer-curve {
    border-top-left-radius: 50% 2.5rem;
    border-top-right-radius: 50% 2.5rem;
    background: linear-gradient(135deg, var(--secondary-color) 0%, var(--brand-blue) 60%, var(--cyan-color) 130%) !important;
}

/* ההברה "Gen" בלוגו בצבע תכלת */
a[aria-label^="LMSGen"] .font-heading > span:last-child {
    color: var(--cyan-color) !important;
}

/* אריחי אייקונים בגרדיאנט כחול-טורקיז */
.bg-\[var\(--secondary-color\)\].rounded-xl,
.bg-\[var\(--secondary-color\)\].rounded-2xl {
    background-image: linear-gradient(135deg, var(--brand-blue), var(--accent-color));
}

@media (min-width: 768px) {
    .footer-curve {
        border-top-left-radius: 50% 4rem;
        border-top-right-radius: 50% 4rem;
    }
}

/* ===== חיפוש כללי בכותרת =====
   מוצג רק למשתמש מחובר בעמודי הדאשבורד: תיבה בכותרת במסך רחב, וכפתור שפותח שורת חיפוש במסך צר */
.header-search,
.header-search-toggle {
    display: none;
}

@media (min-width: 1024px) {
    body.has-sidebar .header-search {
        display: block;
    }
}

@media (max-width: 1023.98px) {
    body.has-sidebar .header-search-toggle {
        display: flex;
    }
}

/* ===== תפריט צד לדאשבורד ===== */
:root {
    --sidebar-width: 16rem;
    --sidebar-collapsed-width: 4.75rem;
}

/* ברירת מחדל: מוסתר. מופעל רק כשלגוף העמוד יש has-sidebar (משתמש מחובר בעמודי הניהול) */
.app-sidebar,
.app-sidebar-backdrop,
.sidebar-mobile-toggle {
    display: none;
}

.app-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    z-index: 60;
    width: min(18rem, 86vw);
    flex-direction: column;
    background: var(--surface-color);
    border-inline-end: 1px solid var(--border-color);
    box-shadow: -16px 0 40px -20px rgba(15, 42, 77, 0.45);
    transform: translateX(100%);
    visibility: hidden;
}

html[dir="ltr"] .app-sidebar {
    transform: translateX(-100%);
    box-shadow: 16px 0 40px -20px rgba(15, 42, 77, 0.45);
}

body.has-sidebar .app-sidebar {
    display: flex;
}

body.sidebar-ready .app-sidebar {
    transition: transform 0.25s ease, width 0.25s ease, visibility 0s linear 0.25s;
}

/* מגירה פתוחה (מסך צר או זום מוגדל) */
body.has-sidebar.sidebar-open .app-sidebar {
    transform: translateX(0);
    visibility: visible;
}

body.sidebar-ready.sidebar-open .app-sidebar {
    transition: transform 0.25s ease, width 0.25s ease, visibility 0s;
}

.app-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 55;
    background: rgba(11, 58, 122, 0.4);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

body.has-sidebar.sidebar-open .app-sidebar-backdrop {
    display: block;
    animation: sidebar-fade-in 0.2s ease;
}

@keyframes sidebar-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* החלפת אייקון כפתור הכיווץ/הרחבה */
.sidebar-icon-expand {
    display: none;
}

body.sidebar-collapsed .sidebar-icon-expand {
    display: inline-block;
}

body.sidebar-collapsed .sidebar-icon-collapse {
    display: none;
}

/* הניווט שבכותרת מוחלף בתפריט הצד בעמודי הדאשבורד */
body.has-sidebar #user-nav,
body.has-sidebar #mobile-nav-panel,
body.has-sidebar .header-menu-toggle,
body.has-sidebar .header-tour-btn {
    display: none !important;
}

/* מסך צר: כפתור ☰ ליד הלוגו פותח את המגירה */
@media (max-width: 1023.98px) {
    body.has-sidebar .sidebar-mobile-toggle {
        display: flex;
    }

    body.has-sidebar.sidebar-open {
        overflow: hidden;
    }

    .sidebar-collapse-btn {
        display: none !important;
    }
}

/* מסך רחב: התפריט קבוע בצד ודוחף את התוכן; ניתן לכווץ לפס אייקונים */
@media (min-width: 1024px) {
    body.has-sidebar {
        padding-inline-start: var(--sidebar-width);
    }

    body.has-sidebar.sidebar-collapsed {
        padding-inline-start: var(--sidebar-collapsed-width);
    }

    body.has-sidebar.sidebar-ready {
        transition: padding-inline-start 0.25s ease;
    }

    body.has-sidebar .app-sidebar {
        z-index: 40;
        width: var(--sidebar-width);
        transform: none;
        visibility: visible;
        box-shadow: -8px 0 28px -18px rgba(15, 42, 77, 0.35);
    }

    body.has-sidebar.sidebar-collapsed .app-sidebar {
        width: var(--sidebar-collapsed-width);
    }

    body.has-sidebar.sidebar-open .app-sidebar-backdrop {
        display: none;
    }

    .sidebar-close-btn {
        display: none !important;
    }

    /* מצב מכווץ: אייקונים בלבד – הכיתובים נשארים זמינים לקוראי מסך */
    body.sidebar-collapsed .app-sidebar .sidebar-label {
        position: absolute !important;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    body.sidebar-collapsed .sidebar-top,
    body.sidebar-collapsed .sidebar-link {
        justify-content: center;
    }

    body.sidebar-collapsed .sidebar-link {
        gap: 0;
        padding-inline: 0;
    }

    body.sidebar-collapsed .sidebar-user {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sidebar-ready .app-sidebar,
    body.has-sidebar.sidebar-ready {
        transition: none !important;
    }
}