*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#050505;
    color:white;
    font-family:Arial, Helvetica, sans-serif;
    overflow-x:hidden;
}

/* NAVBAR */

.custom-navbar{
    background:rgba(0, 0, 0, 0.71);
    backdrop-filter:blur(10px);
    padding:20px 0;
    transition:.3s;
    border-bottom:1px solid rgba(255,255,255,0.05);
}

#logo{
    max-width: 225px;
    max-height: 75px;
}

.logo-green{
    color:#6CFF3D;
    border-radius: 100%;
    border: solid 1px;
    border-color: #6CFF3D;
}

.subtitle-logo{
    color:#bfbfbf;
    font-size:0.7rem;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-left:55px;
    margin-top:-3px;
}

.navbar-brand{
    font-size:2rem;
    font-weight:900;
}

.nav-link{
    color:#cfcfcf !important;
    margin:0 10px;
    transition:.3s;
}

.nav-link:hover,
.nav-link.active{
    color:#6CFF3D !important;
}

.btn-login{
    border:1px solid #6CFF3D;
    color:#6CFF3D;
    border-radius:50px;
    padding:10px 22px;
    transition:.3s;
}

.btn-login:hover{
    background:#6CFF3D;
    color:black;
}

#homeButton{
    border-radius:50px;
    padding:10px 22px;
}

/* .btn-whatsapp{
    border:1px solid #6CFF3D;
    color:#6CFF3D;
    border-radius:50px;
    padding:10px 22px;
    transition:.3s;
}

.btn-whatsapp:hover{
    background:#6CFF3D;
    color:black;
} */

/* HERO */

.hero-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    padding-top:120px;
    background:
    linear-gradient(to right,
    rgba(0,0,0,0.92),
    rgba(0,0,0,0.5)),
    url('../media/images/hero-bike.png');

    background-size:cover;
    background-position:center;
    position:relative;
}

.hero-title{
    font-size:5rem;
    font-weight:900;
    line-height:1;
    margin-bottom:20px;
}

.hero-text{
    color:#d1d1d1;
    font-size:1.2rem;
    line-height:1.7;
    max-width:600px;
}

.hero-image{
    max-height:650px;
    filter:drop-shadow(0 20px 40px rgba(0,0,0,0.6));
}

/* BUTTONS */

.btn-green{
    background:#6CFF3D;
    color:black;
    border:none;
    border-radius:12px;
    font-weight:bold;
    padding:14px 28px;
    transition:.3s;
}

.btn-green:hover{
    background:#57d12f;
    transform:translateY(-3px);
}

.btn-outline-light{
    border-radius:12px;
    padding:14px 28px;
}

/* BENEFITS */

.benefits{
    background:#0a0a0a;
    border-top:1px solid rgba(255,255,255,0.05);
    border-bottom:1px solid rgba(255,255,255,0.05);
}

.benefit-item{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    color:#d1d1d1;
}

.benefit-item i{
    color:#6CFF3D;
}

/* TITLES */

.section-title span{
    color:#6CFF3D;
    font-size:.9rem;
    font-weight:bold;
}

.section-title h2{
    font-size:3rem;
    font-weight:800;
    margin-top:10px;
}

/* MODELS */

.models-section{
    padding:100px 0;
    position:relative;
}

.model-card{
    background:#111;
    border-radius:24px;
    padding:25px;
    border:1px solid rgba(255,255,255,0.05);
    transition:.4s;
    height:100%;
    position:relative;
    overflow:hidden;
}

#modelos .img-fluid{
    background-color: #add09b46;
    border-radius: 15%;
}

.model-card::before{
    content:'';
    position:absolute;
    width:250px;
    height:250px;
    background:rgba(108,255,61,0.06);
    border-radius:50%;
    top:-100px;
    right:-100px;
}

.model-card:hover{
    transform:translateY(-10px);
    border-color:#6CFF3D;
}

.model-card img{
    width:100%;
    height:230px;
    object-fit:contain;
    margin-bottom:20px;
}

.model-card h3{
    font-size:2rem;
    font-weight:800;
    margin-bottom:20px;
}

.specs{
    display:flex;
    justify-content:space-between;
    margin-bottom:20px;
    color:#cfcfcf;
}

.specs i{
    color:#6CFF3D;
}

.model-card h4{
    font-size:2rem;
    font-weight:bold;
    margin-bottom:20px;
}

/* ADVANTAGES */

.advantages{
    padding:100px 0;
}

.advantage-card{
    background:#101010;
    border-radius:20px;
    padding:30px 20px;
    text-align:center;
    border:1px solid rgba(255,255,255,0.05);
    transition:.3s;
    height:100%;
}

.advantage-card:hover{
    transform:translateY(-10px);
    border-color:#6CFF3D;
}

.advantage-card i{
    font-size:2.5rem;
    color:#6CFF3D;
    margin-bottom:20px;
}

.advantage-card h5{
    font-size:1.1rem;
}

/* TESTIMONIALS */

.testimonials{
    padding:100px 0;
}

.testimonial-card{
    background:#101010;
    border-radius:20px;
    padding:30px;
    border:1px solid rgba(255,255,255,0.05);
    transition:.3s;
    height:100%;
}

.testimonial-card:hover{
    transform:translateY(-10px);
    border-color:#6CFF3D;
}

.testimonial-card h5{
    font-size:1.3rem;
    margin-bottom:15px;
}

.testimonial-card p{
    color:#bfbfbf;
    line-height:1.7;
}

/* CTA */

.cta-section{
    padding:80px 0;
    background:linear-gradient(90deg,#111,#0a0a0a);
    border-top:1px solid rgba(255,255,255,0.05);
    border-bottom:1px solid rgba(255,255,255,0.05);
}

.cta-section h2{
    font-size:3rem;
    font-weight:800;
}

/* FOOTER */

.footer{
    background:#050505;
    padding:80px 0 30px;
}

.footer h3{
    font-size:2rem;
    font-weight:900;
}

.footer h5{
    margin-bottom:20px;
}

.footer p{
    color:#bfbfbf;
}

.footer-links{
    list-style:none;
    padding:0;
}

.footer-links li{
    margin-bottom:12px;
}

.footer-links a{
    color:#bfbfbf;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#6CFF3D;
}

.social-icons{
    display:flex;
    gap:15px;
}

.social-icons a{
    width:45px;
    height:45px;
    border-radius:50%;
    background:#111;
    display:flex;
    justify-content:center;
    align-items:center;
    color:white;
    text-decoration:none;
    transition:.3s;
}

.social-icons a:hover{
    background:#6CFF3D;
    color:black;
}

.footer-divider{
    border-color:rgba(255,255,255,0.05);
    margin:40px 0 20px;
}

.footer-copy{
    color:#777;
}

/* FLOATING BUTTON */

.floating-whatsapp{
    position:fixed;
    width:65px;
    height:65px;
    right:25px;
    bottom:25px;
    /* background:#25D366; */
    background:#6CFF3D;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color: #000;
    font-size:2rem;
    text-decoration:none;
    z-index:999;
    box-shadow:0 10px 30px rgba(0,0,0,0.4);
    transition:.3s;
}

.floating-whatsapp:hover{
    background-color: #000;
    transform:scale(1.1);
    color: #6CFF3D;
}

/* SCROLLBAR */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#050505;
}

::-webkit-scrollbar-thumb{
    background:#6CFF3D;
    border-radius:20px;
}

/* Layout Geral do Dashboard */
.dashboard {
    display: flex;
    min-height: 100vh;
    background: #0c0c0e;
    color: #f1f1f4;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Barra Lateral (Sidebar) */
.sidebar {
    width: 280px;
    background: #121214;
    padding: 40px 24px;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    flex-direction: column;
}

.sidebar #logo {
    max-width: 134px;
    margin-bottom: 40px;
}

/* .sidebar h2 {
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 1px;
    margin-bottom: 40px;
    background: linear-gradient(135deg, #6CFF3D 0%, #3ddcff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-left: 12px;
} */

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar li {
    padding: 14px 16px;
    color: #a0a0a5;
    font-weight: 600;
    cursor: pointer;
    border-radius: 10px;
    margin-bottom: 8px;
    transition: all 0.2s ease;
}

/* Item Ativo/Hover na Sidebar */
.sidebar li:hover {
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
}

/* .sidebar li:first-child {
    background: rgba(108, 255, 61, 0.1);
    color: #6CFF3D;
} */

.sidebar li.active {
    background: rgba(108, 255, 61, 0.1) !important;
    color: #6CFF3D !important;
}

/* Conteúdo Principal */
.dashboard-content {
    flex: 1;
    padding: 40px 50px;
    overflow-y: auto;
}

/* Topbar */
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 20px;
}

.topbar h1 {
    font-size: 1.8rem;
    font-weight: 700;
    background: linear-gradient(135deg, #6CFF3D 0%, #3ddcff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Botão Voltar */
.btn-return {
    background: rgba(108, 255, 61, 0.1);
    border: 1px solid rgba(108, 255, 61, 0.2);
    color: #6CFF3D;
    border-radius: 10px;
    font-weight: 600;
    transition: all 0.2s;
}

.btn-return:hover {
    background: #6CFF3D;
    color: #000000;
    box-shadow: 0 4px 15px rgba(108, 255, 61, 0.3);
}

/* Botão Sair */
.btn-danger {
    background: rgba(255, 70, 70, 0.1);
    border: 1px solid rgba(255, 70, 70, 0.2);
    color: #ff4646;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 600;
    transition: all 0.2s;
}

.btn-danger:hover {
    background: #ff4646;
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(255, 70, 70, 0.3);
}

/* Cards do Painel */
.admin-card {
    background: #121214;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.admin-card h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 25px;
    color: #ffffff;
}

/* Customização dos botões do form dentro do painel */
.admin-card .btn-green {
    padding: 12px 28px;
    background: #6CFF3D;
    background: linear-gradient(90deg,rgba(108, 255, 61, 1) 20%, rgba(54, 217, 0, 1) 80%);
    color: #000000;
    height: auto;
    width: auto;
}

.admin-card .btn-green:hover {
    background: #6CFF3D;
    background: linear-gradient(90deg,rgba(54, 217, 0, 1) 20%, rgba(108, 255, 61, 1) 80%);
    color: #3e3e3e;
}

/* Grid de Veículos Cadastrados */
#vehicleList {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

/* Item de Veículo Estilizado como Card de E-Commerce */
.vehicle-item {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    padding: 24px;
    border-radius: 14px;
    margin-top: 0; /* resetando o margin antigo */
    transition: transform 0.2s, border-color 0.2s;
}

.vehicle-item:hover {
    transform: translateY(-4px);
    border-color: rgba(108, 255, 61, 0.3);
}

.vehicle-item h4 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
}

.vehicle-item p {
    font-size: 1.2rem;
    font-weight: 800;
    color: #6CFF3D;
    margin-bottom: 0;
}

/* RESPONSIVO */

@media(max-width:991px){

    .hero-section{
        text-align:center;
    }

    .hero-title{
        font-size:3rem;
    }

    .hero-image{
        margin-top:50px;
        max-height:400px;
    }

    .cta-section h2{
        font-size:2rem;
        text-align:center;
    }

    .social-icons{
        justify-content:center;
    }

    .footer{
        text-align:center;
    }
}

@media(max-width:768px){

    .hero-title{
        font-size:2.4rem;
    }

    .section-title h2{
        font-size:2rem;
    }

    .specs{
        flex-direction:column;
        gap:10px;
    }
}

@media (max-width: 992px) {
    .dashboard-content {
        padding: 30px 20px;
    }
}

@media (max-width: 768px) {
    .dashboard {
        flex-direction: column; /* Coloca a sidebar no topo e o painel embaixo */
    }

    .sidebar {
        width: 100%;
        padding: 20px 20px 10px 20px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        align-items: center;
    }

    .sidebar h2 {
        margin-bottom: 15px;
    }

    /* Transforma o menu ul em uma barra de rolagem horizontal por toque no celular */
    .sidebar ul {
        display: flex;
        width: 100%;
        overflow-x: auto;
        padding-bottom: 10px;
        gap: 8px;
        scrollbar-width: none; /* Esconde barra no Firefox */
    }

    .sidebar ul::-webkit-scrollbar {
        display: none; /* Esconde barra no Chrome/Safari */
    }

    .sidebar li {
        margin-bottom: 0;
        padding: 10px 16px;
        font-size: 0.9rem;
    }

    .topbar {
        margin-bottom: 25px;
    }

    .topbar h1 {
        font-size: 1.4rem;
    }

    .admin-card {
        padding: 20px;
    }

    /* Faz com que o botão ocupar 100% de largura no celular para melhor clique */
    .admin-card .btn-green {
        width: 100%;
    }

    #vehicleList {
        grid-template-columns: 1fr; /* Lista de uma coluna só no celular */
        gap: 15px;
    }
}

/* ========================================================= */
/* CONFIGURAÇÃO DE RESPONSIVIDADE GLOBAL (GLOOV)       */
/* ========================================================= */

/* 1. Ajustes para Telas Grandes e Monitores Normais (Desktop) */
@media (min-width: 992px) {
    .custom-navbar {
        padding: 15px 0;
    }
}

/* 2. Ajustes para Tablets e Telas Médias (max-width: 991px) */
@media (max-width: 991px) {
    body {
        padding-top: 80px; /* Adapta o recuo do topo para navbars mobile */
    }
    .carousel-section-title {
        font-size: 1.2rem;
    }
    .filter-sidebar {
        margin-bottom: 20px; /* Garante espaçamento quando o filtro empilhar acima do grid */
    }
}

/* 3. Ajustes Críticos para Celulares (max-width: 767px) */
@media (max-width: 767px) {
    /* INDEX: Força o carrossel de 1 em 1 a exibir apenas 1 card por vez no celular */
    #carouselDestaques .carousel-inner {
        display: block !important;
    }
    #carouselDestaques .carousel-item {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
    
    /* PRODUTOS: Ajusta os carrosséis superiores (Recentes/Vendidos) para não espremer os cards */
    #carouselRecentes .carousel-item .row > div:not(:first-child),
    #carouselVendidos .carousel-item .row > div:not(:first-child) {
        display: none !important; /* Oculta o 2º e 3º card do slide no mobile para focar em 1 limpo */
    }
    #carouselRecentes .carousel-item .row > div,
    #carouselVendidos .carousel-item .row > div {
        width: 100% !important; /* O card visível assume largura total */
    }

    /* Redimensionamento de elementos internos para telas pequenas touch */
    .model-card {
        padding: 15px;
    }
    .model-card img {
        max-height: 120px; /* Evita que a foto da scooter domine o card no celular */
    }
    .model-card h4 {
        font-size: 1rem;
    }
    .model-card .price {
        font-size: 1.1rem;
    }
    
    /* Ajustes na paginação para não quebrar linha se houver muitas páginas */
    .pagination {
        flex-wrap: wrap;
        gap: 5px;
    }
    .page-link {
        padding: 8px 12px;
        font-size: 0.9rem;
    }
}

/* 4. Ajustes para Celulares Muito Pequenos (max-width: 480px) */
@media (max-width: 480px) {
    /* Alinha os badges e especificações para não encavalarem */
    .model-card .specs {
        gap: 8px;
        font-size: 0.7rem;
    }
    /* Diminui o tamanho do logotipo na barra de navegação para sobrar espaço para o botão login */
    #logo {
        max-width: 110px;
    }
    .btn-login {
        padding: 5px 10px;
        font-size: 0.85rem;
    }
}