/* STREAMING_CHUNK:Defining global design tokens... /
/

NicheDir Public Stylesheet

BEM-structured, deeply scoped CSS to ensure isolation from WordPress themes.
*/

:root {
/* Colors - Primary */
--nd-primary: #4F46E5;
--nd-primary-hover: #4338CA;
--nd-primary-light: #EEF2FF;

/* Colors - State */
--nd-success: #10B981;
--nd-success-hover: #059669;
--nd-warning: #F59E0B;
--nd-error: #EF4444;

/* Colors - Neutral */
--nd-gray-50: #F9FAFB;
--nd-gray-100: #F3F4F6;
--nd-gray-200: #E5E7EB;
--nd-gray-300: #D1D5DB;
--nd-gray-500: #6B7280;
--nd-gray-700: #374151;
--nd-gray-900: #111827;
--nd-white: #FFFFFF;

/* Typography */
--nd-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

/* Spacing */
--nd-space-xs: 0.25rem;
--nd-space-sm: 0.5rem;
--nd-space-md: 1rem;
--nd-space-lg: 1.5rem;
--nd-space-xl: 2rem;
--nd-space-2xl: 3rem;

/* Borders & Shadows */
--nd-radius-sm: 0.375rem;
--nd-radius-md: 0.5rem;
--nd-radius-lg: 0.75rem;
--nd-radius-full: 9999px;
--nd-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--nd-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
--nd-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);

/* Transitions */
--nd-transition: all 0.2s ease-in-out;


}

/* STREAMING_CHUNK:Scoping base resets and typography... /
/ Base Resets scoped to NicheDir components */
.nichedir-layout-container,
.nichedir-dashboard,
.nichedir-submission,
.nichedir-home,
.nichedir-search-container {
font-family: var(--nd-font-family);
color: var(--nd-gray-700);
line-height: 1.6;
box-sizing: border-box;
}

.nichedir-layout-container *,
.nichedir-dashboard *,
.nichedir-submission *,
.nichedir-home *,
.nichedir-search-container * {
box-sizing: inherit;
}

/* Typography Utility */
.nichedir-text-muted {
color: var(--nd-gray-500);
}
.nichedir-text-success {
color: var(--nd-success);
}
.nichedir-text-warning {
color: var(--nd-warning);
}
.nichedir-font-bold {
font-weight: 700;
}

/* STREAMING_CHUNK:Structuring layout grids... /
/ Grid Systems */
.nichedir-grid {
display: grid;
gap: var(--nd-space-xl);
margin-bottom: var(--nd-space-2xl);
}

.nichedir-grid--3-cols {
grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 768px) {
.nichedir-grid--3-cols {
grid-template-columns: repeat(2, 1fr);
}
}

@media (min-width: 1024px) {
.nichedir-grid--3-cols {
grid-template-columns: repeat(3, 1fr);
}
}

.nichedir-section {
padding: var(--nd-space-2xl) 0;
}

.nichedir-section__header {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-bottom: var(--nd-space-xl);
border-bottom: 2px solid var(--nd-gray-100);
padding-bottom: var(--nd-space-md);
}

.nichedir-section__title {
font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 700;
color: var(--nd-gray-900);
margin: 0;
}

/* STREAMING_CHUNK:Styling interactive buttons... /
/ Buttons */
.nichedir-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.625rem 1.25rem;
font-size: 0.875rem;
font-weight: 600;
border-radius: var(--nd-radius-md);
border: 1px solid transparent;
cursor: pointer;
text-decoration: none;
transition: var(--nd-transition);
font-family: var(--nd-font-family);
gap: 0.5rem;
line-height: 1.2;
}

.nichedir-btn:focus {
outline: 2px solid var(--nd-primary);
outline-offset: 2px;
}

.nichedir-btn--primary {
background-color: var(--nd-primary);
color: var(--nd-white);
}

.nichedir-btn--primary:hover {
background-color: var(--nd-primary-hover);
color: var(--nd-white);
transform: translateY(-1px);
box-shadow: var(--nd-shadow-md);
}

.nichedir-btn--outline {
background-color: transparent;
color: var(--nd-gray-700);
border-color: var(--nd-gray-300);
}

.nichedir-btn--outline:hover {
background-color: var(--nd-gray-50);
color: var(--nd-gray-900);
border-color: var(--nd-gray-500);
}

.nichedir-btn--success {
background-color: var(--nd-success);
color: var(--nd-white);
}

.nichedir-btn--success:hover {
background-color: var(--nd-success-hover);
color: var(--nd-white);
}

.nichedir-btn--link {
background-color: transparent;
color: var(--nd-primary);
padding: 0;
}

.nichedir-btn--link:hover {
text-decoration: underline;
color: var(--nd-primary-hover);
}

.nichedir-btn--sm {
padding: 0.375rem 0.75rem;
font-size: 0.75rem;
}

.nichedir-btn--lg {
padding: 0.75rem 1.5rem;
font-size: 1rem;
}

.nichedir-btn--xl {
padding: 1rem 2rem;
font-size: 1.125rem;
}

.nichedir-btn--block {
display: flex;
width: 100%;
}

/* STREAMING_CHUNK:Designing directory listing cards... /
/ Cards */
.nichedir-card {
background: var(--nd-white);
border-radius: var(--nd-radius-lg);
box-shadow: var(--nd-shadow-md);
transition: var(--nd-transition);
position: relative;
overflow: hidden;
border: 1px solid var(--nd-gray-200);
display: flex;
flex-direction: column;
height: 100%;
}

.nichedir-card:hover {
transform: translateY(-4px);
box-shadow: var(--nd-shadow-lg);
border-color: var(--nd-primary-light);
}

.nichedir-card--premium {
border: 2px solid var(--nd-warning);
}

.nichedir-card__link-wrap {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}

.nichedir-card__link-wrap:focus {
outline: none;
}

.nichedir-card__image-container {
position: relative;
width: 100%;
height: 200px;
background: var(--nd-gray-100);
border-bottom: 1px solid var(--nd-gray-200);
}

.nichedir-card__image {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.nichedir-card__image-placeholder {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
color: var(--nd-gray-300);
}

.nichedir-card__image-placeholder .dashicons {
font-size: 48px;
width: 48px;
height: 48px;
}

.nichedir-card__ribbon {
position: absolute;
top: 1rem;
right: -2rem;
background: var(--nd-warning);
color: var(--nd-white);
padding: 0.25rem 2.5rem;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
transform: rotate(45deg);
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
z-index: 1;
}

/* STREAMING_CHUNK:Formatting card content and meta... */
.nichedir-card__content {
padding: var(--nd-space-lg);
display: flex;
flex-direction: column;
flex-grow: 1;
}

.nichedir-card__title {
font-size: 1.25rem;
font-weight: 700;
color: var(--nd-gray-900);
margin: 0 0 var(--nd-space-xs) 0;
line-height: 1.3;
}

.nichedir-card__tagline {
font-size: 0.875rem;
color: var(--nd-gray-500);
margin: 0 0 var(--nd-space-md) 0;
flex-grow: 1;
}

.nichedir-card__excerpt {
font-size: 0.875rem;
color: var(--nd-gray-500);
margin: 0 0 var(--nd-space-md) 0;
flex-grow: 1;
}

.nichedir-card__meta {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: var(--nd-space-md);
border-top: 1px solid var(--nd-gray-100);
margin-top: auto;
}

.nichedir-card__rating {
display: flex;
align-items: center;
gap: 0.25rem;
color: var(--nd-warning);
font-size: 0.875rem;
}

.nichedir-card__rating .dashicons {
font-size: 16px;
width: 16px;
height: 16px;
}

.nichedir-card__rating strong {
color: var(--nd-gray-900);
}

.nichedir-card__read-more {
font-size: 0.875rem;
font-weight: 600;
color: var(--nd-primary);
}

/* STREAMING_CHUNK:Styling badges and visual indicators... /
/ Badges */
.nichedir-badge {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.625rem;
border-radius: var(--nd-radius-full);
font-size: 0.75rem;
font-weight: 600;
background: var(--nd-gray-200);
color: var(--nd-gray-700);
white-space: nowrap;
text-decoration: none;
}

.nichedir-badge--floating {
position: absolute;
bottom: -0.75rem;
left: 1rem;
background: var(--nd-white);
border: 1px solid var(--nd-gray-200);
box-shadow: var(--nd-shadow-sm);
z-index: 2;
}

.nichedir-badge--warning {
background: #FEF3C7;
color: #D97706;
border-color: #FDE68A;
}

.nichedir-badge--success {
background: #D1FAE5;
color: #059669;
}

.nichedir-badge--blue {
background: #DBEAFE;
color: #1D4ED8;
}

.nichedir-badge--gray {
background: var(--nd-gray-100);
color: var(--nd-gray-700);
}

.nichedir-badge--outline {
background: transparent;
border: 1px solid var(--nd-gray-300);
}
.nichedir-badge--outline:hover {
background: var(--nd-gray-50);
}

/* STREAMING_CHUNK:Building the SaaS Hero Section... /
/ Hero Section /
.nichedir-hero {
position: relative;
background: var(--nd-gray-900);
padding: 5rem 2rem 6rem;
border-radius: var(--nd-radius-lg);
text-align: center;
overflow: visible; / changed from hidden to let glow spill naturally */
margin-bottom: var(--nd-space-2xl);
box-shadow: var(--nd-shadow-lg);
}

.nichedir-hero__background-glow {
position: absolute;
top: -50%;
left: 50%;
transform: translateX(-50%);
width: 100%;
height: 200%;
background: radial-gradient(circle at 50% 0%, rgba(79,70,229,0.2) 0%, rgba(17,24,39,0) 60%);
z-index: 0;
pointer-events: none;
}

.nichedir-hero__content {
position: relative;
z-index: 1;
max-width: 900px;
margin: 0 auto;
}

.nichedir-hero__title {
font-size: clamp(2.5rem, 5vw, 4rem);
font-weight: 800;
color: var(--nd-white);
margin: 0 0 var(--nd-space-md) 0;
line-height: 1.1;
letter-spacing: -0.03em;
}

.nichedir-hero__subtitle {
font-size: clamp(1.125rem, 2vw, 1.25rem);
color: var(--nd-gray-300);
margin: 0 0 var(--nd-space-2xl) 0;
line-height: 1.6;
}

/* STREAMING_CHUNK:Creating Form Elements and Search... /
/ Forms & Inputs */
.nichedir-input-icon-wrapper {
position: relative;
display: flex;
align-items: center;
flex-grow: 1;
width: 100%;
}

.nichedir-input-icon-wrapper .dashicons {
position: absolute;
left: 1rem;
color: var(--nd-gray-400);
}

/* Advanced Search Form (Used in Hero & Search Page) */
.nichedir-search-form {
background: var(--nd-white);
padding: var(--nd-space-md);
border-radius: var(--nd-radius-lg);
box-shadow: var(--nd-shadow-md);
border: 1px solid var(--nd-gray-200);
margin-bottom: var(--nd-space-xl);
}

/* Hero specific overrides */
.nichedir-hero-search-wrapper .nichedir-search-form__inner {
display: flex;
flex-direction: column;
gap: 0;
align-items: stretch;
}

@media (min-width: 768px) {
.nichedir-hero-search-wrapper .nichedir-search-form__inner {
flex-direction: row;
align-items: center;
}
}

.nichedir-search-form__inner {
display: flex;
flex-direction: column;
gap: var(--nd-space-md);
}

@media (min-width: 768px) {
.nichedir-search-form__inner {
flex-direction: row;
align-items: center;
}
.nichedir-search-form__group--text {
flex-grow: 2;
}
.nichedir-search-form__group--select {
flex-grow: 1;
}
}

.nichedir-search-form__input,
.nichedir-search-form__select {
width: 100%;
padding: 0.75rem;
border: 1px solid var(--nd-gray-300);
border-radius: var(--nd-radius-md);
font-size: 0.875rem;
color: var(--nd-gray-900);
background: var(--nd-white);
font-family: var(--nd-font-family);
}

.nichedir-search-form__input:focus,
.nichedir-search-form__select:focus {
outline: none;
border-color: var(--nd-primary);
box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.1);
}

.nichedir-search-form__group--text .nichedir-search-form__input {
padding-left: 2.5rem;
}

/* Results Header */
.nichedir-results__header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--nd-space-lg);
padding-bottom: var(--nd-space-sm);
border-bottom: 1px solid var(--nd-gray-200);
}

.nichedir-results__count {
margin: 0;
color: var(--nd-gray-700);
}

/* STREAMING_CHUNK:Styling Categories and Call to Action... /
/ Category Pills */
.nichedir-category-grid {
display: flex;
flex-wrap: wrap;
gap: var(--nd-space-md);
}

.nichedir-category-pill {
display: flex;
align-items: center;
padding: 0.75rem 1rem;
background: var(--nd-white);
border: 1px solid var(--nd-gray-200);
border-radius: var(--nd-radius-md);
text-decoration: none;
color: var(--nd-gray-700);
font-weight: 500;
transition: var(--nd-transition);
box-shadow: var(--nd-shadow-sm);
}

.nichedir-category-pill:hover {
border-color: var(--nd-primary);
color: var(--nd-primary);
transform: translateY(-2px);
box-shadow: var(--nd-shadow-md);
}

.nichedir-category-pill__name {
margin-right: 0.5rem;
}

.nichedir-category-pill__count {
background: var(--nd-gray-100);
padding: 0.125rem 0.5rem;
border-radius: var(--nd-radius-full);
font-size: 0.75rem;
color: var(--nd-gray-500);
}

/* Call to Action */
.nichedir-cta {
background: var(--nd-primary-light);
border-radius: var(--nd-radius-lg);
padding: var(--nd-space-2xl);
text-align: center;
margin-top: var(--nd-space-2xl);
border: 1px solid rgba(79, 70, 229, 0.2);
}

.nichedir-cta__title {
font-size: 2rem;
color: var(--nd-primary-hover);
margin: 0 0 var(--nd-space-md) 0;
}

.nichedir-cta__text {
max-width: 600px;
margin: 0 auto var(--nd-space-lg) auto;
color: var(--nd-gray-700);
font-size: 1.125rem;
}

/* STREAMING_CHUNK:Designing the Single Listing View... /
/ Single Listing */
.nichedir-single-main {
margin-top: var(--nd-space-xl);
}

.nichedir-single-listing {
background: var(--nd-white);
border-radius: var(--nd-radius-lg);
box-shadow: var(--nd-shadow-md);
overflow: hidden;
margin-bottom: var(--nd-space-2xl);
border: 1px solid var(--nd-gray-200);
}

.nichedir-single-listing__header {
background: var(--nd-white);
border-bottom: 1px solid var(--nd-gray-200);
padding: var(--nd-space-2xl) var(--nd-space-xl) var(--nd-space-xl);
position: relative;
}

.nichedir-single-listing__header-inner {
display: flex;
flex-direction: column;
gap: var(--nd-space-xl);
}

@media (min-width: 768px) {
.nichedir-single-listing__header-inner {
flex-direction: row;
align-items: flex-start;
}
}

.nichedir-single-listing__image-wrap {
position: relative;
flex-shrink: 0;
width: 100%;
max-width: 250px;
border-radius: var(--nd-radius-lg);
overflow: hidden;
border: 1px solid var(--nd-gray-200);
background: var(--nd-white);
box-shadow: var(--nd-shadow-sm);
}

.nichedir-single-listing__image {
width: 100%;
height: auto;
display: block;
}

.nichedir-single-listing__title-area {
flex-grow: 1;
}

.nichedir-single-listing__categories {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-bottom: 0.75rem;
}

.nichedir-single-listing__title {
font-size: clamp(2rem, 4vw, 2.5rem);
font-weight: 800;
color: var(--nd-gray-900);
margin: 0 0 0.5rem 0;
line-height: 1.1;
}

.nichedir-single-listing__tagline {
font-size: 1.25rem;
color: var(--nd-gray-500);
margin: 0 0 1.5rem 0;
}

.nichedir-single-listing__meta-item {
display: inline-flex;
align-items: center;
gap: 0.375rem;
font-size: 0.875rem;
color: var(--nd-gray-700);
}

.nichedir-single-listing__meta-item .dashicons {
color: var(--nd-gray-400);
font-size: 18px;
width: 18px;
height: 18px;
}

.nichedir-single-listing__actions {
display: flex;
flex-wrap: wrap;
gap: 1rem;
margin-bottom: 1.5rem;
}

.nichedir-single-listing__body {
display: flex;
flex-direction: column;
}

/* Removed Sidebar Desktop Media Query to allow full width for content */

.nichedir-single-listing__content {
padding: var(--nd-space-xl);
flex-grow: 1;
}

/* Removed nichedir-single-listing__meta-sidebar styles as it's no longer used */

/* Formatting User Content */
.nichedir-content-formatted h2,
.nichedir-content-formatted h3 {
color: var(--nd-gray-900);
margin-top: 1.5em;
margin-bottom: 0.5em;
}

.nichedir-content-formatted p {
margin-bottom: 1em;
}

.nichedir-content-formatted ul,
.nichedir-content-formatted ol {
margin-bottom: 1em;
padding-left: 1.5rem;
}

/* STREAMING_CHUNK:Styling sidebar widgets and rating UI... /
/ Sidebar Widgets */
.nichedir-widget {
margin-bottom: var(--nd-space-xl);
}

.nichedir-widget:last-child {
margin-bottom: 0;
}

.nichedir-widget__title {
font-size: 1rem;
font-weight: 700;
color: var(--nd-gray-900);
margin: 0 0 var(--nd-space-md) 0;
padding-bottom: 0.5rem;
border-bottom: 2px solid var(--nd-gray-200);
text-transform: uppercase;
letter-spacing: 0.05em;
}

.nichedir-info-list {
list-style: none;
padding: 0;
margin: 0;
}

.nichedir-info-list li {
display: flex;
justify-content: space-between;
padding: 0.5rem 0;
border-bottom: 1px dashed var(--nd-gray-200);
font-size: 0.875rem;
}

.nichedir-info-list li:last-child {
border-bottom: none;
}

.nichedir-info-list strong {
color: var(--nd-gray-700);
}

.nichedir-info-list span {
color: var(--nd-gray-500);
}

/* Ratings Component */
.nichedir-aggregate {
display: inline-flex;
align-items: center;
gap: 0.5rem;
background: var(--nd-white);
padding: 0.5rem 1rem;
border-radius: var(--nd-radius-full);
border: 1px solid var(--nd-gray-200);
}

.nichedir-aggregate__stars {
color: var(--nd-warning);
font-size: 1.25rem;
}

.nichedir-aggregate__score {
font-size: 1rem;
color: var(--nd-gray-900);
}

.nichedir-rating-interactive {
background: var(--nd-white);
border: 1px solid var(--nd-gray-200);
border-radius: var(--nd-radius-md);
padding: var(--nd-space-md);
margin-top: var(--nd-space-md);
}

.nichedir-rating-interactive__header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1rem;
}

.nichedir-rating-interactive__title {
margin: 0;
font-size: 1rem;
}

.nichedir-rating-interactive__stars {
display: flex;
gap: 0.25rem;
}

.nichedir-star {
background: none;
border: none;
padding: 0;
cursor: pointer;
color: var(--nd-gray-300);
font-size: 24px;
transition: var(--nd-transition);
}

.nichedir-star:hover,
.nichedir-star.nichedir-star--hover {
color: #FCD34D;
}

.nichedir-star.nichedir-star--active {
color: var(--nd-warning);
}

/* STREAMING_CHUNK:Constructing the User Dashboard... /
/ Dashboard UI */
.nichedir-dashboard {
background: var(--nd-white);
border-radius: var(--nd-radius-lg);
box-shadow: var(--nd-shadow-md);
border: 1px solid var(--nd-gray-200);
padding: var(--nd-space-xl);
}

.nichedir-dashboard__header {
display: flex;
flex-direction: column;
gap: var(--nd-space-md);
padding-bottom: var(--nd-space-xl);
border-bottom: 1px solid var(--nd-gray-200);
margin-bottom: var(--nd-space-xl);
}

@media (min-width: 640px) {
.nichedir-dashboard__header {
flex-direction: row;
justify-content: space-between;
align-items: center;
}
}

.nichedir-dashboard__profile {
display: flex;
align-items: center;
gap: var(--nd-space-md);
}

.nichedir-dashboard__avatar {
border-radius: var(--nd-radius-full);
border: 2px solid var(--nd-gray-200);
}

.nichedir-dashboard__greeting {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: var(--nd-gray-900);
}

.nichedir-dashboard__email {
margin: 0;
color: var(--nd-gray-500);
font-size: 0.875rem;
}

.nichedir-dashboard__metrics {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--nd-space-md);
margin-bottom: var(--nd-space-2xl);
}

@media (min-width: 768px) {
.nichedir-dashboard__metrics {
grid-template-columns: repeat(4, 1fr);
}
}

.nichedir-metric-card {
background: var(--nd-gray-50);
border: 1px solid var(--nd-gray-200);
border-radius: var(--nd-radius-md);
padding: var(--nd-space-md);
display: flex;
flex-direction: column;
}

.nichedir-metric-card__title {
font-size: 0.75rem;
text-transform: uppercase;
color: var(--nd-gray-500);
font-weight: 600;
margin-bottom: 0.5rem;
}

.nichedir-metric-card__value {
font-size: 1.5rem;
font-weight: 800;
color: var(--nd-gray-900);
line-height: 1;
}

/* STREAMING_CHUNK:Designing tables, forms, and utilities... /
/ Dashboard Table */
.nichedir-table-responsive {
overflow-x: auto;
}

.nichedir-table {
width: 100%;
border-collapse: collapse;
text-align: left;
}

.nichedir-table th,
.nichedir-table td {
padding: 1rem;
border-bottom: 1px solid var(--nd-gray-200);
}

.nichedir-table th {
background: var(--nd-gray-50);
font-weight: 600;
color: var(--nd-gray-700);
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 0.05em;
}

.nichedir-table tr:hover td {
background: #F8FAFC;
}

.nichedir-mini-stats {
display: flex;
gap: 1rem;
font-size: 0.875rem;
color: var(--nd-gray-500);
}

.nichedir-mini-stats span {
display: inline-flex;
align-items: center;
gap: 0.25rem;
}

.nichedir-action-group {
display: flex;
gap: 0.5rem;
}

/* Forms */
.nichedir-form__row {
display: flex;
flex-direction: column;
gap: var(--nd-space-md);
margin-bottom: var(--nd-space-md);
}

@media (min-width: 768px) {
.nichedir-form__row--split {
flex-direction: row;
}
.nichedir-form__row--split > * {
flex: 1;
}
}

.nichedir-form__group {
margin-bottom: var(--nd-space-md);
}

.nichedir-form__label {
display: block;
font-weight: 600;
color: var(--nd-gray-900);
margin-bottom: 0.5rem;
font-size: 0.875rem;
}

.nichedir-form__input,
.nichedir-form__select,
.nichedir-form__textarea {
width: 100%;
padding: 0.75rem;
border: 1px solid var(--nd-gray-300);
border-radius: var(--nd-radius-md);
font-size: 1rem;
color: var(--nd-gray-900);
font-family: var(--nd-font-family);
background: var(--nd-white);
}

.nichedir-form__input:focus,
.nichedir-form__select:focus,
.nichedir-form__textarea:focus {
outline: none;
border-color: var(--nd-primary);
box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}

.nichedir-form__help {
display: block;
font-size: 0.75rem;
color: var(--nd-gray-500);
margin-top: 0.25rem;
}

/* Utilities */
.nichedir-empty-state {
text-align: center;
padding: var(--nd-space-2xl) var(--nd-space-xl);
background: var(--nd-gray-50);
border: 2px dashed var(--nd-gray-200);
border-radius: var(--nd-radius-lg);
}

.nichedir-empty-state__icon {
font-size: 48px;
width: 48px;
height: 48px;
color: var(--nd-gray-300);
margin-bottom: 1rem;
}

.nichedir-alert {
padding: 1rem;
border-radius: var(--nd-radius-md);
margin-bottom: 1rem;
font-size: 0.875rem;
}

.nichedir-alert--success {
background: #D1FAE5;
color: #065F46;
border: 1px solid #34D399;
}

.nichedir-alert--error {
background: #FEE2E2;
color: #991B1B;
border: 1px solid #F87171;
}

.nichedir-alert--warning {
background: #FEF3C7;
color: #92400E;
border: 1px solid #FBBF24;
}

/* Form File Input */
.nichedir-form__file {
display: block;
width: 100%;
font-size: 0.875rem;
color: var(--nd-gray-500);
padding: 0.5rem 0;
}
.nichedir-form__file::file-selector-button {
margin-right: 1rem;
padding: 0.5rem 1rem;
border-radius: var(--nd-radius-md);
border: 1px solid var(--nd-gray-300);
background: var(--nd-gray-50);
color: var(--nd-gray-700);
font-weight: 600;
cursor: pointer;
transition: var(--nd-transition);
}
.nichedir-form__file::file-selector-button:hover {
background: var(--nd-gray-100);
}

/* Spinner Animation */
@keyframes nichedir-spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.nichedir-spin {
animation: nichedir-spin 1s linear infinite;
}

/* Reveal Contact Buttons */
.nichedir-reveal {
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.nichedir-reveal__label {
font-weight: 600;
color: var(--nd-gray-700);
}