/**
 * Nour Al-Bayan Interactive Platform - Word Display Cards & Themes
 * Full word box, segmented letters container, multi-layered elevation themes, and Hub lesson cards.
 */

.letter-box,
.seg-box {
    background: linear-gradient(180deg, var(--surface-card, #ffffff) 0%, #fafbfc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    transition: transform 0.3s var(--ease-bounce, cubic-bezier(0.175, 0.885, 0.32, 1.275)),
                box-shadow 0.3s var(--ease-standard, cubic-bezier(0.4, 0, 0.2, 1)),
                border-color 0.3s ease;
}

.letter-box {
    border-radius: 2.25rem;
    width: 100%;
    max-width: 780px;
    min-height: clamp(180px, 32vh, 320px);
    max-height: clamp(260px, 48vh, 420px);
    height: auto;
    flex-direction: column;
    font-size: calc(clamp(3rem, 8.5vw, 6.5rem) * var(--font-scale-factor, 1));
    padding: clamp(0.75rem, 2vw, 1.5rem) clamp(1rem, 3vw, 2.5rem);
    line-height: 2.1;
    letter-spacing: normal !important;
    overflow: hidden;
    box-sizing: border-box;
}

.letter-box.text-medium {
    font-size: calc(clamp(2.3rem, 6.2vw, 4.6rem) * var(--font-scale-factor, 1));
    line-height: 2.0;
}

.letter-box.text-long {
    font-size: calc(clamp(1.8rem, 4.6vw, 3.4rem) * var(--font-scale-factor, 1));
    line-height: 1.9;
}

.letter-box.text-xlong {
    font-size: calc(clamp(1.45rem, 3.6vw, 2.7rem) * var(--font-scale-factor, 1));
    line-height: 1.85;
}

.segmented-container {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: clamp(6px, 1.8vw, 20px);
    padding: 0.5rem;
    width: 100%;
    max-width: 860px;
    flex-wrap: wrap;
}

.seg-box {
    border-radius: 2rem;
    min-width: clamp(55px, 14vw, 190px);
    max-width: 280px;
    flex: 0 1 auto;
    height: clamp(180px, 34vh, 300px);
    min-height: 160px;
    font-size: calc(clamp(2.8rem, 7.5vw, 6rem) * var(--font-scale-factor, 1));
    padding: 0.5rem 1.25rem;
    line-height: 2.1;
    white-space: normal;
    word-break: break-word;
    letter-spacing: normal !important;
}

.word-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.1em 0.35em;
    direction: rtl;
    white-space: normal;
    max-width: 100%;
    letter-spacing: normal !important;
    line-height: inherit;
}

/* Multi-layered Themed Elevation */
.theme-green,
.theme-pink,
.theme-yellow,
.theme-blue {
    border: clamp(3px, 0.6vw, 5px) solid var(--theme-color);
    box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.03),
        0 10px 24px -4px rgba(var(--theme-rgb), 0.16),
        0 24px 48px -12px rgba(var(--theme-rgb), 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.95),
        inset 0 0 20px rgba(var(--theme-rgb), 0.04);
}

.theme-green  { --theme-color: #10b981; --theme-rgb: 16, 185, 129; }
.theme-pink   { --theme-color: #f472b6; --theme-rgb: 244, 114, 182; }
.theme-yellow { --theme-color: #f59e0b; --theme-rgb: 245, 158, 11; }
.theme-blue   { --theme-color: #3b82f6; --theme-rgb: 59, 130, 246; }

/* Special Challenge Modes */
.card-golden {
    border-color: #f59e0b !important;
    background: linear-gradient(180deg, #fffdfa 0%, #fef3c7 100%) !important;
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.3), 0 12px 32px -6px rgba(245, 158, 11, 0.35) !important;
}

.card-danger {
    border-color: #e11d48 !important;
    background: linear-gradient(180deg, #fffafb 0%, #ffe4e6 100%) !important;
    box-shadow: 0 0 0 1px rgba(225, 29, 72, 0.3), 0 12px 32px -6px rgba(225, 29, 72, 0.28) !important;
}

.card-speed {
    border-color: #0284c7 !important;
    background: linear-gradient(180deg, #f8fafc 0%, #e0f2fe 100%) !important;
    box-shadow: 0 0 0 1px rgba(2, 132, 199, 0.3), 0 12px 32px -6px rgba(2, 132, 199, 0.30) !important;
}

/* Hub Lesson Cards */
.lesson-card {
    background: var(--card-bg, #ffffff);
    border: 2px solid var(--border-color, #e2e8f0);
    border-radius: 20px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
    width: 100%;
}

@media (hover: hover) {
    .lesson-card:hover {
        transform: translateY(-3px);
        border-color: #34d399;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 14px 28px -6px rgba(16, 185, 129, 0.20);
        background: var(--card-bg, #ffffff);
    }
    .lesson-card:hover .card-arrow {
        color: var(--color-primary, #047857);
        transform: translateX(-4px);
    }
    [dir="ltr"] .lesson-card:hover .card-arrow {
        transform: translateX(4px);
    }
}

.lesson-card:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.card-num {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(4, 120, 87, 0.28), inset 0 1px 1px rgba(255, 255, 255, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.card-info {
    flex: 1;
    min-width: 0;
    text-align: start;
}

.card-badge {
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--primary, #047857);
    background: var(--primary-light, #ecfdf5);
    padding: 2px 8px;
    border-radius: 6px;
    display: inline-block;
    margin-bottom: 4px;
    letter-spacing: normal !important;
}

.card-title {
    font-size: 0.96rem;
    font-weight: 700;
    color: var(--text-main, #1e293b);
    margin: 0;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-arrow {
    font-size: 1.25rem;
    color: #64748b;
    transition: transform 0.25s ease, color 0.25s ease;
    flex-shrink: 0;
    font-weight: 900;
}
