.elementor-351 .elementor-element.elementor-element-a3cac1d{--display:flex;--min-height:251px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-351 .elementor-element.elementor-element-a3cac1d:not(.elementor-motion-effects-element-type-background), .elementor-351 .elementor-element.elementor-element-a3cac1d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://eventosporto.pt/wp-content/uploads/2026/01/eventos-ag.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-351 .elementor-element.elementor-element-5586eb9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-351 .elementor-element.elementor-element-5586eb9.e-con{--align-self:center;}.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-351 .elementor-element.elementor-element-c718efa{width:var( --container-widget-width, 100.674% );max-width:100.674%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:100.674%;--container-widget-flex-grow:0;}.elementor-351 .elementor-element.elementor-element-c718efa.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-351 .elementor-element.elementor-element-c718efa .elementor-heading-title{font-family:"League Spartan", Sans-serif;font-size:40px;font-weight:600;text-transform:none;line-height:63px;color:#FFFFFF;}.elementor-351 .elementor-element.elementor-element-28d81d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-351 .elementor-element.elementor-element-28d81d5:not(.elementor-motion-effects-element-type-background), .elementor-351 .elementor-element.elementor-element-28d81d5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D2DCF3;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-351 .elementor-element.elementor-element-1eb0f84{--grid-columns:5;--grid-column-gap:10px;}.elementor-351 .elementor-element.elementor-element-1eb0f84 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-351 .elementor-element.elementor-element-1eb0f84 .e-loop-item > .elementor-section, .elementor-351 .elementor-element.elementor-element-1eb0f84 .e-loop-item > .elementor-section > .elementor-container, .elementor-351 .elementor-element.elementor-element-1eb0f84 .e-loop-item > .e-con, .elementor-351 .elementor-element.elementor-element-1eb0f84 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-351 .elementor-element.elementor-element-1eb0f84{--grid-columns:2;}}@media(max-width:767px){.elementor-351 .elementor-element.elementor-element-a3cac1d{--min-height:169px;}.elementor-351 .elementor-element.elementor-element-a3cac1d:not(.elementor-motion-effects-element-type-background), .elementor-351 .elementor-element.elementor-element-a3cac1d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-351 .elementor-element.elementor-element-5586eb9{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-351 .elementor-element.elementor-element-c718efa{width:var( --container-widget-width, 350.047px );max-width:350.047px;--container-widget-width:350.047px;--container-widget-flex-grow:0;text-align:center;}.elementor-351 .elementor-element.elementor-element-c718efa .elementor-heading-title{font-size:35px;line-height:0.9em;}.elementor-351 .elementor-element.elementor-element-28d81d5{--padding-top:60px;--padding-bottom:60px;--padding-left:10px;--padding-right:10px;}.elementor-351 .elementor-element.elementor-element-1eb0f84{--grid-columns:2;}}@media(min-width:768px){.elementor-351 .elementor-element.elementor-element-5586eb9{--width:50%;}}@media(min-width:1025px){.elementor-351 .elementor-element.elementor-element-a3cac1d:not(.elementor-motion-effects-element-type-background), .elementor-351 .elementor-element.elementor-element-a3cac1d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}/* Start custom CSS for loop-grid, class: .elementor-element-1eb0f84 *//* Mantém o botão no fim do card, mas alinha horizontalmente como antes */
#grid-eventos .elementor-widget-button {
  margin-top: auto !important;   /* fica no final do card */
  align-self: stretch !important; /* botão ocupa toda a largura disponível */
  width: 100%;                   /* faz o botão se justificar na horizontal */
  text-align: center;            /* mantém o texto do botão centralizado dentro dele */
}

/* Garante que o botão justificado respeite o estilo original do Elementor */
#grid-eventos .elementor-widget-button.elementor-align-justify .elementor-button {
  width: 100%;
  justify-content: space-between;
}/* End custom CSS */