.elementor-29 .elementor-element.elementor-element-eb69ed6{--display:flex;--min-height:56vh;--justify-content:center;--overlay-opacity:0.79;}.elementor-29 .elementor-element.elementor-element-eb69ed6:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-eb69ed6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://sro.pt/wp-content/uploads/2026/10/Palacio-Landal-na-Rua-Sombreira.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-29 .elementor-element.elementor-element-eb69ed6::before, .elementor-29 .elementor-element.elementor-element-eb69ed6 > .elementor-background-video-container::before, .elementor-29 .elementor-element.elementor-element-eb69ed6 > .e-con-inner > .elementor-background-video-container::before, .elementor-29 .elementor-element.elementor-element-eb69ed6 > .elementor-background-slideshow::before, .elementor-29 .elementor-element.elementor-element-eb69ed6 > .e-con-inner > .elementor-background-slideshow::before, .elementor-29 .elementor-element.elementor-element-eb69ed6 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#1A2420;--background-overlay:'';}.elementor-29 .elementor-element.elementor-element-0b3db6d{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-29 .elementor-element.elementor-element-9262e70 .elementor-heading-title{font-family:var( --e-global-typography-eeadcfa-font-family ), Sans-serif;font-size:var( --e-global-typography-eeadcfa-font-size );font-weight:var( --e-global-typography-eeadcfa-font-weight );color:var( --e-global-color-098eae9 );}.elementor-29 .elementor-element.elementor-element-3e493e1{width:100%;max-width:100%;}.elementor-29 .elementor-element.elementor-element-3e493e1 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:57px;font-weight:700;color:var( --e-global-color-adc6d01 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-29 .elementor-element.elementor-element-3135fab{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-adc6d01 );}.elementor-29 .elementor-element.elementor-element-5e0d91f{--display:flex;--min-height:915px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-29 .elementor-element.elementor-element-5e0d91f.e-con{--align-self:center;}.elementor-29 .elementor-element.elementor-element-b7b060a{--display:flex;}.elementor-29 .elementor-element.elementor-element-b7b060a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-29 .elementor-element.elementor-element-0b3451c .ectbe-calendar-wrapper{--e-ectbe-calendar-bg-color:var( --e-global-color-primary );--e-ectbe-calendar-text-color:var( --e-global-color-adc6d01 );}.elementor-29 .elementor-element.elementor-element-29f1602{--display:flex;--min-height:685px;--justify-content:flex-start;--border-radius:20px 20px 20px 20px;}.elementor-29 .elementor-element.elementor-element-29f1602:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-29f1602 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-29 .elementor-element.elementor-element-784936c .tecc-cd{max-inline-size:100% !important;--tecc-radius:0px !important;--tecc-pad:0px !important;border-style:solid !important;border-color:var(--tecc-hairline) !important;border-width:0px !important;--tecc-main:#FFFFFF !important;--tecc-alt:#123A2F !important;--tecc-title-color:#FFFFFF !important;--tecc-text-color:#FFFFFF !important;--tecc-card-bg:transparent !important;--tecc-cd-size:22px !important;--tecc-title-size:20px !important;--tecc-body-size:14px !important;}.elementor-29 .elementor-element.elementor-element-8bc4339{--display:flex;--min-height:59px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-29 .elementor-element.elementor-element-3e0a32d{--display:flex;}.elementor-29 .elementor-element.elementor-element-66dfaaa{text-align:center;}.elementor-29 .elementor-element.elementor-element-66dfaaa .elementor-heading-title{font-family:var( --e-global-typography-eeadcfa-font-family ), Sans-serif;font-size:var( --e-global-typography-eeadcfa-font-size );font-weight:var( --e-global-typography-eeadcfa-font-weight );color:var( --e-global-color-secondary );}.elementor-29 .elementor-element.elementor-element-8f0e8b0{width:100%;max-width:100%;text-align:center;}.elementor-29 .elementor-element.elementor-element-8f0e8b0 .elementor-heading-title{font-family:"Figtree", Sans-serif;font-size:33px;font-weight:700;color:#123B30;}.elementor-29 .elementor-element.elementor-element-da8fba0{--display:flex;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-29 .elementor-element.elementor-element-ce8d0ff .ectbe-wrapper{--e-ectbe-date-area-background:var( --e-global-color-098eae9 );--ectbe-featd-evt-bg-color:#8FD9B4;--ectbe-featd-evt-color:var( --e-global-color-primary );--e-ectbe-date-area-color:var( --e-global-color-primary );--e-ectbe-evt-title-color:var( --e-global-color-primary );--e-ectbe-evt-read-more-color:var( --e-global-color-primary );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-29 .elementor-element.elementor-element-9262e70 .elementor-heading-title{font-size:var( --e-global-typography-eeadcfa-font-size );}.elementor-29 .elementor-element.elementor-element-66dfaaa .elementor-heading-title{font-size:var( --e-global-typography-eeadcfa-font-size );}}@media(min-width:768px){.elementor-29 .elementor-element.elementor-element-eb69ed6{--content-width:1300px;}.elementor-29 .elementor-element.elementor-element-0b3db6d{--width:54%;}.elementor-29 .elementor-element.elementor-element-5e0d91f{--content-width:1300px;}.elementor-29 .elementor-element.elementor-element-b7b060a{--width:59%;}.elementor-29 .elementor-element.elementor-element-29f1602{--width:35%;}.elementor-29 .elementor-element.elementor-element-8bc4339{--content-width:1300px;}.elementor-29 .elementor-element.elementor-element-da8fba0{--content-width:1300px;}}@media(max-width:767px){.elementor-29 .elementor-element.elementor-element-9262e70{text-align:center;}.elementor-29 .elementor-element.elementor-element-9262e70 .elementor-heading-title{font-size:var( --e-global-typography-eeadcfa-font-size );}.elementor-29 .elementor-element.elementor-element-3e493e1{text-align:center;}.elementor-29 .elementor-element.elementor-element-3e493e1 .elementor-heading-title{font-size:45px;}.elementor-29 .elementor-element.elementor-element-3135fab{text-align:center;}.elementor-29 .elementor-element.elementor-element-29f1602{--min-height:491px;--justify-content:center;}.elementor-29 .elementor-element.elementor-element-66dfaaa .elementor-heading-title{font-size:var( --e-global-typography-eeadcfa-font-size );}}/* Start custom CSS for the-events-calendar-addon, class: .elementor-element-0b3451c *//* =========================================================
   SRO · Calendário da Agenda (widget 0b3451c · FullCalendar)
   ========================================================= */
.elementor-element-0b3451c .fc {
  --fc-border-color: #E3E9E5;
  --fc-page-bg-color: #FFFFFF;
  --fc-neutral-bg-color: #F3F5F2;
  --fc-today-bg-color: #E6F0EB;
  --fc-event-bg-color: #1F5C49;
  --fc-event-border-color: #1F5C49;
  --fc-event-text-color: #FFFFFF;
  --fc-button-bg-color: #FFFFFF;
  --fc-button-border-color: #DCE3DE;
  --fc-button-text-color: #123B30;
  --fc-button-hover-bg-color: #E6F0EB;
  --fc-button-hover-border-color: #1F5C49;
  --fc-button-active-bg-color: #123B30;
  --fc-button-active-border-color: #123B30;
  font-family: inherit;
  background: #FFFFFF;
  border: 1px solid #DCE3DE;
  border-radius: 20px;
  padding: 24px;
  box-sizing: border-box;
}

/* ---------- Barra superior ---------- */
.elementor-element-0b3451c .fc .fc-header-toolbar {
  margin-bottom: 24px !important;
  gap: 12px;
  flex-wrap: wrap;
}
.elementor-element-0b3451c .fc .fc-toolbar-title {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #123B30 !important;
  text-transform: capitalize;
  letter-spacing: -.3px;
}

/* Botões */
.elementor-element-0b3451c .fc .fc-button {
  background: var(--fc-button-bg-color) !important;
  border: 1px solid var(--fc-button-border-color) !important;
  color: var(--fc-button-text-color) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: capitalize;
  min-height: 44px;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.elementor-element-0b3451c .fc .fc-button:hover {
  background: var(--fc-button-hover-bg-color) !important;
  border-color: var(--fc-button-hover-border-color) !important;
}
.elementor-element-0b3451c .fc .fc-button:focus-visible {
  outline: 3px solid #F2C14E !important;
  outline-offset: 2px;
}
/* Setas anterior/seguinte quadradas */
.elementor-element-0b3451c .fc .fc-prev-button,
.elementor-element-0b3451c .fc .fc-next-button {
  width: 44px;
  padding: 0 !important;
}
/* "Hoje" */
.elementor-element-0b3451c .fc .fc-today-button:disabled {
  background: #F3F5F2 !important;
  color: #4F5D57 !important;
}
/* Grupo Mês / Semana / Dia / Agenda como .elementor-29 .elementor-element.elementor-element-0b3451c */
.elementor-element-0b3451c .fc .fc-button-group {
  gap: 6px;
}
.elementor-element-0b3451c .fc .fc-button-group > .fc-button {
  border-radius: 10px !important;
  margin: 0 !important;
}
.elementor-element-0b3451c .fc .fc-button-active,
.elementor-element-0b3451c .fc .fc-button-active:hover {
  background: var(--fc-button-active-bg-color) !important;
  border-color: var(--fc-button-active-border-color) !important;
  color: #FFFFFF !important;
}

/* ---------- Grelha ---------- */
.elementor-element-0b3451c .fc .fc-scrollgrid {
  border: 0 !important;
  border-radius: 14px;
  overflow: hidden;
}
.elementor-element-0b3451c .fc-theme-standard td,
.elementor-element-0b3451c .fc-theme-standard th {
  border-color: var(--fc-border-color) !important;
}

/* Cabeçalho dos dias da semana */
.elementor-element-0b3451c .fc .fc-col-header-cell {
  background: #F3F5F2;
  padding: 12px 0 !important;
}
.elementor-element-0b3451c .fc .fc-col-header-cell-cushion {
  color: #4F5D57 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .6px;
  text-decoration: none !important;
}

/* Dias */
.elementor-element-0b3451c .fc .fc-daygrid-day-frame {
  min-height: 96px;
  padding: 6px;
}
.elementor-element-0b3451c .fc .fc-daygrid-day-top {
  flex-direction: row;          /* número à esquerda */
}
.elementor-element-0b3451c .fc .fc-daygrid-day-number {
  color: #1A2420 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 4px 6px !important;
  text-decoration: none !important;
}
/* Dias de outros meses */
.elementor-element-0b3451c .fc .fc-day-other .fc-daygrid-day-number {
  color: #A7B3AD !important;
  font-weight: 400 !important;
}
/* Hoje: número num círculo verde */
.elementor-element-0b3451c .fc .fc-day-today {
  background: var(--fc-today-bg-color) !important;
}
.elementor-element-0b3451c .fc .fc-day-today .fc-daygrid-day-number {
  background: #123B30;
  color: #FFFFFF !important;
  border-radius: 999px;
  min-width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px !important;
}
/* Fim de semana ligeiramente diferenciado */
.elementor-element-0b3451c .fc .fc-day-sat:not(.fc-day-today),
.elementor-element-0b3451c .fc .fc-day-sun:not(.fc-day-today) {
  background: #FAFBFA;
}

/* ---------- Eventos ---------- */
.elementor-element-0b3451c .fc .fc-daygrid-event,
.elementor-element-0b3451c .fc .fc-h-event {
  background: #1F5C49 !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  margin: 2px 4px 0 !important;
  color: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  cursor: pointer;
  transition: background .15s ease;
}
.elementor-element-0b3451c .fc .fc-daygrid-event:hover {
  background: #123B30 !important;
}
.elementor-element-0b3451c .fc .fc-daygrid-event * {
  color: #FFFFFF !important;
}
.elementor-element-0b3451c .fc .fc-event-time {
  font-weight: 800 !important;
  margin-right: 4px;
}
.elementor-element-0b3451c .fc .fc-event-title {
  white-space: normal !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.elementor-element-0b3451c .fc .fc-daygrid-dot-event .fc-daygrid-event-dot {
  border-color: #8FD9B4 !important;
}
.elementor-element-0b3451c .fc .fc-daygrid-more-link {
  color: #1F5C49 !important;
  font-weight: 700;
  font-size: 13px;
}

/* ---------- Vista Agenda (lista) ---------- */
.elementor-element-0b3451c .fc .fc-list {
  border: 0 !important;
}
.elementor-element-0b3451c .fc .fc-list-day-cushion {
  background: #F3F5F2 !important;
  color: #123B30;
  font-weight: 700;
}
.elementor-element-0b3451c .fc .fc-list-event:hover td {
  background: #E6F0EB !important;
}
.elementor-element-0b3451c .fc .fc-list-event-dot {
  border-color: #1F5C49 !important;
}
.elementor-element-0b3451c .fc .fc-list-event-title a {
  color: #1A2420 !important;
  font-weight: 600;
  text-decoration: none;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .elementor-element-0b3451c .fc {
    padding: 18px;
  }
  .elementor-element-0b3451c .fc .fc-toolbar-title {
    font-size: 22px !important;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-day-frame {
    min-height: 80px;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-event {
    font-size: 12px !important;
  }
}

/* ---------- Telemóvel ---------- */
@media (max-width: 767px) {
  .elementor-element-0b3451c .fc {
    padding: 12px;
    border-radius: 16px;
  }

  /* Barra: título em cima, navegação e vistas por baixo */
  .elementor-element-0b3451c .fc .fc-header-toolbar {
    display: grid !important;
    grid-template-columns: auto auto;
    grid-template-areas:
      "titulo titulo"
      "nav    vistas";
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px !important;
  }
  .elementor-element-0b3451c .fc .fc-toolbar-chunk:nth-child(1) { grid-area: nav; }
  .elementor-element-0b3451c .fc .fc-toolbar-chunk:nth-child(2) { grid-area: titulo; text-align: center; }
  .elementor-element-0b3451c .fc .fc-toolbar-chunk:nth-child(3) { grid-area: vistas; justify-self: end; }
  .elementor-element-0b3451c .fc .fc-toolbar-chunk {
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .elementor-element-0b3451c .fc .fc-toolbar-title {
    font-size: 21px !important;
  }

  /* Botões mais compactos, mas com 40px de área de toque */
  .elementor-element-0b3451c .fc .fc-button {
    min-height: 40px;
    font-size: 14px !important;
    padding: 8px 12px !important;
  }
  .elementor-element-0b3451c .fc .fc-prev-button,
  .elementor-element-0b3451c .fc .fc-next-button {
    width: 40px;
  }
  .elementor-element-0b3451c .fc .fc-button-group {
    gap: 4px;
  }

  /* Esconde Semana e Dia (fica Mês e Agenda) */
  .elementor-element-0b3451c .fc [class*="GridWeek-button"],
  .elementor-element-0b3451c .fc [class*="GridDay-button"] {
    display: none !important;
  }

  /* Grelha do mês compacta */
  .elementor-element-0b3451c .fc .fc-col-header-cell {
    padding: 8px 0 !important;
  }
  .elementor-element-0b3451c .fc .fc-col-header-cell-cushion {
    font-size: 11px !important;
    letter-spacing: 0;
    padding: 0 !important;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-day-frame {
    min-height: 54px;
    padding: 2px;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-day-top {
    justify-content: center;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-day-number {
    font-size: 13px !important;
    padding: 2px !important;
  }
  .elementor-element-0b3451c .fc .fc-day-today .fc-daygrid-day-number {
    min-width: 26px;
    height: 26px;
    padding: 0 6px !important;
  }

  /* Eventos no mês: barra verde sem texto */
  .elementor-element-0b3451c .fc .fc-daygrid-day-events {
    margin: 2px 0 0 !important;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-event-harness {
    margin: 0 !important;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-event,
  .elementor-element-0b3451c .fc .fc-h-event {
    height: 6px;
    min-height: 0;
    padding: 0 !important;
    margin: 2px 4px 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    overflow: hidden;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-event * {
    display: none !important;
  }
  .elementor-element-0b3451c .fc .fc-daygrid-more-link {
    font-size: 11px !important;
    display: block;
    text-align: center;
  }

  /* Vista Agenda (lista) confortável no telemóvel */
  .elementor-element-0b3451c .fc .fc-list-table td {
    padding: 12px 10px !important;
    font-size: 14px;
  }
  .elementor-element-0b3451c .fc .fc-list-day-cushion {
    padding: 10px !important;
    font-size: 14px;
  }
  .elementor-element-0b3451c .fc .fc-list-event-time {
    white-space: nowrap;
    font-weight: 700;
    color: #1F5C49;
  }
  .elementor-element-0b3451c .fc .fc-list-event-title a {
    font-size: 15px;
  }
}

/* Telemóveis muito estreitos */
@media (max-width: 380px) {
  .elementor-element-0b3451c .fc .fc-today-button {
    display: none !important;
  }
  .elementor-element-0b3451c .fc .fc-toolbar-title {
    font-size: 19px !important;
  }
}
/* ---------- Cabeçalho dos dias sem cortes ---------- */
.elementor-element-0b3451c .fc .fc-col-header-cell-cushion {
  display: inline-block;
  white-space: normal !important;   /* permite partir em 2 linhas */
  word-break: normal;
  line-height: 1.25 !important;
  max-width: 100%;
}

/* Vistas Semana e Dia (com horas) */
.elementor-element-0b3451c .fc .fc-timegrid .fc-col-header-cell-cushion,
.elementor-element-0b3451c .fc .fc-timeGridWeek-view .fc-col-header-cell-cushion {
  text-transform: capitalize;
  letter-spacing: 0;
  font-size: 13px !important;
}
.elementor-element-0b3451c .fc .fc-timegrid-axis-cushion,
.elementor-element-0b3451c .fc .fc-timegrid-slot-label-cushion {
  font-size: 12px !important;
  color: #4F5D57;
  white-space: normal;
  line-height: 1.2;
  text-align: center;
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-element-0b3451c .fc .fc-col-header-cell-cushion {
    font-size: 11px !important;
    letter-spacing: 0 !important;
    text-transform: capitalize !important;
    padding: 2px !important;
  }
  .elementor-element-0b3451c .fc .fc-timegrid-axis-cushion,
  .elementor-element-0b3451c .fc .fc-timegrid-slot-label-cushion {
    font-size: 10px !important;
    padding: 2px !important;
  }
  .elementor-element-0b3451c .fc .fc-timegrid-axis,
  .elementor-element-0b3451c .fc .fc-timegrid-slot-label {
    width: 44px !important;
  }
}

/* Telemóvel */
@media (max-width: 767px) {
  .elementor-element-0b3451c .fc .fc-col-header-cell-cushion {
    font-size: 10px !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4ab733c *//* =========================================================
   SRO · Tabs de filtro da Agenda
   ========================================================= */
.sro-filtros {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;   /* alinhar à esquerda: flex-start */
  gap: 10px;
  margin: 0 0 32px;
}
.sro-filtros[hidden],
.sro-filtros-vazio[hidden] {
  display: none;
}

/* Tab normal */
.sro-chip {
  background: #FFFFFF;
  color: #1A2420;
  border: 2px solid #C5D0CA;
  border-radius: 999px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  min-height: 44px;
  padding: 10px 20px;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}

/* Tab ativa */
.sro-chip[aria-pressed="true"] {
  background: #123B30;
  border-color: #123B30;
  color: #FFFFFF;
  font-weight: 700;
}

/* Hover */
.sro-chip:hover,
.sro-chip[aria-pressed="true"]:hover {
  background: #1F5C49;
  border-color: #1F5C49;
  color: #FFFFFF;
}

/* Teclado */
.sro-chip:focus-visible {
  outline: 3px solid #F2C14E;
  outline-offset: 2px;
}

/* Mensagem quando não há eventos na categoria */
.sro-filtros-vazio {
  text-align: center;
  color: #4F5D57;
  font-size: 16px;
  padding: 24px 0;
}

/* Telemóvel: tabs numa linha que desliza */
@media (max-width: 767px) {
  .sro-filtros {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 6px;
    margin-bottom: 20px;
    -webkit-overflow-scrolling: touch;
  }
  .sro-chip {
    flex-shrink: 0;
    font-size: 15px;
    padding: 8px 16px;
  }
}/* End custom CSS */
/* Start custom CSS for the-events-calendar-addon, class: .elementor-element-ce8d0ff *//* =========================================================
   SRO · Próximos eventos (widget 49b6ffa) · versão final
   ========================================================= */
.elementor-element-49b6ffa {
  --sro-verde: #1F5C49;
  --sro-data-fundo: #123B30;   /* para menta: #8FD9B4 */
  --sro-data-texto: #FFFFFF;   /* com menta: #123B30 */
  --sro-linha: #DCE3DE;
  --sro-texto: #1A2420;
  --sro-texto-2: #4F5D57;
}

/* ---------- Colunas: desktop 3 · tablet 2 · mobile 1 ---------- */
.elementor-element-49b6ffa .ectbe-list-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding: 0 !important;
}
@media (max-width: 1024px) {
  .elementor-element-49b6ffa .ectbe-list-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .elementor-element-49b6ffa .ectbe-list-wrapper {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Esconde o cabeçalho do mês ("Outubro 2026") */
.elementor-element-49b6ffa .ectbe-list-wrapper .ectbe-simple-event.ectbe-month-header {
  display: none !important;
}

/* ---------- Cartão ---------- */
.elementor-element-49b6ffa .ectbe-list-wrapper .ectbe-inner-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "img" "data" "texto";
  row-gap: 20px;
  align-content: start;
  justify-items: start;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 0 24px !important;
  width: auto !important;
  height: 100%;
  background: #FFFFFF !important;
  border: 1px solid var(--sro-linha) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.elementor-element-49b6ffa .ectbe-inner-wrapper:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(18, 59, 48, .12) !important;
}

/* ---------- Imagem a toda a largura ---------- */
.elementor-element-49b6ffa .ectbe-inner-wrapper .ectbe-evt-img {
  grid-area: img;
  justify-self: stretch;
  width: 100% !important;
  max-width: none !important;
  height: 200px;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
}
.elementor-element-49b6ffa .ectbe-inner-wrapper .ectbe-evt-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  display: block;
}
@media (max-width: 767px) {
  .elementor-element-49b6ffa .ectbe-inner-wrapper .ectbe-evt-img { height: 180px; }
}

/* ---------- Data numa só caixa, em linha: "24 OUT" ---------- */
.elementor-element-49b6ffa .ectbe-inner-wrapper .ectbe-date-area {
  grid-area: data;
  display: inline-flex !important;
  flex-direction: row;            /* em coluna (dia por cima do mês): column */
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 0 20px !important;
  padding: 10px 18px !important;
  background: var(--sro-data-fundo) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-sizing: border-box;
}
.elementor-element-49b6ffa .ectbe-date-area span.ectbe-ev-mo,
.elementor-element-49b6ffa .ectbe-date-area span.ectbe-ev-day {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--sro-data-texto) !important;
  line-height: 1 !important;
}
.elementor-element-49b6ffa .ectbe-date-area span.ectbe-ev-day {
  order: 1;                       /* dia primeiro */
  font-size: 26px !important;
  font-weight: 800 !important;
}
.elementor-element-49b6ffa .ectbe-date-area span.ectbe-ev-mo {
  order: 2;                       /* mês a seguir */
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* ---------- Texto: alinhado à esquerda, 20px de margem ---------- */
.elementor-element-49b6ffa .ectbe-inner-wrapper .ectbe-content-box {
  grid-area: texto;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 20px !important;
  box-sizing: border-box;
  border: 0 !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  gap: 12px;
  text-align: left !important;
}
.elementor-element-49b6ffa .ectbe-content-box > * {
  margin: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}
.elementor-element-49b6ffa .ectbe-content-box h2,
.elementor-element-49b6ffa .ectbe-content-box h3,
.elementor-element-49b6ffa .ectbe-content-box h2 a,
.elementor-element-49b6ffa .ectbe-content-box h3 a {
  margin: 0 !important;
  color: var(--sro-texto) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none;
}
.elementor-element-49b6ffa .ectbe-content-box h2 a:hover,
.elementor-element-49b6ffa .ectbe-content-box h3 a:hover {
  color: var(--sro-verde) !important;
}
.elementor-element-49b6ffa .ectbe-content-box p,
.elementor-element-49b6ffa .ectbe-content-box span,
.elementor-element-49b6ffa .ectbe-content-box div {
  font-size: 15px;
  line-height: 1.5;
  color: var(--sro-texto-2);
  text-align: left !important;
}
.elementor-element-49b6ffa .ectbe-content-box > a:last-child,
.elementor-element-49b6ffa .ectbe-content-box > :last-child a {
  color: var(--sro-verde) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Esconde a data por extenso (ano + dia + mês) dentro do texto */
.elementor-element-49b6ffa .ectbe-inner-wrapper .ectbe-content-box [class*="date"] {
  display: none !important;
}
/* ---------- "Find out more" como botão, igual ao "Ver Agenda" ---------- */
.elementor-element-49b6ffa .ectbe-content-box > a:last-child,
.elementor-element-49b6ffa .ectbe-content-box > :last-child a {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  margin-top: 8px !important;
  padding: 12px 20px !important;
  background: #123B30 !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 4px !important;
  transition: background .2s ease, transform .2s ease;
}

/* Ícone de calendário antes do texto */
.elementor-element-49b6ffa .ectbe-content-box > a:last-child::before,
.elementor-element-49b6ffa .ectbe-content-box > :last-child a::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Hover: verde um pouco mais claro */
.elementor-element-49b6ffa .ectbe-content-box > a:last-child:hover,
.elementor-element-49b6ffa .ectbe-content-box > :last-child a:hover,
.elementor-element-49b6ffa .ectbe-inner-wrapper:hover .ectbe-content-box > a:last-child,
.elementor-element-49b6ffa .ectbe-inner-wrapper:hover .ectbe-content-box > :last-child a {
  background: #1F5C49 !important;
  color: #FFFFFF !important;
}/* End custom CSS */