/*
|--------------------------------------------------------------------------
| T-Dev Design System
|--------------------------------------------------------------------------
*/

/* =========================================================
   CSS VARIABLES
========================================================= */

:root {

    /* Brand */
    --primary: #2563eb;
    --primary-hover: #1d4ed8;
    --primary-light: #3b82f6;
    --primary-accent: #60a5fa;
    --primary-soft: #eff6ff;

    /* Backgrounds */
    --bg: #f8fafc;
    --surface: #ffffff;
    --surface-light: #f1f5f9;

    /* Text */
    --text: #172033;
    --text-muted: #5f6b7a;
    --heading: #172033;

    /* Borders */
    --border: #e2e8f0;
    --border-light: #eef2f7;

    /* Header */
    --header-bg: #ffffff;

    /* Footer */
    --footer-bg: #111827;
    --footer-text: #cbd5e1;
    --footer-muted: #94a3b8;

    /* Common */
    --white: #ffffff;
    --black: #000000;

    /* Layout */
    --container-width: 1280px;

    /* Radius */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;

    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.05);
    --shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);

    /* Theme */
    color-scheme: light;
}


/* =========================================================
   DARK MODE VARIABLES
========================================================= */

body.dark-mode {

    /* Brand */
    --primary: #3b82f6;
    --primary-hover: #60a5fa;
    --primary-light: #60a5fa;
    --primary-accent: #93c5fd;
    --primary-soft: #172554;

    /* Backgrounds */
    --bg: #0b1220;
    --surface: #111827;
    --surface-light: #0f172a;

    /* Text */
    --text: #f8fafc;
    --text-muted: #a7b0c0;
    --heading: #f8fafc;

    /* Borders */
    --border: #263244;
    --border-light: #1e293b;

    /* Header */
    --header-bg: #0f172a;

    /* Footer */
    --footer-bg: #0b1220;
    --footer-text: #cbd5e1;
    --footer-muted: #a7b0c0;

    /* Theme */
    color-scheme: dark;
}


/* =========================================================
   RESET
========================================================= */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* =========================================================
   HTML
========================================================= */

html {
    scroll-behavior: smooth;
}


/* =========================================================
   BODY
========================================================= */

body {

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;

    background: var(--bg);

    color: var(--text);

    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* =========================================================
   HEADINGS
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {

    color: var(--heading);

    line-height: 1.25;

    font-weight: 700;
}


/* =========================================================
   LINKS
========================================================= */

a {

    color: inherit;

    text-decoration: none;
}


/* =========================================================
   IMAGES
========================================================= */

img {

    max-width: 100%;

    height: auto;

    display: block;
}


/* =========================================================
   BUTTONS / FORM ELEMENTS
========================================================= */

button,
input,
textarea,
select {

    font: inherit;
}


/* =========================================================
   CONTAINER
========================================================= */

.container {

    width: 100%;

    max-width: var(--container-width);

    margin: 0 auto;

    padding-left: 24px;

    padding-right: 24px;
}


/* =========================================================
   UTILITY
========================================================= */

.text-center {
    text-align: center;
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

:focus-visible {

    outline: 3px solid rgba(37, 99, 235, 0.35);

    outline-offset: 2px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;

        scroll-behavior: auto !important;
    }
}


/* =========================================================
   THEME TRANSITION
========================================================= */

body,
.site-header,
.mobile-navigation,
.header-search-panel,
.page-content-inner,
.site-footer,
.icon-btn,
.mobile-menu-toggle,
.header-search-form input {

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}