/* ═══════════════════════════════════════════════════════════════
   TAXPILLAR · CRITICAL LAYOUT OVERRIDES
   This file ensures core layouts work even if styles.css has issues.
   Load AFTER styles.css in every page.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Footer grid: 4 columns ─── */
.footer-grid {
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  gap: 48px !important;
}
@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 560px) {
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* ─── Stats grid: 4 columns ─── */
.stats-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
}
.stat-card {
  padding: 36px 28px !important;
  text-align: center !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.stat-card:last-child {
  border-right: none !important;
}
.stat-card .stat-icon {
  width: 48px !important;
  height: 48px !important;
  margin: 0 auto 16px !important;
  background: rgba(212, 149, 43, 0.15) !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
}
.stat-card .stat-num {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 48px !important;
  color: #FFFFFF !important;
  line-height: 1 !important;
  margin-bottom: 4px !important;
}
.stat-card .stat-num span {
  color: #D4952B !important;
  font-size: 0.6em !important;
}
.stat-card .stat-label {
  font-size: 14px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  line-height: 1.4 !important;
  max-width: 200px !important;
  margin: 0 auto !important;
}
@media (max-width: 900px) {
  .stats-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .stat-card {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }
}
@media (max-width: 520px) {
  .stats-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Auth / Login page: 2 columns ─── */
.auth-wrap {
  min-height: calc(100vh - 68px) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}
.auth-visual {
  background: #0F2139 !important;
  color: #FAFAF8 !important;
  padding: 72px 56px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  position: relative !important;
  overflow: hidden !important;
}
.auth-form-side {
  background: #FDFCFA !important;
  padding: 72px 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.auth-form {
  width: 100% !important;
  max-width: 420px !important;
}
.auth-form form {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}
@media (max-width: 900px) {
  .auth-wrap {
    grid-template-columns: 1fr !important;
  }
  .auth-visual {
    padding: 48px 32px !important;
    min-height: auto !important;
  }
  .auth-form-side {
    padding: 48px 32px !important;
  }
}

/* ─── Form fields: proper stacking and borders ─── */
.form-field {
  display: block !important;
  margin-bottom: 0 !important;
}
.form-field label {
  display: block !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: #5A6678 !important;
  margin-bottom: 6px !important;
}
.form-field input,
.form-field select,
.form-field textarea {
  display: block !important;
  width: 100% !important;
  padding: 12px 14px !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E3E0D8 !important;
  border-radius: 4px !important;
  font-family: 'Source Sans 3', sans-serif !important;
  font-size: 15px !important;
  color: #0F2139 !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: #D4952B !important;
}
.form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}
.form-grid .full {
  grid-column: 1 / -1 !important;
}
@media (max-width: 620px) {
  .form-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Language switcher: MUST be a dropdown, NOT inline ─── */
.lang-switcher {
  position: relative !important;
  display: inline-block !important;
}
.lang-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #0F2139 !important;
  background: transparent !important;
  border: 1px solid #E3E0D8 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
.lang-menu {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  min-width: 200px !important;
  background: #FFFFFF !important;
  border: 1px solid #E3E0D8 !important;
  border-radius: 6px !important;
  box-shadow: 0 16px 40px -10px rgba(15, 33, 57, 0.25) !important;
  z-index: 200 !important;
  padding: 6px 0 !important;
  max-height: 380px !important;
  overflow-y: auto !important;
  /* HIDDEN by default */
  display: none !important;
}
/* Show only when parent has .open class */
.lang-switcher.open .lang-menu {
  display: block !important;
}
.lang-option {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  color: #0F2139 !important;
  text-align: left !important;
  cursor: pointer !important;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box !important;
}
.lang-option:hover {
  background: #F3F1EC !important;
}
.lang-option.active {
  color: #D4952B !important;
  background: #FFF8ED !important;
}
.lang-option .native {
  font-weight: 500 !important;
}
.lang-option .english {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: #8D96A5 !important;
}

/* ─── Features grid ─── */
.features {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
@media (max-width: 900px) {
  .features {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .features {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Pricing grid ─── */
.pricing-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
@media (max-width: 900px) {
  .pricing-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Compare grid ─── */
.compare {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
@media (max-width: 780px) {
  .compare {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Audience split ─── */
.audience-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
}
@media (max-width: 820px) {
  .audience-split {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Values grid ─── */
.values-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
}
@media (max-width: 700px) {
  .values-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Hero grid ─── */
.hero-grid {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr !important;
  gap: 80px !important;
  align-items: end !important;
}
@media (max-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

/* ─── Process steps ─── */
.process-step {
  display: grid !important;
  grid-template-columns: 80px 1fr 2fr !important;
  gap: 32px !important;
}
@media (max-width: 780px) {
  .process-step {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* ─── Auth tabs ─── */
.auth-tabs {
  display: flex !important;
  gap: 0 !important;
  margin-bottom: 28px !important;
  border-bottom: 1.5px solid #E3E0D8 !important;
}
.auth-tab {
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5A6678 !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1.5px !important;
  cursor: pointer !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}
.auth-tab.active {
  color: #0F2139 !important;
  border-bottom-color: #D4952B !important;
}

/* ─── FAQ styling ─── */
.faq-q {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #0F2139 !important;
}
.faq-toggle {
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FFF8ED !important;
  border-radius: 6px !important;
  color: #D4952B !important;
  flex-shrink: 0 !important;
}
.faq-item.open .faq-toggle {
  background: #D4952B !important;
  color: #FFFFFF !important;
}

/* ─── Footer bottom flex ─── */
.footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
}
