/*
    font-family: 'Prata', serif;
    font-family: 'Josefin Sans', sans-serif;
*/

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

ul {
    list-style: none;
}

/* variables */
/* Estilo para a barra de rolagem */
::-webkit-scrollbar {
    width: 10px; /* Largura da barra de rolagem */
}

/* Estilo para o fundo da barra de rolagem */
::-webkit-scrollbar-track {
    background-color: #ececec; /* Cor do fundo da barra */
}

/* Estilo para o "polegar" da barra de rolagem */
::-webkit-scrollbar-thumb {
    background-color: #d3aeaa; /* Cor do polegar */
    border-radius: 10px; /* Arredondamento das bordas */
}

/* Estilo para o "polegar" quando estiver sendo pressionado */
::-webkit-scrollbar-thumb:hover {
    background-color: #a08481; /* Cor ao passar o mouse */
}
:root {
    --header-height: 4.5rem;
  
    /* colors */
    --hue: 285;
    /* HSL color mode */
    --base-color: #d0b66a;
    --base-color-second: #d3aeaa;
    --base-color-alt: #d3aeaa;
    --title-color: #d3aeaa;
    --text-color: hsl(0 0% 46%);
    --text-color-light: hsl(0 0% 98%);
    --body-color: hsl(0 0% 98%);

    --title-font-size: 1.35rem;
    --subtitle-font-size: 1rem
}

/* general */

html {
    scroll-behavior: smooth;
}

body {
    background: var(--body-color);
    color: var(--text-color);
    font: 400 1.2rem 'Josefin Sans', sans-serif;
    -webkit-font-smoothing: antialiased;
}

.title {
    color: var(--title-color);
    font: 700 var(--title-font-size) 'Poppins', sans-serif;
    -webkit-font-smoothing: auto;
}

a {
    text-decoration: none;
}

.button {
    background-color: var(--base-color);
    color: var(--text-color-light);
    height: 3.5rem;
    display: inline-flex;
    align-items: center;
    padding: 0 2rem;
    border-radius: 0.25rem;
    font: 500 1rem 'Josefin Sans', sans-serif;
    transition: background 0.3s;
}

.button:hover {
    background: var(--base-color-alt);
}

.divider-1 {
    height: 1px;
    background: #d3aeaa;
}

.divider-2 {
    height: 1px;
    background: #d3aeaa;
}

/* layout */

.container {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

.grid {
    display: grid;
    gap: 2rem;
}

.section {
    padding: 5rem 0;
}

.section .title {
    margin-bottom: 1rem;
}

.section .subtitle {
    font-size: (--subtitle-font-size);
}

.section header {
    margin-bottom: 4rem;
}

.section header span {
    color: var(--base-color);
}

#header {
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 2rem;
    display: flex;

    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    background-color: var(--body-color);
}

#header.scroll {
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.5);
}

main {
    margin-top: 6.5rem;
}

.logo img {
    padding: 18% 0;
    width: 6rem;
}

img {
    width: 100%;
    height: auto;
}

/* navigation bar */

nav {
    height: 6.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 1rem;
}

nav ul li {
    text-align: center;
}

nav ul li a {
    transition: color 0.3s;
    position: relative;
}

nav ul li a:hover,
nav ul li a.active {
  color: var(--base-color);
}

nav ul li a::after {
  content: '';
  width: 0%;
  height: 2px;
  background: var(--base-color);

  position: absolute;
  left: 0;
  bottom: -1.5rem;

  transition: width 0.2s;
}

nav ul li a:hover::after,
nav ul li a.active::after {
  width: 100%;
}

nav .menu ul {
    display: none;
}

nav .menu {
    opacity: 0;
    visibility: hidden;
    top: -20rem;
    transition: 0.2s;
}

/* mostrar menu */

nav.show .menu {
    opacity: 1;
    visibility: visible;
  
    background: var(--body-color);
  
    height: 100vh;
    width: 100vw;
  
    position: fixed;
    top: 0;
    left: 0;
  
    display: grid;
    place-content: center;
  }

nav.show .menu ul {
    display: grid;
  }
  
nav.show ul.grid {
    gap: 3rem;
  }

/* toggle do menu */

.toggle {
    color: var(--base-color);
    font-size: 1.5rem;
    cursor: pointer;
  }
  
  nav .icon-close {
    visibility: hidden;
    opacity: 0;
  
    position: absolute;
    top: -1.5rem;
    right: 1.5rem;
  
    transition: 0.2s;
  }
  
  nav.show div.icon-close {
    visibility: visible;
    opacity: 1;
    top: 2.50rem;
  }

/* home */

#home {
    overflow: hidden;
}

#home .container {
    margin: 0;
}

#home .image img{
    position: relative;
    top: 0.5rem;                /* ------------- */
    right: 2.9rem;
    padding-bottom: 4rem;
    width: 80%;
}

#home .image {
    position: relative;
}

#home .image::before{
    content: '';
    height: 80%;
    width: 80%;
    background: var(--base-color-second);
    position: absolute;
    top: -2.8%;
    left: 20.8%;
    z-index: 0;
}

#home .image, 
#home .image::before {
    border-radius: 0.25rem;
}

#home .text {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    text-align: center;
    max-width: 100%;
}

#home .text p {
    margin-bottom: 2rem;
}

#home .text h1 {
    margin-bottom: 1rem;
}

#home .text span {
    color: var(--base-color);
    font-weight: bold;
}

/* sobre nos */

#home {
    background: white;
}

#about .container {
    margin: 0;
}

#about .image img{
    position: relative;
    top: 4rem;                /* ------------- */
    padding-bottom: 4rem;
}

#about .image {
    position: relative;
}

#about .image::before{
    content: '';
    height: 80%;
    width: 85%;
    background: var(--base-color-second);
    position: absolute;
    top: 3%;
    left: -19%;
    z-index: 0;
}

#about .image, 
#about .image::before {
    border-radius: 0.25rem;
}

#about .text {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    max-width: 100%;
}

#SopCover {
    width: 75%;
}

#about .text span {
    color: var(--base-color);
    font-weight: bold;
}

#about .text p {
    font-size: 1.2rem;
}

/* serviços */

.cards.grid {
    gap: 1.5rem;
}

.card {
    padding: 3.6rem 2rem;
    box-shadow: 0px 0px 12px rgba(0,0,0,0.08);
    border-bottom: 0.25rem solid var(--base-color);
    border-radius: 0.25rem 0.25rem 0 0;
    text-align: center;
}

.card img{
    border-radius: 50%;
    display: inline-block;
    margin-bottom: 1.5rem;
    width: 14rem;
    
}

.card-title {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

/* products */

#products .title {
    text-align: center;
}

#products .subtitle {
    text-align: center;
    padding: 0rem 0 4rem;
}

#products ul {
    display: grid;
    place-content: center;
}

#products li {
    padding: 1.8rem;
}

.product-list span {
    color:var(--base-color);
}

.product-list h1 {
    font-size: 1rem;
}

#products .text span {
    color: var(--base-color);
    font-weight: bold;
}

/* testimonials */

#testimonials {
    background: white;
}

#testimonials .container {
    margin-left: 0;
    margin-right: 0;
}

#testimonials header {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    margin-bottom: 0;
}

#testimonials blockquote {
    padding: 2rem;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.08);
    border-radius: 0.25rem;
}

#testimonials blockquote p {
    position: relative;
    text-indent: 1.875rem;
    margin-bottom: 1.5rem;
    color: var(--title-color);
}

#testimonials blockquote p span {
    font: 700 2.6rem serif;
    position: absolute;
    top: -0.8rem;
    left: -1.875rem;
    color: var(--base-color);
}

#testimonials cite img {
    width: 2rem;
    height: 2rem;
    object-fit: cover;
    clip-path: circle();
    margin-right: 0.5rem;
}

#testimonials cite {
    display: flex;
    align-items: center;
    font-style: normal;
}

/* testimonial swiper  */

.swiper-slide {
    height: auto;
    padding: 4rem 1rem;
}

.swiper-pagination-bullet {
    width: 0.75rem;
    height: 0.75rem;
}

.swiper-pagination-bullet-active {
    background: var(--base-color);
}

/* contact */

#contact .grid {
    gap: 4rem;
}

#contact .text p {
    margin-bottom: 2rem;
}

#contact .button i, 
#contact ul li i {
    font-size: 1.5rem;
    margin-right: 0.62rem;
}

#contact ul.grid {
    gap: 2rem;
}

#contact ul li{
    display: flex;
    align-items: center;
}

#contact ul li i {
    color: var(--base-color);
}

#contact .text span {
    color: var(--base-color);
    font-weight: bold;
}
li a {
    color: #d0b66a; /* Amarelo */
    text-decoration: none; /* Remove o sublinhado, se desejar */
}

li a:hover {
    color: #d3aeaa; /* Cor do texto ao passar o mouse (opcional) */
}

/* footer */

footer {
    background: #d3aeaa;
}

footer.section {
    padding: 4rem 0;
}

footer .logo {
    display: inline-block;
    margin-bottom: 1.5rem;
}

footer .brand p {
    color: #ffffff;
    margin-bottom: 0.75rem;
}

footer i {
    font-size: 1.5rem;
    color: #ffffff;
}

footer .social a {
    margin-right: 2rem;
    transition: 0.3s;
    display: inline-block;
}

footer .social a:hover {
    transform: translateY(-8px);
}

/* back to top */

.back-to-top {
    background: var(--base-color);
    color: var(--text-color-light);
  
    position: fixed;
    right: 1rem;
    bottom: 1rem;
  
    padding: 0.5rem;
    clip-path: circle();
  
    font-size: 1.5rem;
    line-height: 0;
  
    visibility: hidden;
    opacity: 0;
  
    transition: 0.3s;
    transform: translateY(100%);
  }
  
  .back-to-top.show {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }

  html, body {
    overflow-x: hidden;
  }


.produtos-section {
    background-color: #f8f9fa;
    padding: 40px 0;
    margin-top: -70px;
}

.produtos-section img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto 20px;
}

.produtos-section h4 {
    text-align: center;
    color: #d3aeaa;
    font-size: 1.0rem;
    font-weight: bold;

}

.produtos-section p {
    text-align: center;
    color: #8a8989;
}

.produtos-section h2 {
    text-align: center;
    color: #d3aeaa;
}

.produtos-section .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centraliza os cards */
    margin-top: 20px;
}

.produtos-section .col-md-3 {
    flex: 0 0 calc(25% - 20px); /* 4 cards por linha no desktop */
    max-width: calc(25% - 20px);
    margin: 10px;
    display: flex;
    flex-direction: column;
    align-items: center; /* Centraliza o conteúdo dentro do card */
}

.produtos-section img {
    max-width: 100%; /* Ajusta o tamanho das imagens */
    height: auto;
    border-radius: 15px;
    margin-bottom: 15px;
}

.produtos-section h4 {
    font-size: 1rem;
    color: #d0b66a;
    font-weight: bold;
    margin-bottom: 10px;
}

.produtos-section button {
    background-color: #d0b66a;
    color: #ffffff;
    border: none;
    border-radius: 50px;
    font-weight: bold;
    padding: 10px 20px;
    font-family: "Bree Serif", serif;
}

.produtos-section button:hover {
    background-color: #d3aeaa;
    color: white;
}

@media (max-width: 768px) {
    .produtos-section img {
        max-width: 100%; /* Imagens ajustam-se ao espaço no mobile */
    }

    .produtos-section .col-md-3 {
        flex: 0 0 calc(50% - 10px); /* 2 cards por linha no mobile */
        max-width: calc(50% - 10px);
        margin: 5px; /* Adiciona espaçamento entre os cards */
    }
}

@media (max-width: 576px) {
    .produtos-section img {
        max-width: 90%; /* Imagens ligeiramente menores no mobile */
    }

    .produtos-section .col-md-3 {
        flex: 0 0 calc(50% - 10px); /* Garante 2 cards por linha */
        max-width: calc(50% - 10px);
        margin-bottom: 15px;
    }
}

@media (min-width: 992px) {
    .produtos-section img {
        max-width: 50%; /* Tamanho ainda menor em telas grandes */
    }
}


/* personalize */
#personalize {
    overflow: hidden;
}

#personalize .container {
    margin: 0;
}

#personalize .image img {
    position: relative;
    top: 0.5rem; 
    right: 2.9rem;
    padding-bottom: 4rem;
    width: 40%;
}

#personalize .image {
    position: relative;
}

#personalize .image,
#personalize .image::before {
    border-radius: 0.25rem;
}

#personalize .text {
    margin-left: 15rem;
    margin-right: 1.5rem;
    text-align: center;
    max-width: 100%;
}

#personalize .text p {
    margin-bottom: 2rem;
}

#personalize .text h2 {
    margin-bottom: 1rem;
    text-align: center;
}

#personalize .text span {
    color: var(--base-color);
    font-weight: bold;
}

/* Versão mobile */
@media (max-width: 768px) {
    #personalize .image {
        display: none;
        width: 50%;
        margin-bottom: 1rem; /* Alinhamento na versão mobile */
    }

    #personalize .text {
        text-align: left; /* Alinhamento do texto */
        margin-left: 0px;
    }

    #personalize .text h2 {
        text-align: center; /* Centraliza o título */
    }

    #personalize .container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #personalize .text p {
        text-align: left; /* Alinha o texto à direita da imagem */
    }
}
