/* ************************************************************
   NIC Affordability Calculator v2.0 - WordPress Production
   High-specificity CSS to prevent theme override
************************************************************ */

/* Load Inter font and Material Symbols */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap');

/* Force Material Symbols to load properly in WordPress */
.nic-affordability-calculator-v2 .material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 24px !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  direction: ltr !important;
  -webkit-font-feature-settings: 'liga' !important;
  -webkit-font-smoothing: antialiased !important;
  font-feature-settings: 'liga' !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* High-specificity container and reset */
.nic-affordability-calculator-v2 {
  /* Editorial Analyst CSS Variables */
  --surface-container-lowest: #ffffff !important;
  --on-tertiary: #ffffff !important;
  --on-error-container: #93000a !important;
  --background: #fbf9f7 !important;
  --surface-tint: #3d6a00 !important;
  --secondary: #00639a !important;
  --primary: #3b6700 !important;
  --inverse-on-surface: #f2f0ef !important;
  --on-primary: #ffffff !important;
  --on-tertiary-container: #fefcff !important;
  --outline-variant: #c2c9b5 !important;
  --on-secondary: #ffffff !important;
  --tertiary-fixed-dim: #b2c6f6 !important;
  --inverse-primary: #9ed760 !important;
  --error-container: #ffdad6 !important;
  --on-primary-container: #f9ffeb !important;
  --primary-container: #4f8211 !important;
  --secondary-container: #71bcfe !important;
  --on-secondary-fixed-variant: #004a76 !important;
  --secondary-fixed: #cee5ff !important;
  --on-surface: #1b1c1b !important;
  --surface-dim: #dbdad8 !important;
  --inverse-surface: #303030 !important;
  --tertiary-fixed: #d8e2ff !important;
  --surface: #fbf9f7 !important;
  --tertiary: #485c85 !important;
  --on-primary-fixed-variant: #2d5000 !important;
  --on-error: #ffffff !important;
  --surface-bright: #fbf9f7 !important;
  --surface-container-high: #e9e8e6 !important;
  --outline: #737a68 !important;
  --on-background: #1b1c1b !important;
  --error: #ba1a1a !important;
  --tertiary-container: #61749f !important;
  --on-tertiary-fixed-variant: #32466f !important;
  --on-surface-variant: #424939 !important;
  --surface-container: #efedec !important;
  --surface-container-lowest: #ffffff !important;
  --surface-container-low: #f5f3f2 !important;
  --surface-container-highest: #e4e2e1 !important;
  
  /* Typography and base styles */
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  background: var(--surface) !important;
  color: var(--on-surface) !important;
  line-height: 1.6 !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 2rem !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Force all child elements to use our typography */
.nic-affordability-calculator-v2 *,
.nic-affordability-calculator-v2 *::before,
.nic-affordability-calculator-v2 *::after {
  box-sizing: border-box !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* High-specificity utility classes with !important */
.nic-affordability-calculator-v2 .flex { display: flex !important; }
.nic-affordability-calculator-v2 .flex-col { flex-direction: column !important; }
.nic-affordability-calculator-v2 .flex-row { flex-direction: row !important; }
.nic-affordability-calculator-v2 .flex-wrap { flex-wrap: wrap !important; }
.nic-affordability-calculator-v2 .grid { display: grid !important; }
.nic-affordability-calculator-v2 .hidden { display: none !important; }
.nic-affordability-calculator-v2 .block { display: block !important; }
.nic-affordability-calculator-v2 .inline-block { display: inline-block !important; }

.nic-affordability-calculator-v2 .items-start { align-items: flex-start !important; }
.nic-affordability-calculator-v2 .items-center { align-items: center !important; }
.nic-affordability-calculator-v2 .items-baseline { align-items: baseline !important; }
.nic-affordability-calculator-v2 .justify-between { justify-content: space-between !important; }
.nic-affordability-calculator-v2 .justify-center { justify-content: center !important; }

.nic-affordability-calculator-v2 .gap-2 { gap: 0.5rem !important; }
.nic-affordability-calculator-v2 .gap-3 { gap: 0.75rem !important; }
.nic-affordability-calculator-v2 .gap-4 { gap: 1rem !important; }
.nic-affordability-calculator-v2 .gap-6 { gap: 1.5rem !important; }
.nic-affordability-calculator-v2 .gap-12 { gap: 3rem !important; }

/* Margin utilities */
.nic-affordability-calculator-v2 .mb-1 { margin-bottom: 0.25rem !important; }
.nic-affordability-calculator-v2 .mb-2 { margin-bottom: 0.5rem !important; }
.nic-affordability-calculator-v2 .mb-3 { margin-bottom: 0.75rem !important; }
.nic-affordability-calculator-v2 .mb-4 { margin-bottom: 1rem !important; }
.nic-affordability-calculator-v2 .mb-6 { margin-bottom: 1.5rem !important; }
.nic-affordability-calculator-v2 .mb-8 { margin-bottom: 2rem !important; }
.nic-affordability-calculator-v2 .mb-12 { margin-bottom: 3rem !important; }
.nic-affordability-calculator-v2 .mb-16 { margin-bottom: 4rem !important; }
.nic-affordability-calculator-v2 .mt-2 { margin-top: 0.5rem !important; }
.nic-affordability-calculator-v2 .mt-4 { margin-top: 1rem !important; }
.nic-affordability-calculator-v2 .mt-6 { margin-top: 1.5rem !important; }
.nic-affordability-calculator-v2 .mt-8 { margin-top: 2rem !important; }
.nic-affordability-calculator-v2 .mt-auto { margin-top: auto !important; }
.nic-affordability-calculator-v2 .mx-auto { margin-left: auto !important; margin-right: auto !important; }
.nic-affordability-calculator-v2 .mr-2 { margin-right: 0.5rem !important; }

/* Padding utilities */
.nic-affordability-calculator-v2 .p-4 { padding: 1rem !important; }
.nic-affordability-calculator-v2 .p-6 { padding: 1.5rem !important; }
.nic-affordability-calculator-v2 .p-8 { padding: 2rem !important; }
.nic-affordability-calculator-v2 .px-3 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
.nic-affordability-calculator-v2 .px-4 { padding-left: 1rem !important; padding-right: 1rem !important; }
.nic-affordability-calculator-v2 .px-6 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.nic-affordability-calculator-v2 .px-8 { padding-left: 2rem !important; padding-right: 2rem !important; }
.nic-affordability-calculator-v2 .py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
.nic-affordability-calculator-v2 .py-2 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.nic-affordability-calculator-v2 .py-3 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }
.nic-affordability-calculator-v2 .py-8 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
.nic-affordability-calculator-v2 .pb-3 { padding-bottom: 0.75rem !important; }
.nic-affordability-calculator-v2 .pb-4 { padding-bottom: 1rem !important; }
.nic-affordability-calculator-v2 .pt-8 { padding-top: 2rem !important; }

/* Width and height utilities */
.nic-affordability-calculator-v2 .w-full { width: 100% !important; }
.nic-affordability-calculator-v2 .w-16 { width: 4rem !important; }
.nic-affordability-calculator-v2 .h-16 { height: 4rem !important; }
.nic-affordability-calculator-v2 .w-3 { width: 0.75rem !important; }
.nic-affordability-calculator-v2 .h-3 { height: 0.75rem !important; }
.nic-affordability-calculator-v2 .w-6 { width: 1.5rem !important; }
.nic-affordability-calculator-v2 .h-6 { height: 1.5rem !important; }
.nic-affordability-calculator-v2 .h-full { height: 100% !important; }

.nic-affordability-calculator-v2 .max-w-3xl { max-width: 48rem !important; }
.nic-affordability-calculator-v2 .max-w-4xl { max-width: 56rem !important; }
.nic-affordability-calculator-v2 .max-w-md { max-width: 28rem !important; }

/* Typography utilities */
.nic-affordability-calculator-v2 .text-xs { font-size: 0.75rem !important; line-height: 1rem !important; }
.nic-affordability-calculator-v2 .text-sm { font-size: 0.875rem !important; line-height: 1.25rem !important; }
.nic-affordability-calculator-v2 .text-base { font-size: 1rem !important; line-height: 1.5rem !important; }
.nic-affordability-calculator-v2 .text-lg { font-size: 1.125rem !important; line-height: 1.75rem !important; }
.nic-affordability-calculator-v2 .text-xl { font-size: 1.25rem !important; line-height: 1.75rem !important; }
.nic-affordability-calculator-v2 .text-2xl { font-size: 1.5rem !important; line-height: 2rem !important; }
.nic-affordability-calculator-v2 .text-3xl { font-size: 1.875rem !important; line-height: 2.25rem !important; }
.nic-affordability-calculator-v2 .text-4xl { font-size: 2.25rem !important; line-height: 2.5rem !important; }
.nic-affordability-calculator-v2 .text-6xl { font-size: 3.75rem !important; line-height: 1 !important; }

/* Material Symbols Icon Size Overrides */
.nic-affordability-calculator-v2 .material-symbols-outlined.text-sm { 
  font-size: 0.875rem !important; 
  line-height: 0.875rem !important;
}
.nic-affordability-calculator-v2 .material-symbols-outlined.text-lg { 
  font-size: 1.125rem !important; 
  line-height: 1.125rem !important;
}
.nic-affordability-calculator-v2 .material-symbols-outlined.text-3xl { 
  font-size: 1.875rem !important; 
  line-height: 1.875rem !important;
}

/* Icon color overrides */
.nic-affordability-calculator-v2 .material-symbols-outlined.text-primary { 
  color: var(--primary) !important; 
}
.nic-affordability-calculator-v2 .material-symbols-outlined.text-secondary { 
  color: var(--secondary) !important; 
}
.nic-affordability-calculator-v2 .material-symbols-outlined.text-error { 
  color: var(--error) !important; 
}

.nic-affordability-calculator-v2 .font-medium { font-weight: 500 !important; }
.nic-affordability-calculator-v2 .font-semibold { font-weight: 600 !important; }
.nic-affordability-calculator-v2 .font-bold { font-weight: 700 !important; }
.nic-affordability-calculator-v2 .font-extrabold { font-weight: 800 !important; }

.nic-affordability-calculator-v2 .leading-relaxed { line-height: 1.625 !important; }
.nic-affordability-calculator-v2 .leading-tight { line-height: 1.25 !important; }

.nic-affordability-calculator-v2 .text-center { text-align: center !important; }
.nic-affordability-calculator-v2 .uppercase { text-transform: uppercase !important; }
.nic-affordability-calculator-v2 .tracking-tight { letter-spacing: -0.025em !important; }
.nic-affordability-calculator-v2 .tracking-wide { letter-spacing: 0.025em !important; }
.nic-affordability-calculator-v2 .tracking-wider { letter-spacing: 0.05em !important; }
.nic-affordability-calculator-v2 .tracking-widest { letter-spacing: 0.1em !important; }

/* Background color utilities */
.nic-affordability-calculator-v2 .bg-surface-container-low { background-color: var(--surface-container-low) !important; }
.nic-affordability-calculator-v2 .bg-surface-container-high { background-color: var(--surface-container-high) !important; }
.nic-affordability-calculator-v2 .bg-surface-container-highest { background-color: var(--surface-container-highest) !important; }
.nic-affordability-calculator-v2 .bg-surface-container-lowest { background-color: var(--surface-container-lowest) !important; }
.nic-affordability-calculator-v2 .bg-primary { background-color: var(--primary) !important; }
.nic-affordability-calculator-v2 .bg-secondary { background-color: var(--secondary) !important; }
.nic-affordability-calculator-v2 .bg-outline { background-color: var(--outline) !important; }
.nic-affordability-calculator-v2 .bg-error { background-color: var(--error) !important; }

/* Text color utilities */
.nic-affordability-calculator-v2 .text-primary { color: var(--primary) !important; }
.nic-affordability-calculator-v2 .text-secondary { color: var(--secondary) !important; }
.nic-affordability-calculator-v2 .text-error { color: var(--error) !important; }
.nic-affordability-calculator-v2 .text-on-primary { color: var(--on-primary) !important; }
.nic-affordability-calculator-v2 .text-on-secondary { color: var(--on-secondary) !important; }
.nic-affordability-calculator-v2 .text-on-surface { color: var(--on-surface) !important; }
.nic-affordability-calculator-v2 .text-outline { color: var(--outline) !important; }
.nic-affordability-calculator-v2 .text-surface { color: var(--surface) !important; }
.nic-affordability-calculator-v2 .text-white { color: #ffffff !important; }

/* Special color classes */
.nic-affordability-calculator-v2 .bg-\[\#e1effe\] { background-color: #e1effe !important; }
.nic-affordability-calculator-v2 .text-\[\#00639a\] { color: #00639a !important; }
.nic-affordability-calculator-v2 .text-\[\#1b1c1b\] { color: #1b1c1b !important; }
.nic-affordability-calculator-v2 .text-\[\#686867\] { color: #686867 !important; }
.nic-affordability-calculator-v2 .bg-\[\#999999\] { background-color: #999999 !important; }
.nic-affordability-calculator-v2 .bg-primary-container\/30 { background-color: rgba(79, 130, 17, 0.3) !important; }
.nic-affordability-calculator-v2 .bg-primary\/10 { background-color: rgba(59, 103, 0, 0.1) !important; }

/* Border utilities */
.nic-affordability-calculator-v2 .border { border-width: 1px !important; }
.nic-affordability-calculator-v2 .border-2 { border-width: 2px !important; }
.nic-affordability-calculator-v2 .border-4 { border-width: 4px !important; }
.nic-affordability-calculator-v2 .border-t-4 { border-top-width: 4px !important; }
.nic-affordability-calculator-v2 .border-b { border-bottom-width: 1px !important; }
.nic-affordability-calculator-v2 .border-none { border-style: none !important; }
.nic-affordability-calculator-v2 .border-primary { border-color: var(--primary) !important; }
.nic-affordability-calculator-v2 .border-error { border-color: var(--error) !important; }
.nic-affordability-calculator-v2 .border-outline-variant\/20 { border-color: rgba(196, 201, 181, 0.2) !important; }
.nic-affordability-calculator-v2 .border-outline-variant\/30 { border-color: rgba(196, 201, 181, 0.3) !important; }
.nic-affordability-calculator-v2 .border-primary\/40 { border-color: rgba(59, 103, 0, 0.4) !important; }

/* Border radius utilities */
.nic-affordability-calculator-v2 .rounded { border-radius: 0.25rem !important; }
.nic-affordability-calculator-v2 .rounded-md { border-radius: 0.375rem !important; }
.nic-affordability-calculator-v2 .rounded-lg { border-radius: 0.5rem !important; }
.nic-affordability-calculator-v2 .rounded-xl { border-radius: 0.75rem !important; }
.nic-affordability-calculator-v2 .rounded-full { border-radius: 9999px !important; }

/* Layout utilities */
.nic-affordability-calculator-v2 .relative { position: relative !important; }
.nic-affordability-calculator-v2 .absolute { position: absolute !important; }
.nic-affordability-calculator-v2 .inset-0 { top: 0px !important; right: 0px !important; bottom: 0px !important; left: 0px !important; }

.nic-affordability-calculator-v2 .overflow-hidden { overflow: hidden !important; }
.nic-affordability-calculator-v2 .aspect-\[21\/9\] { aspect-ratio: 21 / 9 !important; }

/* Grid utilities */
.nic-affordability-calculator-v2 .col-span-full { grid-column: 1 / -1 !important; }
.nic-affordability-calculator-v2 .gap-x-12 { column-gap: 3rem !important; }
.nic-affordability-calculator-v2 .gap-y-8 { row-gap: 2rem !important; }
/* Base flex utilities */
.nic-affordability-calculator-v2 .items-stretch { align-items: stretch !important; }
.nic-affordability-calculator-v2 .justify-center { justify-content: center !important; }
.nic-affordability-calculator-v2 .whitespace-nowrap { white-space: nowrap !important; }
.nic-affordability-calculator-v2 .text-center { text-align: center !important; }

/* Hide/show utilities */
@media (min-width: 640px) {
  .nic-affordability-calculator-v2 .sm\:hidden { display: none !important; }
}

@media (min-width: 768px) {
  .nic-affordability-calculator-v2 .md\:hidden { display: none !important; }
}

.nic-affordability-calculator-v2 .flex-grow { flex-grow: 1 !important; }

/* Responsive grid */
@media (min-width: 1024px) {
  .nic-affordability-calculator-v2 .lg-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
  .nic-affordability-calculator-v2 .lg-col-span-8 { grid-column: span 8 / span 8 !important; }
  .nic-affordability-calculator-v2 .lg-col-span-4 { grid-column: span 4 / span 4 !important; }
  .nic-affordability-calculator-v2 .lg\:flex-row { flex-direction: row !important; }
  .nic-affordability-calculator-v2 .lg\:items-baseline { align-items: baseline !important; }
  .nic-affordability-calculator-v2 .lg\:justify-between { justify-content: space-between !important; }
}

@media (min-width: 768px) {
  .nic-affordability-calculator-v2 .md-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .nic-affordability-calculator-v2 .md\:block { display: block !important; }
  .nic-affordability-calculator-v2 .md\:flex { display: flex !important; }
  .nic-affordability-calculator-v2 .md\:inline { display: inline !important; }
}

@media (min-width: 640px) {
  .nic-affordability-calculator-v2 .sm\:flex-row { flex-direction: row !important; }
  .nic-affordability-calculator-v2 .sm\:items-center { align-items: center !important; }
  .nic-affordability-calculator-v2 .sm\:inline { display: inline !important; }
}

/* Space utilities */
.nic-affordability-calculator-v2 .space-y-1 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.25rem !important; }
.nic-affordability-calculator-v2 .space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem !important; }
.nic-affordability-calculator-v2 .space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem !important; }
.nic-affordability-calculator-v2 .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem !important; }

/* Primary gradient */
.nic-affordability-calculator-v2 .primary-gradient {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%) !important;
}

/* Custom shadow */
.nic-affordability-calculator-v2 .custom-shadow {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

/* Shadow utilities */
.nic-affordability-calculator-v2 .shadow-lg { box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important; }

/* Hover effects */
.nic-affordability-calculator-v2 .hover\:opacity-90:hover { opacity: 0.9 !important; }
.nic-affordability-calculator-v2 .hover\:bg-opacity-90:hover { --tw-bg-opacity: 0.9 !important; }
.nic-affordability-calculator-v2 .hover\:bg-primary\/5:hover { background-color: rgba(59, 103, 0, 0.05) !important; }
.nic-affordability-calculator-v2 .hover\:bg-error\/5:hover { background-color: rgba(186, 26, 26, 0.05) !important; }
.nic-affordability-calculator-v2 .hover\:underline:hover { text-decoration-line: underline !important; }
.nic-affordability-calculator-v2 .hover\:scale-105:hover { transform: scale(1.05) !important; }

/* Transitions */
.nic-affordability-calculator-v2 .transition-opacity { transition-property: opacity !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 150ms !important; }
.nic-affordability-calculator-v2 .transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 150ms !important; }
.nic-affordability-calculator-v2 .transition-all { transition-property: all !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; transition-duration: 150ms !important; }

/* Focus styles */
.nic-affordability-calculator-v2 .focus\:ring-2:focus { box-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important; }
.nic-affordability-calculator-v2 .focus\:ring-secondary:focus { --tw-ring-color: var(--secondary) !important; }

/* Range Input Styling - MOVED TO ENHANCED SECTION BELOW */
/* Kept for reference - enhanced slider styles are defined at end of file */

/* Market Overview Specific Styles */
.nic-affordability-calculator-v2 #selectedMarketName {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.nic-affordability-calculator-v2 .bg-surface-container-high .flex.justify-between .text-sm {
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Placeholder Styles - More Subtle */
.nic-affordability-calculator-v2 input::placeholder {
  color: var(--outline) !important;
  opacity: 0.6 !important;
}

.nic-affordability-calculator-v2 input[type="number"]::placeholder {
  color: var(--outline) !important;
  opacity: 0.6 !important;
}

/* Select Styling */
/* .nic-affordability-calculator-v2 select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 1rem !important;
  padding-right: 3rem !important;
} */

/* Button Styling */
.nic-affordability-calculator-v2 button {
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.nic-affordability-calculator-v2 button:hover {
  transform: translateY(-1px) !important;
}

.nic-affordability-calculator-v2 button:active {
  transform: translateY(0) !important;
}

/* Lists Grid */
.nic-affordability-calculator-v2 .lists-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
}

@media (min-width: 768px) {
  .nic-affordability-calculator-v2 .lists-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Map Styles */
.nic-affordability-calculator-v2 #mapContainer {
  background: #fff !important;
  aspect-ratio: 870 / 555 !important;
}

.nic-affordability-calculator-v2 #mapSvg {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
}

.nic-affordability-calculator-v2 #mapSvg svg {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Map assumptions info box */
/* Shared base for both map overlay boxes */
.nic-affordability-calculator-v2 #mapAssumptionsBox,
.nic-affordability-calculator-v2 #mapLegendBox {
  position: absolute !important;
  bottom: 12px !important;
  background: rgba(255,255,255,0.93) !important;
  border: 1px solid #dbeafe !important;
  border-radius: 8px !important;
  padding: 9px 11px !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  color: #374151 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10) !important;
  pointer-events: none !important;
  z-index: 20 !important;
}

.nic-affordability-calculator-v2 #mapAssumptionsBox {
  left: 12px !important;
  min-width: 210px !important;
}

.nic-affordability-calculator-v2 #mapLegendBox {
  right: 12px !important;
  min-width: 150px !important;
}

.nic-affordability-calculator-v2 .map-info-title {
  font-weight: 700 !important;
  color: #1e3a5f !important;
  font-size: 11px !important;
  letter-spacing: 0.02em !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding-bottom: 3px !important;
  margin-bottom: 4px !important;
}

.nic-affordability-calculator-v2 .map-info-muted {
  color: #6b7280 !important;
  font-size: 10px !important;
  line-height: 1.6 !important;
}

.nic-affordability-calculator-v2 .map-info-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 11px !important;
}

.nic-affordability-calculator-v2 .map-info-table td {
  padding: 1px 0 !important;
  color: #374151 !important;
}

.nic-affordability-calculator-v2 .map-info-table td:last-child {
  text-align: right !important;
  font-weight: 700 !important;
  color: #1e3a5f !important;
  padding-left: 8px !important;
}

/* Legend dot */
.nic-affordability-calculator-v2 .map-legend-row {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 2px 0 !important;
  font-size: 11px !important;
  color: #374151 !important;
}

.nic-affordability-calculator-v2 .map-legend-dot {
  width: 11px !important;
  height: 11px !important;
  border-radius: 50% !important;
  border: 1.5px solid #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25) !important;
  flex-shrink: 0 !important;
}

/* State fill/stroke colors */
.nic-affordability-calculator-v2 #mapSvg svg path {
  fill: #C3D8F2 !important;
  stroke: #93c5fd !important;
  stroke-width: 0.5px !important;
}

/* Map marker styles */
.nic-affordability-calculator-v2 .map-marker {
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  stroke-width: 2 !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)) !important;
}

.nic-affordability-calculator-v2 .map-marker:hover {
  stroke-width: 3 !important;
  r: 8 !important;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4)) !important;
}

.nic-affordability-calculator-v2 .marker-orange { fill: #f97316 !important; }  /* Less than 5 years */
.nic-affordability-calculator-v2 .marker-yellow { fill: #eab308 !important; }  /* 5-8 years */
.nic-affordability-calculator-v2 .marker-blue { fill: #3b82f6 !important; }    /* 8-11 years */
.nic-affordability-calculator-v2 .marker-green { fill: #22c55e !important; }   /* 11-14 years */
.nic-affordability-calculator-v2 .marker-pink { fill: #ec4899 !important; }    /* 14-17 years */
.nic-affordability-calculator-v2 .marker-purple { fill: #8b5cf6 !important; }  /* 17-20 years */

/* Legend Color Classes for Tailwind Compatibility */
.nic-affordability-calculator-v2 .bg-orange-500 { background-color: #f97316 !important; }
.nic-affordability-calculator-v2 .bg-yellow-500 { background-color: #eab308 !important; }
.nic-affordability-calculator-v2 .bg-blue-500 { background-color: #3b82f6 !important; }
.nic-affordability-calculator-v2 .bg-green-500 { background-color: #22c55e !important; }
.nic-affordability-calculator-v2 .bg-pink-500 { background-color: #ec4899 !important; }
.nic-affordability-calculator-v2 .bg-purple-500 { background-color: #8b5cf6 !important; }

/* Map Tooltip */
.nic-affordability-calculator-v2 .map-tooltip {
  position: absolute !important;
  z-index: 100 !important;
  pointer-events: none !important;
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid #dbeafe !important;
  border-radius: 8px !important;
  padding: 10px 13px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.14) !important;
  min-width: 170px !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: #374151 !important;
}

.nic-affordability-calculator-v2 .map-tt-city {
  font-weight: 700 !important;
  font-size: 12px !important;
  color: #1e3a5f !important;
  margin-bottom: 2px !important;
}

.nic-affordability-calculator-v2 .map-tt-duration {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--primary, #2563eb) !important;
  margin-bottom: 6px !important;
}

.nic-affordability-calculator-v2 .map-tt-divider {
  border-top: 1px solid #e5e7eb !important;
  margin-bottom: 6px !important;
}

.nic-affordability-calculator-v2 .map-tt-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 1px 0 !important;
}

.nic-affordability-calculator-v2 .map-tt-row span:first-child {
  color: #6b7280 !important;
}

.nic-affordability-calculator-v2 .map-tt-row span:last-child {
  font-weight: 600 !important;
  color: #1e3a5f !important;
}

/* Responsive Typography */
@media (max-width: 768px) {
  .nic-affordability-calculator-v2 .text-6xl { font-size: 2.5rem !important; line-height: 1.1 !important; }
  .nic-affordability-calculator-v2 .text-4xl { font-size: 2rem !important; line-height: 1.2 !important; }
  .nic-affordability-calculator-v2 .text-xl { font-size: 1.125rem !important; line-height: 1.6 !important; }
}

/* Print Styles */
@media print {
  .nic-affordability-calculator-v2 {
    background: white !important;
    color: black !important;
  }
  
  .nic-affordability-calculator-v2 button {
    display: none !important;
  }
}

/* Force override WordPress theme styles */
.nic-affordability-calculator-v2 h1, 
.nic-affordability-calculator-v2 h2, 
.nic-affordability-calculator-v2 h3, 
.nic-affordability-calculator-v2 h4, 
.nic-affordability-calculator-v2 h5, 
.nic-affordability-calculator-v2 h6 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nic-affordability-calculator-v2 p,
.nic-affordability-calculator-v2 span,
.nic-affordability-calculator-v2 div,
.nic-affordability-calculator-v2 label {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: inherit !important;
}

.nic-affordability-calculator-v2 a {
  text-decoration: none !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.nic-affordability-calculator-v2 button,
.nic-affordability-calculator-v2 input,
.nic-affordability-calculator-v2 select,
.nic-affordability-calculator-v2 textarea {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: inherit !important;
  border: none !important;
  outline: none !important;
}

/* ************************************************************
   Helpbox Tooltip System
************************************************************ */

.nic-affordability-calculator-v2 .helpbox-trigger {
  position: relative !important;
  transition: all 0.2s ease !important;
}

.nic-affordability-calculator-v2 .helpbox-trigger:hover {
  background-color: var(--secondary) !important;
  color: var(--on-secondary) !important;
  transform: scale(1.1) !important;
}

.nic-affordability-calculator-v2 .helpbox-trigger::after {
  content: attr(data-helptext) !important;
  position: absolute !important;
  bottom: 125% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--inverse-surface) !important;
  color: var(--inverse-on-surface) !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  max-width: 250px !important;
  width: max-content !important;
  text-align: center !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  z-index: 1000 !important;
  font-weight: 400 !important;
}

.nic-affordability-calculator-v2 .helpbox-trigger::before {
  content: '' !important;
  position: absolute !important;
  bottom: 115% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 5px solid transparent !important;
  border-top-color: var(--inverse-surface) !important;
  opacity: 0 !important;
  transition: all 0.3s ease !important;
  z-index: 1001 !important;
}

.nic-affordability-calculator-v2 .helpbox-trigger:hover::after,
.nic-affordability-calculator-v2 .helpbox-trigger:hover::before {
  opacity: 1 !important;
}

/* Responsive helpbox positioning */
@media (max-width: 768px) {
  .nic-affordability-calculator-v2 .helpbox-trigger::after {
    max-width: 200px !important;
    font-size: 11px !important;
    padding: 6px 10px !important;
  }
}

/* ************************************************************
   Enhanced Input Styling for New Fields
************************************************************ */

.nic-affordability-calculator-v2 input[type="number"] {
  appearance: textfield !important;
  -moz-appearance: textfield !important;
  border: 1px solid var(--outline-variant) !important;
  transition: all 0.2s ease !important;
}

.nic-affordability-calculator-v2 input[type="number"]::-webkit-outer-spin-button,
.nic-affordability-calculator-v2 input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.nic-affordability-calculator-v2 input[type="number"]:focus {
  border-color: var(--secondary) !important;
  box-shadow: 0 0 0 2px var(--secondary-container) !important;
}

/* ************************************************************
   Enhanced Slider Styling for WordPress Compatibility
************************************************************ */

.nic-affordability-calculator-v2 input[type="range"] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background: var(--outline-variant, #c2c9b5) !important;
  cursor: pointer !important;
  width: 100% !important;
  height: 6px !important;
  border-radius: 3px !important;
  margin: 12px 0 !important;
  outline: none !important;
  border: none !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Webkit Slider Styles */
.nic-affordability-calculator-v2 input[type="range"]::-webkit-slider-track {
  background: var(--outline-variant, #c2c9b5) !important;
  height: 6px !important;
  border-radius: 3px !important;
  border: none !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-webkit-slider-runnable-track {
  background: var(--outline-variant, #c2c9b5) !important;
  height: 6px !important;
  border-radius: 3px !important;
  border: none !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: var(--primary) !important;
  height: 20px !important;
  width: 20px !important;
  border-radius: 50% !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  cursor: pointer !important;
  margin-top: -7px !important;
  transition: all 0.2s ease !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-webkit-slider-thumb:hover {
  background: var(--primary-container) !important;
  transform: scale(1.1) !important;
}

/* Firefox Slider Styles */
.nic-affordability-calculator-v2 input[type="range"]::-moz-range-track {
  background: var(--outline-variant, #c2c9b5) !important;
  height: 6px !important;
  border-radius: 3px !important;
  border: none !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-moz-range-progress {
  background: var(--outline-variant, #c2c9b5) !important;
  height: 6px !important;
  border-radius: 3px !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-moz-range-thumb {
  background: var(--primary) !important;
  height: 20px !important;
  width: 20px !important;
  border-radius: 50% !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-moz-range-thumb:hover {
  background: var(--primary-container) !important;
  transform: scale(1.1) !important;
}

/* IE/Edge Slider Styles */
.nic-affordability-calculator-v2 input[type="range"]::-ms-track {
  background: transparent !important;
  color: transparent !important;
  height: 6px !important;
  border: none !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-ms-fill-lower,
.nic-affordability-calculator-v2 input[type="range"]::-ms-fill-upper {
  background: var(--outline-variant) !important;
  border-radius: 3px !important;
}

.nic-affordability-calculator-v2 input[type="range"]::-ms-thumb {
  background: var(--primary) !important;
  height: 20px !important;
  width: 20px !important;
  border-radius: 50% !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  cursor: pointer !important;
}

/* ************************************************************
   Three Column Layout Enhancements for Better Spacing
************************************************************ */

.nic-affordability-calculator-v2 .md-grid-cols-3 {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

/* Column spacing improvements */
.nic-affordability-calculator-v2 .space-y-6 > * + * {
  margin-top: 1.5rem !important;
}

.nic-affordability-calculator-v2 .space-y-3 > * + * {
  margin-top: 0.75rem !important;
}

.nic-affordability-calculator-v2 .gap-x-6 {
  column-gap: 1.5rem !important;
}

.nic-affordability-calculator-v2 .gap-y-8 {
  row-gap: 2rem !important;
}

/* Enhanced column headers styling */
.nic-affordability-calculator-v2 .border-b {
  border-bottom-width: 1px !important;
  border-bottom-style: solid !important;
}

.nic-affordability-calculator-v2 .pb-2 {
  padding-bottom: 0.5rem !important;
}

/* Mobile responsiveness for better column stacking */
@media (max-width: 768px) {
  .nic-affordability-calculator-v2 .md-grid-cols-3 {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  
  .nic-affordability-calculator-v2 .gap-x-6 {
    column-gap: 0 !important;
  }
  
  .nic-affordability-calculator-v2 .gap-y-8 {
    row-gap: 1.5rem !important;
  }
}