/* ==========================================================================
   EDU LINKED — THEME.CSS
   Brand identity · depth system · gradients · polish · surface aesthetics
   ========================================================================== */


/* -------------------------------------------------------
   GLOBAL SURFACE & ELEVATION SYSTEM
   ------------------------------------------------------- */

.surface-flat {
    background: var(--color-surface);
    box-shadow: none;
}

.surface-raised {
    background: var(--color-surface);
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.surface-floating {
    background: var(--color-surface);
    box-shadow: 0 10px 28px rgba(0,0,0,0.10);
}

/* Focus rings (applied globally) */
:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}


/* -------------------------------------------------------
   BRAND GRADIENTS
   ------------------------------------------------------- */

.gradient-primary {
    background: linear-gradient(
        135deg,
        var(--edulinked-primary) 0%,
        var(--edulinked-primary-text) 100%
    );
}

.gradient-accent {
    background: linear-gradient(
        135deg,
        var(--edulinked-accent) 0%,
        var(--edulinked-accent-text) 100%
    );
}

.gradient-soft {
    background: linear-gradient(
        135deg,
        rgba(0,0,0,0.02),
        rgba(0,0,0,0.06)
    );
}


/* -------------------------------------------------------
   PAGE BACKGROUND POLISH
   (Soft, subtle, brand-neutral)
   ------------------------------------------------------- */

.theme-bg-soft {
    background: var(--color-bg-soft);
}

.theme-bg-alt {
    background: var(--color-bg-alt);
}

.theme-bg-gradient {
    background: linear-gradient(
        180deg,
        var(--color-bg) 0%,
        var(--color-bg-soft) 100%
    );
}


/* -------------------------------------------------------
   SECTION POLISH
   ------------------------------------------------------- */

.section-divider {
    height: 1px;
    width: 100%;
    background: var(--color-border-subtle);
    margin: var(--spacing-xl) 0;
}

.section-shadow {
    box-shadow: 0 -10px 20px rgba(0,0,0,0.04);
}


/* -------------------------------------------------------
   DECORATIVE ELEMENTS
   ------------------------------------------------------- */

.divider-gradient {
    height: 3px;
    width: 100%;
    background: linear-gradient(
        to right,
        var(--edulinked-primary),
        var(--edulinked-accent),
        var(--edulinked-secondary)
    );
}

.highlight-box {
    padding: var(--spacing-md);
    border-radius: 12px;
    background: var(--color-bg-soft);
    border: 1px solid var(--color-border-subtle);
}


/* -------------------------------------------------------
   TYPOGRAPHIC POLISH
   ------------------------------------------------------- */

.heading-accent {
    color: var(--edulinked-primary-text);
}

.heading-gradient {
    background: linear-gradient(
        135deg,
        var(--edulinked-primary) 0%,
        var(--edulinked-accent) 100%
    );
    -webkit-background-clip: text;
    color: transparent;
}

.subheading-muted {
    color: var(--color-text-muted);
}


/* -------------------------------------------------------
   TRANSITIONS (global page polish)
   ------------------------------------------------------- */

.theme-fade {
    animation: themeFade 0.4s ease-in-out;
}

@keyframes themeFade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.theme-slide-up {
    animation: themeSlideUp 0.35s ease-out;
}

@keyframes themeSlideUp {
    from { transform: translateY(15px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}


/* -------------------------------------------------------
   DARK MODE — THEME LAYER
   ------------------------------------------------------- */

[data-theme="dark"] .surface-floating {
    box-shadow: 0 10px 30px rgba(0,0,0,0.55);
}

[data-theme="dark"] .gradient-soft {
    background: linear-gradient(
        135deg,
        rgba(255,255,255,0.03),
        rgba(255,255,255,0.08)
    );
}

[data-theme="dark"] .highlight-box {
    background: var(--color-bg-alt);
    border-color: var(--color-border);
}

[data-theme="dark"] .divider-gradient {
    opacity: 0.7;
}
