:root{--adivi-primary:#7A1E2C}.adivi-skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.adivi-skip-link:focus{left:16px;top:16px;width:auto;height:auto;z-index:999999;background:#fff;color:#111;padding:10px 14px;border:2px solid #111;border-radius:8px}.adivi-agenda{width:100%;--adivi-radius:22px}.adivi-agenda-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.adivi-event-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--adivi-radius);overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.08);transition:transform .25s ease,box-shadow .25s ease}.adivi-event-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(0,0,0,.12)}.adivi-event-datebox{background:var(--adivi-primary);color:#fff;padding:18px 20px;display:grid;gap:3px;text-align:left}.adivi-day{font-size:1rem;font-weight:800;text-transform:capitalize;letter-spacing:.02em}.adivi-date{font-size:1.25rem;font-weight:900;line-height:1.2}.adivi-time{font-size:.95rem;font-weight:700;opacity:.95}.adivi-image{display:block;aspect-ratio:16/9;background:#eee;overflow:hidden}.adivi-image img{width:100%;height:100%;object-fit:cover;display:block}.adivi-event-body{padding:22px}.adivi-event-body h3{font-size:1.35rem;line-height:1.2;margin:0 0 8px}.adivi-event-body h3 a{color:#171717;text-decoration:none}.adivi-event-body h3 a:hover{text-decoration:underline}.adivi-subtitle{font-size:1rem;font-weight:700;color:#555;margin:0 0 10px}.adivi-place{margin:0 0 12px;font-weight:700}.adivi-description{color:#444}.adivi-actions,.adivi-calendars,.adivi-share{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.adivi-btn,.adivi-calendar-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--adivi-primary);color:#fff!important;text-decoration:none;font-weight:800;border:2px solid var(--adivi-primary);line-height:1}.adivi-btn-light,.adivi-calendar-btn{background:#fff;color:var(--adivi-primary)!important}.adivi-btn:focus-visible,.adivi-calendar-btn:focus-visible,.adivi-share-btn:focus-visible,.adivi-accessibility button:focus-visible{outline:3px solid #111;outline-offset:3px}.adivi-share{margin:24px 0}.adivi-share-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--adivi-primary);color:#fff;text-decoration:none;border:0;font-weight:900;font-size:1rem;cursor:pointer}.adivi-share-linkedin span{font-size:.9rem}.adivi-share-email{font-size:1.15rem}.adivi-live{min-width:120px;font-weight:700}.adivi-calendars{margin:22px 0}.adivi-single{max-width:1100px;margin:0 auto;padding:24px}.adivi-single-hero{border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 20px 55px rgba(0,0,0,.10);margin-bottom:28px}.adivi-single-content{padding:26px}.adivi-single-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 10px}.adivi-event-links{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.adivi-empty{padding:24px;background:#f7f7f7;border-radius:16px}.adivi-accessibility{position:fixed;right:16px;bottom:16px;z-index:99998;display:flex;gap:6px;flex-wrap:wrap;max-width:280px;background:#fff;border:1px solid rgba(0,0,0,.15);box-shadow:0 16px 44px rgba(0,0,0,.16);border-radius:18px;padding:10px}.adivi-accessibility button{border:1px solid #222;background:#fff;color:#111;border-radius:999px;padding:8px 10px;font-weight:800;cursor:pointer}.adivi-a11y-large{font-size:112%}.adivi-a11y-small{font-size:94%}.adivi-a11y-contrast{filter:contrast(135%)}.adivi-a11y-grayscale{filter:grayscale(100%)}.adivi-a11y-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media (prefers-reduced-motion:reduce){.adivi-event-card{transition:none}.adivi-event-card:hover{transform:none}}@media (max-width:600px){.adivi-single{padding:14px}.adivi-event-body{padding:18px}.adivi-accessibility{left:10px;right:10px;bottom:10px;max-width:none;justify-content:center}.adivi-agenda-grid{grid-template-columns:1fr}}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}


/* Ajustes 2026: fecha a la izquierda, tipografia ampliada y botones Divi */
.adivi-event-card{display:grid;grid-template-columns:minmax(175px,220px) 1fr;align-items:stretch}
.adivi-event-card .adivi-event-datebox{grid-column:1;grid-row:1 / span 2;border-radius:var(--adivi-radius) 0 0 var(--adivi-radius);min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:28px 24px}
.adivi-event-card .adivi-image,.adivi-event-card .adivi-event-body{grid-column:2}
.adivi-event-datebox.adivi-datebox-large,.adivi-event-card .adivi-event-datebox{font-size:1.2rem}
.adivi-day{font-size:clamp(1.25rem,1.4vw,1.65rem);font-weight:900}
.adivi-date{font-size:clamp(1.65rem,2vw,2.25rem);font-weight:950;letter-spacing:-.02em}
.adivi-time{font-size:clamp(1.15rem,1.35vw,1.55rem);font-weight:900}
.adivi-event-body h3{font-size:clamp(1.75rem,2vw,2.35rem);line-height:1.12}
.adivi-subtitle{font-size:clamp(1.25rem,1.45vw,1.65rem);line-height:1.25;color:#333}
.adivi-btn,.adivi-calendar-btn{font-size:1.05rem;padding:14px 20px;box-shadow:0 10px 24px rgba(122,30,44,.18)}
.adivi-btn-access{text-transform:none;letter-spacing:.01em}
.adivi-share{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:26px 0}
.adivi-share-btn{width:52px;height:52px;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.adivi-share-icon svg{width:24px;height:24px;display:block;fill:currentColor}
.adivi-share-whatsapp{background:#25D366!important}.adivi-share-telegram{background:#229ED9!important}.adivi-share-linkedin{background:#0A66C2!important}.adivi-share-facebook{background:#1877F2!important}.adivi-share-x{background:#000!important}.adivi-share-email{background:#555!important}.adivi-copy{background:var(--adivi-primary)!important}
.adivi-single-top{display:grid;grid-template-columns:minmax(235px,310px) 1fr;align-items:stretch;background:#fff}
.adivi-single-top .adivi-event-datebox{border-radius:0 0 28px 0;min-height:230px;padding:34px 28px;justify-content:center}
.adivi-single-heading{display:flex;flex-direction:column;justify-content:center}
.adivi-single-title{font-size:clamp(2.7rem,5vw,5.2rem);letter-spacing:-.035em}
.adivi-single .adivi-subtitle{font-size:clamp(1.45rem,2.1vw,2.2rem);font-weight:800}
.adivi-divi-shortcode-zone{margin-top:28px;padding-top:10px}
@media (max-width:760px){.adivi-event-card{display:block}.adivi-event-card .adivi-event-datebox{border-radius:var(--adivi-radius) var(--adivi-radius) 0 0;min-height:auto}.adivi-single-top{display:block}.adivi-single-top .adivi-event-datebox{border-radius:0;min-height:auto}.adivi-single-title{font-size:clamp(2.2rem,11vw,3.4rem)}.adivi-btn,.adivi-calendar-btn{width:100%}.adivi-share-btn{width:50px;height:50px}}

/* Ajuste solicitado: en la zona compatible con Divi solo quedan compartir, calendario y accesibilidad */
.adivi-single-minimal{max-width:1180px}
.adivi-single-minimal .adivi-single-hero{box-shadow:none;border-radius:0;background:transparent;overflow:visible}
.adivi-single-minimal .entry-content{padding:0}
.adivi-divi-controls-panel{margin:34px 0 12px;padding:30px;border:2px solid rgba(122,30,44,.18);border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.10)}
.adivi-controls-title{font-size:clamp(2rem,3vw,3rem);line-height:1.08;margin:0 0 24px;color:#222;letter-spacing:-.025em}
.adivi-control-block{margin:0 0 26px;padding:22px;border-radius:22px;background:#faf7f8;border:1px solid rgba(122,30,44,.13)}
.adivi-control-block:last-child{margin-bottom:0}
.adivi-control-block h3{font-size:clamp(1.35rem,1.8vw,1.8rem);margin:0 0 16px;color:var(--adivi-primary);font-weight:900}
.adivi-divi-controls-panel .adivi-share{margin:0;gap:14px}
.adivi-divi-controls-panel .adivi-share-btn{width:64px;height:64px;font-size:1.25rem;box-shadow:0 14px 32px rgba(0,0,0,.16);transition:transform .18s ease,box-shadow .18s ease}
.adivi-divi-controls-panel .adivi-share-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(0,0,0,.22)}
.adivi-divi-controls-panel .adivi-share-icon svg{width:30px;height:30px}
.adivi-divi-controls-panel .adivi-calendars{margin:0;gap:14px}
.adivi-divi-controls-panel .adivi-calendar-btn{font-size:1.12rem;padding:15px 22px;border-width:2px;background:#fff;color:var(--adivi-primary)!important}
.adivi-divi-controls-panel .adivi-calendar-btn:hover{background:var(--adivi-primary);color:#fff!important}
.adivi-accessibility-inline{position:static!important;right:auto!important;bottom:auto!important;left:auto!important;max-width:none!important;width:100%;display:flex!important;gap:12px!important;justify-content:flex-start;align-items:center;box-shadow:none!important;border:0!important;background:transparent!important;padding:0!important}
.adivi-accessibility-inline button{font-size:1.08rem!important;padding:13px 18px!important;border:2px solid var(--adivi-primary)!important;color:var(--adivi-primary)!important;background:#fff!important;box-shadow:0 10px 24px rgba(122,30,44,.12);transition:background .18s ease,color .18s ease,transform .18s ease}
.adivi-accessibility-inline button:hover,.adivi-accessibility-inline button[aria-pressed="true"]{background:var(--adivi-primary)!important;color:#fff!important;transform:translateY(-1px)}
@media (max-width:760px){.adivi-divi-controls-panel{padding:20px;border-radius:22px}.adivi-control-block{padding:18px}.adivi-divi-controls-panel .adivi-share-btn{width:58px;height:58px}.adivi-accessibility-inline button{width:100%;justify-content:center}.adivi-accessibility-inline{display:grid!important;grid-template-columns:1fr 1fr}.adivi-accessibility-inline button:nth-child(n+3){grid-column:1/-1}}

/* Ajuste solicitado: fecha lateral a caja completa, Arial y mayor legibilidad */
.adivi-agenda,
.adivi-event-card,
.adivi-event-card * {
  font-family: Arial, Helvetica, sans-serif !important;
}
.adivi-event-card {
  grid-template-columns: minmax(410px, 460px) minmax(0, 1fr) !important;
  align-items: stretch !important;
}
.adivi-event-card .adivi-event-datebox {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
  padding: 38px 42px !important;
  align-self: stretch !important;
  justify-content: center !important;
  gap: 12px !important;
  line-height: 1.08 !important;
}
.adivi-event-card .adivi-day {
  display: block !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(1.65rem, 2.1vw, 2.25rem) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
.adivi-event-card .adivi-date {
  display: block !important;
  width: 100% !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(2.05rem, 2.35vw, 2.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
  white-space: nowrap !important;
}
.adivi-event-card .adivi-time {
  display: block !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(1.75rem, 2.2vw, 2.45rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
.adivi-event-card .adivi-event-body,
.adivi-event-card .adivi-image {
  min-width: 0 !important;
}
@media (max-width: 900px) {
  .adivi-event-card {
    grid-template-columns: minmax(340px, 390px) minmax(0, 1fr) !important;
  }
  .adivi-event-card .adivi-event-datebox {
    padding: 30px 24px !important;
  }
  .adivi-event-card .adivi-date {
    font-size: clamp(1.75rem, 3.4vw, 2.25rem) !important;
  }
}
@media (max-width: 760px) {
  .adivi-event-card {
    display: block !important;
  }
  .adivi-event-card .adivi-event-datebox {
    min-height: 220px !important;
    border-radius: var(--adivi-radius) var(--adivi-radius) 0 0 !important;
  }
  .adivi-event-card .adivi-day,
  .adivi-event-card .adivi-date,
  .adivi-event-card .adivi-time {
    white-space: normal !important;
  }
}


/* Corrección: evitar corte del año en la fecha lateral */
.adivi-event-card .adivi-datebox,
.adivi-event-card .adivi-date {
  overflow: visible !important;
}
.adivi-event-card .adivi-date {
  max-width: 100% !important;
  text-overflow: clip !important;
}
@media (min-width: 1200px) {
  .adivi-event-card {
    grid-template-columns: minmax(430px, 480px) minmax(0, 1fr) !important;
  }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .adivi-event-card {
    grid-template-columns: minmax(360px, 410px) minmax(0, 1fr) !important;
  }
  .adivi-event-card .adivi-date {
    font-size: clamp(1.8rem, 2.4vw, 2.2rem) !important;
  }
}

/* Actualización: zona Divi sin formato de caja, Arial y controles reforzados */
.adivi-single,
.adivi-single *,
.adivi-divi-controls-panel,
.adivi-divi-controls-panel *{
  font-family: Arial, Helvetica, sans-serif !important;
}
.adivi-divi-controls-panel{
  margin: 32px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.adivi-controls-title{
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(2rem, 3.4vw, 3.4rem) !important;
  font-weight: 900 !important;
  margin: 0 0 22px !important;
  color: #111 !important;
}
.adivi-control-block{
  margin: 0 0 30px !important;
  padding: 0 0 26px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(122,30,44,.22) !important;
}
.adivi-control-block:last-child{
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.adivi-control-block h3{
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  font-weight: 900 !important;
  color: var(--adivi-primary) !important;
  margin: 0 0 18px !important;
}
.adivi-divi-controls-panel .adivi-share-btn{
  width: 62px !important;
  height: 62px !important;
}
.adivi-divi-controls-panel .adivi-share-icon svg{
  width: 30px !important;
  height: 30px !important;
}
.adivi-share-pinterest{background:#E60023!important}.adivi-share-reddit{background:#FF4500!important}.adivi-share-bluesky{background:#1185FE!important}.adivi-share-mastodon{background:#6364FF!important}
.adivi-accessibility-inline{
  position: static !important;
  max-width: none !important;
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.adivi-accessibility-inline button{
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  min-height: 54px !important;
  padding: 14px 20px !important;
  border: 2px solid var(--adivi-primary) !important;
  color: var(--adivi-primary) !important;
  background: #fff !important;
  border-radius: 999px !important;
}
.adivi-accessibility-inline button:hover,
.adivi-accessibility-inline button[aria-pressed="true"]{
  background: var(--adivi-primary) !important;
  color: #fff !important;
}
.adivi-translate{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.adivi-translate-label{
  font-weight:900;
  font-size:1.15rem;
  color:#111;
  margin-right:4px;
}
.adivi-translate-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 18px;
  border-radius:999px;
  border:2px solid var(--adivi-primary);
  color:var(--adivi-primary)!important;
  background:#fff;
  text-decoration:none!important;
  font-weight:900;
  line-height:1;
}
.adivi-translate-btn:hover,
.adivi-translate-btn:focus-visible{
  background:var(--adivi-primary);
  color:#fff!important;
}
.adivi-a11y-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:.18em!important}
.adivi-a11y-cursor, .adivi-a11y-cursor *{cursor:zoom-in!important}
.adivi-a11y-readable body{line-height:1.75!important;letter-spacing:.02em!important;word-spacing:.08em!important}
@media (max-width:760px){
  .adivi-divi-controls-panel .adivi-share-btn{width:58px!important;height:58px!important}
  .adivi-accessibility-inline{display:grid!important;grid-template-columns:1fr!important}
  .adivi-accessibility-inline button,.adivi-translate-btn{width:100%!important}
  .adivi-translate-label{width:100%}
}

/* Actualización: tres redes sociales adicionales, accesibilidad ampliada e idioma no cooficial */
.adivi-share-threads{background:#000!important}
.adivi-share-tumblr{background:#36465D!important}
.adivi-share-pocket{background:#EF4056!important}
.adivi-a11y-spacing body,
.adivi-a11y-spacing p,
.adivi-a11y-spacing li,
.adivi-a11y-spacing .entry-content{
  line-height:1.95!important;
  letter-spacing:.045em!important;
  word-spacing:.14em!important;
}
.adivi-reading-guide{
  position:fixed;
  left:0;
  width:100vw;
  height:42px;
  background:rgba(122,30,44,.18);
  border-top:2px solid rgba(122,30,44,.55);
  border-bottom:2px solid rgba(122,30,44,.55);
  pointer-events:none;
  z-index:999999;
  box-shadow:0 0 0 9999px rgba(255,255,255,.10);
}
.adivi-accessibility-inline button[data-adivi-a11y="spacing"],
.adivi-accessibility-inline button[data-adivi-a11y="guide"]{
  min-width:170px;
}

/* Ajuste para listados con 5 eventos por fila: tarjeta compacta sin cortes */
.adivi-agenda-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.adivi-agenda .adivi-event-card,
.adivi-event-card{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  border-radius:18px !important;
  overflow:hidden !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-event-card .adivi-event-datebox{
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:152px !important;
  border-radius:18px 18px 0 0 !important;
  padding:22px 18px !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:8px !important;
  overflow:visible !important;
}
.adivi-event-card .adivi-day{
  font-size:clamp(1.25rem,1.35vw,1.7rem) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.adivi-event-card .adivi-date{
  font-size:clamp(1.55rem,1.65vw,2rem) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
  max-width:100% !important;
  overflow:visible !important;
}
.adivi-event-card .adivi-time{
  font-size:clamp(1.35rem,1.45vw,1.8rem) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.adivi-event-card .adivi-image{
  grid-column:auto !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  min-height:0 !important;
}
.adivi-event-card .adivi-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.adivi-event-card .adivi-event-body{
  grid-column:auto !important;
  min-width:0 !important;
  padding:18px 16px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
}
.adivi-event-card .adivi-event-body h3{
  font-size:clamp(1.35rem,1.55vw,1.85rem) !important;
  line-height:1.08 !important;
  margin:0 0 12px !important;
  letter-spacing:-.02em !important;
  overflow-wrap:anywhere !important;
  hyphens:auto !important;
}
.adivi-event-card .adivi-subtitle,
.adivi-event-card .adivi-place,
.adivi-event-card .adivi-description{
  font-size:clamp(1rem,1.05vw,1.22rem) !important;
  line-height:1.2 !important;
  overflow-wrap:anywhere !important;
}
.adivi-event-card .adivi-actions{
  margin-top:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px !important;
}
.adivi-event-card .adivi-btn,
.adivi-event-card .adivi-calendar-btn{
  width:100% !important;
  min-height:46px !important;
  padding:10px 12px !important;
  font-size:clamp(.9rem,.95vw,1.05rem) !important;
  line-height:1.1 !important;
  text-align:center !important;
  white-space:normal !important;
}
@media (max-width:1400px){.adivi-agenda-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}}
@media (max-width:1100px){.adivi-agenda-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width:820px){.adivi-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.adivi-event-card .adivi-event-datebox{min-height:135px!important}}
@media (max-width:560px){.adivi-agenda-grid{grid-template-columns:1fr !important}.adivi-event-card .adivi-event-datebox{min-height:auto!important}.adivi-event-card .adivi-day,.adivi-event-card .adivi-date,.adivi-event-card .adivi-time{white-space:normal!important}}

/* Corrección responsive: texto centrado en tarjetas de agenda */
.adivi-agenda .adivi-event-card,
.adivi-agenda .adivi-event-card *{
  box-sizing:border-box !important;
}
.adivi-agenda .adivi-event-datebox,
.adivi-agenda .adivi-event-body,
.adivi-agenda .adivi-event-body h3,
.adivi-agenda .adivi-event-body h3 a,
.adivi-agenda .adivi-subtitle,
.adivi-agenda .adivi-place,
.adivi-agenda .adivi-description{
  text-align:center !important;
}
.adivi-agenda .adivi-event-datebox{
  align-items:center !important;
  justify-content:center !important;
  padding-left:14px !important;
  padding-right:14px !important;
}
.adivi-agenda .adivi-day,
.adivi-agenda .adivi-date,
.adivi-agenda .adivi-time{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.adivi-agenda .adivi-event-body{
  align-items:center !important;
}
.adivi-agenda .adivi-event-body h3{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.adivi-agenda .adivi-actions{
  width:100% !important;
  align-items:center !important;
}
.adivi-agenda .adivi-actions .adivi-btn,
.adivi-agenda .adivi-actions .adivi-calendar-btn{
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
@media (min-width:1501px){
  .adivi-agenda-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}
@media (max-width:1500px) and (min-width:1201px){
  .adivi-agenda-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
}
@media (max-width:1200px) and (min-width:901px){
  .adivi-agenda-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:900px) and (min-width:601px){
  .adivi-agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:600px){
  .adivi-agenda-grid{grid-template-columns:1fr !important;gap:16px !important;}
  .adivi-agenda .adivi-event-datebox{min-height:auto !important;padding:20px 16px !important;}
  .adivi-agenda .adivi-event-card .adivi-date{font-size:clamp(1.45rem,7vw,2rem) !important;white-space:normal !important;letter-spacing:-.035em !important;}
  .adivi-agenda .adivi-event-body h3{font-size:clamp(1.35rem,8vw,2rem) !important;}
}

/* Botón destacado para descargar invitación */
.adivi-invitation-wrap{
  margin:0 0 30px!important;
  padding:0 0 28px!important;
  border-bottom:1px solid rgba(122,30,44,.22)!important;
  text-align:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.adivi-invitation-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:68px!important;
  padding:20px 34px!important;
  border-radius:999px!important;
  border:3px solid var(--adivi-primary)!important;
  background:var(--adivi-primary)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(1.15rem,1.7vw,1.55rem)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
  box-shadow:0 18px 42px rgba(122,30,44,.28)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease!important;
}
.adivi-invitation-btn:hover,
.adivi-invitation-btn:focus-visible{
  transform:translateY(-2px)!important;
  box-shadow:0 24px 58px rgba(122,30,44,.38)!important;
  background:#fff!important;
  color:var(--adivi-primary)!important;
  outline:3px solid rgba(122,30,44,.28)!important;
  outline-offset:4px!important;
}
.adivi-invitation-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.18)!important;
  color:inherit!important;
  font-size:1.2em!important;
  line-height:1!important;
}
.adivi-invitation-btn:hover .adivi-invitation-icon,
.adivi-invitation-btn:focus-visible .adivi-invitation-icon{
  background:rgba(122,30,44,.10)!important;
}
@media(max-width:760px){.adivi-invitation-btn{width:100%!important;min-height:64px!important;padding:18px 22px!important}.adivi-invitation-wrap{text-align:center!important}}


/* Actualización: archivo por curso, vistas ficha/lista, fecha blanca y mayor imagen */
.adivi-agenda,
.adivi-agenda *{
  font-family: Arial, Helvetica, sans-serif !important;
}
.adivi-agenda-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
}
.adivi-view-ficha .adivi-event-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  text-align:center !important;
  grid-template-columns:none !important;
  border-radius:24px !important;
  overflow:hidden !important;
}
.adivi-view-ficha .adivi-event-card .adivi-event-datebox,
.adivi-event-card .adivi-event-datebox{
  background:#fff !important;
  color:var(--adivi-primary) !important;
  border-bottom:3px solid var(--adivi-primary) !important;
  border-radius:0 !important;
  min-height:auto !important;
  height:auto !important;
  width:100% !important;
  padding:18px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:5px !important;
  line-height:1.08 !important;
  grid-column:auto !important;
  grid-row:auto !important;
}
.adivi-event-card .adivi-day,
.adivi-event-card .adivi-date,
.adivi-event-card .adivi-time{
  color:var(--adivi-primary) !important;
  font-family:Arial, Helvetica, sans-serif !important;
  white-space:normal !important;
  letter-spacing:0 !important;
}
.adivi-event-card .adivi-day{font-size:clamp(1.08rem,1.5vw,1.32rem) !important;font-weight:900 !important;text-transform:capitalize !important;}
.adivi-event-card .adivi-date{font-size:clamp(1.36rem,1.9vw,1.76rem) !important;font-weight:900 !important;}
.adivi-event-card .adivi-time{font-size:clamp(1.22rem,1.7vw,1.55rem) !important;font-weight:900 !important;}
.adivi-view-ficha .adivi-event-card .adivi-image,
.adivi-event-card .adivi-image{
  display:block !important;
  width:100% !important;
  aspect-ratio:4/3 !important;
  min-height:220px !important;
  max-height:none !important;
  background:#f2f2f2 !important;
  grid-column:auto !important;
}
.adivi-view-ficha .adivi-event-card .adivi-image img,
.adivi-event-card .adivi-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}
.adivi-view-ficha .adivi-event-body,
.adivi-event-card .adivi-event-body{
  grid-column:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  padding:22px 18px 24px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.adivi-view-ficha .adivi-event-body h3,
.adivi-event-card .adivi-event-body h3{
  font-size:clamp(1.22rem,1.55vw,1.55rem) !important;
  line-height:1.15 !important;
  margin:0 0 10px !important;
}
.adivi-view-ficha .adivi-subtitle,
.adivi-event-card .adivi-subtitle{
  font-size:clamp(1rem,1.2vw,1.16rem) !important;
  line-height:1.28 !important;
}
.adivi-view-ficha .adivi-actions,
.adivi-event-card .adivi-actions{
  justify-content:center !important;
  margin-top:auto !important;
}

.adivi-agenda-list{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  width:100% !important;
}
.adivi-event-list-item{
  display:grid !important;
  grid-template-columns:minmax(170px,220px) minmax(0,1fr) 160px !important;
  gap:18px !important;
  align-items:center !important;
  padding:14px !important;
  border:1px solid rgba(122,30,44,.16) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
}
.adivi-list-date{
  background:#fff !important;
  color:var(--adivi-primary) !important;
  border:2px solid var(--adivi-primary) !important;
  border-radius:14px !important;
  padding:14px 12px !important;
  text-align:center !important;
  font-weight:900 !important;
  line-height:1.15 !important;
}
.adivi-list-date span{display:block !important;font-size:1.05rem !important;}
.adivi-list-date small{display:block !important;margin-top:4px !important;font-size:1rem !important;color:var(--adivi-primary) !important;}
.adivi-list-title{
  color:#151515 !important;
  font-size:clamp(1.15rem,1.7vw,1.55rem) !important;
  font-weight:900 !important;
  line-height:1.18 !important;
  text-decoration:none !important;
}
.adivi-list-title:hover,
.adivi-list-title:focus-visible{text-decoration:underline !important;}
.adivi-list-image{
  display:block !important;
  width:160px !important;
  aspect-ratio:4/3 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#eee !important;
}
.adivi-list-image img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
@media (min-width:1200px){
  .adivi-view-ficha .adivi-event-card .adivi-image,
  .adivi-event-card .adivi-image{min-height:250px !important;}
}
@media (max-width:900px){
  .adivi-event-list-item{grid-template-columns:minmax(150px,190px) minmax(0,1fr) 130px !important;}
  .adivi-list-image{width:130px !important;}
}
@media (max-width:640px){
  .adivi-agenda-grid{grid-template-columns:1fr !important;}
  .adivi-event-list-item{grid-template-columns:1fr !important;text-align:center !important;justify-items:center !important;}
  .adivi-list-date{width:100% !important;box-sizing:border-box !important;}
  .adivi-list-image{width:100% !important;max-width:360px !important;}
}

/* Ajustes solicitados: invitación, vistas ficha/lista y calendario mensual */
.adivi-agenda .adivi-event-card .adivi-event-datebox,
.adivi-event-card .adivi-event-datebox{
  background:#fff !important;
  color:var(--adivi-primary) !important;
  border-bottom:3px solid var(--adivi-primary) !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-agenda .adivi-event-card .adivi-day,
.adivi-agenda .adivi-event-card .adivi-date,
.adivi-agenda .adivi-event-card .adivi-time{
  color:var(--adivi-primary) !important;
}
.adivi-event-card .adivi-image{
  aspect-ratio:4/3 !important;
  min-height:220px !important;
}
.adivi-event-card .adivi-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.adivi-invitation-wrap{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:14px !important;
  margin:28px 0 26px !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-invitation-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:58px !important;
  padding:17px 28px !important;
  border-radius:999px !important;
  border:3px solid var(--adivi-primary) !important;
  background:var(--adivi-primary) !important;
  color:#fff !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:1.08rem !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:0 16px 32px rgba(122,30,44,.28) !important;
}
.adivi-invitation-open{
  background:#fff !important;
  color:var(--adivi-primary) !important;
}
.adivi-invitation-btn:hover,
.adivi-invitation-btn:focus-visible{
  transform:translateY(-2px) !important;
  box-shadow:0 20px 42px rgba(122,30,44,.34) !important;
  outline:3px solid rgba(122,30,44,.3) !important;
  outline-offset:3px !important;
}
.adivi-invitation-icon{
  font-size:1.25em !important;
  line-height:1 !important;
}
@media(max-width:760px){
  .adivi-invitation-btn{width:100% !important;}
}

/* Vista lista: fecha, título e imagen */
.adivi-view-lista .adivi-agenda-list,
.adivi-agenda-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:16px !important;
  width:100% !important;
  max-width:1100px !important;
  margin:0 auto !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-event-list-item{
  display:grid !important;
  grid-template-columns:minmax(150px,190px) minmax(0,1fr) minmax(160px,240px) !important;
  gap:18px !important;
  align-items:center !important;
  padding:14px !important;
  background:#fff !important;
  border:1px solid rgba(122,30,44,.16) !important;
  border-radius:18px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.07) !important;
}
.adivi-list-date{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  min-height:84px !important;
  padding:12px !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--adivi-primary) !important;
  border:2px solid var(--adivi-primary) !important;
  text-align:center !important;
  font-weight:900 !important;
}
.adivi-list-date span{font-size:1.05rem !important;line-height:1.1 !important;}
.adivi-list-date small{font-size:1rem !important;margin-top:4px !important;}
.adivi-list-title{
  color:#111 !important;
  text-decoration:none !important;
  font-size:clamp(1.25rem,2vw,1.7rem) !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-align:left !important;
}
.adivi-list-title:hover{text-decoration:underline !important;}
.adivi-list-image{
  display:block !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  overflow:hidden !important;
  border-radius:14px !important;
  background:#eee !important;
}
.adivi-list-image img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}
@media(max-width:760px){
  .adivi-event-list-item{grid-template-columns:1fr !important;text-align:center !important;}
  .adivi-list-title{text-align:center !important;}
  .adivi-list-image{max-width:420px !important;margin:0 auto !important;}
}

/* Calendario mensual de actos */
.adivi-event-calendar{
  width:100% !important;
  max-width:1120px !important;
  margin:32px auto !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-event-calendar-title{
  text-align:center !important;
  color:var(--adivi-primary) !important;
  font-size:clamp(1.8rem,3vw,2.6rem) !important;
  font-weight:900 !important;
  margin:0 0 18px !important;
}
.adivi-calendar-weekdays,
.adivi-calendar-grid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:8px !important;
}
.adivi-calendar-weekdays span{
  text-align:center !important;
  font-weight:900 !important;
  color:var(--adivi-primary) !important;
  padding:8px 4px !important;
}
.adivi-calendar-day{
  position:relative !important;
  min-height:88px !important;
  border-radius:16px !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,.10) !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  padding:10px !important;
  box-shadow:0 8px 18px rgba(0,0,0,.05) !important;
}
.adivi-calendar-empty{visibility:hidden !important;}
.adivi-calendar-number{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  font-weight:900 !important;
  color:#333 !important;
}
.adivi-calendar-day.has-event{
  background:var(--adivi-primary) !important;
  border-color:var(--adivi-primary) !important;
  cursor:pointer !important;
}
.adivi-calendar-day.has-event .adivi-calendar-number{
  background:#fff !important;
  color:var(--adivi-primary) !important;
}
.adivi-calendar-day.has-event.is-past-event{
  background:#F2C94C !important;
  border-color:#D5A800 !important;
}
.adivi-calendar-day.has-event.is-past-event .adivi-calendar-number{
  color:#5a4300 !important;
}
.adivi-calendar-popover{
  position:absolute !important;
  left:50% !important;
  bottom:calc(100% + 10px) !important;
  transform:translateX(-50%) translateY(8px) !important;
  width:min(280px,80vw) !important;
  background:#fff !important;
  color:#111 !important;
  border:2px solid var(--adivi-primary) !important;
  border-radius:16px !important;
  padding:12px !important;
  box-shadow:0 18px 38px rgba(0,0,0,.18) !important;
  z-index:30 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .18s ease, transform .18s ease !important;
}
.adivi-calendar-popover:after{
  content:"" !important;
  position:absolute !important;
  top:100% !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  border:9px solid transparent !important;
  border-top-color:var(--adivi-primary) !important;
}
.adivi-calendar-day.has-event:hover .adivi-calendar-popover,
.adivi-calendar-day.has-event:focus .adivi-calendar-popover,
.adivi-calendar-day.has-event:focus-within .adivi-calendar-popover{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateX(-50%) translateY(0) !important;
  pointer-events:auto !important;
}
.adivi-calendar-popover a{
  display:block !important;
  color:#111 !important;
  text-decoration:none !important;
  padding:8px !important;
  border-radius:10px !important;
}
.adivi-calendar-popover a:hover,
.adivi-calendar-popover a:focus-visible{
  background:rgba(122,30,44,.08) !important;
}
.adivi-calendar-popover strong{display:block !important;line-height:1.15 !important;}
.adivi-calendar-popover small{display:block !important;margin-top:4px !important;color:#555 !important;font-weight:800 !important;}
@media(max-width:760px){
  .adivi-calendar-weekdays span{font-size:.72rem !important;}
  .adivi-calendar-day{min-height:58px !important;padding:6px !important;border-radius:12px !important;}
  .adivi-calendar-number{width:28px !important;height:28px !important;font-size:.9rem !important;}
}


/* Refuerzo visual del calendario mensual */
.adivi-event-calendar,.adivi-event-calendar *{box-sizing:border-box;font-family:Arial, Helvetica, sans-serif !important;}
.adivi-event-calendar{width:100% !important;max-width:980px !important;margin:32px auto !important;padding:18px !important;border-radius:24px !important;background:#fff !important;box-shadow:0 18px 40px rgba(0,0,0,.08) !important;}
.adivi-event-calendar-title{display:block !important;width:max-content !important;max-width:100% !important;margin:0 auto 18px !important;padding:8px 28px !important;border-radius:999px !important;background:#6EC1E4 !important;color:#fff !important;text-transform:lowercase !important;font-size:1.35rem !important;font-weight:900 !important;line-height:1.1 !important;}
.adivi-calendar-weekdays,.adivi-calendar-grid{display:grid !important;grid-template-columns:repeat(7,minmax(0,1fr)) !important;gap:8px !important;}
.adivi-calendar-weekdays{margin-bottom:8px !important;}
.adivi-calendar-weekdays span{display:flex !important;align-items:center !important;justify-content:center !important;min-height:42px !important;padding:8px 4px !important;border-radius:12px !important;background:#f6f6f6 !important;color:#444 !important;font-size:.95rem !important;font-weight:800 !important;text-align:center !important;}
.adivi-calendar-day{position:relative !important;min-height:86px !important;padding:8px !important;border-radius:16px !important;background:#fff !important;border:1px solid #e3e3e3 !important;display:flex !important;align-items:flex-start !important;justify-content:flex-end !important;box-shadow:0 8px 16px rgba(0,0,0,.05) !important;}
.adivi-calendar-empty{visibility:hidden !important;min-height:86px !important;}
.adivi-calendar-number{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:34px !important;height:34px !important;border-radius:50% !important;font-size:1rem !important;line-height:1 !important;font-weight:900 !important;color:#333 !important;background:transparent !important;}
.adivi-calendar-day.has-event{background:var(--adivi-primary) !important;border-color:var(--adivi-primary) !important;cursor:pointer !important;}
.adivi-calendar-day.has-event .adivi-calendar-number{background:#fff !important;color:var(--adivi-primary) !important;}
.adivi-calendar-day.has-event.is-past-event{background:#F2C94C !important;border-color:#D5A800 !important;}
.adivi-calendar-day.has-event.is-past-event .adivi-calendar-number{color:#7a1e2c !important;background:#fffbe8 !important;}
@media(max-width:760px){.adivi-event-calendar{padding:12px !important;border-radius:18px !important;}.adivi-event-calendar-title{font-size:1.1rem !important;padding:8px 18px !important;}.adivi-calendar-weekdays,.adivi-calendar-grid{gap:5px !important;}.adivi-calendar-weekdays span{min-height:34px !important;font-size:.7rem !important;padding:4px 2px !important;}.adivi-calendar-day{min-height:54px !important;padding:5px !important;border-radius:10px !important;}.adivi-calendar-empty{min-height:54px !important;}.adivi-calendar-number{width:26px !important;height:26px !important;font-size:.86rem !important;}.adivi-calendar-popover{width:min(220px,84vw) !important;}}


/* Calendario dinámico por rango de meses */
.adivi-calendar-range,.adivi-calendar-range *{box-sizing:border-box;font-family:Arial, Helvetica, sans-serif !important;}
.adivi-calendar-range{width:100% !important;max-width:1180px !important;margin:32px auto !important;}
.adivi-calendar-range-heading{text-align:center !important;color:var(--adivi-primary,#7A1E2C) !important;font-size:clamp(2rem,4vw,3rem) !important;font-weight:900 !important;margin:0 0 28px !important;}
.adivi-calendar-months{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(320px,1fr)) !important;gap:28px !important;align-items:start !important;}
.adivi-calendar-range .adivi-event-calendar{max-width:none !important;margin:0 !important;}
@media(max-width:760px){.adivi-calendar-months{grid-template-columns:1fr !important;gap:22px !important;}}


/* Cabecera mensual: sin botón y con color distinto por mes */
.adivi-event-calendar-title{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 18px !important;
    padding:0 0 10px !important;
    border-radius:0 !important;
    background:transparent !important;
    text-transform:lowercase !important;
    font-size:1.45rem !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    text-align:center !important;
    border-bottom:2px solid currentColor !important;
}
.adivi-month-color-1{color:#0B6E99 !important;}
.adivi-month-color-2{color:#7A1E2C !important;}
.adivi-month-color-3{color:#0F7B45 !important;}
.adivi-month-color-4{color:#8A5A00 !important;}
.adivi-month-color-5{color:#6B3FA0 !important;}
.adivi-month-color-6{color:#006D77 !important;}
.adivi-month-color-7{color:#B84A00 !important;}
.adivi-month-color-8{color:#1E5AA8 !important;}
.adivi-month-color-9{color:#8B5E34 !important;}
.adivi-month-color-10{color:#C0392B !important;}
.adivi-month-color-11{color:#455A64 !important;}
.adivi-month-color-12{color:#0B3D2E !important;}
@media(max-width:760px){
    .adivi-event-calendar-title{
        font-size:1.15rem !important;
        padding:0 0 8px !important;
    }
}


/* Calendario con selector de mes y cabecera corregida */
.adivi-calendar-select-wrap,.adivi-calendar-select-wrap *{box-sizing:border-box;font-family:Arial, Helvetica, sans-serif !important;}
.adivi-calendar-select-wrap{width:100% !important;max-width:980px !important;margin:32px auto !important;}
.adivi-calendar-selector{display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:center !important;gap:12px !important;margin:0 0 20px !important;}
.adivi-calendar-selector label{font-weight:900 !important;color:var(--adivi-primary,#7A1E2C) !important;font-size:1.05rem !important;}
.adivi-calendar-selector select{min-width:260px !important;padding:12px 16px !important;border:2px solid var(--adivi-primary,#7A1E2C) !important;border-radius:12px !important;background:#fff !important;color:#111 !important;font-weight:800 !important;font-size:1rem !important;}
.adivi-calendar-month-panel{display:none !important;}
.adivi-calendar-month-panel.is-active{display:block !important;}
.adivi-calendar-select-wrap .adivi-event-calendar-title{display:block !important;width:100% !important;max-width:100% !important;margin:0 auto 18px !important;padding:0 0 10px !important;border-radius:0 !important;background:transparent !important;text-transform:lowercase !important;font-size:1.55rem !important;font-weight:900 !important;line-height:1.15 !important;text-align:center !important;border-bottom:2px solid currentColor !important;}
.adivi-calendar-select-wrap .adivi-calendar-weekdays span{white-space:nowrap !important;font-size:.95rem !important;letter-spacing:0 !important;}
@media(max-width:760px){
    .adivi-calendar-selector select{min-width:0 !important;width:100% !important;}
    .adivi-calendar-select-wrap .adivi-calendar-weekdays,
    .adivi-calendar-select-wrap .adivi-calendar-grid{gap:4px !important;}
    .adivi-calendar-select-wrap .adivi-calendar-weekdays span{font-size:.54rem !important;padding:3px 1px !important;border-radius:8px !important;letter-spacing:-.03em !important;}
}

/* Conmutador de vista ficha/lista */
.adivi-view-switcher{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 auto 22px !important;
    font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-view-switch{
    appearance:none !important;
    border:2px solid var(--adivi-primary,#7A1E2C) !important;
    background:#fff !important;
    color:var(--adivi-primary,#7A1E2C) !important;
    border-radius:999px !important;
    padding:11px 18px !important;
    font-weight:900 !important;
    cursor:pointer !important;
    font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-view-switch.is-active,
.adivi-view-switch:hover,
.adivi-view-switch:focus-visible{
    background:var(--adivi-primary,#7A1E2C) !important;
    color:#fff !important;
}


/* Conmutador con vista calendario */
.adivi-view-switcher .adivi-view-switch[data-view="calendario"]{
    border-color:var(--adivi-primary,#7A1E2C) !important;
}
.adivi-view-calendario .adivi-calendar-select-wrap{
    margin-top:0 !important;
}
@media(max-width:640px){
    .adivi-view-switcher .adivi-view-switch{
        width:100% !important;
        max-width:320px !important;
    }
}


/* Garantizar que la vista calendario aparezca en el conmutador */
.adivi-view-switcher{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px !important;
    overflow:visible !important;
}
.adivi-view-switcher .adivi-view-switch[data-view="calendario"]{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
}


/* Ajuste final: vista lista con día de la semana y eventos proporcionados */
.adivi-view-lista .adivi-agenda-list,
.adivi-agenda-list{
    max-width:1040px !important;
    gap:14px !important;
}
.adivi-event-list-item{
    grid-template-columns:minmax(145px,190px) minmax(0,1fr) minmax(120px,180px) !important;
    gap:18px !important;
    min-height:120px !important;
    padding:12px !important;
}
.adivi-list-date{
    min-height:88px !important;
    padding:10px 12px !important;
    border-radius:13px !important;
}
.adivi-list-weekday{
    display:block !important;
    margin:0 0 4px !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:.95rem !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    color:var(--adivi-primary) !important;
    text-transform:capitalize !important;
}
.adivi-list-date span{
    display:block !important;
    font-size:1rem !important;
    line-height:1.1 !important;
    font-weight:900 !important;
}
.adivi-list-date small{
    display:block !important;
    margin-top:4px !important;
    font-size:.95rem !important;
    line-height:1.05 !important;
    font-weight:900 !important;
}
.adivi-list-title{
    font-size:clamp(1.25rem,1.7vw,1.75rem) !important;
    line-height:1.12 !important;
}
.adivi-list-image{
    width:100% !important;
    max-width:180px !important;
    aspect-ratio:16/9 !important;
    justify-self:end !important;
}
.adivi-view-ficha .adivi-agenda-grid{
    grid-template-columns:repeat(auto-fit,minmax(280px,360px)) !important;
    justify-content:center !important;
    gap:30px !important;
}
.adivi-view-ficha .adivi-event-card{
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.adivi-view-ficha .adivi-event-card .adivi-image{
    min-height:auto !important;
    aspect-ratio:16/9 !important;
}
.adivi-view-ficha .adivi-event-body h3{
    font-size:clamp(1.25rem,1.9vw,1.8rem) !important;
}
@media(max-width:900px){
    .adivi-event-list-item{
        grid-template-columns:minmax(135px,170px) minmax(0,1fr) minmax(110px,150px) !important;
        gap:14px !important;
    }
    .adivi-list-image{
        max-width:150px !important;
    }
}
@media(max-width:640px){
    .adivi-event-list-item{
        grid-template-columns:1fr !important;
        min-height:0 !important;
        text-align:center !important;
        justify-items:center !important;
    }
    .adivi-list-date{
        width:100% !important;
        max-width:320px !important;
    }
    .adivi-list-title{
        text-align:center !important;
    }
    .adivi-list-image{
        justify-self:center !important;
        width:100% !important;
        max-width:340px !important;
    }
}


/* Enlace visible dentro del bocadillo del calendario */
.adivi-calendar-popover .adivi-calendar-event-link{
    display:block !important;
    color:#222 !important;
    text-decoration:none !important;
}
.adivi-calendar-popover .adivi-calendar-event-link em{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-top:10px !important;
    padding:7px 12px !important;
    border-radius:999px !important;
    background:var(--adivi-primary,#7A1E2C) !important;
    color:#fff !important;
    font-style:normal !important;
    font-weight:900 !important;
    font-size:.9rem !important;
    line-height:1 !important;
}
.adivi-calendar-popover .adivi-calendar-event-link:hover em,
.adivi-calendar-popover .adivi-calendar-event-link:focus-visible em{
    filter:brightness(.92) !important;
}


/* Mantener la posición al cambiar de vista */
.adivi-agenda,
.adivi-calendar-select-wrap{
    scroll-margin-top:120px !important;
}


/* Evitar cortes internos de palabras en títulos y textos de actos */
.adivi-event-body h3,
.adivi-event-body h3 a,
.adivi-list-title,
.adivi-subtitle,
.adivi-place,
.adivi-description,
.adivi-event-card,
.adivi-event-list-item {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    text-wrap: pretty;
}

.adivi-event-body h3,
.adivi-event-body h3 a {
    white-space: normal !important;
    line-height: 1.12 !important;
    letter-spacing: -0.015em !important;
}

/* Dar un poco más de ancho útil a cada ficha para evitar cortes como "Es-cuela" */
.adivi-view-ficha .adivi-agenda-grid {
    grid-template-columns: repeat(auto-fit, minmax(320px, 400px)) !important;
    justify-content: center !important;
    gap: 34px !important;
}

.adivi-view-ficha .adivi-event-card {
    width: 100% !important;
    max-width: 400px !important;
}

/* Reducir ligeramente el título antes de partir palabras */
.adivi-view-ficha .adivi-event-body h3 {
    font-size: clamp(1.45rem, 2.1vw, 2.05rem) !important;
}

/* Subtítulos largos más legibles */
.adivi-view-ficha .adivi-subtitle {
    font-size: clamp(1rem, 1.25vw, 1.22rem) !important;
    line-height: 1.18 !important;
}

/* En pantallas estrechas se mantiene una sola columna con ancho suficiente */
@media (max-width: 760px) {
    .adivi-view-ficha .adivi-agenda-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    .adivi-view-ficha .adivi-event-card {
        max-width: 420px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .adivi-view-ficha .adivi-event-body h3 {
        font-size: clamp(1.35rem, 7vw, 1.9rem) !important;
    }
}


/* Separación entre intervinientes/subtítulo y botones de acción */
.adivi-view-ficha .adivi-subtitle,
.adivi-view-ficha .adivi-place,
.adivi-view-ficha .adivi-description {
    margin-bottom: 20px !important;
}

.adivi-view-ficha .adivi-actions {
    margin-top: 18px !important;
}

.adivi-view-ficha .adivi-event-body .adivi-actions:first-of-type {
    margin-top: 22px !important;
}

/* Si el subtítulo es el último texto antes del botón, dar más aire visual */
.adivi-view-ficha .adivi-subtitle + .adivi-actions,
.adivi-view-ficha .adivi-place + .adivi-actions,
.adivi-view-ficha .adivi-description + .adivi-actions {
    margin-top: 24px !important;
}

/* Separación vertical uniforme entre botones */
.adivi-view-ficha .adivi-actions .adivi-btn,
.adivi-view-ficha .adivi-actions .adivi-calendar-btn {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

/* En móvil, mantener el aire sin ocupar demasiado */
@media (max-width: 760px) {
    .adivi-view-ficha .adivi-subtitle,
    .adivi-view-ficha .adivi-place,
    .adivi-view-ficha .adivi-description {
        margin-bottom: 18px !important;
    }

    .adivi-view-ficha .adivi-actions {
        margin-top: 18px !important;
    }
}


/* Vista calendario: mes seleccionado + dos anteriores + dos posteriores */
.adivi-calendar-window{
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap:26px !important;
    align-items:start !important;
    width:100% !important;
}
.adivi-calendar-month-panel{
    display:none !important;
}
.adivi-calendar-month-panel.is-visible{
    display:block !important;
}
.adivi-calendar-month-panel.is-active .adivi-event-calendar{
    border:2px solid var(--adivi-primary,#7A1E2C) !important;
    box-shadow:0 22px 52px rgba(122,30,44,.18) !important;
}
.adivi-calendar-range-note{
    margin:0 0 22px !important;
    text-align:center !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:.95rem !important;
    font-weight:700 !important;
    color:#555 !important;
}
@media(max-width:760px){
    .adivi-calendar-window{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }
}


/* Selector de vista mensual/anual y corrección de calendarios múltiples */
.adivi-calendar-selector{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:flex-end !important;
    gap:18px !important;
}
.adivi-calendar-selector-field{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    min-width:240px !important;
}
.adivi-calendar-selector-field label{
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:900 !important;
    color:var(--adivi-primary,#7A1E2C) !important;
}
.adivi-calendar-selector-field select{
    width:100% !important;
    min-width:0 !important;
    padding:12px 16px !important;
    border:2px solid var(--adivi-primary,#7A1E2C) !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#111 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:900 !important;
}
.adivi-calendar-window{
    display:grid !important;
    gap:26px !important;
    align-items:start !important;
}
.adivi-calendar-window[data-visible-months="1"]{
    grid-template-columns:minmax(0, 1fr) !important;
}
.adivi-calendar-window[data-visible-months="2"],
.adivi-calendar-window[data-visible-months="3"],
.adivi-calendar-window[data-visible-months="4"]{
    grid-template-columns:repeat(auto-fit, minmax(420px, 1fr)) !important;
}
.adivi-calendar-window[data-visible-months="5"],
.adivi-calendar-window[data-visible-months="6"],
.adivi-calendar-window[data-visible-months="7"],
.adivi-calendar-window[data-visible-months="8"],
.adivi-calendar-window[data-visible-months="9"],
.adivi-calendar-window[data-visible-months="10"],
.adivi-calendar-window[data-visible-months="11"],
.adivi-calendar-window[data-visible-months="12"]{
    grid-template-columns:repeat(auto-fit, minmax(360px, 1fr)) !important;
}
.adivi-calendar-month-panel{
    min-width:0 !important;
}
.adivi-calendar-month-panel .adivi-event-calendar{
    max-width:100% !important;
}
.adivi-calendar-month-panel .adivi-calendar-weekdays,
.adivi-calendar-month-panel .adivi-calendar-grid{
    grid-template-columns:repeat(7, minmax(0, 1fr)) !important;
    gap:6px !important;
}
.adivi-calendar-month-panel .adivi-calendar-weekdays span{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    white-space:normal !important;
    line-height:1.05 !important;
    font-size:clamp(.58rem, .8vw, .82rem) !important;
    padding:7px 2px !important;
}
.adivi-calendar-window[data-visible-months="1"] .adivi-calendar-weekdays span{
    font-size:.95rem !important;
    white-space:nowrap !important;
}
@media(max-width:760px){
    .adivi-calendar-selector-field{
        width:100% !important;
        min-width:0 !important;
    }
    .adivi-calendar-window,
    .adivi-calendar-window[data-visible-months]{
        grid-template-columns:1fr !important;
    }
    .adivi-calendar-month-panel .adivi-calendar-weekdays span{
        font-size:.54rem !important;
    }
}


/* Corrección final: días de la semana sin forma de botón y vista anual legible */
.adivi-calendar-weekdays span,
.adivi-calendar-month-panel .adivi-calendar-weekdays span,
.adivi-calendar-select-wrap .adivi-calendar-weekdays span {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 4px 1px 7px !important;
    min-height: auto !important;
    color: #222 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    letter-spacing: -0.04em !important;
    font-size: clamp(.48rem, .72vw, .78rem) !important;
}

/* En vista de un solo mes puede mantenerse el nombre completo y más grande */
.adivi-calendar-window[data-visible-months="1"] .adivi-calendar-weekdays span {
    font-size: .95rem !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    padding: 6px 2px 9px !important;
}

/* En vista anual se reduce el calendario para que encaje sin apelotonar */
.adivi-calendar-window[data-visible-months="12"] {
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)) !important;
    gap: 24px !important;
}

.adivi-calendar-window[data-visible-months="12"] .adivi-event-calendar {
    padding: 14px !important;
}

.adivi-calendar-window[data-visible-months="12"] .adivi-calendar-weekdays,
.adivi-calendar-window[data-visible-months="12"] .adivi-calendar-grid {
    gap: 4px !important;
}

.adivi-calendar-window[data-visible-months="12"] .adivi-calendar-weekdays span {
    font-size: .58rem !important;
    letter-spacing: -0.045em !important;
    padding: 2px 0 6px !important;
}

.adivi-calendar-window[data-visible-months="12"] .adivi-calendar-day {
    min-height: 48px !important;
    border-radius: 10px !important;
    padding: 5px !important;
}

.adivi-calendar-window[data-visible-months="12"] .adivi-calendar-number {
    width: 24px !important;
    height: 24px !important;
    font-size: .78rem !important;
}

/* En vistas de varios meses, evitar botones anchos en encabezados */
.adivi-calendar-window:not([data-visible-months="1"]) .adivi-calendar-weekdays span {
    background: transparent !important;
    border-radius: 0 !important;
}

/* Móvil */
@media(max-width:760px){
    .adivi-calendar-weekdays span,
    .adivi-calendar-month-panel .adivi-calendar-weekdays span,
    .adivi-calendar-select-wrap .adivi-calendar-weekdays span {
        font-size: .52rem !important;
        letter-spacing: -0.055em !important;
        padding: 2px 0 5px !important;
    }
}


/* Ajuste solicitado: fecha granate y conmutador centrado en móvil */
.adivi-event-card .adivi-event-datebox,
.adivi-agenda .adivi-event-card .adivi-event-datebox,
.adivi-view-ficha .adivi-event-card .adivi-event-datebox {
    background: var(--adivi-primary, #7A1E2C) !important;
    color: #ffffff !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    text-align: center !important;
}

.adivi-event-card .adivi-event-datebox *,
.adivi-agenda .adivi-event-card .adivi-event-datebox *,
.adivi-view-ficha .adivi-event-card .adivi-event-datebox * {
    color: #ffffff !important;
}

.adivi-event-card .adivi-day,
.adivi-event-card .adivi-date,
.adivi-event-card .adivi-time {
    text-align: center !important;
}

@media (max-width: 760px) {
    .adivi-view-switcher {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        text-align: center !important;
    }

    .adivi-view-switcher .adivi-view-switch,
    .adivi-view-switcher .adivi-view-switch[data-view="calendario"] {
        width: 100% !important;
        max-width: 320px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}


/* Agenda DIVI Pro: filtros, vistas nuevas, badges y SEO-ready layout */
.adivi-front-filters{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:14px !important;
    align-items:end !important;
    justify-content:center !important;
    margin:0 auto 24px !important;
    padding:18px !important;
    border-radius:20px !important;
    background:#f8f8f8 !important;
    font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-front-filters label{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    font-weight:900 !important;
    color:var(--adivi-primary,#7A1E2C) !important;
}
.adivi-front-filters select,
.adivi-front-filters input{
    min-height:42px !important;
    border:2px solid var(--adivi-primary,#7A1E2C) !important;
    border-radius:10px !important;
    padding:8px 12px !important;
    background:#fff !important;
    font-weight:800 !important;
}
.adivi-front-filters button,
.adivi-filter-reset{
    min-height:42px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    padding:9px 18px !important;
    background:var(--adivi-primary,#7A1E2C) !important;
    color:#fff !important;
    border:2px solid var(--adivi-primary,#7A1E2C) !important;
    text-decoration:none !important;
    font-weight:900 !important;
}
.adivi-filter-reset{
    background:#fff !important;
    color:var(--adivi-primary,#7A1E2C) !important;
}
.adivi-event-badges{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:8px !important;
    margin:0 0 12px !important;
}
.adivi-event-badges span{
    display:inline-flex !important;
    border-radius:999px !important;
    padding:5px 10px !important;
    background:rgba(122,30,44,.08) !important;
    color:var(--adivi-primary,#7A1E2C) !important;
    font-size:.82rem !important;
    font-weight:900 !important;
}
.adivi-timeline{
    max-width:980px !important;
    margin:0 auto !important;
    font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-timeline-month{
    margin:28px 0 12px !important;
    padding-bottom:8px !important;
    border-bottom:3px solid var(--adivi-primary,#7A1E2C) !important;
    color:var(--adivi-primary,#7A1E2C) !important;
    font-size:1.65rem !important;
    font-weight:900 !important;
}
.adivi-timeline-group{
    display:grid !important;
    gap:12px !important;
}
.adivi-timeline-item{
    display:grid !important;
    grid-template-columns:minmax(160px,220px) 1fr !important;
    gap:16px !important;
    align-items:center !important;
    padding:14px 16px !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}
.adivi-timeline-item time{
    font-weight:900 !important;
    color:var(--adivi-primary,#7A1E2C) !important;
}
.adivi-timeline-item a{
    color:#111 !important;
    font-weight:900 !important;
    text-decoration:none !important;
}
.adivi-timeline-item a:hover,
.adivi-timeline-item a:focus-visible{
    text-decoration:underline !important;
}
.adivi-accessible-list{
    max-width:900px !important;
    margin:0 auto !important;
    display:grid !important;
    gap:16px !important;
    font-family:Arial, Helvetica, sans-serif !important;
}
.adivi-accessible-item{
    padding:18px !important;
    border-left:6px solid var(--adivi-primary,#7A1E2C) !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}
.adivi-accessible-item h3{
    margin:0 0 8px !important;
    font-size:1.35rem !important;
}
@media(max-width:760px){
    .adivi-front-filters{
        align-items:stretch !important;
    }
    .adivi-front-filters label,
    .adivi-front-filters button,
    .adivi-filter-reset{
        width:100% !important;
    }
    .adivi-timeline-item{
        grid-template-columns:1fr !important;
    }
}


/* Mantener Conferenciante y Presenta en una sola línea */
.adivi-view-ficha .adivi-subtitle,
.adivi-view-ficha .adivi-presenter,
.adivi-event-card .adivi-subtitle,
.adivi-event-card .adivi-presenter {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: block !important;
    font-size: clamp(.82rem, 1.05vw, 1rem) !important;
    line-height: 1.2 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* En escritorio hay más espacio, se permite un tamaño algo mayor */
@media (min-width: 981px) {
    .adivi-view-ficha .adivi-subtitle,
    .adivi-view-ficha .adivi-presenter,
    .adivi-event-card .adivi-subtitle,
    .adivi-event-card .adivi-presenter {
        font-size: clamp(.9rem, .95vw, 1.05rem) !important;
    }
}

/* En móvil se mantiene una línea sin romper la tarjeta */
@media (max-width: 760px) {
    .adivi-view-ficha .adivi-subtitle,
    .adivi-view-ficha .adivi-presenter,
    .adivi-event-card .adivi-subtitle,
    .adivi-event-card .adivi-presenter {
        font-size: clamp(.78rem, 3.2vw, .95rem) !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
}


/* Presentación: nombre en una línea y cargo debajo */
.adivi-presenter-block {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px auto 20px !important;
    text-align: center !important;
}

.adivi-presenter-block .adivi-presenter-name {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    margin: 0 auto 4px !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
}

.adivi-presenter-block .adivi-presenter-role {
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    color: #555 !important;
    font-size: clamp(.8rem, 1vw, .96rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    text-align: center !important;
}

/* El subtítulo/conferenciante sigue en una línea, pero el cargo puede ocupar su propia línea */
.adivi-view-ficha .adivi-presenter-block .adivi-presenter-role,
.adivi-event-card .adivi-presenter-block .adivi-presenter-role {
    white-space: normal !important;
}

@media (max-width: 760px) {
    .adivi-presenter-block .adivi-presenter-name {
        font-size: clamp(.78rem, 3.2vw, .95rem) !important;
    }

    .adivi-presenter-block .adivi-presenter-role {
        font-size: clamp(.76rem, 3vw, .9rem) !important;
    }
}


/* Presentación sin negrita */
.adivi-presenter-block .adivi-presenter-name,
.adivi-presenter-block .adivi-presenter-role,
.adivi-event-card .adivi-presenter-block .adivi-presenter-name,
.adivi-event-card .adivi-presenter-block .adivi-presenter-role,
.adivi-view-ficha .adivi-presenter-block .adivi-presenter-name,
.adivi-view-ficha .adivi-presenter-block .adivi-presenter-role {
    font-weight: 400 !important;
}

.adivi-presenter-block .adivi-presenter-name {
    color: #333 !important;
}

.adivi-presenter-block .adivi-presenter-role {
    color: #555 !important;
}


/* Conferenciante y cargo en front, sin etiqueta visible */
.adivi-speaker-block {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px auto 14px !important;
    text-align: center !important;
}

.adivi-speaker-name {
    display: block !important;
    margin: 0 auto 3px !important;
    color: #333 !important;
    font-size: clamp(.88rem, 1.05vw, 1.02rem) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.adivi-speaker-role {
    display: block !important;
    margin: 0 auto !important;
    color: #555 !important;
    font-size: clamp(.78rem, .95vw, .92rem) !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    white-space: normal !important;
}

@media (max-width: 760px) {
    .adivi-speaker-name {
        font-size: clamp(.8rem, 3.2vw, .95rem) !important;
    }

    .adivi-speaker-role {
        font-size: clamp(.76rem, 3vw, .9rem) !important;
    }
}


/* Cargo del conferenciante con espacio amplio en el front */
.adivi-speaker-block {
    margin: 10px auto 20px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.adivi-speaker-role {
    max-width: 100% !important;
    width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.28 !important;
    min-height: 1.3em !important;
    margin-top: 5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* En fichas, permitir que el cargo respire aunque sea largo */
.adivi-view-ficha .adivi-speaker-role,
.adivi-event-card .adivi-speaker-role {
    display: block !important;
    max-width: 96% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* En móvil, mantener lectura cómoda */
@media (max-width: 760px) {
    .adivi-speaker-block {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .adivi-speaker-role {
        max-width: 100% !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
        line-height: 1.3 !important;
    }
}


/* Aumento moderado de fuente en conferenciante y presentación */
.adivi-speaker-name,
.adivi-presenter-block .adivi-presenter-name {
    font-size: clamp(1rem, 1.2vw, 1.15rem) !important;
    line-height: 1.22 !important;
    font-weight: 400 !important;
}

.adivi-speaker-role,
.adivi-presenter-block .adivi-presenter-role {
    font-size: clamp(.92rem, 1.08vw, 1.04rem) !important;
    line-height: 1.26 !important;
    font-weight: 400 !important;
}

@media (max-width: 760px) {
    .adivi-speaker-name,
    .adivi-presenter-block .adivi-presenter-name {
        font-size: clamp(.95rem, 3.8vw, 1.08rem) !important;
        line-height: 1.22 !important;
    }

    .adivi-speaker-role,
    .adivi-presenter-block .adivi-presenter-role {
        font-size: clamp(.88rem, 3.4vw, 1rem) !important;
        line-height: 1.27 !important;
    }
}
