/*
=================  
COLORES DEL SITIO 
=================
*/

:root {
    --color-red: #B02945;
    --color-brown: #4C3224;
    --color-dark: #151516;
    --color-light: #E9E9E9;
    --color-white: #FFF;
}

/*
================= 
ESTILOS GENERALES 
=================
*/

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Montserrat";
    font-weight: 500;
    font-size: 16px;
}

.container {
    max-width: 1190px;
    margin: 0 auto;
}

.button {
    display: block;
    padding: 12px 15px;
    width: auto;
    background-color: var(--color-red);
    color: var(--color-white);
    border: none;
    cursor: pointer;

    border-radius: 25px;
    transition: box-shadow 0.4s ease;
}

.button:hover {
    box-shadow: 1px 2px 14px 5px rgba(0,0,0,0.39)
}

.section {
    padding-top: 120px;
    padding-bottom: 100px;
}

h2 {
    margin-bottom: 20px;
    font-family: "Oleo Script";
    font-size: 28px;
    text-transform: uppercase;
    text-align: center;
    color: var(--color-red);
}

h3 {
    font-size: 20px;
    color: var(--color-dark);
}

h5 {
    font-size: 18px;
    text-align: center;
    color: var(--color-brown);
}

.separador {
    height: 430px;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.text-input {
    width: 90%;
    margin-bottom: 15px;
    padding: 5px 10px;
}

.textarea {
    width: 90%;
    margin-bottom: 15px;
    padding: 5px 10px;
}

.fa-solid, .fa-brands {
    margin-right: 10px;
}

/*
==================
ESTILOS DEL HEADER 
==================
*/

.header {
    width: 100%;
    position: fixed;
    background: var(--color-white);
    box-shadow: 2px -3px 14px 0px rgba(0,0,0,0.41);
}

.header__items {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0px;
}

.logo {
    cursor: pointer;
    width: 200px;

    transition: transform ease 0.4s;
}

.logo:hover {
    transform: scale(1.08);
}

.nav__links {
    list-style: none;
}

.nav__links li {
    display: inline-block;
}

.nav__item {
    text-decoration: none;
    color: var(--color-dark);
    margin-left: 12px;

    transition: color ease 0.1s;
}

.nav__item:hover {
    color: var(--color-red);
}

.nav__item--selected {
    color: var(--color-red);
}

/*
================
ESTILOS DEL HERO
================
*/

.hero-section {
    background-image: url("../img/banner-pastel1.webp");
    height: 100vh;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.hero {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.hero__title {
    width: 70%;
    margin-top: 100px;
    margin-bottom: 25px;
    font-size: 45px;
    text-transform: uppercase;
    color: var(--color-white);
}

.hero__subtitle {
    margin-bottom: 25px;
    font-size: 30px;
    color: var(--color-white);
}

.hero-section--page {
    height: 270px;
}

.hero__title--page {
    margin-top: 130px;
}

/*
======================
SECCIÓN DE INFORMACIÓN
======================
*/
.info__coulums{
    display: flex;
    padding-top: 60px;
    width: 100%;
}

.coulum{
    width: 33.33%;
    height: 100%;
    text-align: center;
}

.lord-icon {
    margin-bottom: 30px;
    z-index: -10;
}

/*
=============================
ESTILOS SEPARADOR INFORMACIÓN
=============================
*/

.separador--informacion {
    width: 97%;
    background-image: url("../img/separador-pastel1.webp");
    border-radius: 0px 100vw 100vw 0px;
}

/*
=====================================
ESTILOS DE LAS SECCIONES DE PRODUCTOS
=====================================
*/

.products-container {
    padding-top: 60px;
}

.products {
    display: flex;
}

.product__coulum {
    width: 25%;
    text-align: center;
}

.product__image {
    padding: 0 20px;
    margin-bottom: 20px;
}

.product__title {
    margin-bottom: 15px;
}

.product__price {
    margin-bottom: 40px;
}

/*
===========================
ESTILOS SEPARADOR PRODUCTOS
===========================
*/

.separador--productos {
    position: relative;
    right: -10%;
    width: 90%;
    z-index: -10;
    background-image: url("../img/separador-pastel2.webp");
    border-radius: 100vw 0 0 100vw;
}

/*
============================== 
ESTILOS SECCIÓN DE CONTACTANOS 
==============================
*/

.contactanos-section {
    background-color: var(--color-light);
}

.contactanos__title {
    font-size: 23px;
    text-align: center;
    margin-bottom: 35px;
}

.button--contact {
    margin: 0 auto;
    width: 200px;
    text-align: center;
}

/*
=========================
ESTILOS SECCIÓN DE PEDIDO 
=========================
*/

.form {
    margin-top: 80px;   
    display: flex;
}

.form__column {
    width: 50%;
}

.cake-data {
    display: flex;
    justify-content: space-between;
    padding-right: 200px;
}

.column__subitle {
    color: var(--color-red);
    margin-bottom: 25px;
}

.input-select{
    width: 90%;
    margin-bottom: 15px;
    padding: 5px 10px;
}

/*
==============================
ESTILOS FORMULARIO DE CONTACTO
==============================
*/

.form__column--left {
    padding-left: 50px;
}

.data {
    width: 70%;
}

.data__group {
    margin-bottom: 20px;
}

.data__icon {
    font-size: 18px;
    color: var(--color-red);
}

.data__img {
    width: 350px;
    margin-bottom: 30px;
}

/*
========================
ESTILOS SEPARADOR FOOTER
========================
*/

.separador-footer {
    height: 270px;
    background-repeat: no-repeat;
    background-image: url("../img/test-4.webp");
}

/*
==================
ESTILOS DEL FOOTER
==================
*/

.footer {
    padding-top: 70px;
    padding-bottom: 70px;
    background-color: var(--color-red);
}

.footer__coulums {
    display: flex;
    margin-bottom: 50px;
}

.footer-coulum {
    width: 33.33%;
    height: 100%;
    padding-right: 60px;
}

.footer__title {
    margin-bottom: 30px;
    color: var(--color-white);
}

.footer__text {
    margin-bottom: 10px;
    color: var(--color-white);
}

.footer__credits {
    color: var(--color-white);
    text-align: center;
}

/*
=============
MEDIA QUERIES 
=============
*/

@media(max-width: 980px){
    .container {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }

    .header__items {
        flex-direction: column;
    }

    .nav {
        margin-top: 20px;
    }

    .hero-section {
        background-attachment: initial;
        padding: 0 25px;
    }

    .hero__title {
        width: 95%;
        font-size: 35px;
    }

    .hero__subtitle {
        font-size: 24px;
    }

    .hero__title--page {
        margin-top: 160px;
    }

    .info__coulums {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .coulum {
        width: 100%;
        margin-bottom: 60px;
    }

    .coulum:last-child {
        margin-bottom: 0;
    }

    .separador--informacion, .separador--productos {
        width: 90%;
        background-position: center;
        background-attachment: initial;
        border-radius: 0px 12vw 12vw 0px;
    }

    .products {
        flex-direction: column;
        align-items: center;
    }

    .product__coulum {
        width: 100%;
    }

    .product__image {
        display: inline-block;
        width: 100%;
    }

    .separador--productos {
        border-radius: 12vw 0vw 0vw 12vw;
    }

    .footer__coulums {
        flex-direction: column;
    }

    .footer-coulum {
        width: 100%;
        margin-bottom: 50px;
        padding: 0;
    }

    .footer-coulum:last-child {
        margin-bottom: 0;
    }

    .form {
        flex-direction: column;
    }

    .form__column {
        width: 100%;
    }

    .form__column--right {
        margin-bottom: 90px;
    }

    .form__column--left {
        padding-left: 0;
        margin-top: 100px;
    }

    .textarea, .text-input, .input-select {
        width: 100%;
    }

    .cake-data {
        flex-direction: column;
    }
}