/* ======================================
   ESTILOS PERSONALIZADOS PSOE
   Complementa al theme.json
   ====================================== */

/* Optimización de Performance */
* {
  box-sizing: border-box;
}

/* Font Loading Optimization */
@font-face {
  font-family: 'Inter var';
  src: url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
  font-display: swap;
  font-weight: 300 800;
}

/* =======================
   COMPONENTES ESPECÍFICOS PSOE
   ======================= */

/* Header Institucional */
.site-header.institucional {
  background: linear-gradient(135deg, var(--wp--preset--color--psoe-red), var(--wp--preset--color--psoe-dark-red));
  padding: var(--wp--preset--spacing--50) 0;
  box-shadow: 0 2px 10px rgba(229, 62, 62, 0.1);
}

.site-header.institucional .site-title {
  color: var(--wp--preset--color--base) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* Navegación Principal */
.wp-block-navigation.main-nav {
  background: var(--wp--preset--color--base);
  border-bottom: 3px solid var(--wp--preset--color--psoe-red);
  padding: var(--wp--preset--spacing--30) 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.wp-block-navigation.main-nav .wp-block-navigation-item__content {
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  border-radius: 4px;
  transition: all 0.2s ease;
  font-weight: 500;
}

.wp-block-navigation.main-nav .wp-block-navigation-item__content:hover {
  background: var(--wp--preset--color--light-background);
  color: var(--wp--preset--color--psoe-red);
  transform: translateY(-1px);
}

/* Breadcrumbs PSOE */
.psoe-breadcrumbs {
  background: var(--wp--preset--color--light-background);
  padding: var(--wp--preset--spacing--30) 0;
  border-bottom: 1px solid var(--wp--preset--color--subtle-overlay);
  font-size: var(--wp--preset--font-size--small);
}

.psoe-breadcrumbs a {
  color: var(--wp--preset--color--secondary-text);
  text-decoration: none;
}

.psoe-breadcrumbs a:hover {
  color: var(--wp--preset--color--psoe-red);
}

/* =======================
   BLOQUES DE CONTENIDO
   ======================= */

/* Destacado de Noticias */
.wp-block-group.noticia-destacada {
  background: linear-gradient(135deg, var(--wp--preset--color--light-background), var(--wp--preset--color--base));
  border-left: 4px solid var(--wp--preset--color--psoe-red);
  padding: var(--wp--preset--spacing--50);
  margin: var(--wp--preset--spacing--60) 0;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.noticia-destacada .wp-block-post-title {
  color: var(--wp--preset--color--psoe-red);
  margin-bottom: var(--wp--preset--spacing--30);
}

.noticia-destacada .wp-block-post-excerpt p {
  font-size: var(--wp--preset--font-size--large);
  line-height: 1.6;
  color: var(--wp--preset--color--institutional-gray);
}

/* Cards de Programa Electoral */
.programa-card {
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--subtle-overlay);
  border-radius: 12px;
  padding: var(--wp--preset--spacing--50);
  margin-bottom: var(--wp--preset--spacing--50);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.programa-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(229, 62, 62, 0.1);
  border-color: var(--wp--preset--color--psoe-light-red);
}

.programa-card h3 {
  color: var(--wp--preset--color--psoe-red);
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
}

.programa-card h3::before {
  content: "▶";
  color: var(--wp--preset--color--psoe-red);
  font-size: 0.8em;
}

/* Comunicados de Prensa */
.comunicado-prensa {
  background: var(--wp--preset--color--light-background);
  border: 2px solid var(--wp--preset--color--psoe-light-red);
  border-radius: 8px;
  padding: var(--wp--preset--spacing--60);
  margin: var(--wp--preset--spacing--70) 0;
  position: relative;
}

.comunicado-prensa::before {
  content: "COMUNICADO";
  position: absolute;
  top: -12px;
  left: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--psoe-red);
  color: var(--wp--preset--color--base);
  padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
  font-size: var(--wp--preset--font-size--micro);
  font-weight: 700;
  letter-spacing: 0.1em;
  border-radius: 4px;
}

/* =======================
   ELEMENTOS INTERACTIVOS
   ======================= */

/* Botones Personalizados */
.wp-block-button.is-style-psoe-primary .wp-block-button__link {
  background: linear-gradient(135deg, var(--wp--preset--color--psoe-red), var(--wp--preset--color--psoe-dark-red));
  border: none;
  box-shadow: 0 4px 15px rgba(229, 62, 62, 0.3);
  transition: all 0.3s ease;
}

.wp-block-button.is-style-psoe-primary .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(229, 62, 62, 0.4);
}

.wp-block-button.is-style-psoe-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--wp--preset--color--psoe-red);
  color: var(--wp--preset--color--psoe-red);
  position: relative;
  overflow: hidden;
}

.wp-block-button.is-style-psoe-outline .wp-block-button__link::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: var(--wp--preset--color--psoe-red);
  transition: left 0.3s ease;
  z-index: -1;
}

.wp-block-button.is-style-psoe-outline .wp-block-button__link:hover::before {
  left: 0;
}

.wp-block-button.is-style-psoe-outline .wp-block-button__link:hover {
  color: var(--wp--preset--color--base);
}

/* =======================
   LAYOUT Y SECCIONES
   ======================= */

/* Hero Section */
.hero-psoe {
  background: linear-gradient(135deg, var(--wp--preset--color--institutional-blue), var(--wp--preset--color--psoe-red));
  color: var(--wp--preset--color--base);
  padding: var(--wp--preset--spacing--80) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.hero-psoe::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  pointer-events: none;
}

.hero-psoe h1 {
  color: var(--wp--preset--color--base);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  margin-bottom: var(--wp--preset--spacing--40);
}

.hero-psoe p {
  font-size: var(--wp--preset--font-size--large);
  opacity: 0.95;
  max-width: 600px;
  margin: 0 auto var(--wp--preset--spacing--50);
}

/* Footer Institucional */
.site-footer.institucional {
  background: var(--wp--preset--color--institutional-gray);
  color: var(--wp--preset--color--base);
  padding: var(--wp--preset--spacing--70) 0 var(--wp--preset--spacing--50);
}

.site-footer.institucional h2,
.site-footer.institucional h3 {
  color: var(--wp--preset--color--base);
}

.site-footer.institucional a {
  color: var(--wp--preset--color--psoe-light-red);
}

.site-footer.institucional a:hover {
  color: var(--wp--preset--color--base);
}

/* Copyright */
.copyright-psoe {
  background: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  padding: var(--wp--preset--spacing--30) 0;
  text-align: center;
  font-size: var(--wp--preset--font-size--small);
  border-top: 2px solid var(--wp--preset--color--psoe-red);
}

/* =======================
   RESPONSIVE OPTIMIZATIONS
   ======================= */

@media (max-width: 768px) {
  .hero-psoe {
    padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
  }
  
  .programa-card,
  .noticia-destacada,
  .comunicado-prensa {
    margin-left: var(--wp--preset--spacing--20);
    margin-right: var(--wp--preset--spacing--20);
    padding: var(--wp--preset--spacing--40);
  }
  
  .wp-block-navigation.main-nav {
    padding: var(--wp--preset--spacing--20) 0;
  }
}

@media (max-width: 480px) {
  .hero-psoe h1 {
    font-size: var(--wp--preset--font-size--xx-large);
  }
  
  .programa-card h3::before {
    display: none;
  }
}

/* =======================
   ACCESSIBILITY IMPROVEMENTS
   ======================= */

/* Focus States */
.wp-block-navigation-item__content:focus,
.wp-block-button__link:focus,
a:focus {
  outline: 2px solid var(--wp--preset--color--psoe-red);
  outline-offset: 2px;
  border-radius: 4px;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
  .programa-card,
  .noticia-destacada {
    border-width: 2px;
    border-color: var(--wp--preset--color--contrast);
  }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =======================
   PRINT STYLES
   ======================= */

@media print {
  .site-header,
  .site-footer,
  .wp-block-navigation {
    display: none;
  }
  
  body {
    font-family: Georgia, serif;
    font-size: 12pt;
    line-height: 1.4;
  }
  
  .programa-card,
  .noticia-destacada {
    border: 1px solid #000;
    page-break-inside: avoid;
  }
}