/*
 * Capa final de identidad visual sobria.
 * Reduce la cantidad de colores decorativos y concentra la interfaz en
 * azul ACF, verde petróleo, crema y grises azulados.
 */
:root{
  --brand-primary:#102d62;
  --brand-secondary:#214b91;
  --brand-accent:#167a74;
  --brand-accent-dark:#0f625d;
  --surface-main:#f7f5ef;
  --surface-soft:#eef3f7;
  --surface-muted:#e5ebf1;
  --surface-white:#fff;
  --text-main:#1d2735;
  --text-muted:#556174;
  --line-soft:#d6dee8;
  --warning:#d9b82f;

  /* Neutraliza la paleta decorativa heredada sin romper sus referencias. */
  --fresh-coral:var(--brand-accent);
  --fresh-mint:var(--brand-accent);
  --fresh-lilac:var(--surface-muted);
  --fresh-sky:var(--surface-soft);
  --fresh-yellow:#e8d98a;

  --tool-blue:var(--brand-primary);
  --tool-blue-2:var(--brand-secondary);
  --tool-teal:var(--brand-accent);
  --tool-sky:var(--surface-soft);
  --tool-paper:var(--surface-main);
  --tool-yellow:var(--warning);
  --tool-line:var(--line-soft);
}

body{
  color:var(--text-main);
  background:var(--surface-main)!important;
}

/* Encabezado y navegación */
.site-header{
  background:rgba(250,249,246,.96)!important;
  border-bottom-color:rgba(16,45,98,.12)!important;
}
.nav a:hover,
.nav a:focus-visible{
  color:var(--brand-primary)!important;
  background:#e9eef4!important;
}

/* Ticker: recurso editorial, no franja de advertencia. */
.ticker{
  color:var(--brand-primary)!important;
  background:#ece8da!important;
  border-color:#d8d1bc!important;
  box-shadow:none!important;
}
.ticker::before,
.ticker::after{
  opacity:.72!important;
}

/* Hero principal */
.masthead-fresh{
  background:linear-gradient(135deg,#faf8f2 0%,#eef3f7 66%,#e8f0ef 100%)!important;
}
.masthead-fresh .masthead-inner::before{
  background:#dce5ee!important;
  opacity:.68!important;
  filter:none!important;
}
.masthead-fresh h1,
.masthead-fresh h1 em{
  color:var(--brand-primary)!important;
}
.masthead-fresh h1 em{
  text-decoration:underline;
  text-decoration-color:var(--brand-accent);
  text-decoration-thickness:.08em;
  text-underline-offset:.08em;
}
.masthead-kicker{
  color:var(--brand-primary)!important;
  background:rgba(255,255,255,.75)!important;
  border-color:rgba(16,45,98,.18)!important;
}
.masthead-kicker::before{
  background:var(--brand-primary)!important;
  box-shadow:14px 0 0 var(--brand-accent),28px 0 0 #9aa8b8!important;
}
.masthead-summary{
  color:var(--text-muted)!important;
}

/* Etiquetas y metadatos: una sola familia visual. */
.content-badge,
.story-card .content-badge,
.lead .content-badge,
.listing-pills a,
.quick-links a,
.tool-hero-meta span,
.newsletter-topics label{
  color:var(--brand-primary)!important;
  background:#edf1f5!important;
  border-color:#d4dde7!important;
}
.content-badge,
.story-card .content-badge,
.lead .content-badge{
  box-shadow:none!important;
}

.section-label,
.section-head .section-label,
.lead .section-label,
.newsletter .section-label,
.story-meta span:first-child,
.tool-card .story-meta span:first-child{
  color:var(--brand-accent)!important;
}

/* Artículo destacado y rutas principales */
.lead{
  background:var(--surface-white)!important;
  border-color:var(--line-soft)!important;
  box-shadow:0 18px 48px rgba(16,45,98,.08)!important;
}
.lead-art{
  background:var(--surface-soft)!important;
}
.read-button,
.read-button.compact,
.home-search button,
.newsletter-form button{
  color:#fff!important;
  background:var(--brand-primary)!important;
  border-color:var(--brand-primary)!important;
  box-shadow:none!important;
}
.read-button:hover,
.read-button.compact:hover,
.home-search button:hover,
.newsletter-form button:hover{
  background:var(--brand-secondary)!important;
}

.home-route a,
.home-route a:first-child,
.home-route a:last-child{
  color:var(--text-main)!important;
  background:var(--surface-white)!important;
  border-color:var(--line-soft)!important;
  box-shadow:0 12px 32px rgba(16,45,98,.07)!important;
}
.home-route a::after,
.home-route a:last-child::after{
  background:#e4eaf0!important;
  opacity:.62!important;
}
.home-route span,
.home-route a:last-child span{
  color:var(--brand-accent)!important;
}
.home-route a:hover{
  border-color:#b8c6d7!important;
  box-shadow:0 16px 40px rgba(16,45,98,.1)!important;
}

/* Tarjetas de artículos y herramientas */
.story-card,
.tool-card,
.discovery-card,
.topic-hub-card{
  background:var(--surface-white)!important;
  border-color:var(--line-soft)!important;
  box-shadow:0 12px 32px rgba(16,45,98,.065)!important;
}
.story-card:hover,
.tool-card:hover,
.discovery-card:hover,
.topic-hub-card:hover{
  box-shadow:0 17px 42px rgba(16,45,98,.1)!important;
}
.tool-card-art,
.tool-card:nth-child(4n+1) .tool-card-art,
.tool-card:nth-child(4n+2) .tool-card-art,
.tool-card:nth-child(4n+3) .tool-card-art,
.tool-card:nth-child(4n+4) .tool-card-art,
.story-image{
  background:var(--surface-soft)!important;
}

/* Portadas de listados */
.listing-hero{
  background:linear-gradient(135deg,var(--brand-primary),#1a427c 68%,#176f6a)!important;
}
.listing-hero p{
  color:#e7edf5!important;
}
.listing-pills a{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.25)!important;
}
.listing-pills a:hover{
  color:var(--brand-primary)!important;
  background:#fff!important;
}

/* Newsletter */
.newsletter{
  background:var(--surface-soft)!important;
  border-color:var(--line-soft)!important;
  box-shadow:none!important;
}
.newsletter::after{
  background:#d9e3ec!important;
  opacity:.7!important;
}
.newsletter-topics label:has(input:checked){
  color:#fff!important;
  background:var(--brand-primary)!important;
  border-color:var(--brand-primary)!important;
}

/* Contenido editorial */
.callout,
.article-note{
  color:var(--text-main)!important;
  background:var(--surface-soft)!important;
  border-color:var(--line-soft)!important;
}
.article a{
  color:var(--brand-secondary)!important;
  text-decoration-color:rgba(33,75,145,.4)!important;
}

/* Herramientas: el color representa jerarquía o estado, no decoración. */
.tool-page{
  background:linear-gradient(180deg,#fff 0,var(--surface-main) 680px)!important;
}
.tool-hero-benefit{
  background:var(--surface-soft)!important;
  border-left-color:var(--brand-accent)!important;
}
.tool-hero-visual{
  background:var(--surface-muted)!important;
  border-color:#c6d1dd!important;
  box-shadow:0 18px 48px rgba(16,45,98,.1)!important;
}
.tool-input-panel,
.tool-result-panel,
.calculator-input-group,
.comparator-fields,
.tax-filter-panel,
.tax-calendar-card{
  border-color:var(--line-soft)!important;
}
.calculator-input-group,
.comparator-fields{
  background:#fafbfd!important;
}
.tool-result-panel{
  background:linear-gradient(145deg,var(--brand-primary),#173d73)!important;
}
.result-interpretation{
  color:var(--text-main)!important;
  background:#f1f4f7!important;
  border-color:#d5dee7!important;
}
.result-breakdown>header>span,
.comparison-option header>span{
  color:#b8d6d3!important;
}
.calculator-actions .primary-action{
  color:var(--brand-primary)!important;
  background:#fff!important;
  border-color:#fff!important;
}
.calculator-actions .primary-action:hover{
  background:#e9eef4!important;
}
.calculator-actions .secondary-action{
  color:#fff!important;
  background:transparent!important;
  border-color:rgba(255,255,255,.48)!important;
}
.comparison-reading{
  background:#f4f6f8!important;
  border:1px solid #d8e0e8!important;
}
.money-input>b{
  background:var(--surface-soft)!important;
}
.calculator-presets button.active,
.calculator-presets button[aria-pressed=true],
.tax-filter-chip[aria-pressed=true],
.tax-profile-chip[aria-pressed=true]{
  color:#fff!important;
  background:var(--brand-primary)!important;
  border-color:var(--brand-primary)!important;
}

/* Amarillo queda reservado para advertencias reales. */
.warning,
.alert-warning,
[data-status="warning"]{
  color:#5b4a00!important;
  background:#fbf4cf!important;
  border-color:#e1ca63!important;
}

/* Movimiento y elevación más discretos. */
.story-card:hover,
.tool-card:hover,
.home-route a:hover,
.read-button:hover,
.newsletter-form button:hover{
  transform:translateY(-2px)!important;
}

@media(max-width:650px){
  .masthead-fresh h1 em{
    text-decoration-thickness:.065em;
  }
  .newsletter::after{
    opacity:.45!important;
  }
}

@media(forced-colors:active){
  .masthead-fresh h1 em{
    text-decoration-color:CanvasText;
  }
}
