/*
Theme Name:   TuFinanzaDigital
Theme URI:    https://tufinanzadigital.online
Description:  Tema hijo de Astra – Diseño editorial financiero
Author:       Manel Fernandez
Template:     astra
Version:      2.0.0
Text Domain:  tufinanzadigital
*/

/* =====================================================
   VARIABLES
   ===================================================== */
:root {
  --negro: #0f0f0f;
  --negro-soft: #2a2a2a;
  --crema: #f5f1ea;
  --crema-dark: #ede8df;
  --dorado: #b8860b;
  --dorado-light: #d4a017;
  --acento: #c41e3a;
  --verde: #2d9a56;
  --rojo: #f87171;
  --borde: rgba(15,15,15,0.12);
}

/* =====================================================
   RESET BASE
   ===================================================== */
*, *::before, *::after { box-sizing: border-box; }

body {
  background: var(--crema) !important;
  color: var(--negro) !important;
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* =====================================================
   HEADER PERSONALIZADO
   ===================================================== */
.tfd-header {
  background: var(--negro);
  border-bottom: 3px solid var(--dorado);
  width: 100%;
}

/* Ocultar header original de Astra */
#masthead.site-header:not(.tfd-header) {
  display: none !important;
}

/* TICKER */
.tfd-ticker {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 24px;
  background: #1a1a1a;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: rgba(245,241,234,0.6);
  overflow: hidden;
}

.tfd-ticker-inner { display: flex; gap: 24px; }
.tfd-tick { display: flex; gap: 5px; }
.tfd-tick .up { color: #4ade80; }
.tfd-tick .down { color: #f87171; }
.tfd-ticker-date { font-size: 10px; opacity: 0.5; text-transform: uppercase; letter-spacing: 0.1em; }

/* HEADER MAIN: 3 columnas */
.tfd-header-main {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 20px 32px;
  max-width: 1200px;
  margin: 0 auto;
}

.tfd-header-left {
  display: flex;
  align-items: center;
}

.tfd-header-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: rgba(245,241,234,0.4);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.tfd-header-center { text-align: center; }

.tfd-site-title {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.tfd-site-title a {
  font-family: 'Playfair Display', serif !important;
  font-weight: 900 !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  letter-spacing: -0.02em !important;
}

.tfd-site-title a:hover { color: var(--dorado-light) !important; }

.tfd-tagline {
  font-family: 'Source Serif 4', serif;
  font-style: italic;
  font-size: 13px;
  color: var(--dorado-light);
  margin: 4px 0 0 0;
}

.tfd-header-right {
  display: flex;
  justify-content: flex-end;
}

.tfd-btn-newsletter {
  background: var(--dorado);
  color: white !important;
  padding: 9px 18px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-decoration: none !important;
  transition: background 0.2s;
  border: none;
  cursor: pointer;
}

.tfd-btn-newsletter:hover { background: var(--dorado-light) !important; }

/* NAVEGACIÓN */
.tfd-nav {
  background: var(--negro);
  border-top: 1px solid rgba(255,255,255,0.1);
}

.tfd-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

.tfd-nav-menu li { position: relative; }

.tfd-nav-menu li a {
  display: block;
  padding: 12px 18px;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: rgba(245,241,234,0.8) !important;
  text-decoration: none !important;
  transition: color 0.2s, background 0.2s;
}

.tfd-nav-menu li a:hover,
.tfd-nav-menu li.current-menu-item > a {
  color: var(--dorado-light) !important;
  background: rgba(255,255,255,0.05) !important;
}

/* Submenús */
.tfd-nav-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--negro);
  min-width: 200px;
  border-top: 2px solid var(--dorado);
  z-index: 999;
  list-style: none;
  padding: 0;
  margin: 0;
}

.tfd-nav-menu li:hover > .sub-menu { display: block; }

/* =====================================================
   OCULTAR ELEMENTOS DE ASTRA QUE INTERFIEREN
   ===================================================== */
.ast-above-header-wrap,
.ast-below-header-wrap,
.ast-desktop-header,
.ast-mobile-header-wrap,
.main-header-bar,
.main-header-bar-wrap {
  display: none !important;
}

/* =====================================================
   CONTENIDO PRINCIPAL
   ===================================================== */
#content, .site-content, .ast-container {
  background: var(--crema) !important;
}

/* =====================================================
   HEADINGS
   ===================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif !important;
  letter-spacing: -0.02em !important;
  color: var(--negro) !important;
}

/* =====================================================
   LINKS
   ===================================================== */
a { color: var(--dorado) !important; transition: color 0.2s; }
a:hover { color: var(--dorado-light) !important; }

/* =====================================================
   POSTS / BLOG
   ===================================================== */
.entry-title a {
  color: var(--negro) !important;
  text-decoration: none !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
}
.entry-title a:hover { color: var(--dorado) !important; }

.entry-meta, .ast-post-meta, .posted-on, .byline {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(15,15,15,0.45) !important;
}

.cat-links a, .entry-meta .cat-links a {
  color: var(--acento) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.entry-summary p, .entry-content p {
  font-family: 'Source Serif 4', serif !important;
  color: var(--negro-soft) !important;
  font-size: 16px !important;
}

.more-link {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--negro) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--negro) !important;
  padding-bottom: 2px !important;
}
.more-link:hover { color: var(--dorado) !important; border-color: var(--dorado) !important; }

/* =====================================================
   SIDEBAR
   ===================================================== */
.widget-title, .widgettitle {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  border-bottom: 2px solid var(--negro) !important;
  padding-bottom: 8px !important;
  margin-bottom: 16px !important;
  color: var(--negro) !important;
}

.widget ul li {
  border-bottom: 1px solid var(--borde) !important;
  padding: 8px 0 !important;
}

.widget ul li a { color: var(--negro) !important; text-decoration: none !important; }
.widget ul li a:hover { color: var(--dorado) !important; }

/* =====================================================
   BOTONES
   ===================================================== */
.ast-button, .button, button, input[type="submit"], .wp-block-button__link {
  background: var(--dorado) !important;
  color: white !important;
  border: none !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
  padding: 10px 20px !important;
  transition: background 0.2s !important;
  cursor: pointer !important;
}
.ast-button:hover, .button:hover, button:hover { background: var(--dorado-light) !important; }

/* =====================================================
   FOOTER
   ===================================================== */
.site-footer, #colophon {
  background: var(--negro) !important;
  color: var(--crema) !important;
  border-top: 3px solid var(--dorado) !important;
  margin-top: 60px !important;
}

.site-footer a, #colophon a {
  color: rgba(245,241,234,0.6) !important;
  text-decoration: none !important;
}
.site-footer a:hover, #colophon a:hover { color: var(--crema) !important; }

.site-info, .ast-footer-copyright {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(245,241,234,0.4) !important;
  text-align: center !important;
  padding: 16px !important;
}

/* Disclaimer */
.tfd-disclaimer {
  background: #1a1a1a;
  padding: 12px 24px;
  font-size: 11px;
  color: rgba(245,241,234,0.25);
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.05);
  line-height: 1.5;
}

/* =====================================================
   PAGINACIÓN
   ===================================================== */
.page-numbers, .nav-links a {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  border: 1px solid var(--borde) !important;
  padding: 6px 12px !important;
  text-decoration: none !important;
  color: var(--negro) !important;
}
.page-numbers.current, .page-numbers:hover {
  background: var(--negro) !important;
  color: var(--crema) !important;
}

/* =====================================================
   ANIMACIONES
   ===================================================== */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
article, .post { animation: fadeUp 0.4s ease both; }

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 768px) {
  .tfd-ticker { display: none; }
  .tfd-header-main {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 10px;
    padding: 16px;
  }
  .tfd-header-left, .tfd-header-right { display: none; }
  .tfd-site-title a { font-size: 1.8rem !important; }
  .tfd-nav-menu { flex-direction: column; }
}

/* PLACEHOLDER - no borrar esta línea */
/*
Theme URI:    https://tufinanzadigital.online
Description:  Tema hijo de Astra para TuFinanzaDigital - Diseño editorial financiero
Author:       Manel Fernandez
Author URI:   https://tufinanzadigital.online
Template:     astra
Version:      1.0.0
Text Domain:  tufinanzadigital
*/

/* =====================================================
   VARIABLES GLOBALES
   ===================================================== */
:root {
  --ink: #0f0f0f;
  --ink-soft: #2a2a2a;
  --paper: #f5f1ea;
  --paper-dark: #ede8df;
  --gold: #b8860b;
  --gold-light: #d4a017;
  --green: #1a6b3a;
  --green-light: #2d9a56;
  --red-dark: #8b1a1a;
  --accent: #c41e3a;
  --border: rgba(15,15,15,0.12);
  --shadow: 0 2px 20px rgba(0,0,0,0.08);
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Source Serif 4', Georgia, serif;
  --font-mono: 'JetBrains Mono', monospace;
}

/* =====================================================
   BODY Y BASE
   ===================================================== */
body {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: var(--font-body) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* =====================================================
   HEADER PRINCIPAL
   ===================================================== */
.site-header,
#masthead,
.ast-site-header-wrap {
  background: var(--ink) !important;
  border-bottom: 3px solid var(--gold) !important;
  padding: 0 !important;
}

/* Logo / Nombre del sitio */
.site-title,
.site-title a,
.ast-site-name-wrap .site-title a {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: 2.5rem !important;
  color: var(--paper) !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

.site-title a:hover {
  color: var(--gold-light) !important;
}

.site-description,
.ast-site-desc-wrap .site-description {
  font-family: var(--font-body) !important;
  font-style: italic !important;
  color: var(--gold-light) !important;
  font-size: 13px !important;
}

/* =====================================================
   BARRA DE TICKER (arriba del header)
   ===================================================== */
.ticker-bar {
  background: #1a1a1a;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding: 6px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  color: rgba(245,241,234,0.6);
  overflow: hidden;
}

.ticker-inner {
  display: flex;
  gap: 28px;
}

.ticker-item { display: flex; gap: 6px; align-items: center; }
.ticker-up { color: #4ade80; }
.ticker-down { color: #f87171; }
.ticker-date { font-family: var(--font-mono); font-size: 10px; opacity: 0.5; text-transform: uppercase; letter-spacing: 0.1em; }

/* =====================================================
   NAVEGACIÓN
   ===================================================== */
.main-navigation,
#site-navigation,
.ast-main-navigation,
.ast-nav-menu,
nav.ast-flex {
  background: var(--ink) !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
}

.main-navigation a,
.ast-nav-menu > li > a,
.ast-header-navigation .ast-nav-menu > li > a {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: rgba(245,241,234,0.8) !important;
  padding: 14px 18px !important;
  transition: color 0.2s, background 0.2s !important;
}

.main-navigation a:hover,
.ast-nav-menu > li > a:hover,
.ast-nav-menu > li.current-menu-item > a {
  color: var(--gold-light) !important;
  background: rgba(255,255,255,0.05) !important;
}

/* =====================================================
   CONTENIDO PRINCIPAL
   ===================================================== */
#content,
.site-content,
.ast-container {
  background: var(--paper) !important;
}

#primary,
.content-area {
  background: var(--paper) !important;
}

/* =====================================================
   POSTS / ARTÍCULOS EN EL BLOG
   ===================================================== */
.ast-article-post,
.post,
article.post {
  background: var(--paper) !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 32px !important;
  margin-bottom: 32px !important;
}

/* Título del post */
.entry-title,
h1.entry-title,
h2.entry-title {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  color: var(--ink) !important;
}

.entry-title a {
  color: var(--ink) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.entry-title a:hover {
  color: var(--gold) !important;
}

/* Metadatos del post */
.entry-meta,
.ast-post-meta,
.posted-on,
.byline {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(15,15,15,0.45) !important;
}

.cat-links a,
.entry-meta .cat-links a {
  color: var(--accent) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

/* Excerpt */
.entry-summary,
.entry-content p {
  font-family: var(--font-body) !important;
  color: var(--ink-soft) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* Leer más */
.more-link,
.ast-read-more,
a.more-link {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--ink) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--ink) !important;
  padding-bottom: 2px !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.more-link:hover {
  color: var(--gold) !important;
  border-color: var(--gold) !important;
}

/* =====================================================
   HEADINGS GLOBALES
   ===================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display) !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
}

/* =====================================================
   SIDEBAR
   ===================================================== */
#secondary,
.widget-area,
aside#secondary {
  background: var(--paper) !important;
}

.widget-title,
.widgettitle {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  border-bottom: 2px solid var(--ink) !important;
  padding-bottom: 8px !important;
  margin-bottom: 16px !important;
  color: var(--ink) !important;
}

.widget ul li {
  border-bottom: 1px solid var(--border) !important;
  padding: 8px 0 !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
}

.widget ul li a {
  color: var(--ink) !important;
  text-decoration: none !important;
}

.widget ul li a:hover {
  color: var(--gold) !important;
}

/* =====================================================
   BOTONES
   ===================================================== */
.ast-button,
.button,
button,
input[type="submit"],
.wp-block-button__link {
  background: var(--gold) !important;
  color: white !important;
  border: none !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 10px 20px !important;
  border-radius: 0 !important;
  transition: background 0.2s !important;
  cursor: pointer !important;
}

.ast-button:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--gold-light) !important;
}

/* =====================================================
   LINKS GLOBALES
   ===================================================== */
a {
  color: var(--gold) !important;
  transition: color 0.2s !important;
}

a:hover {
  color: var(--gold-light) !important;
}

/* =====================================================
   SINGLE POST (artículo individual)
   ===================================================== */
.single .entry-content h2 {
  font-size: 1.5rem !important;
  margin-top: 2rem !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--border) !important;
}

.single .entry-content h3 {
  font-size: 1.2rem !important;
  margin-top: 1.5rem !important;
}

.single .entry-content strong {
  color: var(--ink) !important;
}

.single .entry-content blockquote {
  border-left: 4px solid var(--gold) !important;
  background: var(--paper-dark) !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  font-style: italic !important;
}

/* =====================================================
   FOOTER
   ===================================================== */
.site-footer,
#colophon,
.ast-site-footer {
  background: var(--ink) !important;
  color: var(--paper) !important;
  border-top: 3px solid var(--gold) !important;
  margin-top: 60px !important;
}

.site-footer a,
#colophon a {
  color: rgba(245,241,234,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.site-footer a:hover,
#colophon a:hover {
  color: var(--paper) !important;
}

.site-info,
.ast-footer-copyright {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(245,241,234,0.4) !important;
  padding: 16px !important;
  text-align: center !important;
}

/* Disclaimer footer */
.footer-disclaimer {
  background: #1a1a1a;
  padding: 12px 24px;
  font-size: 11px;
  color: rgba(245,241,234,0.25);
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.05);
  line-height: 1.5;
}

/* =====================================================
   PÁGINA DE INICIO PERSONALIZADA
   ===================================================== */

/* Label de sección */
.section-label {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--accent);
  margin-bottom: 10px;
  display: block;
}

/* Hero grid */
.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 40px;
}

.hero-main {
  grid-column: 1;
  grid-row: 1 / 3;
  background: var(--paper);
  padding: 32px;
  position: relative;
  overflow: hidden;
}

.hero-main::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
}

.hero-secondary {
  background: var(--paper);
  padding: 24px;
  border-bottom: 1px solid var(--border);
}

/* Section header */
.section-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--ink);
}

.section-header h2 {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  letter-spacing: -0.02em !important;
  white-space: nowrap;
}

.section-header .line {
  flex: 1;
  height: 1px;
  background: var(--border);
}

/* =====================================================
   PAGINACIÓN
   ===================================================== */
.page-numbers,
.nav-links a {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
  padding: 6px 12px !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}

.page-numbers:hover,
.nav-links a:hover,
.page-numbers.current {
  background: var(--ink) !important;
  color: var(--paper) !important;
}

/* =====================================================
   FORMULARIOS
   ===================================================== */
input[type="text"],
input[type="email"],
input[type="search"],
textarea {
  border: 1px solid var(--border) !important;
  background: white !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  border-radius: 0 !important;
  outline: none !important;
  transition: border-color 0.2s !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
  border-color: var(--gold) !important;
}

/* =====================================================
   BREADCRUMBS
   ===================================================== */
.ast-breadcrumbs-wrapper,
#ast-breadcrumbs-container {
  background: var(--paper-dark) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 8px 0 !important;
}

.trail-items li,
.trail-items a {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(15,15,15,0.5) !important;
}

/* =====================================================
   ANIMACIONES
   ===================================================== */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

.post,
article {
  animation: fadeUp 0.4s ease both;
}

/* =====================================================
   RESPONSIVE MÓVIL
   ===================================================== */
@media (max-width: 768px) {
  .ticker-bar { display: none; }

  .site-title,
  .site-title a {
    font-size: 1.8rem !important;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-main {
    grid-row: 1;
  }
}


/* ============================================
   PORTADA v4.0
   ============================================ */
#tfd-home-wrap { max-width:1200px; margin:0 auto; padding:25px 20px 60px; font-family:'Source Serif 4',Georgia,serif; }

/* HERO */
#tfd-hero { display:grid !important; grid-template-columns:1fr 300px !important; gap:30px !important; margin-bottom:40px; }
#tfd-hero-left { display:grid !important; grid-template-columns:1.3fr 1fr !important; gap:20px !important; }

/* Artículo destacado */
.hp-featured { background:#fff; border:1px solid #e0d8c8; overflow:hidden; }
.hp-featured-badge { background:#1a1a2e; color:#c9a84c; font-size:10px; font-weight:700; letter-spacing:2px; padding:7px 15px; display:block; }
.hp-featured-img { height:190px; background-size:cover; background-position:center; }
.hp-featured-content { padding:18px; }
.hp-featured-title { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; line-height:1.35; margin:10px 0 10px; }
.hp-featured-title a { color:#1a1a2e; text-decoration:none; }
.hp-featured-title a:hover { color:#c9a84c; }
.hp-featured-exc { color:#555; font-size:13px; line-height:1.65; margin-bottom:14px; }
.hp-btn-read { font-size:11px; font-weight:700; letter-spacing:1.5px; color:#1a1a2e; text-decoration:none; }
.hp-btn-read:hover { color:#c9a84c; }

/* Actualidad */
.hp-actualidad { display:flex !important; flex-direction:column !important; gap:15px !important; }
.hp-act-header { display:flex; align-items:center; gap:6px; margin-bottom:2px; }
.hp-act-icon { font-size:13px; }
.hp-act-label { font-size:10px; font-weight:700; letter-spacing:2px; color:#999; }
.hp-act-item { background:#fff; border:1px solid #e0d8c8; overflow:hidden; }
.hp-act-img { height:110px; background-size:cover; background-position:center; }
.hp-act-body { padding:12px; }
.hp-act-title { font-family:'Playfair Display',serif; font-size:14px; font-weight:700; line-height:1.35; margin:5px 0; }
.hp-act-title a { color:#1a1a2e; text-decoration:none; }
.hp-act-title a:hover { color:#c9a84c; }
.hp-act-exc { font-size:12px; color:#666; line-height:1.5; margin:0; }

/* Meta */
.hp-meta { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:4px; }
.hp-cat { background:#fde8e8; color:#c0392b; font-size:9px; font-weight:700; letter-spacing:1px; padding:2px 7px; text-transform:uppercase; }
.hp-date { font-size:10px; color:#999; letter-spacing:1px; }
.hp-mins { font-size:10px; color:#999; letter-spacing:1px; }
.hp-hoy { font-size:10px; color:#c0392b; font-weight:700; letter-spacing:1px; }

/* SIDEBAR */
#tfd-sidebar { display:flex !important; flex-direction:column !important; gap:18px !important; }
.hp-widget { background:#fff; border:1px solid #e0d8c8; padding:18px; }
.hp-widget-title { font-family:'Playfair Display',serif; font-size:15px; font-weight:700; color:#1a1a2e; margin:0 0 14px; padding-bottom:9px; border-bottom:2px solid #1a1a2e; }

/* Mercados */
.hp-mercados { display:flex; flex-direction:column; gap:6px; }
.hp-merc-row { display:flex; align-items:center; padding:5px 0; border-bottom:1px solid #f5f0e8; font-size:12px; }
.hp-merc-name { flex:1; color:#333; font-size:12px; }
.hp-merc-price { font-weight:700; color:#1a1a2e; margin:0 8px; font-size:12px; }
.hp-merc-chg { font-size:11px; font-weight:700; min-width:70px; text-align:right; }
.hp-merc-chg.up { color:#27ae60; }
.hp-merc-chg.down { color:#c0392b; }

/* Newsletter */
.hp-widget-nl p { font-size:12px; color:#666; margin-bottom:10px; line-height:1.5; }
.hp-nl-input { width:100%; padding:8px 10px; border:1px solid #ddd; font-size:12px; margin-bottom:7px; box-sizing:border-box; font-family:inherit; }
.hp-nl-btn { width:100%; background:#1a1a2e; color:#fff; border:none; padding:9px; font-size:11px; font-weight:700; letter-spacing:2px; cursor:pointer; }
.hp-nl-btn:hover { background:#c9a84c; }

/* Lo más leído */
.hp-pop-item { display:flex; align-items:flex-start; gap:10px; padding:7px 0; border-bottom:1px solid #f5f0e8; }
.hp-pop-num { font-size:18px; font-weight:700; color:#e0d8c8; font-family:'Playfair Display',serif; min-width:22px; line-height:1; }
.hp-pop-title { font-size:12px; color:#333; text-decoration:none; line-height:1.4; }
.hp-pop-title:hover { color:#c9a84c; }

/* Categorías */
.hp-cat-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid #f5f0e8; }
.hp-cat-row a { font-size:13px; color:#333; text-decoration:none; }
.hp-cat-row a:hover { color:#c9a84c; }
.hp-cat-count { font-size:12px; color:#999; font-weight:700; }

/* CALCULADORA */
#tfd-calc-section { background:#1a1a2e; color:#fff; margin:0 -20px 40px; padding:35px 20px; overflow:hidden; }
#tfd-calc-inner { max-width:1160px; margin:0 auto; display:grid !important; grid-template-columns:1fr 120px !important; align-items:center; gap:20px; }
#tfd-calc-content h2 { font-family:'Playfair Display',serif; font-size:22px; margin:0 0 6px; }
#tfd-calc-content p { color:#aaa; font-size:13px; margin:0 0 18px; }
#tfd-calc-inputs { display:flex !important; gap:12px !important; align-items:flex-end !important; flex-wrap:wrap !important; }
.hp-calc-field { display:flex; flex-direction:column; gap:4px; }
.hp-calc-field label { font-size:9px; letter-spacing:2px; color:#aaa; font-weight:700; }
.hp-calc-field input { background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); color:#fff; padding:9px 12px; font-size:15px; width:110px; font-family:inherit; }
#hp-calc-btn { background:#c9a84c; color:#1a1a2e; border:none; padding:9px 20px; font-size:11px; font-weight:700; letter-spacing:2px; cursor:pointer; height:40px; }
#hp-calc-btn:hover { background:#e0c068; }
#hp-calc-result { margin-top:12px; font-size:14px; color:#c9a84c; }
#hp-calc-result strong { font-size:22px; }
#tfd-calc-deco { font-size:160px; color:rgba(255,255,255,0.04); font-weight:900; line-height:1; text-align:right; }

/* SECCIONES */
.hp-sec { margin-bottom:45px; }
.hp-sec-head { display:flex; justify-content:space-between; align-items:center; border-bottom:2px solid #1a1a2e; padding-bottom:10px; margin-bottom:20px; }
.hp-sec-title { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:#1a1a2e; margin:0; }
.hp-sec-more { font-size:11px; color:#c9a84c; text-decoration:none; font-weight:700; letter-spacing:1px; }
.hp-sec-grid { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:18px !important; }
.hp-card { background:#fff; border:1px solid #e0d8c8; overflow:hidden; transition:box-shadow 0.2s; }
.hp-card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.1); }
.hp-card-img { height:130px; background-size:cover; background-position:center; }
.hp-card-body { padding:14px; }
.hp-card-body h3 { font-family:'Playfair Display',serif; font-size:13px; font-weight:700; margin:8px 0 6px; line-height:1.4; }
.hp-card-body h3 a { color:#1a1a2e; text-decoration:none; }
.hp-card-body h3 a:hover { color:#c9a84c; }
.hp-card-body p { font-size:12px; color:#666; line-height:1.5; margin:0; }

/* GUÍAS */
.hp-guias { display:flex; flex-direction:column; }
.hp-guia { display:flex; align-items:flex-start; gap:18px; padding:14px 0; border-bottom:1px solid #e0d8c8; }
.hp-guia-n { font-family:'Playfair Display',serif; font-size:32px; font-weight:700; color:#e0d8c8; min-width:45px; line-height:1; }
.hp-guia-body { flex:1; }
.hp-guia-title { font-family:'Playfair Display',serif; font-size:15px; font-weight:700; color:#1a1a2e; text-decoration:none; line-height:1.35; display:block; margin-bottom:4px; }
.hp-guia-title:hover { color:#c9a84c; }
.hp-cat-sm { background:#f5f0e8; color:#c0392b; font-size:9px; font-weight:700; letter-spacing:1px; padding:2px 6px; text-transform:uppercase; margin-right:6px; }
.hp-mins-sm { font-size:10px; color:#999; letter-spacing:1px; font-weight:700; }

/* RESPONSIVE */
@media(max-width:960px){
    #tfd-hero { grid-template-columns:1fr !important; }
    #tfd-hero-left { grid-template-columns:1fr !important; }
    .hp-sec-grid { grid-template-columns:repeat(2,1fr) !important; }
    #tfd-calc-inner { grid-template-columns:1fr !important; }
    #tfd-calc-deco { display:none; }
}
@media(max-width:600px){
    .hp-sec-grid { grid-template-columns:1fr !important; }
}
