/* NearFinder Postal Codes: navy + coral "map pin" look, rounded headings, white header. */
.theme-nearfinder {
    --brand: #13294b;
    --brand-dark: #0b1a33;
    --accent: #ff6a3d;
    --accent-ink: #0b1a33;
    --link: #1d4ed8;
    --link-hover: #13294b;
    --ink: #111827;
    --muted: #5b6475;
    --line: #e3e7ef;
    --bg: #fff;
    --card: #f7f8fb;
    --surface: #fff;
    --input-border: #8791a3;
    --header-bg: #fff;
    --header-ink: #13294b;
    --footer-bg: #0b1a33;
    --footer-ink: #cfd6e4;
    --table-head: #f1f4f9;
    --row-hover: #f7f9fc;
    --radius: 14px;
    /* System rounded fonts only: no web font download. */
    --font-heading: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", system-ui, sans-serif;
}

.theme-nearfinder a { text-decoration: none; }
.theme-nearfinder :is(.prose, .lead, .facts, .breadcrumbs, main p) a { text-decoration: underline; }
@media (hover: hover) { .theme-nearfinder a:hover { text-decoration: underline; } }
.theme-nearfinder h1 { color: var(--brand); letter-spacing: -.01em; }

/* Header: white bar with pin logo and navigation, then a navy search band. */
.theme-nearfinder .site-header { border-bottom: 1px solid var(--line); }
.nf-pin { width: 18px; height: 18px; background: var(--accent); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); display: inline-block; box-shadow: inset 0 0 0 5px var(--accent), inset 0 0 0 9px #fff; }
.nf-nav { display: flex; gap: 18px; font-weight: 600; font-size: .95rem; }
.nf-nav a { position: relative; color: var(--brand); }
/* Hit area fills the header's 10px padding and half of the 18px gap, without changing the layout. */
.nf-nav a::after { content: ""; position: absolute; inset: -10px -9px; }
.nf-searchband { background: var(--brand); padding: 10px 0; }
.nf-searchband .search { max-width: 640px; }
.theme-nearfinder .search input { border-radius: 999px; padding-inline-start: 18px; }
.theme-nearfinder .search button { border-radius: 999px; padding-inline: 20px; }

/* Home hero, full width. */
.nf-hero { background: linear-gradient(135deg, var(--brand-dark), var(--brand) 60%, #1f3d70); color: #fff; padding: 36px 0 40px; }
.nf-hero h1 { color: #fff; margin: 0 0 .3em; font-size: clamp(1.8rem, 5vw, 2.8rem); }
.nf-hero .lead { color: #d6def0; }
.nf-stats { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; margin: 0; color: #d6def0; font-size: .9rem; }
.nf-stats strong { color: #fff; }

/* Answer: both codes in one joined panel. */
.theme-nearfinder .code-cards { gap: 0; border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: var(--shadow-border), 0 6px 20px oklch(0 0 0 / 0.06); }
.theme-nearfinder .code-card { border: 0; border-radius: 0; background: var(--surface); box-shadow: none; }
.theme-nearfinder .code-card + .code-card { border-inline-start: 1px solid var(--line); }
/* Static label marker uses the brand colour: coral is reserved for interactive elements. */
.theme-nearfinder .code-label::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-inline-end: 6px; border-radius: 50%; background: var(--brand); vertical-align: 1px; }
.theme-nearfinder .code-value a { color: var(--brand); }
@media (max-width: 599px) {
    .theme-nearfinder .code-card { padding: 10px 12px; }
}

/* Lists, tables, facts. */
.theme-nearfinder .card, .theme-nearfinder .facts, .theme-nearfinder .table-wrap { background: var(--surface); }
.theme-nearfinder .card { border-inline-start: 4px solid var(--accent); }
.theme-nearfinder .codes-table th { text-transform: none; letter-spacing: 0; font-size: .85rem; color: var(--brand); }
.theme-nearfinder .codes-table tbody tr:nth-child(even) { background: var(--row-hover); }
@media (hover: hover) { .theme-nearfinder .pill-list a:hover { box-shadow: 0 0 0 1px var(--accent), var(--shadow-border-hover); text-decoration: none; } }
.theme-nearfinder .letters a { border-radius: 999px; }
.nf-glance { display: grid; grid-template-columns: 1fr; gap: 0 28px; }
.nf-glance > * { min-width: 0; }
@media (min-width: 800px) { .nf-glance { grid-template-columns: 1fr 1fr; align-items: start; } }
.nf-province-list { list-style: none; padding: 0; margin: 0; border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: var(--shadow-border); }
.nf-province-list li { position: relative; display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.nf-province-list li:last-child { border-bottom: 0; }
.nf-province-list a { font-weight: 600; }
/* The whole row is the province link's target. */
.nf-province-list a::after { content: ""; position: absolute; inset: 0; }
.nf-howto { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
/* Concentric radii: card radius (22px) = address radius (6px) + inset (16px). */
.nf-howto > div { background: var(--card); border-radius: 22px; padding: 16px; }
.nf-howto .address { border-radius: 6px; margin-bottom: 0; background: var(--surface); }
.nf-howto h3 { margin-top: 0; color: var(--brand); }

/* Dark footer in columns. */
.theme-nearfinder .site-footer { border-top: 0; padding: 36px 0 24px; }
.theme-nearfinder .site-footer a { color: #fff; }
.theme-nearfinder .site-footer .muted { color: #9aa6bd; }
.nf-footer-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; margin-bottom: 20px; }
.nf-footer-cols h2 { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: #9aa6bd; margin: 0 0 10px; }
.nf-footer-cols ul { list-style: none; padding: 0; margin: 0; line-height: 1.9; }
.nf-footer-cols li a { display: inline-block; }
.nf-footer-brand { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 1.1rem; color: #fff; }

/* Mobile: one-line header (About stays in the footer) so the first ad stays well above the fold. */
@media (max-width: 599px) {
    .theme-nearfinder .header-inner { flex-wrap: nowrap; }
    .theme-nearfinder .brand { font-size: 1rem; }
    .nf-nav { font-size: .875rem; }
    .nf-nav a[href$="/about"] { display: none; }
    .nf-searchband { padding: 8px 0; }
    .nf-hero { padding: 22px 0 26px; }
}
