/* Valley Ambulance Authority — public, legal, and marketing pages */
:root {
    --vaa-indigo-950: #120c31;
    --vaa-indigo-900: #1b1246;
    --vaa-indigo-800: #2d1b69;
    --vaa-orange: #e97817;
    --vaa-orange-dark: #c95f0d;
    --vaa-red: #b93448;
    --vaa-border: #e5e1ea;
    --vaa-muted: #6d6879;
    --vaa-shadow: 0 18px 45px rgba(27, 18, 70, .12);
}

body {
    color: #302d3b;
    background:
        radial-gradient(circle at 100% 0, rgba(45, 27, 105, .07), transparent 28rem),
        #f8f6fa;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

.main-header,
body > .navbar {
    min-height: 72px;
    background:
        linear-gradient(90deg, var(--vaa-orange), #f2a348) top / 100% 3px no-repeat,
        linear-gradient(108deg, var(--vaa-indigo-950), var(--vaa-indigo-900) 65%, var(--vaa-indigo-800));
    border: 0;
    box-shadow: 0 10px 30px rgba(18, 12, 49, .2);
}

.main-header .container,
body > .navbar .container {
    min-height: 72px;
}

.main-header .nav-brand,
body > .navbar .nav-brand a {
    color: #fff;
    font-weight: 750;
    letter-spacing: -.01em;
}

.main-header .nav-brand img,
body > .navbar .nav-brand img {
    width: auto;
    height: 50px;
    max-height: 50px;
    object-fit: contain;
    filter: drop-shadow(0 3px 8px rgba(0,0,0,.24));
}

.main-header .nav-links > a:not(.btn),
body > .navbar .nav-menu a {
    color: rgba(255,255,255,.82);
}

.main-header .btn-primary,
.main-header .btn-outline-primary {
    min-height: 40px;
    border-radius: 9px;
    font-weight: 700;
}

.main-header .btn-primary {
    border-color: var(--vaa-orange-dark);
    background: linear-gradient(180deg, #f08829, var(--vaa-orange));
}

.main-header .btn-outline-primary {
    color: #fff;
    border-color: rgba(255,255,255,.35);
    background: rgba(255,255,255,.08);
}

.main-footer,
.footer {
    color: rgba(255,255,255,.72);
    background: var(--vaa-indigo-950);
    border-top: 3px solid var(--vaa-orange);
}

.main-footer a,
.footer a { color: #fff; }

.main-footer .footer-brand img {
    width: auto;
    height: 64px;
    object-fit: contain;
}

.legal-content {
    width: min(100% - 2rem, 1000px);
    margin: 2rem auto 4rem;
}

.legal-content .card {
    padding: clamp(1.4rem, 4vw, 3rem);
    border: 1px solid var(--vaa-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--vaa-shadow);
}

.legal-content h1,
.legal-content h2,
.legal-content h3 {
    color: var(--vaa-indigo-900);
}

.legal-content h1 {
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--vaa-orange);
}

.legal-content h1 i,
.legal-content h2 i { color: var(--vaa-orange); }

.legal-content h2 {
    margin-top: 2rem;
    padding-top: .3rem;
}

.legal-content p,
.legal-content li {
    color: #4c4858;
    line-height: 1.75;
}

.legal-content .highlight-box {
    padding: 1rem 1.15rem;
    color: #433523;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-left: 4px solid var(--vaa-orange);
    border-radius: 10px;
}

.legal-content table {
    width: 100%;
    margin: 1rem 0;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--vaa-border);
    border-radius: 10px;
}

.legal-content th {
    color: #fff;
    background: var(--vaa-indigo-800);
}

.legal-content th,
.legal-content td {
    padding: .75rem;
    border-bottom: 1px solid var(--vaa-border);
    text-align: left;
}

@media (max-width: 720px) {
    .main-header .container,
    body > .navbar .container { min-height: 64px; }
    .main-header .nav-brand img,
    body > .navbar .nav-brand img { height: 43px; }
    .main-header .nav-link-text { display: none; }
    .legal-content { width: min(100% - 1rem, 1000px); margin-top: 1rem; }
    .legal-content .card { padding: 1.15rem; }
    .legal-content { overflow-x: auto; }
}

@media print {
    .main-header, body > .navbar, .main-footer, .footer { display: none !important; }
    body { background: #fff; }
    .legal-content { width: 100%; margin: 0; }
    .legal-content .card { padding: 0; border: 0; box-shadow: none; }
}
