/*=========================================
    COURELA MELOSA
    STYLE.CSS
==========================================*/

/*========================
    GOOGLE FONTS
=========================*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Poppins:wght@300;400;500;600&display=swap');

/*========================
    RESET
=========================*/

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

html{
    scroll-behavior:smooth;
}

body{

    background:#f6f2ea;

    color:#3f362b;

    font-family:'Poppins',sans-serif;

    line-height:1.7;

    overflow-x:hidden;

}

img{

    width:110%;

    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

/*========================
    CORES
=========================*/

:root{

    --bege:#F6F2EA;

    --papel:#EFE7D9;

    --mel:#C79A3A;

    --ouro:#D7A945;

    --castanho:#40362E;

    --verde:#5D6B45;

    --claro:#ffffff;

    --cinza:#6b6b6b;

    --escuro:#222;

    --shadow:0 20px 45px rgba(0,0,0,.08);

    --radius:14px;

    --transition:.35s ease;

}

/*========================
    CONTAINER
=========================*/

.container{

    width:92%;

    max-width:1280px;

    margin:auto;

}

/*========================
    TÍTULOS
=========================*/

h1,h2,h3,h4{

    font-family:'Cormorant Garamond',serif;

    font-weight:600;

    color:var(--castanho);

}

h1{

    font-size:72px;

    line-height:1.1;

}

h2{

    font-size:56px;

    margin-bottom:20px;

}

h3{

    font-size:30px;

}

h5{

    color:var(--mel);

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:20px;

    font-size:14px;

}

p{

    color:#5c5c5c;

    font-size:17px;

}

/*========================
    BOTÕES
=========================*/

.btn{

    display:inline-block;

    padding:16px 36px;

    background:var(--mel);

    color:white;

    border-radius:50px;

    transition:var(--transition);

    font-weight:600;

    margin-top:30px;

}

.btn:hover{

    background:#b88726;

    transform:translateY(-3px);

}

.btn-outline{

    display:inline-block;

    border:2px solid var(--mel);

    color:var(--mel);

    padding:14px 32px;

    border-radius:50px;

    margin-top:30px;

    transition:.3s;

}

.btn-outline:hover{

    background:var(--mel);

    color:white;

}

/*========================
        HEADER
=========================*/

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:120px;

    z-index:9999;

    background:transparent;

    transition:.35s ease;

}

header.scrolled{

    background:rgba(0,0,0,.08);

    backdrop-filter:blur(4px);

    box-shadow:none;

}

header .container{

    max-width:1400px;

    height:120px;

    margin:auto;

    padding:0 50px;

    display:grid;

    grid-template-columns:1fr auto 1fr;

    align-items:center;

}
.menu-esquerda{

    display:flex;

    justify-content:flex-end;

}

.menu-direita{

    display:flex;

    justify-content:flex-start;

}

.logo{

    display:flex;

    justify-content:center;

    align-items:center;

}

.logo img{

    width:220px;

    display:block;

}

nav{

    display:flex;

    align-items:center;

}

nav ul{

    display:flex;

    align-items:center;

    gap:45px;

    list-style:none;

    margin:0;

    padding:0;

}

nav a{

    color:#fff;

    text-decoration:none;

    font-size:16px;

    font-weight:500;

    transition:.3s;

}

nav a:hover{

    color:#d8aa3b;

}

header.scrolled nav a{

    color:#c79a3a;

}

.btn-menu{

    display:none;

}

/*========================
        HERO
=========================*/

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:

    linear-gradient(

        rgba(0,0,0,.45),

        rgba(0,0,0,.45)

    ),

    url("img/bg1.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}
.hero .overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        to right,

        rgba(35,25,15,.65),

        rgba(35,25,15,.10)

    );

    pointer-events:none;

}
.hero-content{

    position:relative;

    z-index:10;

    width:650px;

    margin-left:180px;

    margin-top:70px;

}
.subtitle{

    color:#F2D99D;

    letter-spacing:6px;

    text-transform:uppercase;

    font-size:14px;

}
.hero h1{

    color:#fff;

    margin:25px 0;

}
.hero p{

    color:#fff;

    font-size:22px;

    line-height:1.7;

    width:95%;

}
/*========================
    SECÇÕES
=========================*/

section{

    padding:120px 0;

}

.title{

    text-align:center;

    margin-bottom:70px;

}

.title p{

    width:650px;

    max-width:95%;

    margin:auto;

}
/*====================================================
    HISTÓRIA
====================================================*/

.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;
}

.intro{
    background:var(--claro);
}

.intro img{
    border-radius:22px;
    box-shadow:var(--shadow);
    transition:var(--transition);
}

.intro img:hover{
    transform:scale(1.02);
}

.intro h2{
    margin-bottom:25px;
}

.intro p{
    margin-bottom:20px;
    text-align:justify;
}

/*====================================================
    COLEÇÕES
====================================================*/

.colecao,
.colecaoespecial{

    background:var(--bege);

}


/*====================================================
    PRODUTOS
====================================================*/

.produtos,
.produtos-especiais{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}


/*====================================================
    CARD
====================================================*/

.produtos article,
.produtos-especiais article{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    transition:.4s;

    box-shadow:0 15px 40px rgba(0,0,0,.06);

    position:relative;

}


.produtos article:hover,
.produtos-especiais article:hover{

    transform:translateY(-12px);

    box-shadow:0 25px 55px rgba(0,0,0,.12);

}


.produtos article img,
.produtos-especiais article img{

    height:320px;

    width:100%;

    object-fit:cover;

    transition:.5s;

}


.produtos article:hover img,
.produtos-especiais article:hover img{

    transform:scale(1.08);

}


.produtos article h3,
.produtos-especiais article h3{

    margin:25px 25px 10px;

}


.produtos article p,
.produtos-especiais article p{

    margin:0 25px;

    color:#888;

}


.produtos article span,
.produtos-especiais article span{

    display:block;

    margin:20px 25px;

    color:var(--mel);

    font-size:28px;

    font-weight:700;

    font-family:'Cormorant Garamond',serif;

}


.produtos article a,
.produtos-especiais article a{

    display:inline-block;

    margin:0 25px 30px;

    color:var(--castanho);

    font-weight:600;

    transition:.3s;

    position:relative;

}


.produtos article a::after,
.produtos-especiais article a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-5px;

    width:0;

    height:2px;

    background:var(--mel);

    transition:.3s;

}


.produtos article:hover a,
.produtos-especiais article:hover a{

    color:var(--mel);

}


.produtos article:hover a::after,
.produtos-especiais article:hover a::after{

    width:100%;

}

/*====================================================
    ETIQUETA PREMIUM
====================================================*/

.produtos article::before{

    content:"Artesanal";

    position:absolute;

    top:18px;

    right:18px;

    background:rgba(255,255,255,.95);

    color:var(--castanho);

    padding:8px 14px;

    border-radius:40px;

    font-size:12px;

    letter-spacing:2px;

    text-transform:uppercase;

    z-index:10;

}

/*====================================================
    BANNER
====================================================*/

.banner{

    position:relative;

    background:url("img/bg3.png") center center/cover;

    height:650px;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

}

.banner .overlay{

    position:absolute;

    inset:0;

    background:rgba(35,25,15,.45);

}

.banner .container{

    position:relative;

    z-index:10;

    color:white;

}

.banner h2{

    color:white;

    font-size:70px;

    margin-bottom:20px;

}

.banner p{

    color:#ececec;

    max-width:700px;

    margin:auto;

    font-size:20px;

}

/*====================================================
    SEPARADOR
====================================================*/

.banner::after{

    content:"";

    position:absolute;

    bottom:0;

    left:0;

    width:100%;

    height:140px;

    background:linear-gradient(to top,var(--bege),transparent);

}

/*====================================================
    ANIMAÇÃO
====================================================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.intro,
.colecao,
.banner{

    animation:fadeUp .9s ease;

}
/*====================================================
                VALORES
====================================================*/

.valores{

    background:#ffffff;

    padding:110px 0;

}

.valores .container{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;

}

.valores .container div{

    background:#f9f6f0;

    border-radius:18px;

    padding:55px 40px;

    text-align:center;

    transition:.35s;

    box-shadow:0 12px 35px rgba(0,0,0,.05);

}

.valores .container div:hover{

    transform:translateY(-10px);

    background:#fff;

    box-shadow:0 20px 45px rgba(0,0,0,.10);

}

.valores i{

    font-size:58px;

    color:var(--mel);

    margin-bottom:25px;

}

.valores h3{

    margin-bottom:15px;

}

.valores p{

    color:#777;

}

/*====================================================
                JORNAL
====================================================*/

.jornal{

    background:var(--papel);

}

.blog-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.blog-grid article{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    transition:.35s;

    box-shadow:0 15px 35px rgba(0,0,0,.06);

}

.blog-grid article:hover{

    transform:translateY(-10px);

}

.blog-grid img{

    height:270px;

    object-fit:cover;

    transition:.5s;

}

.blog-grid article:hover img{

    transform:scale(1.08);

}

.blog-grid h3{

    padding:25px;

    font-size:34px;

}

.blog-grid a{

    display:inline-block;

    margin:0 25px 30px;

    color:var(--mel);

    font-weight:600;

    transition:.3s;

}

.blog-grid a:hover{

    letter-spacing:1px;

}

/*====================================================
                NEWSLETTER
====================================================*/

.newsletter{

    background:#d7a94580;

    color:white;

    text-align:center;

}

.newsletter h2{

    color:white;

    margin-bottom:35px;

}

.newsletter form{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

}

.newsletter input{

    width:420px;

    max-width:95%;

    padding:18px 24px;

    border:none;

    border-radius:50px;

    font-size:16px;

    outline:none;

}

.newsletter button{

    border:none;

    padding:18px 40px;

    border-radius:50px;

    cursor:pointer;

    background:var(--mel);

    color:white;

    font-weight:600;

    transition:.3s;

}

.newsletter button:hover{

    background:#b88628;

}

/*====================================================
                FOOTER
====================================================*/

footer{

    background:#2f2a24;

    color:#ddd;

    padding-top:90px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:50px;

}

.footer-grid img{

    width:180px;

    margin-bottom:25px;

}

.footer-grid h4{

    color:white;

    margin-bottom:25px;

    font-size:24px;

}

.footer-grid a{

    display:block;

    color:#d4d4d4;

    margin-bottom:14px;

    transition:.3s;

}

.footer-grid a:hover{

    color:var(--ouro);

    padding-left:8px;

}

.footer-grid p{

    color:#cfcfcf;

    margin-bottom:12px;

}

.footer-grid i{

    font-size:24px;

    margin-right:15px;

    transition:.3s;

}

.footer-grid i:hover{

    color:var(--ouro);

}

.copyright{

    margin-top:70px;

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    padding:30px;

    color:#aaa;

    font-size:14px;

}

/*====================================================
                BOTÃO TOPO
====================================================*/

.topo{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--mel);

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    text-decoration:none;

    box-shadow:0 15px 30px rgba(0,0,0,.18);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

.topo.ativo{

    opacity:1;

    visibility:visible;

}

.topo:hover{

    background:#b88628;

    transform:translateY(-5px);

}

/*====================================================
            SELEÇÃO DE TEXTO
====================================================*/

::selection{

    background:var(--mel);

    color:white;

}

/*====================================================
            BARRA DE SCROLL
====================================================*/

html{

    scrollbar-width:none;

}


html::-webkit-scrollbar{

    display:none;

}



.custom-scrollbar{

    position:fixed;

    top:0;

    right:15px;

    width:7px;

    height:100vh;

    z-index:999999;

    pointer-events:none;

}



.custom-scrollbar-thumb{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100px;

    background:#D4A437;

    border-radius:50px;

    box-shadow:
    0 0 20px rgba(212,164,55,.7);

    will-change:transform;

}

/*====================================================
            TRANSIÇÕES
====================================================*/

img,
button,
a,
article,
div{

    transition:all .35s ease;

}
/*====================================================
                LINHAS DECORATIVAS
====================================================*/

.title{
    position:relative;
}

.title::after{

    content:"";

    width:80px;

    height:3px;

    background:var(--mel);

    display:block;

    margin:22px auto 0;

    border-radius:20px;

}

/*====================================================
                IMAGENS
====================================================*/

.produtos article,
.blog-grid article{

    overflow:hidden;

}

.produtos article img,
.blog-grid article img,
.intro img{

    transition:.7s ease;

}

.produtos article:hover img,
.blog-grid article:hover img,
.intro:hover img{

    transform:scale(1.08);

}

/*====================================================
                HOVER LINKS
====================================================*/

nav a{

    position:relative;

}

nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--mel);

    transition:.35s;

}

nav a:hover::after{

    width:100%;

}

/*====================================================
            ANIMAÇÃO SUAVE
====================================================*/

.fade{

    opacity:0;

    transform:translateY(50px);

    transition:1s;

}

.fade.show{

    opacity:1;

    transform:translateY(0);

}

/*====================================================
                HEADER MOBILE
====================================================*/

@media(max-width:1100px){

nav{

    position:fixed;

    top:0;

    right:-100%;

    width:300px;

    height:100vh;

    background:#f6f2ea;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:.45s;

    box-shadow:-10px 0 30px rgba(0,0,0,.08);

}

nav.active{

    right:0;

}

nav ul{

    flex-direction:column;

    gap:30px;

}

nav a{

    color:var(--castanho);

    font-size:20px;

}

.btn-menu{

    display:block;

    cursor:pointer;

}

}

/*====================================================
                TABLET
====================================================*/

@media(max-width:1000px){

.grid-2{

    grid-template-columns:1fr;

    gap:60px;

}

.hero-content{

    width:90%;

    margin:auto;

    text-align:center;

}

.hero p{

    width:100%;

}

.produtos{

    grid-template-columns:repeat(2,1fr);

}

.blog-grid{

    grid-template-columns:repeat(2,1fr);

}

.valores .container{

    grid-template-columns:1fr;

}

.footer-grid{

    grid-template-columns:repeat(2,1fr);

}

}

/*====================================================
                TELEMÓVEL
====================================================*/

@media(max-width:768px){

section{

    padding:90px 0;

}

h1{

    font-size:46px;

}

h2{

    font-size:38px;

}

.hero{

    min-height:95vh;

}

.produtos{

    grid-template-columns:1fr;

}

.blog-grid{

    grid-template-columns:1fr;

}

.footer-grid{

    grid-template-columns:1fr;

}

.newsletter form{

    flex-direction:column;

    align-items:center;

}

.newsletter input{

    width:100%;

}

.newsletter button{

    width:100%;

}

.logo img{

    width:140px;

}

}

/*====================================================
            PEQUENOS TELEMÓVEIS
====================================================*/

@media(max-width:500px){

.container{

    width:94%;

}

.hero h1{

    font-size:38px;

}

.hero p{

    font-size:16px;

}

.btn{

    width:100%;

    text-align:center;

}

.btn-outline{

    width:100%;

    text-align:center;

}

.subtitle{

    letter-spacing:3px;

}

}

/*====================================================
            HONEY PATTERN
====================================================*/

.colecao{

    position:relative;

}

.colecao::before{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    top:50px;

    right:-80px;

    opacity:.05;

    background:url("../img/favo.png");

    background-size:cover;

}

.jornal{

    position:relative;

}

.jornal::after{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    left:-70px;

    bottom:40px;

    opacity:.04;

    background:url("../img/favo.png");

    background-size:cover;

}

/*====================================================
                LOADER
====================================================*/

.loader{

    position:fixed;

    inset:0;

    background:#f6f2ea;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.loader img{

    width:120px;

    animation:gira 2s linear infinite;

}

@keyframes gira{

    from{

        transform:rotate(0);

    }

    to{

        transform:rotate(360deg);

    }

}

/*====================================================
            SOMBRAS
====================================================*/

.hero,
.banner{

    box-shadow:inset 0 -120px 120px rgba(0,0,0,.15);

}

.produtos article,
.blog-grid article,
.valores div{

    border:1px solid rgba(0,0,0,.04);

}

/*============================

OUVE O ALENTEJO

=============================*/

.nature-section{

padding:120px 20px;

text-align:center;

background:#f8f5ef;

}

.nature-section h2{

font-size:42px;

margin-bottom:20px;

color:#2d2d2d;

}

.nature-section p{

max-width:600px;

margin:auto;

margin-bottom:40px;

font-size:18px;

color:#666;

line-height:1.8;

}

#playButton{

background:#D4AF37;

color:#fff;

border:none;

padding:18px 38px;

border-radius:60px;

font-size:18px;

cursor:pointer;

transition:.3s;

}

#playButton:hover{

transform:translateY(-3px);

box-shadow:0 10px 25px rgba(0,0,0,.15);

}
.modal{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.45);
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.modal.ativo{
    display:flex;
}

.modal-box{
    position:relative;
    background:#fff;
    width:700px;
    max-width:90%;
    padding:40px;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.2);
}

.modal-box h2{
    margin-bottom:20px;
    color:#4d392f;
}

.modal-box p{
    line-height:1.8;
    color:#555;
    white-space:pre-line;
    font-size:18px;
}

.fechar{
    position:absolute;
    top:15px;
    right:20px;
    font-size:30px;
    cursor:pointer;
}
.comprar{

    display:inline-block;

    margin:0 25px 30px;

    padding:12px 25px;

    background:var(--mel);

    color:#fff;

    border-radius:30px;

    font-weight:600;

    transition:.3s;

}


.comprar:hover{

    background:var(--castanho);

    transform:translateY(-3px);

}
/*====================================================
                FIM DO CSS
====================================================*/