/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Calculadora24 – diseño moderno responsive
 Author:       Tom Usborne
 Template:     generatepress
 Version:      1.0
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  --blue:         #1a56db;
  --blue-dark:    #1e429f;
  --blue-light:   #ebf5ff;
  --orange:       #f97316;
  --orange-dark:  #ea580c;

  --text:         #111827;
  --text-muted:   #6b7280;
  --text-subtle:  #9ca3af;

  --border:       #e5e7eb;
  --bg:           #ffffff;
  --card:         #ffffff;

  --radius:       10px;
  --radius-sm:    6px;
  --radius-lg:    16px;

  --shadow-card:  0 1px 3px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.06);
  --shadow-nav:   0 1px 0 rgba(0,0,0,.08);

  --transition:   180ms ease;

  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

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

body {
  font-family: var(--font) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--text) !important;
  background: var(--bg) !important;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--blue) !important;
  text-decoration: none !important;
  transition: color var(--transition) !important;
}
a:hover { color: var(--blue-dark) !important; }

img { max-width: 100%; height: auto; }

/* ============================================================
   MEGAMENÚ HERRAMIENTAS — dentro del header
   ============================================================ */

/* El nav vive inline en el header (flexbox) */
.c24-megamenu {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Botón "Herramientas ▾" — solo desktop */
.c24-megamenu__trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition);
  font-family: var(--font);
  white-space: nowrap;
}

.c24-megamenu__trigger:hover,
.c24-megamenu__trigger.is-open {
  background: #f9fafb;
  border-color: #d1d5db;
}

.c24-megamenu__arrow {
  transition: transform var(--transition);
  flex-shrink: 0;
}

.c24-megamenu__trigger.is-open .c24-megamenu__arrow {
  transform: rotate(180deg);
}

/* Hamburguesa — fixed en móvil, oculta en desktop */
.c24-hamburger {
  display: none;
  position: fixed;
  top: 12px;
  right: 16px;
  z-index: 995;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: #16a34a;
  border: none;
  border-radius: var(--radius-sm);
  padding: 0;
  cursor: pointer;
  width: 44px;
  height: 44px;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.c24-hamburger span {
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
  transform-origin: center;
}

.c24-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.c24-hamburger.is-open span:nth-child(2) { opacity: 0; }
.c24-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Panel desktop: fixed debajo del header ── */
.c24-megamenu__dropdown {
  position: fixed;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 8px 32px rgba(0,0,0,.1);
  padding: 28px 0;
  z-index: 998;
  animation: c24FadeDown .18s ease both;
}

/* Overlay transparente que cierra al hacer clic fuera */
.c24-megamenu__overlay {
  position: fixed;
  inset: 0;
  z-index: 997;
  background: rgba(0,0,0,.15);
}

@keyframes c24FadeDown {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Barra de búsqueda dentro del dropdown */
.c24-megamenu__search-bar {
  max-width: 1200px;
  margin: 0 auto 20px;
  padding: 0 32px;
}

.c24-megamenu__search-bar input {
  width: 100%;
  max-width: 360px;
  padding: 9px 14px 9px 36px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  color: #111827;
  background: #f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' stroke='%239ca3af' stroke-width='2'/%3E%3Cpath d='M20 20l-3.5-3.5' stroke='%239ca3af' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 10px center;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}

.c24-megamenu__search-bar input:focus {
  border-color: #16a34a;
  box-shadow: 0 0 0 3px rgba(22,163,74,.1);
  background-color: #fff;
}

.c24-megamenu__no-results {
  max-width: 1200px;
  margin: 0 auto 12px;
  padding: 0 32px;
  font-size: 14px;
  color: #6b7280;
}

/* Grid de columnas */
.c24-megamenu__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0 32px;
}

/* Columna individual */
.c24-col__heading {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: var(--text-muted) !important;
  margin: 0 0 10px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--border) !important;
}

.c24-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.c24-col ul li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.c24-col ul li a {
  display: block !important;
  padding: 5px 8px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  border-radius: var(--radius-sm) !important;
  transition: background var(--transition), color var(--transition) !important;
  text-decoration: none !important;
  line-height: 1.45 !important;
}

.c24-col ul li a:hover {
  background: var(--blue-light) !important;
  color: var(--blue) !important;
}

/* ── Panel lateral móvil ── */
.c24-mobile-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: min(320px, 90vw);
  height: 100dvh;
  background: #fff;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  box-shadow: -4px 0 24px rgba(0,0,0,.15);
  animation: c24SlideIn .22s ease both;
}

.c24-mobile-panel[hidden] { display: none; }

@keyframes c24SlideIn {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}

.c24-mobile-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  font-weight: 700;
  font-size: 15px;
}

.c24-mobile-panel__close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  color: var(--text-muted);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
}

.c24-mobile-panel__close:hover { background: #f3f4f6; }

.c24-mobile-panel__body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 0;
}

/* Acordeón <details> */
.c24-mob-section {
  border-bottom: 1px solid var(--border);
}

.c24-mob-section summary {
  padding: 13px 20px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--text);
}

.c24-mob-section summary::-webkit-details-marker { display: none; }

.c24-mob-section summary::after {
  content: '›';
  font-size: 18px;
  color: var(--text-muted);
  transition: transform .18s ease;
  line-height: 1;
}

.c24-mob-section[open] summary::after { transform: rotate(90deg); }

.c24-mob-section ul {
  list-style: none !important;
  padding: 4px 0 12px !important;
  margin: 0 !important;
}

.c24-mob-section ul li a {
  display: block !important;
  padding: 9px 20px 9px 32px !important;
  font-size: 14px !important;
  color: var(--text) !important;
  text-decoration: none !important;
  transition: background var(--transition), color var(--transition) !important;
  border: none !important;
}

.c24-mob-section ul li a:hover {
  background: var(--blue-light) !important;
  color: var(--blue) !important;
}

/* Overlay oscuro detrás del panel móvil */
.c24-mobile-panel__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 1000;
}

.c24-mobile-panel__overlay[hidden] { display: none; }

/* ── Responsivo ── */
@media (max-width: 768px) {
  .c24-megamenu__trigger  { display: none !important; }
  .c24-hamburger          { display: flex !important; }
  .c24-megamenu__dropdown { display: none !important; }
}

@media (min-width: 769px) {
  .c24-hamburger                 { display: none !important; }
  .c24-mobile-panel              { display: none !important; }
  .c24-mobile-panel__overlay     { display: none !important; }
}

/* ============================================================
   MÓVIL — mejoras generales
   ============================================================ */
@media (max-width: 768px) {

  /* ── Header oculto al hacer scroll hacia abajo ── */
  .site-header,
  .has-inline-mobile-toggle .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 990 !important;
    transition: transform .25s ease !important;
  }

  .site-header.c24-header-hidden {
    transform: translateY(-100%) !important;
  }

  .inside-header {
    padding: 0 !important;
    gap: 0 !important;
    justify-content: center !important;
  }

  /* Logo centrado y grande en móvil */
  .site-branding,
  .site-branding-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px 70px 14px 16px !important; /* espacio derecho para la hamburguesa */
  }

  .site-title,
  .main-title {
    font-size: 1.2rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    margin: 0 !important;
    letter-spacing: -0.03em !important;
    color: #111827 !important;
  }

  .site-title a,
  .site-title a:hover,
  .main-title a,
  .main-title a:hover {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #111827 !important;
    font-size: 1.2rem !important;
    text-decoration: none !important;
  }

  /* Icono badge verde con calculadora */
  .site-title a::before,
  .main-title a::before {
    content: '' !important;
    display: inline-block !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 9px !important;
    background: #16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cline x1='8' y1='6' x2='16' y2='6'/%3E%3Cline x1='8' y1='10' x2='10' y2='10'/%3E%3Cline x1='14' y1='10' x2='16' y2='10'/%3E%3Cline x1='8' y1='14' x2='10' y2='14'/%3E%3Cline x1='14' y1='14' x2='16' y2='14'/%3E%3Cline x1='8' y1='18' x2='10' y2='18'/%3E%3Cline x1='14' y1='18' x2='16' y2='18'/%3E%3C/svg%3E") center/18px no-repeat !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 8px rgba(22,163,74,.3) !important;
  }

  /* Ocultar el botón de nav nativo de GeneratePress */
  .main-navigation .menu-toggle,
  nav.main-navigation button,
  .nav-primary .menu-toggle,
  .navigation-toggle,
  #mobile-menu-control-wrapper {
    display: none !important;
  }

  /* Ocultar el menú de wp si aparece en móvil */
  .main-navigation,
  .nav-primary,
  .c24-megamenu {
    display: none !important;
  }

  /* ── Contenido ── */
  .site-content {
    padding: 20px 16px !important;
  }

  .entry-header {
    margin-bottom: 20px !important;
  }

  h1.entry-title {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }

  .entry-content {
    font-size: 15px !important;
    max-width: 100% !important;
  }

  .entry-content h2 {
    font-size: 1.15rem !important;
    margin-top: 1.6em !important;
  }

  .entry-content h3 {
    font-size: 1rem !important;
  }

  /* ── Tablas: scroll horizontal ── */
  .entry-content table,
  table.cercademi {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    font-size: 13px !important;
  }

  /* ── Breadcrumbs ── */
  .rank-math-breadcrumb,
  .breadcrumb-trail {
    margin-bottom: 12px !important;
  }

  /* ── Footer ── */
  .site-footer .inside-footer {
    padding: 24px 16px !important;
  }

  .footer-bar .inside-footer-bar {
    padding: 12px 16px !important;
    text-align: center !important;
  }
}

/* ============================================================
   HERO DE PORTADA
   ============================================================ */
.c24-hero {
  text-align: center;
  padding: 48px 24px 36px;
  max-width: 680px;
  margin: 0 auto;
}

.c24-hero__title {
  font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
  font-weight: 800 !important;
  color: #111827 !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
  margin-bottom: 14px !important;
}

.c24-hero__title span { color: #16a34a; }

.c24-hero__sub {
  font-size: 1.05rem !important;
  color: #6b7280 !important;
  line-height: 1.65 !important;
  max-width: 540px !important;
  margin: 0 auto !important;
}

@media (max-width: 600px) {
  .c24-hero { padding: 28px 16px 20px; }
}

/* ============================================================
   BARRA SUPERIOR — oculta
   ============================================================ */
.top-bar,
#top-bar,
.generate-top-bar {
  display: none !important;
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header,
.has-inline-mobile-toggle .site-header {
  background: #fff !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.inside-header {
  padding: 14px 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Logo / título del sitio */
.site-logo img {
  max-height: 48px !important;
  width: auto !important;
}

.site-title,
.main-title {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.site-title a,
.site-title a:hover,
.main-title a,
.main-title a:hover {
  color: #16a34a !important;
  text-decoration: none !important;
}

.site-title,
.main-title {
  color: #16a34a !important;
}

/* Desktop: sem ícone — só texto verde */
.site-title a::before,
.main-title a::before {
  display: none !important;
}

/* Ocultar imagen de logo si quedase alguna */
.site-logo,
.custom-logo-link,
.custom-logo {
  display: none !important;
}

.site-description {
  display: none !important;
}

/* ============================================================
   NAVEGACIÓN
   ============================================================ */
.main-navigation,
.nav-primary {
  background: transparent !important;
}

.main-navigation .menu-toggle,
nav.main-navigation button {
  background: var(--blue) !important;
  color: #fff !important;
  border-radius: var(--radius-sm) !important;
  border: none !important;
  padding: 8px 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Botón tipo "Herramientas ▾" para el menú principal */
.nav-primary .main-nav > ul > li > a,
.main-navigation .menu > li > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 7px 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  background: #fff !important;
  transition: background var(--transition), border-color var(--transition) !important;
  text-decoration: none !important;
}

.nav-primary .main-nav > ul > li > a:hover,
.main-navigation .menu > li > a:hover {
  background: #f9fafb !important;
  border-color: #d1d5db !important;
  color: var(--text) !important;
}

/* Links del menú */
.main-navigation a,
.nav-primary .main-nav ul li a,
.nav-primary .main-nav ul li a:visited {
  color: var(--text-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 8px 14px !important;
  border-radius: var(--radius-sm) !important;
  transition: background var(--transition), color var(--transition) !important;
  text-decoration: none !important;
}

.main-navigation a:hover,
.nav-primary .main-nav ul li a:hover {
  color: var(--blue) !important;
  background: var(--blue-light) !important;
  text-decoration: none !important;
}

.main-navigation .current-menu-item > a,
.nav-primary .main-nav ul .current-menu-item > a {
  color: var(--blue) !important;
  font-weight: 600 !important;
}

/* Submenús desplegables */
.main-navigation ul ul,
.nav-primary .main-nav ul ul {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
  padding: 6px !important;
  min-width: 200px !important;
}

.main-navigation ul ul a,
.nav-primary .main-nav ul ul a {
  border-radius: var(--radius-sm) !important;
  font-size: 13.5px !important;
  padding: 7px 12px !important;
}

/* ============================================================
   LAYOUT GENERAL
   ============================================================ */
.site-content {
  padding: 40px 24px !important;
  background: #fff !important;
}

.content-area {
  background: #fff !important;
}

/* Contenedor del artículo — plano, sin caja */
.inside-article {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: none !important;
}

.content-area,
.site-content,
#page {
  background: #fff !important;
}

@media (max-width: 768px) {
  .site-content {
    padding: 16px 12px !important;
  }
}

/* Sidebar */
.widget-area {
  background: #fff !important;
}

.widget {
  background: var(--card) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card) !important;
  border: 1px solid var(--border) !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}

.widget-title,
.widgettitle {
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--text-muted) !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 10px !important;
  margin-bottom: 14px !important;
}

/* ============================================================
   CABECERA DEL ARTÍCULO
   ============================================================ */
.entry-header {
  text-align: left !important;
  margin-bottom: 28px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

h1.entry-title {
  font-size: clamp(1.6rem, 3vw, 2.1rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #111827 !important;
  letter-spacing: -.02em !important;
  margin-bottom: 8px !important;
  text-align: left !important;
}

.entry-meta {
  font-size: 13.5px !important;
  color: var(--text-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.entry-meta a {
  color: var(--text-muted) !important;
}

/* ============================================================
   CONTENIDO DEL ARTÍCULO
   ============================================================ */
.entry-content {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--text) !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.entry-content p { margin-bottom: 1.2em !important; }

.entry-content h2 {
  font-size: clamp(1.2rem, 2.5vw, 1.6rem) !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-top: 2.2em !important;
  margin-bottom: .6em !important;
  letter-spacing: -.01em !important;
}

.entry-content h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-top: 1.8em !important;
  margin-bottom: .5em !important;
}

.entry-content h4 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-top: 1.5em !important;
}

.entry-content ul,
.entry-content ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1.2em !important;
}

.entry-content li {
  margin-bottom: .4em !important;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.rank-math-breadcrumb,
.breadcrumb-trail {
  max-width: 720px !important;
  margin: 0 auto 20px !important;
}

.rank-math-breadcrumb p,
.breadcrumbs {
  font-size: 12.5px !important;
  color: var(--text-muted) !important;
  padding: 8px 14px !important;
  background: var(--bg) !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--border) !important;
  box-shadow: none !important;
}

.rank-math-breadcrumb a { color: var(--blue) !important; }

/* ============================================================
   PASOS NUMERADOS
   ============================================================ */
ol.pasos {
  list-style: none !important;
  counter-reset: steps !important;
  padding-left: 0 !important;
}

ol.pasos li {
  counter-increment: steps !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
  line-height: 1.6 !important;
}

ol.pasos li::before {
  content: counter(steps) !important;
  flex-shrink: 0 !important;
  background: var(--blue) !important;
  color: #fff !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin-top: 2px !important;
}

ol.pasos ol li::before {
  background: var(--orange) !important;
}

ul.requisitos {
  list-style: none !important;
  padding-left: 0 !important;
}

ul.requisitos li {
  padding-left: 1.6rem !important;
  position: relative !important;
  margin-bottom: 8px !important;
}

ul.requisitos li::before {
  content: "📌" !important;
  position: absolute !important;
  left: 0 !important;
}

/* ============================================================
   TABLAS
   ============================================================ */
table.cercademi,
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14.5px !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-card) !important;
  border: 1px solid var(--border) !important;
  margin-bottom: 1.5em !important;
}

table.cercademi thead tr,
.entry-content table thead tr {
  background: var(--blue) !important;
  color: #fff !important;
}

table.cercademi th,
.entry-content table th {
  padding: 11px 16px !important;
  font-weight: 600 !important;
  text-align: left !important;
}

table.cercademi td,
.entry-content table td {
  padding: 10px 16px !important;
  border-bottom: 1px solid var(--border) !important;
}

table.cercademi tbody tr:last-child td,
.entry-content table tbody tr:last-child td {
  border-bottom: none !important;
}

table.cercademi tbody tr:nth-child(even),
.entry-content table tbody tr:nth-child(even) {
  background: #f9fafb !important;
}

table.cercademi tbody tr:hover,
.entry-content table tbody tr:hover {
  background: var(--blue-light) !important;
}

/* ============================================================
   CAJA DE AUTOR
   ============================================================ */
.author-box {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-left: 4px solid var(--blue) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card) !important;
  padding: 24px !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  font-size: 14px !important;
}

.author-box .avatar {
  flex-shrink: 0 !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid var(--border) !important;
  margin-right: 0 !important;
}

h5.author-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
  color: var(--text) !important;
}

.author-description {
  line-height: 1.6 !important;
  color: var(--text-muted) !important;
  margin-bottom: 8px !important;
}

.author-links a {
  color: var(--text-muted) !important;
  font-size: 1.1rem !important;
  margin-right: 8px !important;
  float: none !important;
  transition: color var(--transition) !important;
}

.author-links a:hover { color: var(--blue) !important; }

@media (max-width: 600px) {
  .author-box {
    flex-direction: column !important;
    text-align: center !important;
  }
}

/* ============================================================
   IMÁGENES CON PIE DE FOTO
   ============================================================ */
.wp-caption {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card) !important;
  padding: 8px !important;
  margin: 24px auto !important;
  max-width: 100% !important;
}

.wp-caption-text {
  font-size: 13px !important;
  color: var(--text-muted) !important;
  text-align: center !important;
  padding: 8px !important;
  border-top: 1px solid var(--border) !important;
  margin: 0 !important;
}

/* ============================================================
   LISTAS DE ENLACES (CLUSTER)
   ============================================================ */
.ul-entrada-cluster {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ul-entrada-cluster li {
  padding: 6px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 14.5px !important;
}

.ul-entrada-cluster li:last-child { border-bottom: none !important; }

.ul-entrada-cluster a {
  color: var(--text) !important;
  transition: color var(--transition) !important;
}

.ul-entrada-cluster a:hover { color: var(--blue) !important; }

/* ============================================================
   ANUNCIO LATERAL
   ============================================================ */
.anuncio1 {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 0 20px 0 !important;
  border-radius: var(--radius-sm) !important;
  overflow: hidden !important;
}

@media (min-width: 769px) {
  .anuncio1 {
    width: 340px !important;
    float: left !important;
    margin-right: 24px !important;
    margin-bottom: 16px !important;
  }
}

/* ============================================================
   ANUNCIO TRAS CALCULADORA (inyectado por JS)
   ============================================================ */
.calc-ad-unit {
  max-width: 720px !important;
  margin: 32px auto 0 !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--border) !important;
  text-align: center !important;
  animation: fadeUp .4s ease both !important;
}

.calc-ad-label {
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--text-subtle) !important;
  margin-bottom: 8px !important;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   LIBROS
   ============================================================ */
.libros {
  background: #fefce8 !important;
  border: 1px solid #fde68a !important;
  border-radius: var(--radius) !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

.libros > .portada { width: 22% !important; min-width: 100px !important; }

@media (max-width: 600px) {
  .libros > .portada { width: 45% !important; }
}

/* ============================================================
   SCRAPER NEGOCIOS
   ============================================================ */
img[src=""] { display: none; }

.negocios_scrap {
  width: 100% !important;
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
}

.negocios_scrap .negocio {
  border-bottom: 1px dashed var(--border) !important;
  padding: 20px !important;
}

.negocios_scrap .negocio:last-child { border-bottom: none !important; }

.negocios_scrap .negocio img.logo {
  float: left !important;
  border-radius: 50% !important;
  border: 2px solid var(--border) !important;
  width: 48px !important;
  height: 48px !important;
  object-fit: cover !important;
  margin-right: 12px !important;
}

.negocios_scrap .negocio h3 {
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.negocios_scrap .inferior {
  display: flex !important;
  gap: 12px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  margin-top: 12px !important;
  overflow: hidden !important;
}

.negocios_scrap .inferior > * { flex: 1 !important; text-align: center !important; }

@media (max-width: 600px) {
  .negocios_scrap .inferior { flex-direction: column !important; gap: 6px !important; }
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
.site-footer .inside-footer {
  background: #0f172a !important;
  color: #94a3b8 !important;
  border-top: none !important;
}

.site-footer .widget-title,
.site-footer .widgettitle {
  color: #e2e8f0 !important;
  border-bottom-color: #1e293b !important;
}

.site-footer a {
  color: #94a3b8 !important;
}

.site-footer a:hover {
  color: #fff !important;
  text-decoration: none !important;
}

.footer-bar,
.footer-bar .inside-footer-bar {
  background: #020617 !important;
  color: #475569 !important;
  font-size: 12px !important;
  border-top: 1px solid #1e293b !important;
}

.footer-bar a { color: #64748b !important; }
.footer-bar a:hover { color: #94a3b8 !important; }

/* ============================================================
   RESPONSIVE — AJUSTES MÓVIL
   ============================================================ */
@media (max-width: 480px) {
  h1.entry-title { font-size: 1.4rem !important; }
  .entry-content h2 { font-size: 1.15rem !important; }
  .entry-content { font-size: 15px !important; }
}

/* ── Footer ── */
.c24-footer {
  background: #111827;
  color: #d1d5db;
  margin-top: 60px;
  font-size: 14px;
}
.c24-footer__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 48px 24px 32px;
  display: grid;
  grid-template-columns: 1.5fr 2fr 1fr;
  gap: 40px;
}
.c24-footer__brand {
  font-size: 1.2rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 8px;
}
.c24-footer__desc {
  color: #9ca3af;
  margin: 0;
  line-height: 1.6;
}
.c24-footer__heading {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #6b7280;
  margin: 0 0 14px;
}
.c24-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 16px;
}
.c24-footer__col:last-child .c24-footer__list {
  grid-template-columns: 1fr;
}
.c24-footer__list li { margin: 0; padding: 0; }
.c24-footer__list a {
  color: #9ca3af;
  text-decoration: none;
  transition: color .15s;
  font-size: 13px;
}
.c24-footer__list a:hover { color: #4ade80; }
.c24-footer__bottom {
  border-top: 1px solid #1f2937;
  text-align: center;
  padding: 16px 24px;
}
.c24-footer__bottom p {
  margin: 0;
  color: #4b5563;
  font-size: 12px;
}
@media (max-width: 768px) {
  .c24-footer__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 32px 20px 24px;
  }
  .c24-footer__list {
    grid-template-columns: 1fr 1fr;
  }
}

/* ── Links de categoria no megamenu ── */
.c24-col__heading--link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: color .15s;
}
.c24-col__heading--link:hover { color: #16a34a; text-decoration: none; }

.c24-col__ver-todas,
.c24-mob-ver-todas {
  color: #16a34a !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  margin-top: 4px;
  display: inline-block;
}
.c24-col__ver-todas:hover,
.c24-mob-ver-todas:hover { text-decoration: underline !important; }

/* ── Breadcrumb ── */
.c24-breadcrumb {
  margin-bottom: 12px;
}
.c24-bc__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px;
  color: #9ca3af;
}
.c24-bc__item {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
}
.c24-bc__link {
  color: #6b7280;
  text-decoration: none;
  transition: color .15s;
}
.c24-bc__link:hover { color: #16a34a; text-decoration: none; }
.c24-bc__sep { color: #d1d5db; font-size: 11px; }
.c24-bc__current {
  color: #9ca3af;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 280px;
}
