﻿
/* =========================================
   SERAFIM SOFTWARE - LOJA
========================================= */

.loja-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

/* HERO */

.loja-hero {
    position: relative;
    overflow: hidden;
    padding: 115px 0 125px;
    background: radial-gradient(circle at 80% 20%, rgba(117, 83, 223, .12), transparent 30%), radial-gradient(circle at 15% 80%, rgba(40, 120, 237, .10), transparent 35%), #f7f9fe;
}

.loja-etiqueta {
    display: inline-block;
    margin-bottom: 25px;
    padding: 9px 15px;
    border: 1px solid rgba(40, 120, 237, .20);
    border-radius: 30px;
    background: rgba(40, 120, 237, .07);
    color: #2878ed;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.loja-hero h1 {
    max-width: 850px;
    margin: 0 0 24px;
    color: #17243d;
    font-size: clamp(38px, 6vw, 68px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -2px;
}

    .loja-hero h1 span {
        display: block;
        color: #2878ed;
    }

.loja-hero p {
    max-width: 650px;
    margin-bottom: 35px;
    color: #71819b;
    font-size: 17px;
    line-height: 1.8;
}

/* BOTAO */

.loja-botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 25px;
    border-radius: 9px;
    background: linear-gradient(100deg, #2878ed, #7553df);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(40, 120, 237, .20);
    transition: transform .25s ease, box-shadow .25s ease;
}

    .loja-botao:hover {
        color: #fff;
        transform: translateY(-3px);
        box-shadow: 0 15px 30px rgba(40, 120, 237, .28);
    }

/* TITULOS */

.loja-titulo-secao {
    max-width: 680px;
    margin: 0 auto 50px;
    text-align: center;
}

    .loja-titulo-secao > span,
    .loja-digital-conteudo > span:first-child,
    .loja-novidades > .loja-container > span {
        color: #2878ed;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 2px;
    }

    .loja-titulo-secao h2 {
        margin: 15px 0;
        color: #17243d;
        font-size: clamp(30px, 4vw, 43px);
        font-weight: 800;
        letter-spacing: -1px;
    }

    .loja-titulo-secao p {
        color: #71819b;
        font-size: 16px;
        line-height: 1.8;
    }

/* CATEGORIAS */

.loja-categorias {
    padding: 90px 0;
    background: #fff;
}

.loja-categorias-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.loja-categoria {
    padding: 30px;
    border: 1px solid #e5ecf6;
    border-radius: 14px;
    background: #fff;
    text-decoration: none;
    transition: transform .3s ease, box-shadow .3s ease;
}

    .loja-categoria:hover {
        transform: translateY(-6px);
        box-shadow: 0 15px 35px rgba(23, 36, 61, .08);
    }

.loja-categoria-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    margin-bottom: 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(40, 120, 237, .12), rgba(117, 83, 223, .12));
    font-size: 25px;
}

.loja-categoria h3 {
    margin-bottom: 10px;
    color: #17243d;
    font-size: 19px;
    font-weight: 800;
}

.loja-categoria p {
    margin: 0;
    color: #71819b;
    font-size: 14px;
    line-height: 1.7;
}

/* CATALOGO */

.loja-catalogo {
    padding: 100px 0 115px;
    background: #f7f9fe;
}

.loja-produtos-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.loja-produto {
    overflow: hidden;
    border: 1px solid #e5ecf6;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 35px rgba(23, 36, 61, .04);
    transition: transform .3s ease, box-shadow .3s ease;
}

    .loja-produto:hover {
        transform: translateY(-8px);
        box-shadow: 0 18px 45px rgba(23, 36, 61, .10);
    }

.loja-produto-imagem {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 220px;
    padding: 22px;
    overflow: hidden;
}

    .loja-produto-imagem::before {
        position: absolute;
        inset: 0;
        content: "";
        transition: transform .5s ease;
    }

.loja-produto:hover .loja-produto-imagem::before {
    transform: scale(1.08);
}

.loja-produto-imagem > span {
    position: relative;
    z-index: 1;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 30px;
    background: rgba(255, 255, 255, .15);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    backdrop-filter: blur(8px);
}

.loja-produto-onibus::before {
    background: radial-gradient(circle at 75% 25%, rgba(85, 175, 255, .75), transparent 30%), linear-gradient(135deg, #102d4c, #1766a5 55%, #17243d);
}

.loja-produto-space::before {
    background: radial-gradient(circle at 70% 25%, rgba(185, 145, 255, .8), transparent 25%), radial-gradient(circle at 25% 70%, rgba(65, 120, 240, .5), transparent 30%), linear-gradient(135deg, #171334, #39316f 55%, #17243d);
}

.loja-produto-oceanic::before {
    background: radial-gradient(circle at 75% 25%, rgba(75, 190, 220, .7), transparent 30%), linear-gradient(135deg, #092c43, #126b85 55%, #17243d);
}

.loja-produto-conteudo {
    padding: 27px 25px 25px;
}

.loja-produto-categoria {
    color: #2878ed;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.loja-produto-conteudo h3 {
    min-height: 55px;
    margin: 13px 0;
    color: #17243d;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.loja-produto-conteudo p {
    min-height: 85px;
    margin-bottom: 22px;
    color: #71819b;
    font-size: 14px;
    line-height: 1.8;
}

.loja-produto-rodape {
    padding-top: 18px;
    border-top: 1px solid #e5ecf6;
}

    .loja-produto-rodape span {
        color: #7553df;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 1px;
    }

/* PRODUTOS DIGITAIS */

.loja-digital {
    padding: 100px 0;
    background: radial-gradient(circle at 90% 20%, rgba(117, 83, 223, .13), transparent 35%), #fff;
}

.loja-digital-conteudo {
    max-width: 850px;
}

    .loja-digital-conteudo h2 {
        margin: 20px 0;
        color: #17243d;
        font-size: clamp(32px, 5vw, 48px);
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: -1px;
    }

        .loja-digital-conteudo h2 strong {
            display: block;
            color: #2878ed;
        }

    .loja-digital-conteudo p {
        max-width: 700px;
        color: #71819b;
        font-size: 16px;
        line-height: 1.9;
    }

.loja-em-breve {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 14px;
    border: 1px solid rgba(117, 83, 223, .18);
    border-radius: 6px;
    background: rgba(117, 83, 223, .07);
    color: #7553df;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* NOVIDADES */

.loja-novidades {
    padding: 100px 0;
    background: #f7f9fe;
    text-align: center;
}

    .loja-novidades h2 {
        margin: 18px 0;
        color: #17243d;
        font-size: clamp(30px, 4vw, 42px);
        font-weight: 800;
        letter-spacing: -1px;
    }

    .loja-novidades p {
        max-width: 620px;
        margin: 0 auto 30px;
        color: #71819b;
        font-size: 16px;
        line-height: 1.8;
    }

/* RESPONSIVIDADE */

@media (max-width: 900px) {
    .loja-produtos-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .loja-hero {
        padding: 85px 0;
    }

        .loja-hero h1 {
            letter-spacing: -1px;
        }

    .loja-categorias,
    .loja-catalogo,
    .loja-digital,
    .loja-novidades {
        padding: 75px 0;
    }

    .loja-categorias-grid,
    .loja-produtos-grid {
        grid-template-columns: 1fr;
    }

    .loja-produto-conteudo h3,
    .loja-produto-conteudo p {
        min-height: auto;
    }
}
