/* ── Gotcha 2026 Base CSS ── */
:root {
    --color-primary:        #2563eb;
    --color-primary-hover:  #1d4ed8;
    --color-secondary:      #64748b;
    --color-accent:         #f59e0b;
    --color-bg:             #ffffff;
    --color-bg-alt:         #f8fafc;
    --color-bg-dark:        #0f172a;
    --color-border:         #e2e8f0;
    --color-text:           #1e293b;
    --color-text-muted:     #64748b;
    --color-text-light:     #ffffff;
    --font-heading:         'Inter', system-ui, sans-serif;
    --font-body:            'Inter', system-ui, sans-serif;
    --font-size-base:       16px;
    --font-size-xs:         .75rem;
    --font-size-sm:         .875rem;
    --font-size-lg:         1.125rem;
    --font-size-xl:         1.25rem;
    --font-size-2xl:        1.5rem;
    --font-size-3xl:        1.875rem;
    --font-size-4xl:        2.25rem;
    --font-weight-normal:   400;
    --font-weight-medium:   500;
    --font-weight-semibold: 600;
    --font-weight-bold:     700;
    --line-height-tight:    1.25;
    --line-height-normal:   1.6;
    --space-xs:   .25rem;
    --space-sm:   .5rem;
    --space-md:   1rem;
    --space-lg:   1.5rem;
    --space-xl:   2rem;
    --space-2xl:  3rem;
    --space-3xl:  4rem;
    --space-4xl:  6rem;
    --container-max:     1200px;
    --container-padding: 1.5rem;
    --sidebar-width:     300px;
    --content-gap:       2rem;
    --header-height:     70px;
    --header-bg:         #ffffff;
    --header-text:       #1e293b;
    --header-border:     #e2e8f0;
    --header-sticky:     1;
    --footer-bg:         #0f172a;
    --footer-text:       #94a3b8;
    --footer-heading:    #ffffff;
    --footer-columns:    4;
    --radius-sm:    4px;
    --radius-md:    8px;
    --radius-lg:    12px;
    --radius-full:  9999px;
    --shadow-sm:    0 1px 3px rgba(0,0,0,.08);
    --shadow-md:    0 4px 12px rgba(0,0,0,.10);
    --shadow-lg:    0 10px 30px rgba(0,0,0,.12);
    --transition-fast:  150ms ease;
    --transition-base:  250ms ease;
    --z-dropdown:   100;
    --z-sticky:     200;
    --z-overlay:    300;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: var(--font-size-base); scroll-behavior: smooth; overflow-x: hidden; overflow-x: clip; }
body {
    font-family: var(--font-body) !important;
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-normal) !important;
    color: var(--color-text) !important;
    background-color: var(--color-bg) !important;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    overflow-x: clip;
    max-width: 100%;
}
img, iframe, video, embed, object { max-width: 100%; height: auto; }
h1,h2,h3,h4,h5,h6 {
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    color: var(--color-text);
}
h1 { font-size: var(--font-size-4xl); }
h2 { font-size: var(--font-size-3xl); }
h3 { font-size: var(--font-size-2xl); }
h4 { font-size: var(--font-size-xl); }
p  { margin-bottom: var(--space-md); }
p:last-child { margin-bottom: 0; }
a  { color: var(--color-primary); text-decoration: none; transition: color var(--transition-fast); }
a:hover { color: var(--color-primary-hover); }
img, video { max-width: 100%; height: auto; display: block; }
::selection { background: var(--color-primary); color: #fff; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0; }

/* Override Bootstrap primary color */
.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}
.btn-primary:hover {
    background-color: var(--color-primary-hover) !important;
    border-color: var(--color-primary-hover) !important;
}
.btn-outline-primary {
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}
.btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: #fff !important;
}
.text-primary { color: var(--color-primary) !important; }
.bg-primary    { background-color: var(--color-primary) !important; }
