/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

/* =====================================================================
   VILLA CELINA — estilos personalizados
   Índice:
   01. Tokens & tipografia
   02. Header
   03. Utilitários (secções, títulos, botões, links)
   04. Hero
   05. Produtos (grelha)
   06. Durabilidade (texto com imagem)
   07. Novidades (carrossel)
   08. Reviews
   09. Villa Celina (cartões com marquee)
   10. Footer
   11. Loading screen
   12. Responsivo
   ===================================================================== */

/* ---------- 01. Tokens & tipografia ---------- */
:root {
  --vc-cream: #f5f2ed;
  --vc-ink: #251d17;
  --vc-ink-70: rgba(37, 29, 23, .7);
  --vc-orange: #f06544;
  --vc-brown: #7f4c45;
  --vc-sand: #ddd6ca;
  --vc-radius: 16px;
  --vc-gutter: max(24px, calc((100vw - 1346px) / 2));
  --vc-font: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --vc-ease: cubic-bezier(.65, 0, .35, 1);
  --vc-ease-out: cubic-bezier(.22, 1, .36, 1);
  --icon-search: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.5 8.333a5.833 5.833 0 1 0 11.667 0a5.833 5.833 0 1 0-11.667 0%22/%3E%3Cpath d=%22M17.5 17.5l-5-5%22/%3E%3C/svg%3E");
  --icon-user: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6.667 5.833a3.333 3.333 0 1 0 6.666 0a3.333 3.333 0 1 0-6.666 0%22/%3E%3Cpath d=%22M5 17.5v-1.667A3.333 3.333 0 0 1 8.333 12.5h3.334A3.333 3.333 0 0 1 15 15.833V17.5%22/%3E%3C/svg%3E");
  --icon-bag: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5.277 6.667h9.449a1.667 1.667 0 0 1 1.647 1.92l-1.046 6.793a2.5 2.5 0 0 1-2.471 2.12H7.146a2.5 2.5 0 0 1-2.471-2.12L3.629 8.587a1.667 1.667 0 0 1 1.648-1.92z%22/%3E%3Cpath d=%22M7.5 9.167V5a2.5 2.5 0 0 1 5 0v4.167%22/%3E%3C/svg%3E");
  --icon-arrow: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 18 18%22%3E%3Cpath fill=%22%23fff%22 d=%22M12.003 7.061l-6.455 6.455-1.061-1.061L10.942 6H5.253V4.5h8.25v8.25h-1.5V7.061z%22/%3E%3C/svg%3E");
  --icon-chev: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7.5 5l5 5-5 5%22/%3E%3C/svg%3E");
  --icon-star: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath fill=%22%23f06544%22 d=%22m12 17.275l-4.15 2.5q-.275.175-.575.15t-.525-.2t-.35-.437t-.05-.588l1.1-4.725L3.775 10.8q-.25-.225-.312-.513t.037-.562t.3-.45t.55-.225l4.85-.425l1.875-4.45q.125-.3.388-.45t.537-.15t.537.15t.388.45l1.875 4.45l4.85.425q.35.05.55.225t.3.45t.038.563t-.313.512l-3.675 3.175l1.1 4.725q.075.325-.05.588t-.35.437t-.525.2t-.575-.15z%22/%3E%3C/svg%3E");
  --icon-linkedin: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3.333 5A1.667 1.667 0 0 1 5 3.333h10A1.667 1.667 0 0 1 16.667 5v10A1.667 1.667 0 0 1 15 16.667H5A1.667 1.667 0 0 1 3.333 15z%22/%3E%3Cpath d=%22M6.667 9.167v4.166M6.667 6.667v.008M10 13.333V9.167M13.333 13.333v-2.5a1.667 1.667 0 0 0-3.333 0%22/%3E%3C/svg%3E");
  --icon-instagram: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3.333 6.667a3.333 3.333 0 0 1 3.334-3.334h6.666a3.333 3.333 0 0 1 3.334 3.334v6.666a3.333 3.333 0 0 1-3.334 3.334H6.667a3.333 3.333 0 0 1-3.334-3.334z%22/%3E%3Cpath d=%22M7.5 10a2.5 2.5 0 1 0 5 0a2.5 2.5 0 1 0-5 0M13.75 6.25v.008%22/%3E%3C/svg%3E");
  --icon-facebook: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5.833 8.333v3.334h2.5V17.5h3.334v-5.833h2.5L15 8.333h-3.333V6.667a.833.833 0 0 1 .833-.834H15V2.5h-2.5a4.167 4.167 0 0 0-4.167 4.167v1.666z%22/%3E%3C/svg%3E");
  --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 14 14%22 fill=%22none%22 stroke=%22%23fff%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 opacity=%22.8%22%3E%3Cpath d=%22M1.75 2.917c0-.645.522-1.167 1.167-1.167h8.166c.645 0 1.167.522 1.167 1.167v8.166c0 .645-.522 1.167-1.167 1.167H2.917A1.167 1.167 0 0 1 1.75 11.083z%22/%3E%3C/svg%3E");
  --icon-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 14 14%22 fill=%22none%22 stroke=%22%23fff%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M1.75 2.917c0-.645.522-1.167 1.167-1.167h8.166c.645 0 1.167.522 1.167 1.167v8.166c0 .645-.522 1.167-1.167 1.167H2.917A1.167 1.167 0 0 1 1.75 11.083z%22/%3E%3Cpath d=%22M4.5 7.2l1.8 1.8 3.4-3.6%22/%3E%3C/svg%3E");
}

html body,
body, body p, body a, body li, body input, body textarea, body button,
body h1, body h2, body h3, body h4, body h5, body h6,
body .nectar-button, body #top nav > ul > li > a,
body .nectar-text-inline-images, body .nectar-scrolling-text h2 {
  font-family: var(--vc-font);
  font-variation-settings: "wdth" 100;
}
body {
  color: var(--vc-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------- 02. Header ---------- */
body #header-outer,
body #header-outer[data-format="centered-menu"] {
  background-color: var(--vc-cream) !important;
  border-bottom: 1px solid rgba(37, 29, 23, .1);
  box-shadow: none !important;
}
body #header-outer #top nav > ul.sf-menu > li > a,
body #header-outer #top nav > ul.sf-menu > li > a .menu-title-text {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  color: var(--vc-ink);
  transition: color .3s var(--vc-ease-out);
}
body #header-outer #top nav > ul.sf-menu > li > a:hover,
body #header-outer #top nav > ul.sf-menu > li > a:hover .menu-title-text,
body #header-outer #top nav > ul.sf-menu > li.current-menu-item > a .menu-title-text {
  color: var(--vc-orange) !important;
}
/* Ícones do header (search / conta / carrinho) com os ícones do design */
body #header-outer #top nav ul.buttons {
  display: flex;
  align-items: center;
  gap: 16px;
}
body #header-outer #top nav ul.buttons > li {
  margin: 0 !important;
  padding: 0 !important;
}
body #header-outer #top nav ul.buttons > li > div > a,
body #header-outer #top nav ul.buttons > li > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0 !important;
}
body #header-outer #top .icon-salient-search,
body #header-outer #top .icon-salient-m-user,
body #header-outer #top .icon-salient-cart,
body #header-outer #top .vc-header-cart__icon {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background-color: var(--vc-ink) !important;
  -webkit-mask: var(--icon-search) center / 20px 20px no-repeat;
          mask: var(--icon-search) center / 20px 20px no-repeat;
  transition: background-color .3s var(--vc-ease-out);
  top: 0 !important;
  left: 0 !important;
}
body #header-outer #top .icon-salient-search:before,
body #header-outer #top .icon-salient-m-user:before,
body #header-outer #top .icon-salient-cart:before { display: none !important; }
body #header-outer #top .icon-salient-m-user {
  -webkit-mask-image: var(--icon-user);
          mask-image: var(--icon-user);
}
body #header-outer #top .icon-salient-cart,
body #header-outer #top .vc-header-cart__icon {
  -webkit-mask-image: var(--icon-bag);
          mask-image: var(--icon-bag);
}
body #header-outer #top nav ul.buttons a:hover .icon-salient-search,
body #header-outer #top nav ul.buttons a:hover .icon-salient-m-user,
body #header-outer #top nav ul.buttons a:hover .icon-salient-cart,
body #header-outer #top nav ul.buttons a:hover .vc-header-cart__icon {
  background-color: var(--vc-orange) !important;
}

/* ---------- 03. Utilitários ---------- */
body .container-wrap,
body.home .container-wrap {
  background-color: transparent;
}
body.home .container-wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
body.home .main-content > .row > .wpb_row:first-child { margin-top: 0; }

body .wpb_row.vc-section,
body .wpb_row.vc-statement,
body .wpb_row.vc-reviews {
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
  margin-bottom: 0 !important;
}

.vc-h2,
body .vc-h2 {
  margin: 0;
  padding: 0;
  font-size: 48px;
  line-height: 1.1;
  font-weight: 200;
  letter-spacing: -1.2px;
  color: inherit;
}
.vc-eyebrow,
body p.vc-eyebrow {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.vc-section-title { text-align: center; }
body .vc-section-title .vc-h2 { line-height: 1.2; letter-spacing: -1.44px; }
body .vc-section-title p:last-child { padding-bottom: 0; }

/* Cabeçalho de secção (título + "Ver todos") */
body .vc-section-head { margin-bottom: 40px !important; }
body .vc-section-head > .row_col_wrap_12_inner::before, body .vc-section-head > .row_col_wrap_12_inner::after,
body .vc-hero__bottom > .row_col_wrap_12_inner::before, body .vc-hero__bottom > .row_col_wrap_12_inner::after,
body .vc-prod-grid > .row_col_wrap_12_inner::before, body .vc-prod-grid > .row_col_wrap_12_inner::after,
body .vc-layer-cards > .row_col_wrap_12_inner::before, body .vc-layer-cards > .row_col_wrap_12_inner::after,
body .vc-footer .row_col_wrap_12_inner::before, body .vc-footer .row_col_wrap_12_inner::after { content: none !important; display: none !important; }
body .vc-section-head > .row_col_wrap_12_inner {
  display: flex;
  align-items: flex-end;
  flex-wrap: nowrap;
}
body .vc-section-head .wpb_column { margin-bottom: 0 !important; }
body .vc-section-head__link { display: flex; justify-content: flex-end; }
body .vc-section-head__link p { padding: 0; margin: 0; }

/* Link "Ver todos" com chevron */
a.vc-link-arrow,
body a.vc-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px 8px 20px;
  border-radius: 48px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--vc-ink);
  text-decoration: none;
  transition: color .3s var(--vc-ease-out);
}
a.vc-link-arrow::after {
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--icon-chev) center / 20px 20px no-repeat;
          mask: var(--icon-chev) center / 20px 20px no-repeat;
  transition: transform .4s var(--vc-ease-out);
}
a.vc-link-arrow:hover { color: var(--vc-orange); }
a.vc-link-arrow:hover::after { transform: translateX(4px); }

/* Botão pill branco com círculo + seta (Ver produtos / Sobre nós / Produtos) */
body .nectar-button.vc-btn-arrow,
body a.nectar-button.vc-btn-arrow.regular-button {
  display: inline-flex !important;
  align-items: center;
  gap: 16px;
  margin: 0 !important;
  padding: 4px 4px 4px 20px !important;
  border-radius: 64px !important;
  background-color: #fff !important;
  color: var(--vc-ink) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  overflow: hidden;
  transform: none !important;
  opacity: 1 !important;
  transition: background-color .3s var(--vc-ease-out), color .3s var(--vc-ease-out) !important;
}
body .nectar-button.vc-btn-arrow > span {
  position: relative;
  z-index: 1;
  color: inherit !important;
  transform: none !important;
  left: 0 !important;
}
body .nectar-button.vc-btn-arrow::before,
body .nectar-button.vc-btn-arrow > i { display: none !important; }
body .nectar-button.vc-btn-arrow::after {
  content: "";
  position: relative;
  display: block;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background:
    var(--icon-arrow) 50% 50% / 18px 18px no-repeat,
    var(--icon-arrow) -18px 54px / 18px 18px no-repeat,
    var(--vc-orange);
  transition: background-position .55s var(--vc-ease), transform .55s var(--vc-ease-out);
  opacity: 1 !important;
  transform: none;
}
body .nectar-button.vc-btn-arrow--brown::after {
  background:
    var(--icon-arrow) 50% 50% / 18px 18px no-repeat,
    var(--icon-arrow) -18px 54px / 18px 18px no-repeat,
    var(--vc-brown);
}
body .nectar-button.vc-btn-arrow:hover::after {
  background-position: 54px -18px, 50% 50%, 0 0;
  transform: scale(1.06);
}

/* ---------- 04. Hero ---------- */
body .wpb_row.vc-hero {
  position: relative;
  display: flex !important;
  align-items: flex-end;
  min-height: calc(100vh - 80px);
  min-height: calc(100svh - 80px);
  padding: 0 40px 40px !important;
  margin-bottom: 0 !important;
  overflow: hidden;
}
body.admin-bar .wpb_row.vc-hero { min-height: calc(100svh - 112px); }
body .wpb_row.vc-hero > .row-bg-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0) 63.54%, rgba(0, 0, 0, 1) 100%),
    rgba(0, 0, 0, .2);
}
body .wpb_row.vc-hero > .row_col_wrap_12 {
  position: relative;
  z-index: 3;
  width: 100%;
  margin: 0 !important;
}
body .vc-hero__col,
body .vc-hero__col > .vc_column-inner { padding: 0 !important; margin: 0 !important; }
body .vc-hero__bottom { margin: 0 !important; }
body .vc-hero__bottom > .row_col_wrap_12_inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 24px;
}
body .vc-hero__bottom .wpb_column { width: auto !important; margin: 0 !important; float: none; }
body .vc-hero__text p {
  max-width: 330px;
  padding: 0;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 300;
  color: #fff;
}
body .vc-hero__cta { display: flex; justify-content: flex-end; }
body .vc-hero__cta .vc_column-inner > .wpb_wrapper { display: flex; justify-content: flex-end; }

/* ---------- 05. Produtos ---------- */
body .wpb_row.vc-produtos { padding-top: 120px !important; padding-bottom: 72px !important; }
body .vc-prod-grid { margin: 0 !important; }
body .vc-prod-grid > .row_col_wrap_12_inner {
  display: flex;
  gap: 16px;
  flex-wrap: nowrap;
}
body .vc-prod-grid .vc-prod-grid__col {
  width: auto !important;
  flex: 1 1 0;
  margin: 0 !important;
  float: none;
}
body .vc-prod-grid__col > .vc_column-inner > .wpb_wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body .vc-prod-grid .nectar-fancy-box {
  position: relative;
  margin: 0 !important;
  border-radius: var(--vc-radius) !important;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  padding: 24px !important;
  box-shadow: none !important;
  transform: none !important;
  isolation: isolate;
}
body .vc-prod-grid .nectar-fancy-box .box-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  transform: scale(1.001);
  transition: transform 1.2s var(--vc-ease-out) !important;
}
body .vc-prod-grid .nectar-fancy-box .box-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 1 !important;
  background: linear-gradient(0deg, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, 0) 100%) !important;
}
body .vc-prod-grid .nectar-fancy-box:before,
body .vc-prod-grid .nectar-fancy-box:after { display: none !important; }
body .vc-prod-grid .nectar-fancy-box .inner {
  position: relative !important;
  z-index: 2;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  padding: 0 !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
}
body .vc-prod-grid .nectar-fancy-box .inner h3 {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  color: #fff !important;
  font-size: 28px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
}
body .vc-prod-grid .nectar-fancy-box .inner h3::after {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--icon-arrow) center / 18px 18px no-repeat, var(--vc-orange);
  opacity: 0;
  transform: translateX(-12px) scale(.6);
  transition: opacity .5s var(--vc-ease-out), transform .6s var(--vc-ease-out);
}
body .vc-prod-grid .nectar-fancy-box:hover .box-bg { transform: scale(1.06); }
body .vc-prod-grid .nectar-fancy-box:hover .inner h3::after { opacity: 1; transform: none; }
body .vc-prod-grid .nectar-fancy-box .box-link { z-index: 5; }

/* ---------- 06. Durabilidade ---------- */
body .wpb_row.vc-statement {
  display: flex !important;
  align-items: center;
  min-height: 650px;
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}
body .wpb_row.vc-statement > .row_col_wrap_12 { width: 100%; }
body .vc-statement .nectar-text-inline-images h2,
body .vc-statement .nectar-text-inline-images h2 .line {
  text-align: center !important;
  font-weight: 200 !important;
  letter-spacing: -0.02em !important;
  color: var(--vc-ink);
}
body .vc-statement .nectar-text-inline-images__image { border-radius: 15px !important; object-fit: cover; }

/* ---------- 07. Novidades ---------- */
body .wpb_row.vc-novidades {
  padding-top: 72px !important;
  padding-bottom: 120px !important;
  overflow: hidden;
}
body .vc-novidades .nectar-flickity,
body .vc-novidades .nectar-flickity .flickity-viewport { overflow: visible !important; }
body .vc-novidades .nectar-flickity .flickity-slider > .cell,
body .vc-novidades .nectar-flickity > .cell {
  width: min(416px, 80vw) !important;
  padding: 0 16px 0 0 !important;
  margin: 0 !important;
  box-sizing: content-box;
}
body .vc-novidades .cell .inner-wrap-outer,
body .vc-novidades .cell .inner-wrap {
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
}
body .vc-novidades .cell .inner-wrap { display: flex; flex-direction: column; gap: 12px; }
body .vc-novidades .cell .img-with-aniamtion-wrap {
  margin: 0 !important;
  width: 100%;
  border-radius: var(--vc-radius);
  overflow: hidden;
}
body .vc-novidades .cell .img-with-aniamtion-wrap .inner,
body .vc-novidades .cell .img-with-aniamtion-wrap .hover-wrap,
body .vc-novidades .cell .img-with-aniamtion-wrap .hover-wrap-inner { width: 100%; }
body .vc-novidades .cell .img-with-aniamtion-wrap img {
  display: block;
  width: 100% !important;
  height: 420px !important;
  max-width: none !important;
  object-fit: cover;
  border-radius: var(--vc-radius) !important;
  transition: transform 1.2s var(--vc-ease-out);
}
body .vc-novidades .cell:hover .img-with-aniamtion-wrap img { transform: scale(1.05); }
body .vc-novidades .cell .wpb_text_column { margin: 0 !important; }
body .vc-novidades p.vc-card__title {
  margin: 0 0 8px;
  padding: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
  color: var(--vc-ink);
}
body .vc-novidades p.vc-card__price {
  margin: 0;
  padding: 0;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 300;
  color: var(--vc-ink-70);
}
body .vc-novidades .cell a.flickity-slider__link { z-index: 5; }
body .vc-novidades .flickity-page-dots,
body .vc-reviews .flickity-page-dots { display: none !important; }

/* ---------- 08. Reviews ---------- */
body .wpb_row.vc-reviews {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
  color: #fff;
  overflow: hidden;
}
body .vc-reviews .vc-section-title { margin-bottom: 48px !important; color: #fff; }
body .vc-reviews .vc-section-title .vc-h2,
body .vc-reviews .vc-section-title .vc-eyebrow { color: #fff; }
body .vc-reviews .nectar-flickity,
body .vc-reviews .nectar-flickity .flickity-viewport { overflow: visible !important; }
body .vc-reviews .nectar-flickity .flickity-slider > .cell {
  width: 378px !important;
  padding: 0 12px !important;
  margin: 0 !important;
  box-sizing: content-box;
}
body .vc-reviews .cell .inner-wrap-outer,
body .vc-reviews .cell .inner-wrap {
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
body .vc-reviews .cell .wpb_text_column { margin: 0 !important; }
.vc-review {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 340px;
  padding: 32px;
  border-radius: var(--vc-radius);
  background: #fff;
  color: var(--vc-ink);
  box-sizing: border-box;
}
.vc-review__top { display: flex; align-items: center; justify-content: space-between; }
.vc-stars {
  display: block;
  width: 120px;
  height: 24px;
  background: var(--icon-star) 0 0 / 24px 24px repeat-x;
}
body .vc-review .vc-review__score {
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
  font-variant-numeric: lining-nums proportional-nums;
}
.vc-review__bottom { display: flex; flex-direction: column; gap: 24px; }
body .vc-review p,
body .vc-reviews .vc-review p,
body .vc-review .vc-review__score { margin: 0; padding: 0; color: var(--vc-ink) !important; opacity: 1 !important; }
body .vc-review p.vc-review__quote {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: -0.245px;
}
body .vc-review p.vc-review__name {
  margin-bottom: -20px;
  font-size: 16px;
  line-height: 1;
  font-weight: 500;
}
body .vc-review p.vc-review__loc {
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
  color: var(--vc-ink-70) !important;
}

/* ---------- 09. Villa Celina (cartões com marquee) ---------- */
body .wpb_row.vc-explore { padding-top: 72px !important; padding-bottom: 72px !important; }
body .vc-explore .vc-section-title { margin-bottom: 48px !important; }
body .vc-layer-cards { margin: 0 !important; }
body .vc-layer-cards > .row_col_wrap_12_inner { display: flex; gap: 24px; flex-wrap: nowrap; }
body .vc-layer-cards .vc-layer-card {
  position: relative;
  flex: 1 1 0;
  width: auto !important;
  height: 550px;
  margin: 0 !important;
  float: none;
  border-radius: var(--vc-radius);
  overflow: hidden;
  background-color: var(--vc-sand);
  isolation: isolate;
}
body .vc-layer-card > .vc_column-inner {
  position: absolute !important;
  inset: 0;
  padding: 0 !important;
  border-radius: var(--vc-radius);
  overflow: hidden;
}
body .vc-layer-card .column-image-bg-wrap,
body .vc-layer-card .column-image-bg-wrap .inner-wrap,
body .vc-layer-card .column-image-bg {
  border-radius: 0 !important;
}
body .vc-layer-card .column-image-bg { transition: transform 1.4s var(--vc-ease-out) !important; }
body .vc-layer-card > .vc_column-inner > .wpb_wrapper { position: absolute; inset: 0; }
/* Marquee por trás do recorte */
body .vc-layer-card .nectar-scrolling-text {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 !important;
  padding: 16px 0 !important;
}
body .vc-layer-card .nectar-scrolling-text h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 64px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}
/* Recorte (PNG/WebP transparente) por cima do texto */
body .vc-layer-card .img-with-aniamtion-wrap {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  margin: 0 !important;
  pointer-events: none;
}
body .vc-layer-card .img-with-aniamtion-wrap .inner,
body .vc-layer-card .img-with-aniamtion-wrap .hover-wrap,
body .vc-layer-card .img-with-aniamtion-wrap .hover-wrap-inner { width: 100%; height: 100%; }
body .vc-layer-card .img-with-aniamtion-wrap img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  opacity: 1 !important;
  transform: none;
  transition: transform 1.4s var(--vc-ease-out) !important;
}
/* Fundo e recorte partilham exatamente o mesmo enquadramento (cover + posição + escala) */
body .vc-layer-card { --vc-crop-pos: 50% 50%; --vc-crop-scale: 1; }
body .vc-layer-card--brown { --vc-crop-pos: 50% 100%; --vc-crop-scale: 1.075; }
body .vc-layer-card .column-image-bg {
  background-size: cover !important;
  background-position: var(--vc-crop-pos) !important;
  transform: scale(var(--vc-crop-scale)) !important;
  transform-origin: 50% 50%;
}
body .vc-layer-card .img-with-aniamtion-wrap img {
  object-position: var(--vc-crop-pos) !important;
  transform: scale(var(--vc-crop-scale)) !important;
  transform-origin: 50% 50%;
}
body .vc-layer-card:hover .column-image-bg,
body .vc-layer-card:hover .img-with-aniamtion-wrap img { transform: scale(calc(var(--vc-crop-scale) * 1.04)) !important; }
body .vc-layer-card .nectar-button.vc-btn-arrow {
  position: absolute !important;
  top: auto !important;
  height: auto !important;
  left: 50%;
  bottom: 16px;
  z-index: 3;
  translate: -50% 0;
}

/* ---------- 10. Footer ---------- */
body .wpb_row.vc-footer {
  left: 0 !important;
  width: 100vw !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 40px 72px 0 !important;
  background-color: var(--vc-brown);
  color: #fff;
}
body .vc-footer .row_col_wrap_12_inner { display: flex; justify-content: space-between; flex-wrap: nowrap; }
body .vc-footer .wpb_column { margin-bottom: 0 !important; float: none; }
body .vc-footer__top { margin-bottom: 0 !important; min-height: 292px; }
body .vc-footer__top .wpb_column:first-child { width: 445px !important; max-width: 100%; }
body .vc-footer__top .wpb_column:last-child { width: auto !important; }
body .vc-footer p.vc-footer__title {
  margin: 0 0 16px;
  padding: 0;
  max-width: 437px;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 200;
  color: #fff;
}
.vc-newsletter { display: flex; flex-direction: column; gap: 16px; max-width: 423px; margin: 0; }
.vc-newsletter__field {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 4px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, .5);
}
body .vc-newsletter__field input[type="email"] {
  flex: 1;
  height: 100%;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 16px !important;
}
body .vc-newsletter__field input[type="email"]::placeholder { color: rgba(255, 255, 255, .8); opacity: 1; }
body .vc-newsletter__field button {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0 !important;
  border: 0;
  background-color: #fff !important;
  -webkit-mask: var(--icon-chev) center / 20px 20px no-repeat;
          mask: var(--icon-chev) center / 20px 20px no-repeat;
  cursor: pointer;
  transition: transform .4s var(--vc-ease-out);
}
body .vc-newsletter__field button:hover { transform: translateX(4px); }
.vc-newsletter__legal { display: flex; align-items: flex-start; gap: 4px; margin: 0; cursor: pointer; }
body .vc-newsletter__legal input[type="checkbox"] {
  -webkit-appearance: none;
          appearance: none;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin: 1px 0 0;
  padding: 0;
  border: 0;
  background: var(--icon-checkbox) center / 14px 14px no-repeat;
  cursor: pointer;
}
body .vc-newsletter__legal input[type="checkbox"]:checked { background-image: var(--icon-check); }
body .vc-newsletter__legal span {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 200;
  color: rgba(255, 255, 255, .7);
}
body .vc-newsletter__legal a { color: inherit; text-decoration: underline !important; }
.vc-newsletter__msg { margin: 0; font-size: 14px; line-height: 1.2; font-weight: 300; color: #fff; }

.vc-footer__links { display: flex; gap: 72px; }
body .vc-footer__links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
body .vc-footer__links li { margin: 0; padding: 0; list-style: none; font-size: 16px; line-height: 25.6px; }
body .vc-footer__links .vc-footer__nav { width: 80px; }
body .vc-footer__links .vc-footer__nav a { font-weight: 500; }
body .vc-footer__links .vc-footer__legal { width: 171px; }
body .vc-footer__links .vc-footer__legal a { font-weight: 300; opacity: .8; }
body .vc-footer a { text-decoration: none !important; color: #fff; transition: color .3s var(--vc-ease-out), opacity .3s; }
body .vc-footer__links a:hover { color: var(--vc-orange); opacity: 1; }

body .vc-footer__bottom { margin: 0 !important; padding: 32px 0 !important; }
body .vc-footer__bottom > .row_col_wrap_12_inner { align-items: flex-end; }
body .vc-footer__bottom .wpb_column { width: auto !important; }
body .vc-footer p.vc-footer__copy {
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: #fff;
}
.vc-social { display: flex; gap: 4px; align-items: center; }
.vc-social__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 56px;
  transition: background-color .3s var(--vc-ease-out);
}
.vc-social__link::before {
  content: "";
  width: 20px;
  height: 20px;
  background-color: #fff;
  -webkit-mask: var(--icon-linkedin) center / 20px 20px no-repeat;
          mask: var(--icon-linkedin) center / 20px 20px no-repeat;
}
.vc-social__link--instagram::before { -webkit-mask-image: var(--icon-instagram); mask-image: var(--icon-instagram); }
.vc-social__link--facebook::before { -webkit-mask-image: var(--icon-facebook); mask-image: var(--icon-facebook); }
.vc-social__link:hover { background-color: rgba(255, 255, 255, .12); }
body .vc-footer .wpb_text_column p:empty { display: none; }

/* ---------- 11. Loading screen ---------- */
.vc-loader { display: none; }
html.vc-loading { overflow: hidden; }
html.vc-loading body { overflow: hidden; }
html.vc-loading .vc-loader {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 100000;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(50% 50% at 50% 50%, #ff9b50 0%, #ff724d 100%);
  will-change: transform;
}
.vc-loader__brand {
  position: absolute;
  top: clamp(24px, 4.17vw, 60px);
  right: clamp(24px, 2.85vw, 41px);
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.6vw, 22px);
}
.vc-loader__icon { width: clamp(56px, 7.79vw, 112px); height: auto; display: block; overflow: visible; }
.vc-loader__tagline {
  margin: 0;
  font-family: var(--vc-font);
  font-size: clamp(11px, 1.225vw, 17.6px);
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: #fff;
}
.vc-loader__tagline span { display: block; overflow: hidden; }
.vc-loader__tagline span > i { display: block; font-style: normal; }
.vc-loader__word {
  position: absolute;
  left: clamp(20px, 2.78vw, 40px);
  bottom: calc(clamp(20px, 2.36vw, 34px) + clamp(18px, 2.2vw, 32px));
  width: min(48.57vw, 700px);
  overflow: hidden;
}
.vc-loader__word svg { display: block; width: 100%; height: auto; overflow: visible; }
.vc-loader__bar {
  position: absolute;
  left: clamp(20px, 2.78vw, 40px);
  right: clamp(20px, 2.78vw, 40px);
  bottom: clamp(20px, 2.36vw, 34px);
  height: 4px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .14);
  overflow: hidden;
}
.vc-loader__bar span {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #fff 0%, #fff 92%, rgba(255, 255, 255, 0) 100%);
  transform-origin: 0 50%;
  transform: scaleX(0);
}
html.vc-no-loader .vc-loader { display: none !important; }

/* ---------- 12. Responsivo ---------- */
@media (max-width: 999px) {
  body #header-outer #top nav ul.buttons { gap: 12px; }
  .vc-h2, body .vc-h2 { font-size: 38px; }
  body .wpb_row.vc-hero { padding: 0 20px 24px !important; min-height: calc(100svh - 64px); }
  body .wpb_row.vc-produtos { padding-top: 80px !important; padding-bottom: 48px !important; }
  body .vc-prod-grid .nectar-fancy-box .inner h3 { font-size: 22px; }
  body .wpb_row.vc-statement { min-height: 0; padding-top: 80px !important; padding-bottom: 80px !important; }
  body .wpb_row.vc-novidades { padding-top: 48px !important; padding-bottom: 80px !important; }
  body .wpb_row.vc-reviews { padding-top: 80px !important; padding-bottom: 80px !important; }
  body .vc-layer-cards .vc-layer-card { height: 440px; }
  body .vc-layer-card .nectar-scrolling-text h2 { font-size: 48px !important; }
  body .wpb_row.vc-footer { padding: 40px 32px 0 !important; }
  .vc-footer__links { gap: 40px; }
}
@media (max-width: 690px) {
  :root { --vc-gutter: 16px; }
  .vc-h2, body .vc-h2 { font-size: 32px; letter-spacing: -0.8px; }
  body .vc-section-title .vc-h2 { letter-spacing: -0.8px; }
  body .wpb_row.vc-hero { padding: 0 16px 16px !important; }
  body .vc-hero__bottom > .row_col_wrap_12_inner { flex-direction: column; align-items: flex-start; gap: 20px; }
  body .vc-hero__text p { font-size: 15px; }
  body .vc-section-head { margin-bottom: 24px !important; }
  body .vc-section-head .wpb_column { width: auto !important; flex: 0 1 auto; }
  body .vc-section-head > .row_col_wrap_12_inner { justify-content: space-between; }
  body .vc-section-head a.vc-link-arrow { padding-right: 0; padding-left: 8px; }
  body .vc-prod-grid > .row_col_wrap_12_inner { flex-direction: column; gap: 12px; }
  body .vc-prod-grid__col > .vc_column-inner > .wpb_wrapper { gap: 12px; }
  body .vc-prod-grid .nectar-fancy-box { min-height: 260px !important; padding: 20px !important; }
  body .vc-prod-grid .nectar-fancy-box .inner h3 { font-size: 22px; }
  body .vc-prod-grid .nectar-fancy-box .inner h3::after { opacity: 1; transform: none; width: 32px; height: 32px; }
  body .vc-novidades .nectar-flickity .flickity-slider > .cell { width: 78vw !important; padding-right: 12px !important; }
  body .vc-novidades .cell .img-with-aniamtion-wrap img { height: 96vw !important; max-height: 420px; }
  body .vc-reviews .vc-section-title { margin-bottom: 32px !important; }
  body .vc-reviews .nectar-flickity .flickity-slider > .cell { width: 300px !important; padding: 0 8px !important; }
  .vc-review { height: 320px; padding: 24px; }
  body .vc-review p.vc-review__quote { font-size: 18px; }
  body .vc-explore .vc-section-title { margin-bottom: 32px !important; }
  body .vc-layer-cards > .row_col_wrap_12_inner { flex-direction: column; gap: 16px; }
  body .vc-layer-cards .vc-layer-card { flex: none; width: 100% !important; height: 120vw; max-height: 520px; }
  body .vc-layer-card .nectar-scrolling-text h2 { font-size: 40px !important; }
  body .wpb_row.vc-footer { padding: 40px 16px 0 !important; }
  body .vc-footer .row_col_wrap_12_inner { flex-direction: column; gap: 40px; }
  body .vc-footer__top { min-height: 0; }
  body .vc-footer__top .wpb_column:first-child { width: 100% !important; }
  body .vc-footer__bottom > .row_col_wrap_12_inner { flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; }
  .vc-footer__links { gap: 32px; }
  .vc-loader__word { width: calc(100vw - 40px); }
}
@media (prefers-reduced-motion: reduce) {
  body .nectar-button.vc-btn-arrow::after,
  body .vc-prod-grid .nectar-fancy-box .box-bg,
  body .vc-novidades .cell .img-with-aniamtion-wrap img,
  body .vc-layer-card .column-image-bg,
  body .vc-layer-card .img-with-aniamtion-wrap img { transition: none !important; }
}
