:root{
    --afya:#CE0058;
    --afya-hover:#CE0058;
    --afya-dark:#27282f;
    --afya-text:#1f2533;
    --afya-muted:#262626;
    --afya-border:#efefef;
}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

@font-face {
    font-family: 'SansBeamBody';
    src: url('fonts/AfyaSansPro/AfyaSansPro-Regular.ttf') format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'SansBeamBody';
    src: url('fonts/AfyaSansPro/AfyaSansPro-Bold.ttf') format('opentype');
    font-weight: bold;
    font-style: normal;
}


body, p, span, div, h1, h2, h3, h4, h5, h6 {
    font-family: 'SansBeamBody', sans-serif;

    /*font-family:'Segoe UI',Arial,sans-serif;*/
    color:var(--afya-text);
    /*background:#fff;*/
    line-height:1.6;
}

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

/* HEADER */
.header{
    background:#fff;

    position:sticky;
    top:0;
    z-index:999;

    border-bottom: 1px solid var(--untitled-ui-gray100);

    box-shadow: 0 2px 5px #0003;	
	
    
    align-items: center;
    min-height: 5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    
    
    
}


.header .container{
    min-height:90px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.logo{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

.logo img{
    width:150px;
    display:block;
}

.header-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}

.btn-header{
    text-decoration:none;
    padding:10px 18px;
    border-radius:30px;
    border:1px solid var(--afya);
    color:var(--afya);
    font-weight:700;
    transition:.25s ease;
}

.btn-header:hover,
.btn-header:focus{
    background:var(--afya);
    color:#fff;
}

.destaque{
    background:var(--afya);
    color:#fff;
}

.destaque:hover,
.destaque:focus{
    background:var(--afya-hover);
    border-color:var(--afya-hover);
}

/* HERO */
.hero{
    padding:80px 0;
    background:#fff;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
}

.hero-image img{
    width:100%;
    border-radius:20px;
    display:block;
}

/* ====================================================
   MELHORIAS HERO PRIMEIRO ACESSO
==================================================== */

.hero-subtitle{

    margin-top:35px;

    margin-bottom:15px;

    color:var(--afya);

    font-size:28px;

    font-weight:600;

    line-height:1.2;
}

.hero-steps{

    margin:20px 0 25px;

    padding-left:25px;
}

.hero-steps li{

    margin-bottom:12px;

    color:var(--afya-text);

    line-height:1.8;
}

.primeiro-acesso .hero-content{

    max-width:650px;
}

.primeiro-acesso .hero-content p{

    font-size:10px;

    margin-bottom:15px;
}

/* ====================================================
   MELHORIA IMAGEM HERO
==================================================== */

.hero-image{

    display:flex;

    justify-content:center;

    align-items:center;
}

.hero-image img{

    width:100%;

    object-fit:contain;
    transition:.3s ease;
}



/* ====================================================
   RESPONSIVO
==================================================== */

@media(max-width:900px){

    .hero-subtitle{

        font-size:24px;
    }

    .primeiro-acesso .hero-content{

        max-width:100%;
    }

    .hero-steps{

        padding-left:20px;
    }

}

.tag{
    color:var(--afya);
    font-weight:700;
    font-size:clamp(22px, 4vw, 50px);
}

.hero h1{
    font-size:40px;
    line-height:1.1;
    margin:15px 0;
}

.hero p{
    font-size:16px;
    /*color:var(--afya-muted);*/
    margin-top: 20px;
}

/* ALUNOS */
.alunos{
    padding:80px 0;
    background:#fafafa;
}

.alunos h2{
    text-align:center;
    font-size:38px;
    line-height:1.15;
}

.subtitulo{
    text-align:center;
    margin:10px 0 40px;
    color:var(--afya-muted);
}

.atalhos{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.atalho-card{
    background:#fff;
    border:2px solid #f0f0f0;
    min-height:130px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:center;
    text-decoration:none;
    border-radius:20px;
    color:#333;
    font-weight:500;
    transition:.3s ease;
}

.atalho-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:var(--afya);
    background:#fff4fa;
    font-size:20px;
    transition:.3s ease;
}

.atalho-card:hover,
.atalho-card:focus{
    background:var(--afya);
    border-color:var(--afya);
    color:white;
    transform:translateY(-4px);
}

.atalho-card:hover *,
.atalho-card:focus *{

    color:#fff;
}


.atalho-card:hover .atalho-icon,
.atalho-card:focus .atalho-icon{

    background:#fff;
}

.atalho-card:hover .atalho-icon i,
.atalho-card:focus .atalho-icon i{

    color:var(--afya);
}


/* VIDEO */
.video-section{
    padding:60px 0 80px;

    background:
    url("img/background-texture-3.jpg")
    center center
    repeat;

    background-size:cover;
}

.video-section h2,
.video-section p{
    text-align:center;
}

.video-section h2{
    font-size:38px;
    line-height:1.2;
}

.video-section p{
    color:var(--afya-muted);
    margin-top:8px;
}

.video-wrapper{
    margin-top:40px;
	margin-bottom:80px;
    position:relative;
    padding-bottom:56.25%;
    height:0;
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 18px 48px rgba(0,0,0,.08);
}

.video-wrapper iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:none;
}

/* PROFESSORES */
.professores{
    background:#fff8fc;
    padding:80px 0;
    text-align:center;
}

.professores h2{
    font-size:42px;
    line-height:1.2;
}

.professores p{
    color:var(--afya-muted);
    margin-top:8px;
}

.prof-buttons{
    margin-top:30px;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
}

.btn-principal,
.btn-secundario{
    text-decoration:none;
    padding:14px 28px;
    border-radius:40px;
    font-weight:500;
    transition:.25s ease;
}

.btn-principal{
    background:var(--afya);
    color:white;
}

.btn-principal:hover,
.btn-principal:focus{
    background:var(--afya-hover);
}

.btn-secundario{
    border:1px solid var(--afya);
    color:var(--afya);
    background:#fff;
}

.btn-secundario:hover,
.btn-secundario:focus{
    background:var(--afya);
    color:#fff;
}

/* ====================================================
   SUPORTE E BENEFÍCIOS
==================================================== */

.suporte-ajuda{

    padding:100px 0;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fdfdff 45%,
            #f7f8fc 100%
        );
}

.suporte-ajuda h2{

    text-align:center;

    font-size:42px;

    font-weight:600;

    margin-bottom:15px;
}

.suporte-ajuda .subtitulo{

    text-align:center;

    color:#666;

    max-width:800px;

    margin:0 auto 60px;
}

.ajuda-grid{

    display:grid;

    gap:30px;
}

.ajuda-card{

    background:white;

    border-radius:24px;

    padding:40px;

    border:1px solid #ececec;

    box-shadow:
        0 10px 30px rgba(0,0,0,.04);

    transition:.3s ease;
}

.ajuda-card:hover{

    transform:translateY(-4px);

    box-shadow:
        0 18px 40px rgba(0,0,0,.08);
}

.ajuda-card h3{

    color:var(--afya);

    font-size:28px;

    margin-bottom:25px;

    border-left:5px solid var(--afya);

    padding-left:15px;
}

.ajuda-card p{

    color:#555;

    line-height:1.8;

    margin-bottom:20px;
}

.ajuda-card ul{

    list-style:none;

    padding:0;
}

.ajuda-card li{

    position:relative;

    padding-left:30px;

    margin-bottom:18px;

    line-height:1.8;
}

.ajuda-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:0;

    color:var(--afya);

    font-weight:700;
}

.ajuda-botoes{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

    margin-top:25px;
}

.btn-mini{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-height:38px;

    padding:8px 18px;

    border-radius:999px;

    background:var(--afya);

    color:white;

    text-decoration:none;

    font-size:13px;

    font-weight:600;

    transition:.3s;
}

.btn-mini:hover{

    background:var(--afya-hover);

    transform:translateY(-2px);
}

.microsoft-card{

    background:
    linear-gradient(
        135deg,
        #ffffff 0%,
        #fff3fa 100%
    );

    border:
        1px solid rgba(224,0,122,.10);
}

.microsoft-card strong{

    color:var(--afya);
}

@media(max-width:900px){

    .suporte-ajuda{

        padding:70px 0;
    }

    .suporte-ajuda h2{

        font-size:34px;
    }

    .ajuda-card{

        padding:25px;
    }

    .btn-mini{

        margin-top:8px;
    }

}

/* FOOTER INSTITUCIONAL AFYA */
.footer-afya{
    background-color:var(--afya-dark);
    color:white;
    position:relative;
    overflow:hidden;
    background-image:url('img/649d8bab74af97091fdaa4e3_Waves.png');
    background-size:cover;
    background-position:center;
    padding-top:10px;
}

.footer-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    margin-bottom:30px;
}

.footer-logo{
    display:inline-flex;
    align-items:center;
}

.footer-logo img{
    width:160px;
    display:block;
}

.footer-social{
    display:flex;
    align-items:center;
    gap:18px;
}

.footer-social a{
    color:white;
    font-size:30px;
    line-height:1;
    transition:.25s ease;
}

.footer-social a:hover,
.footer-social a:focus{
    color:var(--afya);
}

.footer-afya hr{
    border:none;
    height:1px;
    background:rgba(255,255,255,.18);
    margin:25px 0 42px;
}

.footer-links-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:50px;
    margin-bottom:52px;
    text-align:center;
}

.footer-links-grid div{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.footer-links-grid a{
    color:white;
    text-decoration:none;
    font-weight:500;
    transition:.25s ease;
}

.footer-links-grid a:hover,
.footer-links-grid a:focus{
    color:var(--afya);
}

.footer-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
    margin-bottom:42px;
}

.footer-actions a{
    text-decoration:none;
    color:white;
    border:1px solid rgba(255,255,255,.28);
    padding:12px 22px;
    border-radius:50px;
    font-weight:700;
    transition:.25s ease;
}

.footer-actions a:hover,
.footer-actions a:focus{
    background:var(--afya);
    border-color:var(--afya);
}

.footer-copyright{
    text-align:center;
    font-size:14px;
    line-height:1.8;
    padding-bottom:50px;
    color:#f2f2f2;
}

.footer-gradient{
    height:4px;
    width:100%;
    background:linear-gradient(90deg,#1d55ff,#7b2dff,var(--afya));
}

/* RESPONSIVO */
@media(max-width:900px){
    .hero-grid,
    .atalhos{
        grid-template-columns:1fr;
    }

    .header .container{
        min-height:auto;
        padding:18px 0;
        align-items:flex-start;
        flex-direction:column;
    }

    .header-buttons{
        width:100%;
        justify-content:flex-start;
    }

    .hero h1{
        font-size:42px;
    }

    .alunos h2,
    .professores h2{
        font-size:34px;
    }
}

@media(max-width:768px){
    .footer-top{
        flex-direction:column;
        text-align:center;
    }

    .footer-links-grid{
        grid-template-columns:1fr;
        gap:32px;
    }
}

@media(max-width:520px){
    .header-buttons,
    .prof-buttons,
    .footer-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .btn-header,
    .btn-principal,
    .btn-secundario,
    .footer-actions a{
        text-align:center;
    }
}
/* ====================================================
   PRIMEIRO ACESSO
==================================================== */

.primeiro-acesso{

    min-height:550px;

    display:flex;
    align-items:center;
}

.primeiro-acesso h1{
    font-size:clamp(32px, 6vw, 64px);
}

.primeiro-acesso .tag{
    color:var(--afya);
    font-weight:500;
    font-size:clamp(22px, 4vw, 50px);
}

.primeiro-acesso-actions{

    padding-bottom:100px;
}

.primeiro-acesso-actions .atalhos{

    max-width:900px;

    margin:0 auto;
}

@media(max-width:900px){

    .primeiro-acesso h1{
    font-size:clamp(32px, 6vw, 64px);
}

}

/* ====================================================
   RESPONSIVIDADE MOBILE - TEMPLATE AFYA
   Ajustes para centralização, header compacto e melhor leitura em telas pequenas
==================================================== */

/* Evita overflow horizontal causado por textos, imagens ou botões largos */
html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

img,
iframe{
    max-width:100%;
}

/* Títulos e textos com escala fluida */
.hero h1{
    font-size:clamp(32px, 5vw, 40px);
}

.alunos h2,
.professores h2,
.suporte-ajuda h2,
.video-section h2{
    font-size:clamp(30px, 5vw, 48px);
}

/* Ajustes para tablets e celulares */
@media(max-width:900px){

    .container{
        width:min(92%, 680px);
    }

    /* HEADER MOBILE */
    .header{
        padding-left:1rem;
        padding-right:1rem;
    }

    .header .container{
        min-height:auto;
        padding:18px 0;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:18px;
    }

    .logo{
        width:100%;
        justify-content:center;
    }

    .logo img{
        width:140px;
        margin:0 auto;
    }

    .header-buttons{
        width:100%;
        display:flex;
        justify-content:center;
        align-items:center;
        gap:10px;
        flex-wrap:wrap;
    }

    .btn-header{
        font-size:14px;
        line-height:1.2;
        padding:8px 14px;
        min-height:38px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        white-space:normal;
    }

    /* HERO MOBILE */
    .hero{
        padding:52px 0;
    }

    .hero-grid{
        grid-template-columns:1fr;
        gap:28px;
        text-align:center;
    }

    .hero-content{
        order:2;
        max-width:100%;
    }

    .hero-image{
        order:1;
    }

    .hero-image img{
        max-width:320px;
        margin:0 auto;
    }

    .tag{
        font-size:clamp(22px, 7vw, 32px);
        line-height:1.2;
        display:block;
        text-align:center;
    }

    .hero h1,
    .primeiro-acesso h1{
        font-size:clamp(32px, 9vw, 42px);
        line-height:1.12;
        text-align:center;
    }

    .hero p,
    .primeiro-acesso .hero-content p{
        font-size:16px;
        line-height:1.7;
        text-align:center;
    }

    .hero-subtitle{
        font-size:24px;
        text-align:center;
    }

    .hero-steps{
        max-width:520px;
        margin:20px auto 25px;
        padding-left:22px;
        text-align:left;
    }

    /* CARDS / BOTÕES */
    .atalhos{
        grid-template-columns:1fr;
        max-width:420px;
        margin-left:auto;
        margin-right:auto;
    }

    .atalho-card{
        min-height:110px;
    }

    .prof-buttons,
    .ajuda-botoes,
    .footer-actions{
        justify-content:center;
    }

    /* SEÇÕES */
    .alunos,
    .professores,
    .suporte-ajuda{
        padding:64px 0;
    }

    .video-section{
        padding-top:56px;
    }

    .ajuda-card{
        padding:28px;
    }

    /* FOOTER */
    .footer-top{
        flex-direction:column;
        text-align:center;
    }

    .footer-social{
        justify-content:center;
    }

    .footer-links-grid{
        grid-template-columns:1fr;
        gap:32px;
    }
}

/* Ajustes finos para celulares menores */
@media(max-width:520px){

    .container{
        width:90%;
    }

    .header{
        padding-left:.75rem;
        padding-right:.75rem;
    }

    .header-buttons,
    .prof-buttons,
    .footer-actions{
        flex-direction:column;
        align-items:center;
        width:100%;
    }

    .btn-header,
    .btn-principal,
    .btn-secundario,
    .footer-actions a{
        width:100%;
        max-width:300px;
        text-align:center;
    }

    .logo img{
        width:130px;
    }

    .hero{
        padding:42px 0;
    }

    .hero-image img{
        max-width:260px;
    }

    .tag{
        font-size:clamp(21px, 7vw, 28px);
    }

    .hero h1,
    .primeiro-acesso h1{
        font-size:clamp(30px, 9vw, 38px);
    }

    .alunos h2,
    .professores h2,
    .suporte-ajuda h2,
    .video-section h2{
        font-size:clamp(28px, 8vw, 34px);
    }

    .hero-subtitle{
        font-size:22px;
    }

    .hero-steps{
        padding-left:20px;
    }

    .atalho-card{
        min-height:96px;
        padding:18px 14px;
    }

    .footer-logo img{
        width:140px;
    }
}

/* Celulares muito estreitos */
@media(max-width:380px){

    .btn-header,
    .btn-principal,
    .btn-secundario,
    .footer-actions a{
        max-width:260px;
        font-size:14px;
        padding:8px 12px;
    }

    .hero-image img{
        max-width:230px;
    }

    .atalho-card{
        min-height:90px;
    }
}

/* ====================================================
   MANUAIS PDF - BOTÕES CHAMATIVOS
   Área de destaque para manuais de alunos e professores
   Mantido como bloco isolado para não interferir na estrutura atual
==================================================== */

.manuais-pdf{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:26px;
    margin:42px auto 52px;
    max-width:1100px;
}

.manual-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:22px;
    min-height:190px;
    padding:26px 28px;
    border-radius:28px;
    text-decoration:none;
    color:var(--afya-text);
    background:#ffffff;
    border:2px solid rgba(206, 0, 88, .14);
    box-shadow:0 14px 34px rgba(0,0,0,.07);
    overflow:hidden;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}

.manual-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:9px;
    background:linear-gradient(180deg, var(--afya), #ff5ab5);
}

.manual-card::after{
    content:"";
    position:absolute;
    right:-58px;
    top:-58px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:rgba(206, 0, 88, .08);
    transition:.3s ease;
}

.manual-card:hover,
.manual-card:focus{
    transform:translateY(-7px);
    border-color:var(--afya);
    box-shadow:0 24px 52px rgba(206, 0, 88, .18);
    background:linear-gradient(135deg, #ffffff 0%, #fff4fa 100%);
    outline:none;
}

.manual-card:hover::after,
.manual-card:focus::after{
    transform:scale(1.18);
    background:rgba(206, 0, 88, .13);
}

.manual-card.professor{
    border-color:rgba(111, 66, 255, .16);
}

.manual-card.professor::before{
    background:linear-gradient(180deg, #6f42ff, var(--afya));
}

.manual-card.professor::after{
    background:rgba(111, 66, 255, .08);
}

.manual-card.professor:hover,
.manual-card.professor:focus{
    border-color:#6f42ff;
    box-shadow:0 24px 52px rgba(111, 66, 255, .16);
    background:linear-gradient(135deg, #ffffff 0%, #f6f2ff 100%);
}

.manual-icon{
    width:76px;
    height:76px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:24px;
    background:#fff0f7;
    color:var(--afya);
    flex-shrink:0;
    position:relative;
    z-index:1;
    box-shadow:inset 0 0 0 1px rgba(206, 0, 88, .10);
}

.manual-icon i{
    font-size:36px;
    color:var(--afya);
}

.manual-card.professor .manual-icon{
    background:#f3efff;
    color:#6f42ff;
    box-shadow:inset 0 0 0 1px rgba(111, 66, 255, .14);
}

.manual-card.professor .manual-icon i{
    color:#6f42ff;
}

.manual-content{
    flex:1;
    position:relative;
    z-index:1;
}

.manual-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    padding:5px 11px;
    border-radius:999px;
    background:#fff0f7;
    color:var(--afya);
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.manual-card.professor .manual-badge{
    background:#f3efff;
    color:#6f42ff;
}

.manual-content h3{
    margin:0 0 8px;
    font-size:23px;
    line-height:1.2;
    font-weight:800;
    color:var(--afya-text);
}

.manual-content p{
    margin:0;
    color:var(--afya-muted);
    font-size:15px;
    line-height:1.55;
    text-align:left;
}

.manual-arrow{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--afya);
    color:#ffffff;
    font-size:18px;
    flex-shrink:0;
    position:relative;
    z-index:1;
    transition:.3s ease;
}

.manual-card.professor .manual-arrow{
    background:#6f42ff;
}

.manual-card:hover .manual-arrow,
.manual-card:focus .manual-arrow{
    transform:translateX(4px);
}

@media(max-width:900px){
    .manuais-pdf{
        grid-template-columns:1fr;
        max-width:560px;
        margin:34px auto 44px;
    }

    .manual-card{
        min-height:auto;
        padding:22px;
        border-radius:24px;
    }

    .manual-content h3{
        font-size:21px;
    }
}

@media(max-width:520px){
    .manuais-pdf{
        margin:30px auto 40px;
    }

    .manual-card{
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:16px;
    }

    .manual-card::before{
        width:100%;
        height:7px;
        inset:0 0 auto 0;
    }

    .manual-content p{
        text-align:center;
    }

    .manual-arrow{
        width:40px;
        height:40px;
    }
}
