/* ATIC — estilos de las piezas comunes de Kudea (buscador, vídeos, compartir, cookies, espacios) */
:root { --k-accent: rgba(8, 75, 122, 1); --k-accent-text: #fff; }

/* ---------- Espacio de cada bloque (páginas hechas con bloques)
   Normal = 60 px arriba y 60 px abajo · Grande = 120 px · Pequeño = 30 px · Ninguno = 0
   (cada lado se elige por separado en el panel). Se aplica al propio bloque, así el
   «Color de fondo» (Blanco / Gris) cubre también el espacio. Los márgenes laterales no cambian. */
.k-b > section { padding-top: 60px; padding-bottom: 60px; }
.k-b.k-esp-t-gr > section { padding-top: 120px; }   .k-b.k-esp-b-gr > section { padding-bottom: 120px; }
.k-b.k-esp-t-peq > section { padding-top: 30px; }   .k-b.k-esp-b-peq > section { padding-bottom: 30px; }
.k-b.k-esp-t-no > section { padding-top: 0; }       .k-b.k-esp-b-no > section { padding-bottom: 0; }
/* El primer bloque de la página empieza debajo de la cabecera fija (que tapa parte de la página):
   se le suma lo que tapa la cabecera, para que el espacio elegido se vea entero.
   (valores aproximados; layout/bottom.php los ajusta a la altura real de la cabecera al cargar y al girar la pantalla) */
:root { --k-cab: 72px; }
@media (max-width: 1200px) { :root { --k-cab: 58px; } }
@media (max-width: 640px)  { :root { --k-cab: 86px; } }
#asistencia + .k-b > section { padding-top: calc(60px + var(--k-cab)); }
#asistencia + .k-b.k-esp-t-gr > section { padding-top: calc(120px + var(--k-cab)); }
#asistencia + .k-b.k-esp-t-peq > section { padding-top: calc(30px + var(--k-cab)); }
#asistencia + .k-b.k-esp-t-no > section { padding-top: var(--k-cab); }

/* ---------- Fotos verticales en los listados: se recortan a la misma proporción que las demás */
img.k-foto-vertical { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 30%; }

/* ---------- Buscador (columna lateral del blog y noticias) */
.aside-section .k-search { margin: 10px 0 20px; }

/* ---------- Aviso de cookies (colores de ATIC) */
.k-cookies { font-family: 'Lato', Arial, Helvetica, sans-serif; }
.k-cookies .k-cookies-no { border: 1px solid #fff; }   /* «Rechazar» = btn-blue con borde; «Aceptar» = btn naranja */

/* ---------- Compartir: los mismos botones (.btn .btn-small), ahora con WhatsApp y «Copiar enlace» */
.compartir-rrss { width: auto; max-width: 100%; text-align: right; }
.compartir-rrss .btn { margin: 0 0 6px 4px; }
@media (max-width: 767px) { .compartir-rrss { float: none; text-align: left; } .compartir-rrss .btn { margin: 0 4px 6px 0; } }

/* ---------- Política de cookies: tabla de las cookies que se usan */
.k-cookies-tabla { width: 100%; margin: 10px 0 25px; border-collapse: collapse; font-size: 14px; }
.k-cookies-tabla th, .k-cookies-tabla td { padding: 8px 10px; border: 1px solid #ddd; text-align: left; vertical-align: top; }
.k-cookies-tabla th { background: rgba(221, 221, 221, .4); }

/* ---------- «Foto o vídeo + texto»: el vídeo, alineado con el texto como la foto */
.k-media .k-video { margin-bottom: 0; }
@media (max-width: 991px) { .k-media .k-video { margin-bottom: 20px; } }

/* ---------- «Foto o vídeo + texto» más estrecho (30 %): el texto sin el sangrado grande de la izquierda */
.k-media-30.k-media-izq .page-top-text { padding-left: 40px; }
@media (max-width: 1023px) { .k-media-30.k-media-izq .page-top-text { padding-left: 0; } }

/* ---------- Cabecera con foto: foto de fondo, capa azul de ATIC (como .bg-blue05) y título en blanco */
.k-b > section.k-cabecera, section.k-cabecera { padding: 0; background: rgba(8, 75, 122, 1) center / cover no-repeat; }
.k-cabecera-capa { display: flex; align-items: center; min-height: 380px; padding: 80px 10px; background: rgba(8, 75, 122, 0.5); }
.k-cabecera h1 { margin: 0; color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 60px; letter-spacing: 1px; text-align: center; width: 100%; }
@media (max-width: 640px) { .k-cabecera-capa { min-height: 240px; padding: 50px 10px; } .k-cabecera h1 { font-size: 40px; } }

/* ---------- Cita: frase grande en azul de ATIC entre dos líneas naranjas */
.k-cita blockquote { margin: 0; padding: 40px 0; border: 0; border-top: 3px solid #eab755; border-bottom: 3px solid #eab755; text-align: center; }
.k-cita blockquote p { margin: 0; text-align: center; color: rgba(8, 75, 122, 1); font-family: 'Montserrat', sans-serif; font-weight: 400; font-size: 30px; line-height: 1.4; letter-spacing: 1px; }
.k-cita blockquote .k-cita-autor { margin-top: 15px; text-align: center; color: #6d6d6d; font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; }
.k-cita blockquote .k-cita-autor:before { content: '— '; }
@media (max-width: 640px) { .k-cita blockquote p { font-size: 22px; } }

/* ---------- Tira de 4 fotos: a todo lo ancho, todas del mismo tamaño (recortadas igual) */
.k-tira { padding-left: 0; padding-right: 0; }
.k-tira .block-section { margin-bottom: 20px; }
.k-tira-fotos { display: grid; grid-template-columns: repeat(4, 1fr); }
.k-tira-fotos a { display: block; overflow: hidden; }
.k-tira-fotos img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s; }
.k-tira-fotos a:hover img { transform: scale(1.05); }
@media (max-width: 767px) { .k-tira-fotos { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 1024px) { section.k-tira { padding-left: 0; padding-right: 0; } }

/* ---------- Fotos recientes: todas del mismo tamaño (las verticales se recortan igual que las demás) */
.k-fotos .gallery_product img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- «Foto o vídeo + texto»: el título empieza a la altura de la foto o el vídeo
   (en móvil, uno debajo de otro, se mantiene el espacio de siempre entre los dos) */
@media (min-width: 992px) { .k-media .page-top-text { padding-top: 0; } }

/* ---------- Franja azul de arriba: dos teléfonos (Donosti y Beasain) y el email solo con icono, en amarillo */
.info-contact-top .k-tel-sede { font-weight: 700; }
.info-contact-top .k-mail { color: #eab755; }
.info-contact-top .k-mail:hover, .info-contact-top .k-mail:focus { color: #fff; }
@media (max-width: 529px) {
  .info-contact-top p { text-align: center; line-height: 2; }
  .info-contact-top a { margin-left: 8px; margin-right: 0; }
  .info-contact-top .k-tel { display: inline-block; font-size: 12px; letter-spacing: .5px; }
  .info-contact-top .k-tels { display: block; }   /* teléfonos en una línea; el email, abajo con las redes */
}
