/* JCMS design tokens — white / blue / dark gray / light gray education theme */
:root {
    --jcms-blue: #1d4ed8;
    --jcms-blue-dark: #1e3a8a;
    --jcms-blue-light: #eff6ff;
    --jcms-gray-dark: #1f2937;
    --jcms-gray-light: #f4f6f8;
    --jcms-border: #e2e8f0;
    --jcms-radius: 14px;
    --jcms-shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);

    --bs-primary: var(--jcms-blue);
    --bs-primary-rgb: 29, 78, 216;
    --bs-body-color: var(--jcms-gray-dark);
    --bs-body-bg: var(--jcms-gray-light);
}

body {
    -webkit-font-smoothing: antialiased;
}

/* Thumb-friendly touch targets everywhere, per the mobile-first spec */
.btn, .form-control, .form-select, .nav-link {
    min-height: 44px;
}
.btn-sm {
    min-height: 36px;
}

.card {
    border: 1px solid var(--jcms-border);
    border-radius: var(--jcms-radius);
    box-shadow: var(--jcms-shadow);
}

.navbar-jcms {
    background: var(--jcms-blue);
}
.navbar-jcms .navbar-brand,
.navbar-jcms .nav-link {
    color: #fff;
}

.btn-primary {
    background-color: var(--jcms-blue);
    border-color: var(--jcms-blue);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--jcms-blue-dark);
    border-color: var(--jcms-blue-dark);
}

/* No horizontal scroll on any viewport, per spec — wide tables scroll in their own box instead */
.table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.jcms-footer {
    color: #64748b;
    font-size: .875rem;
}
