.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   VÂNIA MODAS — CSS GLOBAL OFICIAL
   Baseado na Hero e na Dobra 02 aprovadas.

   USO:
   - Inserir este arquivo no CSS global do site.
   - Manter no CSS local apenas composições exclusivas de cada dobra.
========================================================= */


/* =========================================================
   01. TOKENS GLOBAIS
========================================================= */

:root {
  /* CORES PRINCIPAIS */
  --site-black: #050505;
  --site-black-soft: #11100f;

  --site-gold-dark: #b78016;
  --site-gold: #c99821;
  --site-gold-medium: #d8a936;
  --site-gold-light: #e8c46a;
  --site-gold-soft: #f2dfaa;

  --site-cream: #f8f6f1;
  --site-cream-soft: #f3efe7;
  --site-white: #ffffff;

  /* TEXTOS */
  --site-text-dark: #171512;
  --site-text-soft: #4d4942;
  --site-text-muted: #6a645c;

  --site-text-light: #ffffff;
  --site-text-light-soft: rgba(255, 255, 255, 0.82);
  --site-text-light-muted: rgba(255, 255, 255, 0.62);

  /* BORDAS */
  --site-border-light: rgba(17, 16, 15, 0.16);
  --site-border-medium: rgba(17, 16, 15, 0.26);
  --site-border-dark: rgba(232, 196, 106, 0.38);
  --site-border-gold: rgba(201, 152, 33, 0.55);

  /* FONTES */
  --site-font-display:
    "Cormorant Garamond",
    "Bodoni 72",
    Didot,
    Georgia,
    serif;

  --site-font-body:
    Manrope,
    "Avenir Next",
    Avenir,
    "Helvetica Neue",
    Arial,
    sans-serif;

  /* CONTAINERS */
  --site-container: 1240px;
  --site-container-small: 960px;
  --site-container-wide: 1440px;

  --site-page-padding-desktop: 1.5rem;
  --site-page-padding-tablet: 1.25rem;
  --site-page-padding-mobile: 1rem;

  /* TIPOGRAFIA */
  --site-display-size: clamp(3.6rem, 5.8vw, 6.2rem);
  --site-h1-size: clamp(3.25rem, 4.8vw, 5.15rem);
  --site-h2-size: clamp(2.4rem, 3.4vw, 3.6rem);
  --site-h3-size: clamp(1.3rem, 1.65vw, 1.7rem);
  --site-h4-size: clamp(1.15rem, 1.5vw, 1.4rem);

  --site-display-weight: 500;
  --site-heading-weight: 500;
  --site-body-weight: 400;
  --site-strong-weight: 600;
  --site-button-weight: 700;

  --site-display-line-height: 0.96;
  --site-h1-line-height: 0.97;
  --site-h2-line-height: 0.98;
  --site-h3-line-height: 1;
  --site-body-line-height: 1.75;

  --site-display-letter-spacing: -0.035em;
  --site-heading-letter-spacing: -0.03em;
  --site-body-letter-spacing: 0;

  /* TEXTOS */
  --site-text-large: 0.98rem;
  --site-text-default: 1rem;
  --site-text-small: 0.88rem;
  --site-text-caption: 0.72rem;

  /* ETIQUETAS */
  --site-label-size: 0.7rem;
  --site-label-weight: 600;
  --site-label-letter-spacing: 0.2em;
  --site-label-line-width: 32px;
  --site-label-gap: 0.85rem;
  --site-label-margin-bottom: 1.55rem;

  /* LINHAS */
  --site-rule-width: 82px;
  --site-rule-height: 1px;
  --site-rule-margin-top: 1.65rem;
  --site-rule-margin-bottom: 1.7rem;

  /* BOTÕES */
  --site-button-height: 58px;
  --site-button-padding-x: 1.8rem;
  --site-button-padding-y: 1rem;
  --site-button-font-size: 0.74rem;
  --site-button-letter-spacing: 0.15em;
  --site-button-radius: 0;

  /* CARDS */
  --site-card-padding: clamp(1.5rem, 3vw, 2.5rem);
  --site-card-radius: 0;
  --site-card-shadow: 0 18px 50px rgba(5, 5, 5, 0.08);

  /* SEÇÕES */
  --site-section-space: clamp(5.5rem, 9vw, 8.5rem);
  --site-section-space-small: clamp(4.5rem, 7vw, 6rem);

  /* ESPAÇAMENTOS */
  --site-space-1: 0.25rem;
  --site-space-2: 0.5rem;
  --site-space-3: 0.75rem;
  --site-space-4: 1rem;
  --site-space-5: 1.25rem;
  --site-space-6: 1.5rem;
  --site-space-8: 2rem;
  --site-space-10: 2.5rem;
  --site-space-12: 3rem;
  --site-space-16: 4rem;

  /* TRANSIÇÕES */
  --site-transition-fast: 180ms ease;
  --site-transition: 260ms ease;
}


/* =========================================================
   02. RESET E BASE
========================================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--site-cream);
  color: var(--site-text-dark);
  font-family: var(--site-font-body);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img,
svg,
video,
canvas,
picture {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

a {
  color: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
blockquote {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  overflow-wrap: break-word;
}

section {
  position: relative;
}


/* =========================================================
   03. ACESSIBILIDADE
========================================================= */

:focus-visible {
  outline: 2px solid var(--site-gold-light);
  outline-offset: 4px;
}

.site-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* =========================================================
   04. CONTAINERS
========================================================= */

.site-container,
.site-container--small,
.site-container--wide {
  margin-inline: auto;
}

.site-container {
  width: min(
    calc(100% - (var(--site-page-padding-desktop) * 2)),
    var(--site-container)
  );
}

.site-container--small {
  width: min(
    calc(100% - (var(--site-page-padding-desktop) * 2)),
    var(--site-container-small)
  );
}

.site-container--wide {
  width: min(
    calc(100% - (var(--site-page-padding-desktop) * 2)),
    var(--site-container-wide)
  );
}


/* =========================================================
   05. SEÇÕES E FUNDOS
========================================================= */

.site-section {
  padding-block: var(--site-section-space);
}

.site-section--small {
  padding-block: var(--site-section-space-small);
}

.site-section--flush {
  padding-block: 0;
}

.site-background--light {
  background: var(--site-cream);
  color: var(--site-text-dark);
}

.site-background--soft {
  background:
    linear-gradient(
      180deg,
      var(--site-cream) 0%,
      var(--site-cream-soft) 100%
    );
  color: var(--site-text-dark);
}

.site-background--dark {
  background: var(--site-black);
  color: var(--site-text-light);
}

.site-background--dark-soft {
  background: var(--site-black-soft);
  color: var(--site-text-light);
}


/* =========================================================
   06. TIPOGRAFIA
========================================================= */

.site-display,
.site-h1,
.site-h2,
.site-h3,
.site-h4 {
  margin: 0;
  font-family: var(--site-font-display);
  font-weight: var(--site-heading-weight);
  text-wrap: balance;
}

.site-display {
  font-size: var(--site-display-size);
  line-height: var(--site-display-line-height);
  letter-spacing: var(--site-display-letter-spacing);
}

.site-h1 {
  font-size: var(--site-h1-size);
  line-height: var(--site-h1-line-height);
  letter-spacing: var(--site-heading-letter-spacing);
}

.site-h2 {
  font-size: var(--site-h2-size);
  line-height: var(--site-h2-line-height);
  letter-spacing: -0.035em;
}

.site-h3 {
  font-size: var(--site-h3-size);
  line-height: var(--site-h3-line-height);
  letter-spacing: -0.02em;
}

.site-h4 {
  font-size: var(--site-h4-size);
  line-height: 1.1;
  letter-spacing: -0.015em;
}

.site-title--dark {
  color: var(--site-black);
}

.site-title--light {
  color: var(--site-white);
}

.site-title--gold {
  color: var(--site-gold);
}

.site-lead,
.site-text,
.site-text--large,
.site-text--small,
.site-caption {
  margin: 0;
  font-family: var(--site-font-body);
}

.site-lead,
.site-text--large {
  color: var(--site-text-soft);
  font-size: var(--site-text-large);
  line-height: 1.78;
}

.site-text {
  color: var(--site-text-soft);
  font-size: var(--site-text-default);
  line-height: var(--site-body-line-height);
}

.site-text--small {
  color: var(--site-text-muted);
  font-size: var(--site-text-small);
  line-height: 1.65;
}

.site-caption {
  color: var(--site-text-muted);
  font-size: var(--site-text-caption);
  line-height: 1.5;
}

.site-text--light {
  color: var(--site-text-light-soft);
}

.site-text--center {
  text-align: center;
}

.site-text--strong {
  font-weight: var(--site-strong-weight);
}


/* =========================================================
   07. ETIQUETAS
========================================================= */

.site-label {
  display: inline-grid;
  grid-template-columns:
    var(--site-label-line-width)
    auto
    var(--site-label-line-width);
  align-items: center;
  gap: var(--site-label-gap);
  margin-bottom: var(--site-label-margin-bottom);
  color: var(--site-gold);
  font-family: var(--site-font-body);
  font-size: var(--site-label-size);
  font-weight: var(--site-label-weight);
  line-height: 1.3;
  letter-spacing: var(--site-label-letter-spacing);
  text-transform: uppercase;
}

.site-label::before,
.site-label::after {
  content: "";
  height: 1px;
}

.site-label::before {
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--site-gold-light)
    );
}

.site-label::after {
  background:
    linear-gradient(
      90deg,
      var(--site-gold-light),
      transparent
    );
}

.site-label--light {
  color: var(--site-white);
}

.site-label--center {
  justify-content: center;
}

.site-label--left {
  justify-content: start;
}


/* =========================================================
   08. LINHAS E NÚMEROS
========================================================= */

.site-rule {
  width: var(--site-rule-width);
  height: var(--site-rule-height);
  margin:
    var(--site-rule-margin-top)
    0
    var(--site-rule-margin-bottom);
  background:
    linear-gradient(
      90deg,
      var(--site-gold),
      var(--site-gold-light)
    );
}

.site-rule--center {
  margin-right: auto;
  margin-left: auto;
}

.site-divider {
  width: 100%;
  height: 1px;
  background: var(--site-border-light);
}

.site-number {
  display: inline-block;
  color: rgba(201, 152, 33, 0.62);
  font-family: var(--site-font-display);
  font-size: clamp(2.6rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 0.9;
}


/* =========================================================
   09. BOTÕES
========================================================= */

.site-button {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  min-height: var(--site-button-height);
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding:
    var(--site-button-padding-y)
    var(--site-button-padding-x);
  overflow: hidden;
  border:
    1px solid
    rgba(255, 225, 137, 0.75);
  border-radius: var(--site-button-radius);
  background-color: var(--site-gold);
  background-image:
    linear-gradient(
      110deg,
      var(--site-gold-medium) 0%,
      var(--site-gold-light) 48%,
      var(--site-gold-medium) 100%
    );
  color: var(--site-black);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 10px 30px rgba(201, 152, 33, 0.16);
  font-family: var(--site-font-body);
  font-size: var(--site-button-font-size);
  font-weight: var(--site-button-weight);
  line-height: 1;
  letter-spacing: var(--site-button-letter-spacing);
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    transform var(--site-transition-fast),
    box-shadow var(--site-transition-fast),
    filter var(--site-transition-fast);
}

.site-button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -70%;
  width: 42%;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent
    );
  transform: skewX(-22deg);
  transition: left 500ms ease;
  pointer-events: none;
}

.site-button,
.site-button:link,
.site-button:visited,
.site-button:hover,
.site-button:focus,
.site-button:focus-visible,
.site-button:active,
.vm-header__cta,
.vm-header__cta:link,
.vm-header__cta:visited,
.vm-header__cta:hover,
.vm-header__cta:focus,
.vm-header__cta:focus-visible,
.vm-header__cta:active {
  color: var(--site-black) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-thickness: 0 !important;
  text-underline-offset: 0 !important;
}

.site-button:hover,
.site-button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.03);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 14px 36px rgba(201, 152, 33, 0.25);
}

.site-button:hover::before {
  left: 130%;
}

.site-button--outline,
.site-button--outline:link,
.site-button--outline:visited,
.site-button--outline:hover,
.site-button--outline:focus,
.site-button--outline:focus-visible,
.site-button--outline:active {
  color: var(--site-gold) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.site-button--outline {
  border-color: var(--site-gold);
  background: transparent;
  color: var(--site-gold);
  box-shadow: none;
}

.site-button--outline::before {
  display: none;
}

.site-button--outline:hover,
.site-button--outline:focus,
.site-button--outline:focus-visible,
.site-button--outline:active,
.site-button--outline:visited {
  background: rgba(201, 152, 33, 0.08);
  color: var(--site-gold) !important;
}

.site-button--dark,
.site-button--dark:link,
.site-button--dark:visited,
.site-button--dark:hover,
.site-button--dark:focus,
.site-button--dark:focus-visible,
.site-button--dark:active {
  color: var(--site-white) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}

.site-button--dark {
  border-color: var(--site-black);
  background: var(--site-black);
  color: var(--site-white);
}

.site-button--dark:hover,
.site-button--dark:focus,
.site-button--dark:focus-visible,
.site-button--dark:active,
.site-button--dark:visited {
  color: var(--site-white) !important;
}

.site-button--full {
  width: 100%;
}

.site-button-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.85rem;
}


/* =========================================================
   10. CARDS E LISTAS
========================================================= */

.site-card {
  position: relative;
  padding: var(--site-card-padding);
  border: 1px solid var(--site-border-light);
  border-radius: var(--site-card-radius);
  background: var(--site-white);
  transition:
    transform var(--site-transition),
    box-shadow var(--site-transition),
    border-color var(--site-transition);
}

.site-card--soft {
  background: var(--site-cream-soft);
}

.site-card--dark {
  border-color: var(--site-border-dark);
  background: var(--site-black-soft);
  color: var(--site-white);
}

.site-card--interactive:hover,
.site-card--interactive:focus-within {
  transform: translateY(-4px);
  border-color: var(--site-border-gold);
  box-shadow: var(--site-card-shadow);
}

.site-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-list__item {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 1.6rem;
  padding: 2rem 0 2.2rem;
  border-top: 1px solid var(--site-border-light);
}

.site-list__item:last-child {
  border-bottom: 1px solid var(--site-border-light);
}


/* =========================================================
   11. IMAGENS E MÍDIA
========================================================= */

.site-media {
  position: relative;
  overflow: hidden;
  background: var(--site-cream-soft);
}

.site-media img,
.site-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-media--square {
  aspect-ratio: 1 / 1;
}

.site-media--portrait {
  aspect-ratio: 4 / 5;
}

.site-media--landscape {
  aspect-ratio: 16 / 10;
}

.site-media--wide {
  aspect-ratio: 16 / 9;
}


/* =========================================================
   12. GRIDS E UTILITÁRIOS
========================================================= */

.site-grid {
  display: grid;
}

.site-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.site-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.site-gap--small {
  gap: 1rem;
}

.site-gap--medium {
  gap: 1.5rem;
}

.site-gap--large {
  gap: clamp(2.5rem, 6vw, 5rem);
}

.site-stack {
  display: flex;
  flex-direction: column;
}

.site-flex {
  display: flex;
}

.site-flex--between {
  align-items: center;
  justify-content: space-between;
}

.site-flex--center {
  align-items: center;
  justify-content: center;
}

.site-wrap {
  flex-wrap: wrap;
}

.site-align--left {
  text-align: left;
}

.site-align--center {
  text-align: center;
}

.site-max-text--small {
  max-width: 42ch;
}

.site-max-text--medium {
  max-width: 58ch;
}

.site-max-text--large {
  max-width: 72ch;
}

.site-mt--small {
  margin-top: 1rem;
}

.site-mt--medium {
  margin-top: 2rem;
}

.site-mt--large {
  margin-top: 3rem;
}


/* =========================================================
   13. RESPONSIVIDADE
========================================================= */

@media (max-width: 900px) {
  .site-container,
  .site-container--small,
  .site-container--wide {
    width: min(
      calc(100% - (var(--site-page-padding-tablet) * 2)),
      var(--site-container)
    );
  }

  .site-grid--2,
  .site-grid--3,
  .site-grid--4 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  :root {
    --site-label-line-width: 22px;
    --site-label-gap: 0.65rem;

    --site-h1-size: clamp(2.75rem, 12vw, 4.1rem);
    --site-h2-size: clamp(2.15rem, 9.5vw, 2.9rem);
    --site-h3-size: clamp(1.2rem, 6vw, 1.5rem);

    /* TEXTOS DE CONTEÚDO NO CELULAR */
    --site-text-default: 1.125rem;
    --site-text-large: 1.125rem;
  }

  .site-container,
  .site-container--small,
  .site-container--wide {
    width: min(
      calc(100% - (var(--site-page-padding-mobile) * 2)),
      var(--site-container)
    );
  }

  .site-button-group {
    align-items: stretch;
    flex-direction: column;
  }

  .site-button-group .site-button,
  .site-button--mobile-full {
    width: 100%;
  }

  .site-list__item {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 1rem;
  }

  .site-number {
    font-size: 2.4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

/* =========================================================
   14. POSTS DO BLOG — WIDGET PADRÃO DO ELEMENTOR
   USO:
   - Adicionar a classe "vm-blog-posts" ao widget Posts.
   - Mantém fontes, cores, etiquetas e botões ligados aos
     tokens globais definidos no :root.
========================================================= */

.vm-blog-posts .elementor-posts-container {
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.vm-blog-posts .elementor-post {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--site-border-light);
  border-radius: var(--site-card-radius);
  background: var(--site-white);
  box-shadow: 0 16px 42px rgba(17, 16, 15, 0.07);
  transition:
    transform var(--site-transition-fast),
    border-color var(--site-transition-fast),
    box-shadow var(--site-transition-fast);
}

.vm-blog-posts .elementor-post:hover,
.vm-blog-posts .elementor-post:focus-within {
  transform: translateY(-5px);
  border-color: var(--site-border-gold);
  box-shadow: var(--site-card-shadow);
}

/* IMAGEM */

.vm-blog-posts .elementor-post__thumbnail__link {
  display: block;
  margin: 0 !important;
  overflow: hidden;
}

.vm-blog-posts .elementor-post__thumbnail {
  padding-bottom: 66% !important;
  overflow: hidden;
  background: var(--site-cream-soft);
}

.vm-blog-posts .elementor-post__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 450ms ease;
}

.vm-blog-posts .elementor-post:hover .elementor-post__thumbnail img,
.vm-blog-posts .elementor-post:focus-within .elementor-post__thumbnail img {
  transform: scale(1.045);
}

/* ETIQUETA / CATEGORIA */

.vm-blog-posts .elementor-post__badge {
  top: 1rem !important;
  right: auto !important;
  left: 1rem !important;
  padding: 0.55rem 0.8rem !important;
  border: 0;
  border-radius: 0;
  background: var(--site-gold) !important;
  color: var(--site-black) !important;
  font-family: var(--site-font-body) !important;
  font-size: var(--site-label-size) !important;
  font-weight: var(--site-label-weight) !important;
  line-height: 1 !important;
  letter-spacing: var(--site-label-letter-spacing) !important;
  text-transform: uppercase;
  text-decoration: none !important;
}

/* CONTEÚDO DO CARD */

.vm-blog-posts .elementor-post__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.4rem, 2.5vw, 1.9rem) !important;
}

/* TÍTULO */

.vm-blog-posts .elementor-post__title {
  margin: 0 0 1rem !important;
}

.vm-blog-posts .elementor-post__title,
.vm-blog-posts .elementor-post__title a {
  color: var(--site-black) !important;
  font-family: var(--site-font-display) !important;
  font-size: clamp(1.75rem, 2.5vw, 2.15rem) !important;
  font-weight: var(--site-heading-weight) !important;
  line-height: 1.08 !important;
  letter-spacing: var(--site-heading-letter-spacing) !important;
  text-decoration: none !important;
}

.vm-blog-posts .elementor-post__title a:hover,
.vm-blog-posts .elementor-post__title a:focus-visible {
  color: var(--site-gold-dark) !important;
}

/* RESUMO */

.vm-blog-posts .elementor-post__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 1.4rem !important;
  color: var(--site-text-soft) !important;
  font-family: var(--site-font-body) !important;
  font-size: var(--site-text-default) !important;
  font-weight: var(--site-body-weight) !important;
  line-height: var(--site-body-line-height) !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.vm-blog-posts .elementor-post__excerpt p {
  margin: 0;
  color: inherit !important;
  font: inherit !important;
}

/* BOTÃO CONTINUAR LENDO */

.vm-blog-posts .elementor-post__read-more {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: var(--site-button-height);
  margin-top: auto;
  padding:
    var(--site-button-padding-y)
    var(--site-button-padding-x);
  overflow: hidden;
  border: 1px solid rgba(255, 225, 137, 0.75);
  border-radius: var(--site-button-radius);
  background-color: var(--site-gold);
  background-image:
    linear-gradient(
      110deg,
      var(--site-gold-medium) 0%,
      var(--site-gold-light) 48%,
      var(--site-gold-medium) 100%
    );
  color: var(--site-black) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 10px 30px rgba(201, 152, 33, 0.16);
  font-family: var(--site-font-body) !important;
  font-size: var(--site-button-font-size) !important;
  font-weight: var(--site-button-weight) !important;
  line-height: 1 !important;
  letter-spacing: var(--site-button-letter-spacing) !important;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transition:
    transform var(--site-transition-fast),
    box-shadow var(--site-transition-fast),
    filter var(--site-transition-fast);
}

.vm-blog-posts .elementor-post__read-more::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -70%;
  width: 42%;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent
    );
  transform: skewX(-22deg);
  transition: left 500ms ease;
  pointer-events: none;
}

.vm-blog-posts .elementor-post__read-more:hover,
.vm-blog-posts .elementor-post__read-more:focus-visible {
  transform: translateY(-2px);
  color: var(--site-black) !important;
  filter: brightness(1.03);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.42),
    0 14px 36px rgba(201, 152, 33, 0.25);
}

.vm-blog-posts .elementor-post__read-more:hover::before {
  left: 130%;
}

/* DATA E METADADOS */

.vm-blog-posts .elementor-post__meta-data {
  margin: 1.4rem 0 0;
  padding: 1rem clamp(1.4rem, 2.5vw, 1.9rem);
  border-top: 1px solid var(--site-border-light);
  color: var(--site-text-muted) !important;
  font-family: var(--site-font-body) !important;
  font-size: var(--site-text-caption) !important;
  font-weight: var(--site-body-weight) !important;
  line-height: 1.5 !important;
}

.vm-blog-posts .elementor-post__meta-data span,
.vm-blog-posts .elementor-post__meta-data a {
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
}

.vm-blog-posts .elementor-post__meta-data span + span::before {
  color: var(--site-gold) !important;
}

/* PAGINAÇÃO */

.vm-blog-posts .elementor-pagination {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  font-family: var(--site-font-body);
}

.vm-blog-posts .elementor-pagination a,
.vm-blog-posts .elementor-pagination span {
  color: var(--site-black) !important;
  font-weight: var(--site-strong-weight) !important;
  text-decoration: none !important;
}

.vm-blog-posts .elementor-pagination .current,
.vm-blog-posts .elementor-pagination a:hover,
.vm-blog-posts .elementor-pagination a:focus-visible {
  color: var(--site-gold-dark) !important;
}

/* RESPONSIVIDADE DOS POSTS */

@media (max-width: 560px) {
  .vm-blog-posts .elementor-post__text {
    padding: 1.35rem !important;
  }

  .vm-blog-posts .elementor-post__title,
  .vm-blog-posts .elementor-post__title a {
    font-size: 1.8rem !important;
  }

  .vm-blog-posts .elementor-post__meta-data {
    padding-inline: 1.35rem;
  }

  .vm-blog-posts .elementor-post__read-more {
    width: 100%;
  }
}

/* =========================================================
   15. AJUSTES FINAIS DOS CARDS DO BLOG
   - Título um pouco menor
   - Imagem fixa no hover
   - Correção do efeito de deslocamento/sumiço
========================================================= */

.vm-blog-posts .elementor-post {
  overflow: hidden;
}

/* IMAGEM FIXA */

.vm-blog-posts .elementor-post__thumbnail,
.vm-blog-posts .elementor-post__thumbnail__link {
  overflow: hidden;
}

.vm-blog-posts .elementor-post__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
  transition: none !important;
}

.vm-blog-posts .elementor-post:hover .elementor-post__thumbnail img,
.vm-blog-posts .elementor-post:focus-within .elementor-post__thumbnail img {
  transform: none !important;
}

/* TÍTULO MAIS EQUILIBRADO */

.vm-blog-posts .elementor-post__title,
.vm-blog-posts .elementor-post__title a {
  font-family: var(--site-font-display) !important;
  font-size: clamp(1.65rem, 2.1vw, 1.95rem) !important;
  font-weight: var(--site-heading-weight) !important;
  line-height: 1.06 !important;
  letter-spacing: var(--site-heading-letter-spacing) !important;
}

/* MOBILE */

@media (max-width: 560px) {
  .vm-blog-posts .elementor-post__title,
  .vm-blog-posts .elementor-post__title a {
    font-size: 1.7rem !important;
    line-height: 1.08 !important;
  }
}

/* =========================================================
   16. CORREÇÃO DE POSICIONAMENTO DA IMAGEM DOS POSTS
   Mantém a imagem centralizada sem animação no hover.
========================================================= */

.vm-blog-posts .elementor-post__thumbnail {
  position: relative;
  overflow: hidden;
}

.vm-blog-posts .elementor-post__thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%) !important;
  transition: none !important;
}

.vm-blog-posts .elementor-post:hover .elementor-post__thumbnail img,
.vm-blog-posts .elementor-post:focus-within .elementor-post__thumbnail img {
  transform: translate(-50%, -50%) !important;
}/* End custom CSS */