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

:root {
  --yellow: #fcbd15;
  --yellow-light: #ffd820;
  --orange: #f6a018;

  --purple: #81579f;

  --green: #009b6a;
  --green-dark: #078461;
  --button-green: #00c66a;

  --white: #ffffff;
  --black: #111111;
}

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

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

html {
  min-height: 100%;
}

body {
  min-height: 100vh;

  background: #ededed;

  color: var(--black);

  font-family: "Carlito", Arial, sans-serif;

  overflow-x: hidden;
}

/* ============================================================
   PÁGINA
   MOBILE É A BASE
============================================================ */

.wpp-page {
  position: relative;

  width: min(100%, 385px);

  min-height: 775px;

  margin: 0 auto;

  overflow: hidden;

  background: var(--yellow);

  container-type: inline-size;
}

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

.wpp-hero {
  position: relative;

  width: 100%;

  height: 126.5cqw;

  overflow: hidden;

  background: linear-gradient(135deg, #ffc21a 0%, #ffd21f 57%, #fdc21a 100%);
}

/* ============================================================
   FORMAS DECORATIVAS
============================================================ */

.decor {
  position: absolute;

  z-index: 0;

  pointer-events: none;
}

/* BLOCO SUPERIOR */

.decor-one {
  width: 39cqw;
  height: 29cqw;

  left: -29cqw;
  top: 0;

  background: rgba(245, 154, 23, 0.3);
}

/* FAIXA ESQUERDA */

.decor-two {
  width: 10cqw;
  height: 53cqw;

  left: 0;
  top: 28cqw;

  background: rgba(245, 156, 21, 0.3);
}

/* CÍRCULO DIREITA */

.decor-three {
  width: 73cqw;
  height: 73cqw;

  right: -44cqw;
  top: 58cqw;

  border-radius: 50%;

  background: rgba(255, 231, 41, 0.38);
}

/* CÍRCULO ESQUERDA */

.decor-four {
  width: 68cqw;
  height: 68cqw;

  left: -53cqw;
  bottom: -28cqw;

  border-radius: 50%;

  background: rgba(255, 222, 36, 0.3);
}

/* ============================================================
   LOGO PL
============================================================ */

.wpp-pl {
  position: absolute;

  z-index: 10;

  top: 3.1cqw;
  right: 3.1cqw;

  width: 10.7cqw;

  max-width: none;

  height: auto;

  display: block;
}

/* ============================================================
   TÍTULO
============================================================ */

.wpp-title {
  position: absolute;

  z-index: 10;

  left: 14.7cqw;
  top: 10.3cqw;

  margin: 0;
  padding: 0;

  color: var(--purple);

  font-family: "Anton", Impact, sans-serif;

  font-size: 7.7cqw;

  font-weight: 400;

  line-height: 1.12;

  letter-spacing: 0;

  text-transform: uppercase;

  white-space: nowrap;
}

/* ============================================================
   FOTO MAYRA
============================================================ */

.wpp-mayra {
  position: absolute;

  z-index: 5;

  width: 87cqw;

  max-width: none;
  max-height: none;

  height: auto;

  left: 7.5cqw;
  right: auto;

  top: auto;
  bottom: -4.8cqw;

  display: block;

  pointer-events: none;
}

/* ============================================================
   ÁREA VERDE
============================================================ */

.wpp-content {
  position: relative;

  z-index: 20;

  width: 100%;

  min-height: 57cqw;

  margin-top: -7.8cqw;

  padding: 0;

  background: var(--green);
}

/* ============================================================
   CURVA
============================================================ */

.green-curve {
  position: absolute;

  z-index: -1;

  width: 122cqw;
  height: 32cqw;

  left: 50%;
  top: -16cqw;

  transform: translateX(-50%);

  border-radius: 50% 50% 0 0;

  background: var(--green);
}

/* ============================================================
   CONTEÚDO VERDE
============================================================ */

.wpp-content-inner {
  position: relative;

  z-index: 10;

  width: 100%;

  padding: 1.5cqw 12.5cqw 5.8cqw;

  text-align: center;
}

/* ============================================================
   CHAMADA
============================================================ */

.wpp-call {
  margin: 0 0 2.8cqw;

  padding: 0;

  color: #fff;

  font-family: "Anton", Impact, sans-serif;

  font-size: 6.2cqw;

  font-weight: 400;

  line-height: 1.12;

  letter-spacing: 0;

  text-align: center;
}

/* ============================================================
   LABEL
============================================================ */

.city-label {
  display: block;

  margin: 0 0 0.8cqw;

  padding: 0;

  color: #fff;

  font-family: "Carlito", Arial, sans-serif;

  font-size: 3.35cqw;

  font-weight: 400;

  line-height: 1;

  text-align: center;
}

/* ============================================================
   INPUT
============================================================ */

.city-input {
  display: block;

  width: 100%;

  height: 7.5cqw;

  margin: 0 auto;

  padding: 0 3cqw;

  border: none;

  border-radius: 0.8cqw;

  outline: none;

  background: #f4f4f4;

  color: #111;

  font-family: "Carlito", Arial, sans-serif;

  font-size: 3.5cqw;

  box-shadow: none;
}

.city-input:focus {
  box-shadow: 0 0 0 0.35cqw rgba(255, 255, 255, 0.45);
}

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

.whatsapp-btn {
  display: flex;

  align-items: center;
  justify-content: center;

  gap: 2.4cqw;

  width: 50.5cqw;
  height: 9.6cqw;

  margin: 5cqw auto 0;

  padding: 0 1.5cqw;

  border: none;
  border-radius: 0;

  background: var(--button-green);

  color: #fff;

  cursor: pointer;

  transition:
    filter 0.15s ease,
    transform 0.1s ease,
    opacity 0.15s ease;
}

/* TEXTO */

.button-text {
  font-family: "Anton", Impact, sans-serif;

  font-size: 5.7cqw;

  font-weight: 400;

  line-height: 1;

  white-space: nowrap;
}

/* ÍCONE */

.whatsapp-icon {
  display: flex;

  align-items: center;
  justify-content: center;

  width: 8cqw;
  height: 8cqw;

  flex: 0 0 8cqw;

  color: #fff;
}

.whatsapp-icon svg {
  display: block;

  width: 100%;
  height: 100%;
}

/* HOVER */

.whatsapp-btn:not(:disabled):hover {
  filter: brightness(0.96);
}

/* CLIQUE */

.whatsapp-btn:not(:disabled):active {
  transform: scale(0.98);
}

/* BLOQUEADO */

.whatsapp-btn:disabled {
  opacity: 0.5;

  cursor: not-allowed;

  pointer-events: none;
}

/* ============================================================
   MENSAGEM
============================================================ */

.wpp-message {
  min-height: 3.4cqw;

  margin: 1.5cqw 0 0;

  padding: 0;

  color: #ffffff;

  font-family: "Carlito", Arial, sans-serif;

  font-size: 2.8cqw;

  line-height: 1.15;

  text-align: center;
}

.wpp-message.success {
  color: #ffffff;
}

.wpp-message.error {
  color: #ffe46b;

  font-weight: 700;
}

/* ============================================================
   RODAPÉ
============================================================ */

.wpp-footer {
  position: relative;

  z-index: 30;

  width: 100%;

  min-height: 18.5cqw;

  padding: 4cqw 3cqw 3.5cqw;

  display: flex;

  align-items: center;
  justify-content: center;

  background: var(--green-dark);

  color: #fff;

  font-family: "Carlito", Arial, sans-serif;

  font-size: 3cqw;

  font-weight: 700;

  line-height: 1.65;

  text-align: center;
}

/* ============================================================
   MOBILE
   PRESERVA O LAYOUT ORIGINAL
============================================================ */

@media (max-width: 767px) {
  html,
  body {
    width: 100%;

    margin: 0;
    padding: 0;

    overflow-x: hidden;
  }

  body {
    display: block;

    min-height: 100vh;

    background: var(--green-dark);
  }

  .wpp-page {
    width: 100%;

    max-width: none;

    min-height: 775px;

    margin: 0;

    box-shadow: none;
  }

  .wpp-hero {
    height: 126.5cqw;
  }

  .wpp-pl {
    top: 3.1cqw;
    right: 3.1cqw;

    width: 10.7cqw;
  }

  .wpp-title {
    left: 14.7cqw;
    top: 10.3cqw;

    font-size: 7.7cqw;
  }

  .wpp-mayra {
    width: 87cqw;

    max-height: none;

    left: 7.5cqw;
    right: auto;

    bottom: -4.8cqw;
  }

  .wpp-content {
    min-height: 57cqw;

    margin-top: -7.8cqw;
  }

  .green-curve {
    width: 122cqw;
    height: 32cqw;

    top: -16cqw;
  }

  .wpp-content-inner {
    padding: 1.5cqw 12.5cqw 5.8cqw;
  }

  .wpp-call {
    margin-bottom: 2.8cqw;

    font-size: 6.2cqw;
  }

  .city-label {
    margin-bottom: 0.8cqw;

    font-size: 3.35cqw;
  }

  .city-input {
    height: 7.5cqw;

    padding: 0 3cqw;

    border-radius: 0.8cqw;

    font-size: 3.5cqw;
  }

  .whatsapp-btn {
    width: 50.5cqw;
    height: 9.6cqw;

    gap: 2.4cqw;

    margin-top: 5cqw;
  }

  .button-text {
    font-size: 5.7cqw;
  }

  .whatsapp-icon {
    width: 8cqw;
    height: 8cqw;

    flex-basis: 8cqw;
  }

  .wpp-footer {
    min-height: 18.5cqw;

    padding: 4cqw 3cqw 3.5cqw;

    font-size: 3cqw;
  }
}

/* ============================================================
   DESKTOP
   FULL WIDTH
============================================================ */

@media (min-width: 768px) {
  html,
  body {
    width: 100%;

    min-height: 100%;

    margin: 0;
    padding: 0;

    overflow-x: hidden;

    background: var(--yellow);
  }

  body {
    display: block;
  }

  /* ==========================================================
     PÁGINA
  ========================================================== */

  .wpp-page {
    width: 100%;

    max-width: none;

    min-height: 100vh;

    margin: 0;

    overflow: hidden;

    box-shadow: none;
  }

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

  .wpp-hero {
    position: relative;

    width: 100%;

    height: clamp(540px, 37vw, 710px);

    overflow: hidden;

    background: linear-gradient(135deg, #ffc21a 0%, #ffd21f 57%, #fdc21a 100%);
  }

  /* ==========================================================
     FORMAS DECORATIVAS
  ========================================================== */

  .decor-one {
    width: 300px;
    height: 250px;

    left: -110px;
    top: 0;
  }

  .decor-two {
    width: 150px;
    height: 360px;

    left: 0;
    top: 180px;
  }

  .decor-three {
    width: 720px;
    height: 720px;

    right: -410px;
    top: 110px;
  }

  .decor-four {
    width: 600px;
    height: 600px;

    left: -440px;
    bottom: -350px;
  }

  /* ==========================================================
     PL
  ========================================================== */

  .wpp-pl {
    top: 38px;
    right: 4.5vw;

    width: clamp(72px, 5vw, 100px);

    max-width: none;

    height: auto;
  }

  /* ==========================================================
     TÍTULO
  ========================================================== */

  .wpp-title {
    left: 7vw;
    top: 70px;

    font-size: clamp(50px, 4vw, 76px);

    line-height: 1.08;

    white-space: nowrap;
  }

  /* ==========================================================
     FOTO MAYRA

     DIMENSIONADA PELA ALTURA.
     ASSIM A CABEÇA NÃO É CORTADA.
  ========================================================== */

  .wpp-mayra {
    position: absolute;

    z-index: 5;

    height: 96%;

    width: auto;

    max-width: none;
    max-height: none;

    left: auto;
    right: 8vw;

    top: auto;
    bottom: 0;

    object-fit: contain;

    pointer-events: none;
  }

  /* ==========================================================
     ÁREA VERDE
  ========================================================== */

  .wpp-content {
    position: relative;

    width: 100%;

    min-height: 330px;

    margin-top: -55px;

    padding: 0;

    background: var(--green);
  }

  /* ==========================================================
     CURVA VERDE
  ========================================================== */

  .green-curve {
    width: 120%;
    height: 180px;

    left: 50%;

    top: -95px;

    transform: translateX(-50%);

    border-radius: 50% 50% 0 0;
  }

  /* ==========================================================
     CONTEÚDO
  ========================================================== */

  .wpp-content-inner {
    width: 100%;

    padding: 30px 40px 42px;

    text-align: center;
  }

  /* ==========================================================
     CHAMADA
  ========================================================== */

  .wpp-call {
    max-width: 900px;

    margin: 0 auto 18px;

    font-size: clamp(30px, 2.4vw, 42px);

    line-height: 1.08;
  }

  /* ==========================================================
     LABEL
  ========================================================== */

  .city-label {
    margin: 0 0 8px;

    font-size: 18px;
  }

  /* ==========================================================
     INPUT
  ========================================================== */

  .city-input {
    width: min(520px, 90%);

    height: 54px;

    margin: 0 auto;

    padding: 0 18px;

    border-radius: 6px;

    font-size: 18px;
  }

  .city-input:focus {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.45);
  }

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

  .whatsapp-btn {
    width: 320px;

    height: 64px;

    max-width: 90%;

    gap: 14px;

    margin: 24px auto 0;

    padding: 0 18px;

    transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  .button-text {
    font-size: 30px;
  }

  .whatsapp-icon {
    width: 46px;
    height: 46px;

    flex: 0 0 46px;
  }

  .whatsapp-btn:not(:disabled):hover {
    box-shadow: rgba(0, 0, 0, 0.2) 0 8px 18px;

    transform: translateY(-2px);
  }

  .whatsapp-btn:not(:disabled):active {
    box-shadow: none;

    transform: translateY(0);
  }

  /* ==========================================================
     MENSAGEM
  ========================================================== */

  .wpp-message {
    min-height: 22px;

    max-width: 600px;

    margin: 12px auto 0;

    font-size: 16px;

    line-height: 1.2;
  }

  /* ==========================================================
     RODAPÉ
  ========================================================== */

  .wpp-footer {
    width: 100%;

    min-height: 105px;

    padding: 22px 30px;

    font-size: 17px;

    line-height: 1.5;
  }
}
