.elementor-1645 .elementor-element.elementor-element-25029c51{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:18px;--padding-bottom:18px;--padding-left:24px;--padding-right:24px;}.elementor-1645 .elementor-element.elementor-element-25029c51:not(.elementor-motion-effects-element-type-background), .elementor-1645 .elementor-element.elementor-element-25029c51 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1645 .elementor-element.elementor-element-2adb365e{--display:flex;--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1645 .elementor-element.elementor-element-1ba48282{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1645 .elementor-element.elementor-element-4d65991f{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1645 .elementor-element.elementor-element-1a002580{text-align:start;}.elementor-1645 .elementor-element.elementor-element-1a002580 img{width:100%;}.elementor-1645 .elementor-element.elementor-element-ac7ef93{--display:flex;--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;--justify-content:flex-end;--align-items:center;--gap:26px 26px;--row-gap:26px;--column-gap:26px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-menu-toggle{margin-left:auto;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu .elementor-item{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;line-height:1.4em;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--main .elementor-item{color:#1A373D;fill:#1A373D;padding-left:0px;padding-right:0px;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--main .elementor-item:focus{color:#ED2024;fill:#ED2024;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#ED2024;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b{--e-nav-menu-horizontal-menu-item-margin:calc( 30px / 2 );--nav-menu-icon-size:22px;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:30px;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a, .elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-menu-toggle{color:#1A373D;fill:#1A373D;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown{background-color:#FFFFFF;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a:hover,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a:focus,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a.highlighted,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-menu-toggle:hover,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a:hover,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a:focus,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a.highlighted{background-color:#ED2024;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown .elementor-item, .elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b .elementor-nav-menu--dropdown a{padding-top:14px;padding-bottom:14px;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b div.elementor-menu-toggle{color:#1A373D;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b div.elementor-menu-toggle svg{fill:#1A373D;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b div.elementor-menu-toggle:hover, .elementor-1645 .elementor-element.elementor-element-6ea6af5b div.elementor-menu-toggle:focus{color:#ED2024;}.elementor-1645 .elementor-element.elementor-element-6ea6af5b div.elementor-menu-toggle:hover svg, .elementor-1645 .elementor-element.elementor-element-6ea6af5b div.elementor-menu-toggle:focus svg{fill:#ED2024;}.elementor-widget-button .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-1645 .elementor-element.elementor-element-2fb2cec6 .elementor-button{background-color:#ED2024;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1em;letter-spacing:0.2px;fill:#FFFFFF;color:#FFFFFF;transition-duration:0.2px;border-style:none;border-radius:40px 40px 40px 40px;padding:15px 34px 15px 34px;}.elementor-1645 .elementor-element.elementor-element-2fb2cec6 .elementor-button:hover, .elementor-1645 .elementor-element.elementor-element-2fb2cec6 .elementor-button:focus{background-color:#C4161A;color:#FFFFFF;}.elementor-1645 .elementor-element.elementor-element-2fb2cec6 .elementor-button:hover svg, .elementor-1645 .elementor-element.elementor-element-2fb2cec6 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-1645 .elementor-element.elementor-element-25029c51{--padding-top:14px;--padding-bottom:14px;--padding-left:20px;--padding-right:20px;}.elementor-1645 .elementor-element.elementor-element-1ba48282{--width:50%;}.elementor-1645 .elementor-element.elementor-element-4d65991f{--width:150px;}.elementor-1645 .elementor-element.elementor-element-ac7ef93{--width:50%;}}@media(min-width:768px){.elementor-1645 .elementor-element.elementor-element-25029c51{--content-width:1450px;}.elementor-1645 .elementor-element.elementor-element-2adb365e{--width:100%;}.elementor-1645 .elementor-element.elementor-element-1ba48282{--width:26%;}.elementor-1645 .elementor-element.elementor-element-4d65991f{--width:179px;}.elementor-1645 .elementor-element.elementor-element-ac7ef93{--width:74%;}}@media(max-width:1200px) and (min-width:768px){.elementor-1645 .elementor-element.elementor-element-1ba48282{--width:40%;}.elementor-1645 .elementor-element.elementor-element-ac7ef93{--width:60%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1645 .elementor-element.elementor-element-1ba48282{--width:50%;}.elementor-1645 .elementor-element.elementor-element-ac7ef93{--width:50%;}}/* Start custom CSS *//* ====== Cartões ======
   Altura igual em toda a fila, com o "Saber Mais" encostado ao fundo. A
   maquete tem os links desalinhados porque os textos têm comprimentos
   diferentes. O Elementor não tem controlo para height:100% nem para
   margin-top:auto — o controlo de margem só aceita números. */
.npt-card { height: 100%; transition: transform .25s ease, box-shadow .25s ease; }
.npt-card .npt-card-corpo { flex: 1 1 auto; }
.npt-card .npt-card-fim { margin-top: auto; padding-top: 14px; }
.npt-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -20px rgba(26,55,61,.45); }

/* ====== Imagens ======
   Largura, altura e recorte vêm agora dos CONTROLOS do widget Image
   (Width, Height, Object Fit) — ver lib/seccoes.js. Aqui fica só o rácio
   da caixa, que é a única coisa para a qual o Elementor não tem controlo.

   O rácio é o que mantém a grelha alinhada quando alguém troca uma foto por
   outra de proporções diferentes: a caixa não muda, a foto é que é
   recortada. */
.npt-cover img { display: block; }
.npt-r-4x3 img { aspect-ratio: 4 / 3; }
.npt-r-3x2 img { aspect-ratio: 3 / 2; }
.npt-r-16x9 img { aspect-ratio: 16 / 9; }

/* ====== Caixa de ícone dos cartões ======
   Nos cartões de solução sem fotografia, o ícone ocupa uma caixa do mesmo
   rácio da imagem, para a grelha não ficar desalinhada. Aqui o rácio é do
   próprio contentor, não de um <img>, por isso precisa das suas regras — o
   Elementor tem controlo de altura mínima, mas não de aspect-ratio. */
.npt-card-icone.npt-r-4x3 { aspect-ratio: 4 / 3; }
.npt-card-icone.npt-r-3x2 { aspect-ratio: 3 / 2; }

/* ====== Palavras longas ======
   Um email, um URL ou uma etiqueta por preencher que não caiba na coluna
   abre scroll horizontal na página toda em telemóvel. Aconteceu com
   [DESCREVER_COOKIES_ADICIONAIS_SE_EXISTIREM] na Política de Privacidade:
   42 caracteres sem espaços, 21px de transbordo a 390px. A etiqueta foi
   encurtada, mas isto fica como rede — o cliente vai colar endereços reais
   aqui mais tarde. O Elementor não tem controlo para overflow-wrap. */
.npt-seccao p, .npt-seccao h1, .npt-seccao h2, .npt-seccao h3,
.npt-card, .npt-footer p { overflow-wrap: anywhere; }

/* ====== Ligações dentro de texto ======
   O widget Text Editor tem controlo de cor do texto mas não de cor dos links.
   Sem isto o <a> fica com o azul ou o preto do tema. */
.npt-seccao .elementor-widget-text-editor a { color: inherit; text-decoration: underline; }

/* ====== Formulário ======
   O widget Form dá cor às etiquetas (label_color) mas não aos links dentro
   delas — e o texto do consentimento sai em .elementor-field-subgroup label,
   não em .elementor-field-group > label. Foi o que deixou o link da política
   de privacidade a preto no BTR XI.
   O placeholder também não tem controlo. */
.npt-form .elementor-field-group input::placeholder,
.npt-form .elementor-field-group textarea::placeholder { color: rgba(26,55,61,.45); }
.npt-form .elementor-field-group > label a,
.npt-form .elementor-field-subgroup label a { color: #1A373D; text-decoration: underline; }
.npt-form .elementor-field-subgroup label { font-size: 13px; line-height: 1.6; }

/* Emblema flutuante do reCAPTCHA: o Google permite escondê-lo desde que o
   aviso esteja visível — e está, no widget HTML abaixo do formulário. O
   controlo Badge do Elementor só muda a posição, não permite esconder. */
.grecaptcha-badge { visibility: hidden !important; }

.npt-aviso { margin: 10px 0 0; font-size: 11.5px; line-height: 1.6; color: rgba(26,55,61,.6); }
.npt-aviso a { color: rgba(26,55,61,.8); text-decoration: underline; }

/* ====== Mapa ====== */
.npt-mapa iframe { display: block; width: 100%; }

/* ====== Rodapé ======
   Os links do rodapé são items de uma lista de ícones/texto; a cor de hover
   existe em controlo, o sublinhado não. */
.npt-footer a { text-decoration: none; }
.npt-footer a:hover { text-decoration: underline; }
.npt-footer p { margin: 0; }/* End custom CSS */