@import url("colors.css");

/* Geral + reuso */
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  list-style-type: none;
  text-decoration: none;
}

body {
  min-height: 100vh;
  background: var(--cor-apoio);
}

.btns {
  display: flex;
  gap: 20px;
  width: fit-content; 
  margin: 40px auto;
}

.container-btn,
.container-btn2 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.btn,
.btn-next,
.btn-buy {
  padding: 0.938rem 1.875rem;
  background: linear-gradient(to right, #003E2F, #00A47C);
  color: var(--cor-branco);
  font-family: "Inter", sans-serif;
  font-size: 1.5rem; 
  border-radius: 0.5rem;
  border: none;
  cursor: pointer;
}

.btn:hover {
  transform: scale(1.02);
}

.btn-before {
  padding: 0.938rem 1.875rem;
  background: var(--cor-cinza);
  color: var(--cor-principal);
  font-family: "Inter", sans-serif;
  font-size: 1.5rem; 
  border-radius: 8px;
  border: none;
  cursor: pointer;
}

.detalhe-flor {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 60px auto;
}

/*Menu*/

.container-menu {
    display: flex;
    justify-content: space-around;
    padding: 30px;
    background-color: var(--cor-principal);
    border-bottom: 4px solid var(--cor-dourado); 
}

.container-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.container-nav li a {
    
    font-size: 1.6rem;
    color: var(--cor-branco);
}

/*Header*/

.container-header {
  position: relative;
  width: 100%;
  height: 60vh; 
  overflow: hidden;
  border-bottom: 4px solid var(--cor-dourado); 
}

.container-header img {
  display: block;
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
  object-position: center center; 
}

/* Overlay preto com blur */
.container-header .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4); /* preto com transparência */
  backdrop-filter: blur(4px); /* aplica o blur */
  z-index: 1;
}

.overlay-text {
  position: absolute;
  bottom: 20px;
  left: 200px;
  margin: 30px;
  color: white;
  font-size: 2em; 
  font-weight: bold;
  font-family: "Inter", sans-serif; 
  line-height: 1.4;
  max-width: 40%; 
  padding: 10px; 
  z-index: 2; /* fica acima da camada de blur */
}


/*Box*/

.container-box {
    max-width: 1200px;
    margin: 0 auto;
}

.container-box h1 {
    font-family: "Carattere", cursive;
    font-size: 6rem;
    text-align: center;
    margin: 60px auto;
    color: var(--cor-principal);
}

.container-books {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
    padding: 20px;
}

/*Para a borda dupla funcionar*/
.container-border {
    position: relative;
    display: inline-block;
    margin-right: 20px;
  }
  
  /* Primeira borda (colada na imagem) */
  .img-book {
    display: block;
    border-bottom: 3px solid var(--cor-dourado);
    border-right: 3px solid var(--cor-dourado);
    padding: 20px;
  }
  
  /* Segunda borda (mais afastada) */
  .container-border::after {
    content: "";
    position: absolute;
    bottom: -9px;
    right: -9px;
    width: 100%;
    height: 100%;
    border-bottom: 3px solid var(--cor-dourado);
    border-right: 3px solid var(--cor-dourado);
    pointer-events: none;
    z-index: -1; 
  }

  .price {
    margin: 20px auto;
    padding: 10px;
    background-color: var(--cor-secundaria);
  }

  .text-price h2 {
    font-family: "Inter", sans-serif;
    font-size: 2rem;
    font-weight: 300;
    margin: 20px;
    color: var(--cor-black);
  }

  .text-price p {
    font-family: "Inter", sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
    margin: 20px;
    color: var(--cor-black);
  }

  .container-text {
    margin-left: 30px;
  }

  .container-text li {
    font-family: "Inter", sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0 auto;
    color: var(--cor-black);
  }

  .price li:first-child {
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    font-weight: 300;
    margin: 20px;
    color: var(--cor-black);
  }

  .price li:nth-child(2) {
    font-family: "Inter", sans-serif;
    font-size: 3rem;
    font-weight: bold;
    text-align: center;
    margin: 20px;
    color: var(--cor-principal);
  }

  .price li:nth-child(3) {
    font-family: "Inter", sans-serif;
    font-size: 1.1rem;
    font-weight: 300;
    text-align: center;
    margin: 20px;
    color: var(--cor-black);
    padding: 3px;
  }

/* Feedbacks */
.container-feedbacks {
  text-align: center;
  margin-top: 60px;
  padding: 20px 0 60px 0;
  background-color: var(--cor-secundaria);
  border-top: 4px solid var(--cor-dourado); 
  border-bottom: 4px solid var(--cor-dourado); 
}

.container-feedbacks h2 {
  font-family: "Carattere", cursive;
  font-size: 6rem;
  text-align: center;
  margin: 60px auto;
  color: var(--cor-principal);
}

.container-cite-group {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  gap: 30px;
  padding: 0 20px;
}

.cite-card {
  padding: 40px 30px;
  max-width: 350px;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-radius: 8px;
  border-bottom: 3px solid var(--cor-dourado);
  border-right: 3px solid var(--cor-dourado);
}

.cite-card .quote-icon {
  font-family: "Carattere", cursive;
  font-size: 10rem;
  line-height: 0.5;
  margin-bottom: 20px;
  display: block;
}

.cite-card .cite-text {
  font-family: "Inter", sans-serif;
  font-size: 1.5rem;
  font-weight: 300;
  margin: 0 0 20px 0;
  line-height: 1.6;
}

.cite-card footer {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cite-card .stars-image {
  width: 200px;
  height: auto;
  margin-bottom: 15px;
}

.cite-card .author-name {
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  font-style: normal;
}

/*Formulário*/

.progress-dots {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 20px 0 60px 0;
}

.dot {
  width: 16px;
  height: 16px;
  background-color: var(--cor-cinza); /* cor inativa */
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

.dot.active {
  background-color: var(--cor-botao); 
}


.container-request h2 {
  font-family: "Carattere", cursive;
  font-size: 6rem;
  text-align: center;
  margin: 60px auto;
  color: var(--cor-principal);
}

.container-form {
  display: flex;
}

.form-field label {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
}

/* Base para todos os inputs de formulário */
.form-field input {
  display: block;
  font-size: 1.1rem;
  color: var(--cor-principal);
  background-color: #D9D9D9;
  border: none;
  border-radius: 4px;
  transition: all 0.3s ease;
  box-sizing: border-box; 
  padding: 15px 20px;
  line-height: 1.5; 
  height: auto;
  margin-bottom: 15px;
}


/* Estilos para inputs do primeiro formulário (maiores em desktop) */
.form-field input {
  width: 460px; 
  max-width: 100%;
}

/* Quando ativo (JS vai aplicar essa classe) */
.form-field input.active {
  background-color: var(--cor-branco);
  border: 3px solid var(--cor-dourado);
}

/* Centralizar a partir do h2 */
.container-form {
  gap: 30px;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 16px;
}

/*Segundo formulário*/

/* Mostrar formulário ativo */
.active {
  display: block !important;
}

  /* Oculta por padrão */
  #first-form, #second-form {
    display: none;
  }

  /* Exibe o formulário ativo */
  #first-form.active, #second-form.active {
    display: block;
  }

  .container-pay {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .container-pay ul {
    display: flex;
    gap: 8px; /* Espaço entre os itens */
  }
  
  .container-pay ul li {
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    border: 4px solid var(--cor-dourado);
    border-radius: 10px;
    padding: 10px; 
    text-align: center; 
    cursor: pointer; 
    transition: border-color 0.2s ease;
  }
  
  .container-pay ul li img {
    width: 60px;
    height: auto;
    margin-bottom: 5px;
  }
  
  .container-pay ul li span {
    font-family: "Inter", sans-serif;
    font-size: 0.9rem;
    color: var(--cor-principal, #333); 
    white-space: nowrap; 
  }
  
  
  .container-pay ul li:hover {
    border: 4px solid var(--cor-botao);
  }
  
  .container-pay ul li.selected {
    border: 4px solid var(--cor-botao);
  }

.form-field input.active {
  background-color: var(--cor-branco);
  border: 3px solid var(--cor-dourado);
}

/*Footer*/

.container-footer {
  padding: 30px;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  text-align: center;
  color: var(--cor-branco);
  background-color: var(--cor-principal);
  border-top: 4px solid var(--cor-dourado); 
}

/*Responsivo*/

/* Responsividade para telas médias */

@media (max-width: 1183px) {
  .container-menu {
    display: flex;
    justify-content: space-around;
  }

  .container-books {
    flex-direction: column;
    align-items: center;
  }

  .overlay-text {
    left: 5%;
    max-width: 90%;
    font-size: 2rem;
    bottom: 10px;
  }

  .container-box,
  .container-cite-group {
    max-width: 600px;
    margin: 0 auto;
  }

  .container-box h1,
  .container-feedbacks h2,
  .container-request h2 {
    font-size: 4rem;
  }

  .text-price h2,
  .text-price p,
  .container-text li,
  .price li {
    font-size: 1.6rem;
  }

  .container-form {
    max-width: 600px;
    margin: 0 auto;
    flex-direction: column;
    gap: 2rem;
  }

  .btn,
  .btn-next,
  .btn-buy,
  .btn-before {
    font-size: 1.6rem;
    padding: 1.2rem 2.4rem;
  }

  .cite-card {
    max-width: 90%;
  }

  .cite-card .quote-icon {
    font-size: 6rem;
  }

  .container-pay {
    margin-bottom: 30px;
  }

  .detalhe-flor img {
    width: 320px;
    height: 96px;
  }
}

/* Responsividade para telas celulares */
@media (max-width: 768px) {
    .container-menu {
      display: flex;
      flex-direction: column;
      align-items: center; 
      gap: 20px;
      padding: 20px;
    }
  
    .container-menu img {
      margin: 0 auto;
    }
  
    .overlay-text {
      font-size: 1.2rem;
    }
  
    .container-nav {
      display: flex; 
      flex-direction: row;
      justify-content: center;
      gap: 20px;
      padding: 0;
      margin: 0;
      list-style: none;
    }
  
    .container-nav li a {
      font-size: 1rem;
    }
  
    .img-book {
      width: 320px;
      height: 324px;
    }
  
    .text-price h2, 
    .text-price p {
      font-size: 1rem;
    }
  
    .container-cite-group {
      max-width: 400px;
    }
  
    .cite-card p,
    .author-name {
      font-size: 1rem !important;
    }
  
  .container-text li {
    font-size: 1rem;
  }
  
    .container-form {
      flex-direction: column;
      align-items: stretch;
      gap: 15px;
  }
  
  .container-box h1,
  .container-feedbacks h2,
  .container-request h2 {
    font-size: 3rem;
  }
  
  .first-form,
  .second-form {
      width: 100%;
      min-width: unset;
      gap: 15px;
  }
  
  .label-input input {
      max-width: none;
      margin-bottom: 16px;
  }
  
  .label-input {
      width: 100%; 
      min-width: unset;
  }
  
  .container-form {
    flex-direction: column;
    align-items: center; 
    gap: 15px;
    width: 90%;
    margin: 0 auto; 
    padding: 15px; 
    box-sizing: border-box; 
  }
  
  .first-form,
  .second-form {
    width: 100%; 
    min-width: unset;
    align-items: center; 
  }
  
  .second-form form {
      display: flex;
      flex-direction: column;
      align-items: center; 
      width: 100%; 
      margin: 0 auto; 
  }
  
  .form-field { 
    width: 100%;
    max-width: 400px; 
    margin: 0 auto; 
    text-align: center; 
  }
  
  .form-field label { 
    width: 100%;
    text-align: left;
    display: block; 
    margin-bottom: 5px;
  }
  
  .form-field input {
    width: 100%; 
    max-width: 400px;
    display: block; 
    margin-bottom: 16px;
  }
  
  .container-city {
    flex-direction: column;
    gap: 15px;
    width: 100%; 
    align-items: center;
  }
  
  .container-city .form-field { 
    width: 100%;
    min-width: unset;
    max-width: 400px; 
    margin: 0 auto; 
  }
  
  .container-city .form-field input { 
    width: 100%; 
    max-width: 400px; 
  }
  
  .btns {
      display: flex;
      align-items: center; 
      width: 100%;
      margin-top: 10px;
      gap: 10px;
  }
  
  .container-btn {
    width: 90%; 
    margin: 0 auto; 
    text-align: center; 
  }

  .container-btn2 a {
    padding: 16px 30px;
  }

  .container-pay ul li img {
    width: 80px; /* Ajuste este valor conforme necessário */
    height: auto; /* Mantém a proporção da imagem */
  }

  /* Opcional: Ajustar o padding dos itens da lista se necessário */
  .container-pay ul li {
    padding: 5px; /* Diminui o padding para acompanhar o tamanho da imagem */
    border-width: 3px; /* Opcional: Diminui a largura da borda se parecer muito grossa */
  }

}