/* ==========================================================
   LITORAL NORTE DESPACHANTE
   style.css
   Desenvolvido por ChatGPT
   ========================================================== */


/* ==========================================================
   VARIÁVEIS
   ========================================================== */

:root{

    --azul:#0d4d91;
    --azul-escuro:#08345f;
    --verde:#1f8b4c;
    --verde-hover:#166d3a;
    --amarelo:#f6c443;
    --branco:#ffffff;
    --cinza:#f5f7fa;
    --cinza2:#eceff3;
    --texto:#444;
    --titulo:#222;

    --radius:12px;

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

    --transition:.35s;

}


/* ==========================================================
   RESET
   ========================================================== */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

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

    color:var(--texto);

    background:#fff;

    overflow-x:hidden;

    line-height:1.7;

}


/* ==========================================================
   LINKS
   ========================================================== */

a{

    text-decoration:none;

    transition:var(--transition);

}

a:hover{

    text-decoration:none;

}


/* ==========================================================
   TITULOS
   ========================================================== */

h1,h2,h3,h4,h5{

    color:var(--titulo);

    font-weight:700;

}

.titulo{

    font-size:42px;

    margin-bottom:20px;

}

.subtitulo{

    color:var(--verde);

    text-transform:uppercase;

    font-weight:600;

    letter-spacing:2px;

}


/* ==========================================================
   ESPAÇAMENTOS
   ========================================================== */

.section-padding{

    padding:100px 0;

}


/* ==========================================================
   TOPBAR
   ========================================================== */

.topbar{

    background:var(--azul);

    color:#fff;

    font-size:14px;

    padding:10px 0;

}

.topbar i{

    color:var(--amarelo);

    margin-right:8px;

}

.topbar .row>div{

    padding:5px;

}


/* ==========================================================
   MENU
   ========================================================== */

.navbar{

    transition:.4s;

    padding:18px 0;

    background:rgba(0,0,0,.15);

    backdrop-filter:blur(10px);

}

.navbar.scrolled{

    background:var(--azul);

    box-shadow:0 10px 25px rgba(0,0,0,.20);

}

.logo{

    height:90px;

}

.navbar-nav .nav-link{

    color:#fff;

    font-weight:500;

    margin-left:25px;

    transition:.3s;

}

.navbar-nav .nav-link:hover{

    color:var(--amarelo);

}

.btn-menu{

    background:var(--verde);

    color:#fff!important;

    padding:10px 22px;

    border-radius:30px;

}

.btn-menu:hover{

    background:var(--verde-hover);

}


/* ==========================================================
   HERO
   ========================================================== */

#home{

    margin-top:0;

}

.carousel-item{

    height:100vh;

    min-height:700px;

    position:relative;

}

.carousel-item img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.carousel-item::before{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:100%;

    background:rgba(0,45,90,.30);

    z-index:1;

}

.carousel-caption{

    z-index:2;

    bottom:18%;

}

.carousel-caption h5{

    color:var(--amarelo);

    font-size:24px;

    text-transform:uppercase;

    letter-spacing:2px;

}

.carousel-caption h1{

    font-size:65px;

    color:#fff;

    margin:20px 0;

}

.carousel-caption p{

    font-size:22px;

    color:#fff;

    max-width:700px;

    margin:auto;

    margin-bottom:35px;

}

.carousel-caption .btn{

    padding:15px 35px;

    border-radius:40px;

    font-size:18px;

    margin:10px;

}


/* ==========================================================
   DIFERENCIAIS
   ========================================================== */

.diferenciais{

    background:#fff;

    padding:80px 0;

    margin-top:-70px;

    position:relative;

    z-index:99;

}

.card-diferencial{

    background:#fff;

    border-radius:var(--radius);

    padding:35px;

    box-shadow:var(--shadow);

    text-align:center;

    transition:.35s;

    height:100%;

}

.card-diferencial:hover{

    transform:translateY(-12px);

}

.card-diferencial i{

    font-size:55px;

    color:var(--verde);

    margin-bottom:20px;

}

.card-diferencial h3{

    font-size:28px;

}

.card-diferencial p{

    margin-top:10px;

}


/* ==========================================================
   BOTÕES
   ========================================================== */

.btn-warning{

    background:var(--amarelo);

    border:none;

    color:#222;

    font-weight:600;

}

.btn-warning:hover{

    background:#ffdb77;

}

.btn-success{

    background:var(--verde);

    border:none;

}

.btn-success:hover{

    background:var(--verde-hover);

}


/* ==========================================================
   IMAGENS
   ========================================================== */

img{

    max-width:100%;

}


/* ==========================================================
   ANIMAÇÕES
   ========================================================== */

.fade-up{

    opacity:0;

    transform:translateY(50px);

    transition:1s;

}

.fade-up.show{

    opacity:1;

    transform:none;

}


/* ==========================================================
   SCROLLBAR
   ========================================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:var(--verde);

}

::-webkit-scrollbar-track{

    background:#ddd;

}



/* ==========================================================
   SERVIÇOS
   ========================================================== */

#servicos{
    background:var(--cinza);
}

.service-card{

    background:#fff;

    border-radius:var(--radius);

    padding:40px 30px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

    height:100%;

    position:relative;

    overflow:hidden;

}

.service-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:var(--verde);

}

.service-card:hover{

    transform:translateY(-12px);

    box-shadow:0 20px 45px rgba(0,0,0,.18);

}

.service-card i{

    font-size:60px;

    color:var(--verde);

    margin-bottom:25px;

    transition:.35s;

}

.service-card:hover i{

    transform:scale(1.15);

    color:var(--azul);

}

.service-card h4{

    margin-bottom:18px;

    font-size:24px;

}

.service-card p{

    color:#666;

    font-size:15px;

}


/* ==========================================================
   CTA
   ========================================================== */

.cta{

    background:linear-gradient(135deg,var(--azul),var(--azul-escuro));

    color:#fff;

    padding:70px 0;

}

.cta h2{

    color:#fff;

    font-size:42px;

    margin-bottom:15px;

}

.cta p{

    font-size:18px;

    opacity:.95;

}

.cta .btn{

    border-radius:40px;

    padding:15px 40px;

    font-weight:600;

}


/* ==========================================================
   IPVA
   ========================================================== */

#ipva{

    background:#fff;

}

.tabela-ipva{

    border-radius:12px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

.tabela-ipva thead{

    background:var(--azul);

    color:#fff;

}

.tabela-ipva thead th{

    padding:18px;

    border:none;

}

.tabela-ipva tbody td{

    padding:18px;

    vertical-align:middle;

}

.tabela-ipva tbody tr{

    transition:.25s;

}

.tabela-ipva tbody tr:hover{

    background:#eef7ff;

}


/* ==========================================================
   LICENCIAMENTO
   ========================================================== */

#licenciamento{

    background:var(--cinza);

}

#licenciamento .card{

    border:none;

    border-radius:15px;

    overflow:hidden;

    transition:.35s;

}

#licenciamento .card:hover{

    transform:translateY(-8px);

}

#licenciamento .card-header{

    padding:18px 25px;

    font-size:20px;

    font-weight:600;

}

#licenciamento table{

    margin:0;

}

#licenciamento td{

    padding:16px;

}


/* ==========================================================
   TABELAS
   ========================================================== */

.table{

    margin-bottom:0;

}

.table tbody tr:nth-child(even){

    background:#fafafa;

}

.table tbody tr:hover{

    background:#eef7ff;

}

.table td{

    font-size:15px;

}


/* ==========================================================
   ALERTAS
   ========================================================== */

.alert{

    border:none;

    border-radius:12px;

    padding:22px;

    font-size:16px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.alert-info{

    background:#dff5ff;

    color:#0a5078;

}

.alert-warning{

    background:#fff4d8;

    color:#8b6200;

}

.alert i{

    margin-right:10px;

}


/* ==========================================================
   CARDS BOOTSTRAP
   ========================================================== */

.card{

    border-radius:15px;

    box-shadow:var(--shadow);

}

.card-body{

    padding:35px;

}

.card-header{

    border:none;

}


/* ==========================================================
   SEPARADORES
   ========================================================== */

hr{

    opacity:.15;

}


/* ==========================================================
   EFEITOS
   ========================================================== */

.service-card,
.card,
.table,
.alert{

    transition:.35s;

}


/* ==========================================================
   SOBRE
========================================================== */

#sobre{

    background:#fff;

}

#sobre img{

    max-width:420px;
    display:block;
    margin:auto;

}

#sobre h3{

    color:var(--azul);

    font-size:42px;

    font-weight:700;

}

#sobre p{

    margin-bottom:18px;

    text-align:justify;

}

/* ==========================================================
   ORÇAMENTO
========================================================== */

#orcamento{

    background:var(--cinza);

}

#orcamento .card{

    border-radius:18px;

    border:none;

    box-shadow:var(--shadow);

}

#orcamento input,
#orcamento select,
#orcamento textarea{

    border-radius:12px;

    border:1px solid #ddd;

    padding:14px 18px;

    transition:.3s;

    font-size:15px;

}

#orcamento input:focus,
#orcamento select:focus,
#orcamento textarea:focus{

    border-color:var(--verde);

    box-shadow:0 0 0 .25rem rgba(31,139,76,.15);

    outline:none;

}

#orcamento textarea{

    resize:none;

}

#orcamento button{

    padding:18px;

    border-radius:50px;

    font-size:18px;

    font-weight:600;

}

/* ==========================================================
   GOOGLE MAPS
========================================================== */

iframe{

    display:block;

    width:100%;

    border:none;

    filter:grayscale(.1);

}

/* ==========================================================
   RODAPÉ
========================================================== */

footer{

    background:var(--azul-escuro);

    color:#fff;

    padding:70px 0 25px;

}

.footer-logo{

    max-width:220px;

    margin-bottom:20px;

}

footer h4{

    color:#fff;

    margin-bottom:20px;

}

footer p{

    color:#ddd;

}

footer i{

    color:var(--amarelo);

    margin-right:8px;

}

footer a{

    color:#fff;

    font-size:22px;

    margin-left:15px;

}

footer a:hover{

    color:var(--amarelo);

}

footer hr{

    border-color:rgba(255,255,255,.15);

    margin:35px 0;

}

/* ==========================================================
   BOTÃO WHATSAPP
========================================================== */

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:34px;

    z-index:999;

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

    transition:.3s;

    animation:pulse 2s infinite;

}

.whatsapp-float:hover{

    transform:scale(1.12);

    color:#fff;

}

@keyframes pulse{

    0%{

        box-shadow:0 0 0 0 rgba(37,211,102,.5);

    }

    70%{

        box-shadow:0 0 0 18px rgba(37,211,102,0);

    }

    100%{

        box-shadow:0 0 0 0 rgba(37,211,102,0);

    }

}

/* ==========================================================
   BOTÃO TOPO
========================================================== */

.back-to-top{

    position:fixed;

    right:28px;

    bottom:105px;

    width:50px;

    height:50px;

    background:var(--azul);

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:18px;

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:998;

}

.back-to-top.show{

    opacity:1;

    visibility:visible;

}

.back-to-top:hover{

    background:var(--verde);

    color:#fff;

}

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

@media(max-width:991px){

    .topbar{

        display:none;

    }

    .navbar{

        background:var(--azul);

    }

    .logo{

        height:55px;

    }

    .carousel-item{

        min-height:650px;

    }

    .carousel-caption{

        bottom:12%;

    }

    .carousel-caption h1{

        font-size:38px;

    }

    .carousel-caption p{

        font-size:17px;

    }

    .titulo{

        font-size:32px;

    }

    .section-padding{

        padding:70px 0;

    }

    footer{

        text-align:center;

    }

}

@media(max-width:576px){

    .carousel-item{

        min-height:550px;

    }

    .carousel-caption h5{

        font-size:18px;

    }

    .carousel-caption h1{

        font-size:30px;

    }

    .carousel-caption p{

        font-size:15px;

    }

    .carousel-caption .btn{

        display:block;

        width:100%;

        margin:10px 0;

    }

    .card-diferencial{

        margin-bottom:20px;

    }

    .service-card{

        margin-bottom:20px;

    }

}

.navbar-toggler{

    border:none;

}

.navbar-toggler:focus{

    box-shadow:none;

}

.navbar-toggler-icon{

    filter:brightness(0) invert(1);

}


/* ==========================================================
   GALERIA DA EMPRESA
========================================================== */

.galeria-empresa{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.foto-principal img{

    width:100%;

    height:410px;

    object-fit:cover;

    border-radius:18px;

    box-shadow:0 15px 35px rgba(0,0,0,.18);

    transition:.4s;

}

.fotos-secundarias{

    display:grid;

    grid-template-columns:1fr 1fr 1fr;

    gap:18px;

}

.fotos-secundarias img{

    width:100%;

    height:180px;

    object-fit:cover;

    border-radius:15px;

    box-shadow:0 12px 30px rgba(0,0,0,.15);

    transition:.4s;

}

.galeria-empresa img:hover{

    transform:scale(1.03);

    box-shadow:0 20px 40px rgba(0,0,0,.25);

}






/* ==========================================================
   MODAL GALERIA
========================================================== */

.galeria-modal{
    cursor:pointer;
}

.modal-galeria{

    display:none;

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.90);

    z-index:9999;

    justify-content:center;
    align-items:center;

    padding:20px;

}

.modal-galeria img{

    max-width:90%;
    max-height:90vh;

    border-radius:12px;

    box-shadow:0 20px 50px rgba(0,0,0,.50);

}

.fechar-modal{

    position:absolute;

    top:15px;
    right:25px;

    color:#fff;

    font-size:50px;

    font-weight:bold;

    cursor:pointer;

    line-height:1;

}

.fechar-modal:hover{

    opacity:.7;

}

