/* ===================================================================
   AMUCA / lga — overrides for default theme
   Applies brand palette, typography, and component restyles on top
   of the existing default-theme markup. Loaded LAST in layouts/default.
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');

:root {
    /* Brand palette */
    --lga-navy:        #1A365D;
    --lga-royal:       #2B6CB0;
    --lga-teal:        #319795;
    --lga-gold:        #D69E2E;
    --lga-gold-strong: #B7791F;
    --lga-bg:          #F7FAFC;
    --lga-card:        #EDF2F7;
    --lga-border:      #E2E8F0;
    --lga-text:        #2D3748;
    --lga-text-mute:   #718096;
    --lga-heading:     #1A202C;
    --lga-success:     #38A169;

    /* Override common Bootstrap-ish primary/accent variables in case the
       default theme honors them */
    --primary:           var(--lga-navy);
    --primary-color:     var(--lga-navy);
    --secondary:         var(--lga-teal);
    --accent:            var(--lga-gold);
    --bs-primary:        var(--lga-navy);
    --bs-primary-rgb:    26, 54, 93;
    --bs-link-color:     var(--lga-royal);
    --bs-link-hover-color: var(--lga-navy);
}

/* ===== Typography ===== */
body {
    font-family: 'Inter', 'Open Sans', system-ui, -apple-system, Segoe UI, sans-serif !important;
    color: var(--lga-text);
    background: var(--lga-bg);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Montserrat', 'Inter', system-ui, sans-serif !important;
    color: var(--lga-heading);
    letter-spacing: -0.01em;
}
h1, .h1 { font-weight: 700; }
h2, .h2 { font-weight: 700; }
h3, .h3 { font-weight: 600; }
h4, .h4 { font-weight: 600; }

a { color: var(--lga-royal); }
a:hover { color: var(--lga-navy); }

/* ===== Buttons ===== */
.eBtn,
.eBtn.gradient,
.btn-primary,
.btn-info,
.btn-success {
    background: var(--lga-gold) !important;
    background-image: none !important;
    border: 1.5px solid transparent !important;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    border-radius: 9999px !important;
    box-shadow: 0 8px 20px rgba(214, 158, 46, .35) !important;
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease !important;
}
.eBtn:hover,
.eBtn.gradient:hover,
.btn-primary:hover,
.btn-info:hover,
.btn-success:hover {
    background: var(--lga-gold-strong) !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(183, 121, 31, .45) !important;
}

.eBtn-outline,
.btn-outline-primary {
    background: transparent !important;
    color: var(--lga-navy) !important;
    border: 1.5px solid var(--lga-navy) !important;
    border-radius: 9999px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
}
.eBtn-outline:hover,
.btn-outline-primary:hover {
    background: var(--lga-navy) !important;
    color: #fff !important;
}

.btn-secondary {
    background: var(--lga-teal) !important;
    border-color: var(--lga-teal) !important;
    color: #fff !important;
    border-radius: 9999px !important;
}

/* ===== Forms ===== */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="number"],
textarea,
select {
    border: 1.5px solid var(--lga-border) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: var(--lga-text) !important;
    background: #fff !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
.form-control:focus,
input:focus,
textarea:focus,
select:focus {
    border-color: var(--lga-royal) !important;
    box-shadow: 0 0 0 4px rgba(43, 108, 176, .12) !important;
    outline: none !important;
}
.form-label,
label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: var(--lga-heading);
    margin-bottom: 8px;
}

/* ===== Cards / surfaces ===== */
.card,
.eCard,
.surface-card {
    border: 1px solid var(--lga-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 14px rgba(15, 30, 65, .06) !important;
    background: #fff !important;
}

/* ===== Section spacing + headings hierarchy ===== */
section {
    background: var(--lga-bg);
}

/* Visible focus ring across the board (a11y) */
:focus-visible {
    outline: 2px solid var(--lga-royal) !important;
    outline-offset: 3px;
}

/* Reduce motion respect */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; }
}
