/* ==========================================================
   PORTAL PROFISSIONAL DE ENFERMAGEM
   Autor: Ludgerio Rocha
   Arquivo: style.css
   ========================================================== */

/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:#ffffff;

    color:#2d3748;

    line-height:1.6;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

/* ===========================
   CORES
=========================== */

:root{

--azul:#0B5ED7;

--azulEscuro:#063970;

--verde:#16a34a;

--vermelho:#dc2626;

--laranja:#ea580c;

--cinza:#6b7280;

--claro:#f8fafc;

--branco:#ffffff;

--escuro:#0f172a;

--sombra:0 10px 25px rgba(0,0,0,.08);

--radius:16px;

}

/* ===========================
   CABEÇALHO
=========================== */

header{

position:fixed;

top:0;

left:0;

right:0;

height:110px;

background:white;

display:flex;

justify-content:space-between;

align-items:center;

padding:0 30px;

box-shadow:var(--sombra);

z-index:9999;

}

.logo{

display:flex;

align-items:center;

gap:15px;

}

.logo div{
    margin-top:24px;
}

.logo img{

width:55px;

height:55px;

}

.logo h1{

font-size:24px;

color:var(--azulEscuro);

font-weight:700;

}

.logo span{

display:block;

font-size:13px;

color:gray;

}

nav{

display:flex;

gap:15px;

}

nav a{

color:#334155;

font-weight:600;

transition:.3s;

position:relative;

}

nav a:hover{

color:var(--azul);

}

nav a::after{

content:"";

position:absolute;

bottom:-8px;

left:0;

width:0;

height:3px;

background:var(--azul);

transition:.3s;

}

nav a:hover::after{

width:100%;

}

/* ===========================
   MENU MOBILE
=========================== */

#menuMobile{

display:none;

background:none;

border:none;

font-size:28px;

cursor:pointer;

}

/* ===========================
   HERO
=========================== */

.hero{

padding-top:150px;

padding-bottom:90px;

padding-left:8%;

padding-right:8%;

display:flex;

justify-content:space-between;

align-items:center;

gap:70px;

background:linear-gradient #ffffff;

color:black;

}

.hero-text{

flex:1;

}

.hero-text span{

display:inline-block;

background:white;

color:#0B5ED7;

padding:8px 18px;

border-radius:50px;

font-size:14px;

font-weight:600;

margin-bottom:20px;

}

.hero-text h2{

font-size:52px;

line-height:1.2;

margin-bottom:25px;

}

.hero-text p{

font-size:19px;

opacity:.95;

margin-bottom:35px;

}

.hero-image{

flex:1;

text-align:center;

}

.hero-image img{

max-width:500px;

animation:flutuar 5s infinite ease-in-out;

}

@keyframes flutuar{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}

/* ===========================
   BOTÕES
=========================== */

.btn{

display:inline-flex;

align-items:center;

gap:10px;

padding:15px 30px;

border-radius:50px;

background:white;

color:var(--azul);

font-weight:700;

transition:.3s;

margin-right:15px;

box-shadow:var(--sombra);

}

.btn:hover{

transform:translateY(-4px);

}

.btn.secundario{

background:#16a34a;

color:white;

}

/* ===========================
   PESQUISA
=========================== */

.pesquisa{

padding:80px 8%;

background:white;

text-align:center;

}

.pesquisa h2{

font-size:38px;

margin-bottom:15px;

color:var(--azulEscuro);

}

.search{

margin:auto;

margin-top:30px;

display:flex;

max-width:800px;

box-shadow:var(--sombra);

border-radius:50px;

overflow:hidden;

}

.search input{

flex:1;

padding:18px;

border:none;

font-size:17px;

outline:none;

}

.search button{

width:70px;

background:var(--azul);

border:none;

color:white;

cursor:pointer;

font-size:22px;

}

/* ==========================================================
   SEÇÕES
========================================================== */

.secao{

    padding:90px 8%;

    background:#f8fafc;

}

.secao:nth-child(even){

    background:white;

}

.titulo-secao{

    text-align:center;

    margin-bottom:60px;

}

.titulo-secao h2{

    font-size:42px;

    color:var(--azulEscuro);

    margin-bottom:15px;

}

.titulo-secao p{

    color:#64748b;

    font-size:18px;

}

/* ==========================================================
   GRID PADRÃO
========================================================== */

.grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}

/* ==========================================================
   CARDS
========================================================== */

.card{

    background:white;

    border-radius:20px;

    padding:35px;

    text-align:center;

    box-shadow:var(--sombra);

    transition:.35s;

    border-top:6px solid transparent;

}

.card:hover{

    transform:translateY(-12px);

    border-top:6px solid var(--azul);

}

.card i{

    font-size:55px;

    color:var(--azul);

    margin-bottom:25px;

}

.card h3{

    font-size:24px;

    margin-bottom:15px;

}

.card p{

    color:#64748b;

}

/* ==========================================================
   ESTATÍSTICAS
========================================================== */

.estatisticas{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:30px;

    padding:90px 8%;

    background:linear-gradient(135deg,#0B5ED7,#2563eb);

}

.estatisticas .item{

    background:white;

    border-radius:20px;

    text-align:center;

    padding:40px;

}

.estatisticas h2{

    font-size:50px;

    color:var(--azulEscuro);

}

.estatisticas span{

    color:#475569;

    font-weight:600;

}

/* ==========================================================
   CALCULADORAS
========================================================== */

.grid-calculadoras{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(270px,1fr));

gap:30px;

}

.card-calculo{

background:white;

padding:35px;

border-radius:20px;

text-align:center;

box-shadow:var(--sombra);

transition:.35s;

}

.card-calculo:hover{

transform:scale(1.04);

}

.card-calculo i{

font-size:55px;

color:var(--verde);

margin-bottom:20px;

}

.card-calculo h3{

margin-bottom:12px;

}

.card-calculo button{

margin-top:25px;

padding:12px 25px;

border:none;

border-radius:30px;

background:var(--verde);

color:white;

cursor:pointer;

font-weight:600;

}

/* ==========================================================
   VACINAS
========================================================== */

.vacina-box{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:25px;

background:white;

padding:35px;

border-radius:20px;

box-shadow:var(--sombra);

margin-bottom:35px;

}

.campo{

display:flex;

flex-direction:column;

}

.campo label{

margin-bottom:10px;

font-weight:600;

}

.campo input,
.campo select{

padding:15px;

border:1px solid #dbe2ea;

border-radius:12px;

font-size:16px;

outline:none;

}

#resultadoVacinas{

background:#ecfdf5;

padding:25px;

border-radius:15px;

border-left:8px solid var(--verde);

}

/* ==========================================================
   TABELAS
========================================================== */

table{

width:100%;

border-collapse:collapse;

margin-top:30px;

background:white;

border-radius:20px;

overflow:hidden;

box-shadow:var(--sombra);

}

table thead{

background:var(--azul);

color:white;

}

table th{

padding:18px;

text-align:left;

}

table td{

padding:18px;

border-bottom:1px solid #edf2f7;

}

table tbody tr:hover{

background:#eff6ff;

}

table button{

padding:10px 18px;

background:var(--azul);

border:none;

border-radius:10px;

color:white;

cursor:pointer;

}

/* ==========================================================
   PROTOCOLOS
========================================================== */

.grid-protocolos{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.protocolo{

background:white;

padding:35px;

border-radius:20px;

box-shadow:var(--sombra);

transition:.35s;

border-left:8px solid var(--azul);

}

.protocolo:hover{

transform:translateY(-8px);

}

.protocolo h3{

color:var(--azulEscuro);

margin-bottom:15px;

font-size:24px;

}

.protocolo p{

margin-bottom:20px;

color:#64748b;

}

.protocolo button{

padding:12px 22px;

background:var(--azul);

color:white;

border:none;

border-radius:12px;

cursor:pointer;

font-weight:600;

transition:.3s;

}

.protocolo button:hover{

background:var(--azulEscuro);

}

/* ==========================================================
   URGÊNCIA
========================================================== */

.grid-urgencia{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.urgencia-card{

padding:35px;

border-radius:20px;

color:white;

text-align:center;

box-shadow:var(--sombra);

transition:.35s;

}

.urgencia-card:hover{

transform:scale(1.05);

}

.urgencia-card i{

font-size:55px;

margin-bottom:20px;

}

.urgencia-card h3{

margin-bottom:15px;

font-size:24px;

}

.urgencia-card p{

margin-bottom:20px;

opacity:.95;

}

.urgencia-card button{

padding:12px 25px;

background:white;

border:none;

border-radius:50px;

font-weight:700;

cursor:pointer;

}

.perigo{background:#dc2626;}
.vermelho{background:#ef4444;}
.laranja{background:#f97316;}
.amarelo{background:#f59e0b;}
.verde{background:#16a34a;}
.azul{background:#2563eb;}

/* ==========================================================
   ESCALAS
========================================================== */

.grid-escalas{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:25px;

}

.escala{

background:white;

padding:30px;

text-align:center;

border-radius:18px;

box-shadow:var(--sombra);

transition:.3s;

}

.escala:hover{

transform:translateY(-8px);

}

.escala h3{

margin-bottom:18px;

font-size:22px;

color:var(--azulEscuro);

}

.escala button{

padding:10px 22px;

background:var(--verde);

border:none;

color:white;

border-radius:10px;

cursor:pointer;

}

/* ==========================================================
   PROCEDIMENTOS
========================================================== */

.grid-procedimentos{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:25px;

}

.procedimento{

background:white;

padding:30px;

border-radius:18px;

box-shadow:var(--sombra);

transition:.3s;

}

.procedimento:hover{

transform:translateY(-8px);

}

.procedimento h3{

margin-bottom:18px;

color:var(--azulEscuro);

}

.procedimento button{

padding:10px 20px;

background:var(--azul);

color:white;

border:none;

border-radius:10px;

cursor:pointer;

}

/* ==========================================================
   DOWNLOADS
========================================================== */

.downloads-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:25px;

}

.download-item{

background:white;

padding:30px;

text-align:center;

border-radius:18px;

box-shadow:var(--sombra);

}

.download-item h3{

margin-bottom:20px;

}

.download-item button{

padding:12px 25px;

background:var(--verde);

color:white;

border:none;

border-radius:10px;

cursor:pointer;

}

/* ==========================================================
   FORMULÁRIO
========================================================== */

form{

max-width:700px;

margin:auto;

display:flex;

flex-direction:column;

gap:20px;

}

form input,
form textarea{

padding:18px;

border:1px solid #dbe2ea;

border-radius:12px;

font-size:16px;

outline:none;

font-family:inherit;

}

form textarea{

resize:vertical;

}

form button{

padding:16px;

background:var(--azul);

color:white;

border:none;

border-radius:12px;

cursor:pointer;

font-size:17px;

font-weight:600;

transition:.3s;

}

form button:hover{

background:var(--azulEscuro);

}

/* ==========================================================
   RODAPÉ
========================================================== */

footer{

    background:#0f172a;

    color:white;

    padding:60px 8% 30px;

    margin-top:80px;

}

.footer-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:40px;

}

.footer-coluna h3{

    margin-bottom:20px;

    color:#ffffff;

    font-size:22px;

}

.footer-coluna p,
.footer-coluna a{

    color:#cbd5e1;

    line-height:1.8;

    transition:.3s;

}

.footer-coluna a:hover{

    color:#38bdf8;

}

.footer-social{

    display:flex;

    gap:15px;

    margin-top:20px;

}

.footer-social a{

    width:45px;

    height:45px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#1e293b;

    color:white;

    font-size:20px;

    transition:.3s;

}

.footer-social a:hover{

    background:var(--azul);

    transform:translateY(-4px);

}

.footer-copy{

    margin-top:50px;

    border-top:1px solid rgba(255,255,255,.15);

    padding-top:25px;

    text-align:center;

    color:#94a3b8;

}

/* ==========================================================
   BOTÃO VOLTAR AO TOPO
========================================================== */

#topo{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:var(--azul);

    color:white;

    cursor:pointer;

    font-size:22px;

    display:none;

    box-shadow:var(--sombra);

    transition:.3s;

    z-index:999;

}

#topo:hover{

    transform:translateY(-6px);

    background:var(--azulEscuro);

}

/* ==========================================================
   ANIMAÇÕES
========================================================== */

.fade{

    animation:fade .8s ease;

}

@keyframes fade{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.zoom{

    animation:zoom .5s;

}

@keyframes zoom{

    from{

        transform:scale(.9);

        opacity:0;

    }

    to{

        transform:scale(1);

        opacity:1;

    }

}

/* ==========================================================
   SCROLLBAR
========================================================== */

::-webkit-scrollbar{

    width:12px;

}

::-webkit-scrollbar-track{

    background:#edf2f7;

}

::-webkit-scrollbar-thumb{

    background:var(--azul);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--azulEscuro);

}

/* ==========================================================
   DARK MODE
========================================================== */

body.dark{

    background:#0f172a;

    color:#e2e8f0;

}

body.dark header{

    background:#1e293b;

}

body.dark .card,
body.dark .card-calculo,
body.dark .protocolo,
body.dark .escala,
body.dark .procedimento,
body.dark .download-item,
body.dark table,
body.dark .vacina-box{

    background:#1e293b;

    color:#e2e8f0;

}

body.dark .secao{

    background:#0f172a;

}

body.dark .secao:nth-child(even){

    background:#111827;

}

body.dark input,
body.dark textarea,
body.dark select{

    background:#334155;

    color:white;

    border-color:#475569;

}

body.dark table tbody tr:hover{

    background:#334155;

}

/* ==========================================================
   RESPONSIVIDADE
========================================================== */

@media(max-width:1100px){

.hero{

flex-direction:column;

text-align:center;

}

.hero-image img{

max-width:380px;

}

}

@media(max-width:900px){

header{

padding:15px 25px;

}

#menu{

display:none;

position:absolute;

top:80px;

left:0;

right:0;

background:white;

flex-direction:column;

padding:20px;

box-shadow:var(--sombra);

}

#menu.ativo{

display:flex;

}

#menuMobile{

display:block;

}

nav a{

padding:12px 0;

}

.hero h2{

font-size:38px;

}

.titulo-secao h2{

font-size:32px;

}

}

@media(max-width:600px){

.hero{

padding:120px 25px 70px;

}

.hero h2{

font-size:30px;

}

.hero p{

font-size:16px;

}

.btn{

display:block;

margin-bottom:15px;

text-align:center;

}

.search{

flex-direction:column;

border-radius:15px;

}

.search button{

width:100%;

height:60px;

}

table{

display:block;

overflow-x:auto;

}

.estatisticas{

grid-template-columns:1fr 1fr;

}

}

/* ==========================================================
   IMPRESSÃO
========================================================== */

@media print{

header,
footer,
#topo,
button{

display:none !important;

}

body{

background:white;

color:black;

}

.secao{

padding:20px;

}

}

/* ===========================
   FIM DO STYLE.CSS
=========================== */
