.elementor-4390 .elementor-element.elementor-element-5f03fdb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4390 .elementor-element.elementor-element-5f03fdb.e-con{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-4390 .elementor-element.elementor-element-c0645c5{width:100%;max-width:100%;}.elementor-4390 .elementor-element.elementor-element-517b18d{--display:flex;--min-height:1439px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4390 .elementor-element.elementor-element-68f4b34{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4390 .elementor-element.elementor-element-d7b5b07{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4390 .elementor-element.elementor-element-fa35a1b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4390 .elementor-element.elementor-element-ef9b56c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS *//* ==================================================
   MUSEU DA FAMÍLIA ALMEIDA
   CSS DEFINITIVO - PARTE 1
   Base + Cabeçalho + Hero + Apresentação + Números
================================================== */

/* RESET */

html,
body{
    margin:0;
    padding:0;
}

.mfa-page,
.mfa-page *{
    box-sizing:border-box;
}

/* VARIÁVEIS */

:root{

    --mfa-bg:#0f1115;
    --mfa-bg-soft:#171c22;
    --mfa-bg-dark:#090c10;

    --mfa-gold:#c8a86b;
    --mfa-gold-light:#d8bb83;

    --mfa-white:#ffffff;
    --mfa-text:#d8d8d8;

    --mfa-border:rgba(255,255,255,.08);

    --mfa-radius:20px;

    --mfa-shadow:
    0 20px 50px rgba(0,0,0,.35);

}

/* CONTAINER PRINCIPAL */

.mfa-page{

    background:var(--mfa-bg);

    color:var(--mfa-text);

    font-family:
    Inter,
    Arial,
    sans-serif;

    overflow:hidden;

}

/* REMOVE ESPAÇOS */

.mfa-page section{

    margin:0 !important;

}

/* CONTAINER PADRÃO */

.mfa-container{

    width:100%;
    max-width:1200px;

    margin:auto;

    padding-left:30px;
    padding-right:30px;

}

/* ==================================================
   CABEÇALHO
================================================== */

.mfa-header{

    position:sticky;

    top:0;

    z-index:999;

    background:
    rgba(10,10,10,.92);

    backdrop-filter:blur(10px);

    border-bottom:
    1px solid rgba(200,168,107,.15);

}

.mfa-header-container{

    max-width:1200px;

    margin:auto;

    padding:16px 30px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

}

.mfa-header-brand{

    display:flex;

    align-items:center;

    gap:15px;

}

.mfa-header-logo{

    width:50px;
    height:50px;

    border-radius:50%;

    background:var(--mfa-gold);

    color:#111;

    font-weight:700;

    display:flex;

    justify-content:center;
    align-items:center;

}

.mfa-header-title{

    display:flex;

    flex-direction:column;

}

.mfa-header-title span{

    color:var(--mfa-gold);

    font-size:.75rem;

    text-transform:uppercase;

    letter-spacing:1px;

}

.mfa-header-title strong{

    color:#fff;

    font-size:1rem;

}

.mfa-header-btn{

    color:#fff;

    text-decoration:none;

    padding:12px 22px;

    border-radius:50px;

    border:1px solid rgba(255,255,255,.15);

    transition:.3s;

}

.mfa-header-btn{

    background:var(--mfa-gold);

    color:#111111;

    text-decoration:none;

    padding:12px 22px;

    border-radius:50px;

    border:none;

    transition:.3s;

}

.mfa-header-btn:hover{

    background:var(--mfa-gold-light);

    color:#111111;

}{

    background:var(--mfa-gold);

    color:#111;

}

/* ==================================================
   HERO
================================================== */

.mfa-hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

}

.mfa-overlay{

    position:absolute;

    inset:0;

    background:
    rgba(0,0,0,.60);

}

.mfa-hero-content{

    position:relative;

    z-index:5;

    max-width:900px;

    padding:40px;

}

.mfa-badge{

    display:inline-block;

    background:
    rgba(200,168,107,.12);

    border:
    1px solid rgba(200,168,107,.25);

    color:var(--mfa-gold);

    padding:12px 22px;

    border-radius:50px;

    margin-bottom:25px;

}

.mfa-hero h1{

    color:#fff;

    font-size:clamp(3rem,7vw,6rem);

    line-height:1.1;

    margin-bottom:20px;

}

.mfa-hero h2{

    color:var(--mfa-gold);

    font-size:clamp(1.2rem,3vw,2rem);

    font-weight:500;

    margin-bottom:25px;

}

.mfa-hero p{

    color:var(--mfa-text);

    line-height:2;

    font-size:1.1rem;

    max-width:800px;

    margin:auto;

}

/* BOTÕES */

.mfa-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

    margin-top:40px;

}

.mfa-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    text-decoration:none;

    padding:16px 30px;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

}

.mfa-btn-primary{

    background:var(--mfa-gold);

    color:#111;

}

.mfa-btn-primary:hover{

    background:var(--mfa-gold-light);

    transform:translateY(-3px);

}

.mfa-btn-secondary{

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

}

.mfa-btn-secondary:hover{

    background:rgba(255,255,255,.05);

}

/* ==================================================
   TÍTULOS
================================================== */

.mfa-section-heading{

    margin-bottom:60px;

}

.mfa-section-heading.center{

    text-align:center;

}

.mfa-section-label{

    display:inline-block;

    color:var(--mfa-gold);

    margin-bottom:15px;

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:.85rem;

}

.mfa-section-heading h2{

    color:#fff;

    font-size:clamp(2rem,4vw,3.5rem);

    line-height:1.25;

    margin-bottom:25px;

}

.mfa-section-heading p{

    max-width:800px;

    margin:auto;

    line-height:2;

}

/* ==================================================
   APRESENTAÇÃO
================================================== */

.mfa-about{

    background:var(--mfa-bg);

    padding:120px 0;

}

.mfa-about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.mfa-about-content h2{

    color:#fff;

    font-size:3rem;

    margin-bottom:25px;

}

.mfa-about-content p{

    line-height:2;

    margin-bottom:20px;

}

/* ==================================================
   PLACEHOLDERS
================================================== */

.mfa-image-placeholder{

    min-height:320px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    border:
    2px dashed rgba(200,168,107,.30);

    border-radius:var(--mfa-radius);

    background:
    rgba(255,255,255,.03);

    color:var(--mfa-gold);

    padding:30px;

}

.mfa-image-placeholder.portrait{

    min-height:500px;

}

.mfa-image-placeholder.large{

    min-height:550px;

}

/* ==================================================
   NÚMEROS
================================================== */

.mfa-stats{

    background:var(--mfa-bg-soft);

    padding:120px 0;

}

.mfa-stats-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;

}

.mfa-stat-card{

    background:
    rgba(255,255,255,.03);

    border:
    1px solid var(--mfa-border);

    border-radius:var(--mfa-radius);

    padding:40px 25px;

    text-align:center;

    transition:.3s;

}

.mfa-stat-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--mfa-shadow);

}

.mfa-stat-number{

    color:var(--mfa-gold);

    font-size:3rem;

    font-weight:800;

    margin-bottom:10px;

}

.mfa-stat-title{

    color:#fff;

}

/* MELHOR LEGIBILIDADE */

.mfa-page h1,
.mfa-page h2,
.mfa-page h3{

    color:#fff;

}

.mfa-page p{

    line-height:1.9;

}
/* ==================================================
   MUSEU DA FAMÍLIA ALMEIDA
   CSS DEFINITIVO - PARTE 2
   Timeline + Galeria + Encerramento + Footer
================================================== */

/* ==========================================
   TIMELINE
========================================== */

.mfa-timeline{

    background:#14181e;

    padding:120px 0;

}

.mfa-timeline-wrapper{

    max-width:1000px;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:40px;

}

.mfa-timeline-item{

    display:grid;

    grid-template-columns:120px 1fr;

    gap:30px;

    align-items:flex-start;

}

.mfa-timeline-year{

    color:var(--mfa-gold);

    font-size:2rem;

    font-weight:800;

}

.mfa-timeline-card{

    background:rgba(255,255,255,.03);

    border:1px solid var(--mfa-border);

    border-radius:var(--mfa-radius);

    padding:30px;

}

.mfa-timeline-card h3{

    color:#fff;

    margin:25px 0 15px;

}

.mfa-timeline-card p{

    line-height:1.9;

}

/* ==========================================
   FUNDADORES
========================================== */

.mfa-founders{

    background:var(--mfa-bg);

    padding:120px 0;

}

.mfa-founders-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:40px;

}

.mfa-founder-card{

    background:rgba(255,255,255,.03);

    border:1px solid var(--mfa-border);

    border-radius:var(--mfa-radius);

    overflow:hidden;

    transition:.3s;

}

.mfa-founder-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--mfa-shadow);

}

.mfa-founder-content{

    padding:35px;

}

.mfa-founder-content h3{

    font-size:2rem;

    margin-bottom:10px;

}

.mfa-founder-years{

    color:var(--mfa-gold);

    display:block;

    margin-bottom:25px;

}

.mfa-founder-content p{

    margin-bottom:18px;

}

/* ==========================================
   HISTÓRIAS
========================================== */

.mfa-stories{

    background:var(--mfa-bg-soft);

    padding:120px 0;

}

.mfa-stories-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.mfa-story-card{

    background:rgba(255,255,255,.03);

    border:1px solid var(--mfa-border);

    border-radius:var(--mfa-radius);

    overflow:hidden;

    transition:.3s;

}

.mfa-story-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--mfa-shadow);

}

.mfa-story-content{

    padding:25px;

}

.mfa-story-content h3{

    margin-bottom:12px;

}

.mfa-story-content p{

    line-height:1.8;

}

/* ==========================================
   GALERIA
========================================== */

.mfa-gallery{

    background:var(--mfa-bg);

    padding:120px 0;

}

.mfa-gallery-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}

.mfa-gallery-item{

    text-decoration:none;

}

.mfa-gallery-item .mfa-image-placeholder{

    min-height:300px;

    transition:.3s;

}

.mfa-gallery-item:hover .mfa-image-placeholder{

    transform:scale(1.03);

    border-color:var(--mfa-gold);

}

.mfa-gallery-note{

    text-align:center;

    margin-top:30px;

    opacity:.8;

}

/* ==========================================
   DOCUMENTOS
========================================== */

.mfa-documents{

    background:#11151a;

    padding:120px 0;

}

.mfa-documents-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.mfa-document-card{

    background:rgba(255,255,255,.03);

    border:1px solid var(--mfa-border);

    border-radius:var(--mfa-radius);

    overflow:hidden;

    transition:.3s;

}

.mfa-document-card:hover{

    transform:translateY(-8px);

}

.mfa-document-card h3{

    padding:25px 25px 15px;

}

.mfa-document-card p{

    padding:0 25px 25px;

}

/* ==========================================
   FRASE DO LEGADO
========================================== */

.mfa-legacy-quote{

    background:#090c10;

    padding:140px 0;

}

.mfa-quote-wrapper{

    max-width:900px;

    margin:auto;

    text-align:center;

}

.mfa-quote-icon{

    font-size:5rem;

    color:var(--mfa-gold);

    margin-bottom:20px;

}

.mfa-quote-wrapper blockquote{

    color:#fff;

    font-size:clamp(2rem,4vw,3.2rem);

    line-height:1.5;

}

.mfa-quote-divider{

    width:120px;

    height:2px;

    background:var(--mfa-gold);

    margin:35px auto;

}

/* ==========================================
   ÁRVORE GENEALÓGICA
========================================== */

.mfa-tree{

    background:var(--mfa-bg);

    padding:120px 0;

}

.mfa-tree-wrapper{

    max-width:1000px;

    margin:auto;

}

.mfa-tree-button{

    text-align:center;

    margin-top:40px;

}

/* ==========================================
   VÍDEOS
========================================== */

.mfa-videos{

    background:var(--mfa-bg-soft);

    padding:120px 0;

}

.mfa-videos-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.mfa-video-card{

    background:rgba(255,255,255,.03);

    border:1px solid var(--mfa-border);

    border-radius:var(--mfa-radius);

    overflow:hidden;

}

.mfa-video-placeholder{

    height:260px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:4rem;

    color:var(--mfa-gold);

    border-bottom:1px solid var(--mfa-border);

}

.mfa-video-card h3{

    padding:25px 25px 10px;

}

.mfa-video-card p{

    padding:0 25px 25px;

}

/* ==========================================
   ENCERRAMENTO
========================================== */

.mfa-closing{

    position:relative;

    min-height:90vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    background:#0b0d10;

    overflow:hidden;

}

.mfa-closing-content{

    position:relative;

    z-index:10;

    max-width:850px;

    padding:40px;

}

.mfa-closing-content h2{

    font-size:clamp(2.5rem,5vw,4.5rem);

    margin-bottom:30px;

}

.mfa-closing-content p{

    margin-bottom:20px;

    line-height:1.9;

}

.mfa-closing-content .mfa-btn{

    margin-top:25px;

}

/* ==========================================
   FOOTER
========================================== */

.mfa-footer{

    background:#050607;

    padding:80px 0;

}

.mfa-footer-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

}

.mfa-footer-brand h3{

    margin-bottom:10px;

}

.mfa-footer-menu{

    display:flex;

    flex-wrap:wrap;

    gap:25px;

}

.mfa-footer-menu a{

    color:var(--mfa-text);

    text-decoration:none;

    transition:.3s;

}

.mfa-footer-menu a:hover{

    color:var(--mfa-gold);

}

.mfa-footer-divider{

    height:1px;

    background:var(--mfa-border);

    margin:35px 0;

}

.mfa-footer-bottom{

    text-align:center;

    opacity:.8;

}

/* ==========================================
   CTA CPM
========================================== */

.mfa-demo-note{

    background:#020304;

    padding:60px 0;

}

.mfa-demo-box{

    max-width:800px;

    margin:auto;

    text-align:center;

}

.mfa-demo-box p{

    margin-bottom:25px;

}

/* ==========================================
   RESPONSIVIDADE
========================================== */

@media(max-width:1024px){

    .mfa-stories-grid,
    .mfa-documents-grid,
    .mfa-videos-grid{

        grid-template-columns:1fr 1fr;

    }

}

@media(max-width:768px){

    .mfa-header-container,
    .mfa-footer-top{

        flex-direction:column;

        text-align:center;

    }

    .mfa-about-grid,
    .mfa-founders-grid,
    .mfa-gallery-grid,
    .mfa-stories-grid,
    .mfa-documents-grid,
    .mfa-videos-grid{

        grid-template-columns:1fr;

    }

    .mfa-stats-grid{

        grid-template-columns:1fr 1fr;

    }

    .mfa-timeline-item{

        grid-template-columns:1fr;

    }

    .mfa-timeline-year{

        margin-bottom:15px;

    }

    .mfa-container{

        padding-left:20px;
        padding-right:20px;

    }

}
/* ==================================================
   PADRÃO GLOBAL DE BOTÕES (DOURADO + TEXTO BRANCO)
================================================== */

/* Botões principais do projeto */
.mfa-page .mfa-btn,
.mfa-page a.mfa-btn,
.mfa-page button,
.mfa-page input[type="button"],
.mfa-page input[type="submit"],
.mfa-page .elementor-button,
.mfa-page .elementor-button-link,
.mfa-page .elementor-widget-button a{

    background: var(--mfa-gold) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;

    font-weight: 600;

    transition: .3s ease;
}

/* Hover geral */
.mfa-page .mfa-btn:hover,
.mfa-page button:hover,
.mfa-page input[type="button"]:hover,
.mfa-page input[type="submit"]:hover,
.mfa-page .elementor-button:hover,
.mfa-page .elementor-button-link:hover,
.mfa-page .elementor-widget-button a:hover{

    background: var(--mfa-gold-light) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Garante consistência de links que parecem botões */
.mfa-page a{
    text-decoration: none;
}
.mfa-page .mfa-btn,
.mfa-page .elementor-button,
.mfa-page a.mfa-btn{

    background:#c8a86b !important;
    color:#111 !important;

    font-weight:600;
}

/* Hover mais elegante */
.mfa-page .mfa-btn:hover,
.mfa-page .elementor-button:hover{

    background:#d8bb83 !important;
    color:#000 !important;
}/* End custom CSS */