/* ═══════════════════════════════════════════
   BASE DESIGN SYSTEM — TDS Calculator
   ═══════════════════════════════════════════ */

/* Tokens */
:root {
    --tds-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --tds-font-mono: 'SF Mono', 'Fira Code', monospace;

    /* Colors */
    --tds-primary: #1a2e6c;
    --tds-primary-light: #2563eb;
    --tds-primary-50: #eff6ff;
    --tds-primary-100: #dbeafe;
    --tds-primary-200: #bfdbfe;
    --tds-accent: #f59e0b;
    --tds-accent-dark: #b45309;

    --tds-text: #111827;
    --tds-text-secondary: #4b5563;
    --tds-text-muted: #9ca3af;
    --tds-text-inverse: #ffffff;

    --tds-bg: #f8fafc;
    --tds-surface: #ffffff;
    --tds-border: #e5e7eb;
    --tds-border-light: #f3f4f6;

    --tds-success: #059669;
    --tds-success-light: #ecfdf5;
    --tds-error: #dc2626;
    --tds-warning-light: #fffbeb;

    /* Spacing */
    --tds-space-xs: 4px;
    --tds-space-sm: 8px;
    --tds-space-md: 16px;
    --tds-space-lg: 24px;
    --tds-space-xl: 32px;
    --tds-space-2xl: 48px;
    --tds-space-3xl: 64px;

    /* Layout */
    --tds-max-width: 1280px;
    --tds-radius-sm: 6px;
    --tds-radius-md: 10px;
    --tds-radius-lg: 16px;
    --tds-radius-full: 100px;

    /* Shadows */
    --tds-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --tds-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --tds-shadow-lg: 0 8px 24px rgba(0,0,0,0.12);

    --tds-transition: 0.2s ease;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: var(--tds-font);
    color: var(--tds-text);
    background: var(--tds-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--tds-primary-light); text-decoration: none; transition: color var(--tds-transition); }
a:hover { color: var(--tds-primary); }
img { max-width: 100%; height: auto; }

/* Container */
.tds-container { max-width: var(--tds-max-width); margin: 0 auto; padding: 0 var(--tds-space-lg); }

/* Section spacing */
.tds-section { padding: var(--tds-space-2xl) 0; }
.tds-section__title { font-size: 1.5rem; font-weight: 700; margin-bottom: var(--tds-space-xl); color: var(--tds-text); }

/* Buttons */
.tds-btn {
    display: inline-flex; align-items: center; gap: var(--tds-space-sm);
    padding: 12px 28px; border-radius: var(--tds-radius-md);
    font-family: var(--tds-font); font-size: 0.95rem; font-weight: 600;
    cursor: pointer; transition: all var(--tds-transition); border: 2px solid transparent;
    text-decoration: none;
}
.tds-btn--primary {
    background: var(--tds-primary-light); color: white; border-color: var(--tds-primary-light);
    box-shadow: 0 2px 8px rgba(37,99,235,0.3);
}
.tds-btn--primary:hover { background: var(--tds-primary); border-color: var(--tds-primary); color: white; transform: translateY(-1px); }
.tds-btn--outline { background: transparent; color: var(--tds-text); border-color: var(--tds-border); }
.tds-btn--outline:hover { border-color: var(--tds-primary-light); color: var(--tds-primary-light); }
.tds-btn--small { padding: 8px 18px; font-size: 0.85rem; }

/* Link arrow */
.tds-link--arrow { font-size: 0.9rem; font-weight: 600; color: var(--tds-primary-light); }
.tds-link--arrow:hover { text-decoration: underline; }

/* Toggle switch */
.tds-toggle { position: relative; display: inline-block; width: 48px; height: 26px; }
.tds-toggle input { opacity: 0; width: 0; height: 0; }
.tds-toggle__slider {
    position: absolute; inset: 0; background: #d1d5db; border-radius: var(--tds-radius-full);
    cursor: pointer; transition: var(--tds-transition);
}
.tds-toggle__slider::before {
    content: ''; position: absolute; width: 20px; height: 20px; left: 3px; bottom: 3px;
    background: white; border-radius: 50%; transition: var(--tds-transition);
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.tds-toggle input:checked + .tds-toggle__slider { background: var(--tds-primary-light); }
.tds-toggle input:checked + .tds-toggle__slider::before { transform: translateX(22px); }

/* Animations */
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Remove GeneratePress defaults — FULL WIDTH override */
.site-header, .main-navigation, .site-footer, 
.site-info, .footer-widgets-container { display: none !important; }

body #page,
body .site,
body .container,
body .grid-container,
body .site-content,
body .content-area,
body .inside-article,
body article,
body .entry-content,
body .site-main,
.grid-container.container,
#page.grid-container,
#page.container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Kill GP admin bar spacing conflict */
body.admin-bar .tds-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .tds-header { top: 46px; } }

