/* =========================================================
   BLOG-STYLES.CSS - VERSIÓN COMPLETA Y DEFINITIVA
   Estilos específicos para blog + artículos 
   Sin conflictos con styles.css - Máxima especificidad
   ========================================================= */

/* ===== VARIABLES ESPECÍFICAS DEL BLOG ===== */
.blog-page,
.article-page {
  --blog-primary: #2B638D;
  --blog-accent: #E8A933;
  --blog-primary-dark: #1E4B70;
  --blog-accent-dark: #d6992b;
  --blog-bg: #ffffff;
  --blog-card-bg: #f8f9fa;
  --blog-text: #333333;
  --blog-muted: #666666;
  --blog-light: #f8f9fc;
  --blog-border: #e5e5e5;
  --blog-radius: 14px;
  --blog-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  --blog-shadow-hover: 0 8px 25px rgba(0, 0, 0, 0.12);
  --blog-transition: all 0.3s ease;
}

/* ===== HERO BLOG PRINCIPAL ===== */
.blog-page .blog-hero {
  background: linear-gradient(135deg, var(--blog-primary) 0%, #3a7bab 100%) !important;
  color: white !important;
  padding: 120px 0 80px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.blog-page .blog-hero h1 {
  color: white !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3) !important;
}

.blog-page .blog-hero p {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 1.3rem !important;
  max-width: 800px !important;
  margin: 0 auto 2rem !important;
  line-height: 1.5 !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* ===== ESTADÍSTICAS BLOG ===== */
.blog-page .blog-stats {
  display: flex !important;
  justify-content: center !important;
  gap: 40px !important;
  flex-wrap: wrap !important;
  margin-top: 2.5rem !important;
  width: 100% !important;
}

.blog-page .blog-stats .stat-item {
  text-align: center !important;
  flex: 0 0 auto !important;
}

.blog-page .blog-stats .stat-number {
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  color: var(--blog-accent) !important;
  display: block !important;
  line-height: 1 !important;
}

.blog-page .blog-stats .stat-label {
  display: block !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 0.95rem !important;
  margin-top: 0.5rem !important;
  font-weight: 500 !important;
}

/* ===== CATEGORÍAS BLOG ===== */
.blog-page .blog-categories {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 40px auto 0 auto !important;
  max-width: 100% !important;
  padding: 0 20px !important;
}

.blog-page .blog-categories .category-filter {
  background-color: var(--blog-primary) !important;
  color: white !important;
  border: none !important;
  padding: 12px 25px !important;
  border-radius: 25px !important;
  cursor: pointer !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  transition: var(--blog-transition) !important;
  flex: 0 0 auto !important;
  font-size: 0.95rem !important;
}

.blog-page .blog-categories .category-filter:hover {
  background-color: var(--blog-primary-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--blog-shadow) !important;
}

.blog-page .blog-categories .category-filter.active {
  background-color: var(--blog-accent) !important;
  color: #000 !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--blog-shadow) !important;
}

/* ===== ARTÍCULO DESTACADO ===== */
.blog-page .blog-featured {
  background: var(--blog-light) !important;
  padding: 70px 20px !important;
  margin-top: 40px !important;
}

.blog-page .featured-article {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 40px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  background: white !important;
  border-radius: var(--blog-radius) !important;
  padding: 40px !important;
  box-shadow: var(--blog-shadow) !important;
  position: relative !important;
  transition: var(--blog-transition) !important;
}

.blog-page .featured-article:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--blog-shadow-hover) !important;
}

.blog-page .featured-content {
  flex: 1 !important;
  min-width: 280px !important;
  text-align: left !important;
}

.blog-page .featured-badge {
  display: inline-block !important;
  background-color: var(--blog-accent) !important;
  color: #000 !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  margin-bottom: 15px !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.blog-page .featured-title {
  color: var(--blog-primary) !important;
  font-size: 1.8rem !important;
  margin-bottom: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.blog-page .featured-excerpt {
  color: var(--blog-muted) !important;
  margin-bottom: 20px !important;
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
}

.blog-page .featured-image {
  font-size: 4rem !important;
  color: var(--blog-primary) !important;
  flex: 0 0 auto !important;
  opacity: 0.8 !important;
}

/* ===== GRID DE ARTÍCULOS ===== */
.blog-page .blog-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 25px !important;
  margin-top: 50px !important;
  width: 100% !important;
}

.blog-page .blog-card {
  background: var(--blog-card-bg) !important;
  border: 1px solid var(--blog-border) !important;
  border-radius: var(--blog-radius) !important;
  overflow: hidden !important;
  transition: var(--blog-transition) !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05) !important;
  height: 100% !important;
}

.blog-page .blog-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--blog-shadow-hover) !important;
  border-color: var(--blog-primary) !important;
}

.blog-page .blog-card-image {
  text-align: center !important;
  padding: 35px 0 15px !important;
  font-size: 2.5rem !important;
  color: var(--blog-primary) !important;
  background: linear-gradient(135deg, var(--blog-light) 0%, white 100%) !important;
  transition: var(--blog-transition) !important;
}

.blog-page .blog-card:hover .blog-card-image {
  color: var(--blog-accent) !important;
  transform: scale(1.05) !important;
}

.blog-page .blog-card-content {
  padding: 0 25px 25px !important;
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.blog-page .blog-card-category {
  display: inline-block !important;
  background-color: var(--blog-accent) !important;
  color: #000 !important;
  font-weight: 600 !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
  font-size: 0.8rem !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  align-self: flex-start !important;
}

.blog-page .blog-card-title {
  font-size: 1.3rem !important;
  color: var(--blog-primary) !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  line-height: 1.3 !important;
  flex-grow: 1 !important;
}

.blog-page .blog-card-excerpt {
  font-size: 0.95rem !important;
  color: var(--blog-muted) !important;
  margin-bottom: 20px !important;
  line-height: 1.5 !important;
  flex-grow: 1 !important;
}

.blog-page .blog-card-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 0.9rem !important;
  color: var(--blog-muted) !important;
  margin-top: auto !important;
}

.blog-page .blog-card-read-more {
  color: var(--blog-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: var(--blog-transition) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.blog-page .blog-card-read-more:hover {
  color: var(--blog-accent) !important;
  transform: translateX(3px) !important;
}

/* ===== BOTÓN CARGAR MÁS ===== */
.blog-page #load-more-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--blog-primary) !important;
  color: white !important;
  padding: 15px 35px !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-family: 'Montserrat', sans-serif !important;
  border: none !important;
  cursor: pointer !important;
  transition: var(--blog-transition) !important;
  margin: 50px auto 0 auto !important;
  font-size: 1.1rem !important;
}

.blog-page #load-more-btn:hover {
  background: var(--blog-primary-dark) !important;
  transform: translateY(-3px) !important;
  box-shadow: var(--blog-shadow) !important;
}

/* ===== CTA FINAL BLOG ===== */
.blog-page .blog-cta-premium {
  background: linear-gradient(135deg, var(--blog-primary) 0%, #3a7bab 100%) !important;
  color: white !important;
  text-align: center !important;
  padding: 70px 20px !important;
  margin-top: 80px !important;
  border-top: 5px solid var(--blog-accent) !important;
}

.blog-page .blog-cta-premium h2 {
  font-size: 2.4rem !important;
  margin-bottom: 15px !important;
  color: white !important;
  font-weight: 700 !important;
}

.blog-page .blog-cta-premium p {
  font-size: 1.1rem !important;
  max-width: 600px !important;
  margin: 0 auto 25px !important;
  opacity: 0.95 !important;
  line-height: 1.5 !important;
  color: white !important;
}

/* ===== BUSCADOR BLOG ===== */
.blog-page .search-container {
  margin: 30px auto 50px !important;
  max-width: 600px !important;
  width: 100% !important;
  padding: 0 15px !important;
  box-sizing: border-box !important;
}

.blog-page .search-wrapper {
  position: relative !important;
  width: 100% !important;
}

.blog-page .search-icon {
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--blog-primary) !important;
  z-index: 10 !important;
  font-size: 1.1rem !important;
}

.blog-page #blog-search-input {
  width: 100% !important;
  padding: 14px 20px 14px 50px !important;
  border-radius: 50px !important;
  border: 2px solid var(--blog-border) !important;
  font-size: 1.1rem !important;
  font-family: 'Montserrat', sans-serif !important;
  background: white !important;
  transition: var(--blog-transition) !important;
  box-sizing: border-box !important;
}

.blog-page #blog-search-input:focus {
  outline: none !important;
  border-color: var(--blog-primary) !important;
  box-shadow: 0 0 0 3px rgba(43, 99, 141, 0.15) !important;
}

/* ===== HERO ARTÍCULOS ===== */
.article-page .article-hero {
  background: linear-gradient(135deg, var(--blog-primary) 0%, #3a7bab 100%) !important;
  color: white !important;
  padding: 140px 0 60px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

.article-page .article-hero h1 {
  color: white !important;
  font-size: clamp(2rem, 4vw, 2.8rem) !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3) !important;
  line-height: 1.2 !important;
}

.article-page .article-hero p {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 1.3rem !important;
  max-width: 800px !important;
  margin: 0 auto 2rem !important;
  line-height: 1.5 !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.article-page .article-meta {
  display: flex !important;
  justify-content: center !important;
  gap: 30px !important;
  margin-top: 2rem !important;
  font-size: 1rem !important;
  opacity: 0.9 !important;
  flex-wrap: wrap !important;
}

.article-page .article-meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 500 !important;
}

/* ===== CONTENIDO ARTÍCULOS ===== */
.article-page .article-content,
.article-page .post-content {
  max-width: 1100px !important;
  margin: 50px auto !important;
  padding: 50px 60px !important;
  background: white !important;
  border-radius: var(--blog-radius) !important;
  box-shadow: var(--blog-shadow) !important;
  position: relative !important;
  top: -40px !important;
  margin-bottom: -40px !important;
  z-index: 10 !important;
}

.article-page .blog-main .post-content {
  padding: 50px 60px !important;
  margin: 40px auto !important;
  top: 0 !important;
  margin-bottom: 0 !important;
}

/* ===== TIPOGRAFÍA ARTÍCULOS ===== */
.article-page h2 {
  color: var(--blog-primary) !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  margin: 50px 0 20px 0 !important;
  border-left: 4px solid var(--blog-accent) !important;
  padding-left: 15px !important;
  line-height: 1.3 !important;
}

.article-page .post-content h3,
.article-page .article-content h3 {
  color: var(--blog-primary) !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  margin: 35px 0 15px 0 !important;
  line-height: 1.3 !important;
}

.article-page h4 {
  color: var(--blog-primary) !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  margin: 25px 0 12px 0 !important;
  line-height: 1.3 !important;
}

.article-page p {
  color: var(--blog-text) !important;
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  margin-bottom: 20px !important;
}

.article-page strong {
  color: var(--blog-primary-dark) !important;
  font-weight: 700 !important;
}

.article-page ul, 
.article-page ol {
  margin: 20px 0 20px 30px !important;
  font-size: 1.1rem !important;
  color: var(--blog-text) !important;
}

.article-page li {
  margin-bottom: 10px !important;
  line-height: 1.5 !important;
}

.article-page ul li::marker {
  color: var(--blog-accent) !important;
}

.article-page ol li::marker {
  color: var(--blog-primary) !important;
  font-weight: 600 !important;
}

/* ===== CAJAS DESTACADAS ===== */
.article-page .highlight-box {
  background: linear-gradient(135deg, var(--blog-primary) 0%, #3a7bab 100%) !important;
  color: white !important;
  padding: 25px 30px !important;
  border-radius: var(--blog-radius) !important;
  margin: 30px 0 !important;
  box-shadow: var(--blog-shadow) !important;
  border-left: 5px solid var(--blog-accent) !important;
}

.article-page .highlight-box h3,
.article-page .highlight-box h4 {
  color: white !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  border-left: none !important;
  padding-left: 0 !important;
}

.article-page .highlight-box p {
  color: rgba(255, 255, 255, 0.95) !important;
  margin-bottom: 0 !important;
  font-size: 1.05rem !important;
}

.article-page .warning-box {
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%) !important;
  border: 2px solid #ffc107 !important;
  padding: 25px 30px !important;
  margin: 30px 0 !important;
  border-radius: var(--blog-radius) !important;
  color: #856404 !important;
  box-shadow: var(--blog-shadow) !important;
}

.article-page .warning-box h3,
.article-page .warning-box h4 {
  color: #856404 !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  border-left: none !important;
  padding-left: 0 !important;
}

.article-page .warning-box p {
  color: #856404 !important;
  margin-bottom: 0 !important;
  font-size: 1.05rem !important;
}

.article-page .sensitive-box {
  background: linear-gradient(135deg, #f8f9fc 0%, #e8eef7 100%) !important;
  border: 2px solid var(--blog-primary) !important;
  padding: 25px 30px !important;
  margin: 30px 0 !important;
  border-radius: var(--blog-radius) !important;
  color: var(--blog-text) !important;
  box-shadow: var(--blog-shadow) !important;
}

.article-page .sensitive-box h3,
.article-page .sensitive-box h4 {
  color: var(--blog-primary) !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  border-left: none !important;
  padding-left: 0 !important;
}

.article-page .sensitive-box p {
  color: var(--blog-text) !important;
  margin-bottom: 0 !important;
  font-size: 1.05rem !important;
}

.article-page .free-box {
  background: linear-gradient(135deg, #28a745, #20c997) !important;
  color: white !important;
  padding: 25px 30px !important;
  border-radius: var(--blog-radius) !important;
  margin: 30px 0 !important;
  text-align: center !important;
}

.article-page .free-box h3,
.article-page .free-box h4 {
  color: white !important;
}

/* ===== PROCESOS Y PASOS ===== */
.article-page .process-steps {
  counter-reset: step-counter !important;
  margin: 40px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 25px !important;
}

.article-page .process-step {
  background: white !important;
  border-left: 5px solid var(--blog-primary) !important;
  padding: 30px 25px 25px 25px !important;  /* ← CAMBIADO: padding normal */
  margin-bottom: 0 !important;
  border-radius: 0 var(--blog-radius) var(--blog-radius) 0 !important;
  box-shadow: var(--blog-shadow) !important;
  position: relative !important;
  transition: var(--blog-transition) !important;
  counter-increment: step-counter !important;
  margin-top: 15px !important;  /* ← AÑADIDO: espacio para el número */
}

.article-page .process-step:hover {
  transform: translateX(5px) !important;
  box-shadow: var(--blog-shadow-hover) !important;
}

.article-page .process-step:before {
  content: "Paso " counter(step-counter) !important;
  background: var(--blog-primary) !important;
  color: white !important;
  padding: 8px 15px !important;
  border-radius: 20px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  position: absolute !important;
  top: -12px !important;  
  left: 20px !important;
  z-index: 2 !important;
}

.article-page .process-step h3 {
  color: var(--blog-primary) !important;
  margin-top: 5px !important;
  margin-bottom: 15px !important;
  font-size: 1.3rem !important;
  border-left: none !important;
  padding-left: 0 !important;
}

.article-page .process-step p {
  margin-bottom: 0 !important;
  color: var(--blog-text) !important;
  line-height: 1.6 !important;
}
/* ===== INDICADORES ===== */
.article-page .time-indicator {
  background: var(--blog-accent) !important;
  color: #000 !important;
  padding: 5px 12px !important;
  border-radius: 15px !important;
  font-size: 0.8rem !important;
  display: inline-block !important;
  margin: 10px 5px 10px 0 !important;
  font-weight: 600 !important;
}

.article-page .cost-indicator {
  background: #28a745 !important;
  color: white !important;
  padding: 5px 12px !important;
  border-radius: 15px !important;
  font-size: 0.8rem !important;
  display: inline-block !important;
  margin: 10px 0 !important;
  font-weight: 600 !important;
}

/* ===== TIMELINES ===== */
.article-page .timeline {
  position: relative !important;
  margin: 40px 0 !important;
  padding-left: 60px !important;
}

.article-page .timeline:before {
  content: '' !important;
  position: absolute !important;
  left: 25px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: var(--blog-primary) !important;
  z-index: 1 !important;
}

.article-page .timeline-item {
  position: relative !important;
  margin-bottom: 40px !important;
  padding-left: 0 !important;
}

.article-page .timeline-item:before {
  content: '' !important;
  position: absolute !important;
  left: -35px !important;
  top: 5px !important;
  width: 20px !important;
  height: 20px !important;
  background: var(--blog-accent) !important;
  border-radius: 50% !important;
  border: 4px solid var(--blog-primary) !important;
  z-index: 2 !important;
}

.article-page .timeline-item h4 {
  color: var(--blog-primary) !important;
  margin: 0 0 8px 0 !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
}

.article-page .timeline-item p {
  color: var(--blog-text) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* ===== TABLAS ===== */
.article-page .comparison-table,
.article-page .price-table {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  margin: 30px 0 !important;
  box-shadow: var(--blog-shadow) !important;
  border-radius: var(--blog-radius) !important;
  overflow: hidden !important;
  font-size: 1rem !important;
}

.article-page .comparison-table th,
.article-page .price-table th {
  background: var(--blog-primary) !important;
  color: white !important;
  padding: 15px !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
}

.article-page .comparison-table td,
.article-page .price-table td {
  padding: 15px !important;
  border-bottom: 1px solid var(--blog-border) !important;
  color: var(--blog-text) !important;
}

.article-page .comparison-table tr:nth-child(even),
.article-page .price-table tr:nth-child(even) {
  background: var(--blog-light) !important;
}

.article-page .price {
  color: var(--blog-accent) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}

/* ===== GRIDS Y CARDS ===== */
.article-page .equipment-grid,
.article-page .documents-grid,
.article-page .benefits-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 20px !important;
  margin: 30px 0 !important;
}

.article-page .equipment-card,
.article-page .document-card,
.article-page .benefit-card {
  background: white !important;
  padding: 25px !important;
  border-radius: var(--blog-radius) !important;
  text-align: center !important;
  transition: var(--blog-transition) !important;
  box-shadow: var(--blog-shadow) !important;
  border: 1px solid var(--blog-border) !important;
}

.article-page .equipment-card:hover,
.article-page .document-card:hover,
.article-page .benefit-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--blog-shadow-hover) !important;
  border-color: var(--blog-primary) !important;
}

.article-page .equipment-icon,
.article-page .benefit-icon {
  font-size: 2.5rem !important;
  color: var(--blog-primary) !important;
  margin-bottom: 15px !important;
  transition: var(--blog-transition) !important;
}

.article-page .equipment-card:hover .equipment-icon,
.article-page .benefit-card:hover .benefit-icon {
  color: var(--blog-accent) !important;
  transform: scale(1.1) !important;
}

.article-page .equipment-card h3,
.article-page .document-card h4,
.article-page .benefit-card h3 {
  color: var(--blog-primary) !important;
  margin: 15px 0 10px 0 !important;
  font-size: 1.2rem !important;
}

.article-page .equipment-card p,
.article-page .document-card p,
.article-page .benefit-card p {
  color: var(--blog-muted) !important;
  margin: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* ===== CONDICIONES GRID ===== */
.article-page .conditions-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 25px !important;
    margin: 30px 0 !important;
}

.article-page .condition-card {
    background: white !important;
    padding: 25px !important;
    border-radius: 12px !important;
    text-align: center !important;
    box-shadow: var(--blog-shadow) !important;
    border: 1px solid var(--blog-border) !important;
    transition: var(--blog-transition) !important;
}

.article-page .condition-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: var(--blog-shadow-hover) !important;
    border-color: var(--blog-primary) !important;
}

.article-page .condition-icon {
    font-size: 2.5rem !important;
    color: var(--blog-primary) !important;
    margin-bottom: 15px !important;
    transition: var(--blog-transition) !important;
}

.article-page .condition-card:hover .condition-icon {
    color: var(--blog-accent) !important;
    transform: scale(1.1) !important;
}

.article-page .condition-card h4 {
    color: var(--blog-primary) !important;
    margin: 10px 0 15px 0 !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
}

.article-page .condition-card p {
    color: var(--blog-muted) !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    font-size: 0.95rem !important;
}

/* ===== CTA ARTÍCULOS ===== */
.article-page .article-cta {
  background: linear-gradient(135deg, var(--blog-light) 0%, white 100%) !important;
  padding: 50px 40px !important;
  text-align: center !important;
  margin: 60px 0 !important;
  border-radius: var(--blog-radius) !important;
  border: 1px solid var(--blog-border) !important;
  box-shadow: var(--blog-shadow) !important;
}

.article-page .article-cta h2 {
  color: var(--blog-primary) !important;
  margin-bottom: 15px !important;
  border-left: none !important;
  padding-left: 0 !important;
  text-align: center !important;
}

.article-page .article-cta p {
  color: var(--blog-muted) !important;
  margin-bottom: 25px !important;
  font-size: 1.1rem !important;
  text-align: center !important;
}

.article-page .cta-main-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--blog-primary) !important;
  color: white !important;
  padding: 15px 30px !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-family: 'Montserrat', sans-serif !important;
  transition: var(--blog-transition) !important;
  margin: 0 10px 10px !important;
  box-shadow: var(--blog-shadow) !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 1rem !important;
}

.article-page .cta-main-btn:hover {
  background: var(--blog-primary-dark) !important;
  transform: translateY(-3px) !important;
  box-shadow: var(--blog-shadow-hover) !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 992px) {
  .article-page .article-content,
  .article-page .post-content {
    padding: 40px 25px !important;
  }
}

@media (max-width: 768px) {
  .article-page .article-hero {
    padding: 120px 0 50px !important;
  }
  
  .article-page .article-hero h1 {
    font-size: 2rem !important;
  }
  
  .article-page .article-hero p {
    font-size: 1.1rem !important;
  }
  
  .article-page .article-meta {
    flex-direction: column !important;
    gap: 10px !important;
  }
  
  .article-page .article-content,
  .article-page .post-content {
    padding: 30px 20px !important;
    top: -30px !important;
    margin-bottom: -30px !important;
  }
  
  .article-page h2 {
    font-size: 1.5rem !important;
    margin: 40px 0 15px 0 !important;
  }
  
  .article-page h3 {
    font-size: 1.2rem !important;
    margin: 30px 0 12px 0 !important;
  }
  
  .article-page p {
    font-size: 1rem !important;
  }
  
  .article-page .process-step {
    padding: 20px 15px !important;
  }
  
  .article-page .process-step:before {
    left: 15px !important;
    top: -8px !important;
    font-size: 0.7rem !important;
    padding: 6px 12px !important;
  }
  
  .article-page .timeline {
    padding-left: 40px !important;
  }
  
  .article-page .timeline:before {
    left: 15px !important;
  }
  
  .article-page .timeline-item:before {
    left: -25px !important;
    top: 3px !important;
    width: 16px !important;
    height: 16px !important;
    border-width: 3px !important;
  }
  
  .article-page .equipment-grid,
  .article-page .documents-grid,
  .article-page .benefits-grid,
  .article-page .conditions-grid {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .article-page .article-cta {
    padding: 30px 25px !important;
    margin: 40px 0 !important;
  }
}

@media (max-width: 480px) {
  .article-page .article-hero {
    padding: 100px 0 40px !important;
  }
  
  .article-page .article-content {
    padding: 25px 15px !important;
  }
  
  .article-page .highlight-box,
  .article-page .warning-box,
  .article-page .sensitive-box {
    padding: 20px !important;
  }
  
  .article-page .cta-main-btn {
    display: block !important;
    margin: 10px 0 !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ===== LOADING STATES BLOG ===== */
.blog-page .blog-loading {
  display: none !important;
  text-align: center !important;
  margin-top: 40px !important;
  padding: 40px !important;
}

.blog-page .blog-loading.active {
  display: block !important;
}

.blog-page .loading-spinner {
  width: 40px !important;
  height: 40px !important;
  border: 4px solid #f3f3f3 !important;
  border-top: 4px solid var(--blog-primary) !important;
  border-radius: 50% !important;
  margin: 0 auto 15px !important;
  animation: spin 1s linear infinite !important;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.blog-page #load-more-btn.hidden {
    display: none !important;
}
/* ===== CORRECCIÓN PARA CATALÁN - NUMERACIÓN "PAS" ===== */
html[lang="ca"] .article-page .process-step:before {
    content: "Pas " counter(step-counter) !important;
}
/* ===== PROTOCOLO DE FASES - ESTRUCTURA ESPECÍFICA ===== */
.article-page .protocolo-fases {
  margin: 40px 0;
}

.article-page .fase-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: white;
  padding: 25px;
  margin: 20px 0;
  border-radius: var(--blog-radius);
  box-shadow: var(--blog-shadow);
  border-left: 4px solid var(--blog-primary);
  transition: var(--blog-transition);
}

.article-page .fase-item:hover {
  transform: translateX(5px);
  box-shadow: var(--blog-shadow-hover);
}

.article-page .fase-numero {
  background: var(--blog-primary);
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.2rem;
  flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(43, 99, 141, 0.3);
}

.article-page .fase-contenido {
  flex: 1;
}

.article-page .fase-contenido h3 {
  color: var(--blog-primary);
  margin: 0 0 10px 0;
  font-size: 1.3rem;
  border-left: none;
  padding-left: 0;
}

.article-page .fase-contenido p {
  margin: 0;
  color: var(--blog-text);
  line-height: 1.6;
  font-size: 1rem;
}

/* ===== LISTAS EN CUADROS - SANGRÍA FRANCESA ===== */
.article-page .benefit-card ul,
.article-page .equipment-card ul,
.article-page .document-card ul,
.article-page .condition-card ul {
  margin: 15px 0 0 0;
  padding-left: 0;
  text-align: left;
  list-style: none;
}

/* ESPECIFICIDAD ALTA: solo aplica a li dentro de estas cards */
.article-page .benefit-card > ul > li,
.article-page .equipment-card > ul > li, 
.article-page .document-card > ul > li,
.article-page .condition-card > ul > li {
  margin-bottom: 8px;
  color: var(--blog-text);
  line-height: 1.5;
  padding-left: 20px;
  text-indent: -20px;
  position: relative;
}

.article-page .benefit-card > ul > li::before,
.article-page .equipment-card > ul > li::before,
.article-page .document-card > ul > li::before,
.article-page .condition-card > ul > li::before {
  content: "•";
  color: var(--blog-accent);
  font-weight: bold;
  font-size: 1.3em;
  margin-right: 8px;
  display: inline-block;
  width: 12px;
  text-indent: 0;
}

/* Responsive */
@media (max-width: 768px) {
  .article-page .fase-item {
    flex-direction: column;
    gap: 15px;
    padding: 20px;
  }
  
  .article-page .fase-numero {
    align-self: center;
  }
}
/* ===== CORRECCIÓN BOTONES TELÉFONO EN CAJAS AZULES ===== */
.article-page .highlight-box .cta-btn,
.article-page .sensitive-box .cta-btn,
.article-page .article-cta .cta-btn {
  background: var(--blog-accent) !important;
  color: #000 !important;
  border: 2px solid var(--blog-accent) !important;
}

.article-page .highlight-box .cta-btn:hover,
.article-page .sensitive-box .cta-btn:hover,
.article-page .article-cta .cta-btn:hover {
  background: #ffd700 !important;
  border-color: #ffd700 !important;
  color: #000 !important;
  transform: translateY(-2px);
}

/* Específico para botones de teléfono */
.article-page .highlight-box .cta-btn-phone,
.article-page .sensitive-box .cta-btn-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--blog-accent) !important;
  color: #000 !important;
  padding: 12px 25px !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-family: 'Montserrat', sans-serif !important;
  border: 2px solid var(--blog-accent) !important;
  transition: var(--blog-transition) !important;
  margin: 15px 0 !important;
  box-shadow: 0 4px 15px rgba(232, 169, 51, 0.3) !important;
}

.article-page .highlight-box .cta-btn-phone:hover,
.article-page .sensitive-box .cta-btn-phone:hover {
  background: #ffd700 !important;
  border-color: #ffd700 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(232, 169, 51, 0.5) !important;
}
/* ===== CORRECCIÓN ESPECÍFICA PARA TABLAS CON WIDTH INLINE ===== */
.article-page .comparison-table {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
  box-shadow: var(--blog-shadow);
  border-radius: var(--blog-radius);
}

.article-page .comparison-table table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  margin: 0;
}

.article-page .comparison-table th,
.article-page .comparison-table td {
  padding: 15px;
  border-bottom: 1px solid var(--blog-border);
  border-right: 1px solid var(--blog-border);
}

/* PRIMERA COLUMNA: izquierda */
.article-page .comparison-table th:nth-child(1),
.article-page .comparison-table td:nth-child(1) {
  text-align: left;
  font-weight: 600;
}

/* SEGUNDA COLUMNA: centro */
.article-page .comparison-table th:nth-child(2),
.article-page .comparison-table td:nth-child(2) {
  text-align: center !important;
}

/* TERCERA COLUMNA: centro */
.article-page .comparison-table th:nth-child(3),
.article-page .comparison-table td:nth-child(3) {
  text-align: center !important;
}

.article-page .comparison-table th:last-child,
.article-page .comparison-table td:last-child {
  border-right: none;
}

.article-page .comparison-table thead th {
  background: var(--blog-primary);
  color: white;
  font-weight: 600;
  font-size: 1rem;
  border-right: 1px solid rgba(255,255,255,0.3);
}

.article-page .comparison-table thead th:last-child {
  border-right: none;
}

.article-page .comparison-table tbody tr:nth-child(even) {
  background: var(--blog-light);
}

.article-page .comparison-table tbody tr:hover {
  background: #f0f7ff;
}

/* Responsive */
@media (max-width: 768px) {
  .article-page .comparison-table table {
    min-width: 500px;
  }
  
  .article-page .comparison-table th,
  .article-page .comparison-table td {
    padding: 12px 8px;
    font-size: 0.9rem;
  }
}
/* ===== VERSIÓN LIMPIA SIN CUADROS ===== */

/* Para el comparativo de pisos */
.article-page .equipment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin: 30px 0;
  background: var(--blog-light);
  padding: 30px;
  border-radius: var(--blog-radius);
}

.article-page .equipment-card {
  background: white;
  padding: 25px;
  border-radius: var(--blog-radius);
  box-shadow: var(--blog-shadow);
}

.article-page .equipment-card.highlight-box {
  border-left: 5px solid #28a745;
}

.article-page .equipment-card.warning-box {
  border-left: 5px solid #dc3545;
}

.article-page .equipment-card h4 {
  color: var(--blog-primary);
  margin: 0 0 15px 0;
  font-size: 1.3rem;
}

.article-page .equipment-card ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.article-page .equipment-card li {
  margin-bottom: 8px;
  padding-left: 20px;
  text-indent: -20px;
  line-height: 1.5;
}

.article-page .equipment-card li::before {
  content: "•";
  color: var(--blog-accent);
  font-weight: bold;
  margin-right: 8px;
}

/* Para "Impacto Económico" - versión SIN CUADROS */
.article-page .partner-features {
  margin: 30px 0;
}

.article-page .partner-feature {
  background: white;
  margin: 20px 0;
  padding: 20px 25px;
  border-radius: var(--blog-radius);
  border-left: 4px solid var(--blog-primary);
  box-shadow: var(--blog-shadow);
}

.article-page .partner-feature h4 {
  color: var(--blog-primary);
  margin: 0 0 10px 0;
  font-size: 1.2rem;
}

.article-page .partner-feature p {
  margin: 5px 0;
  color: var(--blog-text);
}

.article-page .partner-feature p[style*="color: #28a745"] {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
}

.article-page .partner-feature p[style*="color: #dc3545"] {
  font-size: 1.4rem !important;
  font-weight: 700 !important;
}
/* ===== SOLO para "partner-features" - CLASE ESPECÍFICA ===== */
.article-page .partner-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 30px 0;
}

.article-page .partner-feature {
  background: linear-gradient(135deg, #f8f9fc 0%, #e8eef7 100%);
  padding: 25px;
  border-radius: var(--blog-radius);
  text-align: center;
  box-shadow: var(--blog-shadow);
  border-left: 4px solid var(--blog-primary);
  transition: var(--blog-transition);
}

.article-page .partner-feature:hover {
  transform: translateY(-3px);
  box-shadow: var(--blog-shadow-hover);
}

.article-page .partner-feature h4 {
  color: var(--blog-primary);
  margin: 0 0 15px 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.article-page .partner-feature p {
  margin: 8px 0;
  color: var(--blog-text);
  line-height: 1.5;
}

.article-page .partner-feature p[style*="color: #28a745"],
.article-page .partner-feature p[style*="color: #dc3545"] {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin: 15px 0 !important;
}
/* ===== SOLUCIÓN SEGURA - SOBRESCRIBIR SOLO LO NECESARIO ===== */

/* 1. Sobrescribir el fondo blanco !important */
.article-page .equipment-card.highlight-box,
.article-page .equipment-card.warning-box {
  background: inherit !important; /* Anula el white !important */
  text-align: left !important; /* Anula el center !important */
}

/* 2. Aplicar colores CORRECTOS */
.article-page .equipment-card.highlight-box {
  background: linear-gradient(135deg, var(--blog-primary) 0%, #3a7bab 100%) !important;
  color: white !important;
}
/* ===== CORRECCIÓN CENTRADO TÍTULOS ===== */
.article-page .equipment-card.highlight-box h4,
.article-page .equipment-card.warning-box h4 {
  text-align: center !important;
  margin: 0 0 15px 0 !important;
}
/* ===== SOLO para "partner-features" - CLASE ESPECÍFICA ===== */
.article-page .partner-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 30px 0;
}

.article-page .partner-feature {
  background: linear-gradient(135deg, #f8f9fc 0%, #e8eef7 100%);
  padding: 25px;
  border-radius: var(--blog-radius);
  text-align: center;
  box-shadow: var(--blog-shadow);
  border-left: 4px solid var(--blog-primary);
  transition: var(--blog-transition);
}

.article-page .partner-feature:hover {
  transform: translateY(-3px);
  box-shadow: var(--blog-shadow-hover);
}

.article-page .partner-feature h4 {
  color: var(--blog-primary);
  margin: 0 0 15px 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.article-page .partner-feature p {
  margin: 8px 0;
  color: var(--blog-text);
  line-height: 1.5;
}

.article-page .partner-feature p[style*="color: #28a745"],
.article-page .partner-feature p[style*="color: #dc3545"] {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin: 15px 0 !important;
}
/* ===== SOLO para "options-grid" - CLASE ÚNICA ===== */
.article-page .options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 25px;
  margin: 30px 0;
}

.article-page .option-card {
  background: white;
  padding: 30px 25px;
  border-radius: var(--blog-radius);
  text-align: center;
  box-shadow: var(--blog-shadow);
  border: 1px solid var(--blog-border);
  transition: var(--blog-transition);
}

.article-page .option-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--blog-shadow-hover);
  border-color: var(--blog-primary);
}

.article-page .option-icon {
  font-size: 2.5rem;
  color: var(--blog-primary);
  margin-bottom: 15px;
}

.article-page .option-card h3 {
  color: var(--blog-primary);
  margin: 0 0 15px 0;
  font-size: 1.3rem;
}

.article-page .option-card p {
  margin: 10px 0;
  color: var(--blog-text);
}

.article-page .option-card ul {
  margin: 15px 0;
  padding-left: 0;
  list-style: none;
  text-align: left;
}

.article-page .option-card li {
  margin-bottom: 8px;
  padding-left: 20px;
  text-indent: -20px;
}

.article-page .option-card li::before {
  content: "•";
  color: var(--blog-accent);
  font-weight: bold;
  margin-right: 8px;
}

.article-page .option-price {
  color: var(--blog-accent) !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}

.article-page .equipment-card.warning-box {
  background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%) !important;
  color: #856404 !important;
  border: 2px solid #ffc107 !important;
}

/* 3. Texto con colores correctos */
.article-page .equipment-card.highlight-box h4,
.article-page .equipment-card.highlight-box li,
.article-page .equipment-card.highlight-box strong {
  color: white !important;
}

.article-page .equipment-card.warning-box h4,
.article-page .equipment-card.warning-box li,
.article-page .equipment-card.warning-box strong {
  color: #856404 !important;
}
/* Forzar misma altura para alinear precios */
.article-page .option-card {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 450px;
}

.article-page .option-price {
  margin-top: auto !important;
}
/* ===== CORRECCIÓN COMPLETA para "vaciado-inmobiliarias" ===== */

/* 1. Stats grid en cuadro azul */
.article-page .highlight-box [style*="grid-template-columns"] {
  margin: 25px 0 !important;
}

.article-page .stat-number {
  display: block;
  font-size: 2.5rem !important;
  font-weight: 800 !important;
  color: var(--blog-accent) !important;
  margin-bottom: 5px !important;
}

.article-page .stat-label {
  display: block;
  font-size: 0.9rem !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 500 !important;
}

/* 2. Partner destacado */
.article-page .partner-featured {
  background: linear-gradient(135deg, var(--blog-primary) 0%, #3a7bab 100%);
  color: white;
  padding: 30px;
  border-radius: var(--blog-radius);
  margin: 30px 0;
  text-align: center;
  box-shadow: var(--blog-shadow);
}

.article-page .partner-featured h3 {
  color: white;
  margin: 0 0 15px 0;
  font-size: 1.4rem;
}

.article-page .partner-featured p {
  margin: 10px 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
}

/* 3. Testimonios de partners */
.article-page .partner-testimonial {
  background: white;
  padding: 25px;
  border-radius: var(--blog-radius);
  margin: 20px 0;
  box-shadow: var(--blog-shadow);
  border-left: 4px solid var(--blog-primary);
}

.article-page .partner-testimonial p {
  margin: 0 0 15px 0;
  font-style: italic;
  color: var(--blog-text);
  line-height: 1.6;
}

.article-page .partner-testimonial .author {
  color: var(--blog-primary);
  font-weight: 600;
  font-size: 0.9rem;
}
/* ===== ESTILOS CALCULADORA ===== */
.article-page .calculator-inputs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin: 25px 0;
}

.article-page .calculator-input-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.article-page .calculator-input-group label {
  font-weight: 600;
  color: var(--blog-primary);
  font-size: 0.95rem;
}

.article-page .calculator-input-group input,
.article-page .calculator-input-group select {
  padding: 12px 15px;
  border: 2px solid var(--blog-border);
  border-radius: 8px;
  font-size: 1rem;
  background: white;
}

.article-page .calculator-input-group input:focus,
.article-page .calculator-input-group select:focus {
  outline: none;
  border-color: var(--blog-primary);
}
/* ===== ESTILOS BOTÓN ESTÁTICO EN CALCULADORA ===== */
.article-page .sensitive-box .cta-main-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: var(--blog-accent) !important;
  color: #000 !important;
  padding: 12px 25px !important;
  border-radius: 25px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-family: 'Montserrat', sans-serif !important;
  border: 2px solid var(--blog-accent) !important;
  transition: var(--blog-transition) !important;
  margin: 15px 0 0 0 !important;
  box-shadow: 0 4px 15px rgba(232, 169, 51, 0.3) !important;
}

.article-page .sensitive-box .cta-main-btn:hover {
  background: #ffd700 !important;
  border-color: #ffd700 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(232, 169, 51, 0.5) !important;
}
/* ===== TABLA SEÑALES DE ALERTA ===== */
.article-page .alert-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  box-shadow: var(--blog-shadow);
  border-radius: var(--blog-radius);
  overflow: hidden;
}

.article-page .alert-table th {
  background: var(--blog-primary);
  color: white;
  padding: 15px;
  text-align: left;
  font-weight: 600;
  font-size: 1rem;
}

.article-page .alert-table td {
  padding: 15px;
  border-bottom: 1px solid var(--blog-border);
  color: var(--blog-text);
  vertical-align: top;
}

.article-page .alert-table tr:nth-child(even) {
  background: var(--blog-light);
}

.article-page .alert-table .warning {
  color: #dc3545;
  font-weight: 600;
}

.article-page .alert-table .safe {
  color: #28a745;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 768px) {
  .article-page .alert-table {
    font-size: 0.9rem;
  }
  
  .article-page .alert-table th,
  .article-page .alert-table td {
    padding: 12px 8px;
  }
}
/* ===== CORRECCIONES ESPECÍFICAS NAVES INDUSTRIALES ===== */

/* 1. Botones CTA al final - CLASES CORRECTAS */
.article-page .article-cta .cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 25px;
}

.article-page .article-cta .cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--blog-accent);
  color: #000;
  padding: 15px 25px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  border: 2px solid var(--blog-accent);
  transition: var(--blog-transition);
  box-shadow: 0 4px 15px rgba(232, 169, 51, 0.3);
}

.article-page .article-cta .cta-btn:hover {
  background: #ffd700;
  border-color: #ffd700;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(232, 169, 51, 0.5);
}

/* 2. Grid de equipos específico */
.article-page .equipment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin: 30px 0;
}

/* 4. Listas en cuadros de advertencia */
.article-page .warning-box ul {
  margin: 15px 0 0 0;
  padding-left: 20px;
  color: #856404;
}

.article-page .warning-box li {
  margin-bottom: 8px;
  color: #856404;
}

.article-page .warning-box li::marker {
  color: #856404;
}

CONTEXTO COMPLETO:
- FASE 1: Añadir clases específicas a body
- OBJETIVO: Resolver conflictos CSS entre páginas
- CLASES: 
  * index.html → "home-page main-pages"
  * quienes-somos.html → "about-page main-pages"
  * gracias.html → "thanks-page main-pages" 
  * blog.html → "blog-page"
  * blog-ca.html → "blog-page"
  * artículos → "blog-page article-page"

/* ===== ESTILOS ESPECÍFICOS LIQUIDACIÓN HERENCIAS ===== */

/* 1. Timeline de proceso */
.article-page .timeline {
  position: relative;
  margin: 40px 0;
  padding-left: 60px;
}

.article-page .timeline:before {
  content: '';
  position: absolute;
  left: 25px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--blog-primary);
  z-index: 1;
}

.article-page .timeline-item {
  position: relative;
  margin-bottom: 40px;
  padding-left: 0;
}

.article-page .timeline-item:before {
  content: '';
  position: absolute;
  left: -35px;
  top: 5px;
  width: 20px;
  height: 20px;
  background: var(--blog-accent);
  border-radius: 50%;
  border: 4px solid var(--blog-primary);
  z-index: 2;
}

.article-page .timeline-item h4 {
  color: var(--blog-primary);
  margin: 0 0 8px 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.article-page .timeline-item p {
  color: var(--blog-text);
  margin: 0;
  line-height: 1.5;
}

/* 2. Documentos requeridos */
.article-page .documents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 30px 0;
}

.article-page .document-card {
  background: white;
  padding: 25px;
  border-radius: var(--blog-radius);
  text-align: center;
  box-shadow: var(--blog-shadow);
  border: 1px solid var(--blog-border);
  transition: var(--blog-transition);
}

.article-page .document-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--blog-shadow-hover);
  border-color: var(--blog-primary);
}

.article-page .document-card h4 {
  color: var(--blog-primary);
  margin: 15px 0 10px 0;
  font-size: 1.2rem;
}

.article-page .document-card p {
  color: var(--blog-muted);
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
}

/* 3. Costes y plazos */
.article-page .costs-table {
  width: 100%;
  border-collapse: collapse;
  margin: 30px 0;
  box-shadow: var(--blog-shadow);
  border-radius: var(--blog-radius);
  overflow: hidden;
}

.article-page .costs-table th {
  background: var(--blog-primary);
  color: white;
  padding: 15px;
  text-align: left;
  font-weight: 600;
}

.article-page .costs-table td {
  padding: 15px;
  border-bottom: 1px solid var(--blog-border);
  color: var(--blog-text);
}

.article-page .costs-table tr:nth-child(even) {
  background: var(--blog-light);
}

.article-page .cost-amount {
  color: var(--blog-accent);
  font-weight: 700;
  font-size: 1.1rem;
}

/* 4. Responsive */
@media (max-width: 768px) {
  .article-page .timeline {
    padding-left: 40px;
  }
  
  .article-page .timeline:before {
    left: 15px;
  }
  
  .article-page .timeline-item:before {
    left: -25px;
    top: 3px;
    width: 16px;
    height: 16px;
    border-width: 3px;
  }
}

/* ===== GRID DE CASOS DE URGENCIA - SEGURO ===== */
.article-page .urgency-cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
  margin: 30px 0;
}

.article-page .urgency-case-card {
  background: white;
  padding: 30px 25px;
  border-radius: var(--blog-radius);
  text-align: center;
  box-shadow: var(--blog-shadow);
  border: 1px solid var(--blog-border);
  transition: var(--blog-transition);
}

.article-page .urgency-case-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--blog-shadow-hover);
  border-color: var(--blog-primary);
}

.article-page .case-icon {
  font-size: 2.8rem;
  color: var(--blog-primary);
  margin-bottom: 20px;
  transition: var(--blog-transition);
}

.article-page .urgency-case-card:hover .case-icon {
  color: var(--blog-accent);
  transform: scale(1.1);
}

.article-page .urgency-case-card h4 {
  color: var(--blog-primary);
  margin: 0 0 15px 0;
  font-size: 1.3rem;
  font-weight: 600;
}

.article-page .urgency-case-card p {
  color: var(--blog-text);
  margin: 0;
  line-height: 1.5;
  font-size: 0.95rem;
}
.article-page .sensitive-box a[href^="tel:"] {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--blog-accent);
  color: #000;
  padding: 12px 25px;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
  margin: 15px 0 0 0;
}
/* VERSIÓN MÁS SEGURA sin :has() */
.article-page .benefit-card .price {
  color: var(--blog-accent) !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  text-align: center !important;
  display: block !important;
}

/* Centrado general sin min-height problemático */
.article-page .benefit-card {
  text-align: center !important;
}

.article-page .benefit-card ul {
  display: inline-block !important;
  text-align: left !important;
}
/* RESPONSIVE BLOG - NUEVO SIN !important */
@media (max-width: 768px) {
  .blog-page .blog-hero {
    padding: 100px 0 50px;
  }
  
  .blog-page .blog-hero h1 {
    font-size: 1.8rem;
  }
  
  .blog-page .blog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 0 10px;
  }
  
  .blog-page .blog-card {
    margin: 0;
  }
  
  .article-page .article-content,
  .article-page .post-content {
    padding: 30px 20px;
    margin: 30px auto;
    top: 0;
  }
}
/* ===== CORRECCIÓN MÁRGENES ARTÍCULOS MÓVIL ===== */
@media (max-width: 768px) {
  .article-page .article-content,
  .article-page .post-content {
    padding: 25px 15px !important;
    margin: 20px 10px !important;
    width: calc(100% - 20px) !important;
    box-sizing: border-box !important;
  }
  
  .article-page .article-hero {
    padding: 120px 15px 40px !important;
  }
  
  .article-page .article-hero h1 {
    padding: 0 10px !important;
  }
  
  /* Corregir overflow en tablas y elementos anchos */
  .article-page .comparison-table,
  .article-page .comparison-table table {
    width: 100% !important;
    overflow-x: auto !important;
    display: block !important;
  }
  
  .article-page .highlight-box,
  .article-page .warning-box,
  .article-page .sensitive-box {
    margin: 20px 0 !important;
    padding: 20px 15px !important;
  }
}

@media (max-width: 480px) {
  .article-page .article-content,
  .article-page .post-content {
    padding: 20px 12px !important;
    margin: 15px 8px !important;
    width: calc(100% - 16px) !important;
  }
  
  .article-page .article-hero h1 {
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
  }
  
  .article-page p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }
}
/* ===== CORRECCIÓN ESPECÍFICA PARA ESTA CALCULADORA ===== */
.article-page .calculator-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin: 25px 0;
}

.article-page .calculator-input {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.article-page .calculator-input label {
  font-weight: 600;
  color: var(--blog-primary);
  font-size: 0.95rem;
}

.article-page .calculator-input input {
  padding: 12px 15px;
  border: 2px solid var(--blog-border);
  border-radius: 8px;
  font-size: 1rem;
  background: white;
}

.article-page .calculator-input input:focus {
  outline: none;
  border-color: var(--blog-primary);
}

.article-page .calculator-result {
  margin-top: 20px;
  padding: 20px;
  background: white;
  border-radius: var(--blog-radius);
  border-left: 4px solid var(--blog-accent);
  display: none;
}
/* ===== CORRECCIÓN ESPECÍFICA CALCULADORA ===== */
.article-page .calculator-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin: 25px 0;
}

.article-page .calculator-input {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.article-page .calculator-input label {
  font-weight: 600;
  color: var(--blog-primary);
  font-size: 0.95rem;
}

.article-page .calculator-input input {
  padding: 12px 15px;
  border: 2px solid var(--blog-border);
  border-radius: 8px;
  font-size: 1rem;
  background: white;
}

.article-page .calculator-input input:focus {
  outline: none;
  border-color: var(--blog-primary);
}

.article-page .calculator-result {
  margin-top: 20px;
  padding: 20px;
  background: white;
  border-radius: var(--blog-radius);
  border-left: 4px solid var(--blog-accent);
  display: none;
}