.elementor-133 .elementor-element.elementor-element-b43abe4{--display:flex;--min-height:650px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--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-133 .elementor-element.elementor-element-b43abe4:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-b43abe4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://institutomarioleonardi.com.br/wp-content/uploads/2025/04/Capa-Desktop-Instituto-Davi-Costa.png");background-position:top center;background-size:cover;}.elementor-133 .elementor-element.elementor-element-5e86b89{--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-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-133 .elementor-element.elementor-element-e4f4c0e .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:40px;font-weight:600;color:#082948;}.elementor-133 .elementor-element.elementor-element-cb1c48e .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;color:#082948;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-133 .elementor-element.elementor-element-22b0721 .elementor-button{background-color:transparent;font-family:"Sora", Sans-serif;font-size:17px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(139deg, #082948 0%, #4F6077 100%);box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.23);border-radius:30px 30px 30px 30px;}.elementor-133 .elementor-element.elementor-element-22b0721 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-133 .elementor-element.elementor-element-23f3c99{--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-133 .elementor-element.elementor-element-7f9e463{--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-133 .elementor-element.elementor-element-7f9e463.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-133 .elementor-element.elementor-element-fada08e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:150px;--padding-left:50px;--padding-right:50px;}.elementor-133 .elementor-element.elementor-element-fada08e:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-fada08e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F0F0;}.elementor-133 .elementor-element.elementor-element-b6a4830{--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-133 .elementor-element.elementor-element-3501e2f .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:30px;font-weight:500;color:#082948;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-133 .elementor-element.elementor-element-06fed10{--divider-border-style:solid;--divider-color:#082948;--divider-border-width:2px;}.elementor-133 .elementor-element.elementor-element-06fed10 .elementor-divider-separator{width:22%;}.elementor-133 .elementor-element.elementor-element-06fed10 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(20px/2);}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(20px/2);}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(20px/2);}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-20px/2);}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-20px/2);}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-icon i{color:#082948;transition:color 0.3s;}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-icon svg{fill:#082948;transition:fill 0.3s;}.elementor-133 .elementor-element.elementor-element-f8768f9{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-item > a{font-family:"Sora", Sans-serif;font-size:18px;font-weight:400;}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-text{color:#082948;transition:color 0.3s;}.elementor-133 .elementor-element.elementor-element-346ceb5 .elementor-button{background-color:transparent;font-family:"Sora", Sans-serif;font-size:17px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(139deg, #082948 0%, #4F6077 100%);box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.23);border-radius:30px 30px 30px 30px;}.elementor-133 .elementor-element.elementor-element-346ceb5 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-133 .elementor-element.elementor-element-5bf89d4{--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-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-133 .elementor-element.elementor-element-ea98ca9 img{max-width:100%;}.elementor-133 .elementor-element.elementor-element-382cb20d{--display:flex;--min-height:400px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overlay-opacity:0.8;--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-133 .elementor-element.elementor-element-382cb20d:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-382cb20d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#004469;}.elementor-133 .elementor-element.elementor-element-382cb20d::before, .elementor-133 .elementor-element.elementor-element-382cb20d > .elementor-background-video-container::before, .elementor-133 .elementor-element.elementor-element-382cb20d > .e-con-inner > .elementor-background-video-container::before, .elementor-133 .elementor-element.elementor-element-382cb20d > .elementor-background-slideshow::before, .elementor-133 .elementor-element.elementor-element-382cb20d > .e-con-inner > .elementor-background-slideshow::before, .elementor-133 .elementor-element.elementor-element-382cb20d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#0000009C;--background-overlay:'';}.elementor-133 .elementor-element.elementor-element-382cb20d:hover::before, .elementor-133 .elementor-element.elementor-element-382cb20d:hover > .elementor-background-video-container::before, .elementor-133 .elementor-element.elementor-element-382cb20d:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-133 .elementor-element.elementor-element-382cb20d > .elementor-background-slideshow:hover::before, .elementor-133 .elementor-element.elementor-element-382cb20d > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:#000000;--background-overlay:'';}.elementor-133 .elementor-element.elementor-element-382cb20d:hover{--overlay-opacity:0.7;}.elementor-133 .elementor-element.elementor-element-7e27a59b{--display:flex;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-133 .elementor-element.elementor-element-3eb39b11 > .elementor-widget-container{padding:0px 0px 20px 0px;}.elementor-133 .elementor-element.elementor-element-3eb39b11{text-align:center;}.elementor-133 .elementor-element.elementor-element-3eb39b11 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:60px;font-weight:400;color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-6651dfd0{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-133 .elementor-element.elementor-element-1608e5de{--e-image-carousel-slides-to-show:4;}body.elementor-page-133:not(.elementor-motion-effects-element-type-background), body.elementor-page-133 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}body.elementor-page-133{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-133 .elementor-element.elementor-element-b43abe4{--content-width:1140px;}.elementor-133 .elementor-element.elementor-element-5e86b89{--width:50%;}.elementor-133 .elementor-element.elementor-element-23f3c99{--width:50%;}.elementor-133 .elementor-element.elementor-element-7f9e463{--width:100.816%;}.elementor-133 .elementor-element.elementor-element-b6a4830{--width:50%;}.elementor-133 .elementor-element.elementor-element-5bf89d4{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-133 .elementor-element.elementor-element-5e86b89{--width:630px;}.elementor-133 .elementor-element.elementor-element-b6a4830{--width:100%;}.elementor-133 .elementor-element.elementor-element-5bf89d4{--width:55%;}}@media(max-width:1024px){.elementor-133 .elementor-element.elementor-element-b43abe4{--min-height:600px;}.elementor-133 .elementor-element.elementor-element-b43abe4:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-b43abe4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:top center;}.elementor-133 .elementor-element.elementor-element-e4f4c0e .elementor-heading-title{font-size:36px;}.elementor-133 .elementor-element.elementor-element-cb1c48e .elementor-heading-title{font-size:15px;}.elementor-133 .elementor-element.elementor-element-fada08e{--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;}}@media(max-width:767px){.elementor-133 .elementor-element.elementor-element-b43abe4:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-b43abe4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://institutomarioleonardi.com.br/wp-content/uploads/2025/04/Capa-Mobile-Davi.png");}.elementor-133 .elementor-element.elementor-element-b43abe4{--justify-content:flex-start;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-133 .elementor-element.elementor-element-e4f4c0e{text-align:center;}.elementor-133 .elementor-element.elementor-element-e4f4c0e .elementor-heading-title{font-size:21px;}.elementor-133 .elementor-element.elementor-element-cb1c48e{text-align:center;}.elementor-133 .elementor-element.elementor-element-cb1c48e .elementor-heading-title{font-size:13px;}.elementor-133 .elementor-element.elementor-element-22b0721 .elementor-button{font-size:15px;}.elementor-133 .elementor-element.elementor-element-fada08e{--justify-content:center;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-133 .elementor-element.elementor-element-b6a4830{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-133 .elementor-element.elementor-element-3501e2f .elementor-heading-title{font-size:22px;}.elementor-133 .elementor-element.elementor-element-06fed10 .elementor-divider-separator{width:22%;margin:0 auto;margin-left:0;}.elementor-133 .elementor-element.elementor-element-06fed10 .elementor-divider{text-align:left;}.elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-133 .elementor-element.elementor-element-f8768f9 .elementor-icon-list-item > a{font-size:15px;}.elementor-133 .elementor-element.elementor-element-346ceb5 .elementor-button{font-size:15px;}.elementor-133 .elementor-element.elementor-element-3eb39b11 .elementor-heading-title{font-size:35px;}}/* Start custom CSS for html, class: .elementor-element-00e4adf *//* --- Estilos Base para a Seção de Programação --- */
body { /* Adicionado apenas para preview standalone, pode remover ao integrar */
    font-family: 'Sora', sans-serif;
    background-color: #f4f7f9; /* Fundo claro para destacar os cards */
    padding: 40px 20px;
    line-height: 1.6;
    color: #333;
}

.programacao-section {
    max-width: 1100px; /* Largura máxima do container */
    margin: 0 auto; /* Centraliza o container */
}

.programacao-section h2 {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #0a2b4c; /* Azul escuro para o título principal */
    margin-bottom: 2em; /* Espaço abaixo do título */
    position: relative;
    padding-bottom: 10px;
}

/* Linha decorativa abaixo do título h2 */
.programacao-section h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px; /* Largura da linha */
    height: 4px; /* Altura da linha */
    background-color: #d4ac6e; /* Cor dourada/bege */
    border-radius: 2px;
}

/* --- Container dos Módulos (Grid) --- */
.modules-container {
    display: grid;
    /* Cria colunas responsivas: 
       - Repete quantas colunas couberem
       - Cada coluna tem no mínimo 300px
       - Cada coluna pode crescer até 1fr (ocupando espaço igual)
    */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px; /* Espaço (gutter) entre os cards */
    margin-bottom: 3em; /* Espaço abaixo do grid de módulos */
}

/* --- Estilo Individual do Card do Módulo --- */
.module-card {
    background-color: #ffffff; /* Fundo branco dos cards */
    border-radius: 12px; /* Cantos mais arredondados */
    /* Sombra sutil com cor levemente azulada */
    box-shadow: 0 6px 20px rgba(10, 43, 76, 0.1);
    padding: 25px 30px;
    /* Borda lateral decorativa e indicativa */
    border-left: 6px solid #1e7abc; /* Azul claro */
    /* Transições suaves para efeitos de hover */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden; /* Garante que elementos filhos não ultrapassem bordas arredondadas */
    display: flex;
    flex-direction: column; /* Organiza header e lista verticalmente */
}

.module-card:hover {
    transform: translateY(-5px); /* Efeito sutil de levantar no hover */
    /* Sombra ligeiramente mais pronunciada no hover */
    box-shadow: 0 10px 25px rgba(10, 43, 76, 0.15);
}

/* --- Cabeçalho do Módulo (Ícone + Título h3) --- */
.module-header {
    display: flex;
    align-items: center; /* Alinha ícone e título verticalmente */
    margin-bottom: 1.5em; /* Espaço abaixo do cabeçalho */
    border-bottom: 1px solid #e0e0e0; /* Linha separadora sutil */
    padding-bottom: 1em; /* Espaço abaixo da linha separadora */
}

.module-icon {
    font-size: 1.8rem; /* Tamanho do ícone */
    color: #d4ac6e; /* Ícone dourado/bege */
    margin-right: 15px; /* Espaço entre ícone e título */
    width: 40px; /* Largura fixa para alinhar títulos se ícones variarem */
    text-align: center;
    flex-shrink: 0; /* Evita que o ícone encolha */
}

.module-header h3 {
    font-size: 1.4rem;
    font-weight: 600; /* Peso ligeiramente mais leve que h2 */
    color: #0a2b4c; /* Título do módulo em azul escuro */
    margin: 0; /* Remove margem padrão do h3 */
    line-height: 1.3; /* Ajuste de altura de linha */
}

/* --- Lista de Tópicos do Módulo (ul) --- */
.module-topics {
    list-style: none; /* Remove marcadores padrão */
    padding-left: 0; /* Remove padding padrão */
    margin: 0; /* Remove margem padrão */
    flex-grow: 1; /* Faz a lista ocupar o espaço vertical restante no card */
}

.module-topics li {
    font-size: 0.95rem;
    color: #555; /* Cinza escuro para o texto dos tópicos */
    margin-bottom: 0.8em; /* Espaço entre os itens da lista */
    padding-left: 1.8em; /* Espaço à esquerda para o marcador personalizado */
    position: relative; /* Necessário para posicionar o ::before */
    line-height: 1.5;
}

/* Marcador personalizado (usando unicode check) */
.module-topics li::before {
    content: '\2714'; /* Código unicode para check mark ✓ */
    /* Alternativa: Ícone Font Awesome (requer ajuste na li e font-family abaixo) */
    /* content: '\f00c'; */
    /* font-family: "Font Awesome 6 Free"; */
    /* font-weight: 900; */
    position: absolute;
    left: 0; /* Posiciona o marcador no início do padding */
    top: 2px; /* Ajuste fino vertical */
    color: #1e7abc; /* Cor do marcador (azul claro) */
    font-size: 0.9em; /* Tamanho do marcador */
    font-weight: bold;
}

/* Remove margem inferior do último item da lista */
.module-topics li:last-child {
    margin-bottom: 0;
}


/* --- Descrição Prática (Abaixo do Grid) --- */
.practice-description {
    text-align: center;
    font-size: 1rem;
    margin-top: 2em; /* Espaço acima da descrição */
    font-style: italic;
    color: #666; /* Cinza médio */
    max-width: 800px; /* Limita largura para melhor leitura */
    margin-left: auto; /* Centraliza */
    margin-right: auto; /* Centraliza */
}


/* --- Responsividade --- */

/* Telas Médias (Tablets, etc.) */
@media (max-width: 768px) {
    .programacao-section h2 {
        font-size: 2rem;
    }
    .modules-container {
        gap: 20px; /* Reduz o espaço entre cards */
    }
     .module-card {
        padding: 20px 25px; /* Reduz o padding interno dos cards */
    }
}

/* Telas Pequenas (Celulares) */
@media (max-width: 480px) {
     body { /* Ajusta padding do body para mobile */
        padding: 30px 15px;
    }
     .programacao-section h2 {
        font-size: 1.8rem;
        margin-bottom: 1.5em;
    }
    .modules-container {
        /* O grid já se torna de 1 coluna devido ao minmax */
        grid-template-columns: 1fr; /* Garante uma coluna */
        gap: 15px; /* Reduz mais o espaço */
    }
     .module-card {
        padding: 15px 20px;
        border-left-width: 5px; /* Borda lateral mais fina */
    }
     .module-header h3 {
        font-size: 1.2rem;
    }
     .module-icon {
        font-size: 1.5rem;
        margin-right: 10px;
        width: 30px;
    }
    .module-topics li {
        font-size: 0.9rem;
        padding-left: 1.5em;
    }
    .practice-description {
        font-size: 0.95rem;
    }
}/* End custom CSS */