.elementor-4680 .elementor-element.elementor-element-2b6ccf2c{--display:flex;}/* Start custom CSS for html, class: .elementor-element-021e7e5 *//* =========================================================
   ESSENFELDER EM70
   Descrição visual da página de produto
   ========================================================= */

.descricao-em70 {
  --em70-texto: #4c4852;
  --em70-titulo: #292536;

  --em70-rosa: #f5dfe5;
  --em70-rosa-forte: #cf879a;

  --em70-azul: #dfeef8;
  --em70-azul-forte: #729fc1;

  --em70-verde: #e2f1e9;
  --em70-verde-forte: #76a990;

  --em70-bege: #f5eee5;
  --em70-bege-forte: #aa8a69;

  --em70-creme: #fcfaf7;

  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 24px 80px;
  color: var(--em70-texto);
}


/* =========================================================
   TIPOGRAFIA GERAL
   ========================================================= */

.descricao-em70 h2,
.descricao-em70 h3 {
  color: var(--em70-titulo);
}

.descricao-em70 h2 {
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.12;
  font-weight: 700;
  margin: 10px 0 20px;
}

.descricao-em70 h3 {
  font-size: clamp(24px, 2.5vw, 32px);
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 18px;
}

.descricao-em70 p {
  font-size: 17px;
  line-height: 1.8;
  margin: 0 0 18px;
}

.descricao-em70 strong {
  color: #302b38;
  font-weight: 700;
}

.descricao-em70 img {
  max-width: 100%;
  height: auto;
  display: block;
}


/* =========================================================
   HERO
   ========================================================= */

.em70-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: center;

  padding: 55px 60px;
  margin-bottom: 55px;

  background:
    radial-gradient(
      circle at 8% 15%,
      rgba(245, 223, 229, 0.95),
      transparent 25%
    ),
    radial-gradient(
      circle at 93% 80%,
      rgba(223, 238, 248, 0.9),
      transparent 28%
    ),
    #fff;

  border: 1px solid #eee8e2;
  border-radius: 34px;
  overflow: hidden;

  box-shadow: 0 18px 50px rgba(48, 42, 45, 0.07);
}

.em70-hero::before {
  content: "♪";
  position: absolute;
  top: 25px;
  right: 45%;
  font-size: 46px;
  color: rgba(207, 135, 154, 0.30);
  transform: rotate(-12deg);
}

.em70-hero::after {
  content: "♫";
  position: absolute;
  bottom: 25px;
  left: 48%;
  font-size: 42px;
  color: rgba(114, 159, 193, 0.27);
  transform: rotate(9deg);
}

.em70-kicker {
  display: inline-block;

  padding: 8px 15px;
  border-radius: 50px;

  background: var(--em70-verde);
  color: #658f7b;

  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.em70-subtitulo {
  max-width: 650px;
  font-size: 19px !important;
  line-height: 1.7 !important;
  color: #655f68;
}

.em70-imagem {
  position: relative;
}

.em70-imagem img {
  width: 100%;
  border-radius: 28px;
  box-shadow: 0 20px 40px rgba(46, 40, 43, 0.12);
}


/* =========================================================
   TÍTULO CENTRAL
   ========================================================= */

.em70-titulo-central {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;

  text-align: center;
  margin-bottom: 34px;
}

.em70-titulo-central h3 {
  margin: 0;
}

.em70-titulo-central span:first-child {
  color: var(--em70-rosa-forte);
  font-size: 28px;
}

.em70-titulo-central span:last-child {
  color: var(--em70-azul-forte);
  font-size: 28px;
}


/* =========================================================
   BLOCO CORES
   ========================================================= */

.em70-bloco {
  margin: 55px 0;
}

.em70-cores {
  padding: 48px;

  border-radius: 30px;
  background:
    linear-gradient(
      135deg,
      rgba(245, 223, 229, 0.5),
      rgba(223, 238, 248, 0.45),
      rgba(226, 241, 233, 0.5)
    );

  border: 1px solid #efe8e5;
}

.em70-grid-cores {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 760px;
  margin: 0 auto;
}

.em70-card-imagem {
  background: rgba(255, 255, 255, 0.8);
  padding: 16px;

  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.9);

  box-shadow: 0 12px 30px rgba(50, 45, 48, 0.06);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.em70-card-imagem:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(50, 45, 48, 0.1);
}

.em70-card-imagem img {
  width: 100%;
  border-radius: 18px;
}


/* =========================================================
   BLOCOS DE CARACTERÍSTICAS
   ========================================================= */

.em70-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 65px;
  align-items: center;

  padding: 55px 45px;
  margin: 30px 0;

  border-radius: 30px;
}

.em70-feature:nth-of-type(odd) {
  background: rgba(252, 250, 247, 0.8);
}

.em70-feature:nth-of-type(even) {
  background: rgba(245, 249, 247, 0.85);
}

.em70-invertido .em70-feature-texto {
  order: 2;
}

.em70-invertido .em70-feature-imagem {
  order: 1;
}

.em70-numero {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  margin-bottom: 18px;

  border-radius: 50%;

  background: var(--em70-azul);
  color: var(--em70-azul-forte);

  font-size: 13px;
  font-weight: 800;
}

.em70-feature:nth-of-type(2n) .em70-numero {
  background: var(--em70-rosa);
  color: var(--em70-rosa-forte);
}

.em70-feature:nth-of-type(3n) .em70-numero {
  background: var(--em70-verde);
  color: var(--em70-verde-forte);
}

.em70-feature-texto {
  max-width: 540px;
}

.em70-feature-imagem {
  position: relative;
}

.em70-feature-imagem img {
  width: 100%;
  border-radius: 26px;

  box-shadow: 0 15px 35px rgba(45, 40, 42, 0.09);
}

.em70-feature-imagem::after {
  content: "♪";

  position: absolute;
  bottom: -14px;
  right: -10px;

  width: 44px;
  height: 44px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #fff;
  color: var(--em70-rosa-forte);

  font-size: 22px;

  box-shadow: 0 8px 20px rgba(50, 45, 48, 0.09);
}


/* =========================================================
   DESTAQUE "SOLTE A IMAGINAÇÃO"
   ========================================================= */

.em70-destaque {
  position: relative;

  display: grid;
  grid-template-columns: 70px 1fr 70px;
  align-items: center;

  gap: 25px;

  margin: 65px 0;
  padding: 45px 55px;

  text-align: center;

  background:
    linear-gradient(
      120deg,
      var(--em70-rosa),
      var(--em70-bege),
      var(--em70-verde),
      var(--em70-azul)
    );

  border-radius: 32px;

  box-shadow: 0 14px 36px rgba(55, 48, 51, 0.07);
}

.em70-destaque h3 {
  font-size: clamp(27px, 3vw, 36px);
}

.em70-destaque p {
  max-width: 720px;
  margin: 0 auto;
}

.em70-nota {
  font-size: 48px;
  line-height: 1;
}

.em70-nota:first-child {
  color: var(--em70-rosa-forte);
  transform: rotate(-8deg);
}

.em70-nota:last-child {
  color: var(--em70-azul-forte);
  transform: rotate(10deg);
}


/* =========================================================
   FABRICADO NO BRASIL
   ========================================================= */

.em70-brasil {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 60px;
  align-items: center;

  margin: 65px 0;
  padding: 50px;

  border-radius: 32px;

  background:
    radial-gradient(
      circle at 10% 90%,
      rgba(226, 241, 233, 0.9),
      transparent 30%
    ),
    radial-gradient(
      circle at 95% 5%,
      rgba(245, 238, 229, 0.95),
      transparent 32%
    ),
    #fff;

  border: 1px solid #eee9e4;
}

.em70-brasil-imagem img {
  width: 100%;
  border-radius: 28px;
  box-shadow: 0 16px 35px rgba(50, 45, 47, 0.1);
}

.em70-brasil-texto h3 {
  margin-top: 15px;
}


/* =========================================================
   ESPECIFICAÇÕES
   ========================================================= */

.em70-especificacoes {
  margin-top: 70px;
  padding: 55px;

  border-radius: 32px;

  background:
    linear-gradient(
      135deg,
      #fff,
      rgba(223, 238, 248, 0.40),
      rgba(245, 223, 229, 0.32)
    );

  border: 1px solid #eee9e6;
}

.em70-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.em70-spec {
  min-height: 130px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 23px;

  background: rgba(255, 255, 255, 0.85);

  border: 1px solid #eee9e5;
  border-radius: 19px;

  box-shadow: 0 8px 22px rgba(45, 40, 43, 0.035);

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.em70-spec:hover {
  transform: translateY(-3px);
  box-shadow: 0 13px 28px rgba(45, 40, 43, 0.07);
}

.em70-spec:nth-child(3n + 1) {
  border-top: 4px solid var(--em70-azul);
}

.em70-spec:nth-child(3n + 2) {
  border-top: 4px solid var(--em70-rosa);
}

.em70-spec:nth-child(3n + 3) {
  border-top: 4px solid var(--em70-verde);
}

.em70-spec span {
  display: block;

  margin-bottom: 7px;

  color: #817983;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.em70-spec strong {
  font-size: 17px;
  line-height: 1.45;
}

.em70-spec small {
  display: block;

  margin-top: 6px;

  color: #8a848a;

  font-size: 12px;
  line-height: 1.4;
}


/* =========================================================
   FINAL
   ========================================================= */

.em70-final {
  max-width: 760px;

  margin: 65px auto 0;

  text-align: center;
}

.em70-final img {
  max-width: 250px;
  margin: 0 auto 25px;
}

.em70-final p {
  font-size: 19px;
  line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .em70-hero {
    gap: 38px;
    padding: 45px;
  }

  .em70-feature {
    gap: 40px;
    padding: 45px 35px;
  }

  .em70-brasil {
    gap: 40px;
    padding: 40px;
  }

  .em70-spec-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .descricao-em70 {
    padding: 20px 14px 55px;
  }

  .descricao-em70 p {
    font-size: 16px;
    line-height: 1.7;
  }

  /* HERO */

  .em70-hero {
    grid-template-columns: 1fr;

    gap: 28px;

    padding: 34px 24px;

    border-radius: 25px;
  }

  .em70-hero::before,
  .em70-hero::after {
    display: none;
  }

  .em70-imagem {
    max-width: 420px;
    margin: 0 auto;
  }

  /* CORES */

  .em70-cores {
    padding: 32px 20px;
    border-radius: 25px;
  }

  .em70-grid-cores {
    grid-template-columns: 1fr;
  }

  /* CARACTERÍSTICAS */

  .em70-feature,
  .em70-feature.em70-invertido {
    grid-template-columns: 1fr;

    gap: 28px;

    padding: 34px 22px;

    border-radius: 25px;
  }

  .em70-feature-texto,
  .em70-invertido .em70-feature-texto {
    order: 1;
  }

  .em70-feature-imagem,
  .em70-invertido .em70-feature-imagem {
    order: 2;
  }

  .em70-feature-imagem {
    max-width: 480px;
    margin: 0 auto;
  }

  /* DESTAQUE */

  .em70-destaque {
    grid-template-columns: 1fr;

    gap: 14px;

    padding: 34px 24px;

    border-radius: 25px;
  }

  .em70-nota {
    font-size: 32px;
  }

  /* BRASIL */

  .em70-brasil {
    grid-template-columns: 1fr;

    gap: 30px;

    padding: 32px 23px;

    border-radius: 25px;
  }

  .em70-brasil-imagem {
    max-width: 380px;
    margin: 0 auto;
  }

  /* SPECS */

  .em70-especificacoes {
    padding: 35px 20px;

    border-radius: 25px;
  }

  .em70-spec-grid {
    grid-template-columns: 1fr;
  }

  .em70-spec {
    min-height: auto;
  }

  /* FINAL */

  .em70-final {
    margin-top: 45px;
  }

  .em70-final p {
    font-size: 17px;
  }

}

/* =========================================================
   EM70 - CORREÇÃO DE LAYOUT
   TEXTO E FOTOS EM BLOCOS VERTICAIS
   ========================================================= */


/* =========================================================
   HERO
   TEXTO EM CIMA + FOTO GRANDE EMBAIXO
   ========================================================= */

.em70-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;

  gap: 38px !important;

  padding: 58px 55px !important;
}

.em70-hero-texto {
  width: 100%;
  max-width: 850px;

  margin: 0 auto;

  text-align: center;
}

.em70-subtitulo {
  max-width: 720px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}

.em70-imagem {
  width: 100%;
  max-width: 900px;

  margin: 0 auto;
}

.em70-imagem img {
  width: 100%;

  height: auto;

  border-radius: 28px;

  box-shadow: 0 18px 42px rgba(46, 40, 43, 0.10);
}


/* Reposiciona as notas decorativas */

.em70-hero::before {
  right: 8% !important;
  top: 28px !important;
}

.em70-hero::after {
  left: 8% !important;
  bottom: 28px !important;
}


/* =========================================================
   CARACTERÍSTICAS
   TEXTO EM CIMA + FOTO EMBAIXO
   ========================================================= */

.em70-feature,
.em70-feature.em70-invertido {
  display: flex !important;

  flex-direction: column !important;
  align-items: center !important;

  gap: 34px !important;

  padding: 55px 50px !important;

  margin: 35px 0 65px !important;
}


/* Remove a inversão antiga */

.em70-invertido .em70-feature-texto,
.em70-invertido .em70-feature-imagem {
  order: initial !important;
}


/* Texto mais largo */

.em70-feature-texto {
  width: 100% !important;
  max-width: 820px !important;

  margin: 0 auto;

  text-align: center;
}


/* Foto grande */

.em70-feature-imagem {
  width: 100% !important;
  max-width: 900px !important;

  margin: 0 auto !important;
}

.em70-feature-imagem img {
  width: 100% !important;
  height: auto !important;

  border-radius: 26px;

  box-shadow: 0 16px 38px rgba(45, 40, 42, 0.09);
}


/* Número centralizado visualmente */

.em70-numero {
  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   FABRICADO NO BRASIL
   FOTO E TEXTO UM ABAIXO DO OUTRO
   ========================================================= */

.em70-brasil {
  display: flex !important;

  flex-direction: column !important;
  align-items: center !important;

  gap: 35px !important;

  padding: 52px 50px !important;
}


/* Texto */

.em70-brasil-texto {
  width: 100%;
  max-width: 820px;

  text-align: center;

  order: 1;
}


/* Foto */

.em70-brasil-imagem {
  width: 100%;
  max-width: 900px;

  margin: 0 auto;

  order: 2;
}

.em70-brasil-imagem img {
  width: 100%;
  height: auto;

  border-radius: 28px;

  box-shadow: 0 16px 38px rgba(50, 45, 47, 0.10);
}


/* =========================================================
   CORES
   MANTÉM DUAS COLUNAS NO DESKTOP
   ========================================================= */

.em70-grid-cores {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  max-width: 900px !important;

  gap: 28px;
}


/* =========================================================
   ESPECIFICAÇÕES
   MAIS ESPAÇO PARA EVITAR CARDS ESTREITOS
   ========================================================= */

.em70-spec-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  max-width: 900px;

  margin: 0 auto;

  gap: 18px !important;
}

.em70-spec {
  min-width: 0;

  min-height: 125px;

  padding: 26px 28px;

  box-sizing: border-box;
}

.em70-spec strong {
  display: block;

  width: 100%;

  font-size: 18px;

  line-height: 1.4;

  overflow-wrap: break-word;
  word-break: normal;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .em70-hero {
    padding: 45px 38px !important;
  }

  .em70-feature,
  .em70-feature.em70-invertido {
    padding: 45px 35px !important;
  }

  .em70-brasil {
    padding: 42px 35px !important;
  }

  .em70-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .em70-hero {
    padding: 34px 24px !important;
  }

  .em70-hero::before,
  .em70-hero::after {
    display: none !important;
  }


  .em70-feature,
  .em70-feature.em70-invertido {
    padding: 34px 22px !important;

    margin-bottom: 45px !important;
  }


  .em70-brasil {
    padding: 34px 22px !important;
  }


  .em70-grid-cores {
    grid-template-columns: 1fr !important;
  }


  .em70-spec-grid {
    grid-template-columns: 1fr !important;
  }

}

/* =========================================================
   PLAYLIST EM70
   ========================================================= */

.em70-playlist {
  width: 100%;
  max-width: 1000px;

  margin: 65px auto;
  padding: 50px;

  border-radius: 32px;

  background:
    linear-gradient(
      135deg,
      rgba(245, 238, 229, .65),
      rgba(255, 255, 255, .95)
    );

  border: 1px solid #eee7df;

  box-sizing: border-box;
}

.em70-playlist-intro {
  max-width: 720px;

  margin: 0 auto 30px !important;

  text-align: center;

  font-size: 17px;
  line-height: 1.75;
}


/* VÍDEO RESPONSIVO 16:9 */

.em70-video-wrapper {
  position: relative;

  width: 100%;
  aspect-ratio: 16 / 9;

  overflow: hidden;

  border-radius: 24px;

  background: #000;

  box-shadow: 0 16px 38px rgba(45, 40, 42, .12);
}

.em70-video-wrapper iframe {
  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  border: 0;
}


/* MOBILE */

@media (max-width: 767px) {

  .em70-playlist {
    margin: 45px auto;
    padding: 34px 20px;

    border-radius: 25px;
  }

  .em70-playlist-intro {
    font-size: 16px;
  }

  .em70-video-wrapper {
    border-radius: 18px;
  }

}/* End custom CSS */