/* =========================================================
   VERSARO — STYLE CURADO 22/08/2026

   Curadoria conservadora: remoção de duplicações e versões
   comprovadamente substituídas, sem redesign visual.

   Áreas aprovadas (produto, 3D, páginas institucionais, loja
   e navegação) permanecem preservadas.
   ========================================================= */

:root {
  --v-cream:#f6f4ee;
  --v-ink:#5c5031;
  --v-stone:#7a6f54;
  --v-gold:#c9a74e;
  --v-line:#e8e1d4;
  --v-chip:#f1ece2;
}

/* ===================== MODAL GUIA DE MEDIDAS ===================== */
.vsg-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  display:grid; place-items:center; z-index:9999;
}
.vsg-dialog {
  width:min(720px, 92vw); max-height:85vh; overflow:auto; outline:0;
  background:#fff; border-radius:16px; padding:20px;
  border:1px solid var(--v-line); box-shadow:0 10px 30px rgba(92,80,49,.25);
}
.vsg-close {
  position:absolute; right:18px; top:18px;
  width:36px; height:36px; border-radius:999px; border:1px solid var(--v-line);
  background:#fff; font-size:20px; line-height:1; cursor:pointer;
}
#vsg-title { margin:0 0 8px; color:var(--v-ink); font-weight:800; }
.vsg-note { color:var(--v-stone); margin:0 0 12px; }
.vsg-table { border:1px solid var(--v-line); border-radius:12px; overflow:hidden; }
.vsg-row { display:grid; grid-template-columns:1fr 1fr 1fr; padding:10px 12px; }
.vsg-row:nth-child(odd) { background:#faf8f2; }
.vsg-head { background:var(--v-chip); font-weight:800; color:var(--v-stone); }
.vsg-steps { margin-top:12px; color:var(--v-stone); }


/* =========================================================
   CHECKOUT — LEGADO CONSOLIDADO
   Mantém exatamente o comportamento visual anterior.
   Esta área será redesenhada na etapa própria do roadmap.
   ========================================================= */

.woocommerce-checkout {
    background: #fff !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 8px;
    box-shadow: none !important;
}

.woocommerce-checkout .woocommerce {
    background: #fff !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-checkout h3,
.woocommerce-checkout h2,
.woocommerce-checkout h1 {
    margin-bottom: 15px;
    color: #333;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}

.woocommerce-checkout form.checkout {
    background: #fff;
    padding: 20px 0;
    border: none;
    box-shadow: none;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.woocommerce-checkout-review-order {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    padding: 12px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    transition: border 0.3s ease;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: #C6A664;
    outline: none;
    box-shadow: none;
}

.woocommerce-checkout label {
    display: block;
    margin-bottom: 4px;
    color: #333;
    font-size: 13px;
    font-weight: 500;
}

.woocommerce-checkout button#place_order {
    width: 100%;
    padding: 16px 24px;
    background-color: #C6A664;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: background 0.3s ease;
}

.woocommerce-checkout button#place_order:hover {
    background-color: #a38640;
}

.woocommerce-checkout-review-order-table {
    padding: 15px;
    background: #fff;
    border: none;
    border-radius: 8px;
    box-shadow: none;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 10px 6px;
    border: none;
    font-size: 14px;
}

.woocommerce-form-coupon-toggle {
    margin-bottom: 20px;
    padding: 12px;
    background: #fff;
    border-radius: 6px;
    text-align: center;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 12px;
    border-radius: 6px;
    font-size: 13px;
}

.woocommerce-checkout-review-order-table .cart-subtotal {
    display: none !important;
}

.woocommerce-info {
    text-align: center;
}

/* Menu principal */
.main-navigation a {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: #333;
  text-transform: uppercase;
  padding: 10px 15px;
  transition: color 0.3s ease;
}

.main-navigation a:hover {
  color: #C6A664; /* dourado hover */
}

/* Ícones (carrinho, login, busca) */
.ast-header-custom-item svg,
.ast-header-custom-item a {
  color: #333;
  transition: color 0.3s ease;
}

#masthead {
  background-color: transparent !important;
  border: none !important;
}

.ast-header-custom-item svg:hover,
.ast-header-custom-item a:hover {
  color: #C6A664;
}

/* Links do menu principal */
.main-header-menu .menu-link {
  color: #ffffff ; /* cor padrão (preto/cinza escuro) */
  font-weight: 500;
  transition: color 0.3s ease;
}

/* Hover (quando passa o mouse) */
.main-header-menu .menu-link:hover {
  color: #C6A664 !important; /* dourado */
}

/* Item ativo (página atual) */
.main-header-menu .current-menu-item > .menu-link {
  color: #ffffff !important;
  font-weight: 600;
}

/* Logo Versaro */
.site-branding img {
  max-height: 70px; /* controla altura */
  width: auto;
}


.versaro-extra-fields {
  margin: 20px 0;
  padding: 15px;
  border: 1px solid var(--v-line);
  border-radius: 10px;
  background: var(--v-chip);
}
.versaro-extra-fields h4 {
  margin-bottom: 12px;
  font-size: 16px;
  color: var(--v-ink);
}
.versaro-extra-fields label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}
.versaro-extra-fields select,
.versaro-extra-fields input[type="text"] {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--v-line);
  border-radius: 8px;
}


/* Overlay que cobre o viewer */
.v3d-overlay-lock {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(246,244,238,0.9);
  backdrop-filter: blur(6px);
  z-index: 3;
  transition: opacity 0.5s ease;
}

/* Oculta quando terminar */
.v3d-overlay-lock.hidden {
  display: none !important;
}

/* Spinner (rodinha girando) */
.v3d-spinner {
  width: 60px;
  height: 60px;
  border: 4px solid #d6c49d;       /* dourado claro */
  border-top: 4px solid #3b2d2f;   /* dourado escuro */
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1080px) {
  .ast-mobile-popup-inner .menu-link {
    color: #000000 !important; /* escuro para contraste no fundo branco */
  }

  .ast-mobile-popup-inner .menu-link:hover {
    color: #f9d976 !important; /* opcional: dourado no hover */
  }

  .main-header-menu .current-menu-item > .menu-link{
    color: #000000 !important;
  }
}



.elementor-widget-shortcode .woocommerce {
  background-color: var(--ast-global-color-5) !important;
}
/* .elementor-element-9d91f4f{
  background-color: var(--ast-global-color-7) !important;

} */

.elementor-element-9d91f4f h2,
.elementor-element-9d91f4f h4 {
  color: var(--ast-global-color-8) !important;

}


/* Mantém branco no site todo */
button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal .mobile-menu-toggle-icon path {
  fill: #ffffff !important;
}

/* Muda pra preto somente em páginas de produto */
.single-product button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal .mobile-menu-toggle-icon path {
  fill: #f7f4f4 !important;
}

.versaro-extra-fields h4 {
  color: #6F331E !important;
}


/* ======== Cor do preço - Padrão Versaro ======== */
ul.products li.product .price,
ul.products li.product .price ins,
ul.products li.product .woocommerce-Price-amount,
.woocommerce ul.products li.product .price {
  color: #975E3C !important; /* cobre da paleta Versaro */
}

ul.products li.product .price del {
  color: #C9BEAB !important; /* preço riscado - bege suave */
  opacity: 0.8;
}


/* ======== Responsivo ======== */
@media (max-width: 768px) {
  ul.products {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 16px;
  }
  ul.products li.product {
    max-width: 220px;
  }
}

/* =========================================================
   CABEÇALHO VERSARO — REDESIGN 2026

   Primeira etapa:
   - cabeçalho desktop;
   - submenu de Joias;
   - botão mobile;
   - menu off-canvas.

   As páginas de produto permanecem temporariamente com
   o comportamento anterior.
   ========================================================= */


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1081px) {

    body:not(.single-product) #masthead {
        background-color: transparent !important;
        border: 0 !important;
    }

    body:not(.single-product) .ast-primary-header-bar {
        min-height: 5.5rem;

        border-bottom: 0 !important;

        background:
            linear-gradient(
                180deg,
                rgba(33, 33, 33, 0.58) 0%,
                rgba(33, 33, 33, 0.18) 72%,
                rgba(33, 33, 33, 0) 100%
            ) !important;

        box-shadow: none !important;
    }

    body:not(.single-product) .site-primary-header-wrap {
        min-height: 5.5rem;
        padding-inline:
            clamp(
                1rem,
                3vw,
                3rem
            );
    }

    body:not(.single-product) .site-branding img {
        width: auto;
        max-height: 3rem;
    }


    /* Navegação principal */

    body:not(.single-product)
    .main-header-menu
    > .menu-item
    > .menu-link {
        min-height: 5.5rem;
        padding-inline:
            clamp(
                0.625rem,
                1.15vw,
                1rem
            );

        color: var(--vs-color-diamante) !important;

        font-family: var(--vs-font-body);
        font-size: var(--vs-font-size-xs);
        font-weight: var(--vs-font-weight-semibold);
        line-height: var(--vs-line-height-ui);
        letter-spacing: var(--vs-letter-spacing-wide);
        text-transform: uppercase;
        white-space: nowrap;

        transition:
            var(--vs-transition-color),
            var(--vs-transition-opacity);
    }

    body:not(.single-product)
    .main-header-menu
    > .menu-item
    > .menu-link:hover,

    body:not(.single-product)
    .main-header-menu
    > .current-menu-item
    > .menu-link,

    body:not(.single-product)
    .main-header-menu
    > .current-menu-ancestor
    > .menu-link {
        color: var(--vs-color-areia) !important;
    }


    /* Seta do item com submenu */

    body:not(.single-product)
    .main-header-menu
    .menu-item-has-children
    > .menu-link
    svg {
        fill: currentColor;
    }


    /* Submenu de Joias */

    body:not(.single-product)
    .main-header-menu
    .sub-menu {
        min-width: 15rem;
        padding: var(--vs-space-3);

        border:
            1px solid
            rgba(237, 235, 230, 0.14);

        border-radius: var(--vs-radius-sm);

        background-color:
            rgba(33, 33, 33, 0.96) !important;

        box-shadow: var(--vs-shadow-md);

        backdrop-filter: blur(0.75rem);
        -webkit-backdrop-filter: blur(0.75rem);
    }

    body:not(.single-product)
    .main-header-menu
    .sub-menu
    .menu-link {
        min-height: auto;
        padding:
            0.875rem
            1rem;

        border-radius: var(--vs-radius-xs);

        color:
            rgba(237, 235, 230, 0.78) !important;

        font-family: var(--vs-font-body);
        font-size: var(--vs-font-size-xs);
        font-weight: var(--vs-font-weight-medium);
        line-height: var(--vs-line-height-ui);
        letter-spacing: var(--vs-letter-spacing-wide);
        text-transform: uppercase;

        transition:
            var(--vs-transition-color),
            var(--vs-transition-opacity);
    }

    body:not(.single-product)
    .main-header-menu
    .sub-menu
    .menu-link:hover,

    body:not(.single-product)
    .main-header-menu
    .sub-menu
    .current-menu-item
    > .menu-link {
        background-color:
            rgba(237, 235, 230, 0.08);

        color: var(--vs-color-diamante) !important;
    }
}


/* =========================================================
   MOBILE E TABLET
   ========================================================= */

@media (max-width: 1080px) {

    body:not(.single-product) .site-branding img {
        width: auto;
        max-height: 2.5rem;
    }


    /* Botão que abre o menu */

    body:not(.single-product)
    button.menu-toggle.main-header-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 2.75rem;
        height: 2.75rem;
        padding: 0;

        border:
            1px solid
            rgba(237, 235, 230, 0.38);

        border-radius: var(--vs-radius-sm);

        background-color:
            rgba(33, 33, 33, 0.18);

        color: var(--vs-color-diamante);

        transition:
            var(--vs-transition-color),
            var(--vs-transition-opacity);
    }

    body:not(.single-product)
    button.menu-toggle.main-header-menu-toggle:hover {
        border-color: var(--vs-color-diamante);

        background-color:
            rgba(33, 33, 33, 0.36);
    }

    body:not(.single-product)
    button.menu-toggle.main-header-menu-toggle
    .mobile-menu-toggle-icon
    path {
        fill: var(--vs-color-diamante) !important;
    }


    /* Fundo atrás do painel */

    body:not(.single-product) .ast-mobile-popup-drawer
    .ast-mobile-popup-overlay {
        background-color:
            rgba(33, 33, 33, 0.58);

        backdrop-filter: blur(0.25rem);
        -webkit-backdrop-filter: blur(0.25rem);
    }


    /* Painel lateral */

    body:not(.single-product) .ast-mobile-popup-drawer
    .ast-mobile-popup-inner {
        right: 0 !important;
        left: auto !important;

        width: min(88vw, 24rem) !important;
        max-width: 24rem;

        background-color:
            var(--vs-color-diamante) !important;

        color: var(--vs-color-carbono);

        box-shadow:
            -1rem 0 4rem
            rgba(33, 33, 33, 0.24);
    }


    /* Cabeçalho interno do painel */

    body:not(.single-product) .ast-mobile-popup-drawer
    .ast-mobile-popup-header {
        display: flex;
        align-items: center;
        justify-content: flex-end;

        min-height: 4.5rem;
        padding:
            var(--vs-space-4)
            var(--vs-space-5);

        border-bottom:
            1px solid
            var(--vs-color-border);
    }


    /* Botão fechar */

    body:not(.single-product) .ast-mobile-popup-drawer
    .menu-toggle-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 2.5rem;
        height: 2.5rem;
        padding: 0;

        border:
            1px solid
            var(--vs-color-border);

        border-radius: var(--vs-radius-sm);

        background-color: transparent;
        color: var(--vs-color-carbono);
    }

    body:not(.single-product) .ast-mobile-popup-drawer
    .menu-toggle-close:hover {
        border-color: var(--vs-color-primary);

        background-color:
            var(--vs-color-surface-muted);

        color: var(--vs-color-primary);
    }

    body:not(.single-product) .ast-mobile-popup-drawer
    .menu-toggle-close
    svg {
        width: 1.25rem;
        height: 1.25rem;

        fill: currentColor;
    }


    /* Conteúdo do painel */

    body:not(.single-product) .ast-mobile-popup-drawer
    .ast-mobile-popup-content {
        padding:
            var(--vs-space-5)
            var(--vs-space-5)
            var(--vs-space-6);
    }

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu {
        display: grid;
        gap: 0;

        padding: 0;
        margin: 0;
    }


    /* Links principais */

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        display: flex;
        align-items: center;
        justify-content: space-between;

        min-height: 3.5rem;
        padding:
            1rem
            0;

        border-bottom:
            1px solid
            var(--vs-color-border);

        color: var(--vs-color-carbono) !important;

        font-family: var(--vs-font-display);
        font-size: var(--vs-font-size-lg);
        font-weight: var(--vs-font-weight-regular);
        line-height: var(--vs-line-height-heading);
        letter-spacing: var(--vs-letter-spacing-tight);
        text-transform: none;
    }

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link:hover,

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    > .current-menu-item
    > .menu-link,

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    > .current-menu-ancestor
    > .menu-link {
        color: var(--vs-color-primary) !important;
    }


    /* Submenu mobile */

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu {
        padding:
            var(--vs-space-2)
            0
            var(--vs-space-4)
            var(--vs-space-4);

        border: 0;

        background-color: transparent !important;
        box-shadow: none;
    }

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link {
        min-height: 2.75rem;
        padding:
            0.75rem
            0;

        color: var(--vs-color-text-muted) !important;

        font-family: var(--vs-font-body);
        font-size: var(--vs-font-size-sm);
        font-weight: var(--vs-font-weight-medium);
        line-height: var(--vs-line-height-ui);
        letter-spacing: var(--vs-letter-spacing-wide);
        text-transform: uppercase;
    }

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link:hover,

    body:not(.single-product) .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .current-menu-item
    > .menu-link {
        color: var(--vs-color-primary) !important;
    }


    /* Botão que expande o submenu */

    body:not(.single-product) .ast-mobile-popup-drawer
    .ast-menu-toggle {
        border: 0;
        background-color: transparent;
        color: var(--vs-color-carbono);
    }

    body:not(.single-product) .ast-mobile-popup-drawer
    .ast-menu-toggle
    svg {
        fill: currentColor;
    }
}

/* Botão de orçamento no cabeçalho desktop */
@media (min-width: 1081px) {

    body:not(.single-product) .ast-header-button-1 {
        flex-shrink: 0;
    }

    body:not(.single-product)
    .ast-header-button-1
    .ast-builder-button-wrap {
        width: max-content;
    }

    body:not(.single-product)
    .ast-header-button-1
    .ast-custom-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: max-content;
        min-width: max-content;
        padding: 0.875rem 1.25rem;

        white-space: nowrap;
        line-height: 1;
    }
}

/* =========================================================
   CTA DO MENU MOBILE
   ========================================================= */

@media (max-width: 1080px) {

    body:not(.single-product)
    .ast-mobile-popup-drawer
    .ast-header-button-1 {
        width: 100%;
        margin-top: var(--vs-space-5);
    }

    body:not(.single-product)
    .ast-mobile-popup-drawer
    .ast-header-button-1
    .ast-builder-button-wrap {
        width: 100%;
    }

    body:not(.single-product)
    .ast-mobile-popup-drawer
    .ast-header-button-1
    .ast-custom-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        min-height: 3.5rem;
        padding: 1rem 1.25rem;

        border: 1px solid var(--vs-color-primary);
        border-radius: var(--vs-radius-sm);

        background-color: var(--vs-color-primary);
        color: var(--vs-color-diamante) !important;

        font-family: var(--vs-font-body);
        font-size: var(--vs-font-size-xs);
        font-weight: var(--vs-font-weight-semibold);
        line-height: var(--vs-line-height-ui);
        letter-spacing: var(--vs-letter-spacing-wide);
        text-align: center;
        text-transform: uppercase;
        white-space: nowrap;

        transition:
            var(--vs-transition-color),
            var(--vs-transition-opacity);
    }

    body:not(.single-product)
    .ast-mobile-popup-drawer
    .ast-header-button-1
    .ast-custom-button:hover {
        border-color: var(--vs-color-carbono);
        background-color: var(--vs-color-carbono);
        color: var(--vs-color-diamante) !important;
    }
}

/* =========================================================
   CABEÇALHO FIXO DURANTE A ROLAGEM — HOMEPAGE
   ========================================================= */

body.home:not(.single-product) #masthead {
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;

    width: 100%;
    z-index: 9999;

    background-color: rgba(33, 33, 33, 0) !important;
    box-shadow: none;

    transition:
        background-color 320ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* Todos os elementos devem animar na mesma velocidade */

body.home:not(.single-product)
.ast-primary-header-bar,

body.home:not(.single-product)
.site-primary-header-wrap,

body.home:not(.single-product)
.site-branding img,

body.home:not(.single-product)
.main-header-menu
> .menu-item
> .menu-link {
    transition:
        min-height 320ms cubic-bezier(0.22, 1, 0.36, 1),
        max-height 320ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 320ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* Estado depois do início da rolagem */

body.home.vs-header-scrolled:not(.single-product)
#masthead {
    background-color: rgba(33, 33, 33, 0.96) !important;

    box-shadow:
        0 0.5rem 2rem
        rgba(0, 0, 0, 0.16);
}

body.home.vs-header-scrolled:not(.single-product)
.ast-primary-header-bar {
    border-bottom: 0 !important;
    box-shadow: none !important;

    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
}


/* Barra administrativa do WordPress — desde o início */

body.admin-bar.home:not(.single-product)
#masthead {
    top: 32px;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1081px) {

    body.home.vs-header-scrolled:not(.single-product)
    .ast-primary-header-bar,

    body.home.vs-header-scrolled:not(.single-product)
    .site-primary-header-wrap {
        min-height: 5rem;
    }

    body.home.vs-header-scrolled:not(.single-product)
    .site-branding img {
        max-height: 2.5rem;
    }

    body.home.vs-header-scrolled:not(.single-product)
    .main-header-menu
    > .menu-item
    > .menu-link {
        min-height: 5rem;
    }
}


/* =========================================================
   TABLET E CELULAR
   ========================================================= */

@media (max-width: 1080px) {

    body.home.vs-header-scrolled:not(.single-product)
    .ast-primary-header-bar,

    body.home.vs-header-scrolled:not(.single-product)
    .site-primary-header-wrap {
        min-height: 4.25rem;
    }

    body.home.vs-header-scrolled:not(.single-product)
    .site-branding img {
        max-height: 2rem;
    }
}


/* Barra administrativa do WordPress no mobile */

@media (max-width: 782px) {

    body.admin-bar.home:not(.single-product)
    #masthead {
        top: 46px;
    }
}


/* Respeita usuários que desativam animações */

@media (prefers-reduced-motion: reduce) {

    body.home:not(.single-product) #masthead,

    body.home:not(.single-product)
    .ast-primary-header-bar,

    body.home:not(.single-product)
    .site-primary-header-wrap,

    body.home:not(.single-product)
    .site-branding img,

    body.home:not(.single-product)
    .main-header-menu
    > .menu-item
    > .menu-link {
        transition: none;
    }
}

/* =========================================================
   CABEÇALHO DAS PÁGINAS INTERNAS
   ========================================================= */

body.page:not(.home):not(.single-product) #masthead {
    position: fixed !important;
    top: 0;
    right: 0;
    left: 0;

    width: 100%;
    z-index: 9999;

    background-color: rgba(33, 33, 33, 0.98) !important;

    box-shadow:
        0 0.35rem 1.5rem
        rgba(0, 0, 0, 0.14);
}

body.page:not(.home):not(.single-product)
.ast-primary-header-bar {
    background: transparent !important;

    border-bottom:
        1px solid rgba(237, 235, 230, 0.12) !important;

    box-shadow: none !important;
}


/* Logo claro sobre o fundo Carbono */

body.page:not(.home):not(.single-product)
.site-branding img {
    filter: brightness(0) invert(1);
}


/* Links do menu */

body.page:not(.home):not(.single-product)
.main-header-menu
> .menu-item
> .menu-link {
    color: var(--vs-color-diamante) !important;
}

body.page:not(.home):not(.single-product)
.main-header-menu
> .menu-item:hover
> .menu-link,

body.page:not(.home):not(.single-product)
.main-header-menu
> .current-menu-item
> .menu-link {
    color: var(--vs-color-areia) !important;
}


/* Compensa o espaço ocupado pelo cabeçalho fixo */

body.page:not(.home):not(.single-product)
#content {
    padding-top: 5.5rem;
}


/* Barra administrativa do WordPress */

body.admin-bar.page:not(.home):not(.single-product)
#masthead {
    top: 32px;
}


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

@media (max-width: 1080px) {

    body.page:not(.home):not(.single-product)
    #content {
        padding-top: 4.5rem;
    }

    body.page:not(.home):not(.single-product)
    .menu-toggle {
        color: var(--vs-color-diamante) !important;
    }

    body.page:not(.home):not(.single-product)
    .ast-mobile-svg {
        fill: currentColor !important;
    }
}

@media (max-width: 782px) {

    body.admin-bar.page:not(.home):not(.single-product)
    #masthead {
        top: 46px;
    }
}

/* =========================================================
   CABEÇALHO COMPACTO — PÁGINAS INTERNAS
   ========================================================= */

body.page:not(.home):not(.single-product) {
    --vs-internal-header-height: 4.25rem;
}


/* Altura geral */

body.page:not(.home):not(.single-product)
.ast-primary-header-bar,

body.page:not(.home):not(.single-product)
.site-primary-header-wrap {
    min-height: var(--vs-internal-header-height) !important;
}


/* Logo menor */

body.page:not(.home):not(.single-product)
.site-branding img {
    width: auto;
    max-height: 2rem !important;
}


/* Altura dos links do menu */

body.page:not(.home):not(.single-product)
.main-header-menu
> .menu-item
> .menu-link {
    min-height: var(--vs-internal-header-height) !important;

    font-size: 0.6875rem;
    letter-spacing: 0.075em;
}


/* Botão mais delicado */

body.page:not(.home):not(.single-product)
.ast-header-button-1
.ast-custom-button {
    min-height: 2.75rem !important;

    padding:
        0.75rem
        1rem !important;

    font-size: 0.6875rem;
}


/* Ajusta o início do conteúdo à nova altura */

body.page:not(.home):not(.single-product)
#content {
    padding-top: var(--vs-internal-header-height) !important;
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 1080px) {

    body.page:not(.home):not(.single-product) {
        --vs-internal-header-height: 4rem;
    }

    body.page:not(.home):not(.single-product)
    .site-branding img {
        max-height: 1.75rem !important;
    }
}

/* =========================================================
   TIPOGRAFIA DO BOTÃO SOLICITAR ORÇAMENTO
   ========================================================= */

@media (min-width: 1081px) {

    body:not(.single-product)
    .ast-header-button-1
    .ast-custom-button {
        font-family: var(--vs-font-body) !important;
        font-size: 0.6875rem !important;
        font-weight: var(--vs-font-weight-semibold) !important;
        line-height: 1 !important;

        letter-spacing: 0.04em !important;
        text-transform: uppercase;
    }
}

/* =========================================================
   PERSONALIZE SUA JOIA — PÁGINA 2864
   ========================================================= */


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

body.page-id-2864 .vs-personalize-hero {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    width: 100% !important;
    max-width: none !important;
    min-height: calc(100svh - 5.5rem);

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;

    background-color: var(--vs-color-diamante);
}

body.page-id-2864
.vs-personalize-hero__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    width: 100%;
    max-width: none !important;

    padding:
        clamp(4rem, 7vw, 7rem)
        clamp(2rem, 8vw, 8.5rem);

    background-color: var(--vs-color-diamante);
}

body.page-id-2864
.vs-personalize-hero__content
> * {
    width: 100%;
    max-width: 38rem;
}

body.page-id-2864
.vs-personalize-hero__eyebrow
.elementor-heading-title {
    margin: 0 0 2rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2864
.vs-personalize-hero__title
.elementor-heading-title {
    max-width: 12ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(3.25rem, 5vw, 5.5rem);
    font-weight: 400;
    line-height: 0.98;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-hero__text {
    max-width: 31rem;
    margin-top: 2rem;
}

body.page-id-2864
.vs-personalize-hero__text,
body.page-id-2864
.vs-personalize-hero__text p {
    color: var(--vs-color-carbono);

    font-family: var(--vs-font-body);
    font-size: clamp(1rem, 1.15vw, 1.125rem);
    font-weight: 400;
    line-height: 1.75;
}

body.page-id-2864
.vs-personalize-hero__text p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-hero__button {
    width: auto;
    margin-top: 2.25rem;
}

body.page-id-2864
.vs-personalize-hero__button
.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 3.5rem;
    padding: 1rem 1.6rem;

    border: 1px solid var(--vs-color-primary);
    border-radius: var(--vs-radius-sm);

    background-color: var(--vs-color-primary);
    color: var(--vs-color-diamante);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        color 220ms ease,
        transform 220ms ease;
}

body.page-id-2864
.vs-personalize-hero__button
.elementor-button:hover {
    border-color: var(--vs-color-carbono);
    background-color: var(--vs-color-carbono);
    color: var(--vs-color-diamante);
    transform: translateY(-2px);
}

body.page-id-2864
.vs-personalize-hero__media {
    position: relative;

    width: 100%;
    max-width: none !important;
    min-height: 100%;

    padding: 0 !important;

    overflow: hidden;
    background-color: var(--vs-color-perola);
}

body.page-id-2864
.vs-personalize-hero__media
.elementor-widget-image,
body.page-id-2864
.vs-personalize-hero__media
.elementor-widget-container,
body.page-id-2864
.vs-personalize-hero__image {
    width: 100%;
    height: 100%;
    min-height: 100%;
}

body.page-id-2864
.vs-personalize-hero__media img,
body.page-id-2864
.vs-personalize-hero__image img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: calc(100svh - 5.5rem);

    object-fit: cover;
    object-position: center;
}


/* =========================================================
   CAMINHOS
   ========================================================= */

body.page-id-2864
.vs-personalize-paths {
    width: 100%;
    max-width: none !important;

    background-color: var(--vs-color-diamante);
    scroll-margin-top: 4.75rem;
}

body.page-id-2864
.vs-personalize-paths__header {
    width: 100%;
    max-width: 76rem;

    margin: 0 auto clamp(4rem, 6vw, 6rem);
}

body.page-id-2864
.vs-personalize-paths__eyebrow
.elementor-heading-title {
    margin: 0 0 1.5rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2864
.vs-personalize-paths__title
.elementor-heading-title {
    max-width: 22ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-paths__intro {
    max-width: 54rem;
    margin-top: 1.75rem;
}

body.page-id-2864
.vs-personalize-paths__intro,
body.page-id-2864
.vs-personalize-paths__intro p {
    color: var(--vs-color-carbono);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
}

body.page-id-2864
.vs-personalize-paths__intro p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-paths__grid,
body.page-id-2864
.vs-personalize-paths__grid
> .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

    width: 100% !important;
    max-width: 92rem !important;

    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;
}

body.page-id-2864
.vs-personalize-paths__grid {
    --width: 100% !important;

    flex-basis: 100% !important;
    align-self: stretch !important;

    border-top: 1px solid rgba(33, 33, 33, 0.16);
}

body.page-id-2864
.vs-personalize-paths__card {
    --width: 100% !important;
    --flex-direction: column !important;

    position: relative;

    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 18rem;

    padding:
        2rem
        clamp(1.5rem, 2.5vw, 2.5rem);

    gap: 0 !important;
    row-gap: 0 !important;

    border-left: 1px solid rgba(33, 33, 33, 0.12);

    flex: initial !important;
    flex-basis: auto !important;
    align-self: stretch !important;

    transition:
        background-color 240ms ease,
        transform 240ms ease;
}

body.page-id-2864
.vs-personalize-paths__card:last-child {
    border-right: 1px solid rgba(33, 33, 33, 0.12);
}

body.page-id-2864
.vs-personalize-paths__card:hover {
    background-color: var(--vs-color-perola);
    transform: translateY(-0.25rem);
}

body.page-id-2864
.vs-personalize-paths__card
> .elementor-element {
    width: 100% !important;
    max-width: 100% !important;

    margin-block-end: 0 !important;
    flex: 0 0 auto !important;
}

body.page-id-2864
.vs-personalize-paths__number
.elementor-heading-title {
    margin: 0 0 1.75rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-display);
    font-size: clamp(2rem, 2.5vw, 2.75rem);
    font-weight: 400;
    line-height: 1;
}

body.page-id-2864
.vs-personalize-paths__card-title
.elementor-heading-title {
    max-width: 13ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(1.65rem, 2vw, 2.25rem);
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-paths__card-text {
    max-width: 23rem;
    margin-top: 1rem;
}

body.page-id-2864
.vs-personalize-paths__card-text,
body.page-id-2864
.vs-personalize-paths__card-text p {
    color: rgba(33, 33, 33, 0.76);

    font-family: var(--vs-font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.7;
}

body.page-id-2864
.vs-personalize-paths__card-text p {
    margin: 0;
}

body.page-id-2864
#iniciar-projeto {
    scroll-margin-top: 7rem;
}

body.admin-bar.page-id-2864
#iniciar-projeto {
    scroll-margin-top: 9rem;
}


/* =========================================================
   PROCESSO ACOMPANHADO
   ========================================================= */

body.page-id-2864
.vs-personalize-process {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    width: 100% !important;
    max-width: none !important;

    margin: 0;
    padding: 0;
    gap: 0 !important;

    background-color: var(--vs-color-carbono);
}

body.page-id-2864
.vs-personalize-process__media,
body.page-id-2864
.vs-personalize-process__content {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    flex-basis: auto !important;
}

body.page-id-2864
.vs-personalize-process__media {
    position: relative;

    min-height: 48rem;

    overflow: hidden;
    background-color: var(--vs-color-carbono);
}

body.page-id-2864
.vs-personalize-process__image,
body.page-id-2864
.vs-personalize-process__image
.elementor-widget-container,
body.page-id-2864
.vs-personalize-process__image
img {
    width: 100%;
    height: 100%;
}

body.page-id-2864
.vs-personalize-process__image {
    position: absolute;
    inset: 0;
}

body.page-id-2864
.vs-personalize-process__image
img {
    display: block;

    object-fit: cover;
    object-position: center;

    filter:
        saturate(0.92)
        contrast(1.04);
}

body.page-id-2864
.vs-personalize-process__content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    padding:
        clamp(4.5rem, 7vw, 7.5rem)
        clamp(3rem, 6vw, 7rem);

    background-color: var(--vs-color-carbono);
}

body.page-id-2864
.vs-personalize-process__eyebrow
.elementor-heading-title {
    margin: 0 0 1.5rem;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2864
.vs-personalize-process__title
.elementor-heading-title {
    max-width: 12ch;
    margin: 0;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 4vw, 4.25rem);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-process__intro {
    max-width: 38rem;
    margin-top: 1.75rem;
}

body.page-id-2864
.vs-personalize-process__intro,
body.page-id-2864
.vs-personalize-process__intro p {
    color: rgba(237, 235, 230, 0.76);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
}

body.page-id-2864
.vs-personalize-process__intro p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-process__steps {
    width: 100% !important;
    max-width: 42rem !important;

    margin-top: clamp(2.75rem, 4vw, 4rem);
    gap: 0 !important;
}

body.page-id-2864
.vs-personalize-process__step {
    display: grid !important;
    grid-template-columns:
        3rem
        minmax(0, 1fr);

    width: 100% !important;

    padding: 1.75rem 0;

    column-gap: 1.5rem;
    row-gap: 0.5rem;

    border-top: 1px solid rgba(237, 235, 230, 0.18);
}

body.page-id-2864
.vs-personalize-process__step-number {
    grid-column: 1;
    grid-row: 1 / 3;
}

body.page-id-2864
.vs-personalize-process__step-number
.elementor-heading-title {
    margin: 0;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-display);
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
}

body.page-id-2864
.vs-personalize-process__step-title {
    grid-column: 2;
}

body.page-id-2864
.vs-personalize-process__step-title
.elementor-heading-title {
    margin: 0;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size: clamp(1.45rem, 1.8vw, 1.85rem);
    font-weight: 400;
    line-height: 1.2;
}

body.page-id-2864
.vs-personalize-process__step-text {
    grid-column: 2;
}

body.page-id-2864
.vs-personalize-process__step-text,
body.page-id-2864
.vs-personalize-process__step-text p {
    color: rgba(237, 235, 230, 0.68);

    font-family: var(--vs-font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.65;
}

body.page-id-2864
.vs-personalize-process__step-text p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-process__content
> .elementor-element,
body.page-id-2864
.vs-personalize-process__step
> .elementor-element {
    margin-block-end: 0 !important;
}


/* =========================================================
   PROJETOS REAIS
   ========================================================= */

body.page-id-2864
.vs-personalize-projects {
    width: 100% !important;
    max-width: none !important;

    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(1.5rem, 7vw, 7.5rem);

    background-color: var(--vs-color-diamante);
}

body.page-id-2864
.vs-personalize-projects__header {
    width: 100% !important;
    max-width: 78rem !important;

    margin: 0 auto clamp(3.5rem, 5vw, 5.5rem);
    gap: 0 !important;
}

body.page-id-2864
.vs-personalize-projects__eyebrow
.elementor-heading-title {
    margin: 0 0 1.5rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2864
.vs-personalize-projects__title
.elementor-heading-title {
    max-width: 18ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 4.5vw, 4.5rem);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-projects__intro {
    max-width: 52rem;
    margin-top: 1.75rem;
}

body.page-id-2864
.vs-personalize-projects__intro,
body.page-id-2864
.vs-personalize-projects__intro p {
    color: rgba(33, 33, 33, 0.78);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
}

body.page-id-2864
.vs-personalize-projects__intro p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-paths__grid1 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    width: 100% !important;
    max-width: 92rem;

    margin: 0 auto;
    gap: 0 !important;

    border-top: 1px solid rgba(33, 33, 33, 0.16);
}

body.page-id-2864
.vs-personalize-paths__grid1
> .e-con {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    padding: clamp(2rem, 3vw, 3rem);

    border-right: 1px solid rgba(33, 33, 33, 0.12);

    flex: none !important;
}

body.page-id-2864
.vs-personalize-paths__grid1
> .e-con:nth-child(3) {
    border-right: 0;
}

body.page-id-2864
.vs-personalize-paths__grid1
.elementor-widget-image {
    width: 100%;
    aspect-ratio: 4 / 3;

    overflow: hidden;
    background-color: var(--vs-color-perola);
}

body.page-id-2864
.vs-personalize-paths__grid1
.elementor-widget-image
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-2864
.vs-personalize-paths__grid1
.elementor-widget-image
img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
    object-position: center;

    transition:
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 500ms ease;
}

body.page-id-2864
.vs-personalize-paths__grid1
> .e-con:hover
.elementor-widget-image
img {
    transform: scale(1.025);
    filter: contrast(1.03);
}


/* Identificação e textos dos projetos */

body.page-id-2864
.vs-personalize-projects__project-type {
    margin-top: 1rem;
}

body.page-id-2864
.vs-personalize-projects__project-type
.elementor-heading-title {
    margin: 0;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2864
.vs-personalize-projects__project-title {
    margin-top: 0.5rem;
}

body.page-id-2864
.vs-personalize-projects__project-title
.elementor-heading-title {
    max-width: 19ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2rem, 3vw, 3.25rem);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-projects__project-text {
    max-width: 44rem;
    margin-top: 0.875rem;
}

body.page-id-2864
.vs-personalize-projects__project-text,
body.page-id-2864
.vs-personalize-projects__project-text p {
    color: rgba(33, 33, 33, 0.74);

    font-family: var(--vs-font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.75;
}

body.page-id-2864
.vs-personalize-projects__project-text p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-projects__card-title {
    margin-top: 0.45rem;
}

body.page-id-2864
.vs-personalize-projects__card-title
.elementor-heading-title {
    max-width: 22ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(1.65rem, 2.25vw, 2.25rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.018em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-projects
.elementor-element {
    margin-block-end: 0;
}


/* Nomes dos clientes */

body.page-id-2864
.vs-personalize-paths__grid1
.vs-project-client {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;

    gap: 0.5rem;
    margin: 0.65rem 0 1.5rem;
    padding: 0;

    line-height: 1;
}

body.page-id-2864
.vs-personalize-paths__grid1
.vs-project-client__label {
    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.page-id-2864
.vs-personalize-paths__grid1
.vs-project-client__name {
    color: var(--vs-color-chama);

    font-family: "Cookie", cursive;
    font-size: clamp(1.7rem, 2vw, 2.25rem);
    font-weight: 400;
    line-height: 1;
}


/* =========================================================
   BRIEFING E FORMULÁRIO
   ========================================================= */

body.page-id-2864
.vs-personalize-briefing {
    --width: 100% !important;

    display: grid !important;
    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);

    width: 100% !important;
    max-width: none !important;

    margin: 0;
    padding: 0;
    gap: 0 !important;

    background-color: var(--vs-color-perola);
}

body.page-id-2864
.vs-personalize-briefing__intro,
body.page-id-2864
.vs-personalize-briefing__form-panel,
body.page-id-2864
.vs-personalize-briefing__form {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    flex-basis: auto !important;
}

body.page-id-2864
.vs-personalize-briefing__intro {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;

    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 7vw, 7rem);

    background-color: var(--vs-color-primary);
}

body.page-id-2864
.vs-personalize-briefing__eyebrow
.elementor-heading-title {
    margin: 0 0 1.5rem;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2864
.vs-personalize-briefing__title
.elementor-heading-title {
    max-width: 14ch;
    margin: 0;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 3.6vw, 4rem);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-2864
.vs-personalize-briefing__text {
    max-width: 35rem;
    margin-top: 2rem;
}

body.page-id-2864
.vs-personalize-briefing__text,
body.page-id-2864
.vs-personalize-briefing__text p {
    color: rgba(237, 235, 230, 0.78);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
}

body.page-id-2864
.vs-personalize-briefing__text p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-briefing__note {
    max-width: 34rem;

    margin-top: 2rem;
    padding-top: 2rem;

    border-top: 1px solid rgba(237, 235, 230, 0.2);
}

body.page-id-2864
.vs-personalize-briefing__note,
body.page-id-2864
.vs-personalize-briefing__note p {
    color: rgba(237, 235, 230, 0.62);

    font-family: var(--vs-font-body);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.7;
}

body.page-id-2864
.vs-personalize-briefing__note p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-briefing__form-panel {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(2rem, 7vw, 7rem);

    background-color: var(--vs-color-diamante);
}

body.page-id-2864
.vs-personalize-briefing__form-title
.elementor-heading-title {
    max-width: 14ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.25rem, 3.5vw, 3.5rem);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

body.page-id-2864
.vs-personalize-briefing__form-intro {
    max-width: 37rem;
    margin-top: 1.25rem;
}

body.page-id-2864
.vs-personalize-briefing__form-intro,
body.page-id-2864
.vs-personalize-briefing__form-intro p {
    color: rgba(33, 33, 33, 0.7);

    font-family: var(--vs-font-body);
    font-size: 0.9375rem;
    line-height: 1.7;
}

body.page-id-2864
.vs-personalize-briefing__form-intro p {
    margin: 0;
}

body.page-id-2864
.vs-personalize-briefing__form {
    margin-top: 2.75rem;
}

body.page-id-2864
.vs-personalize-briefing__form
.elementor-widget-wpforms,
body.page-id-2864
.vs-personalize-briefing__form
.elementor-widget-container,
body.page-id-2864
.vs-personalize-briefing__form
.wpforms-container,
body.page-id-2864
.vs-personalize-briefing__form
.wpforms-form {
    width: 100% !important;
    max-width: none !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-container {
    margin: 0 !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field {
    width: 100% !important;
    padding: 0 0 1.5rem !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-small,
body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-medium,
body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-large {
    width: 100% !important;
    max-width: none !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-label {
    display: block;

    margin: 0 0 0.625rem !important;

    color: var(--vs-color-carbono) !important;

    font-family: var(--vs-font-body) !important;
    font-size: 0.8125rem !important;
    font-weight: var(--vs-font-weight-semibold) !important;
    line-height: 1.4 !important;
    letter-spacing: 0.035em;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-required-label {
    color: var(--vs-color-primary) !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-description {
    margin-top: 0.5rem !important;

    color: rgba(33, 33, 33, 0.58) !important;

    font-family: var(--vs-font-body) !important;
    font-size: 0.75rem !important;
    line-height: 1.55 !important;
}

body.page-id-2864
.vs-personalize-briefing__form
input[type="text"],
body.page-id-2864
.vs-personalize-briefing__form
input[type="email"],
body.page-id-2864
.vs-personalize-briefing__form
input[type="tel"],
body.page-id-2864
.vs-personalize-briefing__form
input[type="url"],
body.page-id-2864
.vs-personalize-briefing__form
input[type="number"],
body.page-id-2864
.vs-personalize-briefing__form
select,
body.page-id-2864
.vs-personalize-briefing__form
textarea {
    width: 100% !important;
    max-width: none !important;
    min-height: 3.25rem;

    padding: 0.875rem 1rem !important;

    border: 1px solid rgba(33, 33, 33, 0.22) !important;
    border-radius: 0 !important;
    outline: none;

    background-color: rgba(255, 255, 255, 0.58) !important;
    color: var(--vs-color-carbono) !important;

    font-family: var(--vs-font-body) !important;
    font-size: 0.9375rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    box-shadow: none !important;

    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

body.page-id-2864
.vs-personalize-briefing__form
textarea {
    min-height: 9rem;
    resize: vertical;
}

body.page-id-2864
.vs-personalize-briefing__form
input:focus,
body.page-id-2864
.vs-personalize-briefing__form
select:focus,
body.page-id-2864
.vs-personalize-briefing__form
textarea:focus {
    border-color: var(--vs-color-primary) !important;
    background-color: #ffffff !important;

    box-shadow:
        0 0 0 3px rgba(110, 52, 31, 0.08) !important;
}

body.page-id-2864
.vs-personalize-briefing__form
::placeholder {
    color: rgba(33, 33, 33, 0.38) !important;
    opacity: 1;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-radio
ul,
body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-checkbox
ul {
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-radio
li,
body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-checkbox
li {
    margin: 0 0 0.75rem !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-radio
label,
body.page-id-2864
.vs-personalize-briefing__form
.wpforms-field-checkbox
label {
    color: rgba(33, 33, 33, 0.82) !important;

    font-family: var(--vs-font-body) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
}

body.page-id-2864
.vs-personalize-briefing__form
.wpforms-submit-container {
    padding: 0 !important;
    margin-top: 0.75rem !important;
}

body.page-id-2864
.vs-personalize-briefing__form
button[type="submit"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-height: 3.5rem;
    padding: 1rem 1.75rem !important;

    border: 1px solid var(--vs-color-primary) !important;
    border-radius: 0 !important;

    background-color: var(--vs-color-primary) !important;
    color: var(--vs-color-diamante) !important;

    font-family: var(--vs-font-body) !important;
    font-size: 0.75rem !important;
    font-weight: var(--vs-font-weight-semibold) !important;
    line-height: 1 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    box-shadow: none !important;

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease;
}

body.page-id-2864
.vs-personalize-briefing__form
button[type="submit"]:hover {
    border-color: var(--vs-color-carbono) !important;
    background-color: var(--vs-color-carbono) !important;
    color: var(--vs-color-diamante) !important;
}

body.page-id-2864
.vs-personalize-briefing
.elementor-element {
    margin-block-end: 0;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1081px) {

    body.page-id-2864
    .vs-personalize-hero__eyebrow
    .elementor-heading-title {
        font-size: 0.6875rem;
        letter-spacing: 0.11em;
    }

    body.page-id-2864
    .vs-personalize-hero__title
    .elementor-heading-title {
        font-size: clamp(3.25rem, 4vw, 4.25rem);
        line-height: 1;
        letter-spacing: -0.025em;
    }

    body.page-id-2864
    .vs-personalize-hero__text,
    body.page-id-2864
    .vs-personalize-hero__text p {
        font-size: clamp(1rem, 1vw, 1.0625rem);
        line-height: 1.65;
    }

    body.page-id-2864
    .vs-personalize-paths {
        padding-top: clamp(4.5rem, 6vw, 6rem);
    }

    body.page-id-2864
    .vs-personalize-paths__header {
        margin-bottom: clamp(2.5rem, 3.5vw, 3.5rem);
    }

    body.page-id-2864
    .vs-personalize-projects {
        padding:
            clamp(4.5rem, 6vw, 6rem)
            clamp(2rem, 5vw, 5rem);
    }

    body.page-id-2864
    .vs-personalize-paths__grid1 {
        max-width: 82rem;
    }

    body.page-id-2864
    .vs-personalize-projects__project-title
    .elementor-heading-title {
        font-size: clamp(2rem, 2.6vw, 2.8rem);
    }

    body.page-id-2864
    .vs-personalize-projects__card-title
    .elementor-heading-title {
        font-size: clamp(1.55rem, 1.8vw, 1.95rem);
        line-height: 1.12;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1080px) {

    body.page-id-2864
    .vs-personalize-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    body.page-id-2864
    .vs-personalize-hero__content {
        min-height: 34rem;

        padding:
            clamp(4rem, 10vw, 6rem)
            clamp(2rem, 8vw, 5rem);
    }

    body.page-id-2864
    .vs-personalize-hero__media,
    body.page-id-2864
    .vs-personalize-hero__media img,
    body.page-id-2864
    .vs-personalize-hero__image img {
        min-height: 34rem;
    }

    body.page-id-2864
    .vs-personalize-paths__grid,
    body.page-id-2864
    .vs-personalize-paths__grid
    > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.page-id-2864
    .vs-personalize-paths__card {
        border-bottom: 1px solid rgba(33, 33, 33, 0.12);
    }

    body.page-id-2864
    .vs-personalize-paths__card:nth-child(3) {
        border-left: 1px solid rgba(33, 33, 33, 0.12);
    }
}

@media (max-width: 900px) {

    body.page-id-2864
    .vs-personalize-process,
    body.page-id-2864
    .vs-personalize-briefing {
        grid-template-columns: 1fr;
    }

    body.page-id-2864
    .vs-personalize-process__media {
        min-height: auto;
        aspect-ratio: 4 / 3;
    }

    body.page-id-2864
    .vs-personalize-process__content,
    body.page-id-2864
    .vs-personalize-briefing__intro,
    body.page-id-2864
    .vs-personalize-briefing__form-panel {
        padding:
            4.5rem
            clamp(1.5rem, 7vw, 4rem);
    }

    body.page-id-2864
    .vs-personalize-paths__grid1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-id-2864
    .vs-personalize-paths__grid1
    > .e-con:nth-child(3) {
        grid-column: 1 / -1;
    }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-2864
    .vs-personalize-hero__content {
        min-height: auto;

        padding:
            4rem
            1.5rem;
    }

    body.page-id-2864
    .vs-personalize-hero__eyebrow
    .elementor-heading-title {
        margin-bottom: 1.5rem;
        font-size: 0.6875rem;
    }

    body.page-id-2864
    .vs-personalize-hero__title
    .elementor-heading-title {
        max-width: 11ch;
        font-size: clamp(2.75rem, 13vw, 4rem);
        line-height: 1;
    }

    body.page-id-2864
    .vs-personalize-hero__text {
        margin-top: 1.75rem;
    }

    body.page-id-2864
    .vs-personalize-hero__text,
    body.page-id-2864
    .vs-personalize-hero__text p {
        font-size: 1rem;
        line-height: 1.65;
    }

    body.page-id-2864
    .vs-personalize-hero__button {
        width: 100%;
        margin-top: 2rem;
    }

    body.page-id-2864
    .vs-personalize-hero__button
    .elementor-button {
        width: 100%;
    }

    body.page-id-2864
    .vs-personalize-hero__media,
    body.page-id-2864
    .vs-personalize-hero__media img,
    body.page-id-2864
    .vs-personalize-hero__image img {
        min-height: 26rem;
    }

    body.page-id-2864
    .vs-personalize-paths {
        padding:
            4.5rem
            1.5rem;

        scroll-margin-top: 4.25rem;
    }

    body.page-id-2864
    .vs-personalize-paths__header {
        margin-bottom: 3rem;
    }

    body.page-id-2864
    .vs-personalize-paths__title
    .elementor-heading-title {
        font-size: clamp(2.25rem, 10vw, 3rem);
    }

    body.page-id-2864
    .vs-personalize-paths__grid,
    body.page-id-2864
    .vs-personalize-paths__grid
    > .e-con-inner {
        grid-template-columns: 1fr !important;
    }

    body.page-id-2864
    .vs-personalize-paths__card {
        min-height: 18rem;

        padding:
            2rem
            1.5rem;

        border-right: 0;
        border-left: 0;
        border-bottom: 1px solid rgba(33, 33, 33, 0.14);
    }

    body.page-id-2864
    .vs-personalize-paths__card:last-child {
        border-right: 0;
    }

    body.page-id-2864
    .vs-personalize-paths__card-title
    .elementor-heading-title {
        max-width: 15ch;
        font-size: 2rem;
    }

    body.page-id-2864
    #iniciar-projeto {
        scroll-margin-top: 6rem;
    }

    body.admin-bar.page-id-2864
    #iniciar-projeto {
        scroll-margin-top: 9rem;
    }

    body.page-id-2864
    .vs-personalize-process__media {
        aspect-ratio: 4 / 5;
    }

    body.page-id-2864
    .vs-personalize-process__content,
    body.page-id-2864
    .vs-personalize-briefing__intro,
    body.page-id-2864
    .vs-personalize-briefing__form-panel {
        padding:
            4rem
            1.5rem;
    }

    body.page-id-2864
    .vs-personalize-process__title
    .elementor-heading-title,
    body.page-id-2864
    .vs-personalize-briefing__title
    .elementor-heading-title {
        font-size: clamp(2.5rem, 11vw, 3.25rem);
    }

    body.page-id-2864
    .vs-personalize-process__step {
        grid-template-columns:
            2.25rem
            minmax(0, 1fr);

        column-gap: 1rem;
        padding: 1.5rem 0;
    }

    body.page-id-2864
    .vs-personalize-projects {
        padding:
            4.5rem
            1.5rem;
    }

    body.page-id-2864
    .vs-personalize-projects__header {
        margin-bottom: 3rem;
    }

    body.page-id-2864
    .vs-personalize-projects__title
    .elementor-heading-title {
        font-size: clamp(2.5rem, 11vw, 3.25rem);
    }

    body.page-id-2864
    .vs-personalize-projects__project-title
    .elementor-heading-title {
        font-size: 2.25rem;
    }

    body.page-id-2864
    .vs-personalize-projects__card-title
    .elementor-heading-title {
        font-size: 1.875rem;
    }

    body.page-id-2864
    .vs-personalize-briefing__form-title
    .elementor-heading-title {
        font-size: 2.5rem;
    }

    body.page-id-2864
    .vs-personalize-briefing__form
    button[type="submit"] {
        width: 100% !important;
    }
}

@media (max-width: 600px) {

    body.page-id-2864
    .vs-personalize-paths__grid1 {
        grid-template-columns: 1fr;
    }

    body.page-id-2864
    .vs-personalize-paths__grid1
    > .e-con {
        border-right: 0;
        border-bottom: 1px solid rgba(33, 33, 33, 0.12);
    }

    body.page-id-2864
    .vs-personalize-paths__grid1
    > .e-con:nth-child(3) {
        grid-column: auto;
        border-bottom: 0;
    }
}

/* =========================================================
   NOSSO PROCESSO — PÁGINA 2865
   ========================================================= */


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

body.page-id-2865 .vs-process-hero {
    --width: 100% !important;
    --gap: 0px !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    width: 100% !important;
    max-width: none !important;
    min-height: calc(
        100svh -
        var(--vs-internal-header-height, 4.25rem)
    );

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;

    background-color: var(--vs-color-diamante);
}

body.page-id-2865 .vs-process-hero__media,
body.page-id-2865 .vs-process-hero__content {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    flex-basis: auto !important;
}

body.page-id-2865 .vs-process-hero__media {
    position: relative;

    min-height: calc(
        100svh -
        var(--vs-internal-header-height, 4.25rem)
    );

    padding: 0 !important;

    overflow: hidden;
    background-color: var(--vs-color-carbono);
}

body.page-id-2865 .vs-process-hero__media .elementor-widget-image {
    position: absolute;
    inset: 0;
}

body.page-id-2865 .vs-process-hero__media .elementor-widget-image,
body.page-id-2865 .vs-process-hero__media .elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-2865 .vs-process-hero__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
    object-position: center;

    filter:
        saturate(0.92)
        contrast(1.03);
}

body.page-id-2865 .vs-process-hero__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    padding:
        clamp(4.5rem, 7vw, 7rem)
        clamp(2.5rem, 7vw, 7.5rem);

    background-color: var(--vs-color-diamante);
}

body.page-id-2865 .vs-process-hero__content > .elementor-element {
    width: 100%;
    max-width: 39rem;

    margin-block-end: 0 !important;
}

body.page-id-2865
.vs-process-hero__eyebrow
.elementor-heading-title {
    display: inline-block;

    margin: 0 0 1.75rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2865
.vs-process-hero__title
.elementor-heading-title {
    max-width: 12ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(3.25rem, 4.5vw, 4.75rem);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -0.03em;
    text-wrap: balance;
}

body.page-id-2865 .vs-process-hero__text {
    max-width: 35rem;
    margin-top: 2rem;
}

body.page-id-2865 .vs-process-hero__text,
body.page-id-2865 .vs-process-hero__text p {
    color: rgba(33, 33, 33, 0.76);

    font-family: var(--vs-font-body);
    font-size: clamp(1rem, 1.05vw, 1.0625rem);
    font-weight: 400;
    line-height: 1.75;
}

body.page-id-2865 .vs-process-hero__text p {
    margin: 0 0 1rem;
}

body.page-id-2865 .vs-process-hero__text p:last-child {
    margin-bottom: 0;
}

body.page-id-2865 .vs-process-hero__button {
    width: auto !important;
    margin-top: 2.25rem;
}

body.page-id-2865
.vs-process-hero__button
.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 3.5rem;
    padding: 1rem 1.6rem;

    border: 1px solid var(--vs-color-primary);
    border-radius: var(--vs-radius-sm);

    background-color: var(--vs-color-primary);
    color: var(--vs-color-diamante);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        color 220ms ease,
        transform 220ms ease;
}

body.page-id-2865
.vs-process-hero__button
.elementor-button:hover {
    border-color: var(--vs-color-carbono);
    background-color: var(--vs-color-carbono);
    color: var(--vs-color-diamante);

    transform: translateY(-2px);
}


/* =========================================================
   ETAPAS
   ========================================================= */

body.page-id-2865 .vs-process-steps {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    padding:
        4rem
        clamp(1.5rem, 6vw, 6rem);

    background-color: var(--vs-color-diamante);
    scroll-margin-top: 5rem;
}

body.page-id-2865 .vs-process-steps__header {
    --width: 100% !important;

    width: 100% !important;
    max-width: 76rem !important;

    margin: 0 auto 2.5rem;
    gap: 0 !important;
}

body.page-id-2865
.vs-process-steps__header
> .elementor-element {
    width: 100%;
    margin-block-end: 0 !important;
}

body.page-id-2865
.vs-process-steps__eyebrow
.elementor-heading-title {
    display: inline-block;

    margin: 0 0 1.5rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2865
.vs-process-steps__title
.elementor-heading-title {
    max-width: 18ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 4vw, 4rem);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-2865 .vs-process-steps__intro {
    max-width: 52rem;
    margin-top: 1.75rem;
}

body.page-id-2865 .vs-process-steps__intro,
body.page-id-2865 .vs-process-steps__intro p {
    color: rgba(33, 33, 33, 0.84);

    font-family: var(--vs-font-body);
    font-size: 1.0625rem;
    font-weight: 450;
    line-height: 1.65;
}

body.page-id-2865 .vs-process-steps__intro p {
    margin: 0;
}


/* Etapa individual */

body.page-id-2865 .vs-process-step {
    --width: 100% !important;
    --gap: 0px !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    width: 100% !important;
    max-width: 92rem !important;

    margin: 0 auto;
    padding: 0 !important;
    gap: 0 !important;

    background-color: var(--vs-color-perola);
}

body.page-id-2865 .vs-process-step__media,
body.page-id-2865 .vs-process-step__content {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    flex-basis: auto !important;
}

body.page-id-2865 .vs-process-step__media {
    position: relative;

    min-height: 38rem;

    padding: 0 !important;

    overflow: hidden;
    background-color: var(--vs-color-carbono);
}

body.page-id-2865
.vs-process-step__media
.elementor-widget-image {
    position: absolute;
    inset: 0;
}

body.page-id-2865
.vs-process-step__media
.elementor-widget-image,
body.page-id-2865
.vs-process-step__media
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-2865 .vs-process-step__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
    object-position: center;

    filter:
        saturate(0.94)
        contrast(1.02);
}

body.page-id-2865 .vs-process-step__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    padding:
        clamp(4rem, 6vw, 6.5rem)
        clamp(2.5rem, 5vw, 5.5rem);

    gap: 0 !important;

    background-color: var(--vs-color-perola);
}

body.page-id-2865
.vs-process-step__content
> .elementor-element {
    width: 100%;
    max-width: 37rem;

    margin-block-end: 0 !important;
}

body.page-id-2865
.vs-process-step__number
.elementor-heading-title {
    margin: 0 0 1.75rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-display);
    font-size: clamp(2rem, 2.5vw, 2.75rem);
    font-weight: 400;
    line-height: 1;
}

body.page-id-2865
.vs-process-step__label
.elementor-heading-title {
    margin: 0 0 1rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.page-id-2865
.vs-process-step__title
.elementor-heading-title {
    max-width: 13ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.4rem, 3.4vw, 3.5rem);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-2865 .vs-process-step__text {
    max-width: 35rem;
    margin-top: 1.75rem;
}

body.page-id-2865 .vs-process-step__text,
body.page-id-2865 .vs-process-step__text p {
    color: rgba(33, 33, 33, 0.84);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 450;
    line-height: 1.7;
}

body.page-id-2865 .vs-process-step__text p {
    margin: 0 0 1rem;
}

body.page-id-2865 .vs-process-step__text p:last-child {
    margin-bottom: 0;
}


/* Etapas invertidas no desktop */

@media (min-width: 901px) {

    body.page-id-2865
    .vs-process-step--reverse
    .vs-process-step__media {
        grid-column: 2;
        grid-row: 1;
    }

    body.page-id-2865
    .vs-process-step--reverse
    .vs-process-step__content {
        grid-column: 1;
        grid-row: 1;
    }
}


/* =========================================================
   TECNOLOGIA + OFÍCIO
   ========================================================= */

body.page-id-2865 .vs-process-craft {
    --width: 100% !important;
    --gap: 0px !important;

    display: grid !important;
    grid-template-columns: 52% 48% !important;

    width: 100% !important;
    max-width: none !important;
    min-height: 35rem;

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;

    background-color: var(--vs-color-carbono);
}

body.page-id-2865 .vs-process-craft__media,
body.page-id-2865 .vs-process-craft__content {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    flex-basis: auto !important;
}

body.page-id-2865 .vs-process-craft__media {
    height: 100%;
    min-height: 35rem;

    padding: 0 !important;

    overflow: hidden;
    background-color: var(--vs-color-carbono);
}

body.page-id-2865
.vs-process-craft__media
.elementor-widget-image,
body.page-id-2865
.vs-process-craft__media
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-2865 .vs-process-craft__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;
    min-height: 35rem;

    object-fit: cover;
    object-position: center 45%;
}

body.page-id-2865 .vs-process-craft__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    padding:
        3.5rem
        clamp(3rem, 5vw, 5rem);

    gap: 0 !important;

    background-color: var(--vs-color-carbono);
}

body.page-id-2865
.vs-process-craft__content
> .elementor-element {
    width: 100%;
    max-width: 38rem;

    margin-block-end: 0 !important;
}

body.page-id-2865 .vs-process-craft__eyebrow {
    margin: 0 0 1.375rem;
}

body.page-id-2865
.vs-process-craft__eyebrow
.elementor-heading-title {
    margin: 0;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.page-id-2865 .vs-process-craft__title {
    max-width: 38rem;
    margin: 0 0 1.75rem;
}

body.page-id-2865
.vs-process-craft__title
.elementor-heading-title {
    margin: 0;

    color: var(--vs-color-diamante) !important;

    font-family: var(--vs-font-display) !important;
    font-size: clamp(2.4rem, 3.3vw, 3.7rem);
    font-weight: 400 !important;
    line-height: 1.08 !important;
}

body.page-id-2865 .vs-process-craft__text {
    max-width: 36.25rem;
    margin: 0;

    color: rgba(237, 235, 230, 0.78);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 450;
    line-height: 1.65;
}

body.page-id-2865 .vs-process-craft__text p {
    margin: 0 0 1rem;
}

body.page-id-2865 .vs-process-craft__text p:last-child {
    margin-bottom: 0;
}

body.page-id-2865 .vs-process-craft__statement {
    max-width: 32.5rem;

    margin-top: 1.625rem;
    padding-top: 1.375rem;

    border-top:
        1px solid
        rgba(201, 190, 170, 0.28);
}

body.page-id-2865
.vs-process-craft__statement
.elementor-heading-title {
    margin: 0;

    color: #a19882 !important;

    font-family: var(--vs-font-display) !important;
    font-size: clamp(1.35rem, 1.8vw, 1.7rem);
    font-weight: 400 !important;
    line-height: 1.18 !important;
}


/* =========================================================
   CTA FINAL
   ========================================================= */

body.page-id-2865 .vs-process-cta {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0;
    padding: 4.5rem 1.5rem !important;

    background-color: var(--vs-color-diamante);
}

body.page-id-2865 .vs-process-cta__inner {
    width: 100%;
    max-width: 51.25rem;

    margin: 0 auto;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}

body.page-id-2865 .vs-process-cta__inner > .elementor-element {
    margin-block-end: 0 !important;
}

body.page-id-2865 .vs-process-cta__eyebrow {
    margin: 0 0 1.125rem;
}

body.page-id-2865
.vs-process-cta__eyebrow
.elementor-heading-title {
    margin: 0;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.page-id-2865
.vs-process-cta__title
.elementor-heading-title {
    max-width: 45rem;
    margin: 0 auto;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display) !important;
    font-size: clamp(2.2rem, 3.5vw, 3.6rem);
    font-weight: 400;
    line-height: 1.08;
}

body.page-id-2865 .vs-process-cta__text {
    max-width: 35rem;
    margin: 1.375rem auto 0;

    color: rgba(33, 33, 33, 0.78);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 450;
    line-height: 1.6;
}

body.page-id-2865 .vs-process-cta__text p {
    margin: 0;
}

body.page-id-2865 .vs-process-cta__button {
    margin-top: 1.875rem;
}

body.page-id-2865
.vs-process-cta__button
.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 3.25rem;
    padding: 0.9375rem 1.5rem;

    border: 1px solid var(--vs-color-primary);
    border-radius: 0;

    background-color: var(--vs-color-primary);
    color: var(--vs-color-diamante);

    font-family: var(--vs-font-body);
    font-size: 0.78rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition:
        background-color 250ms ease,
        color 250ms ease;
}

body.page-id-2865
.vs-process-cta__button
.elementor-button:hover {
    background-color: transparent;
    color: var(--vs-color-primary);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1080px) {

    body.page-id-2865 .vs-process-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    body.page-id-2865 .vs-process-hero__media {
        min-height: 34rem;
    }

    body.page-id-2865 .vs-process-hero__content {
        min-height: 34rem;

        padding:
            5rem
            clamp(2rem, 8vw, 5rem);
    }
}

@media (max-width: 900px) {

    body.page-id-2865 .vs-process-steps {
        padding:
            3rem
            clamp(1.5rem, 6vw, 4rem);
    }

    body.page-id-2865 .vs-process-steps__header {
        margin-bottom: 2rem;
    }

    body.page-id-2865 .vs-process-step {
        grid-template-columns: 1fr;
    }

    body.page-id-2865 .vs-process-step__media {
        order: 1;

        min-height: auto;
        aspect-ratio: 4 / 3;
    }

    body.page-id-2865 .vs-process-step__content {
        order: 2;

        padding:
            4.5rem
            clamp(2rem, 7vw, 4rem);
    }

    body.page-id-2865 .vs-process-craft {
        display: flex !important;
        flex-direction: column !important;

        min-height: auto;
    }

    body.page-id-2865 .vs-process-craft__media,
    body.page-id-2865 .vs-process-craft__content {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 100% !important;
    }

    body.page-id-2865 .vs-process-craft__media {
        height: 26.25rem;
        min-height: 26.25rem;
    }

    body.page-id-2865 .vs-process-craft__media img {
        height: 100% !important;
        min-height: 0;

        object-position: center 45%;
    }

    body.page-id-2865 .vs-process-craft__content {
        padding: 2.625rem 2rem;
    }

    body.page-id-2865 .vs-process-cta {
        padding: 3.5rem 2rem !important;
    }

    body.page-id-2865
    .vs-process-cta__title
    .elementor-heading-title {
        font-size: 2.5rem;
    }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-2865 .vs-process-hero__media {
        min-height: 28rem;
    }

    body.page-id-2865 .vs-process-hero__content {
        min-height: auto;
        padding: 4rem 1.5rem;
    }

    body.page-id-2865
    .vs-process-hero__eyebrow
    .elementor-heading-title {
        margin-bottom: 1.5rem;
    }

    body.page-id-2865
    .vs-process-hero__title
    .elementor-heading-title {
        max-width: 11ch;
        font-size: clamp(2.75rem, 13vw, 3.75rem);
    }

    body.page-id-2865 .vs-process-hero__text {
        margin-top: 1.75rem;
    }

    body.page-id-2865 .vs-process-hero__button {
        width: 100% !important;
        margin-top: 2rem;
    }

    body.page-id-2865
    .vs-process-hero__button
    .elementor-button {
        width: 100%;
    }
}

@media (max-width: 600px) {

    body.page-id-2865 .vs-process-steps {
        padding: 2.5rem 1.5rem;
    }

    body.page-id-2865 .vs-process-steps__header {
        margin-bottom: 2rem;
    }

    body.page-id-2865
    .vs-process-steps__title
    .elementor-heading-title {
        font-size: clamp(2.5rem, 11vw, 3.25rem);
    }

    body.page-id-2865 .vs-process-step__media {
        aspect-ratio: 4 / 5;
    }

    body.page-id-2865 .vs-process-step__content {
        padding: 3.5rem 1.5rem;
    }

    body.page-id-2865
    .vs-process-step__title
    .elementor-heading-title {
        font-size: clamp(2.25rem, 10vw, 3rem);
    }

    body.page-id-2865 .vs-process-craft__media {
        height: 21.25rem;
        min-height: 21.25rem;
    }

    body.page-id-2865 .vs-process-craft__content {
        padding: 2.25rem 1.5rem 2.5rem;
    }

    body.page-id-2865 .vs-process-craft__eyebrow {
        margin-bottom: 1rem;
    }

    body.page-id-2865 .vs-process-craft__title {
        max-width: none;
        margin-bottom: 1.375rem;
    }

    body.page-id-2865
    .vs-process-craft__title
    .elementor-heading-title {
        font-size: 2.1rem;
    }

    body.page-id-2865 .vs-process-craft__text {
        max-width: none;
        font-size: 0.96rem;
        line-height: 1.6;
    }

    body.page-id-2865 .vs-process-craft__statement {
        margin-top: 1.375rem;
        padding-top: 1.25rem;
    }

    body.page-id-2865
    .vs-process-craft__statement
    .elementor-heading-title {
        font-size: 1.35rem;
    }

    body.page-id-2865 .vs-process-cta {
        padding: 2.875rem 1.5rem !important;
    }

    body.page-id-2865 .vs-process-cta__eyebrow {
        margin-bottom: 0.875rem;
    }

    body.page-id-2865
    .vs-process-cta__title
    .elementor-heading-title {
        font-size: 2rem;
        line-height: 1.1;
    }

    body.page-id-2865 .vs-process-cta__text {
        margin-top: 1.125rem;
        font-size: 0.95rem;
        line-height: 1.55;
    }

    body.page-id-2865 .vs-process-cta__button {
        width: 100%;
        margin-top: 1.625rem;
    }

    body.page-id-2865
    .vs-process-cta__button
    .elementor-button {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   CORREÇÃO — MENU MOBILE DAS PÁGINAS INTERNAS

   Impede que as regras do cabeçalho desktop/compacto
   sobrescrevam os links dentro do painel off-canvas.
   ========================================================= */

@media (max-width: 1080px) {

    /* Links principais */

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        min-height: 3.5rem !important;
        padding: 1rem 0 !important;

        color: var(--vs-color-carbono) !important;

        font-family: var(--vs-font-display) !important;
        font-size: var(--vs-font-size-lg) !important;
        font-weight: var(--vs-font-weight-regular) !important;
        line-height: var(--vs-line-height-heading) !important;
        letter-spacing: var(--vs-letter-spacing-tight) !important;
        text-transform: none !important;
        white-space: normal !important;
    }


    /* Página atual e hover */

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link:hover,

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .main-header-menu
    > .current-menu-item
    > .menu-link,

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .main-header-menu
    > .current-menu-ancestor
    > .menu-link {
        color: var(--vs-color-primary) !important;
    }


    /* Seta de Joias */

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .ast-menu-toggle {
        color: var(--vs-color-carbono) !important;
    }

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .ast-menu-toggle svg {
        fill: currentColor !important;
    }


    /* Links do submenu */

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link {
        min-height: 2.75rem !important;
        padding: 0.75rem 0 !important;

        color: var(--vs-color-text-muted) !important;

        font-family: var(--vs-font-body) !important;
        font-size: var(--vs-font-size-sm) !important;
        font-weight: var(--vs-font-weight-medium) !important;
        line-height: var(--vs-line-height-ui) !important;
        letter-spacing: var(--vs-letter-spacing-wide) !important;
        text-transform: uppercase !important;
    }

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link:hover,

    body.page:not(.home):not(.single-product)
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .current-menu-item
    > .menu-link {
        color: var(--vs-color-primary) !important;
    }
}

/* =========================================================
   SOBRE A VERSARO — HERO
   Página ID 252
   ========================================================= */

body.page-id-252 .vs-about-hero {
    --width: 100% !important;

    display: grid !important;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, 0.92fr);

    width: 100% !important;
    max-width: none !important;
    min-height:
        calc(
            100svh -
            var(--vs-internal-header-height, 4.25rem)
        );

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;

    background-color: var(--vs-color-diamante);
}


/* Neutraliza larguras herdadas do Elementor */

body.page-id-252 .vs-about-hero__media,
body.page-id-252 .vs-about-hero__content {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    flex-basis: auto !important;
}


/* =========================================================
   IMAGEM
   ========================================================= */

body.page-id-252 .vs-about-hero__media {
    position: relative;

    min-height:
        calc(
            100svh -
            var(--vs-internal-header-height, 4.25rem)
        );

    padding: 0 !important;

    overflow: hidden;
    background-color: var(--vs-color-carbono);
}

body.page-id-252
.vs-about-hero__media
.elementor-widget-image {
    position: absolute;
    inset: 0;
}

body.page-id-252
.vs-about-hero__media
.elementor-widget-image,
body.page-id-252
.vs-about-hero__media
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-252
.vs-about-hero__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
    object-position: center;

    filter:
        saturate(0.94)
        contrast(1.025)
        brightness(0.97);
}


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

body.page-id-252 .vs-about-hero__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    padding:
        clamp(4.5rem, 7vw, 7rem)
        clamp(2.5rem, 6vw, 6.5rem);

    gap: 0 !important;

    background-color: var(--vs-color-diamante);
}

body.page-id-252
.vs-about-hero__content
> .elementor-element {
    width: 100%;
    max-width: 39rem;

    margin-block-end: 0 !important;
}


/* Eyebrow */

body.page-id-252
.vs-about-hero__eyebrow
.elementor-heading-title {
    margin: 0 0 1.75rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.9rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;

    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* Título */

body.page-id-252
.vs-about-hero__title
.elementor-heading-title {
    max-width: 12ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(3rem, 4.4vw, 4.75rem);
    font-weight: 400;
    line-height: 1.02;

    letter-spacing: -0.03em;
    text-wrap: balance;
}


/* Texto */

body.page-id-252 .vs-about-hero__text {
    max-width: 36rem;
    margin-top: 2rem;
}

body.page-id-252 .vs-about-hero__text,
body.page-id-252 .vs-about-hero__text p {
    color: rgba(33, 33, 33, 0.8);

    font-family: var(--vs-font-body);
    font-size: clamp(1rem, 1.05vw, 1.0625rem);
    font-weight: 450;
    line-height: 1.7;
}

body.page-id-252 .vs-about-hero__text p {
    margin: 0 0 1rem;
}

body.page-id-252 .vs-about-hero__text p:last-child {
    margin-bottom: 0;
}


/* Botão */

body.page-id-252 .vs-about-hero__button {
    width: auto !important;
    margin-top: 2.25rem;
}

body.page-id-252
.vs-about-hero__button
.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 3.5rem;
    padding: 1rem 1.6rem;

    border: 1px solid var(--vs-color-primary);
    border-radius: var(--vs-radius-sm);

    background-color: var(--vs-color-primary);
    color: var(--vs-color-diamante);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        color 220ms ease,
        transform 220ms ease;
}

body.page-id-252
.vs-about-hero__button
.elementor-button:hover {
    border-color: var(--vs-color-carbono);
    background-color: var(--vs-color-carbono);
    color: var(--vs-color-diamante);

    transform: translateY(-2px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1080px) {

    body.page-id-252 .vs-about-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    body.page-id-252 .vs-about-hero__media {
        min-height: 35rem;
    }

    body.page-id-252 .vs-about-hero__content {
        min-height: 32rem;

        padding:
            4.5rem
            clamp(2rem, 8vw, 5rem);
    }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-252 .vs-about-hero__media {
        min-height: 28rem;
    }

    body.page-id-252
    .vs-about-hero__media img {
        object-position: center;
    }

    body.page-id-252 .vs-about-hero__content {
        min-height: auto;

        padding:
            3.75rem
            1.5rem;
    }

    body.page-id-252
    .vs-about-hero__eyebrow
    .elementor-heading-title {
        margin-bottom: 1.4rem;
    }

    body.page-id-252
    .vs-about-hero__title
    .elementor-heading-title {
        max-width: 11ch;

        font-size:
            clamp(
                2.7rem,
                12vw,
                3.6rem
            );
    }

    body.page-id-252 .vs-about-hero__text {
        margin-top: 1.65rem;
    }

    body.page-id-252 .vs-about-hero__text,
    body.page-id-252 .vs-about-hero__text p {
        font-size: 1rem;
        line-height: 1.65;
    }

    body.page-id-252 .vs-about-hero__button {
        width: 100% !important;
        margin-top: 2rem;
    }

    body.page-id-252
    .vs-about-hero__button
    .elementor-button {
        width: 100%;
    }
}

/* =========================================================
   SOBRE A VERSARO — NOSSA HISTÓRIA
   Página ID 252
   ========================================================= */

body.page-id-252 .vs-about-story {
    --width: 100% !important;

    display: grid !important;
    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(0, 1.08fr);

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;

    background-color: var(--vs-color-perola);

    scroll-margin-top: 5rem;
}


/* Neutraliza larguras salvas pelo Elementor */

body.page-id-252 .vs-about-story__media,
body.page-id-252 .vs-about-story__content {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    flex-basis: auto !important;
}


/* =========================================================
   POSIÇÃO NO DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    body.page-id-252 .vs-about-story__media {
        grid-column: 2;
        grid-row: 1;
    }

    body.page-id-252 .vs-about-story__content {
        grid-column: 1;
        grid-row: 1;
    }
}


/* =========================================================
   IMAGEM
   ========================================================= */

body.page-id-252 .vs-about-story__media {
    position: relative;

    min-height: 42rem;
    padding: 0 !important;

    overflow: hidden;
    background-color: var(--vs-color-carbono);
}

body.page-id-252
.vs-about-story__media
.elementor-widget-image {
    position: absolute;
    inset: 0;
}

body.page-id-252
.vs-about-story__media
.elementor-widget-image,
body.page-id-252
.vs-about-story__media
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-252
.vs-about-story__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
    object-position: center;

    filter:
        saturate(0.92)
        contrast(1.035);
}


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

body.page-id-252 .vs-about-story__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    padding:
        clamp(4.5rem, 7vw, 7rem)
        clamp(2.5rem, 6vw, 6.5rem);

    gap: 0 !important;

    background-color: var(--vs-color-perola);
}

body.page-id-252
.vs-about-story__content
> .elementor-element {
    width: 100%;
    max-width: 38rem;

    margin-block-end: 0 !important;
}


/* Eyebrow */

body.page-id-252
.vs-about-story__eyebrow
.elementor-heading-title {
    margin: 0 0 1.5rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}


/* Título */

body.page-id-252
.vs-about-story__title
.elementor-heading-title {
    max-width: 14ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 3.8vw, 4rem);
    font-weight: 400;
    line-height: 1.06;

    letter-spacing: -0.025em;
    text-wrap: balance;
}


/* Texto */

body.page-id-252 .vs-about-story__text {
    max-width: 36rem;
    margin-top: 2rem;
}

body.page-id-252 .vs-about-story__text,
body.page-id-252 .vs-about-story__text p {
    color: rgba(33, 33, 33, 0.82);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 450;
    line-height: 1.72;
}

body.page-id-252 .vs-about-story__text p {
    margin: 0 0 1rem;
}

body.page-id-252 .vs-about-story__text p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.page-id-252 .vs-about-story {
        grid-template-columns: 1fr;
    }

    body.page-id-252 .vs-about-story__media {
        min-height: auto;
        aspect-ratio: 4 / 3;
    }

    body.page-id-252 .vs-about-story__content {
        padding:
            4.5rem
            clamp(2rem, 8vw, 5rem);
    }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 600px) {

    body.page-id-252 .vs-about-story {
        scroll-margin-top: 4.25rem;
    }

    body.page-id-252 .vs-about-story__media {
        aspect-ratio: 4 / 5;
    }

    body.page-id-252 .vs-about-story__content {
        padding:
            3.75rem
            1.5rem;
    }

    
    body.page-id-252 .vs-about-story__text {
        margin-top: 1.65rem;
    }

    
}

/* =========================================================
   SOBRE A VERSARO — IMAGEM STICKY NA HISTÓRIA
   Apenas desktop
   ========================================================= */

@media (min-width: 901px) {

    body.page-id-252 .vs-about-story {
        align-items: start;
    }

    body.page-id-252 .vs-about-story__media {
        position: sticky;
        top: var(--vs-internal-header-height, 4.25rem);

        height:
            calc(
                100svh -
                var(--vs-internal-header-height, 4.25rem)
            );

        min-height: 38rem;
        align-self: start;
    }
}

/* =========================================================
   SOBRE A VERSARO — STATEMENT FINAL
   ========================================================= */

body.page-id-252 .vs-about-story__statement {
    width: 100%;
    max-width: 35rem;

    margin-top: 2.75rem;
    padding:
        1.75rem
        0
        0
        1.5rem;

    border-top: 0;
    border-left:
        2px solid
        var(--vs-color-canela);
}


/* Primeira frase */

body.page-id-252
.vs-about-story__statement-intro {
    margin: 0;

    color: rgba(33, 33, 33, 0.68);

    font-family: var(--vs-font-display);
    font-size: clamp(1.5rem, 1.35vw, 1.35rem);
    font-weight: 400;
    line-height: 1.35;
}


/* Frase principal */

body.page-id-252
.vs-about-story__statement-main {
    max-width: 19ch;

    margin:
        0.65rem
        0
        0;

    color: var(--vs-color-chama);

    font-family: var(--vs-font-display);
    font-size: clamp(2rem, 2.35vw, 2.45rem);
    font-weight: 400;
    line-height: 1.12;

    letter-spacing: -0.02em;
    text-wrap: balance;
}


/* Celular */

@media (max-width: 600px) {

    body.page-id-252 .vs-about-story__statement {
        margin-top: 2.25rem;
        padding:
            1.5rem
            0
            0
            1.1rem;
    }

    body.page-id-252
    .vs-about-story__statement-intro {
        font-size: 1.1rem;
    }

    body.page-id-252
    .vs-about-story__statement-main {
        max-width: none;
        font-size: 1.85rem;
        line-height: 1.14;
    }
}

/* =========================================================
   SOBRE A VERSARO — QUEM FAZ A VERSARO
   Página ID 252
   ========================================================= */

body.page-id-252 .vs-about-people {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    padding:
        clamp(4.5rem, 6vw, 6rem)
        clamp(1.5rem, 6vw, 6rem);

    background-color: var(--vs-color-carbono);
}


/* =========================================================
   CABEÇALHO
   ========================================================= */

body.page-id-252 .vs-about-people__header {
    width: 100% !important;
    max-width: 82rem !important;

    margin:
        0 auto
        clamp(3rem, 4vw, 4rem);

    gap: 0 !important;
}

body.page-id-252
.vs-about-people__header
> .elementor-element {
    width: 100%;
    margin-block-end: 0 !important;
}

body.page-id-252
.vs-about-people__eyebrow
.elementor-heading-title {
    margin: 0 0 1.35rem;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.page-id-252
.vs-about-people__title
.elementor-heading-title {
    max-width: 18ch;
    margin: 0;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 4vw, 4rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-252 .vs-about-people__intro {
    max-width: 49rem;
    margin-top: 1.5rem;
}

body.page-id-252 .vs-about-people__intro,
body.page-id-252 .vs-about-people__intro p {
    color: rgba(237, 235, 230, 0.72);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
}

body.page-id-252 .vs-about-people__intro p {
    margin: 0;
}


/* =========================================================
   GRADE
   ========================================================= */

body.page-id-252 .vs-about-people__grid {
    --width: 100% !important;

    display: grid !important;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    width: 100% !important;
    max-width: 82rem !important;

    margin: 0 auto;
    padding: 0 !important;
    gap: clamp(2rem, 4vw, 4rem) !important;
}

body.page-id-252 .vs-about-person {
    --width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    padding: 0 !important;
    gap: 0 !important;
}

body.page-id-252
.vs-about-person
> .elementor-element {
    width: 100%;
    margin-block-end: 0 !important;
}


/* =========================================================
   IMAGENS
   ========================================================= */

body.page-id-252 .vs-about-person__media {
    width: 100%;
    aspect-ratio: 4 / 5;

    overflow: hidden;
    background-color: rgba(237, 235, 230, 0.08);
}

body.page-id-252
.vs-about-person__media
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-252
.vs-about-person__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;
    object-position: center;

    filter:
        saturate(0.9)
        contrast(1.03);

    transition:
        transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.page-id-252
.vs-about-person:hover
.vs-about-person__media img {
    transform: scale(1.02);
}


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

body.page-id-252
.vs-about-person__role
.elementor-heading-title {
    margin: 1.5rem 0 0;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

body.page-id-252
.vs-about-person__name
.elementor-heading-title {
    margin: 0.5rem 0 0;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size: clamp(2rem, 2.8vw, 2.75rem);
    font-weight: 400;
    line-height: 1;
}

body.page-id-252
.vs-about-person__title
.elementor-heading-title {
    max-width: 20ch;
    margin: 1rem 0 0;

    color: var(--vs-color-perola);

    font-family: var(--vs-font-display);
    font-size: clamp(1.45rem, 1.8vw, 1.8rem);
    font-weight: 400;
    line-height: 1.2;
}

body.page-id-252 .vs-about-person__text {
    max-width: 34rem;
    margin-top: 1rem;
}

body.page-id-252 .vs-about-person__text,
body.page-id-252 .vs-about-person__text p {
    color: rgba(237, 235, 230, 0.68);

    font-family: var(--vs-font-body);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.7;
}

body.page-id-252 .vs-about-person__text p {
    margin: 0;
}


/* =========================================================
   TABLET E CELULAR
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-252 .vs-about-people {
        padding:
            4rem
            1.5rem;
    }

    body.page-id-252 .vs-about-people__header {
        margin-bottom: 3rem;
    }

    body.page-id-252
    .vs-about-people__title
    .elementor-heading-title {
        font-size: clamp(2.5rem, 11vw, 3.25rem);
    }

    body.page-id-252 .vs-about-people__grid {
        grid-template-columns: 1fr;
        gap: 3.5rem !important;
    }

    body.page-id-252 .vs-about-person__media {
        aspect-ratio: 4 / 5;
    }

    body.page-id-252
    .vs-about-person__name
    .elementor-heading-title {
        font-size: 2.25rem;
    }
}

/* =========================================================
   SOBRE A VERSARO — O ATELIÊ
   Página ID 252
   ========================================================= */

body.page-id-252 .vs-about-atelier {
    --width: 100% !important;

    display: grid !important;
    grid-template-columns:
        minmax(20rem, 0.78fr)
        minmax(0, 1.22fr);

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding:
        clamp(4.5rem, 6vw, 6rem)
        clamp(1.5rem, 5vw, 5rem);

    gap: clamp(3rem, 5vw, 6rem) !important;

    background-color: var(--vs-color-diamante);
}


/* Neutraliza Elementor */

body.page-id-252 .vs-about-atelier__content,
body.page-id-252 .vs-about-atelier__gallery {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/* =========================================================
   TEXTO
   ========================================================= */

body.page-id-252 .vs-about-atelier__content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    gap: 0 !important;
}

body.page-id-252
.vs-about-atelier__content
> .elementor-element {
    width: 100%;
    max-width: 36rem;

    margin-block-end: 0 !important;
}

body.page-id-252
.vs-about-atelier__eyebrow
.elementor-heading-title {
    margin: 0 0 1.4rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.page-id-252
.vs-about-atelier__title
.elementor-heading-title {
    max-width: 13ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 3.8vw, 4rem);
    font-weight: 400;
    line-height: 1.05;

    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.page-id-252 .vs-about-atelier__text {
    max-width: 34rem;
    margin-top: 1.8rem;
}

body.page-id-252 .vs-about-atelier__text,
body.page-id-252 .vs-about-atelier__text p {
    color: rgba(33, 33, 33, 0.8);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.72;
}

body.page-id-252 .vs-about-atelier__text p {
    margin: 0 0 1rem;
}

body.page-id-252 .vs-about-atelier__text p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   GALERIA EDITORIAL
   ========================================================= */

body.page-id-252 .vs-about-atelier__gallery {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(0, 0.75fr);

    grid-template-rows:
        repeat(2, minmax(0, 1fr));

    min-height: 40rem;

    gap: 0.75rem !important;
}

body.page-id-252
.vs-about-atelier__gallery
.elementor-widget-image {
    width: 100%;
    height: 100%;

    margin: 0 !important;

    overflow: hidden;
    background-color: var(--vs-color-perola);
}

body.page-id-252
.vs-about-atelier__gallery
.elementor-widget-container {
    width: 100%;
    height: 100%;
}

body.page-id-252
.vs-about-atelier__gallery img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;

    transition:
        transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.page-id-252
.vs-about-atelier__gallery
.elementor-widget-image:hover img {
    transform: scale(1.025);
}


/* Foto principal */

body.page-id-252 .vs-about-atelier__image--main {
    grid-column: 1;
    grid-row: 1 / 3;
}


/* Fotos menores */

body.page-id-252 .vs-about-atelier__image--top {
    grid-column: 2;
    grid-row: 1;
}

body.page-id-252 .vs-about-atelier__image--bottom {
    grid-column: 2;
    grid-row: 2;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.page-id-252 .vs-about-atelier {
        grid-template-columns: 1fr;

        gap: 3rem !important;

        padding:
            4.5rem
            clamp(2rem, 7vw, 4rem);
    }

    body.page-id-252 .vs-about-atelier__gallery {
        min-height: 34rem;
    }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 600px) {

    body.page-id-252 .vs-about-atelier {
        padding:
            4rem
            1.5rem;

        gap: 2.5rem !important;
    }

    body.page-id-252
    .vs-about-atelier__title
    .elementor-heading-title {
        font-size: clamp(2.4rem, 10.5vw, 3.1rem);
    }

    body.page-id-252 .vs-about-atelier__gallery {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        grid-template-rows:
            auto auto;

        min-height: 0;
        gap: 0.5rem !important;
    }

    body.page-id-252 .vs-about-atelier__image--main {
        grid-column: 1 / -1;
        grid-row: 1;

        aspect-ratio: 4 / 3;
    }

    body.page-id-252 .vs-about-atelier__image--top {
        grid-column: 1;
        grid-row: 2;

        aspect-ratio: 1 / 1;
    }

    body.page-id-252 .vs-about-atelier__image--bottom {
        grid-column: 2;
        grid-row: 2;

        aspect-ratio: 1 / 1;
    }
}

/* =========================================================
   SOBRE A VERSARO — PRINCÍPIOS
   Página ID 252
   ========================================================= */

body.page-id-252 .vs-about-principles {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    padding:
        clamp(4.5rem, 6vw, 6rem)
        clamp(1.5rem, 6vw, 6rem);

    background-color: var(--vs-color-perola);
}


/* Cabeçalho */

body.page-id-252 .vs-about-principles__header {
    width: 100% !important;
    max-width: 82rem !important;

    margin:
        0 auto
        clamp(2rem, 2.5vw, 2.75rem);

    gap: 0 !important;
}

body.page-id-252
.vs-about-principles__header
> .elementor-element {
    width: 100%;
    margin-block-end: 0 !important;
}

body.page-id-252
.vs-about-principles__eyebrow
.elementor-heading-title {
    margin: 0 0 1.4rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.page-id-252
.vs-about-principles__title
.elementor-heading-title {
    max-width: 16ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 4vw, 4rem);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -0.025em;
}

body.page-id-252 .vs-about-principles__intro {
    max-width: 44rem;
    margin-top: 1.5rem;
}

body.page-id-252 .vs-about-principles__intro,
body.page-id-252 .vs-about-principles__intro p {
    color: rgba(33, 33, 33, 0.76);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    line-height: 1.7;
}

body.page-id-252 .vs-about-principles__intro p {
    margin: 0;
}


/* Grade */

body.page-id-252 .vs-about-principles__grid {
    --width: 100% !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    width: 100% !important;
    max-width: 82rem !important;

    margin: 0 auto;
    padding: 0 !important;

    gap: clamp(2rem, 4vw, 4rem) !important;
}

body.page-id-252 .vs-about-principle {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    padding: 2rem 0 0 !important;

    border-top: 1px solid rgba(33, 33, 33, 0.2);

    gap: 0 !important;
}

body.page-id-252
.vs-about-principle
> .elementor-element {
    width: 100%;
    margin-block-end: 0 !important;
}


/* Número */

body.page-id-252
.vs-about-principle__number
.elementor-heading-title {
    margin: 0 0 1.75rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-display);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
}


/* Título */

body.page-id-252
.vs-about-principle__title
.elementor-heading-title {
    max-width: 14ch;
    margin: 0;

    color: var(--vs-color-primary);

    font-family: var(--vs-font-display);
    font-size: clamp(1.7rem, 2vw, 2.15rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.02em;
}


/* Texto */

body.page-id-252 .vs-about-principle__text {
    max-width: 25rem;
    margin-top: 1rem;
}

body.page-id-252 .vs-about-principle__text,
body.page-id-252 .vs-about-principle__text p {
    color: rgba(33, 33, 33, 0.74);

    font-family: var(--vs-font-body);
    font-size: 0.9375rem;
    line-height: 1.7;
}

body.page-id-252 .vs-about-principle__text p {
    margin: 0;
}


/* Tablet */

@media (max-width: 900px) {

    body.page-id-252 .vs-about-principles__grid {
        grid-template-columns: 1fr;
        gap: 2.5rem !important;
    }

    body.page-id-252 .vs-about-principle {
        padding-top: 1.75rem !important;
    }
}


/* Celular */

@media (max-width: 600px) {

    body.page-id-252 .vs-about-principles {
        padding:
            4rem
            1.5rem;
    }

    body.page-id-252
    .vs-about-principles__title
    .elementor-heading-title {
        font-size: clamp(2.4rem, 10.5vw, 3.1rem);
    }

    body.page-id-252 .vs-about-principles__header {
        margin-bottom: 3rem;
    }

    body.page-id-252
    .vs-about-principle__title
    .elementor-heading-title {
        font-size: 1.9rem;
    }
}

/* =========================================================
   SOBRE A VERSARO — CTA FINAL
   Página ID 252
   ========================================================= */

body.page-id-252 .vs-about-cta {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding:
        clamp(5rem, 7vw, 7rem)
        clamp(1.5rem, 6vw, 6rem) !important;

    background-color: var(--vs-color-carbono);
}


/* Conteúdo */

body.page-id-252 .vs-about-cta__inner {
    width: 100% !important;
    max-width: 54rem !important;

    margin: 0 auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    text-align: center;

    gap: 0 !important;
}

body.page-id-252
.vs-about-cta__inner
> .elementor-element {
    width: 100%;
    margin-block-end: 0 !important;
}


/* Eyebrow */

body.page-id-252
.vs-about-cta__eyebrow
.elementor-heading-title {
    margin: 0 0 1.5rem;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.3;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}


/* Título */

body.page-id-252
.vs-about-cta__title
.elementor-heading-title {
    max-width: 15ch;
    margin: 0 auto;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size: clamp(2.75rem, 4.5vw, 4.5rem);
    font-weight: 400;
    line-height: 1.04;

    letter-spacing: -0.03em;
    text-wrap: balance;
}


/* Texto */

body.page-id-252 .vs-about-cta__text {
    max-width: 39rem;

    margin:
        1.75rem
        auto
        0;
}

body.page-id-252 .vs-about-cta__text,
body.page-id-252 .vs-about-cta__text p {
    color: rgba(237, 235, 230, 0.72);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
}

body.page-id-252 .vs-about-cta__text p {
    margin: 0 0 0.75rem;
}

body.page-id-252 .vs-about-cta__text p:last-child {
    margin-bottom: 0;
}


/* Botão */

body.page-id-252 .vs-about-cta__button {
    width: auto !important;
    margin-top: 2.25rem;
}

body.page-id-252
.vs-about-cta__button
.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 3.5rem;
    padding: 1rem 1.7rem;

    border:
        1px solid
        var(--vs-color-diamante);

    border-radius: var(--vs-radius-sm);

    background-color: var(--vs-color-diamante);
    color: var(--vs-color-primary);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;

    letter-spacing: 0.08em;
    text-transform: uppercase;

    transition:
        background-color 220ms ease,
        border-color 220ms ease,
        color 220ms ease,
        transform 220ms ease;
}

body.page-id-252
.vs-about-cta__button
.elementor-button:hover {
    border-color: var(--vs-color-areia);
    background-color: transparent;
    color: var(--vs-color-areia);

    transform: translateY(-2px);
}


/* =========================================================
   CELULAR
   ========================================================= */

@media (max-width: 600px) {

    body.page-id-252 .vs-about-cta {
        padding:
            4.5rem
            1.5rem !important;
    }

    body.page-id-252
    .vs-about-cta__title
    .elementor-heading-title {
        font-size:
            clamp(
                2.4rem,
                11vw,
                3.15rem
            );
    }

    body.page-id-252 .vs-about-cta__text {
        margin-top: 1.5rem;
    }

    body.page-id-252 .vs-about-cta__button {
        width: 100% !important;
        margin-top: 2rem;
    }

    body.page-id-252
    .vs-about-cta__button
    .elementor-button {
        width: 100%;
    }
}

body.page-id-252 .vs-about-cta__button {
    width: auto !important;
    margin: 2.25rem auto 0 !important;
    align-self: center !important;
}

body.page-id-252
.vs-about-cta__button
.elementor-widget-container {
    text-align: center !important;
}

/* =========================================================
   HEADER VERSARO — IDENTIDADE CHAMA
   ========================================================= */

/* Header principal — todas as páginas, exceto produto */

body:not(.single-product) #masthead {
    background-color: #6e341f !important;
}


/* Remove o antigo degradê Carbono do desktop */

@media (min-width: 1081px) {

    body:not(.single-product)
    .ast-primary-header-bar {
        background: transparent !important;
    }
}


/* Home transparente no topo */

body.home:not(.single-product) #masthead {
    background-color: transparent !important;
}


/* Home vira Chama após rolar */

body.home.vs-header-scrolled:not(.single-product) #masthead {
    background-color: rgba(110, 52, 31, 0.98) !important;
}


/* Páginas internas */

body.page:not(.home):not(.single-product) #masthead {
    background-color: rgba(110, 52, 31, 0.98) !important;
}


/* Links principais */

body:not(.single-product)
.main-header-menu
> .menu-item
> .menu-link {
    color: var(--vs-color-diamante) !important;
}

body:not(.single-product)
.main-header-menu
> .menu-item:hover
> .menu-link,

body:not(.single-product)
.main-header-menu
> .current-menu-item
> .menu-link,

body:not(.single-product)
.main-header-menu
> .current-menu-ancestor
> .menu-link {
    color: var(--vs-color-areia) !important;
}


/* CTA desktop */

@media (min-width: 1081px) {

    body:not(.single-product)
    .ast-header-button-1
    .ast-custom-button {
        border-color: var(--vs-color-diamante) !important;

        background-color: var(--vs-color-diamante) !important;
        color: var(--vs-color-chama) !important;
    }

    body:not(.single-product)
    .ast-header-button-1
    .ast-custom-button:hover {
        border-color: var(--vs-color-areia) !important;

        background-color: var(--vs-color-areia) !important;
        color: var(--vs-color-chama) !important;
    }
}

/* =========================================================
   JOIAS — ABERTURA EDITORIAL
   Página ID 2809
   ========================================================= */

body.page-id-2809 .vs-shop-hero {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding:
        clamp(2.5rem, 4vw, 3.75rem)
        clamp(1.5rem, 6vw, 6rem)
        clamp(2.25rem, 3.5vw, 3.25rem) !important;

    background-color: var(--vs-color-diamante);

    border-bottom:
        1px solid
        rgba(33, 33, 33, 0.10);
}


/* =========================================================
   ESTRUTURA
   ========================================================= */

body.page-id-2809 .vs-shop-hero__inner {
    --width: 100% !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(22rem, 1.1fr);

    grid-template-areas:
        "eyebrow text"
        "title   text";

    align-items: end !important;

    width: 100% !important;
    max-width: 82rem !important;

    margin: 0 auto !important;
    padding: 0 !important;

    column-gap: clamp(3rem, 7vw, 7rem) !important;
    row-gap: 0 !important;
}


/* Neutraliza larguras do Elementor */

body.page-id-2809
.vs-shop-hero__inner
> .elementor-element {
    width: 100% !important;
    max-width: none !important;

    margin-block-end: 0 !important;
}


/* =========================================================
   EYEBROW
   ========================================================= */

body.page-id-2809 .vs-shop-hero__eyebrow {
    grid-area: eyebrow;
}

body.page-id-2809
.vs-shop-hero__eyebrow
.elementor-heading-title {
    margin: 0 0 0.9rem;

    color: var(--vs-color-canela);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1.2;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}


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

body.page-id-2809 .vs-shop-hero__title {
    grid-area: title;
}

body.page-id-2809
.vs-shop-hero__title
.elementor-heading-title {
    max-width: 11ch;

    margin: 0;

    color: var(--vs-color-chama);

    font-family: var(--vs-font-display);
    font-size:
        clamp(
            2.5rem,
            3.65vw,
            4rem
        );

    font-weight: var(--vs-font-weight-regular);
    line-height: 1.02;

    letter-spacing: -0.03em;
    text-wrap: balance;
}


/* =========================================================
   TEXTO
   ========================================================= */

body.page-id-2809 .vs-shop-hero__text {
    grid-area: text;

    max-width: 38rem;

    padding-bottom: 0.25rem;
}

body.page-id-2809 .vs-shop-hero__text,
body.page-id-2809 .vs-shop-hero__text p {
    margin: 0;

    color: var(--vs-color-text-muted);

    font-family: var(--vs-font-body);
    font-size: 0.9375rem;
    font-weight: var(--vs-font-weight-regular);
    line-height: 1.72;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-2809 .vs-shop-hero {
        padding:
            2.75rem
            1.5rem
            2.5rem !important;
    }

    body.page-id-2809 .vs-shop-hero__inner {
        grid-template-columns: 1fr;

        grid-template-areas:
            "eyebrow"
            "title"
            "text";

        gap: 0 !important;
    }

    body.page-id-2809
    .vs-shop-hero__title
    .elementor-heading-title {
        max-width: 10ch;

        font-size:
            clamp(
                2.4rem,
                11vw,
                3.2rem
            );
    }

    body.page-id-2809 .vs-shop-hero__text {
        max-width: 33rem;

        margin-top: 1.5rem;
        padding-bottom: 0;
    }
}

/* =========================================================
   JOIAS — CATEGORIAS + FILTRO
   Página ID 2809
   ========================================================= */

body.page-id-2809 .vs-shop-tools {
    --width: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    max-width: 82rem !important;

    margin: 0 auto !important;
    padding:
        2rem
        0 !important;

    gap: 2rem !important;

    border-bottom:
        1px solid
        rgba(33, 33, 33, 0.14);

    background-color: transparent;
}


/* =========================================================
   CATEGORIAS
   ========================================================= */

body.page-id-2809 .vs-shop-categories {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 0.4rem;
}

body.page-id-2809
.vs-shop-categories a {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 2.75rem;
    padding:
        0.75rem
        1rem;

    color: rgba(33, 33, 33, 0.62);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;

    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color 180ms ease,
        background-color 180ms ease;
}

body.page-id-2809
.vs-shop-categories a:hover {
    color: var(--vs-color-primary);
}

body.page-id-2809
.vs-shop-categories a.is-active {
    background-color: var(--vs-color-perola);
    color: var(--vs-color-primary);
}


/* =========================================================
   JOIAS — FILTRO DE PREÇO VERSARO
   Página ID 2809
   ========================================================= */

body.page-id-2809 .vs-price-filter {
    display: flex;
    align-items: center;

    gap: 1.25rem;

    width: max-content;
}


/* Label */

body.page-id-2809
.vs-price-filter__label {
    color: rgba(33, 33, 33, 0.48);

    font-family: var(--vs-font-body);
    font-size: 0.625rem;
    font-weight: var(--vs-font-weight-semibold);

    line-height: 1;

    letter-spacing: 0.14em;
    text-transform: uppercase;

    white-space: nowrap;
}


/* =========================================================
   DROPDOWN
   ========================================================= */

body.page-id-2809 .vs-price-dropdown {
    position: relative;

    width: 15rem;
}


/* Botão fechado */

body.page-id-2809
.vs-price-dropdown__toggle {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    min-height: 3rem;

    padding:
        0
        0.35rem
        0
        0;

    border: 0;
    border-bottom:
        1px solid
        rgba(110, 52, 31, 0.42);

    border-radius: 0;

    background: transparent;

    color: var(--vs-color-carbono);

    font-family: var(--vs-font-body);
    font-size: 0.875rem;
    font-weight: var(--vs-font-weight-medium);

    text-align: left;

    cursor: pointer;

    transition:
        border-color 180ms ease,
        color 180ms ease;
}

body.page-id-2809
.vs-price-dropdown__toggle:hover {
    border-bottom-color:
        var(--vs-color-chama);
}


/* Seta */

body.page-id-2809
.vs-price-dropdown__arrow {
    width: 0.5rem;
    height: 0.5rem;

    margin-left: 1rem;

    border-right:
        1px solid
        var(--vs-color-canela);

    border-bottom:
        1px solid
        var(--vs-color-canela);

    transform:
        translateY(-0.15rem)
        rotate(45deg);

    transition:
        transform 180ms ease;
}

body.page-id-2809
.vs-price-dropdown.is-open
.vs-price-dropdown__arrow {
    transform:
        translateY(0.15rem)
        rotate(225deg);
}


/* =========================================================
   MENU ABERTO
   ========================================================= */

body.page-id-2809
.vs-price-dropdown__menu {
    position: absolute;

    top: calc(100% + 0.65rem);
    left: 0;

    z-index: 50;

    display: grid;

    width: 100%;

    padding:
        0.45rem;

    border:
        1px solid
        rgba(110, 52, 31, 0.14);

    background-color:
        var(--vs-color-diamante);

    box-shadow:
        0 1.25rem 3rem
        rgba(33, 33, 33, 0.12);

    opacity: 0;
    visibility: hidden;

    transform:
        translateY(-0.35rem);

    transition:
        opacity 160ms ease,
        transform 160ms ease,
        visibility 160ms ease;
}

body.page-id-2809
.vs-price-dropdown.is-open
.vs-price-dropdown__menu {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}


/* Opções */

body.page-id-2809
.vs-price-dropdown__menu button {
    width: 100%;

    padding:
        0.85rem
        0.9rem;

    border: 0;

    background: transparent;

    color:
        rgba(33, 33, 33, 0.76);

    font-family: var(--vs-font-body);
    font-size: 0.8125rem;
    font-weight: var(--vs-font-weight-regular);

    line-height: 1.3;

    text-align: left;

    cursor: pointer;

    transition:
        background-color 160ms ease,
        color 160ms ease;
}


/* Hover */

body.page-id-2809
.vs-price-dropdown__menu button:hover {
    background-color:
        var(--vs-color-perola);

    color:
        var(--vs-color-chama);
}


/* Opção ativa */

body.page-id-2809
.vs-price-dropdown__menu
button.is-active {
    background-color:
        rgba(201, 190, 170, 0.55);

    color:
        var(--vs-color-chama);

    font-weight:
        var(--vs-font-weight-semibold);
}


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

@media (max-width: 600px) {

    body.page-id-2809 .vs-price-filter {
        justify-content: space-between;

        width: 100%;
    }

    body.page-id-2809 .vs-price-dropdown {
        width: min(14rem, 62vw);
    }

    body.page-id-2809
    .vs-price-dropdown__menu {
        right: 0;
        left: auto;
    }
}

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

@media (max-width: 900px) {

    body.page-id-2809
    .vs-shop-price-filter {
        width: 100%;

        justify-content: space-between;
    }

    body.page-id-2809
    .vs-shop-price-filter__select {
        min-width: 10rem;
    }
}


/* =========================================================
   TABLET / CELULAR
   ========================================================= */

@media (max-width: 900px) {

    body.page-id-2809 .vs-shop-tools {
        flex-direction: column !important;
        align-items: stretch !important;

        gap: 1.25rem !important;

        padding:
            1.5rem
            0 !important;
    }

    body.page-id-2809 .vs-shop-categories {
        flex-wrap: nowrap;

        width: 100%;

        overflow-x: auto;
        scrollbar-width: none;

        padding-bottom: 0.25rem;
    }

    body.page-id-2809
    .vs-shop-categories::-webkit-scrollbar {
        display: none;
    }

    body.page-id-2809
    .vs-shop-categories a {
        flex: 0 0 auto;
    }

    body.page-id-2809 .loja-filtros {
        width: 100%;
    }

    body.page-id-2809
    .loja-filtros select {
        flex: 1;
        width: 100%;
    }
}
/* =========================================================
   JOIAS — OFFSET DO CATÁLOGO PARA HEADER FIXO
   ========================================================= */

body.page-id-2809 #catalogo {
    scroll-margin-top: 7.5rem;
}

/* =========================================================
   JOIAS — GRADE EDITORIAL
   Página ID 2809
   ========================================================= */


/* GRADE */

body.page-id-2809 ul.products {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    width: 100% !important;
    max-width: 76rem !important;

    margin:
        3rem auto 0 !important;

    padding: 0 !important;

    gap:
        4.5rem
        2rem !important;

    list-style: none !important;
}


/* Remove pseudo-elementos do Woo/Astra */

body.page-id-2809 ul.products::before,
body.page-id-2809 ul.products::after {
    display: none !important;
}


/* =========================================================
   PRODUTO
   ========================================================= */

body.page-id-2809 ul.products li.product {
    float: none !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;

    text-align: left !important;

    transform: none !important;
}


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

body.page-id-2809
ul.products
li.product
.astra-shop-thumbnail-wrap {
    width: 100% !important;

    aspect-ratio: 3 / 4;

    overflow: hidden;

    background-color: var(--vs-color-diamante);
}


body.page-id-2809
ul.products
li.product
.astra-shop-thumbnail-wrap
a {
    display: block;

    width: 100%;
    height: 100%;
}


body.page-id-2809
ul.products
li.product
.astra-shop-thumbnail-wrap
img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    object-fit: cover;

    transition:
        transform
        650ms
        cubic-bezier(0.22, 1, 0.36, 1);
}


body.page-id-2809
ul.products
li.product:hover
.astra-shop-thumbnail-wrap
img {
    transform: scale(1.025);
}


/* =========================================================
   INFORMAÇÕES
   ========================================================= */

body.page-id-2809
ul.products
li.product
.astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;

    padding: 1.15rem 0 0 !important;

    text-align: left !important;
}


/* Categoria */

body.page-id-2809
ul.products
li.product
.ast-woo-product-category {
    order: 1;

    margin: 0 0 0.5rem !important;

    color: var(--vs-color-canela) !important;

    font-family: var(--vs-font-body) !important;
    font-size: 0.625rem !important;
    font-weight: var(--vs-font-weight-semibold) !important;

    line-height: 1.2;

    letter-spacing: 0.14em;
    text-transform: uppercase;
}


/* Link do título */

body.page-id-2809
ul.products
li.product
.ast-loop-product__link {
    order: 2;

    width: 100%;

    text-decoration: none !important;
}


/* Título */

body.page-id-2809
ul.products
li.product
.woocommerce-loop-product__title {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--vs-color-carbono) !important;

    font-family: var(--vs-font-display) !important;

    font-size:
        clamp(
            1.3rem,
            1.5vw,
            1.6rem
        ) !important;

    font-weight: 400 !important;

    line-height: 1.16 !important;

    letter-spacing: -0.015em;
}


/* Preço */

body.page-id-2809
ul.products
li.product
.price {
    order: 3;

    margin: 0.7rem 0 0 !important;

    color: rgba(33, 33, 33, 0.67) !important;

    font-family: var(--vs-font-body) !important;

    font-size: 0.85rem !important;
    font-weight: var(--vs-font-weight-medium) !important;

    line-height: 1.4;
}


body.page-id-2809
ul.products
li.product
.price
.woocommerce-Price-amount {
    color: inherit !important;
}


/* Linha final */




/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.page-id-2809 ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            3.5rem
            1.25rem !important;
    }

}


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

@media (max-width: 600px) {

    body.page-id-2809 ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        margin-top: 2.5rem !important;

        gap:
            2.75rem
            0.75rem !important;
    }


    body.page-id-2809
    ul.products
    li.product
    .woocommerce-loop-product__title {
        font-size: 1.08rem !important;
    }


    body.page-id-2809
    ul.products
    li.product
    .price {
        font-size: 0.75rem !important;
    }

}

/* =========================================================
   JOIAS — INTERVENÇÃO EDITORIAL
   Página ID 2809
   ========================================================= */

body.page-id-2809
ul.products
.vs-shop-manifesto {
    grid-column: 1 / -1 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none;

    background-color: var(--vs-color-chama);

    overflow: hidden;
}


/* =========================================================
   ESTRUTURA
   ========================================================= */

body.page-id-2809
.vs-shop-manifesto__inner {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(20rem, 0.95fr);

    align-items: end;

    min-height: 25rem;

    padding:
        clamp(3.5rem, 6vw, 6rem)
        clamp(2.5rem, 6vw, 6rem);

    gap:
        clamp(3rem, 7vw, 7rem);
}


/* =========================================================
   LADO ESQUERDO
   ========================================================= */

body.page-id-2809
.vs-shop-manifesto__heading {
    align-self: end;
}


body.page-id-2809
.vs-shop-manifesto__eyebrow {
    display: block;

    margin-bottom: 1.25rem;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;

    letter-spacing: 0.15em;
    text-transform: uppercase;
}


body.page-id-2809
.vs-shop-manifesto__title {
    max-width: 11ch;

    margin: 0;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size:
        clamp(
            2.75rem,
            4.2vw,
            4.5rem
        );

    font-weight: var(--vs-font-weight-regular);
    line-height: 1.02;

    letter-spacing: -0.035em;

    text-wrap: balance;
}


/* =========================================================
   LADO DIREITO
   ========================================================= */

body.page-id-2809
.vs-shop-manifesto__content {
    max-width: 32rem;

    align-self: end;
}


body.page-id-2809
.vs-shop-manifesto__content p {
    margin: 0;

    color:
        rgba(237, 235, 230, 0.78);

    font-family: var(--vs-font-body);
    font-size: 1rem;
    font-weight: var(--vs-font-weight-regular);
    line-height: 1.72;
}


/* =========================================================
   LINK
   ========================================================= */

body.page-id-2809
.vs-shop-manifesto__link {
    display: inline-flex;
    align-items: center;

    gap: 0.75rem;

    margin-top: 2rem;
    padding-bottom: 0.4rem;

    border-bottom:
        1px solid
        rgba(237, 235, 230, 0.48);

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;

    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;

    transition:
        color 180ms ease,
        border-color 180ms ease;
}


body.page-id-2809
.vs-shop-manifesto__link span {
    font-size: 1.15rem;

    transition:
        transform 180ms ease;
}


body.page-id-2809
.vs-shop-manifesto__link:hover {
    color: var(--vs-color-areia);

    border-bottom-color:
        var(--vs-color-areia);
}


body.page-id-2809
.vs-shop-manifesto__link:hover span {
    transform: translateX(0.3rem);
}


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

@media (max-width: 767px) {

    body.page-id-2809
    .vs-shop-manifesto__inner {
        grid-template-columns: 1fr;

        min-height: auto;

        padding:
            3.5rem
            1.5rem;

        gap: 2.25rem;
    }


    body.page-id-2809
    .vs-shop-manifesto__title {
        max-width: 10ch;

        font-size:
            clamp(
                2.5rem,
                11vw,
                3.4rem
            );
    }


    body.page-id-2809
    .vs-shop-manifesto__content {
        max-width: 30rem;
    }

}

/* =========================================================
   JOIAS — PAGINAÇÃO REAL DO SHORTCODE
   Página ID 2809
   ========================================================= */


/* Centraliza somente a área gerada pelo shortcode */

body.page-id-2809
#catalogo
.elementor-shortcode {
    text-align: center;
}


/* Mantém os produtos alinhados normalmente
   e cria o respiro antes da paginação */

body.page-id-2809
#catalogo
.elementor-shortcode
> ul.products {
    text-align: left;

    margin-bottom:
        clamp(4rem, 6vw, 5.5rem) !important;
}


/* NÚMEROS + PRÓXIMO */

body.page-id-2809
#catalogo
.elementor-shortcode
> .page-numbers {

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-width: 2.6rem;
    height: 2.6rem;

    margin: 0 0.15rem !important;
    padding: 0 0.75rem !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    color:
        rgba(33, 33, 33, 0.55) !important;

    font-family: var(--vs-font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    text-decoration: none !important;

    transition:
        background-color 180ms ease,
        color 180ms ease;
}


/* PÁGINA ATUAL */

body.page-id-2809
#catalogo
.elementor-shortcode
> .page-numbers.current {

    background-color:
        var(--vs-color-chama) !important;

    color:
        var(--vs-color-diamante) !important;
}


/* HOVER */

body.page-id-2809
#catalogo
.elementor-shortcode
> a.page-numbers:hover {

    background-color:
        var(--vs-color-perola) !important;

    color:
        var(--vs-color-chama) !important;
}


/* PRÓXIMO / ANTERIOR */

body.page-id-2809
#catalogo
.elementor-shortcode
> .next,

body.page-id-2809
#catalogo
.elementor-shortcode
> .prev {

    width: auto;

    color:
        var(--vs-color-canela) !important;
}


/* MOBILE */

@media (max-width: 600px) {

    body.page-id-2809
    #catalogo
    .elementor-shortcode
    > ul.products {

        margin-bottom: 3.5rem !important;
    }

}

/* =========================================================
   PRODUTO — SISTEMA VISUAL VERSARO 2026
   Bloco consolidado. Não criar overrides de produto acima.
   ========================================================= */

body.single-product #content {
    background: var(--vs-color-diamante);
}

body.single-product #content > .ast-container,
body.single-product #primary,
body.single-product #main,
body.single-product .ast-woocommerce-container {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.single-product #content > .ast-container {
    padding-inline: 0 !important;
}

/* =========================================================
   HERO DO PRODUTO
   ========================================================= */

/* =========================================================
   PRODUTO — AJUSTES RÁPIDOS DESKTOP
   ========================================================= */

body.single-product {
    --vs-product-gap-header: 1.5rem;

    /* Configurador */
    --vs-config-line: rgba(33, 33, 33, 0.11);
    --vs-config-muted: rgba(33, 33, 33, 0.56);
    --vs-config-control-height: 3.4rem;
}


/* =========================================================
   HERO DO PRODUTO
   ========================================================= */

body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(28rem, 0.92fr);
    align-items: start;

    width: 100%;
    max-width: 92rem;
    margin: 0 auto !important;

    padding:
        var(--vs-product-gap-header)
        clamp(2rem, 5vw, 5rem)
        0;

    column-gap: clamp(4rem, 6vw, 6.5rem);
}
/* =========================================================
   GALERIA
   ========================================================= */

body.single-product div.product .woocommerce-product-gallery {
    position: relative !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
    width: 100%;
}

body.single-product .woocommerce-product-gallery__image {
    overflow: hidden;
    background: var(--vs-color-perola);
}

body.single-product .woocommerce-product-gallery__image a {
    display: block;
}

body.single-product .woocommerce-product-gallery__image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    position: static !important;
}

/* Miniaturas */
body.single-product .woocommerce-product-gallery .flex-control-thumbs,
body.single-product .vs-gallery-media-nav {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.55rem !important;
    margin: 0.65rem 0 0 !important;
    padding: 0 !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    float: none !important;
    width: 4.6rem !important;
    margin: 0 !important;
    list-style: none;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img,
body.single-product .vs-gallery-photo-thumb,
body.single-product .vs-gallery-3d-thumb {
    width: 4.6rem !important;
    height: 4.6rem !important;
    border-radius: 0 !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img,
body.single-product .vs-gallery-photo-thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.single-product .vs-gallery-photo-thumb,
body.single-product .vs-gallery-3d-thumb {
    padding: 0;
    border: 1px solid rgba(33, 33, 33, 0.14);
    background: transparent;
    cursor: pointer;
    box-shadow: none;
}

body.single-product .vs-gallery-photo-thumb {
    overflow: hidden;
}

body.single-product .vs-gallery-3d-thumb {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.28rem;
    background: var(--vs-color-chama) !important;
    color: var(--vs-color-diamante) !important;
}

body.single-product .vs-gallery-3d-thumb__360 {
    font-family: var(--vs-font-display);
    font-size: 1.2rem;
    line-height: 1;
}

body.single-product .vs-gallery-3d-thumb__label {
    font-family: var(--vs-font-body);
    font-size: 0.48rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.single-product .vs-gallery-photo-thumb.is-active,
body.single-product .vs-gallery-3d-thumb.is-active {
    outline: 1px solid var(--vs-color-canela);
    outline-offset: 2px;
}

/* =========================================================
   3D DENTRO DA GALERIA
   ========================================================= */

body.single-product .vs-gallery-3d-stage {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 5;
    overflow: hidden;
    background: var(--vs-color-diamante);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease;
}

body.single-product .woocommerce-product-gallery.is-3d-active .vs-gallery-3d-stage {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.single-product .woocommerce-product-gallery.is-3d-active .flex-viewport,
body.single-product .woocommerce-product-gallery.is-3d-active > .woocommerce-product-gallery__wrapper {
    opacity: 0;
    pointer-events: none;
}

body.single-product .vs-gallery-3d-stage .versaro-3d-wrap,
body.single-product .vs-gallery-3d-stage #versaro-3d-viewer {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--vs-color-diamante) !important;
}

body.vs-has-gallery-3d .vb-row-3d {
    display: none !important;
}

/* Controles 3D */
body.single-product .vs-gallery-3d-stage .versaro-3d-controls {
    position: absolute !important;
    right: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
    z-index: 6;

    display: flex !important;
    align-items: center;
    justify-content: center !important;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem !important;

    width: auto;
    margin: 0 !important;
    padding: 0.65rem 0.8rem;

    border: 1px solid rgba(33, 33, 33, 0.10);
    background: rgba(237, 235, 230, 0.91);
    backdrop-filter: blur(12px);
}

body.single-product .vs-gallery-3d-stage .v3d-metal-group,
body.single-product .vs-gallery-3d-stage .v3d-stone-group {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.single-product .vs-gallery-3d-stage .v3d-stone-group {
    padding-left: 1.25rem !important;
    border-left: 1px solid rgba(33, 33, 33, 0.12) !important;
}

body.single-product .vs-gallery-3d-stage .v3d-btn {
    min-height: 2.35rem;
    margin: 0 !important;
    padding: 0 0.8rem !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(33, 33, 33, 0.64) !important;
    font-family: var(--vs-font-body) !important;
    font-size: 0.625rem !important;
    font-weight: var(--vs-font-weight-semibold) !important;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    box-shadow: none !important;
}

body.single-product .vs-gallery-3d-stage .v3d-btn:hover {
    color: var(--vs-color-chama) !important;
}

body.single-product .vs-gallery-3d-stage .v3d-btn.active {
    border-color: var(--vs-color-chama) !important;
    background: var(--vs-color-chama) !important;
    color: var(--vs-color-diamante) !important;
}

/* =========================================================
   RESUMO / BUYBOX
   ========================================================= */

body.single-product div.product .summary.entry-summary {
    float: none !important;
    width: 100% !important;
    max-width: 34rem !important;
    margin: 0 !important;
    padding-top: 0.4rem;
}

body.single-product .single-product-category {
    display: block;
    margin: 0 0 0.75rem;
}

body.single-product .single-product-category a {
    color: var(--vs-color-canela) !important;
    font-family: var(--vs-font-body);
    font-size: 0.625rem;
    font-weight: var(--vs-font-weight-semibold);
    letter-spacing: 0.15em;
    text-decoration: none;
    text-transform: uppercase;
}

body.single-product .product_title {
    max-width: 10ch;
    margin: 0 0 0.8rem !important;
    color: var(--vs-color-carbono) !important;
    font-family: var(--vs-font-display) !important;
    font-size: clamp(2.75rem, 4vw, 4rem) !important;
    font-weight: 400 !important;
    line-height: 0.98 !important;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

body.single-product .summary.entry-summary > .price {
    display: block;
    margin: 0 0 2.1rem !important;
    color: rgba(33, 33, 33, 0.62) !important;
    font-family: var(--vs-font-body) !important;
    font-size: 0.95rem !important;
    font-weight: var(--vs-font-weight-medium) !important;
    line-height: 1.4;
    
}

/* =========================================================
   PRODUTO SIMPLES — VALOR DA SUA JOIA
   Mesma linguagem do preço final das variações
   ========================================================= */

@media (min-width: 901px) {

    body.single-product
    .product-type-simple
    .summary.entry-summary
    > .price {

        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            auto;

        align-items:
            baseline;

        column-gap:
            1.5rem;

        width:
            100%;

        margin:
            1.35rem
            0
            0 !important;

        padding:
            1.3rem
            0
            1.15rem;

        border-top:
            1px solid
            var(--vs-config-line);

        border-bottom:
            1px solid
            var(--vs-config-line);

        color:
            var(--vs-color-carbono) !important;
    }


    body.single-product
    .product-type-simple
    .summary.entry-summary
    > .price::before {

        content:
            "PREÇO DA SUA JOIA";

        color:
            rgba(33, 33, 33, 0.54);

        font-family:
            var(--vs-font-body);

        font-size:
            0.625rem;

        font-weight:
            var(--vs-font-weight-semibold);

        line-height:
            1;

        letter-spacing:
            0.15em;

        text-transform:
            uppercase;
    }


    body.single-product
    .product-type-simple
    .summary.entry-summary
    > .price
    .woocommerce-Price-amount {

        color:
            var(--vs-color-carbono) !important;

        font-family:
            var(--vs-font-display) !important;

        font-size:
            clamp(
                1.35rem,
                1.15rem + 0.55vw,
                1.65rem
            ) !important;

        font-weight:
            400 !important;

        line-height:
            1 !important;

        letter-spacing:
            -0.015em;

        white-space:
            nowrap;

        font-variant-numeric:
            tabular-nums;
    }


    /* O buybox começa logo abaixo do bloco de valor */

    body.single-product
    .product-type-simple
    .summary
    form.cart
    .versaro-buybox {

        margin:
            0 !important;

        padding:
            1.45rem
            0
            0 !important;

        border-top:
            0 !important;
    }

}

/* Produto variável:
   esconde o range inicial de preços */
body.single-product
.product-type-variable
.summary.entry-summary > .price {
    display: none !important;
}

/* =========================================================
   VARIAÇÕES WOOCOMMERCE / CFVSW
   Base estrutural + aparência mobile.
   Desktop é definido uma única vez no bloco final.
   ========================================================= */

/* Estrutura comum */
body.single-product .product-type-variable .summary form.variations_form.cart {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .product-type-variable .summary table.variations,
body.single-product .product-type-variable .summary table.variations tbody {
    display: block;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
}

body.single-product .product-type-variable .summary table.variations th.label,
body.single-product .product-type-variable .summary table.variations td.value {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
}

/* O nome já aparece no próprio swatch; mantém a interface limpa. */
body.single-product .cfvsw-selected-label,
body.single-product .reset_variations {
    display: none !important;
}

body.single-product .product-type-variable .single_variation_wrap,
body.single-product .product-type-variable .woocommerce-variation {
    display: block;
    width: 100% !important;
    max-width: none !important;
}

body.single-product .product-type-variable .woocommerce-variation {
    margin: 0 !important;
}

/* Aparência já aprovada no mobile */
@media (max-width: 900px) {

    body.single-product .product-type-variable .summary table.variations tr {
        display: block !important;
        width: 100%;
        padding: 1.05rem 0 1.15rem;
        border-top: 1px solid rgba(33, 33, 33, 0.10);
    }

    body.single-product .product-type-variable .summary table.variations tr:last-child {
        border-bottom: 1px solid rgba(33, 33, 33, 0.10);
    }

    body.single-product .product-type-variable .summary table.variations th.label {
        margin: 0 0 0.7rem !important;
    }

    body.single-product .product-type-variable .summary table.variations th.label label {
        display: block !important;
        margin: 0 !important;
        color: rgba(33, 33, 33, 0.56);
        font-family: var(--vs-font-body);
        font-size: 0.6rem !important;
        font-weight: var(--vs-font-weight-semibold);
        line-height: 1;
        letter-spacing: 0.15em;
        text-transform: uppercase;
    }

    body.single-product .cfvsw-swatches-container {
        display: flex !important;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.45rem 1.4rem !important;
        width: 100%;
        margin: 0 !important;
    }

    body.single-product .cfvsw-swatches-option.cfvsw-label-option {
        position: relative;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-width: 0 !important;
        min-height: 2.15rem !important;
        margin: 0 !important;
        padding: 0 0 0.32rem !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: rgba(33, 33, 33, 0.56) !important;
        box-shadow: none !important;
        cursor: pointer;
    }

    body.single-product .cfvsw-swatches-option .cfvsw-swatch-inner {
        padding: 0 !important;
        color: inherit !important;
        font-family: var(--vs-font-body) !important;
        font-size: 0.67rem !important;
        font-weight: var(--vs-font-weight-semibold) !important;
        line-height: 1 !important;
        letter-spacing: 0.075em;
        text-transform: uppercase;
    }

    body.single-product .cfvsw-swatches-option.cfvsw-label-option:hover {
        color: var(--vs-color-canela) !important;
    }

    body.single-product .cfvsw-swatches-option.cfvsw-selected-swatch {
        color: var(--vs-color-chama) !important;
    }

    body.single-product .cfvsw-swatches-option.cfvsw-selected-swatch::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 1px;
        background: var(--vs-color-chama);
    }

    body.single-product .woocommerce-variation-price {
        margin: 1.1rem 0 0;
    }

    body.single-product .woocommerce-variation-price .price {
        color: var(--vs-color-carbono) !important;
        font-family: var(--vs-font-display) !important;
        font-size: 1.45rem !important;
        font-weight: 400 !important;
    }
}

/* =========================================================
   BUYBOX: NUMERAÇÃO + FRETE
   ========================================================= */

body.single-product .versaro-buybox {
    width: 100% !important;
    margin: 1.25rem 0 0 !important;
    padding: 1.4rem 0 0 !important;
    border-top: 1px solid rgba(33, 33, 33, 0.10);
    background: transparent !important;
    box-shadow: none !important;
}

body.single-product .versaro-buybox .vb-row {
    width: 100%;
    margin: 0 0 1.35rem !important;
}

body.single-product .versaro-buybox .vb-row:last-child {
    margin-bottom: 0 !important;
}

body.single-product .vb-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 0.65rem;
}

body.single-product .vb-label {
    color: var(--vs-color-carbono);
    font-family: var(--vs-font-body);
    font-size: 0.6rem !important;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

body.single-product .vb-hint {
    color: rgba(33, 33, 33, 0.38);
    font-family: var(--vs-font-body);
    font-size: 0.65rem;
}

body.single-product .vb-control {
    width: 100%;
}

/* Select nativo fica acessível ao Woo, mas não visível */
body.single-product .vs-native-select-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Fallback: se o JS não carregar, o select nativo ainda fica utilizável */
body.single-product .vb-select:not(.vs-native-select-hidden) {
    width: 100% !important;
    min-height: 3.55rem;
    padding: 0 1rem;
    border: 1px solid rgba(33, 33, 33, 0.16) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.35) !important;
    color: var(--vs-color-carbono);
    font-family: var(--vs-font-body);
    font-size: 0.82rem;
    box-shadow: none !important;
}

/* Dropdown Versaro */
body.single-product .vs-ring-size-dropdown {
    position: relative;
    width: 100%;
}

body.single-product .vs-ring-size-dropdown__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 3.55rem;
    padding: 0 1rem;
    border: 1px solid rgba(33, 33, 33, 0.16);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.35);
    color: var(--vs-color-carbono);
    font-family: var(--vs-font-body);
    font-size: 0.82rem;
    font-weight: var(--vs-font-weight-regular);
    cursor: pointer;
    box-shadow: none;
}

body.single-product .vs-ring-size-dropdown__toggle:hover,
body.single-product .vs-ring-size-dropdown.is-open .vs-ring-size-dropdown__toggle {
    border-color: var(--vs-color-canela);
    background: rgba(255, 255, 255, 0.58);
}

body.single-product .vs-ring-size-dropdown__arrow {
    color: var(--vs-color-canela);
    font-size: 0.8rem;
    transition: transform 160ms ease;
}

body.single-product .vs-ring-size-dropdown.is-open .vs-ring-size-dropdown__arrow {
    transform: rotate(180deg);
}

body.single-product .vs-ring-size-dropdown__menu {
    position: absolute;
    top: calc(100% + 0.35rem);
    right: 0;
    left: 0;
    z-index: 40;

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;

    max-height: 15rem;
    padding: 0.5rem;
    overflow-y: auto;

    border: 1px solid rgba(33, 33, 33, 0.12);
    background: var(--vs-color-diamante);
    box-shadow: 0 1rem 2.5rem rgba(33, 33, 33, 0.10);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-0.3rem);
    pointer-events: none;
    transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
}

body.single-product .vs-ring-size-dropdown.is-open .vs-ring-size-dropdown__menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

body.single-product .vs-ring-size-dropdown__option {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(33, 33, 33, 0.72);
    font-family: var(--vs-font-body);
    font-size: 0.75rem;
    font-weight: var(--vs-font-weight-medium);
    cursor: pointer;
}

body.single-product .vs-ring-size-dropdown__option:hover {
    background: var(--vs-color-perola);
    color: var(--vs-color-chama);
}

body.single-product .vs-ring-size-dropdown__option.is-active {
    background: var(--vs-color-chama);
    color: var(--vs-color-diamante);
}

body.single-product .vs-ring-size-dropdown.has-error .vs-ring-size-dropdown__toggle {
    border-color: var(--vs-color-chama) !important;
}

body.single-product .vs-ring-size-dropdown.has-error::after {
    content: "Selecione a numeração do anel";
    display: block;
    margin-top: 0.5rem;
    color: var(--vs-color-chama);
    font-family: var(--vs-font-body);
    font-size: 0.6875rem;
}

/* Frete */
body.single-product .vb-shipping {
    display: grid !important;
    grid-template-columns: 3.7rem minmax(0, 1fr) 7rem;
    align-items: stretch;
    width: 100%;
    min-height: 3.5rem;
    gap: 0 !important;
    border: 1px solid rgba(33, 33, 33, 0.15);
    background: rgba(255, 255, 255, 0.25);
}

body.single-product .vb-prefix {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    border-right: 1px solid rgba(33, 33, 33, 0.10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--vs-color-canela);
    font-family: var(--vs-font-body);
    font-size: 0.65rem;
}

body.single-product .vb-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 3.5rem !important;
    padding: 0 1rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--vs-color-carbono);
    font-family: var(--vs-font-body);
    font-size: 0.78rem;
    box-shadow: none !important;
}

body.single-product .vb-input:focus {
    outline: 0;
    box-shadow: inset 0 0 0 1px rgba(150, 95, 62, 0.34) !important;
}

body.single-product .vb-shipping .vb-btn {
    width: 100% !important;
    height: 3.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid rgba(110, 52, 31, 0.30) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--vs-color-chama) !important;
    font-family: var(--vs-font-body);
    font-size: 0.63rem !important;
    font-weight: var(--vs-font-weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: none !important;
}

body.single-product .vb-shipping .vb-btn:hover {
    background: var(--vs-color-chama) !important;
    color: var(--vs-color-diamante) !important;
}

body.single-product .vb-result {
    width: 100%;
    margin-top: 0.65rem;
    color: rgba(33, 33, 33, 0.72);
    font-family: var(--vs-font-body);
    font-size: 0.75rem;
}

body.single-product .vb-result.has-error {
    color: var(--vs-color-chama);
}

body.single-product .vb-rate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(33, 33, 33, 0.10);
}

body.single-product .vb-rate-name {
    color: rgba(33, 33, 33, 0.64);
}

body.single-product .vb-rate-price {
    color: var(--vs-color-chama);
    font-weight: var(--vs-font-weight-semibold);
}

/* =========================================================
   QUANTIDADE + CTA
   ========================================================= */

body.single-product .product-type-variable .woocommerce-variation-add-to-cart,
body.single-product .product-type-simple .summary form.cart {
    display: grid !important;
    grid-template-columns: 4.5rem minmax(0, 1fr) !important;
    grid-template-areas:
        "buybox buybox"
        "qty cart";
    gap: 0.75rem !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product .product-type-variable .woocommerce-variation-add-to-cart .versaro-buybox,
body.single-product .product-type-simple .summary form.cart .versaro-buybox {
    grid-area: buybox !important;
}

body.single-product .product-type-variable .woocommerce-variation-add-to-cart .quantity,
body.single-product .product-type-simple .summary form.cart .quantity {
    grid-area: qty !important;
    float: none !important;
    display: block !important;
    width: 4.5rem !important;
    min-width: 4.5rem !important;
    margin: 0 !important;
}

body.single-product .quantity input.qty {
    display: block;
    width: 100% !important;
    height: 3.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(33, 33, 33, 0.15) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--vs-color-carbono);
    font-family: var(--vs-font-body);
    font-weight: var(--vs-font-weight-semibold);
    text-align: center;
    box-shadow: none !important;
}

body.single-product .single_add_to_cart_button {
    grid-area: cart !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 3.75rem !important;
    margin: 0 !important;
    padding: 0 1.25rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--vs-color-chama) !important;
    color: var(--vs-color-diamante) !important;
    font-family: var(--vs-font-body) !important;
    font-size: 0.7rem !important;
    font-weight: var(--vs-font-weight-semibold) !important;
    line-height: 1;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    box-shadow: none !important;
}

body.single-product .single_add_to_cart_button:hover {
    background: var(--vs-color-carbono) !important;
}

body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button:disabled {
    opacity: 0.38 !important;
    cursor: not-allowed;
}

/* =========================================================
   SOBRE A PEÇA / DETALHES
   ========================================================= */

body.single-product .vs-product-details {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: clamp(4.5rem, 7vw, 7rem);
    padding: clamp(3.75rem, 6vw, 5.75rem) clamp(2rem, 5vw, 5rem);
    background: var(--vs-color-carbono);
}

body.single-product .vs-product-details__inner {
    display: block;
    max-width: 76rem;
    margin: 0 auto;
}

body.single-product .vs-product-details__story {
    max-width: 52rem;
}

body.single-product .vs-product-details__eyebrow {
    display: block;
    margin-bottom: 1.2rem;
    color: var(--vs-color-areia);
    font-family: var(--vs-font-body);
    font-size: 0.65rem;
    font-weight: var(--vs-font-weight-semibold);
    line-height: 1;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

body.single-product .vs-product-details__story h2 {
    max-width: 11ch;
    margin: 0 0 1.75rem;
    color: var(--vs-color-diamante);
    font-family: var(--vs-font-display);
    font-size: clamp(2.6rem, 4vw, 4rem);
    font-weight: 400;
    line-height: 1.05;
}

body.single-product .vs-product-details__text {
    max-width: 46rem;
    color: rgba(237, 235, 230, 0.74);
    font-family: var(--vs-font-body);
    font-size: 0.95rem;
    line-height: 1.75;
}

body.single-product .vs-product-details__text > *:last-child {
    margin-bottom: 0;
}

body.single-product .vs-product-details__specs {
    margin-top: clamp(3rem, 5vw, 4.5rem);
    padding-top: 2rem;
    border-top: 1px solid rgba(237, 235, 230, 0.14);
}

body.single-product .vs-product-details__specs dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0 clamp(2rem, 5vw, 5rem);
    margin: 0;
}

body.single-product .vs-product-details__spec {
    display: block;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(237, 235, 230, 0.10);
}

body.single-product .vs-product-details__spec dt {
    margin-bottom: 0.5rem;
    color: rgba(237, 235, 230, 0.48);
    font-family: var(--vs-font-body);
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.single-product .vs-product-details__spec dd {
    margin: 0;
    color: var(--vs-color-diamante);
    font-family: var(--vs-font-body);
    font-size: 0.85rem;
}

/* =========================================================
   PRODUTOS RELACIONADOS
   ========================================================= */

body.single-product section.related.products {
    grid-column: 1 / -1;
    width: 100%;
    margin: clamp(5rem, 8vw, 8rem) auto 0 !important;
    padding: 0 !important;
}

body.single-product section.related.products > h2 {
    margin: 0 0 2.25rem !important;
    color: var(--vs-color-carbono);
    font-family: var(--vs-font-display);
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 400;
    line-height: 1.1;
}

body.single-product section.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(1.25rem, 2vw, 2rem) !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product section.related.products li.product {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.single-product section.related.products li.product a img {
    display: block;
    width: 100% !important;
    aspect-ratio: 3 / 4;
    height: auto !important;
    margin: 0 0 1rem !important;
    border-radius: 0 !important;
    object-fit: cover;
    background: var(--vs-color-perola);
}

body.single-product section.related.products .woocommerce-loop-product__title {
    margin: 0 0 0.4rem !important;
    padding: 0 !important;
    color: var(--vs-color-carbono);
    font-family: var(--vs-font-display);
    font-size: clamp(1.1rem, 1.4vw, 1.35rem) !important;
    font-weight: 400;
    line-height: 1.2;
}

body.single-product section.related.products .price {
    display: block;
    margin: 0 !important;
    color: rgba(33, 33, 33, 0.58) !important;
    font-family: var(--vs-font-body);
    font-size: 0.8rem !important;
    font-weight: var(--vs-font-weight-medium);
}

body.single-product section.related.products li.product .button {
    display: none !important;
}

/* =========================================================
   MOBILE / TABLET
   ========================================================= */

@media (max-width: 900px) {
    body.single-product div.product {
        grid-template-columns: 1fr;
        padding: 1.5rem 1.25rem 0;
        row-gap: 2.25rem;
    }

    body.single-product div.product .summary.entry-summary {
        max-width: none !important;
        padding-top: 0;
    }

    body.single-product .product_title {
        max-width: 14ch;
        font-size: clamp(2.25rem, 9vw, 3.2rem) !important;
    }
}

@media (max-width: 767px) {
    body.single-product .woocommerce-product-gallery {
        margin-bottom: 0 !important;
    }

    body.single-product .vs-gallery-3d-stage .versaro-3d-controls {
        right: 0.65rem;
        bottom: 0.65rem;
        left: 0.65rem;
        justify-content: flex-start !important;
        padding: 0.55rem;
        gap: 0.4rem !important;
    }

    body.single-product .vs-gallery-3d-stage .v3d-metal-group,
    body.single-product .vs-gallery-3d-stage .v3d-stone-group {
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.single-product .vs-gallery-3d-stage .v3d-stone-group {
        padding: 0.45rem 0 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(33, 33, 33, 0.10) !important;
    }

    body.single-product .vs-gallery-3d-stage .v3d-btn {
        flex: 0 0 auto;
        padding: 0 0.7rem !important;
    }

    body.single-product .vs-product-details {
        width: calc(100% + 2.5rem);
        margin: 4rem -1.25rem 0;
        padding: 3.25rem 1.5rem;
    }

    body.single-product .vs-product-details__specs dl {
        grid-template-columns: 1fr;
    }

    body.single-product section.related.products {
        margin-top: 4rem !important;
        overflow: hidden;
    }

    body.single-product section.related.products > h2 {
        margin-bottom: 1.5rem !important;
        font-size: 2rem;
    }

    body.single-product section.related.products ul.products {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 0.85rem !important;
        width: auto;
        margin-right: -1.25rem !important;
        padding-right: 1.25rem !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    body.single-product section.related.products ul.products::-webkit-scrollbar {
        display: none;
    }

    body.single-product section.related.products li.product {
        flex: 0 0 86%;
        scroll-snap-align: start;
    }
}

@media (max-width: 520px) {
    body.single-product .vs-ring-size-dropdown__menu {
        grid-template-columns: repeat(4, 1fr);
    }

    body.single-product .vb-shipping {
        grid-template-columns: 3.4rem minmax(0, 1fr) 6.5rem;
    }

    body.single-product .product-type-variable .woocommerce-variation-add-to-cart,
    body.single-product .product-type-simple .summary form.cart {
        grid-template-columns: 4.15rem minmax(0, 1fr) !important;
        gap: 0.65rem !important;
    }

    body.single-product .product-type-variable .woocommerce-variation-add-to-cart .quantity,
    body.single-product .product-type-simple .summary form.cart .quantity {
        width: 4.15rem !important;
        min-width: 4.15rem !important;
    }
}

/* =========================================================
   HEADER — PRODUTO = PADRÃO DAS PÁGINAS INTERNAS
   ========================================================= */

body.single-product {
    --vs-internal-header-height: 4.25rem;
}


body.single-product #masthead {
    position: fixed !important;

    top: 0;
    right: 0;
    left: 0;

    width: 100%;

    z-index: 9999;

    background:
        var(--vs-color-chama) !important;

    box-shadow:
        0 0.35rem
        1.5rem
        rgba(0, 0, 0, 0.14) !important;
}


body.single-product
.ast-primary-header-bar,

body.single-product
.site-header,

body.single-product
.main-header-bar {
    min-height:
        var(--vs-internal-header-height) !important;

    background:
        transparent !important;

    background-image:
        none !important;

    border-bottom:
        1px solid
        rgba(237, 235, 230, 0.12) !important;

    box-shadow:
        none !important;
}


/* Logo */

body.single-product
.site-branding img {
    width: auto;

    max-height:
        2rem !important;

    filter:
        brightness(0)
        invert(1);
}


/* Menu desktop */

body.single-product
.main-header-menu
> .menu-item
> .menu-link {
    min-height:
        var(--vs-internal-header-height) !important;

    color:
        var(--vs-color-diamante) !important;

    font-family:
        var(--vs-font-body);

    font-size:
        0.6875rem;

    font-weight:
        var(--vs-font-weight-semibold);

    letter-spacing:
        0.075em;

    text-transform:
        uppercase;
}

/* =========================================================
   HEADER PRODUTO — SUBMENU DESKTOP
   ========================================================= */

@media (min-width: 1081px) {

    /* Seta de JOIAS */

    body.single-product
    .main-header-menu
    .menu-item-has-children
    > .menu-link
    svg {
        fill: currentColor !important;
    }


    /* Painel do submenu */

    body.single-product
    .main-header-menu
    .sub-menu {

        min-width: 15rem;

        padding:
            var(--vs-space-3);

        border:
            1px solid
            rgba(237, 235, 230, 0.14);

        border-radius:
            var(--vs-radius-sm);

        background:
            rgba(110, 52, 31, 0.98) !important;

        background-image:
            none !important;

        box-shadow:
            0 1rem 3rem
            rgba(33, 33, 33, 0.18);

        backdrop-filter:
            blur(0.75rem);

        -webkit-backdrop-filter:
            blur(0.75rem);
    }


    /* Links */

    body.single-product
    .main-header-menu
    .sub-menu
    .menu-link {

        min-height:
            auto !important;

        padding:
            0.875rem
            1rem !important;

        border-radius:
            var(--vs-radius-xs);

        background:
            transparent !important;

        color:
            rgba(237, 235, 230, 0.78) !important;

        font-family:
            var(--vs-font-body);

        font-size:
            var(--vs-font-size-xs);

        font-weight:
            var(--vs-font-weight-medium);

        line-height:
            var(--vs-line-height-ui);

        letter-spacing:
            var(--vs-letter-spacing-wide);

        text-transform:
            uppercase;

        transition:
            color 180ms ease,
            background-color 180ms ease;
    }


    /* Hover */

    body.single-product
    .main-header-menu
    .sub-menu
    .menu-link:hover,

    body.single-product
    .main-header-menu
    .sub-menu
    .current-menu-item
    > .menu-link {

        background:
            rgba(237, 235, 230, 0.08) !important;

        color:
            var(--vs-color-diamante) !important;
    }

}


body.single-product
.main-header-menu
> .menu-item:hover
> .menu-link,

body.single-product
.main-header-menu
> .current-menu-item
> .menu-link,

body.single-product
.main-header-menu
> .current-menu-ancestor
> .menu-link {
    color:
        var(--vs-color-areia) !important;
}


/* Ícones */

body.single-product
.ast-header-custom-item a,

body.single-product
.ast-header-custom-item svg {
    color:
        var(--vs-color-diamante) !important;
}


body.single-product
.ast-header-custom-item svg {
    fill:
        currentColor !important;
}


/* Espaço para o header fixo */

body.single-product
#content {
    padding-top:
        var(--vs-internal-header-height) !important;
}


/* Admin bar */

body.admin-bar.single-product
#masthead {
    top: 32px;
}


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

@media (max-width: 1080px) {

    body.single-product {
        --vs-internal-header-height: 4rem;
    }


    body.single-product
    .site-branding img {
        max-height:
            1.75rem !important;
    }


    body.single-product
    button.menu-toggle.main-header-menu-toggle
    .mobile-menu-toggle-icon
    path {
        fill:
            var(--vs-color-diamante) !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .ast-mobile-popup-inner {
        background:
            var(--vs-color-diamante) !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        color:
            var(--vs-color-carbono) !important;
    }

}


@media (max-width: 782px) {

    body.admin-bar.single-product
    #masthead {
        top: 46px;
    }

}

/* =========================================================
   PRODUTO — PERSONALIZAÇÃO DE ALIANÇAS
   ========================================================= */

body.single-product
form.cart
.versaro-extra-fields {
    grid-column: 1 / -1 !important;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        1.5rem
        1rem;

    width: 100%;

    margin:
        0
        0
        1.75rem !important;

    padding:
        1.75rem
        0
        0 !important;

    border: 0 !important;
    border-top:
        1px solid
        rgba(33, 33, 33, 0.10) !important;

    border-radius: 0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;
}


/* Título */

body.single-product
.versaro-extra-fields
h4 {
    grid-column: 1 / -1;

    margin:
        0
        0
        0.25rem !important;

    color:
        var(--vs-color-carbono) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        1.35rem !important;

    font-weight:
        400 !important;

    line-height:
        1.2;
}


/* Cada campo */

body.single-product
.versaro-extra-fields
p {
    margin:
        0 !important;
}


/* Labels */

body.single-product
.versaro-extra-fields
label {
    display:
        block;

    margin:
        0
        0
        0.55rem !important;

    color:
        rgba(33, 33, 33, 0.55) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.625rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1.3;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}


/* Inputs */

body.single-product
.versaro-extra-fields
input[type="text"] {
    width:
        100% !important;

    height:
        3.5rem !important;

    margin:
        0 !important;

    padding:
        0
        1rem !important;

    border:
        1px solid
        rgba(33, 33, 33, 0.15) !important;

    border-radius:
        0 !important;

    background:
        rgba(255,255,255,.28) !important;

    color:
        var(--vs-color-carbono) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.8rem !important;

    box-shadow:
        none !important;
}


/* Select original será substituído visualmente pelo JS */

body.single-product
.versaro-extra-fields
select.vs-native-select-hidden {
    position:
        absolute !important;

    width:
        1px !important;

    height:
        1px !important;

    overflow:
        hidden !important;

    opacity:
        0 !important;

    pointer-events:
        none !important;
}


/* Frete também ocupa a linha inteira */

body.single-product
form.cart
.versaro-buybox {
    grid-column:
        1 / -1 !important;
}


/* Quantidade + CTA */

body.single-product
form.cart
.quantity {
    grid-column:
        1 !important;
}


body.single-product
form.cart
.single_add_to_cart_button {
    grid-column:
        2 !important;
}


/* MOBILE */

@media (max-width: 767px) {

    body.single-product
    form.cart
    .versaro-extra-fields {
        grid-template-columns:
            1fr;

        gap:
            1.25rem;
    }


    body.single-product
    .versaro-extra-fields
    h4 {
        grid-column:
            1;
    }

}

/* =========================================================
   PRODUTO — ORDEM CORRETA PARA ALIANÇAS
   Personalização → Frete → Quantidade + Carrinho
   ========================================================= */

/* Produto simples */

body.single-product
.product-type-simple
.summary
form.cart:has(.versaro-extra-fields) {
    display: grid !important;

    grid-template-columns:
        4.5rem
        minmax(0, 1fr) !important;

    grid-template-areas:
        "extras extras"
        "buybox buybox"
        "qty cart" !important;

    gap: 0.75rem !important;
}


/* Produto variável, caso alguma aliança use variações */

body.single-product
.product-type-variable
.woocommerce-variation-add-to-cart:has(.versaro-extra-fields) {
    display: grid !important;

    grid-template-columns:
        4.5rem
        minmax(0, 1fr) !important;

    grid-template-areas:
        "extras extras"
        "buybox buybox"
        "qty cart" !important;

    gap: 0.75rem !important;
}


body.single-product
form.cart
.versaro-extra-fields,

body.single-product
.woocommerce-variation-add-to-cart
.versaro-extra-fields {
    grid-area: extras !important;

    grid-column: 1 / -1 !important;

    width: 100% !important;
    min-width: 0 !important;
}


/* 2 — Frete */

body.single-product
form.cart
.versaro-buybox,

body.single-product
.woocommerce-variation-add-to-cart
.versaro-buybox {
    grid-area: buybox !important;
}


/* 3 — Quantidade */

body.single-product
form.cart
.quantity,

body.single-product
.woocommerce-variation-add-to-cart
.quantity {
    grid-area: qty !important;
}


/* 4 — CTA */

body.single-product
form.cart
.single_add_to_cart_button,

body.single-product
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
    grid-area: cart !important;
}

body.single-product
.versaro-extra-fields {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    column-gap: 1rem !important;
    row-gap: 1.5rem !important;
}

body.single-product
.versaro-extra-fields
h4 {
    grid-column: 1 / -1 !important;
}

body.single-product
.versaro-extra-fields
p {
    width: 100% !important;
    min-width: 0 !important;
}

body.single-product
.versaro-extra-fields
.vs-ring-size-dropdown,

body.single-product
.versaro-extra-fields
input[type="text"] {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 767px) {

    body.single-product
    .versaro-extra-fields {
        grid-template-columns: 1fr !important;
    }

}

/* HEADER PRODUTO — CTA SOLICITAR ORÇAMENTO */

body.single-product
.ast-header-button-1
.ast-custom-button {
    background: #ffffff !important;
    color: var(--vs-color-chama) !important;

    border-color: #ffffff !important;
}


/* Hover */

body.single-product
.ast-header-button-1
.ast-custom-button:hover {
    background: var(--vs-color-areia) !important;
    color: var(--vs-color-chama) !important;

    border-color: var(--vs-color-areia) !important;
}

/* =========================================================
   PRODUTO — GALERIA PADRONIZADA
   Preserva a mecânica do FlexSlider
   ========================================================= */

/*
 * IMPORTANTE:
 * não definimos width no slide.
 * O FlexSlider continua responsável por isso.
 */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image {
    position: relative !important;

    aspect-ratio: 4 / 5;

    overflow: hidden;

    background:
        var(--vs-color-diamante);
}


/* O link passa a ocupar todo o slide */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image
> a {
    position: absolute;

    inset: 0;

    display: flex !important;

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

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    background:
        var(--vs-color-diamante);
}


/* A foto se acomoda sem ser cortada */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image
> a
> img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit: contain !important;
    object-position: center;

    border-radius: 0 !important;
} 

/* =========================================================
   PRODUTO MOBILE — MINIATURAS EM UMA ÚNICA LINHA
   ========================================================= */

@media (max-width: 767px) {

    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs,

    body.single-product
    .vs-gallery-media-nav {
        display: flex !important;

        flex-wrap: nowrap !important;

        gap: 0.5rem !important;

        width: 100%;

        overflow-x: auto;
        overflow-y: hidden;

        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;
    }


    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs::-webkit-scrollbar,

    body.single-product
    .vs-gallery-media-nav::-webkit-scrollbar {
        display: none;
    }


    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs
    li {
        flex:
            0
            0
            3.75rem !important;

        width:
            3.75rem !important;

        margin:
            0 !important;
    }


    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs
    img,

    body.single-product
    .vs-gallery-photo-thumb,

    body.single-product
    .vs-gallery-3d-thumb {
        width:
            3.75rem !important;

        height:
            3.75rem !important;
    }

}

/* =========================================================
   HEADER MOBILE — PRODUTO / VERSARO COMPACTO
   ========================================================= */

@media (max-width: 1080px) {

    /* PAINEL */

    body.single-product
    .ast-mobile-popup-drawer
    .ast-mobile-popup-inner {
        right: 0 !important;
        left: auto !important;

        width: min(86vw, 22rem) !important;
        max-width: 22rem !important;

        background:
            var(--vs-color-diamante) !important;

        box-shadow:
            -1rem 0 3rem
            rgba(33,33,33,.18);
    }


    /* TOPO / FECHAR */

    body.single-product
    .ast-mobile-popup-drawer
    .ast-mobile-popup-header {
        min-height: 4rem !important;

        padding:
            0
            1.5rem !important;

        border-bottom:
            1px solid
            rgba(33,33,33,.10);
    }


    body.single-product
    .ast-mobile-popup-drawer
    .menu-toggle-close {
        display: flex !important;

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

        width: 2.5rem !important;
        height: 2.5rem !important;

        margin-left: auto !important;
        padding: 0 !important;

        border: 0 !important;

        background:
            transparent !important;

        color:
            var(--vs-color-carbono) !important;
    }


    /* ÁREA DO MENU */

    body.single-product
    .ast-mobile-popup-drawer
    .ast-mobile-popup-content {
        padding:
            0
            1.5rem
            1.5rem !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-navigation,

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        border-bottom:
            1px solid
            rgba(33,33,33,.10);
    }


    /* LINKS */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        display: flex !important;

        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 3.4rem !important;

        margin: 0 !important;

        padding:
            0 !important;

        color:
            var(--vs-color-carbono) !important;

        font-family:
            var(--vs-font-body) !important;

        font-size:
            0.72rem !important;

        font-weight:
            var(--vs-font-weight-semibold) !important;

        line-height:
            1 !important;

        letter-spacing:
            0.08em !important;

        text-transform:
            uppercase !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link:hover,

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .current-menu-item
    > .menu-link {
        color:
            var(--vs-color-chama) !important;
    }


    /* SETA JOIAS */

    body.single-product
    .ast-mobile-popup-drawer
    .ast-menu-toggle {
        position: static !important;

        display: flex !important;

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

        width: 2.25rem !important;
        height: 2.25rem !important;

        margin-left: auto !important;
        padding: 0 !important;

        border: 0 !important;

        background:
            transparent !important;

        color:
            var(--vs-color-carbono) !important;
    }


    /* SUBMENU */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu {
        width: 100% !important;

        margin: 0 !important;

        padding:
            0
            0
            .75rem
            1rem !important;

        border: 0 !important;

        background:
            transparent !important;

        box-shadow:
            none !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link {
        min-height: 2.6rem !important;

        padding: 0 !important;

        color:
            rgba(33,33,33,.58) !important;

        font-family:
            var(--vs-font-body) !important;

        font-size:
            .65rem !important;

        font-weight:
            var(--vs-font-weight-medium) !important;

        letter-spacing:
            .07em !important;

        text-transform:
            uppercase !important;
    }


    /* CTA */

    body.single-product
    .ast-mobile-popup-drawer
    .ast-header-button-1 {
        width: 100% !important;

        margin:
            1.5rem
            0
            0 !important;

        padding: 0 !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .ast-header-button-1
    .ast-builder-button-wrap {
        width: 100% !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .ast-header-button-1
    .ast-custom-button {
        display: flex !important;

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

        width: 100% !important;
        min-height: 3.25rem !important;

        margin: 0 !important;

        padding:
            0
            1rem !important;

        border:
            1px solid
            var(--vs-color-chama) !important;

        background:
            var(--vs-color-chama) !important;

        color:
            var(--vs-color-diamante) !important;

        font-family:
            var(--vs-font-body) !important;

        font-size:
            .7rem !important;

        font-weight:
            var(--vs-font-weight-semibold) !important;

        letter-spacing:
            .07em !important;

        text-transform:
            uppercase !important;
    }
}

/* =========================================================
   HEADER MOBILE — LIMPEZA DAS SETAS DO SUBMENU
   ========================================================= */

@media (max-width: 1080px) {

    /* Remove setas/ícones que o Astra coloca dentro do link */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .menu-link
    .ast-icon,

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .menu-link
    .sub-arrow,

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .menu-link
    .icon-arrow {
        display: none !important;
    }


    /* Remove qualquer seta/pseudo-elemento dos itens internos */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link::before,

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link::after {
        display: none !important;
        content: none !important;
    }


    /* Itens do submenu sem indentação estranha */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link {
        padding-left: 0 !important;
    }


    /* Esconde qualquer toggle que apareça dentro do submenu */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .ast-menu-toggle {
        display: none !important;
    }


    /* =====================================================
       ÚNICA SETA — JOIAS
       ===================================================== */



    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle {
        position: absolute !important;

        top: 0 !important;
        right: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 3rem !important;
        height: 3.4rem !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;

        color: var(--vs-color-carbono) !important;

        transform: none !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle
    svg {
        display: block !important;

        width: 0.8rem !important;
        height: 0.8rem !important;

        margin: 0 !important;

        fill: currentColor !important;
    }

}

/* =========================================================
   HEADER MOBILE — SETAS DO MENU
   Mantém somente o toggle real de JOIAS
   ========================================================= */

@media (max-width: 1080px) {

    /* 1. Remove a seta duplicada que vem dentro do link JOIAS */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .menu-link
    > .dropdown-menu-toggle {
        display: none !important;
    }


    /* 2. Remove as setinhas antes de Anéis, Brincos etc. */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .sub-menu
    > .menu-item
    > .menu-link
    > .ast-icon {
        display: none !important;
    }


    /* Garante que as categorias comecem todas alinhadas */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .sub-menu
    > .menu-item
    > .menu-link {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }


    /* 3. Mantém somente o botão verdadeiro de abrir JOIAS */

    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children {
        position: relative !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > button.ast-menu-toggle {
        position: absolute !important;

        top: 0 !important;
        right: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 3rem !important;
        height: 3.4rem !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;

        color: var(--vs-color-carbono) !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > button.ast-menu-toggle
    .ast-icon {
        display: block !important;
    }


    body.single-product
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > button.ast-menu-toggle
    svg {
        display: block !important;

        width: 0.75rem !important;
        height: 0.75rem !important;

        fill: currentColor !important;
    }
}

/* =========================================================
   3D MOBILE — CONTROLES FINAIS
   ========================================================= */

@media (max-width: 767px) {

    body.single-product
    .vs-gallery-3d-stage
    .versaro-3d-controls {
        position: absolute !important;

        right: .65rem !important;
        bottom: .65rem !important;
        left: .65rem !important;

        z-index: 10;

        display: block !important;

        width: auto !important;

        margin: 0 !important;
        padding: .4rem !important;

        border:
            1px solid
            rgba(33,33,33,.08) !important;

        background:
            rgba(237,235,230,.92) !important;

        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

        box-shadow: none !important;
    }


    /* METAIS */

    body.single-product
    .vs-gallery-3d-stage
    .v3d-metal-group {
        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: .2rem !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;
    }


    /* PEDRAS */

    body.single-product
    .vs-gallery-3d-stage
    .v3d-stone-group {
        display: grid ;

        grid-template-columns:
            repeat(4, minmax(0,1fr));

        gap: .15rem !important;

        width: 100% !important;

        margin: .35rem 0 0 !important;

        padding: .35rem 0 0 !important;

        border: 0 !important;

        border-top:
            1px solid
            rgba(33,33,33,.08) !important;

        background: transparent !important;
        overflow: visible !important;
    }


    /* BOTÕES */

    body.single-product
    .vs-gallery-3d-stage
    .v3d-btn {
        display: flex !important;

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

        width: 100% !important;

        min-width: 0 !important;
        min-height: 1.9rem !important;

        margin: 0 !important;

        padding:
            0
            .2rem !important;

        border:
            1px solid
            transparent !important;

        border-radius: 0 !important;

        background:
            transparent !important;

        color:
            rgba(33,33,33,.48) !important;

        font-family:
            var(--vs-font-body) !important;

        font-size:
            .5rem !important;

        font-weight:
            var(--vs-font-weight-semibold) !important;

        line-height: 1 !important;

        letter-spacing:
            .04em !important;

        text-align: center;

        text-transform: uppercase;

        white-space: nowrap;

        box-shadow: none !important;
    }


    body.single-product
    .vs-gallery-3d-stage
    .v3d-btn.active {
        border-color:
            var(--vs-color-chama) !important;

        background:
            var(--vs-color-chama) !important;

        color:
            var(--vs-color-diamante) !important;
    }

}

/* =========================================================
   PRODUTO MOBILE — MODO 3D IMERSIVO
   Mantém o FlexSlider vivo por trás.
   ========================================================= */

@media (max-width: 767px) {

    /*
     * A fotografia continua existindo e mantendo
     * todo o estado interno do FlexSlider.
     *
     * Apenas sai visualmente da experiência.
     */

    body.single-product
    .woocommerce-product-gallery.is-3d-active
    .vs-gallery-photo-stage {

        position: absolute !important;

        top: 0 !important;
        left: 0 !important;

        width: 100% !important;

        opacity: 0 !important;
        visibility: hidden !important;

        pointer-events: none !important;
    }


    /*
     * O 3D passa a determinar a altura da galeria.
     */

    body.single-product
    .woocommerce-product-gallery.is-3d-active
    .vs-gallery-3d-stage {

        position: relative !important;

        top: auto !important;
        left: auto !important;

        width: 100% !important;
        height: auto !important;

        aspect-ratio: 2 / 3;

        opacity: 1 !important;
        visibility: visible !important;

        pointer-events: auto !important;

        z-index: 2;
    }


    /*
     * Miniaturas SEMPRE ficam disponíveis,
     * inclusive enquanto o 3D está aberto.
     */

    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs,

    body.single-product
    .woocommerce-product-gallery
    .vs-gallery-media-nav {

        position: relative !important;

        z-index: 10 !important;

        pointer-events: auto !important;
    }

}

/* =========================================================
   PRODUTO DESKTOP — GALERIA COM MINIATURAS VERTICAIS
   ========================================================= */

@media (min-width: 901px) {

    body.single-product
    .woocommerce-product-gallery {

        --vs-gallery-thumb-size: 3.75rem;
        --vs-gallery-thumb-gap: 0.8rem;

        display: grid !important;

        grid-template-columns:
            var(--vs-gallery-thumb-size)
            minmax(0, 1fr);

        grid-template-rows: auto;

        column-gap: var(--vs-gallery-thumb-gap);

        align-items: start;
    }


    /* Palco real das fotografias:
       FlexSlider continua controlando suas dimensões internas */

    body.single-product
    .woocommerce-product-gallery
    > .vs-gallery-photo-stage {

        grid-column: 2;
        grid-row: 1;

        min-width: 0;
    }


    /* Navegação / miniaturas */

    body.single-product
    .woocommerce-product-gallery
    > .flex-control-thumbs,

    body.single-product
    .woocommerce-product-gallery
    > .vs-gallery-media-nav {

        grid-column: 1;
        grid-row: 1;

        display: flex !important;
        flex-direction: column;
        flex-wrap: nowrap !important;

        gap: 0.55rem !important;

        width: var(--vs-gallery-thumb-size);

        margin: 0 !important;
        padding: 0 !important;

        align-self: start;
    }


    /* Itens das miniaturas nativas */

    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs
    li {

        flex: 0 0 auto;

        width: var(--vs-gallery-thumb-size) !important;

        margin: 0 !important;
    }


    /* Foto + botão 360° */

    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs
    img,

    body.single-product
    .vs-gallery-photo-thumb,

    body.single-product
    .vs-gallery-3d-thumb {

        width: var(--vs-gallery-thumb-size) !important;
        height: var(--vs-gallery-thumb-size) !important;
    }


    /* O palco 3D precisa coincidir exatamente
       com a coluna da fotografia */

    body.single-product
    .woocommerce-product-gallery
    > .vs-gallery-3d-stage {

        left:
            calc(
                var(--vs-gallery-thumb-size)
                + var(--vs-gallery-thumb-gap)
            );

        width:
            calc(
                100%
                - var(--vs-gallery-thumb-size)
                - var(--vs-gallery-thumb-gap)
            );
    }

}

/* =========================================================
   PRODUTO DESKTOP — CONFIGURADOR VERSARO / FINAL
   Material + Pedra + Valor + Medida + Frete
   ========================================================= */

@media (min-width: 901px) {

    /* Área de configuração */
    body.single-product
    .product-type-variable
    .summary
    form.variations_form.cart {
        margin-top: 1.5rem !important;
    }

    body.single-product
    .product-type-variable
    .summary
    table.variations {
        border-top: 1px solid var(--vs-config-line) !important;
    }

    body.single-product
    .product-type-variable
    .summary
    table.variations tr {
        display: block !important;
        width: 100%;
        padding: 1.35rem 0 0 !important;
        border: 0 !important;
    }

    body.single-product
    .product-type-variable
    .summary
    table.variations tr:last-child {
        border-bottom: 0 !important;
    }

    /* Títulos: Material / Pedra */
    body.single-product
    .product-type-variable
    .summary
    table.variations th.label {
        margin: 0 0 0.9rem !important;
    }

    body.single-product
    .product-type-variable
    .summary
    table.variations th.label label {
        display: block !important;
        margin: 0 !important;
        color: rgba(33, 33, 33, 0.58);
        font-family: var(--vs-font-body);
        font-size: 0.625rem !important;
        font-weight: var(--vs-font-weight-semibold);
        line-height: 1;
        letter-spacing: 0.16em;
        text-transform: uppercase;
    }

    /* Régua dos swatches */
    body.single-product
    .cfvsw-swatches-container {
        position: relative;
        display: flex !important;
        align-items: stretch;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 !important;
        gap: 0 !important;
        border-bottom: 1px solid var(--vs-config-line);
    }

    /* Material */
    body.single-product
    .cfvsw-swatches-container[swatches-attr="attribute_pa_material"] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 9.5rem));
        column-gap: 1.25rem !important;
        justify-content: start;
    }

    /* Pedra */
    body.single-product
    .cfvsw-swatches-container[swatches-attr="attribute_pa_pedra"] {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: 0.45rem !important;
    }

    /* Opções */
    body.single-product
    .cfvsw-swatches-option.cfvsw-label-option {
        position: relative;
        display: flex !important;
        align-items: flex-end;
        justify-content: center;
        min-width: 0 !important;
        min-height: 3.05rem !important;
        margin: 0 !important;
        padding: 0 0.22rem 0.82rem !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--vs-config-muted) !important;
        box-shadow: none !important;
        cursor: pointer;
        transition: color 160ms ease;
    }

    body.single-product
    .cfvsw-swatches-option
    .cfvsw-swatch-inner {
        width: 100%;
        min-width: 0;
        padding: 0 !important;
        color: inherit !important;
        font-family: var(--vs-font-body) !important;
        font-size: clamp(0.62rem, 0.58rem + 0.20vw, 0.72rem) !important;
        font-weight: var(--vs-font-weight-semibold) !important;
        line-height: 1.18 !important;
        letter-spacing: clamp(0.015em, 0.01em + 0.05vw, 0.04em);
        text-align: center;
        text-transform: uppercase;
        white-space: normal;
        text-wrap: balance;
        overflow-wrap: anywhere;
    }

    body.single-product
    .cfvsw-swatches-option.cfvsw-label-option:hover {
        color: var(--vs-color-canela) !important;
    }

    body.single-product
    .cfvsw-swatches-option.cfvsw-selected-swatch {
        color: var(--vs-color-chama) !important;
    }

    body.single-product
    .cfvsw-swatches-option.cfvsw-selected-swatch::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: -1px;
        left: 0;
        height: 2px;
        background: var(--vs-color-chama);
    }

    /* Valor da sua joia */
    body.single-product
    .woocommerce-variation-price {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: baseline;
        column-gap: 1.5rem;
        width: 100%;
        margin: 0 !important;
        padding: 1.3rem 0 1.15rem;
        border-bottom: 1px solid var(--vs-config-line);
    }

    body.single-product
    .woocommerce-variation-price::before {
        content: "PREÇO DA SUA JOIA";
        color: rgba(33, 33, 33, 0.54);
        font-family: var(--vs-font-body);
        font-size: 0.625rem;
        font-weight: var(--vs-font-weight-semibold);
        line-height: 1;
        letter-spacing: 0.15em;
        text-transform: uppercase;
    }

    body.single-product
    .woocommerce-variation-price
    .price {
        margin: 0 !important;
        color: var(--vs-color-carbono) !important;
        font-family: var(--vs-font-display) !important;
        font-size: clamp(1.35rem, 1.15rem + 0.55vw, 1.65rem) !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        letter-spacing: -0.015em;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    /* Buybox: medida / entrega */
    body.single-product
    .versaro-buybox {
        width: 100% !important;
        margin: 0 !important;
        padding: 1.45rem 0 0 !important;
        border-top: 0 !important;
    }

    body.single-product
    .versaro-buybox
    .vb-row {
        margin: 0 0 1.55rem !important;
    }

    body.single-product
    .vb-head {
        margin: 0 0 0.72rem;
    }

    body.single-product
    .vb-label {
        color: rgba(33, 33, 33, 0.70);
        font-size: 0.625rem !important;
        letter-spacing: 0.16em;
    }

    body.single-product
    .vb-hint {
        color: rgba(33, 33, 33, 0.38);
        font-size: 0.65rem;
    }

    /* Numeração */
    body.single-product
    .vs-ring-size-dropdown__toggle {
        min-height: var(--vs-config-control-height);
        padding: 0 1rem;
        border: 1px solid rgba(33, 33, 33, 0.14);
        background: rgba(255, 255, 255, 0.24);
        font-size: 0.80rem;
        transition: border-color 160ms ease, background 160ms ease;
    }

    body.single-product
    .vs-ring-size-dropdown__toggle:hover,
    body.single-product
    .vs-ring-size-dropdown.is-open
    .vs-ring-size-dropdown__toggle {
        border-color: rgba(150, 95, 62, 0.58);
        background: rgba(255, 255, 255, 0.46);
    }

    body.single-product
    .vs-ring-size-dropdown__arrow {
        color: var(--vs-color-canela);
        font-size: 0.75rem;
    }

    /* Frete */
    body.single-product
    .vb-shipping {
        min-height: var(--vs-config-control-height);
        border-color: rgba(33, 33, 33, 0.14);
        background: rgba(255, 255, 255, 0.24);
    }

    body.single-product
    .vb-input {
        height: var(--vs-config-control-height) !important;
        font-size: 0.78rem;
    }

    body.single-product
    .vb-shipping
    .vb-btn {
        height: var(--vs-config-control-height) !important;
    }
}

/* Proteção para notebooks / janela desktop reduzida */
@media (min-width: 901px) and (max-width: 1240px) {

    body.single-product
    .cfvsw-swatches-option
    .cfvsw-swatch-inner {
        font-size: 0.64rem !important;
        letter-spacing: 0.02em;
    }

    body.single-product
    .woocommerce-variation-price::before {
        font-size: 0.59rem;
    }

    body.single-product
    .woocommerce-variation-price
    .price {
        font-size: 1.35rem !important;
    }
}

/* =========================================================
   HOME / PÁGINAS INTERNAS — SUBMENU NO PADRÃO CHAMA
   ========================================================= */

@media (min-width: 1081px) {

    body:not(.single-product)
    .main-header-menu
    .sub-menu {

        background-color:
            rgba(110, 52, 31, 0.98) !important;

        border:
            1px solid
            rgba(237, 235, 230, 0.14);

        box-shadow:
            0 1rem 3rem
            rgba(33, 33, 33, 0.18);
    }

}

/* =========================================================
   PRODUTO MOBILE — PREÇO DA SUA JOIA
   Padroniza produto simples + preço final variável
   ========================================================= */

@media (max-width: 900px) {

    /* -----------------------------------------------------
       PRODUTO SIMPLES
       ----------------------------------------------------- */

    body.single-product
    .product-type-simple
    .summary.entry-summary
    > .price {

        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            auto;

        align-items:
            baseline;

        gap:
            1rem;

        width:
            100%;

        margin:
            1.35rem
            0
            0 !important;

        padding:
            1.15rem
            0
            1.05rem;

        border-top:
            1px solid
            rgba(33, 33, 33, 0.10);

        border-bottom:
            1px solid
            rgba(33, 33, 33, 0.10);

        color:
            var(--vs-color-carbono) !important;
    }


    body.single-product
    .product-type-simple
    .summary.entry-summary
    > .price::before {

        content:
            "PREÇO DA SUA JOIA";

        color:
            rgba(33, 33, 33, 0.52);

        font-family:
            var(--vs-font-body);

        font-size:
            0.575rem;

        font-weight:
            var(--vs-font-weight-semibold);

        line-height:
            1.15;

        letter-spacing:
            0.13em;

        text-transform:
            uppercase;
    }


    body.single-product
    .product-type-simple
    .summary.entry-summary
    > .price
    .woocommerce-Price-amount {

        color:
            var(--vs-color-carbono) !important;

        font-family:
            var(--vs-font-display) !important;

        font-size:
            clamp(
                1.25rem,
                5.5vw,
                1.5rem
            ) !important;

        font-weight:
            400 !important;

        line-height:
            1 !important;

        letter-spacing:
            -0.015em;

        white-space:
            nowrap;

        font-variant-numeric:
            tabular-nums;
    }



    /* -----------------------------------------------------
       PRODUTO VARIÁVEL
       Mesmo componente após resolver a combinação
       ----------------------------------------------------- */

    body.single-product
    .woocommerce-variation-price {

        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            auto;

        align-items:
            baseline;

        gap:
            1rem;

        width:
            100%;

        margin:
            0 !important;

        padding:
            1.15rem
            0
            1.05rem;

        border-bottom:
            1px solid
            rgba(33, 33, 33, 0.10);
    }


    body.single-product
    .woocommerce-variation-price::before {

        content:
            "PREÇO DA SUA JOIA";

        color:
            rgba(33, 33, 33, 0.52);

        font-family:
            var(--vs-font-body);

        font-size:
            0.575rem;

        font-weight:
            var(--vs-font-weight-semibold);

        line-height:
            1.15;

        letter-spacing:
            0.13em;

        text-transform:
            uppercase;
    }


    body.single-product
    .woocommerce-variation-price
    .price {

        margin:
            0 !important;

        color:
            var(--vs-color-carbono) !important;

        font-family:
            var(--vs-font-display) !important;

        font-size:
            clamp(
                1.25rem,
                5.5vw,
                1.5rem
            ) !important;

        font-weight:
            400 !important;

        line-height:
            1 !important;

        letter-spacing:
            -0.015em;

        white-space:
            nowrap;

        font-variant-numeric:
            tabular-nums;
    }


    /* Buybox simples não precisa manter o espaçamento antigo
       depois que o preço virou um componente estrutural */

    body.single-product
    .product-type-simple
    .summary
    form.cart
    .versaro-buybox {

        margin:
            0 !important;

        padding:
            1.35rem
            0
            0 !important;

        border-top:
            0 !important;
    }

}

/* =========================================================
   HOME — ESCOLHA SEU CAMINHO
   VERSÃO FINAL CONSOLIDADA
   ========================================================= */


/* =========================================================
   01. SEÇÃO
   ========================================================= */

body.home .vs-home-paths {

    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
        clamp(3.25rem, 4.5vw, 4.5rem)
        clamp(1.5rem, 5vw, 5rem)
        clamp(4.5rem, 6vw, 6rem);

    background:
        var(--vs-color-diamante);

    color:
        var(--vs-color-carbono);
}


body.home .vs-home-paths,
body.home .vs-home-paths__header,
body.home .vs-home-paths__grid,
body.home .vs-home-path,
body.home .vs-home-path-3d {

    box-sizing:
        border-box;
}



/* =========================================================
   02. CABEÇALHO
   SOMENTE O TÍTULO CENTRAL
   ========================================================= */

body.home .vs-home-paths__header {

    display:
        grid !important;

    grid-template-columns:
        minmax(2rem, 1fr)
        auto
        minmax(2rem, 1fr);

    align-items:
        center !important;

    width:
        100%;

    max-width:
        84rem;

    margin:
        0 auto
        clamp(2rem, 3vw, 2.75rem) !important;

    padding:
        0 !important;

    gap:
        clamp(1rem, 2vw, 2rem) !important;
}




/* =========================================================
   03. REMOVE OS TEXTOS ANTIGOS DO CABEÇALHO
   ========================================================= */

body.home .vs-home-paths__eyebrow,
body.home .vs-home-paths__intro {

    display:
        none !important;
}



/* =========================================================
   04. TÍTULO CENTRAL
   ========================================================= */

body.home .vs-home-paths__title {

    grid-column:
        2;

    width:
        auto;

    max-width:
        none;

    margin:
        0 !important;

    padding:
        0 !important;

    text-align:
        center;
}


body.home .vs-home-paths__title,
body.home .vs-home-paths__title
.elementor-heading-title {

    margin:
        0 !important;

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            2.25rem,
            3vw,
            3.35rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.04 !important;

    letter-spacing:
        -0.03em !important;

    text-align:
        center !important;

    white-space:
        nowrap;
}



/* =========================================================
   05. GRID PRINCIPAL
   ASSIMETRIA 7/5 → 5/7
   ========================================================= */

body.home .vs-home-paths__grid {

    display:
        grid !important;

    grid-template-columns:
        repeat(12, minmax(0, 1fr)) !important;

    align-items:
        stretch !important;

    justify-items:
        stretch !important;

    width:
        100%;

    max-width:
        84rem;

    margin:
        0 auto !important;

    padding:
        0 !important;

    gap:
        0.75rem !important;
}



/* =========================================================
   06. POSICIONAMENTO
   ========================================================= */


/* 01 — CRIAR UMA JOIA */

body.home
.vs-home-paths__grid
> .vs-home-path--create {

    grid-column:
        1 / 8 !important;

    grid-row:
        1 !important;
}


/* 02 — VER TODAS AS JOIAS */

body.home
.vs-home-paths__grid
> .vs-home-path--shop {

    grid-column:
        8 / 13 !important;

    grid-row:
        1 !important;
}


/* 03 — NOSSO PROCESSO */

body.home
.vs-home-paths__grid
> .vs-home-path--process {

    grid-column:
        1 / 6 !important;

    grid-row:
        2 !important;
}


/* 04 — SOBRE A VERSARO */

body.home
.vs-home-paths__grid
> .vs-home-path--about {

    grid-column:
        6 / 13 !important;

    grid-row:
        2 !important;
}


/* 05 — EXPERIÊNCIA 3D */

body.home
.vs-home-paths__grid
> .vs-home-path-3d {

    grid-column:
        1 / 13 !important;

    grid-row:
        3 !important;
}



/* =========================================================
   07. ESTRUTURA DOS CARDS
   ========================================================= */

body.home .vs-home-path {

    position:
        relative;

    isolation:
        isolate;

    display:
        flex !important;

    flex-direction:
        column !important;

    align-items:
        flex-start !important;

    justify-content:
        flex-end !important;

    gap:
        0 !important;

    min-width:
        0;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        clamp(
            1.8rem,
            2.6vw,
            2.75rem
        ) !important;

    overflow:
        hidden;

    border:
        0 !important;

    border-radius:
        0 !important;

    background-position:
        center center;

    background-repeat:
        no-repeat;

    background-size:
        cover;

    text-decoration:
        none !important;
}



/* Primeira linha */

body.home .vs-home-path--create,
body.home .vs-home-path--shop {

    min-height:
        clamp(
            27rem,
            31vw,
            32rem
        ) !important;
}


/* Segunda linha */

body.home .vs-home-path--process,
body.home .vs-home-path--about {

    min-height:
        clamp(
            22rem,
            26vw,
            26rem
        ) !important;
}



/* =========================================================
   08. CONTEÚDO DOS CARDS
   ========================================================= */

body.home .vs-home-path > * {

    position:
        relative;

    z-index:
        3;
}



/* =========================================================
   09. CARDS COM FOTOGRAFIA
   ========================================================= */

body.home .vs-home-path--image {

    color:
        var(--vs-color-diamante) !important;
}


body.home .vs-home-path--image::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        1;

    background:
        linear-gradient(
            180deg,
            rgba(18, 18, 18, 0.02) 5%,
            rgba(18, 18, 18, 0.12) 42%,
            rgba(18, 18, 18, 0.86) 100%
        );

    pointer-events:
        none;
}



/* Criar uma joia — preserva mais luz */

body.home .vs-home-path--create::before {

    background:
        linear-gradient(
            180deg,
            rgba(18, 18, 18, 0.01) 5%,
            rgba(18, 18, 18, 0.12) 44%,
            rgba(18, 18, 18, 0.88) 100%
        );
}



/* =========================================================
   10. CATÁLOGO
   Fundo oficial pode ser colocado no Elementor.
   Chama funciona como fallback.
   ========================================================= */

body.home .vs-home-path--shop {

    background-color:
        var(--vs-color-chama) !important;

    color:
        var(--vs-color-diamante) !important;
}



/* =========================================================
   11. NOSSO PROCESSO
   Imagem técnica no fundo + Carbono
   ========================================================= */

body.home .vs-home-path--process {

    position:
        relative;

    overflow:
        hidden;

    background-color:
        var(--vs-color-carbono) !important;

    /*
     * 32% mostra mais o topo da pedra.
     * Esse é o principal "editor" vertical da imagem.
     */
    background-position:
        center 32% !important;

    background-repeat:
        no-repeat !important;

    background-size:
        cover !important;

    color:
        var(--vs-color-diamante) !important;
}



/* Escurece a imagem sem fazê-la desaparecer */

body.home .vs-home-path--process::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        1;

    background:
        linear-gradient(
            90deg,
            rgba(18, 18, 18, 0.91) 0%,
            rgba(18, 18, 18, 0.84) 48%,
            rgba(18, 18, 18, 0.72) 100%
        );

    pointer-events:
        none;
}



/* Segunda camada extremamente sutil */

body.home .vs-home-path--process::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        2;

    background:
        linear-gradient(
            180deg,
            rgba(18, 18, 18, 0.08) 0%,
            rgba(18, 18, 18, 0.22) 100%
        );

    pointer-events:
        none;
}



/* =========================================================
   12. EYEBROW DOS CARDS
   ========================================================= */

body.home .vs-home-path__eyebrow {

    margin:
        0
        0
        0.85rem !important;

    padding:
        0 !important;
}


body.home .vs-home-path__eyebrow,
body.home .vs-home-path__eyebrow
.elementor-heading-title {

    color:
        currentColor !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.60rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1.15 !important;

    letter-spacing:
        0.16em !important;

    text-transform:
        uppercase;

    opacity:
        0.70;
}



/* =========================================================
   13. TÍTULOS DOS CARDS
   ========================================================= */

body.home .vs-home-path__title {

    max-width:
        13ch;

    margin:
        0 !important;

    padding:
        0 !important;
}


body.home .vs-home-path__title,
body.home .vs-home-path__title
.elementor-heading-title {

    color:
        currentColor !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            2rem,
            2.45vw,
            2.65rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.04 !important;

    letter-spacing:
        -0.025em !important;
}



/* =========================================================
   14. TEXTO DOS CARDS
   ========================================================= */

body.home .vs-home-path__text {

    width:
        100%;

    max-width:
        31rem;

    margin:
        1.05rem
        0
        0 !important;

    padding:
        0 !important;
}


body.home .vs-home-path__text,
body.home .vs-home-path__text p {

    color:
        currentColor !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.88rem !important;

    font-weight:
        400;

    line-height:
        1.65 !important;

    opacity:
        0.78;
}


body.home .vs-home-path__text p {

    margin:
        0 !important;
}



/* =========================================================
   15. TEXTO CLARO NOS CARDS ESCUROS
   ========================================================= */

body.home .vs-home-path--image,
body.home .vs-home-path--shop,
body.home .vs-home-path--process {

    color:
        var(--vs-color-diamante) !important;
}


body.home .vs-home-path--image
.vs-home-path__eyebrow,

body.home .vs-home-path--image
.vs-home-path__title,

body.home .vs-home-path--image
.vs-home-path__text,

body.home .vs-home-path--shop
.vs-home-path__eyebrow,

body.home .vs-home-path--shop
.vs-home-path__title,

body.home .vs-home-path--shop
.vs-home-path__text,

body.home .vs-home-path--process
.vs-home-path__eyebrow,

body.home .vs-home-path--process
.vs-home-path__title,

body.home .vs-home-path--process
.vs-home-path__text {

    color:
        var(--vs-color-diamante) !important;
}


body.home .vs-home-path--image
.elementor-heading-title,

body.home .vs-home-path--shop
.elementor-heading-title,

body.home .vs-home-path--process
.elementor-heading-title {

    color:
        inherit !important;
}



/* =========================================================
   16. LINKS
   ========================================================= */

body.home .vs-home-path__link {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        0.65rem;

    width:
        fit-content;

    margin-top:
        1.55rem;

    padding:
        0
        0
        0.38rem;

    border-bottom:
        1px solid
        currentColor;

    color:
        var(--vs-color-diamante) !important;

    font-family:
        var(--vs-font-body);

    font-size:
        0.64rem;

    font-weight:
        var(--vs-font-weight-semibold);

    line-height:
        1;

    letter-spacing:
        0.12em;

    text-decoration:
        none !important;

    text-transform:
        uppercase;

    opacity:
        0.90;

    transition:
        gap 180ms ease,
        opacity 180ms ease,
        transform 180ms ease;
}


body.home .vs-home-path:hover
.vs-home-path__link {

    gap:
        0.95rem;

    opacity:
        1;

    transform:
        translateX(0.15rem);
}



/* =========================================================
   17. EXPERIÊNCIA 3D
   ========================================================= */

body.home .vs-home-path-3d {

    position:
        relative;

    display:
        grid !important;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto !important;

    align-items:
        center !important;

    width:
        100% !important;

    min-height:
        9rem;

    margin:
        0 !important;

    padding:
        clamp(
            1.7rem,
            2.6vw,
            2.4rem
        )
        clamp(
            1.75rem,
            3.25vw,
            3.25rem
        ) !important;

    column-gap:
        clamp(
            1.5rem,
            3vw,
            3rem
        );

    border:
        0 !important;

    border-top:
        1px solid
        rgba(33, 33, 33, 0.12) !important;

    border-bottom:
        1px solid
        rgba(33, 33, 33, 0.12) !important;

    background:
        var(--vs-color-perola) !important;

    color:
        var(--vs-color-carbono);
}



/* Número */

body.home .vs-home-path-3d__number {

    margin:
        0 !important;
}


body.home .vs-home-path-3d__number,
body.home .vs-home-path-3d__number
.elementor-heading-title {

    color:
        var(--vs-color-canela) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.60rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1 !important;

    letter-spacing:
        0.15em !important;

    text-transform:
        uppercase;
}



/* Título 3D */

body.home .vs-home-path-3d__title {

    margin:
        0 !important;
}


body.home .vs-home-path-3d__title,
body.home .vs-home-path-3d__title
.elementor-heading-title {

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            1.85rem,
            2.35vw,
            2.55rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.05 !important;

    letter-spacing:
        -0.025em !important;
}



/* Link 3D */

body.home .vs-home-path-3d__link {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        0.55rem;

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-body);

    font-size:
        0.64rem;

    font-weight:
        var(--vs-font-weight-semibold);

    line-height:
        1;

    letter-spacing:
        0.12em;

    text-decoration:
        none !important;

    text-transform:
        uppercase;

    white-space:
        nowrap;

    transition:
        transform 180ms ease;
}


body.home .vs-home-path-3d__link:hover {

    transform:
        translateY(0.15rem);
}



/* =========================================================
   18. HOVER DESKTOP
   ========================================================= */

@media (hover: hover) and (min-width: 901px) {

    body.home .vs-home-path {

        transition:
            filter 250ms ease;
    }


    body.home .vs-home-path--image:hover {

        filter:
            brightness(1.035);
    }


    body.home .vs-home-path--shop:hover {

        filter:
            brightness(1.06);
    }


    body.home .vs-home-path--process:hover {

        filter:
            brightness(1.06);
    }

}



/* =========================================================
   19. NOTEBOOK
   ========================================================= */

@media (min-width: 768px) and (max-width: 1180px) {

    body.home .vs-home-paths {

        padding-left:
            2rem;

        padding-right:
            2rem;
    }


    body.home .vs-home-paths__title,
    body.home .vs-home-paths__title
    .elementor-heading-title {

        font-size:
            clamp(
                2rem,
                3vw,
                2.7rem
            ) !important;
    }


    body.home .vs-home-path--create,
    body.home .vs-home-path--shop {

        min-height:
            25rem !important;
    }


    body.home .vs-home-path--process,
    body.home .vs-home-path--about {

        min-height:
            21rem !important;
    }


    body.home .vs-home-path__text,
    body.home .vs-home-path__text p {

        font-size:
            0.82rem !important;
    }

}



/* =========================================================
   20. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.home .vs-home-paths {

        padding:
            3rem
            1.25rem
            4.25rem;
    }


    /* Cabeçalho */

    body.home .vs-home-paths__header {

        grid-template-columns:
            1fr;

        margin-bottom:
            1.75rem !important;

        gap:
            0 !important;
    }


    body.home .vs-home-paths__header::before {

        display:
            none;
    }


    body.home .vs-home-paths__header::after {

        width:
            3.5rem;

        margin:
            1.1rem auto 0;

        background:
            var(--vs-color-canela);

        opacity:
            0.45;
    }


    body.home .vs-home-paths__title {

        grid-column:
            1;

        width:
            100%;

        text-align:
            center;
    }


    body.home .vs-home-paths__title,
    body.home .vs-home-paths__title
    .elementor-heading-title {

        font-size:
            clamp(
                2rem,
                8vw,
                2.65rem
            ) !important;

        line-height:
            1.05 !important;

        white-space:
            normal;

        text-align:
            center !important;
    }


    /* Grid */

    body.home .vs-home-paths__grid {

        grid-template-columns:
            1fr !important;

        gap:
            0.65rem !important;
    }


    body.home
    .vs-home-paths__grid
    > .vs-home-path--create,

    body.home
    .vs-home-paths__grid
    > .vs-home-path--shop,

    body.home
    .vs-home-paths__grid
    > .vs-home-path--process,

    body.home
    .vs-home-paths__grid
    > .vs-home-path--about,

    body.home
    .vs-home-paths__grid
    > .vs-home-path-3d {

        grid-column:
            1 !important;

        grid-row:
            auto !important;
    }


    /* Cards */

    body.home .vs-home-path {

        padding:
            1.65rem !important;
    }


    body.home .vs-home-path--create,
    body.home .vs-home-path--about {

        min-height:
            24rem !important;
    }


    body.home .vs-home-path--shop,
    body.home .vs-home-path--process {

        min-height:
            19rem !important;
    }


    body.home .vs-home-path__title,
    body.home .vs-home-path__title
    .elementor-heading-title {

        font-size:
            1.9rem !important;
    }


    body.home .vs-home-path__text {

        max-width:
            100%;
    }


    body.home .vs-home-path__text,
    body.home .vs-home-path__text p {

        font-size:
            0.85rem !important;
    }


    /* Processo */

    body.home .vs-home-path--process {

        background-position:
            center 28% !important;
    }


    /* 3D */

    body.home .vs-home-path-3d {

        grid-template-columns:
            1fr !important;

        gap:
            0.8rem;

        min-height:
            0;

        padding:
            1.7rem
            1.5rem !important;
    }


    body.home .vs-home-path-3d__title,
    body.home .vs-home-path-3d__title
    .elementor-heading-title {

        font-size:
            1.75rem !important;
    }


    body.home .vs-home-path-3d__link {

        margin-top:
            0.25rem;
    }

}

/* =========================================================
   HOME — CABEÇALHOS EDITORIAIS
   ========================================================= */


/* =========================================================
   CRIAÇÕES VERSARO
   ========================================================= */

body.home .vs-home-creations__header {
    position: relative;

    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;

    width: 100%;
    max-width: 88rem;

    margin:
        0 auto
        clamp(2.75rem, 4vw, 4rem) !important;

    padding: 0 !important;

    gap: 0 !important;

    text-align: center;
}


/* Remove o antigo marcador "01 · CURADORIA VERSARO" */

body.home .vs-home-creations__header::before {
    content: none !important;
    display: none !important;
}


/* Título */

body.home .vs-home-creations__title,
body.home .vs-home-creations__title
.elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;

    color: var(--vs-color-carbono) !important;

    font-family: var(--vs-font-display) !important;

    font-size:
        clamp(
            2.35rem,
            3.1vw,
            3.5rem
        ) !important;

    font-weight: 400 !important;
    line-height: 1.05 !important;

    letter-spacing: 0.035em !important;

    text-align: center !important;
    text-transform: uppercase;
}


/* Pequeno traço editorial */

body.home .vs-home-creations__title::after {
    content: "";

    display: block;

    width: 3.25rem;
    height: 1px;

    margin:
        1.15rem
        auto
        0;

    background:
        rgba(110, 52, 31, 0.48);
}


/* Link */

body.home .vs-home-creations__all {
    display: inline-flex !important;
    align-items: center;

    width: fit-content;

    margin:
        1rem
        auto
        0 !important;

    padding:
        0
        0
        0.35rem;

    border-bottom:
        1px solid
        rgba(110, 52, 31, 0.28);

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.625rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height: 1;

    letter-spacing:
        0.14em !important;

    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        color 180ms ease,
        border-color 180ms ease;
}


body.home .vs-home-creations__all:hover {
    color:
        var(--vs-color-carbono) !important;

    border-bottom-color:
        var(--vs-color-carbono);
}


/* =========================================================
   ESCOLHA COMO QUER CONHECER A VERSARO
   ========================================================= */

body.home .vs-home-paths__header {
    position: relative;

    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100%;
    max-width: 82rem;

    margin:
        0 auto
        clamp(2rem, 3vw, 3rem) !important;

    padding:
        clamp(0.75rem, 1vw, 1.25rem)
        1.5rem
        0 !important;

    text-align: center;
}


/* elimina as duas linhas laterais antigas */

body.home .vs-home-paths__header::before {
    display: none !important;
    content: none !important;
}


/* deixa apenas um detalhe inferior */

body.home .vs-home-paths__header::after {
    content: "";

    display: block !important;

    width: 2.5rem;
    height: 1px;

    margin:
        1.15rem
        auto
        0;

    background:
        rgba(150, 95, 62, 0.56) !important;
}


/* título */

body.home .vs-home-paths__title,
body.home .vs-home-paths__title
.elementor-heading-title {
    margin: 0 !important;

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            1.9rem,
            2.35vw,
            2.65rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.12 !important;

    letter-spacing:
        -0.012em !important;

    text-align:
        center !important;

    text-transform:
        none !important;

    white-space:
        normal !important;

    text-wrap:
        balance;
}


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

@media (max-width: 767px) {

    body.home .vs-home-creations__header {
        padding:
            0
            1.25rem !important;

        margin-bottom:
            2rem !important;
    }


    body.home .vs-home-creations__title,
    body.home .vs-home-creations__title
    .elementor-heading-title {
        font-size:
            clamp(
                2rem,
                9vw,
                2.55rem
            ) !important;

        letter-spacing:
            0.025em !important;
    }


    body.home .vs-home-creations__all {
        margin-top:
            0.9rem !important;
    }


    body.home .vs-home-paths__header {
        padding:
            0
            0.5rem !important;

        margin-bottom:
            1.75rem !important;
    }


    body.home .vs-home-paths__title,
    body.home .vs-home-paths__title
    .elementor-heading-title {
        max-width:
            18ch;

        font-size:
            clamp(
                1.75rem,
                8vw,
                2.2rem
            ) !important;

        line-height:
            1.12 !important;
    }

}


/* =========================================================
   CABEÇALHO
   ========================================================= */

body.home .vs-home-creations__header {

    position:
        relative;

    display:
        grid !important;

    justify-content:
        space-between !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items:
        end !important;

    gap:
        1.5rem
        2rem !important;

    width:
        100%;

    max-width:
        88rem;

    margin:
        0 auto
        clamp(2rem, 2.8vw, 2.75rem) !important;

    padding:
        1.25rem 0 0 !important;
}


/* Pequeno marcador editorial */

body.home .vs-home-creations__header::before {

    content:
        "01 · CURADORIA VERSARO";

    position:
        absolute;

    top:
        0;

    left:
        0;

    color:
        var(--vs-color-canela);

    font-family:
        var(--vs-font-body);

    font-size:
        0.58rem;

    font-weight:
        var(--vs-font-weight-semibold);

    line-height:
        1;

    letter-spacing:
        0.16em;

    text-transform:
        uppercase;

    opacity:
        0.88;
}


/* Título */

body.home .vs-home-creations__title {

    margin:
        0 !important;

    padding:
        0 !important;
}


body.home .vs-home-creations__title,
body.home .vs-home-creations__title
.elementor-heading-title {

    margin:
        0 !important;

    color:
        var(--vs-color-carbono) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            2.15rem,
            2.7vw,
            3rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.04 !important;

    letter-spacing:
        -0.03em !important;
}


/* Link */

body.home .vs-home-creations__all {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        0.55rem;

    align-self:
        end;

    padding-bottom:
        0.3rem;

    border-bottom:
        1px solid
        rgba(110, 52, 31, 0.35);

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-body);

    font-size:
        0.62rem;

    font-weight:
        var(--vs-font-weight-semibold);

    line-height:
        1;

    letter-spacing:
        0.12em;

    text-decoration:
        none !important;

    text-transform:
        uppercase;

    white-space:
        nowrap;

    transition:
        gap 180ms ease,
        border-color 180ms ease,
        opacity 180ms ease;
}


body.home .vs-home-creations__all:hover {

    gap:
        0.82rem;

    border-color:
        var(--vs-color-chama);

    opacity:
        1;
}


/* =========================================================
   WRAPPER WOOCOMMERCE
   ========================================================= */

body.home
.vs-home-creations__products
.woocommerce {

    width:
        100%;

    max-width:
        88rem;

    margin:
        0 auto !important;

    padding:
        0 !important;

    background:
        transparent !important;
}


body.home
.vs-home-creations__products
.woocommerce
ul.products {

    display:
        grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap:
        clamp(
            0.75rem,
            1vw,
            1rem
        ) !important;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


/* =========================================================
   CARD
   ========================================================= */

body.home
.vs-home-creations__products
ul.products
li.product {

    display:
        flex !important;

    flex-direction:
        column;

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;
}


/* =========================================================
   IMAGEM
   ========================================================= */

body.home
.vs-home-creations__products
.astra-shop-thumbnail-wrap {

    position:
        relative;

    width:
        100%;

    overflow:
        hidden;

    background:
        #ece7e0;
}


body.home
.vs-home-creations__products
.astra-shop-thumbnail-wrap
a {

    display:
        block;

    width:
        100%;

    aspect-ratio:
        3 / 4;

    overflow:
        hidden;
}


body.home
.vs-home-creations__products
.astra-shop-thumbnail-wrap
img {

    display:
        block;

    width:
        100% !important;

    height:
        100% !important;

    margin:
        0 !important;

    object-fit:
        cover;

    object-position:
        center;

    transition:
        transform 450ms cubic-bezier(.22,.61,.36,1),
        filter 250ms ease;
}


@media (hover: hover) {

    body.home
    .vs-home-creations__products
    li.product:hover
    .astra-shop-thumbnail-wrap
    img {

        transform:
            scale(1.02);

        filter:
            brightness(1.02);
    }
}


/* =========================================================
   INFORMAÇÃO
   ========================================================= */

body.home
.vs-home-creations__products
.astra-shop-summary-wrap {

    display:
        block;

    margin:
        0 !important;

    padding:
        1rem
        0
        0 !important;
}


/* Categoria volta a aparecer */

body.home
.vs-home-creations__products
.ast-woo-product-category {

    display:
        block !important;

    margin:
        0
        0
        0.42rem !important;

    color:
        var(--vs-color-canela) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.56rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1.2 !important;

    letter-spacing:
        0.13em !important;

    text-transform:
        uppercase;

    opacity:
        0.86;
}


/* Link do card */

body.home
.vs-home-creations__products
.ast-loop-product__link {

    display:
        block;

    text-decoration:
        none !important;
}


/* Nome do produto */

body.home
.vs-home-creations__products
.woocommerce-loop-product__title {

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        var(--vs-color-carbono) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            1.05rem,
            1.15vw,
            1.24rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.18 !important;

    letter-spacing:
        -0.015em !important;

    text-transform:
        none !important;
}


/* Oculta preço e outros elementos */
body.home
.vs-home-creations__products
.price,

body.home
.vs-home-creations__products
.star-rating,

body.home
.vs-home-creations__products
.button,

body.home
.vs-home-creations__products
.add_to_cart_button {

    display:
        none !important;
}


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

@media (max-width: 767px) {

    body.home .vs-home-creations {

        padding:
            2rem
            0
            1.25rem;
    }


    body.home .vs-home-creations__header {

        grid-template-columns:
            1fr;

        padding:
            1.1rem
            1.25rem
            0 !important;

        margin-bottom:
            1.5rem !important;
    }


    body.home .vs-home-creations__title,
    body.home .vs-home-creations__title
    .elementor-heading-title {

        font-size:
            2rem !important;
    }


    body.home .vs-home-creations__all {

        width:
            fit-content;

        margin-top:
            0.35rem;

        font-size:
            0.575rem;
    }


    body.home
    .vs-home-creations__products
    .woocommerce {

        max-width:
            none;

        overflow:
            hidden;
    }


    body.home
    .vs-home-creations__products
    .woocommerce
    ul.products {

        display:
            flex !important;

        flex-wrap:
            nowrap !important;

        gap:
            0.75rem !important;

        overflow-x:
            auto;

        overscroll-behavior-inline:
            contain;

        scroll-snap-type:
            x mandatory;

        scrollbar-width:
            none;

        padding:
            0
            1.25rem
            0.5rem !important;
    }


    body.home
    .vs-home-creations__products
    .woocommerce
    ul.products::-webkit-scrollbar {

        display:
            none;
    }


    body.home
    .vs-home-creations__products
    ul.products
    li.product {

        flex:
            0 0
            min(72vw, 19rem) !important;

        scroll-snap-align:
            start;
    }


    body.home
    .vs-home-creations__products
    .astra-shop-summary-wrap {

        padding-top:
            0.8rem !important;
    }


    body.home
    .vs-home-creations__products
    .woocommerce-loop-product__title {

        font-size:
            1rem !important;
    }
}


/* =========================================================
   HOME — CRIAÇÕES VERSARO
   REFINAMENTO EDITORIAL
   ========================================================= */

body.home .vs-home-creations__header {
    margin:
        0 auto
        clamp(2rem, 2.8vw, 2.75rem) !important;
}


/* Título */

body.home .vs-home-creations__title,
body.home .vs-home-creations__title
.elementor-heading-title {
    color:
        var(--vs-color-carbono) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            2.65rem,
            3.65vw,
            4rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1 !important;

    letter-spacing:
        -0.025em !important;

    text-transform:
        none !important;

    text-align:
        center !important;
}


/* Traço */

body.home .vs-home-creations__title::after {
    width:
        2.5rem;

    margin-top:
        1rem;

    background:
        rgba(110, 52, 31, 0.38);
}


/* Link */

body.home .vs-home-creations__all {
    margin-top:
        0.9rem !important;

    padding-bottom:
        0.35rem;

    font-size:
        0.6875rem !important;

    letter-spacing:
        0.13em !important;
}

body.home .vs-home-paths__header {
    margin:
        0 auto
        clamp(1.75rem, 2.5vw, 2.5rem) !important;

    padding-top:
        0 !important;
}

body.home .vs-home-paths__header::after {
    width:
        2rem;

    margin-top:
        1rem;

    background:
        rgba(150, 95, 62, 0.42) !important;
}

/* =========================================================
   HOME — MOBILE CONSOLIDADO
   Hero + Criações + Caminhos
   ========================================================= */

@media (max-width: 767px) {

    /* =====================================================
       01. ESTRUTURA BASE
       ===================================================== */

    body.home {
        overflow-x: hidden;
    }

    body.home #content,
    body.home #primary,
    body.home #main,
    body.home article,
    body.home .entry-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }


    /* =====================================================
       02. HERO
       ===================================================== */

    body.home .vs-home-hero {
        --width: 100% !important;

        position: relative;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        overflow: hidden;
    }

    body.home .vs-home-hero > .e-con-inner,
    body.home .vs-home-hero > .elementor-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }


    /* =====================================================
       03. CRIAÇÕES VERSARO
       ===================================================== */

    body.home .vs-home-creations {
        --width: 100% !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        padding:
            3rem
            0
            3.75rem !important;

        overflow: hidden;
    }


    /* Cabeçalho */

    body.home .vs-home-creations__header {
        display: flex !important;

        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin:
            0 auto
            1.75rem !important;

        padding:
            0
            1.25rem !important;

        gap:
            0 !important;

        text-align: center;
    }


    /* não queremos marcador legado */

    body.home
    .vs-home-creations__header::before {
        content: none !important;
        display: none !important;
    }


    /* título */

    body.home .vs-home-creations__title,
    body.home .vs-home-creations__title
    .elementor-heading-title {
        width: 100% !important;

        margin: 0 !important;

        color:
            var(--vs-color-carbono) !important;

        font-family:
            var(--vs-font-display) !important;

        font-size:
            clamp(
                2.15rem,
                9vw,
                2.65rem
            ) !important;

        font-weight: 400 !important;

        line-height: 1.03 !important;

        letter-spacing:
            -0.025em !important;

        text-align:
            center !important;

        text-transform:
            none !important;

        white-space:
            normal !important;
    }


    body.home
    .vs-home-creations__title::after {
        width:
            2.25rem !important;

        margin:
            0.9rem
            auto
            0 !important;
    }


    /* ver todas */

    body.home .vs-home-creations__all {
        display:
            inline-flex !important;

        width:
            fit-content !important;

        margin:
            0.85rem
            auto
            0 !important;

        font-size:
            0.59rem !important;

        letter-spacing:
            0.13em !important;
    }


    /* =====================================================
       VITRINE
       ===================================================== */

    body.home
    .vs-home-creations__products {
        width: 100% !important;
        min-width: 0 !important;
    }


    body.home
    .vs-home-creations__products
    .woocommerce {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;

        overflow: hidden !important;
    }


    body.home
    .vs-home-creations__products
    .woocommerce
    ul.products {
        display: flex !important;

        flex-direction: row !important;
        flex-wrap: nowrap !important;

        grid-template-columns:
            none !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;

        padding:
            0
            1.25rem
            0.5rem !important;

        gap:
            0.75rem !important;

        overflow-x:
            auto !important;

        overflow-y:
            hidden !important;

        scroll-snap-type:
            x mandatory;

        overscroll-behavior-x:
            contain;

        scrollbar-width:
            none;

        -webkit-overflow-scrolling:
            touch;
    }


    body.home
    .vs-home-creations__products
    .woocommerce
    ul.products::-webkit-scrollbar {
        display: none;
    }


    body.home
    .vs-home-creations__products
    ul.products
    li.product {
        flex:
            0 0
            72vw !important;

        width:
            72vw !important;

        max-width:
            18rem !important;

        min-width:
            0 !important;

        scroll-snap-align:
            start;
    }


    body.home
    .vs-home-creations__products
    .astra-shop-thumbnail-wrap,
    body.home
    .vs-home-creations__products
    .astra-shop-thumbnail-wrap a {
        width: 100% !important;
        min-width: 0 !important;
    }


    body.home
    .vs-home-creations__products
    .astra-shop-summary-wrap {
        padding:
            0.8rem
            0
            0 !important;
    }


    body.home
    .vs-home-creations__products
    .woocommerce-loop-product__title {
        font-size:
            1rem !important;

        line-height:
            1.15 !important;
    }


    /* =====================================================
       04. CAMINHOS
       ===================================================== */

    body.home .vs-home-paths {
        --width: 100% !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        padding:
            3.25rem
            1.25rem
            4rem !important;

        overflow: hidden;
    }


    /* Cabeçalho */

    body.home .vs-home-paths__header {
        display: flex !important;

        flex-direction: column !important;
        align-items: center !important;

        width: 100% !important;
        max-width: 100% !important;

        margin:
            0 auto
            1.75rem !important;

        padding: 0 !important;

        gap: 0 !important;
    }


    body.home
    .vs-home-paths__header::before {
        content: none !important;
        display: none !important;
    }


    body.home
    .vs-home-paths__header::after {
        content: "";

        display: block !important;

        width: 2rem;
        height: 1px;

        margin:
            1rem
            auto
            0;

        background:
            rgba(
                150,
                95,
                62,
                0.42
            ) !important;
    }


    body.home .vs-home-paths__title,
    body.home .vs-home-paths__title
    .elementor-heading-title {
        width: 100% !important;
        max-width: 18ch;

        margin:
            0 auto !important;

        font-size:
            clamp(
                1.85rem,
                7.4vw,
                2.25rem
            ) !important;

        line-height:
            1.1 !important;

        letter-spacing:
            -0.015em !important;

        white-space:
            normal !important;

        text-align:
            center !important;

        text-wrap:
            balance;
    }


    /* =====================================================
       GRID DOS CAMINHOS
       ===================================================== */

    body.home .vs-home-paths__grid {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        padding: 0 !important;

        gap:
            0.65rem !important;
    }


    body.home
    .vs-home-paths__grid
    > .vs-home-path--create,

    body.home
    .vs-home-paths__grid
    > .vs-home-path--shop,

    body.home
    .vs-home-paths__grid
    > .vs-home-path--process,

    body.home
    .vs-home-paths__grid
    > .vs-home-path--about,

    body.home
    .vs-home-paths__grid
    > .vs-home-path-3d {
        grid-column:
            1 !important;

        grid-row:
            auto !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;
    }


    /* Cards */

    body.home .vs-home-path {
        width: 100% !important;
        min-width: 0 !important;

        padding:
            1.65rem !important;
    }


    body.home .vs-home-path--create,
    body.home .vs-home-path--about {
        min-height:
            24rem !important;
    }


    body.home .vs-home-path--shop,
    body.home .vs-home-path--process {
        min-height:
            19rem !important;
    }


    body.home .vs-home-path__title,
    body.home .vs-home-path__title
    .elementor-heading-title {
        font-size:
            1.9rem !important;
    }


    body.home .vs-home-path__text,
    body.home .vs-home-path__text p {
        font-size:
            0.84rem !important;

        line-height:
            1.55 !important;
    }


    /* =====================================================
       05. EXPERIÊNCIA 3D
       ===================================================== */

    body.home .vs-home-path-3d {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        width: 100% !important;

        min-height: 0 !important;

        padding:
            1.6rem
            1.5rem !important;

        gap:
            0.8rem !important;
    }


    body.home
    .vs-home-path-3d__title,
    body.home
    .vs-home-path-3d__title
    .elementor-heading-title {
        font-size:
            1.7rem !important;

        line-height:
            1.08 !important;
    }

}

@media (max-width: 767px) {

    body.home .vs-home-creations {
        padding:
            3rem
            0
            1.25rem !important;
    }

    body.home .vs-home-paths {
        padding:
            1.25rem
            1.25rem
            4rem !important;
    }

}

body.home .vs-home-creations {
    padding:
        3rem
        0
        1.25rem !important;
}

body.home .vs-home-paths {
    padding:
        1.25rem
        1.25rem
        4rem !important;
}


/* =========================================================
   JOIAS — ACERVO EDITORIAL V2
   01. Superfície + navegação + largura do catálogo
   ========================================================= */


/* =========================================================
   ÁREA DO ACERVO
   ========================================================= */

body.page-id-2809 #catalogo {
    position: relative;

    width: 100% !important;
    max-width: none !important;

    padding-bottom:
        clamp(4.5rem, 6vw, 6.5rem);

    background:
        rgba(224, 220, 210, 0.22);

    scroll-margin-top:
        7.5rem;
}


/* =========================================================
   BARRA DE NAVEGAÇÃO
   ========================================================= */

body.page-id-2809 .vs-shop-tools {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    width: calc(100% - 3rem) !important;
    max-width: 88rem !important;

    margin:
        0 auto !important;

    padding:
        1.45rem
        0 !important;

    gap:
        2.5rem !important;

    border-top:
        1px solid
        rgba(33, 33, 33, 0.09);

    border-bottom:
        1px solid
        rgba(33, 33, 33, 0.12);

    background:
        transparent !important;
}


/* =========================================================
   CATEGORIAS
   ========================================================= */

body.page-id-2809 .vs-shop-categories {
    display: flex;

    align-items: center;

    flex-wrap: nowrap;

    gap:
        clamp(1.4rem, 2.25vw, 2.4rem);
}


/* Links */

body.page-id-2809
.vs-shop-categories a {
    position: relative;

    display: inline-flex;

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

    min-height: 2.4rem;

    padding: 0 !important;

    background:
        transparent !important;

    color:
        rgba(33, 33, 33, 0.52);

    font-family:
        var(--vs-font-body);

    font-size:
        0.625rem;

    font-weight:
        var(--vs-font-weight-semibold);

    line-height: 1;

    letter-spacing:
        0.13em;

    text-decoration:
        none;

    text-transform:
        uppercase;

    white-space:
        nowrap;

    transition:
        color 180ms ease;
}


/* Linha da categoria */

body.page-id-2809
.vs-shop-categories a::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 1px;

    background:
        var(--vs-color-chama);

    transform:
        scaleX(0);

    transform-origin:
        left center;

    transition:
        transform 200ms
        cubic-bezier(.22,.61,.36,1);
}


/* Hover */

body.page-id-2809
.vs-shop-categories a:hover {
    color:
        var(--vs-color-chama);
}


body.page-id-2809
.vs-shop-categories a:hover::after {
    transform:
        scaleX(0.35);
}


/* Ativa */

body.page-id-2809
.vs-shop-categories a.is-active {
    background:
        transparent !important;

    color:
        var(--vs-color-chama) !important;
}


body.page-id-2809
.vs-shop-categories a.is-active::after {
    transform:
        scaleX(1);
}


/* =========================================================
   PREÇO
   ========================================================= */

body.page-id-2809
.vs-price-filter {
    display: flex;

    align-items: center;

    width:
        auto;

    gap: 0;
}


/* "FAIXA DE PREÇO" deixa de aparecer */

body.page-id-2809
.vs-price-filter__label {
    display:
        none;
}


/* Dropdown compacto */

body.page-id-2809
.vs-price-dropdown {
    width:
        9.5rem;
}


/* Botão */

body.page-id-2809
.vs-price-dropdown__toggle {
    min-height:
        2.4rem;

    padding:
        0
        0.15rem !important;

    border:
        0 !important;

    background:
        transparent !important;

    color:
        rgba(33, 33, 33, 0.58);

    font-family:
        var(--vs-font-body);

    font-size:
        0.625rem;

    font-weight:
        var(--vs-font-weight-semibold);

    line-height:
        1;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


body.page-id-2809
.vs-price-dropdown__toggle:hover {
    color:
        var(--vs-color-chama);
}


/* Seta mais delicada */

body.page-id-2809
.vs-price-dropdown__arrow {
    width:
        0.4rem;

    height:
        0.4rem;

    border-width:
        0 1px 1px 0;

    opacity:
        0.65;
}


/* Dropdown aberto */

body.page-id-2809
.vs-price-dropdown__menu {
    top:
        calc(100% + 0.7rem);

    right:
        0;

    left:
        auto;

    width:
        13rem;

    padding:
        0.45rem;

    border:
        1px solid
        rgba(110, 52, 31, 0.12);

    background:
        var(--vs-color-diamante);

    box-shadow:
        0 1.4rem 3.5rem
        rgba(33, 33, 33, 0.09);
}


/* =========================================================
   GRADE — MAIS PRESENÇA
   ========================================================= */

body.page-id-2809 ul.products {
    width:
        calc(100% - 3rem) !important;

    max-width:
        88rem !important;

    margin:
        clamp(2.75rem, 4vw, 4rem)
        auto
        0 !important;

    gap:
        clamp(4rem, 5vw, 5.25rem)
        clamp(1rem, 1.5vw, 1.5rem)
        !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.page-id-2809 .vs-shop-tools {
        flex-direction:
            column !important;

        align-items:
            stretch !important;

        width:
            calc(100% - 2.5rem) !important;

        gap:
            0.9rem !important;

        padding:
            1.25rem
            0 !important;
    }


    body.page-id-2809
    .vs-shop-categories {
        width:
            100%;

        gap:
            1.4rem;

        padding-bottom:
            0.3rem;

        overflow-x:
            auto;

        scrollbar-width:
            none;

        -webkit-overflow-scrolling:
            touch;
    }


    body.page-id-2809
    .vs-shop-categories::-webkit-scrollbar {
        display:
            none;
    }


    body.page-id-2809
    .vs-shop-categories a {
        flex:
            0 0 auto;
    }


    body.page-id-2809
    .vs-price-filter {
        width:
            100%;

        justify-content:
            flex-end;
    }


    body.page-id-2809 ul.products {
        width:
            calc(100% - 2.5rem) !important;

        gap:
            3.25rem
            1rem !important;
    }

}


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

@media (max-width: 600px) {

    body.page-id-2809 #catalogo {
        padding-bottom:
            4rem;
    }


    body.page-id-2809
    .vs-shop-tools {
        width:
            calc(100% - 2rem) !important;

        padding:
            1.05rem
            0 !important;
    }


    body.page-id-2809
    .vs-shop-categories {
        gap:
            1.25rem;
    }


    body.page-id-2809
    .vs-shop-categories a {
        font-size:
            0.58rem;
    }


    body.page-id-2809
    .vs-price-dropdown {
        width:
            8.75rem;
    }


    body.page-id-2809 ul.products {
        width:
            calc(100% - 2rem) !important;

        margin-top:
            2.25rem !important;

        gap:
            2.75rem
            0.65rem !important;
    }

}

/* =========================================================
   JOIAS — BARRA ÚNICA DE FILTROS
   ========================================================= */

body.page-id-2809 .vs-shop-tools {
    display: flex !important;

    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: calc(100% - 3rem) !important;
    max-width: 88rem !important;

    margin: 0 auto !important;

    gap: 2rem !important;
}

body.page-id-2809 .vs-shop-categories {
    display: flex !important;
    align-items: center !important;

    width: auto !important;

    flex: 1 1 auto;
}

body.page-id-2809 .vs-price-filter {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;

    flex: 0 0 auto;
    margin: 0 !important;
}

/* =========================================================
   JOIAS — CARDS DO ACERVO V2
   ========================================================= */


/* =========================================================
   CARD
   ========================================================= */

body.page-id-2809
ul.products
li.product {

    position: relative;

    display: flex !important;
    flex-direction: column !important;

    min-width: 0;

    background:
        transparent !important;

    border:
        0 !important;

    box-shadow:
        none !important;

    text-align:
        left !important;
}


/* =========================================================
   IMAGEM
   ========================================================= */

body.page-id-2809
ul.products
li.product
.astra-shop-thumbnail-wrap {

    position: relative;

    width: 100% !important;

    aspect-ratio:
        3 / 4;

    overflow:
        hidden;

    background:
        #ebe6de;
}


body.page-id-2809
ul.products
li.product
.astra-shop-thumbnail-wrap
a {

    display: block;

    width: 100%;
    height: 100%;

    overflow: hidden;
}


body.page-id-2809
ul.products
li.product
.astra-shop-thumbnail-wrap
img {

    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit:
        cover !important;

    transition:
        transform
        700ms
        cubic-bezier(.22,.61,.36,1),
        filter
        300ms
        ease;
}


/* Hover extremamente discreto */

@media (hover: hover) {

    body.page-id-2809
    ul.products
    li.product:hover
    .astra-shop-thumbnail-wrap
    img {

        transform:
            scale(1.018);

        filter:
            brightness(1.015);
    }

}


/* =========================================================
   INFORMAÇÕES
   ========================================================= */

body.page-id-2809
ul.products
li.product
.astra-shop-summary-wrap {

    display: flex !important;
    flex-direction: column !important;

    width: 100%;

    margin: 0 !important;

    padding:
        1.05rem
        0
        0 !important;
}


/* =========================================================
   CATEGORIA
   ========================================================= */

body.page-id-2809
ul.products
li.product
.ast-woo-product-category {

    order: 1;

    display: block !important;

    margin:
        0
        0
        0.45rem !important;

    color:
        var(--vs-color-canela) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.56rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1;

    letter-spacing:
        0.15em !important;

    text-transform:
        uppercase;

    opacity:
        0.82;
}


/* =========================================================
   NOME
   ========================================================= */

body.page-id-2809
ul.products
li.product
.ast-loop-product__link {

    order: 2;

    display: block;

    width: 100%;

    text-decoration:
        none !important;
}


body.page-id-2809
ul.products
li.product
.woocommerce-loop-product__title {

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        var(--vs-color-carbono) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            1.2rem,
            1.35vw,
            1.45rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.13 !important;

    letter-spacing:
        -0.02em !important;

    text-transform:
        none !important;

    transition:
        color
        180ms
        ease;
}


@media (hover: hover) {

    body.page-id-2809
    ul.products
    li.product:hover
    .woocommerce-loop-product__title {

        color:
            var(--vs-color-chama) !important;
    }

}


/* =========================================================
   PREÇO
   ========================================================= */

body.page-id-2809
ul.products
li.product
.price {

    order: 3;

    margin:
        0.55rem
        0
        0 !important;

    color:
        rgba(33, 33, 33, 0.52) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.68rem !important;

    font-weight:
        var(--vs-font-weight-regular) !important;

    line-height:
        1.3;

    letter-spacing:
        0.025em;
}


body.page-id-2809
ul.products
li.product
.price
.woocommerce-Price-amount {

    color:
        inherit !important;
}


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

@media (max-width: 600px) {

    body.page-id-2809
    ul.products
    li.product
    .astra-shop-summary-wrap {

        padding-top:
            0.75rem !important;
    }


    body.page-id-2809
    ul.products
    li.product
    .ast-woo-product-category {

        margin-bottom:
            0.32rem !important;

        font-size:
            0.5rem !important;
    }


    body.page-id-2809
    ul.products
    li.product
    .woocommerce-loop-product__title {

        font-size:
            1rem !important;

        line-height:
            1.15 !important;
    }


    body.page-id-2809
    ul.products
    li.product
    .price {

        margin-top:
            0.42rem !important;

        font-size:
            0.65rem !important;
    }

}

/* =========================================================
   JOIAS — FILTROS MOBILE EM DUAS LINHAS
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-2809 .vs-shop-tools {
        display: flex !important;

        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: calc(100% - 2rem) !important;

        gap: 0.85rem !important;

        padding:
            1.1rem
            0 !important;
    }


    /* =====================================================
       LINHA 1 — CATEGORIAS
       ===================================================== */

    body.page-id-2809 .vs-shop-categories {
        display: flex !important;

        flex: none !important;

        width: 100% !important;

        gap: 1.35rem !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        padding:
            0
            0
            0.75rem !important;

        scrollbar-width: none;

        -webkit-overflow-scrolling: touch;
    }


    body.page-id-2809
    .vs-shop-categories::-webkit-scrollbar {
        display: none;
    }


    body.page-id-2809
    .vs-shop-categories a {
        flex: 0 0 auto !important;

        min-height: 2rem;

        font-size:
            0.58rem !important;
    }


    /* =====================================================
       LINHA 2 — PREÇO
       ===================================================== */

    body.page-id-2809 .vs-price-filter {
        display: flex !important;

        align-items: center !important;
        justify-content: flex-start !important;

        flex: none !important;

        width: 100% !important;

        margin: 0 !important;
    }


    body.page-id-2809 .vs-price-dropdown {
        width: auto !important;
        min-width: 0 !important;
    }


    body.page-id-2809
    .vs-price-dropdown__toggle {
        width: auto !important;

        justify-content: flex-start;

        gap: 0.75rem;

        padding:
            0
            0.15rem !important;
    }

}


/* =========================================================
   JOIAS — DROPDOWN DE PREÇO MOBILE
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-2809
    .vs-price-dropdown__menu {

        left: 0 !important;
        right: auto !important;

        width:
            min(
                15rem,
                calc(100vw - 2.5rem)
            ) !important;

        max-width:
            calc(100vw - 2.5rem) !important;
    }

}

/* =========================================================
   JOIAS — MANIFESTO V2
   Integração com o novo acervo
   ========================================================= */


/* bloco ocupa exatamente a largura da grade */

body.page-id-2809
ul.products
.vs-shop-manifesto {
    width: 100% !important;
    max-width: none !important;

    margin:
        clamp(0.75rem, 1.5vw, 1.5rem)
        0
        clamp(0.75rem, 1.5vw, 1.5rem)
        !important;

    background:
        var(--vs-color-chama) !important;
}


/* conteúdo interno mais refinado */

body.page-id-2809
.vs-shop-manifesto__inner {
    min-height:
        clamp(22rem, 26vw, 27rem);

    padding:
        clamp(3.5rem, 5vw, 5rem)
        clamp(2.5rem, 5vw, 5rem);

    gap:
        clamp(3rem, 6vw, 6rem);
}


/* título */

body.page-id-2809
.vs-shop-manifesto__title {
    max-width:
        10.5ch;

    font-size:
        clamp(
            2.8rem,
            4vw,
            4.2rem
        );

    line-height:
        1.01;

    letter-spacing:
        -0.035em;
}


/* texto */

body.page-id-2809
.vs-shop-manifesto__content {
    max-width:
        29rem;
}


body.page-id-2809
.vs-shop-manifesto__content p {
    font-size:
        0.95rem;

    line-height:
        1.7;
}


/* CTA */

body.page-id-2809
.vs-shop-manifesto__link {
    margin-top:
        1.6rem;

    font-size:
        0.68rem;

    letter-spacing:
        0.12em;
}


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

@media (max-width: 767px) {

    body.page-id-2809
    ul.products
    .vs-shop-manifesto {
        margin:
            0.5rem
            0
            0.5rem
            !important;
    }


    body.page-id-2809
    .vs-shop-manifesto__inner {
        grid-template-columns:
            1fr;

        min-height:
            0;

        padding:
            3rem
            1.4rem;

        gap:
            1.75rem;
    }


    body.page-id-2809
    .vs-shop-manifesto__title {
        max-width:
            9ch;

        font-size:
            clamp(
                2.35rem,
                10.5vw,
                3rem
            );
    }


    body.page-id-2809
    .vs-shop-manifesto__content p {
        font-size:
            0.88rem;

        line-height:
            1.65;
    }

}

/* =========================================================
   JOIAS — ACERVO FULL WIDTH
   ========================================================= */

body.page-id-2809 #catalogo {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
        0
        clamp(2rem, 3vw, 3.5rem)
        clamp(5rem, 7vw, 7rem);

    background:
        rgba(224, 220, 210, 0.22);
}


/* Barra acompanha o novo eixo */

body.page-id-2809 .vs-shop-tools {
    width: 100% !important;
    max-width: none !important;

    margin: 0 auto !important;
}


/* =========================================================
   GRADE — 4 COLUNAS EM TELAS GRANDES
   ========================================================= */

body.page-id-2809 ul.products {
    width: 100% !important;
    max-width: none !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    margin:
        clamp(3rem, 4vw, 4.5rem)
        auto
        0 !important;

    gap:
        clamp(4rem, 5vw, 5.5rem)
        clamp(0.8rem, 1.35vw, 1.4rem)
        !important;
}


/* =========================================================
   NOTEBOOK — VOLTA PARA 3
   ========================================================= */

@media (max-width: 1280px) {

    body.page-id-2809 ul.products {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE — CONTINUA 2
   ========================================================= */

@media (max-width: 767px) {

    body.page-id-2809 #catalogo {
        padding:
            0
            1rem
            4rem;
    }

    body.page-id-2809 ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            2.75rem
            0.65rem !important;
    }

}

/* =========================================================
   JOIAS — HERO EDITORIAL REFINADO
   ========================================================= */

body.page-id-2809 .vs-shop-hero {

    /*
     * Não encosta mais nas laterais.
     * Continua amplo, mas passa a parecer uma
     * peça editorial dentro da página.
     */

    width:
        calc(
            100% - clamp(2.5rem, 4vw, 5rem)
        ) !important;

    max-width:
        none !important;

    margin:
        1rem
        auto
        0 !important;

    padding:
        clamp(3rem, 4.5vw, 4.25rem)
        clamp(2.5rem, 5vw, 5.5rem)
        clamp(3rem, 4vw, 3.75rem)
        !important;

    background:
        var(--vs-color-diamante);

    border:
        0 !important;
}


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

body.page-id-2809
.vs-shop-hero__inner {

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(24rem, 1.05fr);

    align-items:
        center !important;

    max-width:
        92rem !important;

    column-gap:
        clamp(4rem, 7vw, 8rem)
        !important;
}


/* =========================================================
   EYEBROW
   ========================================================= */

body.page-id-2809
.vs-shop-hero__eyebrow
.elementor-heading-title {

    margin-bottom:
        0.85rem;

    font-size:
        0.65rem;

    letter-spacing:
        0.16em;
}


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

body.page-id-2809
.vs-shop-hero__title
.elementor-heading-title {

    max-width:
        10.5ch;

    font-size:
        clamp(
            3rem,
            4vw,
            4.35rem
        );

    line-height:
        0.99;

    letter-spacing:
        -0.035em;
}


/* =========================================================
   TEXTO
   ========================================================= */

body.page-id-2809
.vs-shop-hero__text {

    align-self:
        center;

    max-width:
        36rem;

    padding:
        1.25rem
        0
        0 !important;
}


body.page-id-2809
.vs-shop-hero__text,
body.page-id-2809
.vs-shop-hero__text p {

    font-size:
        0.95rem;

    line-height:
        1.72;
}


/* =========================================================
   DISTÂNCIA HERO → FILTROS
   ========================================================= */

body.page-id-2809
.vs-shop-hero + * {

    margin-top:
        clamp(1.75rem, 2.5vw, 2.5rem);
}


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

@media (max-width: 767px) {

    body.page-id-2809
    .vs-shop-hero {

        width:
            calc(100% - 2rem) !important;

        margin-top:
            0.75rem !important;

        padding:
            2.5rem
            1.35rem
            2.4rem
            !important;
    }


    body.page-id-2809
    .vs-shop-hero__inner {

        grid-template-columns:
            1fr;

        grid-template-areas:
            "eyebrow"
            "title"
            "text";

        row-gap:
            0 !important;
    }


    body.page-id-2809
    .vs-shop-hero__title
    .elementor-heading-title {

        max-width:
            9.5ch;

        font-size:
            clamp(
                2.6rem,
                11vw,
                3.35rem
            );

        line-height:
            1;
    }


    body.page-id-2809
    .vs-shop-hero__text {

        max-width:
            none;

        margin-top:
            1.5rem;

        padding:
            0 !important;
    }

}

/* =========================================================
   JOIAS — MANIFESTO CONSOLIDADO
   Hero + filtros + grid do catálogo
   ========================================================= */

/* ---------------------------------------------------------
   BASE DA PÁGINA
   --------------------------------------------------------- */

body.page-id-2809 .site-content,
body.page-id-2809 .entry-content,
body.page-id-2809 .ast-container {
    overflow: visible !important;
}

body.page-id-2809 .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100% !important;
}

body.page-id-2809 .elementor-widget-wrap,
body.page-id-2809 .elementor-column-wrap {
    width: 100%;
}


/* ---------------------------------------------------------
   HERO SUPERIOR
   --------------------------------------------------------- */

body.page-id-2809 .vs-shop-hero {
    width: calc(100% - clamp(2.5rem, 4vw, 5rem)) !important;
    max-width: none !important;
    margin: 1rem auto 0 !important;
    padding:
        clamp(3rem, 4.5vw, 4.5rem)
        clamp(2.5rem, 5vw, 5.5rem)
        clamp(3rem, 4vw, 3.75rem) !important;
    background: var(--vs-color-diamante, #f3f0eb) !important;
    border: 0 !important;
}

body.page-id-2809 .vs-shop-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
    align-items: center !important;
    column-gap: clamp(3rem, 6vw, 8rem) !important;
    max-width: 92rem !important;
    margin: 0 auto !important;
}

body.page-id-2809 .vs-shop-hero__eyebrow .elementor-heading-title,
body.page-id-2809 .vs-shop-hero__eyebrow {
    margin-bottom: 0.85rem !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--vs-color-canela, #8a411f) !important;
}

body.page-id-2809 .vs-shop-hero__title .elementor-heading-title,
body.page-id-2809 .vs-shop-hero__title {
    max-width: 10.5ch;
    font-size: clamp(3.05rem, 4vw, 4.5rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.04em !important;
    color: var(--vs-color-canela, #8a411f) !important;
    margin: 0 !important;
}

body.page-id-2809 .vs-shop-hero__text,
body.page-id-2809 .vs-shop-hero__text p {
    max-width: 38rem;
    font-size: 0.98rem !important;
    line-height: 1.75 !important;
    color: rgba(35, 35, 35, 0.82) !important;
    margin: 0 !important;
}


/* ---------------------------------------------------------
   BLOCO DOS FILTROS
   --------------------------------------------------------- */

body.page-id-2809 .vs-shop-toolbar {
    width: calc(100% - clamp(2.5rem, 4vw, 5rem)) !important;
    max-width: none !important;
    margin: clamp(1.75rem, 2.5vw, 2.5rem) auto 0 !important;
    padding: 0 0 1.4rem !important;
    border-top: 1px solid rgba(60, 42, 30, 0.10);
    border-bottom: 1px solid rgba(60, 42, 30, 0.10);
}

body.page-id-2809 .vs-shop-toolbar__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.5rem !important;
    flex-wrap: wrap !important;
}


/* categorias */

body.page-id-2809 .vs-shop-categories {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: clamp(1rem, 1.8vw, 2rem) !important;
    margin: 0 !important;
}

body.page-id-2809 .vs-shop-categories a {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    padding: 1rem 0 0.85rem !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: rgba(42, 42, 42, 0.52) !important;
    text-decoration: none !important;
    transition: color 0.25s ease;
}

body.page-id-2809 .vs-shop-categories a:hover,
body.page-id-2809 .vs-shop-categories a.is-active {
    color: var(--vs-color-canela, #8a411f) !important;
}

body.page-id-2809 .vs-shop-categories a.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.05rem;
    width: 100%;
    height: 1px;
    background: var(--vs-color-canela, #8a411f);
}


/* preço */

body.page-id-2809 .vs-price-filter {
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    min-width: 15rem;
}

body.page-id-2809 .vs-price-filter__label {
    display: none !important;
}

body.page-id-2809 .vs-price-dropdown {
    position: relative;
    width: auto;
    min-width: 14rem;
}

body.page-id-2809 .vs-price-dropdown__toggle {
    width: 100%;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem;
    padding: 1rem 0 0.85rem !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--vs-color-canela, #8a411f) !important;
}

body.page-id-2809 .vs-price-dropdown__arrow {
    width: 0.55rem;
    height: 0.55rem;
    border-right: 1.5px solid rgba(138, 65, 31, 0.7);
    border-bottom: 1.5px solid rgba(138, 65, 31, 0.7);
    transform: rotate(45deg);
    margin-top: -0.2rem;
    transition: transform 0.22s ease;
    flex: 0 0 auto;
}

body.page-id-2809 .vs-price-dropdown.is-open .vs-price-dropdown__arrow {
    transform: rotate(-135deg);
    margin-top: 0.15rem;
}

body.page-id-2809 .vs-price-dropdown__menu {
    position: absolute;
    top: calc(100% + 0.8rem);
    right: 0;
    left: auto;
    min-width: 16rem;
    background: #f7f3ec !important;
    border: 1px solid rgba(60, 42, 30, 0.08);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
    padding: 0.5rem !important;
    z-index: 50;
    display: none;
}

body.page-id-2809 .vs-price-dropdown.is-open .vs-price-dropdown__menu {
    display: block !important;
}

body.page-id-2809 .vs-price-dropdown__menu button {
    width: 100%;
    display: block;
    text-align: left;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0.95rem 0.9rem !important;
    font-size: 0.95rem !important;
    color: rgba(35, 35, 35, 0.78) !important;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

body.page-id-2809 .vs-price-dropdown__menu button:hover,
body.page-id-2809 .vs-price-dropdown__menu button.is-active {
    background: #ebe4d8 !important;
    color: var(--vs-color-canela, #8a411f) !important;
}


/* ---------------------------------------------------------
   ÁREA DO CATÁLOGO
   --------------------------------------------------------- */

body.page-id-2809 #catalogo,
body.page-id-2809 .vs-shop-grid-wrap,
body.page-id-2809 .woocommerce.columns-4,
body.page-id-2809 .woocommerce {
    width: calc(100% - clamp(2.5rem, 4vw, 5rem)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* fundo / bloco geral do grid */

body.page-id-2809 .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: clamp(1.3rem, 2vw, 1.8rem) !important;
    row-gap: clamp(2.8rem, 4vw, 3.8rem) !important;
    margin: 2rem 0 0 !important;
    padding: clamp(1.5rem, 2vw, 2rem) !important;
    background: #f5f2ee !important;
    list-style: none !important;
}

body.page-id-2809 .woocommerce ul.products::before,
body.page-id-2809 .woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

body.page-id-2809 .woocommerce ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    clear: none !important;
}


/* 4 colunas em desktop grande */

@media (min-width: 1440px) {
    body.page-id-2809 .woocommerce ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}


/* ---------------------------------------------------------
   CARD DO PRODUTO
   --------------------------------------------------------- */

body.page-id-2809 .woocommerce ul.products li.product a {
    text-decoration: none !important;
}

body.page-id-2809 .woocommerce ul.products li.product .woocommerce-loop-product__link {
    display: block !important;
}

body.page-id-2809 .woocommerce ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 3 / 4;
    object-fit: cover !important;
    display: block !important;
    margin: 0 0 1rem !important;
    background: #ede8e1;
}

body.page-id-2809 .woocommerce ul.products li.product .product_cat,
body.page-id-2809 .woocommerce ul.products li.product .posted_in,
body.page-id-2809 .woocommerce ul.products li.product .vs-product-cat {
    display: block;
    margin: 0 0 0.45rem !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: rgba(138, 65, 31, 0.52) !important;
}

body.page-id-2809 .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.page-id-2809 .woocommerce ul.products li.product h2 {
    margin: 0 0 0.45rem !important;
    font-size: clamp(1.15rem, 1.4vw, 1.45rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: #1f1f1f !important;
}

body.page-id-2809 .woocommerce ul.products li.product .price {
    display: block !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    color: rgba(35, 35, 35, 0.72) !important;
}

body.page-id-2809 .woocommerce ul.products li.product .button,
body.page-id-2809 .woocommerce ul.products li.product .added_to_cart {
    display: none !important;
}


/* ---------------------------------------------------------
   PAGINAÇÃO
   --------------------------------------------------------- */

body.page-id-2809 nav.woocommerce-pagination {
    width: calc(100% - clamp(2.5rem, 4vw, 5rem)) !important;
    margin: 2.2rem auto 0 !important;
}

body.page-id-2809 nav.woocommerce-pagination ul {
    border: 0 !important;
    display: flex !important;
    justify-content: center !important;
    gap: 0.55rem !important;
}

body.page-id-2809 nav.woocommerce-pagination ul li {
    border: 0 !important;
}

body.page-id-2809 nav.woocommerce-pagination ul li span,
body.page-id-2809 nav.woocommerce-pagination ul li a {
    min-width: 2rem;
    height: 2rem;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 0.6rem !important;
    font-size: 0.8rem !important;
    color: rgba(35, 35, 35, 0.6) !important;
    background: transparent !important;
}

body.page-id-2809 nav.woocommerce-pagination ul li .current {
    background: var(--vs-color-canela, #8a411f) !important;
    color: #fff !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1180px) {

    body.page-id-2809 .vs-shop-hero__inner {
        grid-template-columns: 1fr !important;
        row-gap: 1.5rem !important;
    }

    body.page-id-2809 .vs-shop-hero__title .elementor-heading-title,
    body.page-id-2809 .vs-shop-hero__title {
        max-width: 9.5ch;
    }

    body.page-id-2809 .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    body.page-id-2809 .vs-shop-hero {
        width: calc(100% - 2rem) !important;
        margin-top: 0.75rem !important;
        padding: 2.25rem 1.35rem 2.2rem !important;
    }

    body.page-id-2809 .vs-shop-hero__inner {
        grid-template-columns: 1fr !important;
        row-gap: 1rem !important;
    }

    body.page-id-2809 .vs-shop-hero__title .elementor-heading-title,
    body.page-id-2809 .vs-shop-hero__title {
        max-width: 8.8ch;
        font-size: clamp(2.5rem, 10vw, 3.35rem) !important;
        line-height: 1 !important;
    }

    body.page-id-2809 .vs-shop-hero__text,
    body.page-id-2809 .vs-shop-hero__text p {
        font-size: 1rem !important;
        line-height: 1.7 !important;
    }

    body.page-id-2809 .vs-shop-toolbar {
        width: calc(100% - 2rem) !important;
        margin-top: 1.5rem !important;
        padding-bottom: 1rem !important;
    }

    body.page-id-2809 .vs-shop-toolbar__inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.8rem !important;
    }

    body.page-id-2809 .vs-shop-categories {
        width: 100% !important;
        gap: 1rem 1.25rem !important;
    }

    body.page-id-2809 .vs-price-filter {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
    }

    body.page-id-2809 .vs-price-dropdown {
        min-width: 0 !important;
        width: auto !important;
        max-width: 100%;
    }

    body.page-id-2809 .vs-price-dropdown__toggle {
        padding-top: 0.15rem !important;
        padding-bottom: 0.2rem !important;
        justify-content: flex-start !important;
        gap: 0.75rem !important;
    }

    body.page-id-2809 .vs-price-dropdown__menu {
        left: 0 !important;
        right: auto !important;
        min-width: 15rem !important;
        max-width: calc(100vw - 3rem) !important;
    }

    body.page-id-2809 #catalogo,
    body.page-id-2809 .vs-shop-grid-wrap,
    body.page-id-2809 .woocommerce.columns-4,
    body.page-id-2809 .woocommerce {
        width: calc(100% - 2rem) !important;
    }

    body.page-id-2809 .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 0.85rem !important;
        row-gap: 2rem !important;
        padding: 1rem !important;
        margin-top: 1.25rem !important;
    }

    body.page-id-2809 .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.page-id-2809 .woocommerce ul.products li.product h2 {
        font-size: 1.05rem !important;
    }

    body.page-id-2809 .woocommerce ul.products li.product .price {
        font-size: 0.9rem !important;
    }

    body.page-id-2809 nav.woocommerce-pagination {
        width: calc(100% - 2rem) !important;
    }
}

/* =========================================================
   HOME — OFÍCIO VERSARO
   Prova de fabricação / trabalho manual
   V oficial da identidade Versaro
   ========================================================= */


/* =========================================================
   ESTRUTURA PRINCIPAL
   ========================================================= */

body.home .vs-home-craft {
    --width: 100% !important;

    display: grid !important;

    grid-template-columns:
        minmax(25rem, 0.88fr)
        minmax(0, 1.12fr);

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;

    background-color:
        var(--vs-color-chama);

    overflow: hidden;
}


/* Neutraliza medidas herdadas do Elementor */

body.home .vs-home-craft__content,
body.home .vs-home-craft__media {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;

    flex-basis: auto !important;
}


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

body.home .vs-home-craft__content {
    position: relative;

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: center !important;

    min-height:
        clamp(38rem, 49vw, 47rem);

    padding:
        clamp(4.5rem, 7vw, 7rem)
        clamp(2.5rem, 6vw, 6.5rem);

    gap: 0 !important;

    overflow: hidden;

    background-color:
        var(--vs-color-chama);
}


/* =========================================================
   V OFICIAL VERSARO
   Marca d'água estrutural
   ========================================================= */

body.home .vs-home-craft__content::before {
    content: "";

    position: absolute;

    right:
        clamp(-6rem, -4vw, -2.5rem);

    bottom:
        clamp(-7rem, -5vw, -3rem);

    width:
        clamp(24rem, 31vw, 36rem);

    aspect-ratio:
        56.56 / 63.68;

    background-color:
        var(--vs-color-diamante);

    -webkit-mask-image:
        url("assets/img/versaro-v.svg");

    mask-image:
        url("assets/img/versaro-v.svg");

    -webkit-mask-repeat:
        no-repeat;

    mask-repeat:
        no-repeat;

    -webkit-mask-position:
        center;

    mask-position:
        center;

    -webkit-mask-size:
        contain;

    mask-size:
        contain;

    opacity:
        0.065;

    pointer-events:
        none;

    user-select:
        none;

    z-index:
        1;
}


/* Conteúdo acima do símbolo */

body.home
.vs-home-craft__content
> .elementor-element {
    position: relative;

    z-index: 2;

    width: 100%;
    max-width: 35rem;

    margin-block-end:
        0 !important;
}


/* =========================================================
   EYEBROW
   ========================================================= */

body.home
.vs-home-craft__eyebrow,
body.home
.vs-home-craft__eyebrow
.elementor-heading-title {

    margin:
        0
        0
        1.4rem !important;

    color:
        var(--vs-color-areia) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.68rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1.2 !important;

    letter-spacing:
        0.16em !important;

    text-transform:
        uppercase;
}


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

body.home
.vs-home-craft__title,
body.home
.vs-home-craft__title
.elementor-heading-title {

    max-width:
        9.5ch !important;

    margin:
        0 !important;

    color:
        var(--vs-color-diamante) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            3rem,
            4.4vw,
            4.75rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.01 !important;

    letter-spacing:
        -0.035em !important;

    text-wrap:
        balance;
}


/* =========================================================
   TEXTO
   ========================================================= */

body.home .vs-home-craft__text {
    max-width:
        32rem !important;

    margin-top:
        1.75rem !important;
}


body.home .vs-home-craft__text,
body.home .vs-home-craft__text p {

    color:
        rgba(237, 235, 230, 0.76) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.95rem !important;

    font-weight:
        400 !important;

    line-height:
        1.72 !important;
}


body.home
.vs-home-craft__text p {

    margin:
        0
        0
        0.9rem !important;
}


body.home
.vs-home-craft__text p:last-child {

    margin-bottom:
        0 !important;
}


/* =========================================================
   FRASE FINAL
   ========================================================= */

body.home .vs-home-craft__statement {

    max-width:
        30rem !important;

    margin-top:
        2.25rem !important;

    padding-top:
        1.5rem !important;

    border-top:
        1px solid
        rgba(237, 235, 230, 0.24);
}


body.home
.vs-home-craft__statement,
body.home
.vs-home-craft__statement
.elementor-heading-title {

    margin-bottom:
        0 !important;

    color:
        var(--vs-color-areia) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            1.35rem,
            1.65vw,
            1.7rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.28 !important;

    letter-spacing:
        -0.01em !important;
}


/* =========================================================
   MÍDIA
   ========================================================= */

body.home .vs-home-craft__media {
    position: relative;

    min-height:
        clamp(38rem, 49vw, 47rem);

    padding:
        0 !important;

    overflow:
        hidden;

    background-color:
        var(--vs-color-carbono);
}


/* Integra suavemente foto e bloco Chama */

body.home .vs-home-craft__media::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 2;

    background:
        linear-gradient(
            90deg,
            rgba(110, 52, 31, 0.18) 0%,
            rgba(110, 52, 31, 0) 22%
        );

    pointer-events:
        none;
}


/* =========================================================
   IMAGEM
   ========================================================= */

body.home
.vs-home-craft__visual,
body.home
.vs-home-craft__visual
.elementor-widget-container {

    width:
        100%;

    height:
        100%;
}


body.home
.vs-home-craft__visual {

    position:
        absolute;

    inset:
        0;

    margin:
        0 !important;
}


body.home
.vs-home-craft__visual img {

    display:
        block;

    width:
        100% !important;

    height:
        100% !important;

    object-fit:
        cover;

    object-position:
        center;

    filter:
        saturate(0.94)
        contrast(1.035)
        brightness(0.94);
}


/* =========================================================
   PREPARAÇÃO PARA VÍDEO FUTURO
   ========================================================= */

body.home
.vs-home-craft__media
.elementor-widget-video,

body.home
.vs-home-craft__media
.elementor-widget-video
.elementor-widget-container,

body.home
.vs-home-craft__media
.elementor-wrapper,

body.home
.vs-home-craft__media
iframe,

body.home
.vs-home-craft__media
video {

    width:
        100% !important;

    height:
        100% !important;
}


body.home
.vs-home-craft__media
video {

    object-fit:
        cover;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.home .vs-home-craft {

        grid-template-columns:
            1fr;
    }


    body.home .vs-home-craft__content {

        min-height:
            auto;

        padding:
            4.5rem
            clamp(2rem, 7vw, 4rem);
    }


    body.home .vs-home-craft__media {

        min-height:
            34rem;
    }


    body.home
    .vs-home-craft__title,
    body.home
    .vs-home-craft__title
    .elementor-heading-title {

        max-width:
            11ch !important;

        font-size:
            clamp(
                3rem,
                8vw,
                4rem
            ) !important;
    }


    body.home
    .vs-home-craft__content::before {

        right:
            -3rem;

        bottom:
            -5rem;

        width:
            29rem;

        opacity:
            0.06;
    }

}


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

@media (max-width: 767px) {

    body.home .vs-home-craft__content {

        padding:
            4rem
            1.5rem;
    }


    body.home
    .vs-home-craft__eyebrow,
    body.home
    .vs-home-craft__eyebrow
    .elementor-heading-title {

        margin-bottom:
            1.2rem !important;
    }


    body.home
    .vs-home-craft__title,
    body.home
    .vs-home-craft__title
    .elementor-heading-title {

        max-width:
            9.5ch !important;

        font-size:
            clamp(
                2.65rem,
                11.5vw,
                3.5rem
            ) !important;

        line-height:
            1.02 !important;
    }


    body.home .vs-home-craft__text {

        margin-top:
            1.5rem !important;
    }


    body.home
    .vs-home-craft__text,
    body.home
    .vs-home-craft__text p {

        font-size:
            0.9rem !important;

        line-height:
            1.68 !important;
    }


    body.home .vs-home-craft__statement {

        margin-top:
            1.9rem !important;

        padding-top:
            1.35rem !important;
    }


    body.home
    .vs-home-craft__statement,
    body.home
    .vs-home-craft__statement
    .elementor-heading-title {

        font-size:
            1.35rem !important;
    }


    /* V oficial no mobile */

    body.home
    .vs-home-craft__content::before {

        right:
            -5rem;

        bottom:
            -2rem;

        width:
            22rem;

        opacity:
            0.055;
    }


    body.home .vs-home-craft__media {

        min-height:
            auto;

        aspect-ratio:
            4 / 5;
    }

}

/* =========================================================
   HOME — HISTÓRIAS QUE GANHARAM FORMA
   Prova humana / memória / significado
   ========================================================= */


/* =========================================================
   SEÇÃO
   ========================================================= */

body.home .vs-home-stories {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
        clamp(5rem, 8vw, 8rem)
        clamp(1.5rem, 5vw, 5rem)
        clamp(6rem, 9vw, 9rem) !important;

    background-color:
        var(--vs-color-diamante);

    overflow: hidden;
}


/* Remove margens herdadas do Elementor */

body.home
.vs-home-stories
.elementor-element {
    margin-block-end: 0;
}


/* =========================================================
   CABEÇALHO
   ========================================================= */

body.home .vs-home-stories__header {
    --width: 100% !important;

    width: 100% !important;
    max-width: 82rem !important;

    margin:
        0 auto
        clamp(4.5rem, 7vw, 7rem) !important;

    padding: 0 !important;

    gap: 0 !important;
}


/* Eyebrow */

body.home
.vs-home-stories__eyebrow,
body.home
.vs-home-stories__eyebrow
.elementor-heading-title {

    margin:
        0
        0
        1.35rem !important;

    color:
        var(--vs-color-canela) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.68rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1.2 !important;

    letter-spacing:
        0.16em !important;

    text-transform:
        uppercase;
}


/* Título principal */

body.home
.vs-home-stories__title,
body.home
.vs-home-stories__title
.elementor-heading-title {

    max-width:
        19ch !important;

    margin:
        0 !important;

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            2.8rem,
            4.4vw,
            4.7rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.04 !important;

    letter-spacing:
        -0.03em !important;

    text-wrap:
        balance;
}


/* =========================================================
   HISTÓRIA — BASE
   ========================================================= */

body.home .vs-home-story {
    --width: 100% !important;

    display: grid !important;

    width: 100% !important;
    max-width: 92rem !important;

    margin:
        0 auto !important;

    padding: 0 !important;

    gap: 0 !important;

    align-items: stretch;
}


body.home .vs-home-story__media,
body.home .vs-home-story__content {
    --width: 100% !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;

    flex-basis: auto !important;
}


/* =========================================================
   HISTÓRIA 01 — MEMÓRIA
   Imagem dominante + texto
   ========================================================= */

body.home
.vs-home-story--primary {

    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(22rem, 0.88fr);

    min-height:
        clamp(34rem, 46vw, 44rem);
}


/* =========================================================
   MÍDIA
   ========================================================= */

body.home .vs-home-story__media {
    position: relative;

    padding: 0 !important;

    overflow: hidden;

    background-color:
        var(--vs-color-perola);
}


body.home
.vs-home-story__image,
body.home
.vs-home-story__image
.elementor-widget-container {

    width: 100%;
    height: 100%;
}


body.home .vs-home-story__image {
    position: absolute;

    inset: 0;

    margin: 0 !important;
}


body.home
.vs-home-story__image img {

    display: block;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover;

    object-position: center;

    transition:
        transform
        750ms
        cubic-bezier(0.22, 1, 0.36, 1);
}


body.home
.vs-home-story:hover
.vs-home-story__image img {

    transform:
        scale(1.018);
}


/* =========================================================
   CONTEÚDO DA HISTÓRIA
   ========================================================= */

body.home .vs-home-story__content {

    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: center !important;

    padding:
        clamp(3.5rem, 6vw, 6rem)
        clamp(2.5rem, 5vw, 5.5rem);

    gap: 0 !important;

    background-color:
        var(--vs-color-perola);
}


body.home
.vs-home-story__content
> .elementor-element {

    width: 100%;
    max-width: 34rem;

    margin-block-end:
        0 !important;
}


/* =========================================================
   NÚMERO
   ========================================================= */

body.home
.vs-home-story__number,
body.home
.vs-home-story__number
.elementor-heading-title {

    margin:
        0
        0
        2rem !important;

    color:
        rgba(110, 52, 31, 0.32) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            2.2rem,
            2.7vw,
            3rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1 !important;
}


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

body.home
.vs-home-story__label,
body.home
.vs-home-story__label
.elementor-heading-title {

    margin:
        0
        0
        0.8rem !important;

    color:
        var(--vs-color-canela) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.66rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1.2 !important;

    letter-spacing:
        0.16em !important;

    text-transform:
        uppercase;
}


/* =========================================================
   TÍTULO DA HISTÓRIA
   ========================================================= */

body.home
.vs-home-story__title,
body.home
.vs-home-story__title
.elementor-heading-title {

    max-width:
        14ch !important;

    margin:
        0 !important;

    color:
        var(--vs-color-chama) !important;

    font-family:
        var(--vs-font-display) !important;

    font-size:
        clamp(
            2.2rem,
            3.1vw,
            3.5rem
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.06 !important;

    letter-spacing:
        -0.025em !important;

    text-wrap:
        balance;
}


/* =========================================================
   TEXTO
   ========================================================= */

body.home .vs-home-story__text {

    max-width:
        31rem !important;

    margin-top:
        1.55rem !important;
}


body.home .vs-home-story__text,
body.home .vs-home-story__text p {

    color:
        rgba(33, 33, 33, 0.72) !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        0.95rem !important;

    font-weight:
        400 !important;

    line-height:
        1.72 !important;
}


body.home
.vs-home-story__text p {

    margin:
        0 !important;
}


/* =========================================================
   HISTÓRIA 02 — COMPROMISSO
   Inverte a composição
   ========================================================= */

body.home
.vs-home-story--secondary {

    grid-template-columns:
        minmax(22rem, 0.82fr)
        minmax(0, 1.18fr);

    min-height:
        clamp(31rem, 41vw, 39rem);

    margin-top:
        clamp(5rem, 8vw, 8rem) !important;
}


/*
 * O conteúdo vem primeiro no Elementor,
 * então naturalmente ocupa a esquerda.
 */

body.home
.vs-home-story--secondary
.vs-home-story__content {

    background-color:
        var(--vs-color-diamante);

    padding-left:
        clamp(1rem, 4vw, 4rem);
}


/* Linha editorial no topo do segundo conteúdo */

body.home
.vs-home-story--secondary
.vs-home-story__content::before {

    content: "";

    display: block;

    width:
        3rem;

    height:
        1px;

    margin-bottom:
        2.25rem;

    background-color:
        var(--vs-color-canela);

    opacity:
        0.65;
}


/* Imagem 02 fica um pouco mais cinematográfica */

body.home
.vs-home-story--secondary
.vs-home-story__media {

    min-height:
        clamp(31rem, 41vw, 39rem);
}


/* =========================================================
   PEQUENO DETALHE EDITORIAL ENTRE AS HISTÓRIAS
   ========================================================= */

body.home
.vs-home-story--primary::after {

    content: "";

    position: absolute;

    pointer-events: none;
}


/* =========================================================
   DESKTOP — REFINOS
   ========================================================= */

@media (min-width: 1081px) {

    /*
     * Primeira história ligeiramente deslocada para a esquerda,
     * criando aparência menos "container centralizado".
     */

    body.home
    .vs-home-story--primary {

        transform:
            translateX(-1.5rem);
    }


    /*
     * Segunda história desloca no sentido oposto.
     */

    body.home
    .vs-home-story--secondary {

        max-width:
            86rem !important;

        transform:
            translateX(2rem);
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.home .vs-home-stories {

        padding:
            5rem
            clamp(1.5rem, 6vw, 3.5rem)
            6rem !important;
    }


    body.home
    .vs-home-stories__header {

        margin-bottom:
            4rem !important;
    }


    body.home
    .vs-home-story--primary,
    body.home
    .vs-home-story--secondary {

        grid-template-columns:
            1fr;

        min-height:
            auto;

        transform:
            none !important;
    }


    body.home
    .vs-home-story--primary
    .vs-home-story__media {

        aspect-ratio:
            4 / 3;
    }


    body.home
    .vs-home-story--secondary
    .vs-home-story__media {

        aspect-ratio:
            16 / 10;

        min-height:
            auto;
    }


    body.home
    .vs-home-story__image {

        position:
            absolute;
    }


    body.home
    .vs-home-story__content {

        padding:
            4rem
            clamp(2rem, 7vw, 4rem);
    }


    /*
     * No tablet a segunda história:
     * imagem primeiro / conteúdo depois.
     */

    body.home
    .vs-home-story--secondary
    .vs-home-story__media {

        grid-row:
            1;
    }


    body.home
    .vs-home-story--secondary
    .vs-home-story__content {

        grid-row:
            2;

        padding-left:
            clamp(2rem, 7vw, 4rem);
    }

}


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

@media (max-width: 767px) {

    body.home .vs-home-stories {

        padding:
            4.5rem
            1rem
            5rem !important;
    }


    /* Cabeçalho */

    body.home
    .vs-home-stories__header {

        padding:
            0
            0.5rem !important;

        margin-bottom:
            3.25rem !important;
    }


    body.home
    .vs-home-stories__eyebrow,
    body.home
    .vs-home-stories__eyebrow
    .elementor-heading-title {

        margin-bottom:
            1.15rem !important;
    }


    body.home
    .vs-home-stories__title,
    body.home
    .vs-home-stories__title
    .elementor-heading-title {

        max-width:
            18ch !important;

        font-size:
            clamp(
                2.35rem,
                10.5vw,
                3.2rem
            ) !important;

        line-height:
            1.05 !important;
    }


    /* Primeira fotografia */

    body.home
    .vs-home-story--primary
    .vs-home-story__media {

        aspect-ratio:
            1 / 1;
    }


    /*
     * Para a foto do topázio em mão:
     * corte mais fechado no centro.
     */

    body.home
    .vs-home-story--primary
    .vs-home-story__image img {

        object-position:
            center;
    }


    /* Conteúdo */

    body.home
    .vs-home-story__content {

        padding:
            3rem
            1.5rem;
    }


    body.home
    .vs-home-story__number,
    body.home
    .vs-home-story__number
    .elementor-heading-title {

        margin-bottom:
            1.5rem !important;

        font-size:
            2rem !important;
    }


    body.home
    .vs-home-story__title,
    body.home
    .vs-home-story__title
    .elementor-heading-title {

        max-width:
            14ch !important;

        font-size:
            clamp(
                2rem,
                9vw,
                2.65rem
            ) !important;
    }


    body.home
    .vs-home-story__text {

        margin-top:
            1.3rem !important;
    }


    body.home
    .vs-home-story__text,
    body.home
    .vs-home-story__text p {

        font-size:
            0.9rem !important;

        line-height:
            1.68 !important;
    }


    /* História 02 */

    body.home
    .vs-home-story--secondary {

        margin-top:
            4rem !important;
    }


    body.home
    .vs-home-story--secondary
    .vs-home-story__media {

        aspect-ratio:
            4 / 3;
    }


    body.home
    .vs-home-story--secondary
    .vs-home-story__content {

        padding:
            3rem
            1.5rem;
    }


    body.home
    .vs-home-story--secondary
    .vs-home-story__content::before {

        width:
            2.5rem;

        margin-bottom:
            1.75rem;
    }

}


/* =========================================================
   MOBILE PEQUENO
   ========================================================= */

@media (max-width: 480px) {

    body.home .vs-home-stories {

        padding-inline:
            0.75rem !important;
    }


    body.home
    .vs-home-story__content {

        padding-inline:
            1.25rem;
    }

}

/* =========================================================
   HEADER — COMPACTO + HOVER MAIS SENSITIVO
   Desktop
   ========================================================= */

@media (min-width: 1081px) {

    /* =====================================================
       ALTURA GERAL
       ===================================================== */

    body:not(.single-product)
    .ast-primary-header-bar,

    body:not(.single-product)
    .site-primary-header-wrap {
        min-height: 4.75rem !important;
    }


    /* Logo um pouco mais contido */

    body:not(.single-product)
    .site-branding img {
        max-height: 2.55rem !important;
    }


    /* =====================================================
       NAVEGAÇÃO
       ===================================================== */

    body:not(.single-product)
    .main-header-menu
    > .menu-item {
        position: relative;
    }


    body:not(.single-product)
    .main-header-menu
    > .menu-item
    > .menu-link {

        position: relative;

        min-height: 4.75rem !important;

        padding:
            0
            clamp(0.8rem, 1.15vw, 1.15rem)
            !important;

        display: flex;
        align-items: center;

        transition:
            color 140ms ease,
            background-color 140ms ease !important;
    }


    /* =====================================================
       HOVER MAIS PRESENTE
       ===================================================== */

    body:not(.single-product)
    .main-header-menu
    > .menu-item
    > .menu-link:hover,

    body:not(.single-product)
    .main-header-menu
    > .current-menu-item
    > .menu-link,

    body:not(.single-product)
    .main-header-menu
    > .current-menu-ancestor
    > .menu-link {

        color:
            var(--vs-color-diamante) !important;

        background-color:
            rgba(237, 235, 230, 0.07);
    }



    /* =====================================================
       CTA
       ===================================================== */

    body:not(.single-product)
    .ast-header-button-1
    .ast-custom-button {

        min-height:
            2.75rem !important;

        padding:
            0.8rem
            1.1rem !important;
    }

}

/* =========================================================
   HOME — CTA FINAL + ASSINATURA
   Encerramento da narrativa
   ========================================================= */


/* =========================================================
   CTA — ESTRUTURA
   ========================================================= */

body.home .vs-home-final-cta {
    --width: 100% !important;

    position: relative;

    display: grid !important;
    grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr);

    width: 100% !important;
    max-width: none !important;

    min-height: clamp(36rem, 44vw, 43rem);

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;

    overflow: hidden;

    background-color: var(--vs-color-diamante);
}









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

body.home .vs-home-final-cta__button {

    margin-top:
        2.5rem !important;
}


body.home
.vs-home-final-cta__button
.elementor-button {

    position: relative;

    display: inline-flex;

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

    min-height:
        3.4rem;

    padding:
        1rem
        1.65rem !important;

    border:
        1px solid var(--vs-color-chama) !important;

    border-radius:
        0 !important;

    background:
        var(--vs-color-chama) !important;

    color:
        var(--vs-color-diamante) !important;

    box-shadow:
        none !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        .72rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1 !important;

    letter-spacing:
        .12em !important;

    text-transform:
        uppercase;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease,
        padding 180ms ease !important;
}


/* seta editorial */

body.home
.vs-home-final-cta__button
.elementor-button::after {

    content:
        "→";

    display: inline-block;

    margin-left:
        .8rem;

    font-size:
        1rem;

    font-weight:
        400;

    line-height:
        1;

    transition:
        transform 180ms ease;
}


/* hover */

body.home
.vs-home-final-cta__button
.elementor-button:hover {

    background:
        transparent !important;

    color:
        var(--vs-color-chama) !important;

    transform:
        translateY(-1px);
}


body.home
.vs-home-final-cta__button
.elementor-button:hover::after {

    transform:
        translateX(.3rem);
}


/* =========================================================
   ASSINATURA
   ========================================================= */

body.home .vs-home-signature {
    --width: 100% !important;

    position: relative;

    display: flex !important;
    flex-direction: column !important;

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

    width: 100% !important;
    max-width: none !important;

    min-height:
        clamp(15rem, 19vw, 20rem);

    margin: 0 !important;

    padding:
        clamp(4.5rem, 7vw, 7rem)
        2rem !important;

    gap: 0 !important;

    overflow: hidden;

    background-color:
        var(--vs-color-perola);
}


/*
 * linha muito delicada conectando CTA e assinatura
 */

body.home .vs-home-signature::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width:
        min(82%, 74rem);

    height:
        1px;

    transform:
        translateX(-50%);

    background-color:
        rgba(110, 52, 31, .14);
}


/* =========================================================
   IMAGEM DA ASSINATURA
   ========================================================= */

body.home .vs-home-signature__image {

    width:
        min(20rem, 55vw) !important;

    max-width:
        20rem !important;

    margin:
        0 auto !important;
}


body.home
.vs-home-signature__image
.elementor-widget-container {

    display: flex;

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


body.home
.vs-home-signature__image img {

    display: block;

    width: 100% !important;
    height: auto !important;

    max-height:
        9rem;

    object-fit:
        contain;

    opacity:
        .84;
}



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

@media (max-width: 767px) {


    body.home .vs-home-final-cta__button {

        margin-top:
            2rem !important;
    }


    body.home
    .vs-home-final-cta__button
    .elementor-button {

        min-height:
            3.25rem;

        padding:
            .95rem
            1.35rem !important;
    }


    /* assinatura */

    body.home .vs-home-signature {

        min-height:
            13rem;

        padding:
            4rem
            1.5rem !important;
    }


    body.home .vs-home-signature__image {

        width:
            min(16rem, 65vw) !important;
    }

}

/* =========================================================
   HOME — CTA FINAL
   Arte oficial do marketing em largura total
   ========================================================= */

body.home .vs-home-final-cta {
    --width: 100% !important;

    position: relative;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    gap: 0 !important;

    overflow: hidden;

    background-color: var(--vs-color-diamante);
}


/* =========================================================
   ARTE PRINCIPAL
   ========================================================= */

body.home .vs-home-final-cta__graphic {
    --width: 100% !important;

    position: relative;

    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    overflow: hidden;
}


/* remove elementos decorativos do CSS antigo */

body.home .vs-home-final-cta__graphic::before,
body.home .vs-home-final-cta__graphic::after {
    display: none !important;
}


/* widget da imagem */

body.home
.vs-home-final-cta__graphic
.elementor-widget-image {

    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    z-index: 1;
}


body.home
.vs-home-final-cta__graphic
.elementor-widget-container {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* imagem SEM corte */

body.home
.vs-home-final-cta__graphic
.elementor-widget-image img {

    display: block;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;

    margin: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;

    opacity: 1 !important;
}


/* =========================================================
   ÁREA DO BOTÃO
   ========================================================= */

body.home .vs-home-final-cta__content {
    --width: 100% !important;

    position: relative;

    display: flex !important;
    flex-direction: column !important;

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

    width: 100% !important;
    max-width: none !important;

    min-height: auto !important;

    margin: 0 !important;

    padding:
        0
        2rem
        clamp(4rem, 6vw, 6.5rem)
        !important;

    gap: 0 !important;

    background-color:
        var(--vs-color-diamante);
}


/*
 * Como o conteúdo textual já está na arte,
 * esconde os antigos elementos caso ainda existam.
 */

body.home .vs-home-final-cta__eyebrow,
body.home .vs-home-final-cta__title,
body.home .vs-home-final-cta__text {
    display: none !important;
}


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

body.home .vs-home-final-cta__button {
    width: auto !important;

    margin:
        clamp(1.5rem, 2.5vw, 2.5rem)
        auto
        0 !important;
}


body.home
.vs-home-final-cta__button
.elementor-button {

    display: inline-flex;

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

    min-height: 3.5rem;

    padding:
        1rem
        1.75rem !important;

    border:
        1px solid var(--vs-color-chama) !important;

    border-radius:
        0 !important;

    background-color:
        var(--vs-color-chama) !important;

    color:
        var(--vs-color-diamante) !important;

    box-shadow:
        none !important;

    font-family:
        var(--vs-font-body) !important;

    font-size:
        .72rem !important;

    font-weight:
        var(--vs-font-weight-semibold) !important;

    line-height:
        1 !important;

    letter-spacing:
        .12em !important;

    text-transform:
        uppercase;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease !important;
}


body.home
.vs-home-final-cta__button
.elementor-button::after {

    content: "→";

    margin-left: .8rem;

    font-size: 1rem;

    line-height: 1;

    transition:
        transform 180ms ease;
}


body.home
.vs-home-final-cta__button
.elementor-button:hover {

    background-color:
        transparent !important;

    color:
        var(--vs-color-chama) !important;

    transform:
        translateY(-2px);
}


body.home
.vs-home-final-cta__button
.elementor-button:hover::after {

    transform:
        translateX(.3rem);
}


/* =========================================================
   ASSINATURA
   Mantém separada como encerramento
   ========================================================= */

body.home .vs-home-signature {

    position: relative;

    width: 100% !important;
    max-width: none !important;

    min-height: auto !important;

    margin: 0 !important;

    padding:
        clamp(4.5rem, 6vw, 6rem)
        2rem
        clamp(5rem, 7vw, 7rem)
        !important;

    background-color:
        var(--vs-color-perola);

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;
}


/* ligação muito delicada entre CTA e assinatura */

body.home .vs-home-signature::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width:
        min(78%, 68rem);

    height: 1px;

    transform:
        translateX(-50%);

    background-color:
        rgba(110, 52, 31, .13);
}


/* mantém o tamanho que já funcionou */

body.home .vs-home-signature__image {

    width:
        min(20rem, 55vw) !important;

    max-width:
        20rem !important;

    margin:
        0 auto !important;
}


body.home
.vs-home-signature__image img {

    display: block;

    width: 100% !important;
    height: auto !important;

    max-height: 9rem;

    object-fit: contain;

    opacity: .84;
}


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

@media (max-width: 767px) {

    body.home
    .vs-home-final-cta__graphic
    .elementor-widget-image img {

        width: 100% !important;
        height: auto !important;

        object-fit: contain !important;
        object-position: center !important;
    }


    body.home .vs-home-final-cta__content {

        padding:
            0
            1.25rem
            4rem
            !important;
    }


    body.home .vs-home-final-cta__button {

        margin-top:
            1.5rem !important;
    }


    body.home
    .vs-home-final-cta__button
    .elementor-button {

        min-height:
            3.25rem;

        padding:
            .95rem
            1.4rem !important;
    }


    body.home .vs-home-signature {

        padding:
            4rem
            1.5rem
            4.5rem
            !important;
    }


    body.home .vs-home-signature__image {

        width:
            min(16rem, 65vw) !important;
    }

}

/* =========================================================
   HOME — CTA FINAL
   Refinamento da arte oficial
   ========================================================= */

body.home .vs-home-final-cta {
    padding:
        clamp(3.5rem, 5vw, 5.5rem)
        clamp(1.5rem, 5vw, 5rem)
        0 !important;

    background-color: var(--vs-color-diamante);
}


/* arte centralizada, sem ocupar a tela inteira */

body.home .vs-home-final-cta__graphic {
    width: 100% !important;
    max-width: 60rem !important;

    margin: 0 auto !important;
    padding: 0 !important;

    overflow: visible !important;
}


body.home
.vs-home-final-cta__graphic
.elementor-widget-image,
body.home
.vs-home-final-cta__graphic
.elementor-widget-container {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.home
.vs-home-final-cta__graphic
.elementor-widget-image img {

    display: block;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 auto !important;

    object-fit: contain !important;
    object-position: center !important;
}


/* =========================================================
   BOTÃO
   Aproxima da composição
   ========================================================= */

body.home .vs-home-final-cta__content {

    width: 100% !important;
    max-width: 88rem !important;

    margin: 0 auto !important;

    padding:
        clamp(5rem, 3vw, 3.2rem)
        0
        clamp(4rem, 6vw, 6rem)
        !important;
}


body.home .vs-home-final-cta__button {
    margin: 0 auto !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.home .vs-home-final-cta {
        padding:
            3.5rem
            2rem
            0 !important;
    }

}


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

@media (max-width: 767px) {

    body.home .vs-home-final-cta {
        padding:
            3rem
            1rem
            0 !important;
    }


    body.home .vs-home-final-cta__content {
        padding:
            1.5rem
            0
            4rem
            !important;
    }

}

/* =========================================================
   HOME — STORIES
   Equilibra o espaço da arte de abertura
   ========================================================= */

body.home
.vs-home-stories
> .vs-home-stories__header-image {
    margin-bottom: clamp(5rem, 8vw, 5rem) !important;
}

/* HOME — STORIES
   Ajuste óptico da arte de abertura
   Não altera tamanho nem largura
*/

@media (min-width: 901px) {

    body.home .vs-home-stories__header-image {
        transform: translateY(-3rem);
    }

}

/* =========================================================
   HOME — AJUSTES FINAIS MOBILE
   Artes + botão CTA
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       HISTÓRIAS — arte de abertura
       Desktop permanece 60%
       ----------------------------------------------------- */

    body.home .vs-home-stories__header-image {
        width: 92% !important;
        max-width: 92% !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }


    /* mantém o ajuste óptico, mas menos agressivo no mobile */

    body.home .vs-home-stories__header-image {
        transform: translateY(-1.5rem) !important;
    }


    /* -----------------------------------------------------
       CTA FINAL — arte "Feita de momentos..."
       ----------------------------------------------------- */

    body.home .vs-home-final-cta__graphic {
        width: 94% !important;
        max-width: 94% !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.home
    .vs-home-final-cta__graphic
    .elementor-widget-image,
    body.home
    .vs-home-final-cta__graphic
    .elementor-widget-container {
        width: 100% !important;
        max-width: none !important;
    }

    body.home
    .vs-home-final-cta__graphic
    .elementor-widget-image img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }


    /* -----------------------------------------------------
       BOTÃO CTA — mais delicado
       ----------------------------------------------------- */

    body.home
    .vs-home-final-cta__button
    .elementor-button {
        min-height: 2.55rem !important;

        padding:
            0.68rem
            0.9rem !important;

        font-size: 0.61rem !important;
        letter-spacing: 0.1em !important;
    }

    body.home
    .vs-home-final-cta__button
    .elementor-button::after {
        margin-left: 0.55rem !important;
        font-size: 0.82rem !important;
    }

}

/* =========================================================
   HOME — STORIES
   Respiro entre as histórias no mobile
   ========================================================= */

@media (max-width: 767px) {

    body.home
    .vs-home-stories
    .vs-home-story + .vs-home-story {
        margin-top: 3.5rem !important;
    }

}

/* =========================================================
   HOME — STORIES
   Menos distância da seção anterior no mobile
   Desktop permanece igual
   ========================================================= */

@media (max-width: 767px) {

    body.home .vs-home-stories {
        padding-top: 1.75rem !important;
    }

}

/* =========================================================
   HOME — TABLET CONSOLIDADO
   768px → 1080px
   Não interfere em desktop nem celular
   ========================================================= */

@media (min-width: 768px) and (max-width: 1080px) {


    /* =====================================================
       01. HEADER
       Em tablet usamos o mesmo header compacto do mobile.
       Evita menu quebrando em duas linhas.
       ===================================================== */

    body.home #ast-desktop-header {
        display: none !important;
    }

    body.home #ast-mobile-header {
        display: block !important;
    }


    /* mantém proporção elegante */

    body.home
    #ast-mobile-header
    .ast-primary-header-bar,

    body.home
    #ast-mobile-header
    .site-primary-header-wrap {
        min-height: 4.5rem !important;
    }


    body.home
    #ast-mobile-header
    .site-branding img {
        width: auto !important;
        max-height: 2.15rem !important;
    }



    /* =====================================================
       02. CRIAÇÕES VERSARO
       Desktop continua expansivo.
       Tablet recebe margem lateral.
       ===================================================== */

    body.home .vs-home-creations {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }


    body.home
    .vs-home-creations__products
    .woocommerce,
    body.home
    .vs-home-creations__products
    ul.products {
        width: 100% !important;
        max-width: 100% !important;
    }



    /* =====================================================
       03. CTA FINAL
       Arte oficial não precisa ocupar quase a tela toda.
       ===================================================== */

    body.home .vs-home-final-cta__graphic {
        width: 72% !important;
        max-width: 72% !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }


    body.home
    .vs-home-final-cta__graphic
    .elementor-widget-image,
    body.home
    .vs-home-final-cta__graphic
    .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
    }


    body.home
    .vs-home-final-cta__graphic
    img {
        width: 100% !important;
        height: auto !important;
    }

}

/* =========================================================
   HEADER — RESPIRO TABLET / TELAS INTERMEDIÁRIAS
   ========================================================= */

@media (min-width: 768px) and (max-width: 1366px) {

    body.home
    #ast-mobile-header
    .ast-builder-grid-row {
        box-sizing: border-box !important;

        padding-left:
            clamp(1.25rem, 2.5vw, 2rem) !important;

        padding-right:
            clamp(1.25rem, 2.5vw, 2rem) !important;
    }

}

/* =========================================================
   HEADER — CENTRALIZAÇÃO VERTICAL TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1366px) {

    body.home
    #ast-mobile-header
    .ast-primary-header-bar {
        min-height: 4.75rem !important;
    }

    body.home
    #ast-mobile-header
    .ast-builder-grid-row {
        min-height: 4.75rem !important;

        align-items: center !important;

        padding-top: .65rem !important;
        padding-bottom: .65rem !important;
    }

    /* neutraliza espaçamento próprio do Astra na logo */
    body.home
    #ast-mobile-header
    .ast-site-identity {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* garante logo e menu no mesmo eixo */
    body.home
    #ast-mobile-header
    .site-header-primary-section-left,
    body.home
    #ast-mobile-header
    .site-header-primary-section-right {
        align-items: center !important;
        align-self: center !important;
    }

}

/* =========================================================
   VERSARO — FOOTER GLOBAL
   Astra Footer Builder
   ========================================================= */


/* =========================================================
   BASE
   ========================================================= */

.site-footer {
    background: var(--vs-color-carbono) !important;
    color: var(--vs-color-diamante);
}


/* =========================================================
   FAIXA PRINCIPAL
   "Acima do rodapé"
   ========================================================= */

.site-footer .site-above-footer-wrap {
    background: var(--vs-color-carbono) !important;
    border: 0 !important;
}

.site-footer .site-above-footer-inner-wrap {
    width: min(100% - 3rem, 84rem) !important;
    max-width: 84rem !important;

    margin: 0 auto !important;

    padding:
        clamp(5rem, 7vw, 7rem)
        0
        clamp(4.5rem, 6vw, 6rem)
        !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(12rem, .8fr)
        minmax(14rem, .8fr);

    gap:
        clamp(3rem, 6vw, 6rem);

    align-items: start !important;
}


/* remove espaçamentos internos herdados do Astra */

.site-footer
.site-above-footer-inner-wrap
.site-footer-section {
    margin: 0 !important;
    padding: 0 !important;

    align-items: flex-start !important;
    justify-content: flex-start !important;
}


/* =========================================================
   MARCA
   ========================================================= */

.vs-footer-brand {
    max-width: 25rem;
}

.vs-footer-brand__name {
    margin-bottom: 1.4rem;

    color: var(--vs-color-diamante);

    font-family: var(--vs-font-display);
    font-size: clamp(1.9rem, 2.4vw, 2.5rem);
    font-weight: 400;

    line-height: 1;
    letter-spacing: .12em;
}

.vs-footer-brand p {
    max-width: 23rem;

    margin: 0;

    color: rgba(237, 235, 230, .62);

    font-family: var(--vs-font-body);
    font-size: .9rem;
    font-weight: 400;

    line-height: 1.75;
}


/* =========================================================
   MENU
   ========================================================= */

.site-footer .footer-nav-wrap {
    width: 100%;
}

.site-footer
.footer-nav-wrap
.astra-footer-horizontal-menu {
    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;

    gap: .85rem !important;

    margin: 0 !important;
    padding: 0 !important;
}

.site-footer
.footer-nav-wrap
.menu-item {
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.site-footer
.footer-nav-wrap
.menu-link {
    padding: 0 !important;

    color: rgba(237, 235, 230, .78) !important;

    font-family: var(--vs-font-body) !important;
    font-size: .76rem !important;
    font-weight: 500 !important;

    line-height: 1.35 !important;

    letter-spacing: .06em !important;

    text-transform: uppercase;

    transition:
        color 160ms ease,
        transform 160ms ease !important;
}

.site-footer
.footer-nav-wrap
.menu-link:hover {
    color: var(--vs-color-areia) !important;

    transform: translateX(.2rem);
}


/* =========================================================
   ATELIÊ
   ========================================================= */

.vs-footer-info {
    display: flex;

    flex-direction: column;
    align-items: flex-start;

    gap: 0;
}

.vs-footer-info__label {
    margin-bottom: 1rem;

    color: var(--vs-color-areia);

    font-family: var(--vs-font-body);
    font-size: .67rem;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .17em;

    text-transform: uppercase;
}

.vs-footer-info p {
    margin: 0 0 1.5rem;

    color: rgba(237, 235, 230, .78);

    font-family: var(--vs-font-body);
    font-size: .9rem;

    line-height: 1.6;
}

.vs-footer-info a {
    position: relative;

    display: inline-flex;

    align-items: center;

    color: var(--vs-color-diamante) !important;

    font-family: var(--vs-font-body);
    font-size: .73rem;
    font-weight: 500;

    line-height: 1.3;

    letter-spacing: .06em;

    text-decoration: none !important;

    transition:
        color 160ms ease,
        transform 160ms ease;
}

.vs-footer-info a:hover {
    color: var(--vs-color-areia) !important;

    transform: translateX(.2rem);
}


/* =========================================================
   FAIXA INTERMEDIÁRIA VAZIA
   ========================================================= */

.site-footer .site-primary-footer-wrap {
    display: none !important;
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.site-footer .site-below-footer-wrap {
    background: var(--vs-color-carbono) !important;

    border-top:
        1px solid rgba(237, 235, 230, .12) !important;
}

.site-footer .site-below-footer-inner-wrap {
    width: min(100% - 3rem, 84rem) !important;
    max-width: 84rem !important;

    min-height: 0 !important;

    margin: 0 auto !important;

    padding:
        1.7rem
        0 !important;
}




/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1080px) {

    .site-footer .site-above-footer-inner-wrap {
        width: min(100% - 4rem, 58rem) !important;

        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(10rem, .8fr)
            minmax(12rem, .8fr);

        gap: 3rem;

        padding:
            5rem
            0
            4.5rem
            !important;
    }

    .vs-footer-brand__name {
        font-size: 1.9rem;
    }

}


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

@media (max-width: 767px) {

    .site-footer .site-above-footer-inner-wrap {
        width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        padding:
            4.5rem
            1.5rem
            4rem
            !important;

        gap: 0 !important;
    }


    /* todos os blocos */

    .site-footer
    .site-above-footer-inner-wrap
    .site-footer-section {
        width: 100% !important;

        padding:
            0 !important;
    }


    /* divisões entre os grupos */

    .site-footer
    .site-above-footer-inner-wrap
    .site-footer-section
    + .site-footer-section {
        margin-top: 2.75rem !important;

        padding-top: 2.75rem !important;

        border-top:
            1px solid rgba(237, 235, 230, .11);
    }


    /* marca */

    .vs-footer-brand {
        max-width: 20rem;
    }

    .vs-footer-brand__name {
        margin-bottom: 1.15rem;

        font-size: 1.85rem;
    }

    .vs-footer-brand p {
        max-width: 19rem;

        font-size: .87rem;
    }


    /* menu */

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu {
        gap: .9rem !important;
    }

    .site-footer
    .footer-nav-wrap
    .menu-link {
        font-size: .72rem !important;
    }

    /* eixo editorial único do footer mobile */

    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section,

    .site-footer
    .site-above-footer-inner-wrap
    .footer-widget-area,

    .site-footer
    .site-above-footer-inner-wrap
    .widget,

    .site-footer
    .site-above-footer-inner-wrap
    .ast-footer-html,

    .site-footer
    .site-above-footer-inner-wrap
    .footer-nav-wrap,

    .site-footer
    .site-above-footer-inner-wrap
    nav {
        width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        text-align: left !important;
    }


    /* marca */

    .site-footer .vs-footer-brand {
        width: 100%;

        margin: 0 !important;

        text-align: left !important;
    }

    .site-footer .vs-footer-brand__name,
    .site-footer .vs-footer-brand p {
        text-align: left !important;
    }


    /* menu */

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu {
        width: 100% !important;

        align-items: flex-start !important;

        text-align: left !important;
    }

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu
    > li {
        width: 100% !important;

        text-align: left !important;
    }

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu
    > li
    > a {
        display: flex !important;

        width: 100% !important;

        justify-content: flex-start !important;

        text-align: left !important;
    }


    
}

/* =========================================================
   FOOTER — ALINHAMENTO FINAL DESKTOP
   ========================================================= */

@media (min-width: 901px) {

    /* grade principal */
    .site-footer .site-above-footer-inner-wrap {
        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(12rem, .75fr)
            minmax(14rem, .75fr) !important;

        align-items: start !important;
    }


    /* cada coluna começa exatamente do mesmo eixo */
    .site-footer
    .site-above-footer-inner-wrap
    .site-footer-section {
        width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;
        justify-content: flex-start !important;

        text-align: left !important;
    }


    /* neutraliza centralização dos widgets do Astra */
    .site-footer
    .site-above-footer-inner-wrap
    .widget,
    .site-footer
    .site-above-footer-inner-wrap
    .widget_block,
    .site-footer
    .site-above-footer-inner-wrap
    .ast-footer-html,
    .site-footer
    .site-above-footer-inner-wrap
    .ast-footer-html-1,
    .site-footer
    .site-above-footer-inner-wrap
    .ast-footer-html-2 {

        width: 100% !important;

        margin: 0 !important;

        text-align: left !important;
    }


    /* MARCA */

    .site-footer .vs-footer-brand {
        width: 100%;
        max-width: 24rem;

        margin: 0 !important;

        text-align: left !important;
    }

    .site-footer .vs-footer-brand__name,
    .site-footer .vs-footer-brand p {
        text-align: left !important;
    }


    /* MENU */

    .site-footer .footer-nav-wrap {
        width: 100% !important;

        margin: 0 !important;

        text-align: left !important;
    }

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu {

        width: 100% !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;
        justify-content: flex-start !important;

        text-align: left !important;
    }

    .site-footer
    .footer-nav-wrap
    .menu-item,
    .site-footer
    .footer-nav-wrap
    .menu-link {

        width: auto !important;

        text-align: left !important;
    }


    /* ATELIÊ */

    .site-footer .vs-footer-info {
        width: 100%;

        margin: 0 !important;

        align-items: flex-start !important;

        text-align: left !important;
    }


    /* deixa os três blocos começando na mesma altura */
    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section {

        padding-top: 0 !important;
        margin-top: 0 !important;
    }

}

/* =========================================================
   FOOTER — MENU ALINHADO À ESQUERDA
   ========================================================= */

@media (min-width: 901px) {

    .site-footer .footer-nav-wrap,
    .site-footer .footer-nav-wrap nav,
    .site-footer .footer-nav-wrap .astra-footer-horizontal-menu {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: left !important;
    }

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu {
        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;
        justify-content: flex-start !important;
    }

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu
    > li {
        width: 100% !important;

        margin: 0 !important;

        text-align: left !important;
    }

    .site-footer
    .footer-nav-wrap
    .astra-footer-horizontal-menu
    > li
    > a {
        width: 100% !important;

        display: flex !important;
        justify-content: flex-start !important;

        padding: 0 !important;

        text-align: left !important;
    }

}

/* =========================================================
   FOOTER — COLUNA CENTRAL / MENU
   Força alinhamento real à esquerda
   ========================================================= */

@media (min-width: 901px) {

    /* segunda coluna do Above Footer */
    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section:nth-child(2) {
        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;
        justify-content: flex-start !important;

        text-align: left !important;
    }


    /* wrappers internos criados pelo Astra */
    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section:nth-child(2)
    .footer-widget-area,

    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section:nth-child(2)
    .footer-nav-wrap,

    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section:nth-child(2)
    nav {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: left !important;
    }


    /* lista */
    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section:nth-child(2)
    ul {
        display: flex !important;
        flex-direction: column !important;

        align-items: flex-start !important;
        justify-content: flex-start !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: left !important;
    }


    /* itens */
    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section:nth-child(2)
    li {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: left !important;
    }


    /* links */
    .site-footer
    .site-above-footer-inner-wrap
    > .site-footer-section:nth-child(2)
    li > a {
        display: block !important;

        width: 100% !important;

        padding: 0 !important;

        text-align: left !important;
    }

}

