/* ==========================================================================
   INDEMNIZACÁLCULO — SUPER CALCULADORA 4 EN 1 (PROFESSIONAL CSS)
   ========================================================================== */

:root {
  --bc-bg: #FAF8F5;
  --bc-surface: #FFFFFF;
  --bc-dark: #1C1917;
  --bc-burgundy: #7F1D1D;
  --bc-burgundy-hover: #991B1B;
  --bc-amber: #B45309;
  --bc-amber-bg: #FEF3C7;
  --bc-gold: #FDE68A;
  --bc-text: #1C1917;
  --bc-muted: #57534E;
  --bc-border: #E7E5E4;
}

/* Force Full Width on Front Page (No Sidebar) */
body.home .site-content {
  display: block !important;
}
body.home #primary,
body.home .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.home #right-sidebar,
body.home .sidebar,
body.home .widget-area {
  display: none !important;
}
body.home .site-main {
  max-width: 1180px !important;
  margin: 0 auto !important;
}
body.home .inside-article {
  padding: 30px 20px !important;
}
body.home .entry-header {
  text-align: center !important;
  margin-bottom: 24px !important;
}
body.home .entry-title {
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: var(--bc-dark) !important;
  line-height: 1.3 !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

/* Calculator Wrapper */
.bc-wrapper {
  max-width: 1050px;
  margin: 0 auto 50px auto;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: var(--bc-text);
  box-sizing: border-box;
}

/* Selector Bars (Tabs) */
.bc-selector-bar {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  background: #F3F1EC !important;
  border: 1px solid #E7E5E4 !important;
  padding: 6px !important;
  border-radius: 12px !important;
  margin-bottom: 14px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.bc-tab-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 13px 18px !important;
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--bc-muted) !important;
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
}
.bc-tab-btn:hover {
  background: #E7E3DB !important;
  color: var(--bc-dark) !important;
}
.bc-tab-btn.active {
  background: var(--bc-burgundy) !important;
  color: #FFFFFF !important;
  border-color: var(--bc-burgundy) !important;
  box-shadow: 0 4px 12px rgba(127, 29, 29, 0.22) !important;
}
.bc-tab-btn.active-mode {
  background: var(--bc-dark) !important;
  color: var(--bc-gold) !important;
  border-color: var(--bc-dark) !important;
  box-shadow: 0 4px 12px rgba(28, 25, 23, 0.22) !important;
}

/* Card Container */
.bc-card-full {
  background: var(--bc-surface) !important;
  border: 1px solid var(--bc-border) !important;
  border-top: 4px solid var(--bc-burgundy) !important;
  border-radius: 12px !important;
  padding: 28px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 18px rgba(28, 25, 23, 0.05) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.bc-section-title {
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  color: var(--bc-burgundy) !important;
  margin: 0 0 22px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--bc-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.bc-badge-law {
  font-size: 0.78rem !important;
  background: #F5F5F4 !important;
  color: var(--bc-muted) !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  border: 1px solid #E7E5E4 !important;
}

/* 2-Column Grid with Perfect Proportion */
.bc-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  align-items: start !important;
}

@media (max-width: 768px) {
  .bc-grid-2, .bc-selector-bar {
    grid-template-columns: 1fr !important;
  }
}

/* Form Fields */
.bc-field {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.bc-field label {
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  margin-bottom: 6px !important;
  color: var(--bc-dark) !important;
}

.bc-field small {
  font-size: 0.78rem !important;
  color: #78716C !important;
  margin-top: 5px !important;
  line-height: 1.35 !important;
}

/* Standardized, Proportional Form Controls */
.bc-input,
.bc-select {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  padding: 10px 14px !important;
  font-size: 0.98rem !important;
  font-family: inherit !important;
  background-color: #FFFFFF !important;
  color: var(--bc-dark) !important;
  border: 1.5px solid #D6D3D1 !important;
  border-radius: 8px !important;
  outline: none !important;
  transition: all 0.2s ease !important;
  display: block !important;
}

.bc-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  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='%2357534E' 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 14px center !important;
  background-size: 16px !important;
  padding-right: 42px !important;
  cursor: pointer !important;
}

.bc-input:focus,
.bc-select:focus {
  border-color: var(--bc-burgundy) !important;
  box-shadow: 0 0 0 3px rgba(127, 29, 29, 0.15) !important;
}

/* Big Calculate Button */
.bc-btn-calc {
  width: 100% !important;
  background: var(--bc-burgundy) !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 16px 28px !important;
  font-size: 1.12rem !important;
  font-weight: 800 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  margin-top: 22px !important;
  box-shadow: 0 4px 14px rgba(127, 29, 29, 0.25) !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
  display: block !important;
}
.bc-btn-calc:hover {
  background: var(--bc-burgundy-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(127, 29, 29, 0.35) !important;
}
.bc-btn-calc:active {
  transform: translateY(0) !important;
}

/* Hero Result Card */
.bc-hero-result {
  background: var(--bc-dark) !important;
  color: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 30px !important;
  margin-bottom: 26px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 6px 20px rgba(28, 25, 23, 0.25) !important;
}

.bc-total-amount {
  font-size: 2.8rem !important;
  font-weight: 800 !important;
  color: var(--bc-gold) !important;
  margin: 8px 0 20px 0 !important;
  line-height: 1.1 !important;
}

.bc-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  border-top: 1px solid #44403C !important;
  padding-top: 18px !important;
}

@media (max-width: 820px) {
  .bc-kpi-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.bc-kpi-card {
  background: #292524 !important;
  padding: 14px !important;
  border-radius: 8px !important;
  border: 1px solid #44403C !important;
}

.bc-kpi-label {
  font-size: 0.78rem !important;
  color: #A8A29E !important;
  margin-bottom: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.bc-kpi-val {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #FAFAF9 !important;
}

/* Alert Box */
.bc-alert-box {
  background: var(--bc-amber-bg) !important;
  border-left: 5px solid var(--bc-amber) !important;
  padding: 18px 20px !important;
  border-radius: 6px !important;
  margin-bottom: 24px !important;
  color: #78350F !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* Actuarial Table */
.bc-table-wrap {
  overflow-x: auto !important;
  margin-bottom: 26px !important;
}

.bc-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #FFFFFF !important;
  border: 1px solid var(--bc-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  font-size: 0.94rem !important;
}

.bc-table th {
  background: var(--bc-dark) !important;
  color: #FFFFFF !important;
  padding: 13px 16px !important;
  text-align: left !important;
  font-weight: 700 !important;
}

.bc-table td {
  padding: 13px 16px !important;
  border-bottom: 1px solid var(--bc-border) !important;
  color: var(--bc-text) !important;
}

.bc-table tr:last-child td {
  border-bottom: none !important;
  background: #F5F5F4 !important;
  font-weight: 700 !important;
}

.bc-num {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   HEADER & FOOTER HIGH CONTRAST ENHANCEMENTS
   ========================================================================== */

.site-header {
  background-color: #1C1917 !important;
  border-bottom: 3px solid #7F1D1D !important;
}

.main-title,
.main-title a,
.site-branding a {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  font-size: 1.55rem !important;
  text-decoration: none !important;
}

.main-title a:hover,
.site-branding a:hover {
  color: #FDE68A !important;
}

footer.site-info,
.site-info,
.inside-site-info,
.footer-bar,
.copyright-bar,
.site-footer {
  background-color: #1C1917 !important;
  color: #E7E5E4 !important;
}

footer.site-info {
  border-top: 3px solid #7F1D1D !important;
  padding: 36px 20px !important;
}

.menu-menu-legal-footer-container ul li a {
  color: #E7E5E4 !important;
  font-size: 0.94rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.menu-menu-legal-footer-container ul li a:hover {
  color: #FDE68A !important;
  text-decoration: underline !important;
}

.copyright-bar {
  color: #A8A29E !important;
}

.copyright-bar a {
  color: #FDE68A !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.copyright-bar a:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}
