/*
Theme Name: Kadence Child
Theme URI: https://infinitumfest.com/
Description: Tema fill personalitzat per a Infinitum Fest (dev)
Author: Equip Infinitum
Template: kadence
Version: 1.1 Updated para news
*/
/* === Estils fitxa artista === */

.artista-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1rem;
  font-family: "Helvetica Neue", sans-serif;
  color: #222;
}

.artista-ficha h1 {
  font-size: 3rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #D900D9;
  margin-bottom: 0.2em;
}

.artista-ficha p strong {
  color: #777;
  font-weight: 500;
}

.imagen-artista img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
  border: 2px solid #e6cfff;
  margin: 1.5rem 0;
}

.descripcion-artista {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}

.tags-artista {
  font-style: italic;
  color: #555;
  margin-bottom: 1rem;
}

.enlaces-sociales a {
  display: inline-block;
  margin-right: 1rem;
  padding: 0.5rem 1rem;
  border-radius: 30px;
  background-color: #f0dfff;
  color: #6a0dad;
  text-decoration: none;
  font-weight: bold;
  transition: all 0.2s ease;
}

.enlaces-sociales a:hover {
  background-color: #d9a8ff;
  color: white;
}

single-artista {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2rem;
  max-width: 1000px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.imagen-perfil {
  flex: 1 1 300px;
  max-width: 400px;
}

.imagen-perfil img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  border: 2px solid #e6cfff;
}

.artista-content {
  flex: 2 1 500px;
}

.malaverso {
  padding: 60px 20px;
  background-color: #000;
  color: white;
  text-align: center;
}

.malaverso-title {
  font-size: 3rem;
  margin-bottom: 10px;
}

.malaverso-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.malaverso-gallery img {
  max-width: 300px;
  height: auto;
  border: 2px solid white;
  border-radius: 8px;
}

.malaverso-button {
  margin-top: 30px;
  text-align: center;
}

.malaverso-button .btn {
  background-color: #e6007e; /* rosa fuerte, por ejemplo */
  color: white;
  padding: 12px 24px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
}

.malaverso-button .btn:hover {
  background-color: #c20068;
}

/* === Estils arxiu de notícies === */

.news-archive {
  padding: 2rem 1rem;
  background-color: #fdfaff;
}

.news-title {
  font-size: 2.5rem;
  color: #6a0dad;
  text-align: center;
  margin-bottom: 2rem;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

.news-item {
  background-color: #fff;
  border: 2px solid #e6cfff;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
  transition: all 0.2s ease;
}

.news-item:hover {
  transform: translateY(-5px);
}

.news-thumbnail img {
  width: 100%;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.news-heading {
  font-size: 1.3rem;
  font-weight: 700;
  color: #D900D9;
  margin-bottom: 0.5rem;
}

.news-heading a {
  color: inherit;
  text-decoration: none;
}

.news-heading a:hover {
  text-decoration: underline;
}

.news-excerpt {
  color: #444;
  font-size: 1rem;
}

/* === Estils fitxa notícia === */

.noticia-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1rem;
  font-family: "Helvetica Neue", sans-serif;
  color: #191010;
}

.noticia-ficha h1 {
  font-size: 2.5rem;
  font-weight: 900;
  color: #6a0dad;
  margin-bottom: 1rem;
}

.imagen-noticia img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
  border: 2px solid #533671;
  margin: 1.5rem 0;
}

.contenido-noticia {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #333;
}

/* === Correccions visuals per a single-news === */

/* 1. Força color de text fosc dins de blocs amb fons clar (evita text blanc sobre blau clar, etc.) */
.noticia-ficha [style*="background-color"] {
  color: #111 !important;
}

/* 2. Dona estil als blocs amb fons destacat (ex: Gutenberg block amb fons) */
.noticia-ficha .wp-block-group[style*="background-color"],
.noticia-ficha .wp-block-columns[style*="background-color"] {
  padding: 1.5rem;
  border-left: 4px solid #D900D9;
  border-radius: 8px;
  margin: 2rem 0;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

/* 3. Enllaços dins de blocs amb fons — assegura llegibilitat */
.noticia-ficha [style*="background-color"] a {
  color: #6a0dad;
  font-weight: bold;
  text-decoration: underline;
}
.noticia-ficha [style*="background-color"] a:hover {
  color: #D900D9;
}

.noticia-ficha p[style*="color: #fff"],
.noticia-ficha p[style*="color:#fff"],
.noticia-ficha p[style*="color: #ffffff"],
.noticia-ficha p[style*="color:#ffffff"] {
  color: #191010;
}

/* === Correcció definitiva per text inline amb color blanc o clar === */
.noticia-ficha [style*="color"] {
  color: #191010 !important;
}

/* ================================
   "Hoja" para páginas legales
   - Política de Privacidad (body.privacy-policy)
   - Política de Cookies   (detectada por el enlace activo en el footer)
   - Aviso Legal           (detectada por el enlace activo en el footer)
   ================================= */

/* 1) Selector de alcance: solo en las 3 páginas legales */
body.privacy-policy .entry-content-wrap,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content-wrap,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content-wrap {
  /* No tocamos el fondo del contenedor padre para no afectar al tema */
  background: transparent;
}

/* 2) La "hoja" en sí: aplicamos al contenido principal */
body.privacy-policy .entry-content,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content {
  /* card */
  background: #ffffff;
  color: #111;               /* texto oscuro legible */
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0,0,0,.12);
  /* caja */
  max-width: 820px;
  margin: clamp(16px, 3vw, 36px) auto;
  padding: clamp(20px, 3.5vw, 44px);
  line-height: 1.7;
  /* evitar herencias raras */
  box-sizing: border-box;
}

/* 3) Tipografía y ritmo vertical dentro de la hoja */
body.privacy-policy .entry-content p,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content p,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content p {
  margin: 0 0 1em 0;
  color: inherit;
}

body.privacy-policy .entry-content h1,
body.privacy-policy .entry-content h2,
body.privacy-policy .entry-content h3,
body.privacy-policy .entry-content h4,
body.privacy-policy .entry-content h5,
body.privacy-policy .entry-content h6,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h1,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h2,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h3,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h4,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h5,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h6,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h1,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h2,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h3,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h4,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h5,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h6 {
  color: #111;
  line-height: 1.25;
  margin: 1.2em 0 .6em;
}

body.privacy-policy .entry-content h1,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h1,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h1 {
  font-size: clamp(28px, 4.2vw, 36px);
}

body.privacy-policy .entry-content h2,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content h2,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content h2 {
  font-size: clamp(22px, 3.5vw, 28px);
}

/* 4) Listas y tablas claras dentro de la hoja */
body.privacy-policy .entry-content ul,
body.privacy-policy .entry-content ol,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content ul,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content ol,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content ul,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content ol {
  padding-left: 1.25em;
  margin: 0 0 1em 0;
}

body.privacy-policy .entry-content li,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content li,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content li {
  margin: .35em 0;
}

body.privacy-policy .entry-content table,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content table,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  font-size: 0.95em;
}

body.privacy-policy .entry-content table th,
body.privacy-policy .entry-content table td,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content table th,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content table td,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content table th,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content table td {
  border: 1px solid #e6e6e6;
  padding: .65em .75em;
}

body.privacy-policy .entry-content table th,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content table th,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content table th {
  background: #f8f8f8;
  font-weight: 600;
}

/* 5) Enlaces y clases de Gutenberg/Kadence que forzaban colores raros */
body.privacy-policy .entry-content a,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content a,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content a {
  color: #0a66c2;
  text-underline-offset: .15em;
}

body.privacy-policy .entry-content .has-text-color,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content .has-text-color,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content .has-text-color {
  color: inherit !important; /* neutraliza .has-theme-palette-9-color en estos textos */
}

body.privacy-policy .entry-content .has-link-color a,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content .has-link-color a,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content .has-link-color a {
  color: #0a66c2 !important;
}

/* 6) Bloques con alineación centrada de cabeceras/lead para que no “rompan” el ancho */
body.privacy-policy .entry-content .has-text-align-center,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content .has-text-align-center,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content .has-text-align-center {
  text-align: center;
}

/* 7) Control de imágenes incrustadas para que no desborden la hoja */
body.privacy-policy .entry-content img,
body:has(#footer-navigation a[aria-current="page"][href$="/politica-de-cookies/"]) .entry-content img,
body:has(#footer-navigation a[aria-current="page"][href$="/aviso-legal-y-terminos-de-uso/"]) .entry-content img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}