.tccf-finder,
.tccf-profile,
.tccf-single-wrap {
    --tccf-ink: #161616;
    --tccf-muted: #5f5a52;
    --tccf-line: #d5cec0;
    --tccf-panel: #f5f2ea;
    --tccf-panel-strong: #ece4d5;
    --tccf-accent: #1f1f1f;
    --tccf-accent-hover: #3a3a3a;
    --tccf-accent-soft: #585858;
    --tccf-accent-contrast: #ffffff;
    --tccf-shadow: 0 14px 34px rgba(24, 22, 17, 0.08);
    color: var(--tccf-ink);
    font-family: Georgia, "Times New Roman", serif;
}

.tccf-finder {
    max-width: 1100px;
    margin: 0 auto;
}

.tccf-search-form,
.tccf-card,
.tccf-profile,
.tccf-empty-state {
    background: linear-gradient(180deg, #fbfaf6 0%, #f1ebdf 100%);
    border: 1px solid var(--tccf-line);
    box-shadow: var(--tccf-shadow);
}

.tccf-search-form,
.tccf-profile,
.tccf-empty-state {
    padding: 1.5rem;
}

.tccf-form-grid,
.tccf-profile-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tccf-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tccf-field label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.92rem;
    font-weight: 700;
}

.tccf-field input,
.tccf-field select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #bfb6a4;
    background: rgba(255, 255, 255, 0.9);
    padding: 0.7rem 0.8rem;
    color: var(--tccf-ink);
}

.tccf-actions,
.tccf-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.tccf-actions {
    margin-top: 1rem;
}

.tccf-actions button,
.tccf-button,
.tccf-finder .tccf-actions button,
.tccf-finder .tccf-button,
.tccf-profile .tccf-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    isolation: isolate;
    min-height: 44px;
    padding: 0.7rem 1rem;
    border: 1px solid var(--tccf-accent) !important;
    border-radius: 0 !important;
    background: var(--tccf-accent) !important;
    background-color: var(--tccf-accent) !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    color: var(--tccf-accent-contrast) !important;
    -webkit-text-fill-color: var(--tccf-accent-contrast) !important;
    text-decoration: none !important;
    font-weight: 700;
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
    appearance: none;
    -webkit-appearance: none;
}

.tccf-button-secondary,
.tccf-reset,
.tccf-finder .tccf-button-secondary,
.tccf-finder .tccf-reset,
.tccf-profile .tccf-button-secondary {
    background: var(--tccf-accent-soft) !important;
    background-color: var(--tccf-accent-soft) !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid var(--tccf-accent-soft) !important;
    text-decoration: none !important;
}

.tccf-actions button:hover,
.tccf-actions button:focus-visible,
.tccf-button:hover,
.tccf-button:focus-visible,
.tccf-reset:hover,
.tccf-reset:focus-visible {
    background: var(--tccf-accent-hover) !important;
    background-color: var(--tccf-accent-hover) !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-color: var(--tccf-accent-hover) !important;
}

.tccf-actions button::before,
.tccf-actions button::after,
.tccf-button::before,
.tccf-button::after,
.tccf-reset::before,
.tccf-reset::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

.tccf-disclaimer,
.tccf-radius-notice {
    margin: 1rem 0 0;
    padding: 1rem 1.1rem;
    background: var(--tccf-panel);
    border-left: 4px solid var(--tccf-accent);
}

.tccf-results {
    margin-top: 1.5rem;
    display: grid;
    gap: 1rem;
}

.tccf-card {
    padding: 1.35rem;
}

.tccf-card h2,
.tccf-profile h1,
.tccf-profile h2,
.tccf-empty-state h2 {
    margin: 0 0 0.5rem;
}

.tccf-card h2 a,
.tccf-profile a {
    color: var(--tccf-ink);
}

.tccf-location,
.tccf-profile-subtitle,
.tccf-eyebrow,
.tccf-card-label {
    color: var(--tccf-muted);
}

.tccf-eyebrow,
.tccf-card-label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    margin-bottom: 0.5rem;
}

.tccf-notes,
.tccf-distance {
    margin: 1rem 0;
}

.tccf-pagination {
    margin-top: 1rem;
}

.tccf-pagination .page-numbers {
    display: inline-block;
    margin-right: 0.45rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid var(--tccf-line);
    text-decoration: none;
}

.tccf-profile-section {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--tccf-line);
}

@media (max-width: 900px) {
    .tccf-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .tccf-form-grid,
    .tccf-profile-grid {
        grid-template-columns: 1fr;
    }

    .tccf-search-form,
    .tccf-card,
    .tccf-profile,
    .tccf-empty-state {
        padding: 1rem;
    }
}
