/* TorontoCriminalLawyer.ca — Legal navy / slate / subdued gold */
:root {
    --navy: #1B2A4A;
    --navy-deep: #111D35;
    --slate: #475569;
    --slate-light: #64748B;
    --gold: #92742A;
    --gold-light: #B8933A;
    --white: #FFFFFF;
    --off-white: #F7F8FA;
    --ink: #1A202C;
    --ink-light: #374151;
    --rule: rgba(27, 42, 74, 0.1);
}

body {
    font-family: 'Noto Serif', Georgia, serif;
    color: var(--ink);
    background: var(--white);
}

h1, h2, h3, h4, h5, h6,
#header h1 a, #nav ul li a,
.button, input[type="submit"],
.section-label, .article-date, .breadcrumb,
.legal-footer, .cta-box h3 {
    font-family: 'Albert Sans', system-ui, sans-serif;
}

/* Header */
#header {
    background: var(--navy-deep);
    border-bottom: 3px solid var(--gold);
}
#header.alt { background: transparent; border-bottom: none; }
#header h1 a { color: var(--white); font-weight: 700; font-size: 1.1rem; }
#nav ul li a { color: rgba(255,255,255,0.8); font-weight: 500; font-size: 0.88rem; }
#nav ul li a:hover { color: var(--white); }
#nav ul li ul { background: var(--navy-deep); border: 1px solid rgba(255,255,255,0.08); }
#nav ul li ul li a { color: rgba(255,255,255,0.7); font-size: 0.85rem; }
#nav ul li ul li a:hover { color: var(--gold-light); }
#nav ul li a.button {
    background: var(--gold);
    color: var(--white);
    border: none;
    font-weight: 600;
}
#nav ul li a.button:hover { background: var(--gold-light); }

/* No banner on homepage — content boxes handle layout directly. */
#banner h2 { font-family: 'Albert Sans', sans-serif; font-weight: 700; font-size: 2.4rem; color: var(--white); }
#banner p { color: rgba(255,255,255,0.7); font-family: 'Noto Serif', serif; font-size: 1.1rem; }
#banner .button.primary { background: var(--gold); color: var(--white); border: none; }
#banner .button.primary:hover { background: var(--gold-light); }
#banner .button:not(.primary) { border-color: rgba(255,255,255,0.3); color: rgba(255,255,255,0.8); }

/* Breadcrumb */
.breadcrumb { margin-bottom: 1.5em; }
.breadcrumb ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 0;
    font-family: 'Albert Sans', sans-serif;
    font-size: 0.82rem;
    color: var(--slate-light);
}
.breadcrumb ul li::after { content: ' / '; margin: 0 8px; color: var(--slate-light); }
.breadcrumb ul li:last-child::after { content: ''; }
.breadcrumb ul li a { color: var(--slate); text-decoration: none; }
.breadcrumb ul li a:hover { color: var(--gold); }
.breadcrumb ul li.current { color: var(--ink); font-weight: 500; }

/* Content area */
.content .box { background: var(--white); }
.content .box header { margin-bottom: 1.5em; padding-bottom: 1em; border-bottom: 2px solid var(--rule); }
.section-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 8px;
}
.content .box header h2 {
    font-weight: 700;
    color: var(--navy);
    font-size: 1.8rem;
    line-height: 1.2;
}
.article-desc {
    color: var(--slate);
    font-family: 'Noto Serif', serif;
    font-size: 1.05rem;
    margin-top: 8px;
}
.article-date {
    display: block;
    font-size: 0.78rem;
    color: var(--slate-light);
    margin-top: 8px;
}

.content p, .content li, .content dd {
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--ink);
}
.content h3 {
    font-family: 'Albert Sans', sans-serif;
    font-weight: 700;
    color: var(--navy);
    margin-top: 2em;
    padding-bottom: 0.4em;
    border-bottom: 2px solid var(--rule);
}
.content a { color: var(--navy); border-bottom: 1px solid var(--gold); }
.content a:hover { color: var(--gold); }
.content strong { font-weight: 700; color: var(--ink); }
.content blockquote {
    border-left: 4px solid var(--gold);
    background: var(--off-white);
    padding: 1.2em 1.5em;
    font-style: italic;
    color: var(--ink-light);
    margin: 1.5em 0;
}
.content .image.featured img { border-radius: 4px; border: 1px solid var(--rule); }

/* Info box */
.info-box {
    background: var(--navy);
    color: var(--white);
    padding: 20px 24px;
    border-radius: 6px;
    margin: 24px 0;
    border-left: 4px solid var(--gold);
}
.info-box strong { color: var(--gold-light); }
.info-box p { color: rgba(255,255,255,0.9); margin-bottom: 6px; font-size: 0.95rem; }
.info-box p:last-child { margin-bottom: 0; }

/* FAQ section */
.faq-section { margin: 2em 0; }
.faq-section h3 { color: var(--navy); border-bottom: 2px solid var(--gold); }
.faq-item { margin-bottom: 1.5em; }
.faq-item dt {
    font-family: 'Albert Sans', sans-serif;
    font-weight: 600;
    color: var(--navy);
    font-size: 1.05rem;
    margin-bottom: 0.4em;
}
.faq-item dd {
    color: var(--ink-light);
    line-height: 1.7;
    margin-left: 0;
}

/* CTA sidebar box */
.cta-box {
    background: var(--navy) !important;
    color: var(--white) !important;
    border: none !important;
}
.cta-box h3 { color: var(--white) !important; font-size: 1.1rem; }
.cta-box p { color: rgba(255,255,255,0.8) !important; font-size: 0.92rem; line-height: 1.6; }
.cta-box .button.primary {
    background: var(--gold) !important;
    color: var(--white) !important;
    border: none !important;
    margin-top: 12px;
}
.cta-box .button.primary:hover { background: var(--gold-light) !important; }

/* Sidebar */
.sidebar .box {
    background: var(--off-white);
    border: 1px solid var(--rule);
    margin-bottom: 1.5em;
}
.sidebar .box h3 {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--navy);
}
.sidebar .box a { color: var(--navy); font-size: 0.92rem; }
.sidebar .box a:hover { color: var(--gold); }
.sidebar ul.divided li { border-top-color: var(--rule); }

/* Homepage feature boxes */
.box.special { background: var(--off-white); border: 1px solid var(--rule); }
.box.special header.major h2 { font-weight: 700; color: var(--navy); }
.box.special header.major p { color: var(--slate); }
.features-row .feature { border-color: var(--rule); }
.features-row .feature h3 { color: var(--navy); }
.features-row .feature p { color: var(--ink-light); }

/* Footer */
#footer {
    background: var(--navy-deep);
    color: rgba(255,255,255,0.6);
    border-top: 3px solid var(--gold);
}
#footer h3 {
    color: var(--gold);
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}
#footer a { color: rgba(255,255,255,0.6); }
#footer a:hover { color: var(--gold-light); }
#footer ul.links { list-style: none; padding: 0; }
#footer ul.links li { padding: 4px 0; }
#footer ul.links li a { font-size: 0.88rem; border-bottom: none; }
.legal-footer {
    margin-top: 2em;
    padding-top: 1.5em;
    border-top: 1px solid rgba(255,255,255,0.08);
    font-size: 0.78rem;
    color: rgba(255,255,255,0.35);
    line-height: 1.6;
}
.legal-footer strong { color: rgba(255,255,255,0.5); }
.legal-footer p { margin-bottom: 6px; }

/* Buttons */
.button.primary, input[type="submit"] {
    background: var(--gold);
    color: var(--white);
    border: none;
    font-weight: 600;
}
.button.primary:hover, input[type="submit"]:hover { background: var(--gold-light); }
.button:not(.primary) { border-color: var(--navy); color: var(--navy); }
.button:not(.primary):hover { background: var(--navy); color: var(--white); }

/* Intake form styling */
.intake-form select,
.intake-form input[type="date"] {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #D1D5DB;
    border-radius: 4px;
    font-family: 'Albert Sans', sans-serif;
    font-size: 0.92rem;
    color: var(--ink);
    background: var(--white);
    margin-bottom: 12px;
}
.intake-form .radio-group {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
}
.intake-form .radio-group label {
    font-family: 'Albert Sans', sans-serif;
    font-size: 0.88rem;
    color: var(--ink);
    cursor: pointer;
}

/* Mobile nav fix */
@media screen and (max-width: 980px) {
    .breadcrumb ul { flex-wrap: wrap; }
    .sidebar { margin-top: 2em; }
}
