.aca-calendar.calendar-container{width:100%;border-radius:5px;border:2px dotted #be1f3f;box-shadow:0 4px 12px rgba(0,0,0,.15);background:#fff;overflow:hidden;position:relative}
.aca-calendar .calendar-header{background:#fff;color:#000;padding:18px;text-align:center;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(0,0,0,.05);font-size:20px;gap:10px}
.aca-calendar .calendar-header button{background:#000;color:#fff;border:0;font-size:16px!important;cursor:pointer;padding:8px 12px;border-radius:5px;transition:background-color .3s ease}
.aca-calendar .calendar-header button:hover{background:#f8f9fa;color:#000}
.aca-calendar .calendar-header h2{margin:0;font-size:1.5em;font-weight:500}
.aca-calendar .calendar-body{padding:18px}
.aca-calendar .weekdays,.aca-calendar .day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.aca-calendar .weekdays{margin-bottom:12px;color:#fff;background:#000;font-weight:bold;border-radius:5px}
.aca-calendar .weekdays div{text-align:center;padding:15px 0 10px}
.aca-calendar .day-grid{gap:10px}
.aca-calendar .day-cell{font:inherit;text-align:center;min-width:0;min-height:44px;padding:12px;border:0;border-radius:5px;background:#f8f9fa;color:#333;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.aca-calendar button.day-cell{cursor:pointer;transition:filter .2s ease,box-shadow .2s ease}
.aca-calendar button.day-cell:hover{filter:brightness(.94);box-shadow:0 2px 6px rgba(0,0,0,.15)}
.aca-calendar button:focus-visible{outline:3px solid #111;outline-offset:2px}
.aca-calendar .aca-today{outline:2px solid #333;outline-offset:-4px}
.aca-calendar .aca-event-count{position:absolute;right:3px;top:2px;font-size:10px;font-weight:700}
.aca-calendar .aca-message{margin:0;text-align:center}
.aca-calendar .aca-message:not(:empty){padding:15px}
.aca-calendar .legend-container{padding:15px;border-top:1px solid #eee}
.aca-calendar .legend-item{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:10px}
.aca-calendar .legend-item:last-child{margin-bottom:0}
.aca-calendar .legend-color{display:inline-block;flex:none;width:30px;height:20px;border-radius:5px}
.aca-calendar .legend-text{font-size:.9em;color:#555}
.aca-calendar .aca-overlay:not([hidden]){display:flex}
.aca-calendar .aca-overlay[hidden]{display:none!important}
.aca-calendar .aca-overlay{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.6);padding:15px;align-items:center;justify-content:center}
.aca-calendar .aca-dialog{background:#fff;color:#222;width:min(580px,100%);max-height:85vh;overflow:auto;border-radius:12px;padding:26px;position:relative;box-shadow:0 16px 50px rgba(0,0,0,.28)}
.aca-calendar .aca-dialog-title{margin:0 40px 16px 0;padding-bottom:18px;border-bottom:1px solid #e5e5e5;font-size:22px;font-weight:700;line-height:1.35}
.aca-calendar .aca-close{position:absolute;right:12px;top:8px;font-size:28px;background:none;border:0;cursor:pointer;color:#222}
.aca-calendar .aca-event-card{border-bottom:1px solid #ddd;padding:10px 0 16px;margin-bottom:12px}
.aca-calendar .aca-event-card:last-child{border-bottom:0;margin-bottom:0}
.aca-calendar .aca-event-card h4{margin:8px 0;font-size:18px}
.aca-calendar .aca-event-card p{white-space:pre-line;margin:6px 0}
.aca-calendar .aca-event-modality{border-left:4px solid #4890f4;padding-left:10px;font-size:13px;color:#666;display:block;margin-bottom:12px}
/* Botão da janela, conforme a prévia aprovada. */
.aca-calendar .aca-registration{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding:14px 20px;min-height:48px;border-radius:6px;background:#BE1F3F;color:#fff!important;font-size:15px;font-weight:700;line-height:1.25;text-decoration:none!important;transition:background .2s ease,transform .2s ease}
.aca-calendar .aca-registration:visited{color:#fff!important}
.aca-calendar .aca-registration:hover{background:#991833;color:#fff!important;transform:translateY(-1px)}
.aca-calendar .aca-registration:focus-visible{outline:3px solid #111;outline-offset:3px}
.aca-calendar .aca-registration svg{display:block;flex-shrink:0}
.aca-calendar .aca-event-card h4{font-weight:700;line-height:1.35}
.aca-calendar .aca-close{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1}
.aca-calendar .aca-close:hover{background:#f3f3f3}
@media(max-width:600px){.aca-calendar .aca-registration{width:100%;padding:13px 12px}.aca-calendar .calendar-header{padding:12px 8px;font-size:14px}.aca-calendar .calendar-header h2{font-size:1.15em}.aca-calendar .calendar-header button{font-size:12px!important;padding:8px 6px}.aca-calendar .calendar-body{padding:8px}.aca-calendar .day-grid{gap:4px}.aca-calendar .day-cell{min-height:38px;padding:8px 2px;font-size:13px}.aca-calendar .weekdays div{padding:10px 0;font-size:12px}.aca-calendar .aca-dialog{padding:18px}}

/* v1.3 — Janela fiel à prévia: protege contra estilos herdados do tema */
.aca-calendar .aca-overlay .aca-dialog{
  box-sizing:border-box!important;
  width:min(580px,calc(100vw - 30px))!important;
  max-width:580px!important;
  padding:28px!important;
  border:0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 20px 65px rgba(0,0,0,.25)!important;
  outline:0!important;
}
.aca-calendar .aca-overlay .aca-dialog:focus{outline:0!important;box-shadow:0 20px 65px rgba(0,0,0,.25)!important}
.aca-calendar .aca-overlay .aca-dialog-title{
  display:block!important;margin:0 48px 20px 0!important;
  padding:0 0 18px!important;font-size:22px!important;
  font-weight:700!important;line-height:1.35!important;
  text-decoration:none!important;border:0!important;
  border-bottom:1px solid #e5e5e5!important;
  color:#222!important;text-transform:none!important;
}
.aca-calendar .aca-overlay .aca-dialog-title::after,
.aca-calendar .aca-overlay .aca-dialog-title::before{content:none!important;display:none!important}
.aca-calendar .aca-overlay .aca-close{
  position:absolute!important;right:19px!important;top:19px!important;
  width:32px!important;height:32px!important;padding:0!important;
  background:transparent!important;color:#222!important;
  font-size:28px!important;font-weight:600!important;line-height:1!important;
  border:0!important;box-shadow:none!important;text-decoration:none!important;
}
.aca-calendar .aca-overlay .aca-close:hover{background:#f3f3f3!important}
.aca-calendar .aca-overlay .aca-event-card{padding:0 0 8px!important;margin:0 0 15px!important;border:0!important}
.aca-calendar .aca-overlay .aca-event-card:not(:last-child){border-bottom:1px solid #e5e5e5!important;padding-bottom:18px!important}
.aca-calendar .aca-overlay .aca-event-modality{
  display:block!important;border-left-style:solid!important;
  border-left-width:4px!important;padding:2px 0 2px 12px!important;
  margin:0 0 16px!important;font-size:13px!important;
  font-weight:500!important;line-height:1.55!important;color:#606060!important;
}
.aca-calendar .aca-overlay .aca-event-card h4{
  margin:0 0 14px!important;padding:0!important;
  font-size:18px!important;font-weight:700!important;line-height:1.4!important;
  color:#222!important;text-decoration:none!important;
  border:0!important;text-transform:none!important;
}
.aca-calendar .aca-overlay .aca-event-card h4::after{content:none!important}
.aca-calendar .aca-overlay .aca-registration,
.aca-calendar .aca-overlay a.aca-registration:link,
.aca-calendar .aca-overlay a.aca-registration:visited{
  box-sizing:border-box!important;display:flex!important;
  width:100%!important;min-width:0!important;max-width:none!important;
  min-height:54px!important;margin:16px 0 0!important;
  padding:15px 18px!important;align-items:center!important;
  justify-content:center!important;gap:12px!important;
  border:0!important;border-radius:7px!important;
  background:#BE1F3F!important;color:#fff!important;
  text-decoration:none!important;box-shadow:none!important;
  font-size:16px!important;font-weight:700!important;line-height:1.4!important;
  text-align:center!important;text-transform:none!important;
}
.aca-calendar .aca-overlay a.aca-registration:hover,
.aca-calendar .aca-overlay a.aca-registration:focus-visible{
  background:#981831!important;color:#fff!important;
  text-decoration:none!important;
}
.aca-calendar .aca-overlay .aca-registration svg{width:20px!important;height:20px!important;flex:none!important;stroke:#fff!important}
.aca-calendar .aca-overlay .aca-registration span{color:#fff!important;font-size:inherit!important;font-weight:inherit!important;text-decoration:none!important}
.aca-calendar .aca-overlay .aca-registration .aca-external-icon{font-size:19px!important;line-height:1!important}
@media(max-width:600px){
  .aca-calendar .aca-overlay .aca-dialog{padding:22px 18px!important}
  .aca-calendar .aca-overlay .aca-dialog-title{font-size:19px!important}
  .aca-calendar .aca-overlay .aca-registration{min-height:54px!important;padding:14px 12px!important}
}

/* v1.4 — Seta externa vetorial branca (sem emoji colorido) */
.aca-calendar .aca-overlay .aca-registration svg.aca-external-icon{display:block!important;width:20px!important;height:20px!important;fill:none!important;stroke:#ffffff!important;color:#ffffff!important;flex:none!important}
