/* =========================================================
   Bootstrap 3 Modern Overrides – V2 (Bold)
   Purpose: Visible modernization + LEGO-friendly energy
   ========================================================= */

/* -----------------------------
   Base & Layout
   ----------------------------- */

html {
    font-size : 16px;
}

body {
    line-height            : 1.65;
    color                  : #1F2937; /* charcoal */
    background-color       : #EEF1F4; /* soft neutral gray */
    -webkit-font-smoothing : antialiased;
}

/* -----------------------------
   Typography
   ----------------------------- */

h1 {
    font-size     : 2.25em;
    margin-bottom : 0.6em;
}

h2 {
    font-size     : 1.75em;
    margin-bottom : 0.6em;
}

h3 {
    font-size     : 1.4em;
    margin-bottom : 0.5em;
}

h1, h2, h3, h4, h5, h6 {
    font-weight : 700;
    color       : #111827;
}

p {
    margin-bottom : 1em;
}

/* Links */
a {
    color       : #0057B8; /* LEGO-ish blue */
    font-weight : 500;
}

a:hover,
a:focus {
    color           : #003F8A;
    text-decoration : none;
}

/* -----------------------------
   Navbar
   ----------------------------- */

.navbar {
    border        : none;
    border-radius : 0;
    margin-bottom : 40px;
    box-shadow    : 0 8px 24px rgba(0, 0, 0, .12);
}

.navbar-default {
    background-color : #FFFFFF;
    border-top       : 5px solid #E11D48; /* LEGO red accent */
}

.navbar-default .navbar-brand {
    font-weight : 800;
    color       : #111827;
}

.navbar-default .navbar-brand:hover {
    color : #0057B8;
}

.navbar-default .navbar-nav > li > a {
    font-weight : 600;
    color       : #374151;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > li > a:hover {
    background-color : transparent;
    color            : #0057B8;
}

/* -----------------------------
   Panels → Cards
   ----------------------------- */

.panel {
    background-color : #FFFFFF;
    border           : none;
    border-radius    : 14px;
    box-shadow       : 0 10px 28px rgba(0, 0, 0, .12);
    margin-bottom    : 32px;
}

.panel-heading {
    background-color : transparent;
    border-bottom    : none;
    padding          : 18px 22px 0;
    font-weight      : 700;
    font-size        : 1.05em;
}

.panel-body {
    padding : 22px;
}

.panel-footer {
    background-color : #F9FAFB;
    border-top       : none;
    padding          : 16px 22px;
}

/* -----------------------------
   Buttons
   ----------------------------- */

.btn {
    border-radius : 8px;
    padding       : 10px 18px;
    font-weight   : 600;
    border        : none;
}

.btn-primary {
    background-color : #0057B8;
}

.btn-primary:hover {
    background-color : #003F8A;
}

.btn-success {
    background-color : #16A34A;
}

.btn-success:hover {
    background-color : #15803D;
}

.btn-danger {
    background-color : #DC2626;
}

.btn-danger:hover {
    background-color : #B91C1C;
}

.btn-default {
    background-color : #E5E7EB;
    color            : #111827;
}

.btn-default:hover {
    background-color : #D1D5DB;
}

/* -----------------------------
   Forms
   ----------------------------- */

.form-control {
    border-radius : 8px;
    border        : 1px solid #CBD5E1;
    padding       : 10px 14px;
    box-shadow    : none;
}

.form-control:focus {
    border-color : #0057B8;
    box-shadow   : 0 0 0 3px rgba(0, 87, 184, .18);
}

label {
    font-weight : 600;
}

/* -----------------------------
   Tables
   ----------------------------- */

.table > thead > tr > th {
    background-color : #F1F5F9;
    font-weight      : 700;
    border-bottom    : none;
}

.table > tbody > tr:hover {
    background-color : #E5E7EB;
}

/* -----------------------------
   Alerts
   ----------------------------- */

.alert {
    border-radius : 10px;
    border        : none;
    font-weight   : 500;
}

.alert-info {
    background-color : #E0F2FE;
    color            : #075985;
}

.alert-success {
    background-color : #DCFCE7;
    color            : #065F46;
}

.alert-warning {
    background-color : #FEF3C7;
    color            : #92400E;
}

.alert-danger {
    background-color : #FEE2E2;
    color            : #7F1D1D;
}

/* -----------------------------
   Wells
   ----------------------------- */

.well {
    background-color : #FFFFFF;
    border           : none;
    border-radius    : 12px;
    box-shadow       : 0 8px 20px rgba(0, 0, 0, .1);
}

/* -----------------------------
   Footer
   ----------------------------- */

footer {
    margin-top  : 60px;
    padding-top : 24px;
    border-top  : 1px solid #D1D5DB;
    color       : #4B5563;
}
