/* ============================================================================
 * Public SEO pages (/provider/{npi}, /search) — overrides + page-specific styles.
 * Linked AFTER style.css so source order also wins ties with the global `nav`,
 * `ul`, etc. selectors used by the marketing site.
 * ========================================================================== */

.container { max-width: 960px; margin: 0 auto; padding: 1.5rem 1rem; }

/* Top header — reset any inherited sticky/flex behavior from the legacy
   global `nav` selector so our nested nav doesn't get hijacked. */
.seo-header {
    padding: 1rem 0;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--gray-300);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: static !important;
}
.seo-header .logo {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--gray-900);
    text-decoration: none;
}
.seo-header nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 1rem !important;
    padding: 0 !important;
    border: none !important;
    position: static !important;
    background: transparent !important;
    z-index: auto !important;
    top: auto !important;
}
.seo-header nav a {
    color: var(--gray-700);
    font-size: 0.95rem;
    text-decoration: none;
}
.seo-header nav a:hover { color: var(--blue); }

.seo-footer {
    margin-top: 3rem;
    padding: 1.5rem 0;
    border-top: 1px solid var(--gray-300);
    color: var(--gray-500);
    font-size: 0.875rem;
    text-align: center;
}

/* Content typography for SEO pages */
.container h1 { font-size: 1.875rem; margin-bottom: 0.5rem; }
.container h2 { font-size: 1.25rem; margin-top: 1.5rem; margin-bottom: 0.5rem; color: var(--gray-700); }
.container .meta { color: var(--gray-500); font-size: 0.875rem; }
.container section { margin-top: 1.25rem; }
.container address { font-style: normal; line-height: 1.6; }
.container ul { padding-left: 1.25rem; }
.container ul li { margin-bottom: 0.5rem; }

/* Small pill that sits inline next to a taxonomy code.
   Named `.pill` (not `.badge`) to avoid colliding with style.css's
   position: absolute .badge used on pricing-card promo ribbons. */
.pill {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    vertical-align: baseline;
    line-height: 1.4;
    background: var(--gray-100);
    color: var(--gray-700);
}
.pill-primary { background: var(--blue); color: #fff; }

/* Status pill (active/deactivated) — text only, no background */
.status-active      { color: var(--green); font-weight: 600; }
.status-deactivated { color: #dc2626;      font-weight: 600; }

/* Small inline link to a Google Maps search for the address next to it. */
.map-link {
    margin-left: 0.5rem;
    font-size: 0.8rem;
    color: var(--blue);
    text-decoration: none;
    white-space: nowrap;
}
.map-link:hover { text-decoration: underline; }

/* Results table */
.container table { border-collapse: collapse; width: 100%; margin-top: 0.5rem; }
.container th, .container td {
    text-align: left;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid var(--gray-300);
    font-size: 0.9rem;
}
.container th { background: var(--gray-50); font-weight: 600; }

/* Search form */
.search-form input {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius);
    margin-right: 0.5rem;
    font-size: 0.9rem;
}
.search-form button {
    background: var(--blue);
    color: #fff;
    border: none;
    padding: 0.5rem 1.25rem;
    border-radius: var(--radius);
    cursor: pointer;
    font-size: 0.9rem;
}
.search-form button:hover { background: var(--blue-dk); }

.pagination { margin-top: 1rem; }
.pagination a { margin-right: 1rem; }

/* Breadcrumb trail — sits above the page H1, single line, dim */
.breadcrumbs {
    font-size: 0.85rem;
    color: var(--gray-500);
    margin-bottom: 1rem;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    position: static !important;
    display: block !important;
    z-index: auto !important;
    top: auto !important;
}
.breadcrumbs a { color: var(--gray-500); text-decoration: none; }
.breadcrumbs a:hover { color: var(--blue); text-decoration: underline; }
.breadcrumbs .sep { margin: 0 0.35rem; color: var(--gray-300); }

/* Provider-type glyph in the results table */
.type-icon {
    display: inline-block;
    width: 1.1rem;
    text-align: center;
    margin-right: 0.25rem;
    opacity: 0.7;
    font-size: 0.95em;
}
