/* EnlivenApp – Custom Styles */

:root {
    --brand-blue:    #1a6fc4;
    --brand-blue-dk: #145399;
    --brand-light:   #f0f6ff;
    --text-muted:    #6c757d;
}

/* ── Typography ── */
body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #1e2a38;
}

/* ── Navbar ── */
.navbar-brand span {
    color: var(--brand-blue);
}
.navbar {
    border-bottom: 1px solid #dce8f7;
}
.nav-link:hover {
    color: var(--brand-blue) !important;
}

/* ── Hero ── */
.hero {
    background: linear-gradient(135deg, #e8f1fb 0%, #ffffff 60%);
    padding: 5rem 0 4rem;
}
.hero h1 {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.2;
}
.hero .lead {
    font-size: 1.2rem;
    color: var(--text-muted);
}
.hero-badge {
    display: inline-block;
    background: var(--brand-light);
    color: var(--brand-blue);
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .3rem .85rem;
    border-radius: 50px;
    margin-bottom: 1rem;
}

/* ── Service Cards ── */
.service-card {
    border: 1px solid #dce8f7;
    border-radius: 12px;
    transition: box-shadow .2s, transform .2s;
}
.service-card:hover {
    box-shadow: 0 8px 28px rgba(26,111,196,.12);
    transform: translateY(-3px);
}
.service-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-bottom: 1rem;
}
.icon-blue  { background: #dbeafe; color: #1a6fc4; }
.icon-green { background: #d1fae5; color: #059669; }

/* ── Section Titles ── */
.section-label {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--brand-blue);
}

/* ── Buttons ── */
.btn-brand {
    background: var(--brand-blue);
    color: #fff;
    border: none;
    padding: .65rem 1.6rem;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: background .2s;
}
.btn-brand:hover {
    background: var(--brand-blue-dk);
    color: #fff;
}
.btn-outline-brand {
    border: 2px solid var(--brand-blue);
    color: var(--brand-blue);
    padding: .6rem 1.5rem;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: all .2s;
}
.btn-outline-brand:hover {
    background: var(--brand-blue);
    color: #fff;
}

/* ── Footer ── */
footer {
    border-top: 1px solid #dce8f7;
    font-size: .88rem;
    color: var(--text-muted);
}
footer a {
    color: var(--text-muted);
    text-decoration: none;
}
footer a:hover {
    color: var(--brand-blue);
}

/* ── Policy pages ── */
.policy-body h2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: .6rem;
}
.policy-body p, .policy-body li {
    color: #3a4a5c;
    line-height: 1.8;
}

/* ── Contact ── */
.contact-detail i {
    width: 36px;
    color: var(--brand-blue);
    font-size: 1.1rem;
    flex-shrink: 0;
}
