.elementor-15866 .elementor-element.elementor-element-0f9f510{--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-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;}.elementor-15866 .elementor-element.elementor-element-23594e9{--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-15866 .elementor-element.elementor-element-4dbc74e{--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;}/* Start custom CSS for container, class: .elementor-element-23594e9 *//* TABELA COMPARATIVA */
        .table-section {
            padding: 80px 20px;
            background: #FFFFFF;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .section-title {
            font-family: 'Oswald', sans-serif;
            font-size: 2.5rem;
            text-align: center;
            margin-bottom: 20px;
            color: #0B1220;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .section-subtitle {
            text-align: center;
            font-size: 1.1rem;
            color: #64748B;
            margin-bottom: 50px;
            max-width: 700px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Tabela Responsiva */
        .table-wrapper {
            overflow-x: auto;
            border-radius: 15px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.08);
        }

        table {
            width: 100%;
            background: white;
            border-collapse: collapse;
        }

        thead tr {
            background: #0B1220;
        }

        th {
            padding: 20px;
            color: white;
            text-align: left;
            font-family: 'Oswald', sans-serif;
            font-size: 1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        th:not(:first-child) {
            text-align: center;
        }

        tbody tr {
            border-bottom: 1px solid #E2E8F0;
            transition: background 0.3s;
        }

        tbody tr:hover {
            background: #F8FAFC;
        }

        td {
            padding: 20px;
            color: #64748B;
        }

        td:first-child {
            font-weight: 600;
            color: #0B1220;
        }

        td:not(:first-child) {
            text-align: center;
        }

        .level-badge {
            padding: 5px 12px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
            display: inline-block;
        }

        .level-iniciante {
            background: #DCFCE7;
            color: #14532D;
        }

        .level-intermediario {
            background: #FEF3C7;
            color: #92400E;
        }

        .level-avancado {
            background: #FEE2E2;
            color: #7F1D1D;
        }

        .level-todos {
            background: #E0E7FF;
            color: #312E81;
        }

        .cta-button {
            background: #0EA5E9;
            color: white;
            padding: 8px 16px;
            border-radius: 20px;
            text-decoration: none;
            font-size: 0.85rem;
            font-weight: 600;
            display: inline-block;
            transition: all 0.3s;
        }

        .cta-button:hover {
            background: #0369A1;
            transform: translateY(-2px);
        }

        /* CALCULADORA */
        .calculator-section {
            padding: 80px 20px;
            background: #F8FAFC;
        }

        .calculator-box {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            padding: 40px;
            border-radius: 20px;
            box-shadow: 0 4px 20px rgba(0,0,0,0.08);
        }

        .question-group {
            margin-bottom: 30px;
        }

        .question-label {
            display: block;
            font-family: 'Oswald', sans-serif;
            font-size: 1.2rem;
            color: #0B1220;
            margin-bottom: 15px;
            text-transform: uppercase;
        }

        .options-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
        }

        .option-card {
            background: #F8FAFC;
            padding: 20px;
            border-radius: 10px;
            text-align: center;
            border: 2px solid transparent;
            transition: all 0.3s;
            cursor: pointer;
        }

        .option-card:hover {
            border-color: #0EA5E9;
            transform: translateY(-2px);
        }

        .option-card.selected {
            border-color: #0EA5E9;
            background: rgba(14,165,233,0.1);
        }

        .option-icon {
            font-size: 2rem;
            margin-bottom: 8px;
        }

        .option-text {
            font-weight: 600;
            color: #0B1220;
        }

        #calcButton {
            width: 100%;
            background: #CBD5E1;
            color: white;
            padding: 20px;
            border: none;
            border-radius: 50px;
            font-family: 'Oswald', sans-serif;
            font-size: 1.2rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            cursor: not-allowed;
            transition: all 0.3s;
        }

        #calcButton.active {
            background: #0EA5E9;
            cursor: pointer;
        }

        #calcButton.active:hover {
            background: #0369A1;
            transform: translateY(-2px);
        }

        #resultado {
            display: none;
            margin-top: 30px;
            padding: 30px;
            background: #0EA5E9;
            border-radius: 15px;
            color: white;
            text-align: center;
        }

        /* TIMELINE */
        .timeline-section {
            padding: 80px 20px;
            background: #FFFFFF;
        }

        .timeline-container {
            max-width: 1000px;
            margin: 0 auto;
            position: relative;
            padding: 20px 0;
        }

        .timeline-line {
            position: absolute;
            left: 50%;
            top: 0;
            bottom: 0;
            width: 2px;
            background: #0EA5E9;
            transform: translateX(-50%);
        }

        .timeline-item {
            display: flex;
            align-items: center;
            margin-bottom: 60px;
        }

        .timeline-left,
        .timeline-right {
            flex: 1;
            padding: 0 40px;
        }

        .timeline-left {
            text-align: right;
        }

        .timeline-node {
            position: relative;
            z-index: 1;
            width: 60px;
            height: 60px;
            background: #0EA5E9;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-family: 'Oswald', sans-serif;
            font-size: 1.2rem;
            border: 4px solid white;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }

        .timeline-box {
            background: #F8FAFC;
            padding: 15px;
            border-radius: 10px;
        }

        /* FAQ SECTION */
        .faq-section {
            padding: 80px 20px;
            background: #FFFFFF;
        }

        .faq-grid {
            max-width: 1000px;
            margin: 0 auto;
            display: grid;
            gap: 20px;
        }

        .faq-item {
            background: white;
            padding: 30px;
            border-radius: 15px;
            border-left: 4px solid #0EA5E9;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }

        .faq-question {
            font-family: 'Oswald', sans-serif;
            color: #0B1220;
            margin-bottom: 15px;
            font-size: 1.2rem;
        }

        .faq-answer {
            color: #64748B;
            line-height: 1.6;
        }

        /* RESPONSIVE */
        @media (max-width: 1024px) {
            .programs-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media (max-width: 768px) {
            .programs-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
            }
            
            .options-grid {
                grid-template-columns: 1fr;
            }

            .timeline-item {
                flex-direction: column;
            }

            .timeline-left,
            .timeline-right {
                text-align: center;
                padding: 20px;
            }

            .timeline-line {
                display: none;
            }

            table {
                font-size: 0.9rem;
            }

            th, td {
                padding: 10px;
            }
        }

        @media (max-width: 480px) {
            .programs-grid {
                grid-template-columns: 1fr;
            }

            .section-title {
                font-size: 2rem;
            }
        }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0f9f510 *//* Hero Section - Programas */
.hero-programas {
    background: linear-gradient(135deg, #0B1220 0%, #1E293B 100%);
    color: white;
    padding: 120px 0 80px;
    position: relative;
    overflow: hidden;
    min-height: 70vh;
}

.hero-programas::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: url('https://treinadordavid.com/wp-content/uploads/2025/09/sgt-usmc-treinadordavid.webp') center/cover;
    opacity: .8;
    z-index: 1;
}

.hero-content-programas {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.military-badge-programas {
    background: rgba(14, 165, 233, 0.2);
    border: 2px solid #0EA5E9;
    color: #0EA5E9;
    padding: 8px 20px;
    border-radius: 25px;
    font-family: 'Oswald', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 20px;
    animation: pulse 2s infinite;
}
 {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.hero-programas h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 2px;
    color: white;
    line-height: 1.1;
}

.hero-subtitle-programas {
    font-size: 1.5rem;
    margin-bottom: 30px;
    color: #CBD5E1;
    font-weight: 400;
}

.hero-description-programas {
    font-size: 1.2rem;
    margin-bottom: 30px;
    max-width: 650px;
    color: #E2E8F0;
    line-height: 1.6;
}

.cta-primary-programas {
    background: #0EA5E9;
    color: white;
    padding: 18px 40px;
    border: none;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    margin-right: 20px;
    font-family: 'Inter', sans-serif;
}

.cta-primary-programas:hover {
    background: #0284C7;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(14, 165, 233, 0.3);
    color: white;
    text-decoration: none;
}

/* Responsive Hero */
@media (max-width: 768px) {
    .hero-programas h1 {
        font-size: 2.5rem;
    }
    
    .hero-programas {
        padding: 80px 0 60px;
    }
    
    .hero-subtitle-programas {
        font-size: 1.2rem;
    }
    
    .hero-description-programas {
        font-size: 1rem;
    }
}
/* Philosophy Section - Programas */
.philosophy-programas {
    padding: 80px 0;
    background: white;
}

.section-title-programas {
    font-family: 'Oswald', sans-serif;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 50px;
    color: #0B1220;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.philosophy-grid-programas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.philosophy-image-programas {
    width: 100%;
    max-width: 500px;
    height: 400px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.1);
    position: relative;
}

.philosophy-image-programas img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.philosophy-image-programas:hover img {
    transform: scale(1.05);
}

.philosophy-content-programas h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem;
    color: #0B1220;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.philosophy-content-programas p {
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #475569;
    line-height: 1.7;
}

.highlight-quote-programas {
    background: #F1F5F9;
    padding: 30px;
    border-left: 5px solid #0EA5E9;
    margin: 30px 0;
    font-style: italic;
    font-size: 1.2rem;
    color: #1E293B;
    border-radius: 10px;
    position: relative;
}

.highlight-quote-programas::before {
    content: '"';
    font-size: 4rem;
    color: #0EA5E9;
    position: absolute;
    top: -10px;
    left: 10px;
    font-family: 'Oswald', sans-serif;
}

.philosophy-ctas-programas {
    display: flex;
    gap: 15px;
    margin-top: 25px;
    flex-wrap: wrap;
}

.cta-link-programas {
    background: transparent;
    border: 2px solid #0EA5E9;
    color: #0EA5E9;
    padding: 12px 25px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
}

.cta-link-programas:hover {
    background: #0EA5E9;
    color: white;
    transform: translateY(-2px);
    text-decoration: none;
}

.marine-credentials-programas {
    background: #0B1220;
    color: white;
    padding: 25px;
    border-radius: 15px;
    margin-top: 25px;
    border: 2px solid #0EA5E9;
}

.marine-credentials-programas h3 {
    font-family: 'Oswald', sans-serif;
    color: #0EA5E9;
    margin-bottom: 15px;
    text-transform: uppercase;
    font-size: 1.1rem;
}

.marine-credentials-programas p {
    color: #CBD5E1;
    font-size: 0.95rem;
    margin: 0;
    line-height: 1.6;
}

/* Responsive Philosophy */
@media (max-width: 768px) {
    .philosophy-grid-programas {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .philosophy-image-programas {
        max-width: 400px;
        height: 300px;
        margin: 0 auto;
    }
    
    .section-title-programas {
        font-size: 2rem;
    }
    
    .philosophy-content-programas h2 {
        font-size: 1.6rem;
        text-align: center;
    }
    
    .philosophy-ctas-programas {
        justify-content: center;
        }
    }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4dbc74e */.programs-section {

    padding: 80px 0;

    background: #F8FAFC;

}

 

.programs-section .container {

    max-width: 1200px;

    margin: 0 auto;

    padding: 0 20px;

}

 

.programs-section .section-title {

    font-family: 'Oswald', sans-serif;

    font-size: 2.5rem;

    text-align: center;

    margin-bottom: 20px;

    color: #0B1220;

    text-transform: uppercase;

}

 

.programs-section .section-subtitle {

    text-align: center;

    font-size: 1.2rem;

    color: #475569;

    margin-bottom: 60px;

    max-width: 600px;

    margin-left: auto;

    margin-right: auto;

    line-height: 1.6;

}

 

/* --- GRID DE 4 COLUNAS (ATUALIZADO) --- */

.programs-grid {

    display: grid;

    /* Cria 4 colunas de tamanho igual para 1200px container */

    grid-template-columns: repeat(4, 1fr);

    gap: 20px; /* Espaço entre os cards */

}

 

/* --- ESTILO DE CARD (Vertical) --- */

.programs-grid > .program-card {

    display: flex;

    flex-direction: column; /* Empilha o conteúdo verticalmente */

    background: white;

    border-radius: 15px;

    box-shadow: 0 8px 30px rgba(0,0,0,0.05);

    overflow: hidden;

    text-decoration: none;

    color: inherit;

    transition: all 0.3s ease;

}

 

.programs-grid > .program-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 12px 35px rgba(0,0,0,0.08);

    text-decoration: none;

    color: inherit;

}

 

/* Card Image Styles */

.program-image {

    position: relative;

    width: 100%;

    /* Altura fixa para alinhar as imagens */

    height: 200px;

}

 

.program-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}

 

.program-badge {

    position: absolute;

    top: 10px;

    left: 10px;

    background: #0EA5E9;

    color: white;

    padding: 4px 10px;

    border-radius: 20px;

    font-size: 0.7rem;

    font-weight: 600;

    text-transform: uppercase;

    font-family: 'Inter', sans-serif;

}

 

/* Card Info Styles */

.program-info {

    padding: 20px;

    /* Faz o card crescer para preencher espaço, se necessário */

    flex-grow: 1;

    display: flex;

    flex-direction: column;

}

 

.program-title {

    font-family: 'Oswald', sans-serif;

    font-size: 1.1rem; /* Título ajustado para 4 colunas */

    color: #0B1220;

    margin-top: 0;

    margin-bottom: 10px;

    text-transform: uppercase;

    line-height: 1.3;

}

 

.program-desc {

    font-size: 0.85rem; /* Descrição ajustada */

    color: #475569;

    line-height: 1.5;

    margin-bottom: 15px;

    flex-grow: 1;

}

 

.program-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 6px;

    margin-top: auto;

}

 

.program-tag {

    background: #E0F2FE;

    color: #0284C7;

    padding: 4px 10px;

    border-radius: 20px;

    font-size: 0.7rem;

    font-weight: 500;

}

 

/* --- RESPONSIVE (Tablets & Mobile) --- */

 

/* Large Tablets - 3 colunas */

@media (max-width: 1024px) {

    .programs-grid {

        grid-template-columns: repeat(3, 1fr);

    }

}

 

/* Tablets - 2 colunas */

@media (max-width: 768px) {

    .programs-grid {

        grid-template-columns: repeat(2, 1fr);

    }

 

    .programs-section .section-title {

        font-size: 2rem;

    }

 

    .program-image {

        height: 180px;

    }

}

 

/* Mobile - 1 coluna */

@media (max-width: 480px) {

    .programs-grid {

        grid-template-columns: 1fr;

    }

 

    .programs-section {

        padding: 40px 0;

    }

 

    .programs-section .section-title {

        font-size: 1.8rem;

    }

 

    .programs-section .section-subtitle {

        font-size: 1rem;

        margin-bottom: 40px;

    }

 

    .program-image {

        height: 220px;

    }

 

    .program-title {

        font-size: 1.3rem;

    }

 

    .program-desc {

        font-size: 0.9rem;

    }

}/* End custom CSS */