/**
 * Front Page — Figma home.json corrections
 * Valores extraídos diretamente do JSON do Figma
 *
 * Fontes Figma: roca Bold (headings), Montserrat (body)
 * Container: 1440px, padding lateral 80px
 * Seções: Hero 451px, Valores 428px, Áreas 428px, Governança 530px, Parceiros 260px
 */

/* ===== CONTAINER GERAL ===== */
.home .relative.z-10 {
    background-color: #ffffff;
}

/* ===== FORÇAR MONTSERRAT EM TODO ELEMENTOR ===== */
.home .elementor *,
.home [class*="elementor"] {
    font-family: 'Montserrat', sans-serif !important;
}

/* Reset inline styles do Elementor que conflitam */
.home .elementor-widget-text-editor [style*="font-size"],
.home .elementor-widget-text-editor [style*="font-weight"],
.home .elementor-widget-text-editor [style*="letter-spacing"],
.home .elementor-widget-text-editor [style*="text-transform"] {
    font-family: 'Montserrat', sans-serif !important;
}

/* ===== SEÇÕES ELEMENTOR — padding Figma ===== */
.home .elementor-section {
    padding: 64px 80px !important;
}
.home .elementor-section .elementor-container {
    max-width: 1280px !important;
    margin: 0 auto !important;
}

/* ===== TIPOGRAFIA — Figma tokens ===== */

/* H1: roca Bold 36px/45px */
.home h1.elementor-heading-title,
.home .elementor-heading-title[style*="font-size"] {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 36px !important;
    line-height: 45px !important;
    letter-spacing: normal !important;
}

/* H2: roca Bold 30px/36px */
.home h2.elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 30px !important;
    line-height: 36px !important;
    margin-bottom: 24px !important;
}

/* H3: roca Bold 20px/28px (cards) */
.home h3.elementor-heading-title,
.home .elementor-widget-text-editor h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    line-height: 28px !important;
}

/* Parágrafos: Montserrat 400 16px/26px */
.home .elementor-widget-text-editor p {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 26px !important;
    color: #4A5565 !important;
}


/* ===== HERO (Figma: 451px, bg #072047, px-80 pt-64) ===== */
.home .elementor-section[data-settings*="072047"],
.home [data-id="hero001"] {
    min-height: 451px;
    padding: 64px 80px !important;
}

/* Hero badge (hero003): Montserrat Regular 14px/20px, pill */
.home [data-id="hero003"] div[style] {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 20px !important;
    padding: 8px 16px !important;
    border-radius: 9999px !important;
}

/* Hero H1 (hero004): Montserrat Bold 36px/45px branco */
.home [data-id="hero004"] h1,
.home [data-id="hero001"] h1,
.home .elementor-section[data-settings*="072047"] h1 {
    font-family: 'Montserrat', sans-serif !important;
    color: #ffffff !important;
    font-size: 36px !important;
    line-height: 45px !important;
    font-weight: 700 !important;
    margin-bottom: 24px !important;
}

/* Hero parágrafo (hero005): Montserrat Regular 18px/29.25px branco 90% */
.home [data-id="hero005"] p[style],
.home [data-id="hero005"] p,
.home [data-id="hero001"] .elementor-widget-text-editor p,
.home .elementor-section[data-settings*="072047"] .elementor-widget-text-editor p {
    font-family: 'Montserrat', sans-serif !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 18px !important;
    line-height: 29.25px !important;
    font-weight: 400 !important;
}


/* ===== SIDE CARDS (Hero/Valores/Governança) ===== */
.home .elementor-widget-text-editor div[style*="border-radius"] {
    border-radius: 16px !important;
}
.home .elementor-widget-text-editor div[style*="padding:48px"],
.home .elementor-widget-text-editor div[style*="padding: 48px"] {
    padding: 32px !important;
    border-radius: 16px !important;
    min-height: 280px !important;
}

/* Card icon: 64x64 */
.home .elementor-widget-text-editor div[style*="padding:48px"] svg,
.home .elementor-widget-text-editor div[style*="padding: 48px"] svg {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: 20px !important;
}

/* Card H3: roca Bold 20px/28px branco */
.home .elementor-widget-text-editor div[style*="padding:48px"] h3,
.home .elementor-widget-text-editor div[style*="padding: 48px"] h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    margin-bottom: 12px !important;
    color: #ffffff;
}

/* Card parágrafo: Montserrat 400 16px/24px branco 90% */
.home .elementor-widget-text-editor div[style*="padding:48px"] p,
.home .elementor-widget-text-editor div[style*="padding: 48px"] p {
    font-size: 16px !important;
    line-height: 24px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    margin-bottom: 24px !important;
}

/* Card CTA button */
.home .elementor-widget-text-editor a[style*="border-radius"],
.home .elementor-widget-text-editor a[style*="padding:14px"],
.home .elementor-widget-text-editor a[style*="padding: 14px"] {
    padding: 8px 16px !important;
    border-radius: 14px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.3s ease !important;
}
.home .elementor-widget-text-editor a[style*="border-radius"]:hover,
.home .elementor-widget-text-editor a[style*="padding:14px"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}


/* ===== SEÇÃO ÁREAS DE INTERESSE ===== */
.home .elementor-section[data-settings*="F1F5F9"],
.home .elementor-section[data-settings*="f1f5f9"] {
    padding: 80px 80px !important;
}

.home .elementor-section[data-settings*="F1F5F9"] h2,
.home .elementor-section[data-settings*="f1f5f9"] h2 {
    text-align: center !important;
    font-size: 36px !important;
    line-height: 40px !important;
}

/* Nav cards */
.home .elementor-widget-text-editor a[style*="min-height"] {
    padding: 20px !important;
    min-height: 180px !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 6px -4px rgba(0,0,0,0.1), 0 10px 15px -3px rgba(0,0,0,0.1) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.home .elementor-widget-text-editor a[style*="min-height"]:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 25px -5px rgba(0,0,0,0.15), 0 20px 30px -5px rgba(0,0,0,0.1) !important;
}

.home .elementor-widget-text-editor a[style*="min-height"] h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 28px !important;
    color: #ffffff !important;
}

.home .elementor-widget-text-editor a[style*="min-height"] span,
.home .elementor-widget-text-editor a[style*="min-height"] p {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    color: #ffffff !important;
}


/* ===== SEÇÃO GOVERNANÇA ===== */
.home .elementor-icon-list-text {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: #364153 !important;
}
.home .elementor-icon-list-item {
    margin-bottom: 16px !important;
}
.home .elementor-icon-list-icon svg {
    width: 8px !important;
    height: 8px !important;
}


/* ===== GRID — gap entre colunas ===== */
.home .elementor-section .elementor-row,
.home .elementor-section .elementor-container {
    gap: 48px;
}


/* ===== RESPONSIVIDADE ===== */
@media (max-width: 1024px) {
    .home .elementor-section {
        padding: 48px 32px !important;
    }
    .home h1.elementor-heading-title {
        font-size: 30px !important;
        line-height: 38px !important;
    }
    .home h2.elementor-heading-title {
        font-size: 26px !important;
        line-height: 32px !important;
    }
    .home .elementor-widget-text-editor div[style*="padding:48px"],
    .home .elementor-widget-text-editor div[style*="padding: 48px"] {
        padding: 24px !important;
        min-height: 240px !important;
    }
}

@media (max-width: 768px) {
    .home .elementor-section {
        padding: 40px 16px !important;
    }
    .home h1.elementor-heading-title {
        font-size: 26px !important;
        line-height: 34px !important;
    }
    .home h2.elementor-heading-title {
        font-size: 22px !important;
        line-height: 28px !important;
    }
    .home .elementor-widget-text-editor p {
        font-size: 15px !important;
        line-height: 24px !important;
    }
    .home .elementor-widget-text-editor a[style*="min-height"] {
        min-height: 160px !important;
        padding: 16px !important;
    }
    .home .elementor-widget-text-editor div[style*="padding:48px"],
    .home .elementor-widget-text-editor div[style*="padding: 48px"] {
        padding: 20px !important;
        min-height: 220px !important;
    }
    .home .elementor-section .elementor-row,
    .home .elementor-section .elementor-container {
        gap: 24px;
    }
}

/* ===== ANIMAÇÃO SUAVE ===== */
.home .elementor-section {
    animation: fadeInUp 0.6s ease-out;
}
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}
