/* ============================================================================
   Plugin → Theme bridge
   Re-binds the plugin's CSS variables to the TX Law Advisor brand palette so
   the directory map, account dashboard, login form, profile pages, and admin
   shell all inherit the new look without modifying the plugin source.
   Loaded AFTER the plugin stylesheet via wp_enqueue priority.
   ============================================================================ */

:root {
  /* Surfaces */
  --txla-fe-bg:               #F5F6FA;     /* Legal Paper */
  --txla-fe-surface:          #FFFFFF;
  --txla-fe-surface-soft:     #F1F2F6;     /* Interface Mist */

  /* Ink */
  --txla-fe-text:             #111111;     /* Soft Black */
  --txla-fe-text-muted:       #5E6478;     /* Muted Slate */

  /* Borders */
  --txla-fe-border:           #D8DDEB;     /* Cool Divider */
  --txla-fe-border-strong:    #CBD0DE;     /* Pale Slate */

  /* Brand: navy is now primary, red is the accent */
  --txla-fe-primary:          #243164;     /* Primary Navy */
  --txla-fe-primary-hover:    #182246;     /* Deep Navy */
  --txla-fe-primary-soft:     #E8EBF4;     /* Soft Blue White */
  --txla-fe-accent:           #BF2336;     /* Primary Red */

  /* Status */
  --txla-fe-success:          #1E7A4D;
  --txla-fe-warning:          #B16A12;
  --txla-fe-danger:           #BF2336;

  /* Type + radii */
  --txla-fe-font:             "DeLaPaz", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --txla-fe-radius-sm:        10px;
  --txla-fe-radius:           14px;
  --txla-fe-radius-lg:        20px;

  /* Elevation */
  --txla-fe-shadow-sm: 0 1px 2px rgba(24, 34, 70, 0.06), 0 4px 12px rgba(24, 34, 70, 0.05);
  --txla-fe-shadow:    0 8px 28px rgba(24, 34, 70, 0.10);
  --txla-fe-shadow-lg: 0 24px 50px rgba(24, 34, 70, 0.18);
}

/* ----------------------------------------------------------------------------
   Brand-typography overrides for plugin shells
   Headings = SemiBold caps, body = Light, per the brand rules.
   ---------------------------------------------------------------------------- */

.txla-account-shell h1,
.txla-account-shell h2,
.txla-account-shell h3,
.txla-account-shell h4,
.txla-auth-shell h1,
.txla-auth-shell h2,
.txla-auth-shell h3,
.txla-auth-shell h4,
.txla-claim-shell h2,
.txla-directory-shell h2,
.txla-directory-shell h3,
.txla-directory-shell h4,
.txla-profile-shell h1,
.txla-profile-shell h2,
.txla-profile-shell h3,
.txla-profile-shell h4 {
  font-family: var(--txla-fe-font);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #243164;
}

/* Reset weight on body copy so it reads light */
.txla-account-shell p,
.txla-auth-shell p,
.txla-claim-shell p,
.txla-directory-shell p,
.txla-profile-shell p {
  font-weight: 300;
  letter-spacing: 0;
}

.txla-account-shell .txla-muted,
.txla-auth-shell .txla-muted,
.txla-directory-shell .txla-muted,
.txla-profile-shell .txla-muted {
  font-weight: 300;
}

/* Eyebrow uses red instead of primary blue (accent) */
.txla-eyebrow,
.txla-page-header__eyebrow {
  color: #BF2336 !important;
  font-weight: 600;
  letter-spacing: 2px;
}

/* ----------------------------------------------------------------------------
   Buttons: red primary, navy secondary, both with caps + 1.5px tracking
   ---------------------------------------------------------------------------- */

.txla-account-shell .txla-button,
.txla-auth-shell .txla-button,
.txla-claim-shell .txla-button,
.txla-directory-shell .txla-button,
.txla-profile-shell .txla-button {
  background: #BF2336;
  color: #FFFFFF;
  border-radius: 999px;
  font-family: var(--txla-fe-font);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 0.8125rem;
  padding: 12px 22px;
  box-shadow: 0 4px 18px rgba(191, 35, 54, 0.28);
}

.txla-account-shell .txla-button:hover,
.txla-account-shell .txla-button:focus-visible,
.txla-auth-shell .txla-button:hover,
.txla-auth-shell .txla-button:focus-visible,
.txla-claim-shell .txla-button:hover,
.txla-directory-shell .txla-button:hover,
.txla-profile-shell .txla-button:hover {
  background: #9F1D2D;
  box-shadow: 0 8px 24px rgba(159, 29, 45, 0.34);
}

.txla-account-shell .txla-button-secondary,
.txla-auth-shell .txla-button-secondary,
.txla-claim-shell .txla-button-secondary,
.txla-directory-shell .txla-button-secondary,
.txla-profile-shell .txla-button-secondary {
  background: #243164;
  color: #FFFFFF;
  border-color: transparent;
  border-radius: 999px;
  font-family: var(--txla-fe-font);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 0.8125rem;
  padding: 12px 22px;
  box-shadow: 0 4px 18px rgba(36, 49, 100, 0.22);
}

.txla-account-shell .txla-button-secondary:hover,
.txla-auth-shell .txla-button-secondary:hover,
.txla-claim-shell .txla-button-secondary:hover,
.txla-profile-shell .txla-button-secondary:hover {
  background: #182246;
  color: #FFFFFF;
}

/* Pagination uses navy active state */
.txla-directory-shell .txla-page-button.is-active {
  background: #243164;
  border-color: #243164;
  box-shadow: 0 4px 14px rgba(36, 49, 100, 0.22);
}

/* ----------------------------------------------------------------------------
   Status pills (success/warning/danger) — refined to brand
   ---------------------------------------------------------------------------- */

.txla-status-pill.is-success { background: #E0F1E8; color: #1E7A4D; }
.txla-status-pill.is-warning { background: #FCEACE; color: #B16A12; }
.txla-status-pill.is-danger  { background: #F8D9DE; color: #9F1D2D; }

/* Verified badge → navy */
.txla-verified-badge {
  background: linear-gradient(135deg, #243164 0%, #303F78 100%);
  box-shadow: 0 2px 8px rgba(36, 49, 100, 0.3);
}

/* Featured card gold → red signal */
.txla-badge,
.txla-popup-badge {
  background: linear-gradient(135deg, #BF2336 0%, #D43A4B 100%);
  color: #FFFFFF;
  box-shadow: 0 4px 14px rgba(191, 35, 54, 0.32);
}

/* ----------------------------------------------------------------------------
   Hero gradients tuned to brand
   ---------------------------------------------------------------------------- */

.txla-account-hero,
.txla-directory-hero,
.txla-profile-hero {
  background: linear-gradient(135deg, #FFFFFF 0%, #E8EBF4 60%, #D8DDEB 100%);
  border-color: #D8DDEB;
}

.txla-account-hero::before,
.txla-directory-hero::before,
.txla-profile-hero::before {
  background: radial-gradient(circle, rgba(36, 49, 100, 0.18) 0%, rgba(36, 49, 100, 0) 70%);
}

/* ----------------------------------------------------------------------------
   Form fields
   ---------------------------------------------------------------------------- */

.txla-account-shell input[type="text"],
.txla-account-shell input[type="email"],
.txla-account-shell input[type="password"],
.txla-account-shell input[type="tel"],
.txla-account-shell input[type="url"],
.txla-account-shell input[type="number"],
.txla-account-shell input[type="search"],
.txla-account-shell select,
.txla-account-shell textarea,
.txla-auth-shell input[type="text"],
.txla-auth-shell input[type="email"],
.txla-auth-shell input[type="password"],
.txla-auth-shell input[type="search"],
.txla-claim-shell input,
.txla-directory-shell .txla-search-input,
.txla-profile-shell input,
.txla-profile-shell select,
.txla-profile-shell textarea {
  font-family: var(--txla-fe-font);
  font-weight: 300;
  background: #FFFFFF;
  border-color: #D8DDEB;
}

.txla-account-shell input:focus,
.txla-auth-shell input:focus,
.txla-claim-shell input:focus,
.txla-directory-shell input:focus,
.txla-profile-shell input:focus,
.txla-profile-shell select:focus,
.txla-profile-shell textarea:focus {
  border-color: #243164;
  box-shadow: 0 0 0 4px rgba(36, 49, 100, 0.15);
}

/* Auth-card branding */
.txla-auth-card {
  border-color: #D8DDEB;
  background: #FFFFFF;
  box-shadow: 0 24px 50px rgba(24, 34, 70, 0.10);
}

.txla-auth-card h2 {
  color: #243164;
}

/* Stepper */
.txla-auth-shell .txla-stepper {
  background: #E8EBF4;
}

.txla-auth-shell .txla-stepper__num {
  background: #FFFFFF;
  color: #243164;
}

/* Wizard step accent */
.txla-wizard-step {
  border-left-color: #BF2336;
}

.txla-wizard-step__icon {
  background: #F8D9DE;
  color: #9F1D2D;
}

.txla-wizard-step.is-success { border-left-color: #1E7A4D; }
.txla-wizard-step.is-success .txla-wizard-step__icon { background: #E0F1E8; color: #1E7A4D; }

.txla-wizard-step.is-danger  { border-left-color: #9F1D2D; }
.txla-wizard-step.is-danger .txla-wizard-step__icon  { background: #F8D9DE; color: #9F1D2D; }

/* Practice pills */
.txla-practice-pill {
  border-color: #D8DDEB;
}

.txla-practice-pill:hover,
.txla-practice-pill:focus-visible {
  border-color: #243164;
  color: #243164;
  background: #E8EBF4;
}

.txla-practice-pill.is-active {
  background: #243164;
  border-color: #243164;
}

/* Map cluster bubbles */
.marker-cluster {
  background: rgba(36, 49, 100, 0.18) !important;
}

.marker-cluster div {
  background: #243164 !important;
}

.txla-marker--featured {
  filter: drop-shadow(0 4px 0 rgba(191, 35, 54, 0.5)) drop-shadow(0 8px 14px rgba(15, 26, 46, 0.35));
}

.txla-popup-practice {
  color: #243164 !important;
}

/* Cards */
.txla-card,
.txla-section-card,
.txla-sidebar-card,
.txla-featured-module,
.txla-list-shell,
.txla-practice-filters,
.txla-map-panel {
  border-color: #D8DDEB;
}

.txla-card:hover {
  border-color: #42518B;
}
