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

body {
    font-family: 'Poppins', sans-serif;
    background: #0f0f0f; /* 🔥 fundo escuro */
    color: #fff;         /* 🔥 texto branco padrão */
}

/* ===== HERO ===== */
.hero {
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(rgba(0, 0, 0, 0.7),
            rgba(0, 0, 0, 0.9)),
        url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcROQEhyLWxSALKd9x0druCZEHBIQVXpf3dC2w&s");
    background-size: cover;
    background-position: center;
}

.hero-content h1{
    font-size:56px;
    font-weight:700;
    letter-spacing:2px;
    color:#de3902;
    margin-bottom:10px;
}

.hero-content p{
    font-size:18px;
    color:#aaa;
    font-weight:300;
    letter-spacing:1px;
}

/* ===== SEÇÃO ===== */
#projetos h2 {
    font-size: 28px;
    color: #de3902;
}

/* ===== GRID ===== */
#cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 260px));
    justify-content: start;
    gap: 20px;
}

/* ===== CARD ===== */
.card {
    background: #111;
    border-radius: 12px;
    padding: 15px;
    transition: 0.3s;
    border: 1px solid transparent;
    width: 220px;
    /* 🔥 largura fixa mínima */

}

.card {
    transition: all 0.3s ease;
    cursor: pointer;
}

.card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.card:hover {
    transform: translateY(-5px);
    border: 1px solid #de3902;
}

/* ===== IMAGEM ===== */
.card-img {
    display: block;
    margin: 0 auto;
    /* 🔥 centraliza horizontalmente */
    width: 80%;
    /* mantém menor se quiser */
    height: 220px;
    width: 180px;
    /* 🔥 largura fixa mínima */
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10px;
}

/* ===== TITULO ===== */
.card h3 {
    font-size: 16px;
    margin-bottom: 8px;
}

/* ===== PREÇO ANTIGO ===== */
.card .old-price {
    text-decoration: line-through;
    color: #777;
    font-size: 14px;
}

/* ===== PREÇO NOVO ===== */
.card .new-price {
    font-size: 20px;
    font-weight: bold;
    color: #de3902;
}

/* ===== BOTÃO ===== */
.card button {
    margin-top: 10px;
    padding: 10px;
    width: 100%;
    border: none;
    border-radius: 8px;
    background: #1a1a1a;
    /* 🔥 cinza bem escuro */
    color: #fff;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.card button:hover {
    background: #2a2a2a;
    /* leve clareada no hover */
}

/* ===== RESPONSIVO ===== */
@media(max-width:768px) {

    .hero {
        height: 50vh;
    }

    .hero-content h1 {
        font-size: 32px;
    }

    .hero-content p {
        font-size: 14px;
    }

}

.fade-up {
    opacity: 0;
    transform: translateY(40px) scale(0.98);
    transition: all 0.6s ease;
}

.fade-up.show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/**/
/*SKELETON*/

.skeleton-card {
    background: #1a1a1a;
    padding: 15px;
    border-radius: 12px;
}

.skeleton-img {
    height: 140px;
    background: #333;
    border-radius: 8px;
    margin-bottom: 10px;
}

.skeleton-text {
    height: 12px;
    background: #333;
    margin-bottom: 8px;
    border-radius: 6px;
}

.skeleton-text.small {
    width: 60%;
}

@keyframes pulse {
    0% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.5;
    }
}

.skeleton-card * {
    animation: pulse 1.5s infinite;
}

/*Efeito de cursor*/
.typing::after {
    content: "|";
    animation: blink 1s infinite;
}

@keyframes blink {
    0%, 50%, 100% { opacity: 1; }
    25%, 75% { opacity: 0; }
}