* {

    margin: 0;
    padding: 0;

    box-sizing: border-box;

    font-family: Arial, sans-serif;

    text-decoration: none;

}


body {

    background: #ffffff;

}


/* =========================
   HEADER
========================= */

header {

    width: 100%;
    height: 100px;

    background: #ffffff;

    border-bottom: 3px solid #C62828;

    display: flex;

    align-items: center;

    position: fixed;

    top: 0;
    left: 0;

    z-index: 1000;

}


/* =========================
   LOGO
========================= */

header img {

    width: 100px;

    margin-left: 40px;

}


/* =========================
   MENU
========================= */

nav {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 45px;

    width: 100%;

}


nav a {

    color: #174A7E;

    font-size: 20px;

    font-weight: 600;

    position: relative;

    transition: 0.3s;

}


nav a:hover {

    color: #C62828;

    transform: translateY(-2px);

}


/* =========================
   PÁGINA SELECIONADA
========================= */

.pagina-selecionada {

    color: #C62828;

}


.pagina-selecionada::after {

    content: "";

    position: absolute;

    width: 100%;

    height: 3px;

    background: #C62828;

    bottom: -10px;

    left: 0;

    border-radius: 10px;

}





/* =========================
   INTRODUÇÃO
========================= */

.introducao-festas {

    min-height: 500px;

    margin-top: 100px;

    padding: 100px 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    background:

        linear-gradient(
            rgba(23, 74, 126, 0.92),
            rgba(198, 40, 40, 0.85)
        );

}


.introducao-festas span {

    color: #FFE082;

    font-size: 17px;

    font-weight: bold;

    letter-spacing: 4px;

    margin-bottom: 20px;

}


.introducao-festas h1 {

    color: #ffffff;

    font-size: 65px;

    margin-bottom: 25px;

}


.introducao-festas p {

    color: #ffffff;

    font-size: 21px;

    line-height: 1.7;

    max-width: 750px;

}



/* =========================
   TIPOS DE FESTAS
========================= */

.tipos-festas {

    padding: 100px 8%;

    text-align: center;

}


.tipos-festas h2 {

    color: #174A7E;

    font-size: 38px;

    margin-bottom: 70px;

}


.cards-festas {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 35px;

    max-width: 1200px;

    margin: 0 auto;

}


.card-festa {

    min-height: 330px;

    padding: 40px 30px;

    background: #ffffff;

    border: 2px solid #174A7E;

    border-radius: 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    transition: 0.3s;

}


.card-festa:hover {

    transform: translateY(-10px);

    border-color: #C62828;

    box-shadow:
        0 10px 30px rgba(23, 74, 126, 0.15);

}


.card-destaque {

    border-color: #C62828;

    box-shadow:
        0 5px 20px rgba(198, 40, 40, 0.12);

}


.icone {

    font-size: 48px;

    margin-bottom: 20px;

}


.card-festa h3 {

    color: #174A7E;

    font-size: 25px;

    margin-bottom: 15px;

}


.card-festa p {

    color: #555555;

    font-size: 17px;

    line-height: 1.6;

}



/* =========================
   DECORAÇÕES
========================= */

.decoracoes {

    background: #174A7E;

    padding: 100px 8%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 70px;

}


.texto-decoracoes {

    width: 45%;

}


.texto-decoracoes > span {

    color: #FFE082;

    font-size: 16px;

    font-weight: bold;

    letter-spacing: 3px;

}


.texto-decoracoes h2 {

    color: #ffffff;

    font-size: 42px;

    margin: 20px 0 25px;

}


.texto-decoracoes p {

    color: #ffffff;

    font-size: 19px;

    line-height: 1.7;

    margin-bottom: 20px;

}


.texto-decoracoes strong {

    color: #FFE082;

}


.destaque-decoracao {

    margin-top: 30px;

    padding: 20px;

    border-left: 4px solid #FFE082;

    color: #ffffff;

    font-size: 18px;

    line-height: 1.5;

}



/* =========================
   FOTOS DECORAÇÕES
========================= */

.fotos-decoracoes {

    width: 50%;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 20px;

}


.foto-decoracao {

    height: 280px;

    overflow: hidden;

    border: 3px solid #FFE082;

    border-radius: 18px;

}


.foto-decoracao:first-child {

    grid-row: span 2;

    height: 580px;

}


.foto-decoracao img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition: 0.4s;

}


.foto-decoracao:hover img {

    transform: scale(1.06);

}



/* =========================
   BRINQUEDO
========================= */

.brinquedo {

    padding: 120px 10%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 80px;

}


.imagem-brinquedo {

    width: 48%;

}


.imagem-brinquedo img {

    width: 100%;

    max-height: 600px;

    object-fit: cover;

    border-radius: 25px;

    border: 3px solid #C62828;

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.15);

}


.texto-brinquedo {

    width: 45%;

}


.texto-brinquedo > span {

    color: #C62828;

    font-size: 16px;

    font-weight: bold;

    letter-spacing: 3px;

}


.texto-brinquedo h2 {

    color: #174A7E;

    font-size: 42px;

    margin: 20px 0 25px;

}


.texto-brinquedo p {

    color: #555555;

    font-size: 19px;

    line-height: 1.7;

    margin-bottom: 18px;

}


.texto-brinquedo strong {

    color: #174A7E;

}



/* =========================
   ITENS DO BRINQUEDO
========================= */

.itens-brinquedo {

    display: flex;

    gap: 15px;

    margin-top: 30px;

}


.itens-brinquedo div {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 8px;

    width: 120px;

    min-height: 100px;

    background: #174A7E;

    border-radius: 15px;

    color: #FFE082;

    font-size: 28px;

}


.itens-brinquedo span {

    color: #ffffff;

    font-size: 14px;

    font-weight: bold;

}



/* =========================
   FINAL
========================= */

.final-festas {

    padding: 100px 20px;

    text-align: center;

    background: #f5f5f5;

    border-top: 3px solid #C62828;

}


.final-festas span {

    color: #C62828;

    font-size: 16px;

    font-weight: bold;

    letter-spacing: 3px;

}


.final-festas h2 {

    color: #174A7E;

    font-size: 42px;

    margin: 20px auto;

    max-width: 800px;

}


.final-festas p {

    color: #555555;

    font-size: 19px;

    line-height: 1.6;

    max-width: 700px;

    margin: 0 auto 35px;

}


.final-festas a {

    display: inline-block;

    background: #C62828;

    color: #ffffff;

    padding: 18px 35px;

    border-radius: 12px;

    font-size: 18px;

    font-weight: bold;

    transition: 0.3s;

}


.final-festas a:hover {

    background: #E53935;

    transform: translateY(-5px);

}




















/* ==================================================
   RESPONSIVIDADE
   PÁGINA FESTAS
================================================== */


/* =========================
   TABLET
========================= */

@media (max-width: 900px) {


    /* =========================
       HEADER
    ========================= */

    header {

        height: 85px;

    }


    header img {

        width: 110px;

        margin-left: 20px;

    }


    nav {

        gap: 20px;

    }


    nav a {

        font-size: 16px;

    }


    /* =========================
       INTRODUÇÃO
    ========================= */

    .introducao-festas {

        min-height: 430px;

        margin-top: 85px;

        padding: 80px 25px;

    }


    .introducao-festas span {

        font-size: 15px;

        letter-spacing: 3px;

    }


    .introducao-festas h1 {

        font-size: 50px;

    }


    .introducao-festas p {

        font-size: 19px;

        max-width: 650px;

    }


    /* =========================
       TIPOS DE FESTAS
    ========================= */

    .tipos-festas {

        padding: 85px 6%;

    }


    .tipos-festas h2 {

        font-size: 34px;

        margin-bottom: 50px;

    }


    .cards-festas {

        grid-template-columns: repeat(2, 1fr);

        gap: 25px;

    }


    .card-festa {

        min-height: 300px;

        padding: 35px 25px;

    }


    .card-destaque {

        grid-column: 1 / -1;

        max-width: 500px;

        width: 100%;

        justify-self: center;

    }


    /* =========================
       DECORAÇÕES
    ========================= */

    .decoracoes {

        padding: 85px 6%;

        gap: 45px;

    }


    .texto-decoracoes {

        width: 48%;

    }


    .texto-decoracoes h2 {

        font-size: 36px;

    }


    .texto-decoracoes p {

        font-size: 17px;

    }


    .fotos-decoracoes {

        width: 52%;

        gap: 15px;

    }


    .foto-decoracao {

        height: 220px;

    }


    .foto-decoracao:first-child {

        height: 455px;

    }


    /* =========================
       BRINQUEDO
    ========================= */

    .brinquedo {

        padding: 90px 7%;

        gap: 45px;

    }


    .imagem-brinquedo {

        width: 48%;

    }


    .texto-brinquedo {

        width: 48%;

    }


    .texto-brinquedo h2 {

        font-size: 36px;

    }


    .texto-brinquedo p {

        font-size: 17px;

    }


    .itens-brinquedo {

        flex-wrap: wrap;

    }


    .itens-brinquedo div {

        width: 105px;

        min-height: 90px;

    }


    /* =========================
       FINAL
    ========================= */

    .final-festas {

        padding: 85px 25px;

    }


    .final-festas h2 {

        font-size: 36px;

    }


    .final-festas p {

        font-size: 18px;

    }

}


/* =========================
   CELULAR
========================= */

@media (max-width: 600px) {

    body {

        overflow-x: hidden;

    }


    /* =========================
       HEADER
       IGUAL AO 4-COTACAO
    ========================= */

    header {

        height: auto;

        min-height: 85px;

        padding: 15px;

        justify-content: center;

    }


    header img {

        display: none;

    }


    nav {

        width: 100%;

        gap: 12px;

        flex-wrap: wrap;

        justify-content: center;

        padding-left: 0;

    }


    nav a {

        font-size: 10px;

        font-weight: 700;

    }


    .pagina-selecionada::after {

        bottom: -6px;

    }



    /* =========================
       INTRODUÇÃO
    ========================= */

    .introducao-festas {

        min-height: 420px;

        margin-top: 75px;

        padding: 60px 18px;

    }


    .introducao-festas span {

        font-size: 11px;

        letter-spacing: 2px;

        line-height: 1.4;

    }


    .introducao-festas h1 {

        font-size: 34px;

        line-height: 1.2;

        margin-bottom: 20px;

    }


    .introducao-festas p {

        font-size: 16px;

        line-height: 1.55;

        max-width: 100%;

    }


    /* =========================
       TIPOS DE FESTAS
    ========================= */

    .tipos-festas {

        padding: 70px 20px;

    }


    .tipos-festas h2 {

        font-size: 29px;

        line-height: 1.2;

        margin-bottom: 35px;

    }


    .cards-festas {

        display: flex;

        flex-direction: column;

        align-items: center;

        gap: 20px;

    }


    .card-festa {

        width: 100%;

        max-width: 360px;

        min-height: auto;

        padding: 30px 22px;

        border-radius: 17px;

    }


    .card-destaque {

        width: 100%;

        max-width: 360px;

    }


    .icone {

        font-size: 40px;

        margin-bottom: 15px;

    }


    .card-festa h3 {

        font-size: 22px;

        line-height: 1.25;

    }


    .card-festa p {

        font-size: 15px;

        line-height: 1.55;

    }


    /* =========================
       DECORAÇÕES
    ========================= */

    .decoracoes {

        padding: 70px 20px;

        display: flex;

        flex-direction: column;

        gap: 35px;

    }


    .texto-decoracoes {

        width: 100%;

    }


    .texto-decoracoes > span {

        font-size: 11px;

        letter-spacing: 2px;

    }


    .texto-decoracoes h2 {

        font-size: 30px;

        line-height: 1.2;

        margin: 15px 0 20px;

    }


    .texto-decoracoes p {

        font-size: 16px;

        line-height: 1.55;

    }


    .destaque-decoracao {

        margin-top: 25px;

        padding: 16px;

        font-size: 15px;

    }


    /* =========================
       FOTOS DAS DECORAÇÕES
    ========================= */

    .fotos-decoracoes {

        width: 100%;

        display: grid;

        grid-template-columns: 1fr;

        gap: 15px;

    }


    .foto-decoracao {

        width: 100%;

        height: 260px;

        border-radius: 15px;

        border-width: 2px;

    }


    .foto-decoracao:first-child {

        height: 300px;

    }


    /* =========================
       BRINQUEDO
    ========================= */

    .brinquedo {

        padding: 70px 20px;

        display: flex;

        flex-direction: column;

        gap: 35px;

    }


    .imagem-brinquedo {

        width: 100%;

    }


    .imagem-brinquedo img {

        width: 100%;

        max-height: 400px;

        border-radius: 18px;

        border-width: 2px;

    }


    .texto-brinquedo {

        width: 100%;

    }


    .texto-brinquedo > span {

        font-size: 11px;

        letter-spacing: 2px;

    }


    .texto-brinquedo h2 {

        font-size: 30px;

        line-height: 1.2;

        margin: 15px 0 20px;

    }


    .texto-brinquedo p {

        font-size: 16px;

        line-height: 1.55;

        margin-bottom: 15px;

    }


    /* =========================
       ITENS DO BRINQUEDO
    ========================= */

    .itens-brinquedo {

        display: grid;

        grid-template-columns: repeat(3, 1fr);

        gap: 8px;

        margin-top: 25px;

    }


    .itens-brinquedo div {

        width: 100%;

        min-height: 85px;

        padding: 8px;

        border-radius: 12px;

        font-size: 24px;

        gap: 6px;

    }


    .itens-brinquedo span {

        font-size: 11px;

        text-align: center;

    }


    /* =========================
       FINAL
    ========================= */

    .final-festas {

        padding: 70px 20px;

    }


    .final-festas span {

        font-size: 11px;

        letter-spacing: 2px;

    }


    .final-festas h2 {

        font-size: 30px;

        line-height: 1.2;

        margin: 15px auto;

    }


    .final-festas p {

        font-size: 16px;

        line-height: 1.55;

        margin-bottom: 30px;

    }


    .final-festas a {

        width: 100%;

        max-width: 320px;

        padding: 15px 20px;

        font-size: 16px;

    }

}


/* =========================
   CELULAR MUITO PEQUENO
========================= */

@media (max-width: 380px) {

    header img {

        width: 75px;

    }


    nav {

        gap: 8px;

        padding-left: 8px;

    }


    nav a {

        font-size: 11px;

    }


    .introducao-festas {

        padding: 50px 15px;

    }


    .introducao-festas h1 {

        font-size: 30px;

    }


    .introducao-festas p {

        font-size: 15px;

    }


    .tipos-festas h2 {

        font-size: 27px;

    }


    .card-festa {

        max-width: 300px;

        padding: 25px 18px;

    }


    .texto-decoracoes h2,
    .texto-brinquedo h2,
    .final-festas h2 {

        font-size: 27px;

    }


    .foto-decoracao {

        height: 220px;

    }


    .foto-decoracao:first-child {

        height: 260px;

    }


    .imagem-brinquedo img {

        max-height: 320px;

    }


    .itens-brinquedo div {

        min-height: 78px;

        font-size: 21px;

    }


    .itens-brinquedo span {

        font-size: 10px;

    }

}