/* Bihotz Aratz - paleta y tipografias compartidas con la Home de Elementor.
   La cabecera y el pie ya no viven aqui: son plantillas globales del
   Theme Builder de Elementor Pro (ver Plantillas > Theme Builder). */
.bihotz-scope {
  --blue: #0B4DA2;
  --blue-dark: #073A7C;
  --yellow: #F5B301;
  --dark: #14181D;
  --red: #C4322F;
  --cream: #F7F6F2;
  --border: #DCD9D2;
  --gray: #7C7669;
  --body: #3E4148;
  --light: #9A948A;
  --white: #FFFFFF;
  --topbar-text: #C9C6BE;
  --footer-border: #2A2E35;
  font-family: Barlow, Helvetica, sans-serif;
  color: var(--dark);
  background: var(--white);
}
.bihotz-scope a { text-decoration: none; }
.bihotz-scope * { box-sizing: border-box; }
.bihotz-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

/* Buttons */
.bihotz-btn { display: inline-block; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 17px; text-transform: uppercase; letter-spacing: 0.04em; padding: 12px 22px; text-align: center; }
.bihotz-btn--filled { background: var(--yellow); color: var(--dark); }
.bihotz-btn--outline { border: 2px solid var(--dark); color: var(--dark); }

/* Eventos: fila estilo lista (widget de Elementor "Proximos eventos") */
.bihotz-events-list { display: flex; flex-direction: column; gap: 14px; }
.bihotz-event-row { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; padding: 20px 24px; border: 1px solid var(--border); }
.bihotz-event-date { background: var(--blue); color: var(--white); text-align: center; padding: 10px 0; width: 110px; flex-shrink: 0; }
.bihotz-event-date .day { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 32px; line-height: 1; }
.bihotz-event-date .month { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; margin-top: 3px; }
.bihotz-event-info { flex: 1; min-width: 220px; }
.bihotz-event-row-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.bihotz-event-row-hora { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.04em; color: var(--gray); }
.bihotz-event-info h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 27px; text-transform: uppercase; line-height: 1.05; margin: 0; }
.bihotz-event-info h3 a { color: var(--dark); }
.bihotz-event-info p { font-size: 15px; color: var(--gray); margin: 4px 0 0; }
.bihotz-event-status { font-size: 15.5px; color: var(--body); width: 200px; }
.bihotz-event-cta { width: 170px; }
.bihotz-event-cta .bihotz-btn { width: 100%; padding: 12px 0; }
.bihotz-event-cta .bihotz-btn--outline { padding: 10px 0; }

.bihotz-events-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; border-bottom: 2px solid var(--dark); padding-bottom: 16px; margin-bottom: 30px; }
.bihotz-events-header h2 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 46px; line-height: 1; margin: 0; text-transform: uppercase; }
.bihotz-events-header a { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 18px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--dark); }
.bihotz-events-empty { color: var(--gray); padding: 30px 4px; }

/* Calendario de eventos: cabecera hero + barra de filtros + grupos por mes */
.bihotz-events-hero-subtitle { font-size: 17px; max-width: 58ch; margin: 0; color: var(--blue-pale, #DCE7F6); }

.bihotz-events-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 18px 4px; border-bottom: 1px solid var(--border); margin-bottom: 36px; }
.bihotz-events-chips { display: flex; gap: 8px; flex-wrap: wrap; }
/* Misma tecnica que en bihotz-noticias: el reset.css de Hello Elementor
   estiliza el <button> bare con una regla de igual especificidad y gana
   por orden de carga si no la superamos escapando via el padre. */
.bihotz-events-chips .bihotz-events-chip {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: 15.5px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 9px 16px;
  cursor: pointer;
  border: 1px solid var(--border);
  background: var(--white);
  color: var(--dark);
}
.bihotz-events-chips .bihotz-events-chip.is-active {
  border-color: var(--chip-color, var(--dark));
  background: var(--chip-color, var(--dark));
  color: var(--white);
}

.bihotz-events-month-group { margin-bottom: 44px; }
.bihotz-events-month-heading { display: flex; align-items: baseline; gap: 14px; border-bottom: 2px solid var(--dark); padding-bottom: 12px; margin-bottom: 20px; }
.bihotz-events-month-heading h2 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 32px; text-transform: uppercase; margin: 0; }
.bihotz-events-month-count { font-family: 'IBM Plex Mono', monospace; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray); }

@media (max-width: 640px) {
  .bihotz-events-toolbar { flex-direction: column; align-items: stretch; }
}

/* Pagina de detalle de evento */
.bihotz-event-hero { position: relative; background: var(--blue); overflow: hidden; }
.bihotz-event-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: repeating-linear-gradient(115deg, rgba(255,255,255,0.06) 0 2px, transparent 2px 26px); }
.bihotz-event-hero::after { content: ""; position: absolute; right: -120px; top: -80px; width: 460px; height: 460px; border: 26px solid rgba(255,255,255,0.08); border-radius: 50%; pointer-events: none; }
.bihotz-event-hero .bihotz-wrap { position: relative; padding-top: 64px; padding-bottom: 56px; }
.bihotz-event-hero-eyebrow { font-family: 'IBM Plex Mono', monospace; font-size: 11.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--yellow); margin-bottom: 16px; }
.bihotz-event-hero h1 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 54px; line-height: 0.98; margin: 0 0 18px; color: var(--white); text-transform: uppercase; letter-spacing: -0.01em; max-width: 20ch; }
.bihotz-event-hero-meta { display: flex; gap: 28px; flex-wrap: wrap; font-size: 16px; color: var(--blue-pale, #DCE7F6); }
.bihotz-event-hero-meta strong { display: block; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px; color: var(--white); text-transform: uppercase; }

.bihotz-event-body { display: grid; grid-template-columns: 1fr 340px; gap: 60px; padding: 64px 0; }
.bihotz-event-content { font-size: 17px; line-height: 1.7; color: var(--body); }
.bihotz-event-content h2, .bihotz-event-content h3 { font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase; color: var(--dark); }

.bihotz-event-sidebar { display: flex; flex-direction: column; gap: 16px; }
.bihotz-event-info-card { border: 1px solid var(--border); background: var(--cream); padding: 22px; display: flex; flex-direction: column; gap: 14px; }
.bihotz-event-info-item .label { font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray); }
.bihotz-event-info-item .value { font-size: 16px; color: var(--dark); margin-top: 3px; }
.bihotz-event-info-item .value a { color: var(--blue); }
.bihotz-event-sidebar .bihotz-btn { width: 100%; padding: 15px 0; font-size: 18px; }

.bihotz-event-shortcode-section { margin-top: 8px; border: 1px solid var(--border); padding: 22px; background: var(--white); }
.bihotz-event-shortcode-section .label { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gray); margin-bottom: 14px; }

.bihotz-event-badge { display: inline-block; font-family: 'IBM Plex Mono', monospace; font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 10px; color: var(--white); }
.bihotz-event-back { display: inline-block; margin-bottom: 22px; font-size: 14.5px; color: var(--gray); }

@media (max-width: 900px) {
  .bihotz-event-body { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bihotz-event-hero h1 { font-size: 38px; }
}
