/* ===========================================================
   Header — auto-hide ao scroll (suave, sem saltos)
   No topo: sobrepõe o hero (transparente), como o absolute fazia.
   Fixo sempre (nunca troca de positioning → sem jumps); só
   animamos transform + background. Classes via custom.js:
   .is-scrolled → fundo azul principal + sombra
   .is-hidden   → desliza para cima (scroll down)
   =========================================================== */

body {
    overflow-x: hidden;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: transform 0.4s ease, background-color 0.4s ease, box-shadow 0.4s ease;
    will-change: transform;
}
header.is-scrolled {
    background-color: var(--color-primary);                 /* #29B9FC */
    box-shadow: 0 2px 16px rgba(36, 54, 77, 0.15);
}
header.is-hidden {
    transform: translateY(-100%);
}


.lang-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 8px;
}

.lang-list li {
    margin: 0;
}

.lang-list li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1px solid #ffffff;
    border-radius: 50%;
    background: transparent;
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 13px;
    transition: opacity 0.2s ease;
}

.lang-list li a:hover {
    background: #fff;
	color: #24364D;
}


/* ===========================================================
   LynxIT v2 — Design Tokens (extraído do Figma)
   1) Variáveis globais (:root) + overrides por breakpoint
   2) Aplicação às tags e classes
   !important para sobrepor ao Elementor.
   =========================================================== */

:root {
    /* ---------- CORES ---------- */
    --color-primary:    #29B9FC;                  /* azul principal */
    --color-primary-10: rgba(76, 181, 231, 0.1);  /* azul principal 10% */
    --color-dark:       #24364D;                  /* azul-escuro / texto */
    --color-white:      #FFFFFF;
    --color-light:      #EEF8FD;                   /* branco-azulado (texto sobre escuro) */
    --color-grey:       #BDBDBD;                   /* cinza (confirmado) */

    /* Escala de cinzas — APROX. (amostrado do render, confirmar) */
    --color-grey-100: #F4F5F6;
    --color-grey-200: #D6D9DC;
    --color-grey-300: #9FA4AB;
    --color-grey-400: #6E7681;
    --color-grey-500: #3F4A5B;

    /* Cor de texto base */
    --color-title: var(--color-dark);
    --color-text: #7C8694;

    /* ---------- TIPOGRAFIA ---------- */
    /* Famílias */
    --font-heading: "neo-sans", sans-serif;
    --font-body: "Inter", sans-serif;

    /* Pesos */
    --fw-medium: 500;
    --fw-regular: 400;

    /* Line-heights */
    --lh-heading: 1.2;
    --lh-h3: 1.4;
    --lh-body: 1.5;
    --lh-paragraph: 1.6;
    --lh-btn: 1;

    /* Font-sizes — Desktop (≥1441px) */
    --fs-h1: 72px;
    --fs-h2: 52px;
    --fs-h3: 38px;
    --fs-h4: 28px;
    --fs-h5: 22px;
    --fs-h6: 14px;
    --fs-p: 18px;
    --fs-btn: 16px;

    /* ---------- ESPAÇAMENTOS — Desktop (≥1441px) ---------- */
    --space-xxs: 8px;
    --space-xs:  16px;
    --space-s:   24px;
    --space-m:   32px;
    --space-l:   48px;
    --space-xl:  80px;
    --space-xxl: 140px;

    /* ---------- BORDER RADIUS — Desktop (≥1441px) ---------- */
    --radius-s: 6px;
    --radius-m: 12px;
    --radius-l: 18px;

    /* ---------- BOTÕES ---------- */
    --btn-gradient: linear-gradient(126deg, #1E8BCB 1%, #29B9FC 98%);
    --btn-padding: 14px 22px;
    --btn-padding-header: 11px 16px;
    --btn-radius: 1000px;     /* pill */
    --btn-transition: 0.25s ease;

    /* ---------- CONTAINER ---------- */
    --container-max: 1540px;

    /* ---------- CARDS (template-col) ---------- */
    --card-height: 600px;   /* altura mínima — ajustar (Figma não dá valor fixo) */
    --card-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);

    /* ---------- HERO / SLIDER ---------- */
    --hero-height: 900px;
    --hero-overlay: linear-gradient(90deg, rgba(36, 54, 77, 0.75) 0%, rgba(36, 54, 77, 0.25) 100%);

    /* Setas (SVG do Figma) — usadas como mask, cor via background-color */
    --arrow-left:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='22' viewBox='0 0 23 22' fill='none'%3E%3Cpath d='M22.484 11.0001L1.03613 11.0001' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10.9999 21.4999L0.500024 11L10.9999 0.500174' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='22' viewBox='0 0 23 22' fill='none'%3E%3Cpath d='M0.500117 10.9999H21.948' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.9842 0.500117L22.4841 11L11.9842 21.4998' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* === <1441px === */
@media (max-width: 1440px) {
    :root {
        /* Tipografia */
        --fs-h1: 36px;
        --fs-h2: 34px;
        --fs-h3: 26px;
        --fs-h4: 20px;
        --fs-h5: 14px;
        --fs-h6: 12px;
        --fs-p: 16px;

        /* Espaçamentos */
        --space-xxs: 8px;
        --space-xs:  14px;
        --space-s:   22px;
        --space-m:   28px;
        --space-l:   40px;
        --space-xl:  64px;
        --space-xxl: 140px;

        /* Border radius (inalterado) */
        --radius-s: 6px;
        --radius-m: 12px;
        --radius-l: 18px;

        /* Container (fluido) */
        --container-max: calc(100% - 160px);

        /* Hero */
        --hero-height: 720px;
    }
}

/* === <1025px === */
@media (max-width: 1024px) {
    :root {
        /* Tipografia */
        --fs-h1: 34px;
        --fs-h2: 30px;
        --fs-h3: 22px;
        --fs-h4: 18px;
        --fs-h5: 12px;
        --fs-h6: 10px;
        --fs-p: 16px;

        /* Espaçamentos (igual a <1441px) */
        --space-xxs: 8px;
        --space-xs:  14px;
        --space-s:   22px;
        --space-m:   28px;
        --space-l:   40px;
        --space-xl:  64px;
        --space-xxl: 140px;

        /* Border radius */
        --radius-s: 4px;
        --radius-m: 10px;
        --radius-l: 16px;

        /* Container (fluido) */
        --container-max: 96%;

        /* Hero */
        --hero-height: 640px;
    }
}

/* === <767px === */
@media (max-width: 766px) {
    :root {
        /* Tipografia */
        --fs-h1: 32px;
        --fs-h2: 28px;
        --fs-h3: 22px;
        --fs-h4: 18px;
        --fs-h5: 12px;
        --fs-h6: 10px;
        --fs-p: 16px;

        /* Espaçamentos */
        --space-xxs: 4px;
        --space-xs:  8px;
        --space-s:   16px;
        --space-m:   24px;
        --space-l:   32px;
        --space-xl:  48px;
        --space-xxl: 100px;

        /* Border radius (igual a <1025px) */
        --radius-s: 4px;
        --radius-m: 10px;
        --radius-l: 16px;

        /* Container (fluido) */
        --container-max: 94%;

        /* Hero */
        --hero-height: 540px;
    }
}

/* ===========================================================
   APLICAÇÃO — Tipografia
   =========================================================== */
h1 {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-h1) !important;
    font-weight: var(--fw-medium) !important;
    line-height: var(--lh-heading) !important;
    color: var(--color-title);
}

h2 {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-h2) !important;
    font-weight: var(--fw-medium) !important;
    line-height: var(--lh-heading) !important;
    color: var(--color-title);
}

h2 b {
    font-weight: var(--fw-medium) !important;
    color: var(--color-primary);
}

h3 {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-h3) !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-h3) !important;
    color: var(--color-title);
}

h4, .s4 .elementor-heading-title {
    font-family: var(--font-body) !important;
    font-size: var(--fs-h4) !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-body) !important;
    color: var(--color-title);
}

h5, .s5 .elementor-heading-title {
    font-family: var(--font-body) !important;
    font-size: var(--fs-h5) !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-body) !important;
    color: var(--color-title);
}

h6, .s6 .elementor-heading-title {
    font-family: var(--font-body) !important;
    font-size: var(--fs-h6) !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-body) !important;
    color: var(--color-title);
}

li,
span,
p {
    font-family: var(--font-body) !important;
    font-size: var(--fs-p) !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-paragraph) !important;
    color: inherit;
}

p strong,
p b {
    font-weight: var(--fw-normal) !important;
    color: var(--color-title);
}

.elementor-widget-text-editor {
    color: var(--color-text);
}

.btn {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-btn) !important;
    font-weight: var(--fw-medium) !important;
    line-height: var(--lh-btn) !important;
    text-transform: uppercase !important;
    color: var(--color-title) !important;
}

/* ===========================================================
   APLICAÇÃO — Cores (utilitários)
   =========================================================== */
.text-primary { color: var(--color-primary) !important; }
.text-dark    { color: var(--color-dark) !important; }
.text-white   { color: var(--color-white) !important; }
.text-grey    { color: var(--color-grey) !important; }

.bg-primary    { background-color: var(--color-primary) !important; }
.bg-primary-10 { background-color: var(--color-primary-10) !important; }
.bg-dark       { background-color: var(--color-dark) !important; }
.bg-white      { background-color: var(--color-white) !important; }
.bg-grey       { background-color: var(--color-grey) !important; }

/* ===========================================================
   APLICAÇÃO — Border Radius (utilitários)
   =========================================================== */
.radius-s { border-radius: var(--radius-s) !important; }
.radius-m { border-radius: var(--radius-m) !important; }
.radius-l { border-radius: var(--radius-l) !important; }

/* ===========================================================
   APLICAÇÃO — Padding (utilitários)
   Consomem os tokens --space-* (responsivos por breakpoint).
   =========================================================== */

/* Top */
.pd-top-xxs { padding-top: var(--space-xxs) !important; }
.pd-top-xs  { padding-top: var(--space-xs) !important; }
.pd-top-s   { padding-top: var(--space-s) !important; }
.pd-top-m   { padding-top: var(--space-m) !important; }
.pd-top-l   { padding-top: var(--space-l) !important; }
.pd-top-xl  { padding-top: var(--space-xl) !important; }
.pd-top-xxl { padding-top: var(--space-xxl) !important; }

/* Bottom */
.pd-bot-xxs { padding-bottom: var(--space-xxs) !important; }
.pd-bot-xs  { padding-bottom: var(--space-xs) !important; }
.pd-bot-s   { padding-bottom: var(--space-s) !important; }
.pd-bot-m   { padding-bottom: var(--space-m) !important; }
.pd-bot-l   { padding-bottom: var(--space-l) !important; }
.pd-bot-xl  { padding-bottom: var(--space-xl) !important; }
.pd-bot-xxl { padding-bottom: var(--space-xxl) !important; }

/* Left */
.pd-left-xxs { padding-left: var(--space-xxs) !important; }
.pd-left-xs  { padding-left: var(--space-xs) !important; }
.pd-left-s   { padding-left: var(--space-s) !important; }
.pd-left-m   { padding-left: var(--space-m) !important; }
.pd-left-l   { padding-left: var(--space-l) !important; }
.pd-left-xl  { padding-left: var(--space-xl) !important; }
.pd-left-xxl { padding-left: var(--space-xxl) !important; }

/* Right */
.pd-right-xxs { padding-right: var(--space-xxs) !important; }
.pd-right-xs  { padding-right: var(--space-xs) !important; }
.pd-right-s   { padding-right: var(--space-s) !important; }
.pd-right-m   { padding-right: var(--space-m) !important; }
.pd-right-l   { padding-right: var(--space-l) !important; }
.pd-right-xl  { padding-right: var(--space-xl) !important; }
.pd-right-xxl { padding-right: var(--space-xxl) !important; }

/* ===========================================================
   APLICAÇÃO — Max-width (utilitários)
   =========================================================== */
.w-450 { max-width: 450px !important; }
.w-500 { max-width: 500px !important; }
.w-550 { max-width: 550px !important; }
.w-600 { max-width: 600px !important; }
.w-650 { max-width: 650px !important; }
.w-700 { max-width: 700px !important; }
.w-750 { max-width: 750px !important; }
.w-800 { max-width: 800px !important; }
.w-900 { max-width: 900px !important; }


.elementor-nav-menu--main .elementor-nav-menu a {
    font-size: var(--fs-btn) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 150% !important;
    transition: color var(--btn-transition) !important;
}


/* ===========================================================
   APLICAÇÃO — Botões Elementor
   Base + modificadores (info / success).
   =========================================================== */

/* Base — botão azul (gradiente) */

.elementor-widget-button a {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-btn) !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-btn) !important;
    text-transform: uppercase !important;
    color: var(--color-white) !important;
    background: var(--btn-gradient) !important;
    padding: var(--btn-padding) !important;
    border: 1px solid transparent !important;
    border-radius: var(--btn-radius) !important;
    white-space: nowrap;
    transition: background var(--btn-transition), color var(--btn-transition), border-color var(--btn-transition) !important;
}

/* Base hover — fundo navy sólido, texto branco */
.elementor-widget-button a:hover,
.elementor-widget-button a:focus {
    background: var(--color-dark) !important;
    border-color: var(--color-dark) !important;
    color: var(--color-white) !important;
}

/* Info — fundo branco, borda branca, texto escuro */
.elementor-button-info.elementor-widget-button a {
    background: var(--color-white) !important;
    border-color: var(--color-white) !important;
    color: var(--color-dark) !important;
}

/* Info hover — fundo azul, texto branco */
.elementor-button-info.elementor-widget-button a:hover,
.elementor-button-info.elementor-widget-button a:focus {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}

/* Success — transparente, borda branca, texto branco */
.elementor-button-success.elementor-widget-button a {
    background: transparent !important;
    border-color: var(--color-white) !important;
    color: var(--color-white) !important;
}

header .elementor-widget-button a {
    font-family: var(--font-body) !important;
    text-transform: inherit !important;
    padding: var(--btn-padding-header) !important;
}

/* Success hover — preenche branco, texto navy */
.elementor-button-success.elementor-widget-button a:hover,
.elementor-button-success.elementor-widget-button a:focus {
    background: var(--color-white) !important;
    border-color: var(--color-white) !important;
    color: var(--color-dark) !important;
}

/* ===========================================================
   APLICAÇÃO — Container
   =========================================================== */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: var(--container-max) !important;
}

/* ===========================================================
   APLICAÇÃO — Slider inicial (Hero / .bannerhome)
   =========================================================== */
.bannerhome .elementor-widget:not(:last-child) {
    margin: 0 !important;
}

/* Altura do slide */
.bannerhome .elementor-main-swiper,
.bannerhome .swiper-slide-inner {
    min-height: var(--hero-height) !important;
}


.bannerhome .swiper-slide {    
    height: var(--hero-height) !important;
}

/* Overlay escuro sobre a imagem (legibilidade) */
.bannerhome .swiper-slide-inner::before {
    display: none;
    content: "";
    position: absolute;
    inset: 0;
    background: var(--hero-overlay);
    z-index: 0;
    pointer-events: none;
}

.bannerhome .swiper-slide-inner {
    width: 100% !important;    
    justify-content: center !important;
    padding: 0 !important;
}

/* Conteúdo acima do overlay, alinhado à esquerda */
.bannerhome .swiper-slide-contents {
    position: relative;
    z-index: 1;
    text-align: left;
    width: 100%;
    max-width: var(--container-max) !important;
}

/* Título do slide → S1 */
.bannerhome .elementor-slide-heading {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-h1) !important;
    font-weight: var(--fw-medium) !important;
    line-height: var(--lh-heading) !important;
    color: var(--color-white) !important;
    margin-bottom: var(--space-xs) !important;   /* 16px */
}

/* Descrição do slide → S4 */
.bannerhome .elementor-slide-description {
    font-family: var(--font-body) !important;
    font-size: var(--fs-h4) !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-body) !important;
    color: var(--color-light) !important;
    max-width: 515px;
    margin-bottom: var(--space-l) !important;     /* 48px */
}

/* Botão do slide → botão branco */
.bannerhome .elementor-slide-button {
    font-family: var(--font-heading) !important;
    font-size: var(--fs-btn) !important;
    font-weight: var(--fw-medium) !important;
    line-height: var(--lh-btn) !important;
    text-transform: uppercase !important;
    background: var(--color-white) !important;
    color: var(--color-dark) !important;
    border: 1px solid var(--color-white) !important;
    border-radius: var(--btn-radius) !important;
    padding: 18px 31px !important;
    transition: background var(--btn-transition), color var(--btn-transition), border-color var(--btn-transition) !important;
}

.bannerhome .elementor-slide-button:hover,
.bannerhome .elementor-slide-button:focus {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}

/* Setas de navegação — círculo branco 48px, chevron navy */
.bannerhome .elementor-swiper-button {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--color-white) !important;
    border-radius: 50% !important;
    color: var(--color-dark) !important;
    transition: background var(--btn-transition), color var(--btn-transition) !important;
}

/* Esconde o ícone de fonte do Elementor */
.bannerhome .elementor-swiper-button i {
    display: none !important;
}

/* Chevron via SVG do Figma (mask → cor controlável) */
.bannerhome .elementor-swiper-button::after {
    content: "" !important;
    width: 23px;
    height: 22px;
    background-color: var(--color-dark);
    -webkit-mask: no-repeat center / contain;
    mask: no-repeat center / contain;
    transition: background-color var(--btn-transition);
}

.bannerhome .elementor-swiper-button-prev::after {
    -webkit-mask-image: var(--arrow-left);
    mask-image: var(--arrow-left);
}

.bannerhome .elementor-swiper-button-next::after {
    -webkit-mask-image: var(--arrow-right);
    mask-image: var(--arrow-right);
}

/* Posição a 32px das margens */
.bannerhome .elementor-swiper-button-prev { left: 32px !important; }
.bannerhome .elementor-swiper-button-next { right: 32px !important; }

/* Hover — preenche azul, chevron branco */
.bannerhome .elementor-swiper-button:hover,
.bannerhome .elementor-swiper-button:focus {
    background: var(--color-primary) !important;
}

.bannerhome .elementor-swiper-button:hover::after,
.bannerhome .elementor-swiper-button:focus::after {
    background-color: var(--color-white);
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    border: 1px solid #fff !important;
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    max-width: var(--container-max) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: left !important;
    bottom: var(--space-l) !important;
}


.elementor-27 .elementor-element.elementor-element-7583b3f {
    width: fit-content !important;
}

.elementor-column.elementor-col-20.elementor-top-column.elementor-element.elementor-element-de0ef04 {
    width: 100%;
}

.elementor-27 .elementor-element.elementor-element-fd6afc0 {
    width: fit-content !important;
}

.elementor-27 .elementor-element.elementor-element-fd6afc0.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated {
    flex-direction: row;
    flex-wrap: nowrap;
}

.elementor-nav-menu--layout-horizontal {
    justify-content: center;
}

.elementor-27 .elementor-element.elementor-element-8bc52e3 img {
    min-width: 170px;    
}

.elementor-27 .elementor-element.elementor-element-e59c461 {
    padding: var(--space-s) 0 !important;
}

.elementor-27 .elementor-element.elementor-element-e59c461 > .elementor-container > .elementor-column > .elementor-widget-wrap {
    gap: var(--space-xxs);
}



.elementor-11 .elementor-element.elementor-element-01dea60 .elementor-wrapper {
    --video-aspect-ratio: 3 !important;
}
.elementor-custom-embed-play {
    background: var(--color-primary);
    padding: 15px;
    border-radius: 50px;
}
.elementor-custom-embed-play svg {
    fill: transparent !important;
}
.dialog-type-lightbox {
    z-index: 9999999999 !important;
}

/* ===========================================================
   APLICAÇÃO — Grid de cards (template-grid / template-col)
   =========================================================== */

/* Grid — colunas com altura igual */
.template-grid {
    align-items: stretch !important;
}

/* Cada coluna = card */
.template-col {
    display: flex !important;
}

/* Wrap do card: imagem de fundo (definida no Elementor) + layout */
.template-col > .elementor-widget-wrap {
    position: relative;
    width: 100%;
    min-height: var(--card-height);
    padding: var(--space-m) var(--space-s) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 0 !important;
    overflow: hidden;
}

/* Overlay escuro (gradiente em baixo) */
.template-col > .elementor-widget-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--card-overlay);
    z-index: 0;
    pointer-events: none;
}

/* Conteúdo acima do overlay */
.template-col .elementor-widget {
    position: relative;
    z-index: 1;
    width: 100%;
}

/* Título do card → S3 branco, centrado */
.template-col .elementor-heading-title {
    color: var(--color-white) !important;
    text-align: center !important;
}

/* Botão do card → texto sublinhado branco */
.template-col .elementor-button {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--color-white) !important;
    border-radius: 0 !important;
    padding: var(--space-xxs) 0 !important;               /* 8px 0 */
    color: var(--color-white) !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--fw-medium) !important;
    font-size: var(--fs-btn) !important;
    line-height: var(--lh-btn) !important;
    text-transform: uppercase !important;
    transition: color var(--btn-transition), border-color var(--btn-transition) !important;
}

.template-col .elementor-button:hover,
.template-col .elementor-button:focus {
    background: transparent !important;
    color: var(--color-primary) !important;
    border-bottom-color: var(--color-primary) !important;
}

footer span a {
    color: #D3D7DB !important;
}
.elementor-element.elementor-element-a154a78.elementor-widget.elementor-widget-heading span a {
    color: var(--color-white) !important;
}




.banners-internos {
    padding: var(--space-xxl) 0 var(--space-xl) !important;
}

.bg-video-left .elementor-background-video-container {
    z-index: 2 !important;
    width: 50% !important;
}

.bg-video-right .elementor-background-video-container {
    z-index: 2 !important;
    width: 50% !important;
    right: 0 !important;
    left: unset !important;
}

.bg-right .elementor-background-overlay {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 50% !important;
    left: unset !important;
}

.bg-left .elementor-background-overlay {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 50% !important;
    right: unset !important;
}


/* ===========================================================
   Slider Textos + Ícones — card de depoimento (Elementor)
   Figma: node 12710-2684 (Frame 333)
   Layout visual: ícone (48px) → título → parágrafo.

   Estrutura real do markup:
   .elementor-testimonial
   ├── __content > __text > .titulo + .texto   (título + parágrafo)
   └── __footer  > __image > img               (ícone)

   No DOM o texto vem ANTES do ícone; reordenamos via
   flexbox + order para pôr o ícone no topo.
   =========================================================== */

.elementor-widget-reviews .elementor-main-swiper, .elementor-widget-testimonial-carousel .elementor-main-swiper {
    width: 100% !important;
}

.elementor-widget-testimonial-carousel .swiper-slide {
    padding: 0 !important;
}


.elementor-widget-testimonial-carousel .elementor-testimonial__text {
    font-size: var(--fs-p);
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 160% !important;
}
.slider-textos-icones .elementor-testimonial {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    height: 100% !important;
    padding: var(--space-s) !important;           /* 24px */
    background: var(--color-dark) !important;      /* #24364D */
    border-radius: var(--radius-m) !important;     /* 12px */
    text-align: left !important;
    margin: 0 !important;
}

/* 1) ícone (rodapé) → topo, 48px de gap até o conteúdo */
.slider-textos-icones .elementor-testimonial__footer {
    order: 1;
    margin: 0 0 var(--space-l) 0 !important;       /* 48px */
}
.slider-textos-icones .elementor-testimonial__image {
    width: 48px !important;
    height: 48px !important;
    color: var(--color-primary);                   /* #29B9FC (caso SVG inline) */
}
.slider-textos-icones .elementor-testimonial__image img,
.slider-textos-icones .elementor-testimonial__image svg {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    border-radius: 0 !important;
    object-fit: contain;
    fill: currentColor;
}

/* 2) conteúdo (título + texto) → abaixo do ícone */
.slider-textos-icones .elementor-testimonial__content {
    order: 2;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
/* remove o "balão" / seta padrão do depoimento */
.slider-textos-icones .elementor-testimonial__content::before,
.slider-textos-icones .elementor-testimonial__content::after {
    display: none !important;
}

/* empilha título e parágrafo com 8px de gap */
.slider-textos-icones .elementor-testimonial__text {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-xxs) !important;              /* 8px */
}

/* título */
.slider-textos-icones .elementor-testimonial__text .titulo {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;     /* 400 */
    font-size: var(--fs-h4) !important;            /* 28px */
    line-height: var(--lh-body) !important;        /* 1.5 */
    color: var(--color-white) !important;          /* #FFFFFF */
}

/* parágrafo */
.slider-textos-icones .elementor-testimonial__text .texto {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;     /* 400 */
    font-size: var(--fs-p) !important;             /* 18px */
    line-height: var(--lh-paragraph) !important;   /* 1.6 */
    color: #D3D7DB !important;
}


/* ===========================================================
   Slider Textos — card branco (Elementor)
   Figma: node 12718-2968 (Frame 333)
   Layout: card branco com título + lista de itens.

   Estrutura real do markup:
   .elementor-testimonial
   ├── __content > __text > .titulo + .texto   (título + lista)
   └── __footer  (vazio)
   =========================================================== */
.slider-textos .elementor-testimonial {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    height: 100% !important;
    padding: var(--space-m) !important;            /* 32px */
    background: var(--color-white) !important;      /* #FFFFFF */
    border-radius: var(--radius-m) !important;      /* 12px */
    text-align: left !important;
    margin: 0 !important;
}

/* rodapé vazio — não ocupa espaço */
.slider-textos .elementor-testimonial__footer {
    display: none !important;
}

/* conteúdo */
.slider-textos .elementor-testimonial__content {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.slider-textos .elementor-testimonial__content::before,
.slider-textos .elementor-testimonial__content::after {
    display: none !important;
}

/* empilha título e lista com 24px de gap */
.slider-textos .elementor-testimonial__text {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-s) !important;                /* 24px */
}

/* título */
.slider-textos .elementor-testimonial__text .titulo {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;     /* 400 */
    font-size: var(--fs-h4) !important;            /* 28px */
    line-height: var(--lh-body) !important;        /* 1.5 */
    color: var(--color-dark) !important;           /* #24364D */
}

/* lista (agora <ul class="texto"><li>) — cada item com losango do Figma.
   Gap entre itens e ícone↔texto = 16px (Figma node 12718-2968). */
.slider-textos .elementor-testimonial__text .texto {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-xs) !important;               /* 16px entre itens */
}
.slider-textos .elementor-testimonial__text .texto li {
    display: flex !important;
    align-items: flex-start !important;            /* ícone alinhado à 1ª linha */
    gap: var(--space-xs) !important;               /* 16px ícone ↔ texto */
    margin: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;     /* 400 */
    font-size: var(--fs-h5) !important;            /* 22px */
    line-height: var(--lh-body) !important;        /* 1.5 */
    color: var(--color-dark) !important;           /* #24364D */
}
.slider-textos .elementor-testimonial__text .texto li::before {
    content: "" !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 1.5em !important;                       /* = altura da 1ª linha */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect opacity='0.5' x='12' y='0.707107' width='15.8284' height='15.8284' transform='rotate(45 12 0.707107)' fill='%2329B9FC' stroke='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 24px !important;          /* losango centrado na linha */
}


/* ===========================================================
   Setas dos sliders (Elementor Swiper) — botões 48px
   Figma: 12710-2695 (slider 1) e 12718-2818 (slider 2)
   Markup: .elementor-swiper-button > i.eicon-chevron-left/right
   Chevron via SVG (mask) — a cor = currentColor do botão.
   =========================================================== */
.slider-textos-icones .elementor-swiper-button,
.slider-textos .elementor-swiper-button {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: background var(--btn-transition), color var(--btn-transition) !important;
}

/* esconde o ícone de fonte do Elementor */
.slider-textos-icones .elementor-swiper-button i,
.slider-textos .elementor-swiper-button i {
    display: none !important;
}

/* chevron via SVG do Figma (48x48) — cor controlada por currentColor */
.slider-textos-icones .elementor-swiper-button::after,
.slider-textos .elementor-swiper-button::after {
    content: "" !important;
    width: 48px;
    height: 48px;
    background-color: currentColor;
    -webkit-mask: no-repeat center / contain;
    mask: no-repeat center / contain;
    transition: background-color var(--btn-transition);
}
.slider-textos-icones .elementor-swiper-button-prev::after,
.slider-textos .elementor-swiper-button-prev::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M35.1157 24.2527L13.6728 24.2527' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M23.6343 34.75L13.1369 24.2526L23.6343 13.7552' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M35.1157 24.2527L13.6728 24.2527' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M23.6343 34.75L13.1369 24.2526L23.6343 13.7552' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.slider-textos-icones .elementor-swiper-button-next::after,
.slider-textos .elementor-swiper-button-next::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M12.8843 23.7473H34.3272' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M24.3657 13.25L34.8631 23.7474L24.3657 34.2448' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M12.8843 23.7473H34.3272' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M24.3657 13.25L34.8631 23.7474L24.3657 34.2448' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* posiciona as setas mais para fora (-80px de cada lado) */
.slider-textos-icones .elementor-swiper-button-prev,
.slider-textos .elementor-swiper-button-prev {
    left: -80px !important;
}
.slider-textos-icones .elementor-swiper-button-next,
.slider-textos .elementor-swiper-button-next {
    right: -80px !important;
}

/* Slider 1 — fundo azul, chevron branco */
.slider-textos-icones .elementor-swiper-button {
    background: var(--color-primary) !important;    /* #29B9FC */
    color: var(--color-white) !important;           /* #FFFFFF */
}
.slider-textos-icones .elementor-swiper-button:hover,
.slider-textos-icones .elementor-swiper-button:focus {
    background: #1E8BCB !important;                 /* azul mais escuro (gradiente da marca) */
}

/* Slider 2 — fundo azul-claro, chevron azul; hover inverte */
.slider-textos .elementor-swiper-button {
    background: var(--color-light) !important;      /* #EEF8FD */
    color: var(--color-primary) !important;         /* #29B9FC */
}
.slider-textos .elementor-swiper-button:hover,
.slider-textos .elementor-swiper-button:focus {
    background: var(--color-primary) !important;    /* #29B9FC */
    color: var(--color-white) !important;           /* #FFFFFF */
}


/* ===========================================================
   Slider "Sabia que…" (Elementor testimonial-carousel)
   Escopo: .elementor-element-a00d33f
   Só texto (footer vazio). Card navy arredondado + setas
   circulares azuis, no mesmo padrão dos outros sliders.
   =========================================================== */

/* slides com altura igual (card preenche o mais alto) */
.elementor-element-a00d33f .swiper-slide {
    height: auto !important;
    padding: 0 !important;
}

/* card */
.elementor-element-a00d33f .elementor-testimonial {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    height: 100% !important;
    padding: var(--space-m) var(--space-l) !important;  /* 32px 48px */
    background: var(--color-dark) !important;            /* #24364D */
    border-radius: var(--radius-m) !important;           /* 12px */
    text-align: left !important;
    margin: 0 !important;
}

/* rodapé vazio — não ocupa espaço */
.elementor-element-a00d33f .elementor-testimonial__footer {
    display: none !important;
}

/* conteúdo — sem "balão"/seta padrão do depoimento */
.elementor-element-a00d33f .elementor-testimonial__content {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.elementor-element-a00d33f .elementor-testimonial__content::before,
.elementor-element-a00d33f .elementor-testimonial__content::after {
    display: none !important;
}

/* texto */
.elementor-element-a00d33f .elementor-testimonial__text {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;     /* 400 */
    font-size: var(--fs-h5) !important;            /* 22px */
    line-height: var(--lh-paragraph) !important;   /* 1.6 */
    color: var(--color-white) !important;          /* #FFFFFF */
}

/* setas — botões 48px circulares (mesmo chevron SVG dos outros sliders) */
.elementor-element-a00d33f .elementor-swiper-button {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: var(--color-primary) !important;   /* #29B9FC */
    color: var(--color-white) !important;          /* #FFFFFF */
    transition: background var(--btn-transition), color var(--btn-transition) !important;
}
.elementor-element-a00d33f .elementor-swiper-button:hover,
.elementor-element-a00d33f .elementor-swiper-button:focus {
    background: #1E8BCB !important;                /* azul mais escuro (gradiente da marca) */
}
/* setas fora da caixa (-80px de cada lado) */
.elementor-element-a00d33f .elementor-swiper-button-prev {
    left: -80px !important;
}
.elementor-element-a00d33f .elementor-swiper-button-next {
    right: -80px !important;
}
.elementor-element-a00d33f .elementor-swiper-button i {
    display: none !important;                       /* esconde o eicon */
}
.elementor-element-a00d33f .elementor-swiper-button::after {
    content: "" !important;
    width: 48px;
    height: 48px;
    background-color: currentColor;
    -webkit-mask: no-repeat center / contain;
    mask: no-repeat center / contain;
    transition: background-color var(--btn-transition);
}
.elementor-element-a00d33f .elementor-swiper-button-prev::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M35.1157 24.2527L13.6728 24.2527' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M23.6343 34.75L13.1369 24.2526L23.6343 13.7552' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M35.1157 24.2527L13.6728 24.2527' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M23.6343 34.75L13.1369 24.2526L23.6343 13.7552' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.elementor-element-a00d33f .elementor-swiper-button-next::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M12.8843 23.7473H34.3272' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M24.3657 13.25L34.8631 23.7474L24.3657 34.2448' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M12.8843 23.7473H34.3272' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M24.3657 13.25L34.8631 23.7474L24.3657 34.2448' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}


/* ===========================================================
   Tabelas de preço (Elementor price-table)
   Figma: node 14783-2129 (Frame 362)
   Escopo: a linha (.elementor-container) que contém o card
   "Mais utilizadores" (.pricing-list) — apanha os 3 cards.
   Card 1 (Gratuito) e Card 3 (.pricing-list): botão outline.
   Card 2 (€19,90 — tem fractional-part): botão gradiente.
   Card 3 é totalmente diferente: lista "texto | preço" (via JS).
   =========================================================== */

/* altura igual nas 3 colunas */
.elementor-container:has(.pricing-list) .elementor-widget-price-table,
.elementor-container:has(.pricing-list) .elementor-widget-price-table > .elementor-widget-container {
    height: 100% !important;
}

/* --- card --- */
.elementor-container:has(.pricing-list) .elementor-price-table {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding: var(--space-m) var(--space-s) !important;   /* 32px 24px */
    background: rgba(244, 245, 246, 0.5) !important;     /* F4F5F6 50% */
    border-radius: var(--radius-m) !important;           /* 12px */
    text-align: center !important;
}

/* achata o header para reordenar heading/subheading com o preço */
.elementor-container:has(.pricing-list) .elementor-price-table__header {
    display: contents !important;
}

/* ordem visual: heading → preço → subheading → botão → lista */
.elementor-container:has(.pricing-list) .elementor-price-table__heading      { order: 1; }
.elementor-container:has(.pricing-list) .elementor-price-table__price         { order: 2; }
.elementor-container:has(.pricing-list) .elementor-price-table__subheading    { order: 3; }
.elementor-container:has(.pricing-list) .elementor-price-table__footer        { order: 4; }
.elementor-container:has(.pricing-list) .elementor-price-table__features-list { order: 5; }

/* heading — cinza (Inter 18), alinhado à esquerda */
.elementor-container:has(.pricing-list) .elementor-price-table__heading {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: var(--fs-p) !important;                   /* 18px */
    line-height: var(--lh-paragraph) !important;         /* 1.6 */
    color: var(--color-text) !important;                 /* #7C8694 */
    text-align: left !important;
}

/* preço — Neo Sans grande (escuro), o "principal" com mais destaque */
.elementor-container:has(.pricing-list) .elementor-price-table__price {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: baseline !important;
    margin: var(--space-xxs) 0 0 0 !important;           /* 8px abaixo do heading */
    padding: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: var(--fs-h3) !important;                  /* 38px */
    line-height: var(--lh-h3) !important;                /* 1.4 */
    color: var(--color-dark) !important;                 /* #24364D */
}
.elementor-container:has(.pricing-list) .elementor-price-table__currency,
.elementor-container:has(.pricing-list) .elementor-price-table__integer-part,
.elementor-container:has(.pricing-list) .elementor-price-table__after-price,
.elementor-container:has(.pricing-list) .elementor-price-table__fractional-part {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
    font-weight: inherit !important;
    margin: 0 !important;
    align-self: baseline !important;
}
/* monta "19,90€": inteiro , fracionário € */
.elementor-container:has(.pricing-list) .elementor-price-table__integer-part { order: 1; }
.elementor-container:has(.pricing-list) .elementor-price-table__after-price  { order: 2; }
.elementor-container:has(.pricing-list) .elementor-price-table__currency     { order: 3; }
.elementor-container:has(.pricing-list) .elementor-price-table__fractional-part::before {
    content: "," !important;
}

/* subheading — cinza pequeno (Inter 10), alinhado à esquerda */
.elementor-container:has(.pricing-list) .elementor-price-table__subheading {
    margin: var(--space-xxs) 0 0 0 !important;           /* 8px abaixo do preço */
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
    color: var(--color-text) !important;                 /* #7C8694 */
    text-align: left !important;
}
/* card 1 (Gratuito): subheading duplica o heading — esconde-se mas
   mantém o espaço (visibility) para o header ficar com a mesma
   altura dos cards 2/3 e alinhar botão + lista. */
.elementor-container:has(.pricing-list) .elementor-widget-price-table:not(.pricing-list) .elementor-price-table:not(:has(.elementor-price-table__fractional-part)) .elementor-price-table__subheading {
    visibility: hidden !important;
}

/* --- botão --- */
.elementor-container:has(.pricing-list) .elementor-price-table__footer {
    margin: var(--space-l) 0 0 0 !important;             /* 48px acima */
    padding: 0 !important;
    width: 100% !important;
}
.elementor-container:has(.pricing-list) .elementor-price-table__button {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 32px !important;
    border-radius: 1000px !important;
    background: transparent !important;                  /* outline por defeito */
    border: 1px solid var(--color-dark) !important;
    color: var(--color-dark) !important;
    font-family: var(--font-heading) !important;
    font-weight: var(--fw-medium) !important;
    font-size: var(--fs-btn) !important;                 /* 16px */
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    transition: background var(--btn-transition), color var(--btn-transition), border-color var(--btn-transition) !important;
}
.elementor-container:has(.pricing-list) .elementor-price-table__button:hover,
.elementor-container:has(.pricing-list) .elementor-price-table__button:focus {
    background: var(--color-dark) !important;
    color: var(--color-white) !important;
}
/* card 2 (tem fractional-part): botão gradiente azul */
.elementor-container:has(.pricing-list) .elementor-price-table:has(.elementor-price-table__fractional-part) .elementor-price-table__button {
    background: var(--btn-gradient) !important;
    border-color: transparent !important;
    color: var(--color-white) !important;
}
.elementor-container:has(.pricing-list) .elementor-price-table:has(.elementor-price-table__fractional-part) .elementor-price-table__button:hover,
.elementor-container:has(.pricing-list) .elementor-price-table:has(.elementor-price-table__fractional-part) .elementor-price-table__button:focus {
    background: var(--color-dark) !important;
}

/* --- lista de features --- */
.elementor-container:has(.pricing-list) .elementor-price-table__features-list {
    margin: var(--space-l) 0 0 0 !important;             /* 48px acima */
    padding: 0 !important;
    list-style: none !important;
}
.elementor-container:has(.pricing-list) .elementor-price-table__features-list li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #D3D7DB !important;
}
.elementor-container:has(.pricing-list) .elementor-price-table__feature-inner {
    display: flex !important;
    align-items: center !important;
    gap: var(--space-xs) !important;                     /* 16px ícone ↔ texto */
    margin: 0 !important;
    padding: 8px 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: 14px !important;                          /* S6 */
    line-height: 1.5 !important;
    text-align: left !important;
    color: var(--color-dark) !important;                 /* #24364D */
}
/* item excluído (✗) — texto cinza */
.elementor-container:has(.pricing-list) .elementor-price-table__feature-inner:has(i.fa-times) {
    color: #A7AFB8 !important;
}

/* ícones check / x (substitui o glyph FontAwesome pelo SVG do Figma) */
.elementor-container:has(.pricing-list) .elementor-price-table__feature-inner i {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    font-size: 0 !important;                             /* esconde o glyph */
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px 16px !important;
}
.elementor-container:has(.pricing-list) .elementor-price-table__feature-inner i.fa-check {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M12.504 5.36533C12.6327 5.49667 12.6313 5.708 12.5 5.83733L8.95 9.33333C8.49267 9.78067 7.90467 10.0047 7.31667 10.0047C6.73467 10.0047 6.152 9.78533 5.69667 9.346L4.166 7.83667C4.03533 7.70733 4.034 7.49667 4.16267 7.36533C4.29333 7.234 4.504 7.23267 4.63467 7.362L6.16267 8.86867C6.812 9.496 7.83267 9.49333 8.48267 8.85667L12.032 5.36133C12.162 5.23267 12.374 5.234 12.5033 5.36467L12.504 5.36533ZM16 8C16 12.4113 12.4113 16 8 16C3.58867 16 0 12.4113 0 8C0 3.58867 3.58867 0 8 0C12.4113 0 16 3.58867 16 8ZM15.3333 8C15.3333 3.95667 12.0433 0.666667 8 0.666667C3.95667 0.666667 0.666667 3.95667 0.666667 8C0.666667 12.0433 3.95667 15.3333 8 15.3333C12.0433 15.3333 15.3333 12.0433 15.3333 8Z' fill='%2329B9FC'/%3E%3C/svg%3E") !important;
}
.elementor-container:has(.pricing-list) .elementor-price-table__feature-inner i.fa-times {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M10.5693 5.90267L8.472 8L10.5693 10.0973C10.6993 10.2273 10.6993 10.4387 10.5693 10.5687C10.504 10.634 10.4187 10.666 10.3333 10.666C10.248 10.666 10.1627 10.6333 10.0973 10.5687L8 8.47133L5.90267 10.5687C5.83733 10.634 5.752 10.666 5.66667 10.666C5.58133 10.666 5.496 10.6333 5.43067 10.5687C5.30067 10.4387 5.30067 10.2273 5.43067 10.0973L7.528 8L5.43067 5.90267C5.30067 5.77267 5.30067 5.56133 5.43067 5.43133C5.56067 5.30133 5.772 5.30133 5.902 5.43133L7.99933 7.52867L10.0967 5.43133C10.2267 5.30133 10.438 5.30133 10.568 5.43133C10.698 5.56133 10.698 5.77267 10.568 5.90267H10.5693ZM16 8C16 12.4113 12.4113 16 8 16C3.58867 16 0 12.4113 0 8C0 3.58867 3.58867 0 8 0C12.4113 0 16 3.58867 16 8ZM15.3333 8C15.3333 3.95667 12.0433 0.666667 8 0.666667C3.95667 0.666667 0.666667 3.95667 0.666667 8C0.666667 12.0433 3.95667 15.3333 8 15.3333C12.0433 15.3333 15.3333 12.0433 15.3333 8Z' fill='%23A7AFB8'/%3E%3C/svg%3E") !important;
}

/* --- Card 3 (.pricing-list): lista "texto | preço" em 2 colunas --- */
.elementor-container:has(.pricing-list) .pricing-list .elementor-price-table__feature-inner {
    justify-content: space-between !important;
    padding: 7px 0 !important;
}
.elementor-container:has(.pricing-list) .pricing-list .pl-label {
    color: var(--color-dark) !important;                 /* #24364D */
    text-align: left !important;
}
.elementor-container:has(.pricing-list) .pricing-list .pl-price {
    color: var(--color-primary) !important;              /* #29B9FC */
    text-align: right !important;
    white-space: nowrap !important;
}

.elementor-container:has(.pricing-list) .pricing-list .elementor-price-table__feature-inner > span {
    width: 100% !important;
    display: flex;
    justify-content: space-between;
}
.elementor-price-table__features-list li:before {
    display: none !important;
}


/* ===========================================================
   Toggle "Ver Condições Gerais" (Elementor toggle)
   Figma: node 14783-2161 (Frame 363)
   Barra: título azul Neo Sans 16 UPPER + chevron azul à esquerda,
   padding 16px 0, borda inferior #D3D7DB.
   =========================================================== */
.elementor-element-52eed6d .elementor-tab-title {
    display: flex !important;
    align-items: center !important;
    gap: var(--space-xxs) !important;            /* 8px */
    padding: var(--space-xs) 0 !important;       /* 16px 0 */
    border-bottom: 1px solid #D3D7DB !important;
    cursor: pointer !important;
}

/* título — Neo Sans 16 UPPER azul */
.elementor-element-52eed6d .elementor-toggle-title {
    font-family: var(--font-heading) !important;
    font-weight: var(--fw-regular) !important;
    font-size: var(--fs-btn) !important;         /* 16px */
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color: var(--color-primary) !important;      /* #29B9FC */
}

/* ícone — chevron azul fino (substitui o caret do FontAwesome) */
.elementor-element-52eed6d .elementor-toggle-icon {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}
.elementor-element-52eed6d .elementor-toggle-icon i {
    display: block !important;
    width: 8px !important;
    height: 16px !important;
    font-size: 0 !important;                     /* esconde o glyph FA */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='17' viewBox='0 0 9 17' fill='none'%3E%3Cpath d='M0.5 0.5L8.5 8.5L0.5 16.5' stroke='%2329B9FC' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    transition: transform var(--btn-transition) !important;
}
/* aberto: chevron a apontar para baixo */
.elementor-element-52eed6d .elementor-toggle-icon-opened i {
    transform: rotate(90deg) !important;
}


/* ===========================================================
   Accordions (Elementor) — CHROME PARTILHADO (todos)
   Ícone circular branco (+/−) à esquerda + título Inter 18,
   padding 24px 8px, borda inferior #D3D7DB.
   Fechado #505E71, aberto #24364D. Ícone alinhado ao topo da
   1ª linha (títulos podem quebrar).
   Escopo .elementor-widget-accordion → não afeta tabs/toggle,
   que reutilizam .elementor-tab-title.
   O CONTEÚDO é específico de cada accordion (blocos abaixo).
   Figma de referência: node 14793-2214 (Frame 370).
   =========================================================== */
.elementor-widget-accordion .elementor-accordion-item {
    border: 0 !important;
    background: transparent !important;
}

/* barra do título */
.elementor-widget-accordion .elementor-tab-title {
    display: flex !important;
    align-items: flex-start !important;          /* topo — títulos podem quebrar linha */
    gap: var(--space-xs) !important;             /* 16px */
    padding: var(--space-s) var(--space-xxs) !important;  /* 24px 8px */
    border-bottom: 1px solid #D3D7DB !important;
    background: transparent !important;
    cursor: pointer !important;
}
.elementor-widget-accordion .elementor-accordion-title {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: var(--fs-p) !important;           /* 18px */
    line-height: var(--lh-paragraph) !important; /* 1.6 */
    color: #505E71 !important;                   /* fechado */
    text-decoration: none !important;
}
.elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title {
    color: var(--color-dark) !important;         /* aberto #24364D */
}

/* ícone circular branco com +/− (substitui o glyph FontAwesome) */
.elementor-widget-accordion .elementor-accordion-icon {
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    margin-top: 2px !important;                   /* centra na 1ª linha (lh ~28px) */
    padding: 0 !important;
    float: none !important;
}
.elementor-widget-accordion .elementor-accordion-icon i {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 0 !important;                     /* esconde o glyph FA */
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 24px !important;
}
.elementor-widget-accordion .elementor-accordion-icon-closed i {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect width='24' height='24' rx='12' fill='white'/%3E%3Cpath d='M20.5 11.9941L3.5 11.9941' stroke='%2324364D' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.9941 3.5V20.5' stroke='%2324364D' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.elementor-widget-accordion .elementor-accordion-icon-opened i {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect width='24' height='24' rx='12' fill='white'/%3E%3Cpath d='M20.5 12L3.5 12' stroke='%2324364D' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}


/* ===========================================================
   Accordion "Gestão Documental" — CONTEÚDO
   Parágrafos + lista de vantagens (bullet losango 16px).
   =========================================================== */
.elementor-element-d627e78 .elementor-tab-content {
    padding: var(--space-xs) var(--space-xxs) var(--space-s) 48px !important; /* alinhado sob o título */
}
.elementor-element-d627e78 .elementor-tab-content p {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #505E71 !important;
    margin: 0 0 var(--space-xs) 0 !important;
}


/* lista de vantagens — bullet losango (16px) */
.elementor-element-d627e78 .elementor-tab-content ul {
    list-style: none !important;
    margin: 0 0 var(--space-xs) 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-xxs) !important;            /* 8px */
}
.elementor-element-d627e78 .elementor-tab-content ul li {
    display: flex !important;
    align-items: center !important;
    gap: var(--space-xs) !important;             /* 16px */
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--color-dark) !important;         /* #24364D */
}
.elementor-element-d627e78 .elementor-tab-content ul li::before {
    content: "" !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect opacity='0.5' x='12' y='0.707107' width='15.8284' height='15.8284' transform='rotate(45 12 0.707107)' fill='%2329B9FC' stroke='white'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}


/* ===========================================================
   Accordion FAQ — CONTEÚDO (só parágrafos)
   (chrome partilhado no bloco "Accordions — CHROME PARTILHADO")
   =========================================================== */
.elementor-element-7af3d1a .elementor-tab-content {
    padding: var(--space-xs) var(--space-xxs) var(--space-s) 48px !important; /* alinhado sob o título */
}
.elementor-element-7af3d1a .elementor-tab-content p {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #505E71 !important;
    margin: 0 !important;
}

/* --- conteúdo aberto (Compras/Logística/Funcionalidades — lista rica) --- */
.elementor-element-6e8e3ce .elementor-tab-content,
.elementor-element-0b51fd4 .elementor-tab-content {
    padding: var(--space-xs) var(--space-xxs) var(--space-s) var(--space-xxs) !important; /* losango sob o ícone */
}


/* ===========================================================
   Tabs (Elementor tabs widget)
   Escopo: .elementor-widget-tabs (não afeta accordion/toggle,
   que reutilizam .elementor-tab-title).
   Barra de títulos com sublinhado; ativo a azul da marca.
   Conteúdo: termo (negrito navy) + descrição (cinza), com
   losango da marca; sub-lista com losango 16px.
   =========================================================== */

/* --- barra de títulos (desktop) --- */
.elementor-widget-tabs .elementor-tabs-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--space-l) !important;                /* 48px entre tabs */
    border-bottom: 1px solid #D3D7DB !important;
}
.elementor-widget-tabs .elementor-tab-desktop-title {
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    background: transparent !important;
    padding: 0 0 var(--space-xs) 0 !important;     /* 16px abaixo */
    margin-bottom: -1px !important;                /* assenta sobre a linha da barra */
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: var(--fs-p) !important;             /* 18px */
    line-height: var(--lh-body) !important;
    color: #505E71 !important;                     /* inativo */
    cursor: pointer !important;
    transition: color var(--btn-transition), border-color var(--btn-transition) !important;
}
.elementor-widget-tabs .elementor-tab-desktop-title:hover {
    color: var(--color-dark) !important;
}
.elementor-widget-tabs .elementor-tab-desktop-title.elementor-active {
    color: var(--color-primary) !important;        /* #29B9FC */
    border-bottom-color: var(--color-primary) !important;
}

/* --- títulos mobile (Elementor mostra-os <768px como acordeão) --- */
.elementor-widget-tabs .elementor-tab-mobile-title {
    border: 0 !important;
    border-bottom: 1px solid #D3D7DB !important;
    padding: var(--space-s) 0 !important;          /* 24px 0 */
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: var(--fs-p) !important;
    line-height: var(--lh-body) !important;
    color: #505E71 !important;
    cursor: pointer !important;
}
.elementor-widget-tabs .elementor-tab-mobile-title.elementor-active {
    color: var(--color-primary) !important;
}

/* --- conteúdo --- */
.elementor-widget-tabs .elementor-tab-content {
    padding: var(--space-m) 0 !important;          /* 32px 0 */
    border: 0 !important;
}

.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title::before,
.elementor-widget-tabs.elementor-tabs-view-horizontal .elementor-tab-desktop-title::after {
    display:none;
}

/* lista de funcionalidades (1º nível) — losango + termo/descrição.
   Partilhado entre as Tabs e o accordion .elementor-element-6e8e3ce. */
.elementor-widget-tabs .elementor-tab-content > ul,
.elementor-element-6e8e3ce .elementor-tab-content > ul,
.elementor-element-0b51fd4 .elementor-tab-content > ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-s) !important;                /* 24px entre itens */
}
.elementor-widget-tabs .elementor-tab-content > ul > li,
.elementor-element-6e8e3ce .elementor-tab-content > ul > li,
.elementor-element-0b51fd4 .elementor-tab-content > ul > li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 0 0 var(--space-l) !important;      /* 48px p/ losango */
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: 16px !important;
    line-height: var(--lh-paragraph) !important;   /* 1.6 */
    color: #505E71 !important;                      /* itens só-texto (tab 2) */
}
.elementor-widget-tabs .elementor-tab-content > ul > li::before,
.elementor-element-6e8e3ce .elementor-tab-content > ul > li::before,
.elementor-element-0b51fd4 .elementor-tab-content > ul > li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 24px !important;
    height: calc(var(--fs-p) * var(--lh-body)) !important;  /* altura da 1ª linha do termo */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect opacity='0.5' x='12' y='0.707107' width='15.8284' height='15.8284' transform='rotate(45 12 0.707107)' fill='%2329B9FC' stroke='white'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 24px !important;
}

/* termo (negrito) */
.elementor-widget-tabs .elementor-tab-content > ul > li > p:first-child,
.elementor-widget-tabs .elementor-tab-content > ul > li > p strong,
.elementor-element-6e8e3ce .elementor-tab-content > ul > li > p:first-child,
.elementor-element-6e8e3ce .elementor-tab-content > ul > li > p strong,
.elementor-element-0b51fd4 .elementor-tab-content > ul > li > p:first-child,
.elementor-element-0b51fd4 .elementor-tab-content > ul > li > p strong {
    font-family: var(--font-body) !important;
    font-weight: var(--fw-medium) !important;      /* 500 */
    font-size: var(--fs-p) !important;             /* 18px */
    line-height: var(--lh-body) !important;
    color: var(--color-dark) !important;           /* #24364D */
    margin: 0 0 var(--space-xxs) 0 !important;      /* 8px até a descrição */
}

/* descrição (remove o recuo inline de 40px — o li já recua).
   Sem forçar font-weight: assim sub-títulos a negrito no meio do
   item (ex.: "Carregamento"/"Entrega") mantêm o bold inline. */
.elementor-widget-tabs .elementor-tab-content > ul > li > p,
.elementor-element-6e8e3ce .elementor-tab-content > ul > li > p,
.elementor-element-0b51fd4 .elementor-tab-content > ul > li > p {
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: var(--lh-paragraph) !important;   /* 1.6 */
    color: #505E71 !important;
    padding-left: 0 !important;
    margin: 0 !important;
}

/* sub-lista (ex.: PRR + Eficiente) — losango 16px */
.elementor-widget-tabs .elementor-tab-content ul ul,
.elementor-element-6e8e3ce .elementor-tab-content ul ul,
.elementor-element-0b51fd4 .elementor-tab-content ul ul {
    list-style: none !important;
    margin: var(--space-xs) 0 0 0 !important;       /* 16px acima */
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-xxs) !important;               /* 8px */
}
.elementor-widget-tabs .elementor-tab-content ul ul li,
.elementor-element-6e8e3ce .elementor-tab-content ul ul li,
.elementor-element-0b51fd4 .elementor-tab-content ul ul li {
    display: flex !important;
    align-items: flex-start !important;
    gap: var(--space-xs) !important;                /* 16px ícone ↔ texto */
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    font-weight: var(--fw-regular) !important;
    font-size: 16px !important;
    line-height: var(--lh-body) !important;         /* 1.5 */
    color: #505E71 !important;
    letter-spacing: normal !important;
}
.elementor-widget-tabs .elementor-tab-content ul ul li::before,
.elementor-element-6e8e3ce .elementor-tab-content ul ul li::before,
.elementor-element-0b51fd4 .elementor-tab-content ul ul li::before {
    content: "" !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 1.5em !important;                        /* = altura da 1ª linha */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect opacity='0.5' x='12' y='0.707107' width='15.8284' height='15.8284' transform='rotate(45 12 0.707107)' fill='%2329B9FC' stroke='white'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px 16px !important;
}
.elementor-widget-tabs .elementor-tab-content ul ul li span,
.elementor-element-6e8e3ce .elementor-tab-content ul ul li span,
.elementor-element-0b51fd4 .elementor-tab-content ul ul li span {
    font-size: inherit !important;
    letter-spacing: normal !important;
}


/* ===========================================================
   Formulários (Elementor)
   Figma: node 14793-2765 (Form)
   Inputs em estilo "underline" (só borda inferior a 50%),
   labels Inter 14, checkbox 14px radius 4, botão pill gradiente.
   =========================================================== */

/* Espaçamento vertical (Figma):
   - 48px (--space-l) entre as linhas de campos / mensagem (Frame 284, gap 48)
   - 32px (--space-m) da mensagem→política e política→botão (Frame 286, gap 32)
   Usamos margin-bottom por grupo (e não row-gap) para variar o espaço
   sem mexer nas larguras col-60/col-40. */
.elementor-form .elementor-form-fields-wrapper {
    row-gap: 0 !important;
}
.elementor-form .elementor-field-group {
    margin-bottom: var(--space-l) !important;      /* 48px (default) */
}
/* Mensagem → política e política → botão: 32px */
.elementor-form .elementor-field-type-textarea,
.elementor-form .elementor-field-type-acceptance {
    margin-bottom: var(--space-m) !important;      /* 32px */
}
/* reCAPTCHA invisível não ocupa espaço vertical */
.elementor-form .elementor-field-type-recaptcha_v3 {
    margin-bottom: 0 !important;
}
/* Botão é o último grupo — sem margem inferior */
.elementor-form .e-form__buttons,
.elementor-form .elementor-field-type-submit {
    margin-bottom: 0 !important;
}

/* Label do campo — Inter 14, navy, 8px acima do input */
.elementor-form .elementor-field-label {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-body) !important;        /* 1.5 */
    color: var(--color-dark) !important;           /* #24364D */
    margin-bottom: var(--space-xxs) !important;    /* 8px */
}

/* Inputs e textarea — underline (borda inferior 1px a 50%) */
.elementor-form .elementor-field-textual,
.elementor-form textarea.elementor-field-textual {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(36, 54, 77, 0.5) !important;
    border-radius: 0 !important;
    padding: var(--space-xxs) !important;          /* 8px */
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-body) !important;
    color: var(--color-dark) !important;
    box-shadow: none !important;
    transition: border-color var(--btn-transition) !important;
}

/* Textarea — espaço inferior extra (24px no Figma) */
.elementor-form textarea.elementor-field-textual {
    padding-bottom: var(--space-s) !important;
    resize: none !important;
    height: 80px !important;
}

/* Foco — borda inferior navy a 100% */
.elementor-form .elementor-field-textual:focus,
.elementor-form textarea.elementor-field-textual:focus {
    border-bottom-color: var(--color-dark) !important;
    outline: none !important;
}

/* Placeholder — navy a 50% */
.elementor-form .elementor-field-textual::placeholder,
.elementor-form textarea.elementor-field-textual::placeholder {
    color: rgba(36, 54, 77, 0.5) !important;
    opacity: 1 !important;
}

/* Checkbox de aceitação — quadrado 14px, borda navy, radius 4px (Figma 14793-2779) */
.elementor-form .elementor-field-subgroup,
.elementor-form .elementor-field-type-acceptance .elementor-field-subgroup {
    display: block !important;
}
.elementor-form .elementor-field-option {
    display: flex !important;
    align-items: flex-start !important;            /* topo — label pode quebrar linha */
    gap: var(--space-xxs) !important;              /* 8px */
}
.elementor-form input[type="checkbox"].elementor-acceptance-field {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    flex: 0 0 14px !important;
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;                     /* não deixa o flex esmagar */
    margin: 0 !important;
    margin-top: 3px !important;                     /* centra na 1ª linha (lh 21px) */
    padding: 0 !important;
    border: 1px solid var(--color-dark) !important;
    border-radius: 4px !important;
    background: transparent !important;
    background-image: none !important;
    cursor: pointer !important;
    position: relative !important;
    box-shadow: none !important;
    transition: background var(--btn-transition), border-color var(--btn-transition) !important;
}
.elementor-form input[type="checkbox"].elementor-acceptance-field:checked {
    background: var(--btn-gradient) !important;
    border-color: transparent !important;
}
.elementor-form input[type="checkbox"].elementor-acceptance-field:checked::before {
    display: none;
}
.elementor-form input[type="checkbox"].elementor-acceptance-field:checked::after {
    content: "" !important;
    position: absolute !important;
    left: 5px !important;
    top: 2px !important;
    width: 3px !important;
    height: 7px !important;
    border: solid var(--color-white) !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

/* Label do checkbox + link */
.elementor-form .elementor-field-option label {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: var(--fw-regular) !important;
    line-height: var(--lh-body) !important;        /* 1.5 → 21px */
    color: var(--color-dark) !important;
    margin: 0 !important;
}
.elementor-form .elementor-field-option label a {
    color: var(--color-dark) !important;
    text-decoration: underline !important;
}

/* Botão de envio — pill gradiente, Neo Sans 16 uppercase, full-width */
.elementor-form .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    background: var(--btn-gradient) !important;
    color: var(--color-white) !important;
    font-family: var(--font-heading) !important;
    font-size: var(--fs-btn) !important;           /* 16px */
    font-weight: var(--fw-medium) !important;
    line-height: var(--lh-btn) !important;
    text-transform: uppercase !important;
    border: 1px solid transparent !important;
    border-radius: var(--btn-radius) !important;   /* pill */
    padding: 12px var(--space-m) !important;        /* 18px 32px */
    transition: background var(--btn-transition), color var(--btn-transition), border-color var(--btn-transition) !important;
    margin-top: 0 !important;
    text-decoration: none !important;
}
.elementor-form .elementor-button:hover,
.elementor-form .elementor-button:focus {
    background: var(--color-dark) !important;
    border-color: var(--color-dark) !important;
    color: var(--color-white) !important;
}
.elementor-field-type-recaptcha_v3 {
    position: absolute;
}


.video-100 {
    height: 100% !important;
}

.video-100 * {
    height: 100% !important;
}


li.elementor-icon-list-item {
    align-items: flex-start !important;
}
li.elementor-icon-list-item span.elementor-icon-list-icon {
    min-width: 25px;
    margin-top: 4px;
}


.hide-desktop {
    display: none !important;
}


@media screen and (max-width: 1024px) {
	
	.hide-desktop {
    	display: flex !important;
	}
	
	.trp-language-switcher-container.trp-menu-ls-item {
    	align-items: center;
    	justify-content: center;
	}

	.trp-language-switcher-container.trp-menu-ls-item img {
    	display: none;
	}
	
    .pd-top-0-t {
        padding-top: 0 !important;
    }
    .pd-bot-0-t {
        padding-bottom: 0 !important;
    }
    .pd-left-0-t {
        padding-left: 0 !important;
    }
    .pd-right-0-t {
        padding-right: 0 !important;
    }

    .elementor-27 .elementor-element.elementor-element-7583b3f {
        width: 50% !important;
    }
    .elementor-27 .elementor-element.elementor-element-8bc52e3 img {
        min-width: 140px;
    }
    .elementor-column.elementor-col-20.elementor-top-column.elementor-element.elementor-element-de0ef04 {
        width: 50% !important;
    }



    .bg-video-left {
        padding-bottom: 400px !important;
    }
    .bg-video-left .elementor-background-video-container {
        width: 100% !important;
        height: 350px;
        bottom: 0 !important;
        top: unset !important;
    }
    .bg-video-right {
        padding-bottom: 400px !important;
    }
    .bg-video-right .elementor-background-video-container {
        width: 100% !important;
        height: 350px;
        bottom: 0 !important;
        top: unset !important;
    }
    .bg-right {
        padding-bottom: 400px !important;
    }
    .bg-right .elementor-background-overlay {
        width: 100% !important;
        height: 350px;
        bottom: 0 !important;
        top: unset !important;
    }
    .bg-left {
        padding-bottom: 400px !important;
    }
    .bg-left .elementor-background-overlay {
        width: 100% !important;
        height: 350px;
        bottom: 0 !important;
        top: unset !important;
    }

    /* Sliders: em tablet/mobile as setas passam para baixo e à esquerda */
    .slider-textos-icones .elementor-widget-container,
    .slider-textos .elementor-widget-container,
    .elementor-element-a00d33f .elementor-widget-container {
        position: relative !important;
        padding-bottom: 80px !important;
    }
    .slider-textos-icones .elementor-swiper-button,
    .slider-textos .elementor-swiper-button,
    .elementor-element-a00d33f .elementor-swiper-button {
        top: auto !important;
        bottom: -80px !important;
        transform: none !important;
        margin: 0 !important;
    }
    .slider-textos-icones .elementor-swiper-button-prev,
    .slider-textos .elementor-swiper-button-prev,
    .elementor-element-a00d33f .elementor-swiper-button-prev {
        left: 0 !important;
        right: auto !important;
    }
    .slider-textos-icones .elementor-swiper-button-next,
    .slider-textos .elementor-swiper-button-next,
    .elementor-element-a00d33f .elementor-swiper-button-next {
        left: 64px !important;          /* 48px botão + 16px gap */
        right: auto !important;
    }

    .inner-box {
        padding: var(--space-m) !important;
    }
}



@media screen and (max-width: 767px) {
    .bg-video-left {
        padding-bottom: 320px !important;
    }
    .bg-video-left .elementor-background-video-container {
        width: 100% !important;
        height: 280px;
        bottom: 0 !important;
        top: unset !important;
    }
    .bg-video-right {
        padding-bottom: 320px !important;
    }
    .bg-video-right .elementor-background-video-container {
        width: 100% !important;
        height: 280px;
        bottom: 0 !important;
        top: unset !important;
    }
    .bg-right {
        padding-bottom: 320px !important;
    }
    .bg-right .elementor-background-overlay {
        width: 100% !important;
        height: 280px;
        bottom: 0 !important;
        top: unset !important;
    }
    .bg-left {
        padding-bottom: 320px !important;
    }
    .bg-left .elementor-background-overlay {
        width: 100% !important;
        height: 280px;
        bottom: 0 !important;
        top: unset !important;
    }

    /* Formulário — campos em coluna única no mobile */
    .elementor-form .elementor-field-group.elementor-col-60,
    .elementor-form .elementor-field-group.elementor-col-40 {
        width: 100% !important;
    }
    .elementor-form .elementor-button {
        padding: var(--space-xs) var(--space-s) !important;
    }

    .inner-box {
        padding: var(--space-s) !important;
    }
}