/*
 * Zafira Signature - CSS de apoio à homepage nativa em Elementor.
 * O conteudo (texto, imagens, formulario, FAQ) vive inteiramente no editor
 * Elementor e fica editavel por um utilizador normal; este ficheiro so
 * resolve o que os controlos de estilo do Elementor, por si, nao geraram
 * corretamente nesta instalacao (layouts lado-a-lado, tipografia/cores
 * exatas do Figma, contraste de botoes, fundos de foto).
 *
 * IMPORTANTE sobre os containers Elementor: cada ".elementor-element-XXXX"
 * de um container e' apenas o wrapper exterior; o Elementor renderiza os
 * widgets filhos dentro de um ".e-con-inner" e essa camada le' o layout
 * flex a partir de CUSTOM PROPERTIES (--display, --flex-direction,
 * --row-gap, --column-gap, --justify-content, --align-items, --flex-wrap),
 * nao das propriedades CSS diretas. Por isso todas as regras de layout
 * abaixo definem "--propriedade" em vez de "propriedade" nos containers.
 */

:root {
--zafira-navy: #0F3C53;
--zafira-navy-dark: #0C2E40;
--zafira-sage: #799B78;
--zafira-cream: #E9E3D5;
--zafira-white: #FFFFFF;
--zafira-black: #000000;
}

/* Esconde o titulo de pagina automatico do tema por cima do Hero
   (reforco em CSS; a definicao "hide_title" do Elementor ja trata disto). */
.elementor-14 ~ * .page-title,
article.page > .entry-header,
.page .entry-title {
display: none;
}


/* ================= Cabecalho (node 210:623) ================= */
.elementor-element.elementor-element-cx00001 {
--display: flex;
--flex-direction: row;
--align-items: center;
--justify-content: space-between;
--flex-wrap: wrap;
--row-gap: 16px;
--column-gap: 16px;
--content-width: 100%;
background: rgba(15,60,83,0.78) !important;
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
border-bottom: 1px solid rgba(233,227,213,0.18) !important;
box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.15) !important;
padding: 0 40px !important;
}
.elementor-element.elementor-element-cx00003 {
--display: flex;
--flex-direction: row;
--flex-wrap: wrap;
--row-gap: 38px;
--column-gap: 38px;
--align-items: center;
width: auto !important;
flex: 0 1 auto !important;
}
.elementor-element-cx00002 img {
max-width: 132px;
width: 132px;
height: auto;
}
.elementor-element-cx00004 .elementor-button,
.elementor-element-cx00005 .elementor-button,
.elementor-element-cx00006 .elementor-button,
.elementor-element-cx00007 .elementor-button {
font-family: 'Montserrat', sans-serif !important;
font-weight: 500 !important;
font-size: 12px !important;
letter-spacing: 2.16px !important;
text-transform: uppercase !important;
background: transparent !important;
color: #e9e3d5 !important;
box-shadow: none !important;
padding: 8px 0 !important;
}
.elementor-element-cx00008 .elementor-button {
background: #e9e3d5 !important;
color: #0f3c53 !important;
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 12px !important;
letter-spacing: 1.68px !important;
text-transform: uppercase !important;
padding: 13px 24px !important;
border-radius: 2px !important;
}

/* ================= Hero (node 210:207) ================= */
.elementor-element.elementor-element-cx00050 {
position: relative;
--display: flex;
--flex-direction: column;
--row-gap: 36px;
--column-gap: 36px;
background-image: linear-gradient(rgba(12,46,64,.35), rgba(12,46,64,.55)), url('https://zafira.zyrgon.dev/wp-content/plugins/zafira-site/assets/img/01_background_banner_header_homem_aeroporto.webp');
background-size: cover;
background-position: center;
padding: 174px 40px 143px !important;
}

.elementor-element-cx00051 {
display: none !important;
}
.elementor-element-cx00052 p {
font-family: 'Montserrat', sans-serif;
font-weight: 600;
font-size: 12px;
letter-spacing: 3.12px;
text-transform: uppercase;
color: #799b78 !important;
padding-left: 34px;
position: relative;
}
.elementor-element-cx00052 p::before {
content: '';
position: absolute;
left: 0;
top: 50%;
width: 24px;
height: 1px;
background: #799b78;
}
.elementor-element-cx00053 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-weight: 400 !important;
font-size: 104px !important;
line-height: 110.24px !important;
letter-spacing: -2.6px !important;
color: #e9e3d5 !important;
max-width: 990px;
}
.elementor-element-cx00054 p {
font-family: 'Playfair Display', serif;
font-style: italic;
font-weight: 400;
font-size: 30px;
line-height: 42px;
letter-spacing: -0.3px;
color: #e9e3d5 !important;
max-width: 862px;
}
.elementor-element-cx00055 p {
font-family: 'Montserrat', sans-serif;
font-weight: 400;
font-size: 18px;
line-height: 30.6px;
color: rgba(233,227,213,0.86) !important;
max-width: 560px;
}
.elementor-element.elementor-element-cx00056 {
--display: flex;
--flex-direction: row;
--flex-wrap: wrap;
--row-gap: 15.91px;
--column-gap: 15.91px;
width: auto !important;
}
.elementor-element-cx00057 .elementor-button {
min-height: 56px;

}
.elementor-element-cx00058 .elementor-button {

min-height: 56px;

}

/* ================= Incluido: intro (node 210:237) ================= */
.elementor-element-cx00071 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 12px !important;
letter-spacing: 3.12px !important;
text-transform: uppercase !important;
color: var(--zafira-sage) !important;
}
.elementor-element-cx00072 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;




color: var(--zafira-navy) !important;
max-width: 740px;
}
.elementor-element-cx00073 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 18px !important;
line-height: 30.6px !important;
letter-spacing: -0.09px !important;
color: var(--zafira-navy) !important;
max-width: 628px;
}

/* ================= Incluido: 4 cartoes (node 210:251) =================
   Removed 2026-08-24: this block was a CSS Grid workaround for an older
   flex-wrap structure (see git history / backup_global_css_before_cleanup_*.css)
   that no longer exists -- the containers now use proper nested Elementor
   containers with widths set via boxed_width/custom_css. The grid rules here
   never actually applied (Elementor's own --display:flex on .elementor-element-
   cx00074/80/86/92 always won the cascade, confirmed via computed styles:
   display stayed "flex", grid-template-columns stayed "none"), and the plain
   (non-custom-property) declarations that DID apply were actively wrong or
   conflicting with the correct Elementor-native settings:
   - numeral (cx00075/81/87/93): forced font-size 56px/line-height 1/letter-
     spacing -2px/color alpha 0.9, overriding the correct Figma-matching
     152px/136.8px/-4.56px/alpha 0.7 already set natively in Elementor.
   - image (cx00076/82/88/94): margin-top:8px had no Figma basis and pushed
     the image 8px out of alignment with the numeral.
   - list (cx00079/85/91/97): ul{display:flex;gap:14px} stacked with
     Elementor's own li{margin-bottom:14px}, doubling the list-item gap to
     28px instead of Figma's 14px.
   The heading/subhead rules here duplicated (harmlessly) values already set
   natively in Elementor with higher CSS specificity. Removing the whole
   block lets the native Elementor settings (verified against Figma) render
   as-is, which also fixes the "editor doesn't match frontend" symptom for
   this section, since both now read from the same source. */
/* ================= Concierge escuro (node 210:432) ================= */
.elementor-element.elementor-element-dx00001 {
position: relative;
--display: flex;
--flex-direction: row;
--align-items: center;
--flex-wrap: wrap;
--row-gap: 80px;
--column-gap: 80px;
background-image: linear-gradient(rgba(12,46,64,.8), rgba(12,46,64,.8)), url('https://zafira.zyrgon.dev/wp-content/plugins/zafira-site/assets/img/04_background_banner_concierge.webp');
background-size: cover;
background-position: center;

}
.elementor-element-dx00002 {
display: none !important;
}
.elementor-element-dx00003 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 12px !important;
letter-spacing: 3.12px !important;
text-transform: uppercase !important;
color: var(--zafira-sage) !important;
}
.elementor-element-dx00004 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-weight: 400 !important;
font-size: 52px !important;
line-height: 61.36px !important;
letter-spacing: -1.04px !important;
color: var(--zafira-cream) !important;
max-width: 624px;
}
.elementor-element-dx00005 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 18px !important;
line-height: 30.6px !important;
letter-spacing: -0.09px !important;
color: rgba(233,227,213,0.86) !important;
max-width: 616px;
}

/* ================= Alem da reserva (node 210:344 heading verified;
   card styling inferred from Incluido pattern - Figma token expirou
   antes de confirmar valores exatos dos cartoes, revisitar) ================= */
.elementor-element-dx01002 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 12px !important;
letter-spacing: 3.12px !important;
text-transform: uppercase !important;
color: var(--zafira-sage) !important;
}
.elementor-element-dx01003 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-weight: 400 !important;
font-size: 52px !important;
line-height: 61.36px !important;
letter-spacing: -1.04px !important;
color: var(--zafira-navy) !important;
}
.elementor-element.elementor-element-dx01004,
.elementor-element.elementor-element-dx01009,
.elementor-element.elementor-element-dx01014 {
--display: grid;
--e-con-grid-template-columns: 400px 1fr;
--e-con-grid-template-rows: auto auto 1fr;
position: relative;
column-gap: 252px;
row-gap: 8px;
padding: 32px 0 !important;
}
.elementor-element-dx01005,
.elementor-element-dx01010,
.elementor-element-dx01015 {
grid-column: 1;
grid-row: 1;
align-self: end;
margin: 0 !important;
}
.elementor-element-dx01005 .elementor-heading-title,
.elementor-element-dx01010 .elementor-heading-title,
.elementor-element-dx01015 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-weight: 400 !important;
font-size: 152px !important;
line-height: 136.8px !important;
letter-spacing: -4.56px !important;
color: #ffffff !important;
text-shadow: 0 0 40px rgba(0,0,0,0.05);
}
.elementor-element-dx01006,
.elementor-element-dx01011,
.elementor-element-dx01016 {
grid-column: 1;
grid-row: 2 / 5;
width: 400px;
max-width: 400px;
margin-top: 8px;
}
.elementor-element-dx01006 img,
.elementor-element-dx01011 img,
.elementor-element-dx01016 img {
width: 400px;
height: 400px;
object-fit: cover;
}
.elementor-element-dx01007,
.elementor-element-dx01012,
.elementor-element-dx01017 {
grid-column: 2;
grid-row: 1;
align-self: start;
margin: 0 !important;
}
.elementor-element-dx01007 .elementor-heading-title,
.elementor-element-dx01012 .elementor-heading-title,
.elementor-element-dx01017 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-weight: 500 !important;
font-size: 42px !important;
line-height: 52.5px !important;
color: var(--zafira-navy) !important;
margin: 0 !important;
}
.elementor-element-dx01008,
.elementor-element-dx01013,
.elementor-element-dx01018 {
grid-column: 2;
grid-row: 2;
align-self: start;
font-family: 'Montserrat', sans-serif !important;
font-size: 18px !important;
line-height: 25.6px !important;
color: #648063 !important;
max-width: 421px;
}

/* ================= Compromissos (node 210:449) =================
   Removed: this whole block was stale hand-written CSS from an earlier,
   pre-native-Elementor implementation of this section. It hardcoded
   !important overrides against dx02001/dx02002/dx02003/dx02005/dx02008/
   dx02011/dx02099 that conflicted with (and silently won over) the
   current native Elementor per-widget/per-container settings, which is
   exactly why the Elementor editor no longer matched the live frontend
   for this section (e.g. section padding rendered as 130px instead of
   the 140px set in the editor, the h2 rendered at max-width 562px
   instead of the 624px set in the editor, and the "48h"/"Fuso horário"/
   "1 fatura" stat numbers rendered at 26px/weight 500 instead of the
   42px/weight 600 set in the editor). All of these are now configured
   natively in Elementor, so this override block is dead weight and has
   been deleted rather than reconciled. */

/* ================= Definicao (node 236:2369) ================= */
.elementor-element-dx03001 {
background: linear-gradient(to right, #ffffff 55%, rgba(255,255,255,0.55) 100%);
padding: 100px 20px !important;
}
.elementor-element-dx03002 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-weight: 400 !important;
font-size: 52px !important;
line-height: 61.36px !important;
letter-spacing: -1.04px !important;
color: var(--zafira-navy) !important;
}
.elementor-element-dx03003 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 18px !important;
line-height: 32.4px !important;
letter-spacing: -0.09px !important;
color: var(--zafira-navy) !important;
padding-top: 16px;
}
.elementor-element.elementor-element-dx03004 {
--display: flex;
--flex-direction: row;
--flex-wrap: wrap;
--row-gap: 60px;
--column-gap: 60px;
}
.elementor-element-dx03005,
.elementor-element-dx03006 {
flex: 1 1 280px;
}
.elementor-element-dx03005 ul,
.elementor-element-dx03006 ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 30px;
}
.elementor-element-dx03005 li,
.elementor-element-dx03006 li {
font-family: 'Montserrat', sans-serif !important;
font-size: 16px !important;
line-height: 25.6px !important;
color: var(--zafira-navy) !important;
position: relative;
padding-left: 36px;
}
.elementor-element-dx03005 li::before,
.elementor-element-dx03006 li::before {
content: "";
position: absolute;
left: 0;
top: 13px;
width: 12px;
height: 1px;
background: rgba(121,155,120,0.5);
}
.elementor-element-dx03007 .elementor-heading-title {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 18px !important;
line-height: 32.4px !important;
letter-spacing: -0.09px !important;
color: var(--zafira-navy) !important;
}
.elementor-element-dx03008 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 18px !important;
line-height: 32.4px !important;
letter-spacing: -0.09px !important;
color: var(--zafira-navy) !important;
}

/* ================= FAQ (node 210:642) ================= */
.elementor-element-fx00002 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 12px !important;
letter-spacing: 2.42px !important;
text-transform: uppercase !important;
color: var(--zafira-sage) !important;
}
.elementor-element-fx00003 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-size: 48px !important;
color: var(--zafira-navy) !important;
}
.elementor-element-fx00004 .elementor-accordion-item {
border-top: 1px solid rgba(121,155,120,0.35) !important;
border-bottom: none !important;
border-left: none !important;
border-right: none !important;
box-shadow: none !important;
padding: 40px 0 !important;
}
.elementor-element-fx00004 .elementor-accordion-item:last-child {
border-bottom: 1px solid rgba(121,155,120,0.35) !important;
}
.elementor-element-fx00004 .elementor-tab-title,
.elementor-element-fx00004 .elementor-tab-title.elementor-active,
.elementor-element-fx00004 .elementor-accordion-title {
font-family: 'Playfair Display', serif !important;
font-weight: 400 !important;
font-size: 23px !important;
letter-spacing: -0.34px !important;
line-height: 32.2px !important;
color: var(--zafira-navy) !important;
padding: 0 !important;
}
.elementor-element-fx00004 .elementor-tab-content {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 18px !important;
letter-spacing: -0.09px !important;
line-height: 32.4px !important;
color: var(--zafira-navy) !important;
border: none !important;
padding: 16px 0 0 !important;
}
.elementor-element-fx00004 .elementor-accordion-icon,
.elementor-element-fx00004 .elementor-accordion-icon svg,
.elementor-element-fx00004 .elementor-active .elementor-accordion-icon {
color: var(--zafira-sage) !important;
fill: var(--zafira-sage) !important;
}

/* ================= Formulario de contacto (parcialmente verificado -
   token Figma expirou antes de confirmar cores/bordas exatas dos
   campos; valores abaixo sao uma aproximacao razoavel, nao os
   tokens exatos) ================= */
.elementor-element-fx00011 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 12px !important;
letter-spacing: 2.42px !important;
text-transform: uppercase !important;
color: var(--zafira-sage) !important;
}
.elementor-element-fx00012 .elementor-heading-title {
font-family: 'Playfair Display', serif !important;
font-size: 48px !important;
}
.elementor-element-fx00014 .elementor-field-group > label {
font-family: 'Montserrat', sans-serif !important;
font-weight: 500 !important;
font-size: 12px !important;
letter-spacing: 2px !important;
text-transform: uppercase !important;
color: var(--zafira-sage) !important;
margin-bottom: 8px !important;
}
.elementor-element-fx00014 .elementor-field {
border: none !important;
border-bottom: 1px solid var(--zafira-sage) !important;
border-radius: 0 !important;
background: transparent !important;
font-family: 'Montserrat', sans-serif !important;
font-size: 18px !important;
color: var(--zafira-navy-dark) !important;
padding-left: 0 !important;
}
.elementor-element-fx00014 .elementor-field::placeholder {
color: rgba(12,46,64,0.5) !important;
}
.elementor-element-fx00014 .elementor-button[type="submit"] {
background: var(--zafira-navy) !important;
color: var(--zafira-cream) !important;
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 13px !important;
letter-spacing: 1.82px !important;
text-transform: uppercase !important;
padding: 19px 34px !important;
border-radius: 2px !important;
}

/* ================= Rodape (node 210:586) ================= */
.elementor-element.elementor-element-cx00020 {
--display: flex;
--flex-direction: row;
--flex-wrap: wrap;
--align-items: flex-start;
--row-gap: 56px;
--column-gap: 32px;
max-width: 1280px;
margin: 0 auto;
padding: 100px 40px 48px !important;
background-color: var(--zafira-navy-dark) !important;
}
.elementor-element-cx00021,
.elementor-element-cx00023,
.elementor-element-cx00027,
.elementor-element-cx00030 {
flex: 1 1 220px !important;
width: auto !important;
max-width: 300px;
}
.elementor-element-cx00022 img {
width: 150px;
max-width: 150px;
height: auto;
}
.elementor-element-cx00024 .elementor-heading-title,
.elementor-element-cx00028 .elementor-heading-title,
.elementor-element-cx00031 .elementor-heading-title,
.elementor-element-cx00035 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 600 !important;
font-size: 10px !important;
letter-spacing: 2.42px !important;
text-transform: uppercase !important;
color: var(--zafira-sage) !important;
}
.elementor-element-cx00025,
.elementor-element-cx00029,
.elementor-element-cx00032 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 500 !important;
font-size: 15px !important;
line-height: 27.2px !important;
color: var(--zafira-cream) !important;
}
.elementor-element-cx00026,
.elementor-element-cx00033 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 12px !important;
line-height: 19.2px !important;
color: rgba(233,227,213,0.6) !important;
}
.elementor-element-cx00034 {
flex: 1 1 100% !important;
--display: flex;
--flex-direction: row;
--align-items: center;
--row-gap: 24px;
--column-gap: 24px;
border-top: 1px solid rgba(121,155,120,0.35);
padding-top: 32px;
margin-top: 8px;
}
.elementor-element-cx00036 {
width: 436px;
max-width: 100%;
height: auto;
}
.elementor-element.elementor-element-cx00038 {
--display: flex;
--row-gap: 16px;
--column-gap: 24px;
width: 100%;
padding-top: 32px !important;
}
.elementor-element-cx00039 .elementor-button,
.elementor-element-cx00040 .elementor-button,
.elementor-element-cx00041 .elementor-button,
.elementor-element-cx00042 .elementor-button {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 12px !important;
letter-spacing: 0.72px !important;
color: rgba(233,227,213,0.7) !important;
background: transparent !important;
padding: 0 !important;
text-decoration: none !important;
box-shadow: none !important;
}
.elementor-element-cx00043 {
font-family: 'Montserrat', sans-serif !important;
font-weight: 400 !important;
font-size: 12px !important;
letter-spacing: 0.72px !important;
color: rgba(233,227,213,0.7) !important;
}

/* Rede de seguranca: qualquer botao sem regra especifica acima fica legivel. */
.elementor-widget-button .elementor-button {
color: var(--zafira-navy);
}

@media (max-width: 900px) {
.elementor-element.elementor-element-cx00074,
.elementor-element.elementor-element-cx00080,
.elementor-element.elementor-element-cx00086,
.elementor-element.elementor-element-cx00092,
.elementor-element.elementor-element-dx01004,
.elementor-element.elementor-element-dx01009,
.elementor-element.elementor-element-dx01014,
.elementor-element.elementor-element-dx00001,
.elementor-element.elementor-element-dx02099,
.elementor-element.elementor-element-dx03004 {
--flex-direction: column;
}
.elementor-element-cx00053 .elementor-heading-title {
font-size: 56px !important;
line-height: 62px !important;
}
}

@media (max-width:1024px){
    .elementor-element.elementor-element-cx00020 {
        
        padding:40px 30px!important;
    }
}

@media (max-width:768px){
    .elementor-element.elementor-element-cx00020 {
        
        padding:40px 20px!important;
    }
    .termos_condicoes .elementor-nav-menu{
        flex-direction: column;
        
    }
}



.post-273 a, .post-259 a, .post-268 a{
    color:#0F3C53!important;
}


/* ================= Hero mobile (Figma node 234:1962, "Mobile" page) =================
   Appended (additive only) to match Figma exactly at <=767px. The base
   rules above (desktop, no media query) are left untouched; !important
   here wins on source order since these come later, same specificity. */
@media (max-width: 767px) {
.elementor-element.elementor-element-cx00050 {
padding: 40px 20px !important;
}
.elementor-element-cx00053 .elementor-heading-title {
font-size: 34px !important;
line-height: 42px !important;
color: #ffffff !important;
}
.elementor-element-cx00054 p {
font-size: 22px !important;
line-height: 1.2 !important;
color: #ffffff !important;
}
.elementor-element-cx00055 p {
font-size: 16px !important;
line-height: 22px !important;
color: #ffffff !important;
}
.elementor-element-cx00057 .elementor-button,
.elementor-element-cx00058 .elementor-button {
height: 56px !important;
min-height: 56px !important;
box-sizing: border-box !important;
min-width:318px;
}
}

/* ================= Concierge escuro mobile/tablet override (Figma node 236:2256) =================
   Additive-only correction: the unconditional !important rule for
   .elementor-element-dx00004/dx00005 above (search "Concierge escuro")
   is desktop-oriented (52px heading, 18px body, 86%-opacity cream) and
   is left completely untouched. This block wins at <=1024px via equal
   specificity + later source position, letting the section's new
   Elementor tablet/mobile responsive settings show through as intended. */
@media (max-width: 1024px) {
.elementor-element-dx00004 .elementor-heading-title {
font-size: 32px !important;
line-height: 40px !important;
}
.elementor-element-dx00005 {
font-size: 16px !important;
line-height: 24px !important;
color: rgba(233, 227, 213, 0.7) !important;
max-width: none !important;
}
}
@media (max-width: 767px) {
.elementor-element-dx00004 .elementor-heading-title {
font-size: 28px !important;
line-height: 36px !important;
}
.elementor-element-dx00005 {
font-size: 14px !important;
line-height: 22px !important;
}
}

/* ================= FAQ mobile override (Figma node 236:2370, "Mobile" page) =================
   Additive-only. Base rules above (search "node 210:642") are desktop-
   oriented and left untouched; this wins at <=1024px via equal
   specificity + later source position. */
@media (max-width: 1024px) {
.elementor-element.elementor-element-fx00001:not(.elementor-motion-effects-element-type-background) {
background-color: rgba(233, 227, 213, 0.5) !important;
}
.elementor-element-fx00003 .elementor-heading-title {
font-size: 28px !important;
line-height: 36px !important;
}
.elementor-element-fx00004 .elementor-tab-title,
.elementor-element-fx00004 .elementor-tab-title.elementor-active,
.elementor-element-fx00004 .elementor-accordion-title {
font-size: 16px !important;
}
.elementor-element-fx00004 .elementor-tab-content {
font-size: 14px !important;
line-height: 1.5 !important;
}
}

/* ================= Contact form heading mobile override (Figma node 240:2476) =================
   Additive-only. Base rule above (search "fx00012") sets font-size:48px
   unconditionally; this scopes a corrective override at <=1024px so the
   element's own (already-correct) Elementor responsive settings show
   through - Figma confirms 28px/36px, white, center at mobile - all
   already matching except size, which this fixes. */
@media (max-width: 1024px) {
.elementor-element-fx00012 .elementor-heading-title {
font-size: 28px !important;
line-height: 36px !important;
}
}
