/* ===== HOME REDESIGN 02/10/2026 (prateleira, barra de frete, ícones DNA, Marcellus, rodapé) ===== */

/* --- shelf --- */
/* PRATELEIRA (substitui a hero 2) — teste 02/10 */
.zx-shelf {
  position: relative; z-index: 2;
  background: #FFFFFF;
  border-radius: 28px 28px 0 0;
  margin-top: -28px;
  padding: 72px 0 64px;
  color: #1F1A17;
}
.zx-shelf__inner { max-width: 1320px; margin: 0 auto; padding: 0 40px; }
.zx-shelf__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.zx-shelf__title {
  font-family: var(--font-serif); font-weight: 400; font-size: clamp(34px, 3.4vw, 46px);
  line-height: 1.05; letter-spacing: -0.01em; margin: 0; color: #1F1A17;
}
.zx-shelf__tabs { display: flex; gap: 6px; }
.zx-shelf__tab {
  font-family: var(--font-body); font-size: 13px; font-weight: 500;
  background: none; border: 0; border-radius: 999px; padding: 8px 16px;
  color: #1F1A17; cursor: pointer; transition: background .2s;
}
.zx-shelf__tab[aria-selected="true"] { background: #F1ECE8; }
.zx-shelf__tab:hover { background: #F6F2EF; }

.zx-shelf__track {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 12px) / 4.15);
  gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  margin-right: -40px; padding-right: 40px;
}
.zx-shelf__track::-webkit-scrollbar { display: none; }

.zx-card {
  position: relative; scroll-snap-align: start;
  background: #F1ECE8; border-radius: 18px; overflow: hidden;
  display: flex; flex-direction: column; color: inherit; text-decoration: none;
}
.zx-card__media {
  position: relative; aspect-ratio: 1 / 0.92;
  display: flex; align-items: center; justify-content: center;
}
.zx-card__media img {
  height: 64%; width: auto; position: relative; z-index: 1;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.zx-card__media::after {             /* sombra de contato sob o frasco */
  content: ''; position: absolute; left: 50%; bottom: 17%; width: 34%; height: 14px;
  transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(closest-side, rgba(31,26,23,.22), transparent);
}
.zx-card:hover .zx-card__media img { transform: translateY(-6px); }
.zx-card__badge {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em;
  background: #FFFFFF; color: #6B5E55; border-radius: 999px; padding: 4px 9px;
}
.zx-card__body { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 0 18px 18px; }
.zx-card__cat { font-family: var(--font-body); font-size: 12px; color: #6B5E55; margin: 0 0 4px; }
.zx-card__name { font-family: var(--font-body); font-size: 15px; font-weight: 600; margin: 0 0 4px; color: #1F1A17; }
.zx-card__price { font-family: var(--font-body); font-size: 14px; margin: 0; color: #1F1A17; }
.zx-card__cart {
  flex: none; width: 36px; height: 36px; border-radius: 50%;
  background: #1F1A17; color: #FFFFFF; display: grid; place-items: center;
  transition: background .2s, transform .2s;
}
.zx-card__cart:hover { background: #B97F75; transform: scale(1.06); }
.zx-card__cart svg { width: 16px; height: 16px; }

.zx-shelf__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 28px; }
.zx-shelf__progress { width: 128px; height: 2px; background: #E6DFDA; position: relative; }
.zx-shelf__progress span { position: absolute; inset: 0 auto 0 0; background: #1F1A17; width: 40%; transition: transform .2s, width .2s; }
.zx-shelf__arrows { display: flex; gap: 10px; }
.zx-shelf__arrow {
  width: 40px; height: 40px; border-radius: 50%; border: 1px solid #E6DFDA; background: #FFFFFF;
  display: grid; place-items: center; cursor: pointer; color: #1F1A17; transition: border-color .2s;
}
.zx-shelf__arrow:hover { border-color: #1F1A17; }
.zx-shelf__arrow svg { width: 14px; height: 14px; }

@media (max-width: 849px) {
  .zx-shelf { padding: 48px 0 44px; border-radius: 22px 22px 0 0; margin-top: -22px; }
  .zx-shelf__inner { padding: 0 16px; }
  .zx-shelf__head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
  .zx-shelf__track { grid-auto-columns: 68%; margin-right: -16px; padding-right: 16px; }
}

/* blindagem contra estilos do Flatsome (img/botões) */
.zx-shelf .zx-card__media img { width: 23% !important; height: auto !important; max-width: none !important; margin: 0 !important; }
.zx-shelf button.zx-shelf__tab, .zx-shelf button.zx-shelf__arrow {
  text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important;
  white-space: nowrap; min-height: 0 !important; margin: 0 !important; box-shadow: none !important;
}
.zx-shelf button.zx-shelf__arrow { padding: 0 !important; }
.zx-shelf h2, .zx-shelf h3, .zx-shelf p { text-transform: none; letter-spacing: normal; }
.zx-shelf .zx-shelf__title { letter-spacing: -0.01em; }
.zx-shelf__track { margin-right: calc(-1 * max(40px, (100vw - 1240px) / 2)); padding-right: max(40px, (100vw - 1240px) / 2); }
@media (max-width: 849px) {
  .zx-shelf .zx-card__media img { width: 25% !important; }
  .zx-shelf__track { margin-right: -16px; padding-right: 16px; }
}
.zx-shelf__track[hidden] { display: none !important; }

/* v2 02/10: foto original (sem recorte) ocupando a área de imagem do card */
.zx-shelf .zx-card__media { overflow: hidden; }
.zx-shelf .zx-card__media img { width: 100% !important; height: 100% !important; object-fit: cover; position: absolute; inset: 0; }
.zx-shelf .zx-card__media::after { display: none; }
.zx-card:hover .zx-card__media img { transform: scale(1.04); }
.zx-card__body { padding-top: 16px; }
@media (max-width: 849px) { .zx-shelf .zx-card__media img { width: 100% !important; } }

/* barra de progresso centralizada; setas seguem à direita */
.zx-shelf__foot { position: relative; justify-content: flex-end; min-height: 40px; }
.zx-shelf__progress { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }

/* sem setas: rodapé só com a barra centralizada */
.zx-shelf__foot { justify-content: center; min-height: 0; }
.zx-shelf__progress { position: relative; left: auto; top: auto; transform: none; }

/* cor do card = mesmo fundo da faixa Purity/Traceability (trust bar) */
.zx-card {
  background:
    radial-gradient(120% 140% at 50% -20%, rgba(236,198,192,.10) 0%, rgba(236,198,192,0) 55%),
    linear-gradient(180deg, #FAF6F3 0%, #F6ECE8 100%);
}
.zx-shelf__tab[aria-selected="true"] { background: #F6ECE8; }
.zx-shelf__tab:hover { background: #FAF6F3; }

/* preço visível SÓ nos cards da prateleira (decisão do Alan 02/10); o resto da home segue sem preço */
body.home .zx-card__price .woocommerce-Price-amount,
body.home .zx-card__price .woocommerce-Price-currencySymbol { display: inline !important; }

/* --- sora-para-marcellus --- */
/* TODA a Sora -> Marcellus (02/10). Marcellus só tem peso 400: font-synthesis evita negrito falso */
:root { --font-heading: 'Marcellus', serif; }
h1,h2,h3,h4,h5,h6,.heading-font,
.nav > li > a, .mobile-sidebar-levels-2 .nav > li > ul > li > a,
.off-canvas-center .nav-sidebar.nav-vertical > li > a { font-family: 'Marcellus', serif; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Marcellus', serif !important; }
#zynix-age-gate .zag-title, #zynix-age-gate .zag-btn-agree, #zynix-age-gate .zag-btn-disagree,
#zynix-cookie-consent .zcc-text strong, #zynix-cookie-consent button { font-family: 'Marcellus', serif !important; }
[style*="Sora"] { font-family: 'Marcellus', serif !important; }
body { font-synthesis: none; }
/* rótulos da faixa (PURITY, TRACEABILITY…) em negrito: Marcellus não tem bold,
   então o peso vem de um contorno fino da própria cor (mais limpo que o negrito falso) */
.zynix-trust-bar__label {
  -webkit-text-stroke: .55px currentColor;
  paint-order: stroke fill;
  letter-spacing: .1em;
}
.zynix-trust-bar__label { line-height: 1.3 !important; }
/* o Flatsome imprime h1–h6/.heading-font em Sora num <style> inline DEPOIS deste arquivo:
   especificidade maior para vencer em todas as páginas (produto, carrinho, checkout) */
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .heading-font, html body .heading-font a,
html body .off-canvas-center .nav-sidebar.nav-vertical > li > a { font-family: 'Marcellus', serif; }
html body .comment-reply-title small { font-family: 'Marcellus', serif; }

/* --- header --- */
/* MENU DO HEADER — Marcellus (opção B escolhida 02/10) */
#header .nav-top-link,
#header .nav.nav-right li.account-item > a.nav-top-not-logged-in,
#header .nav.nav-right li.account-item > a.nav-top-logged-in,
body.header-scrolled #header .nav.nav-right li.account-item > a.nav-top-not-logged-in,
body.header-scrolled #header .nav.nav-right li.account-item > a.nav-top-logged-in,
#header li.account-item > a > span {
  font-family: 'Marcellus', serif !important;
  font-weight: 400 !important;
}
#header .nav-top-link { font-size: 13.5px !important; letter-spacing: .06em !important; }
#header .nav.nav-right li.account-item > a.nav-top-not-logged-in,
#header .nav.nav-right li.account-item > a.nav-top-logged-in,
#header li.account-item > a > span { font-size: 13px !important; letter-spacing: .06em !important; }

/* --- icones --- */
/* ÍCONES REDONDOS no tom do DNA do vídeo do hero (amostrado do poster: média #94564E) */
:root { --zx-dna: #94564E; --zx-dna-deep: #7A3F38; --zx-dna-light: #C98A80; }

/* faixa Purity / Traceability / ... */
.zynix-trust-bar__icon {
  background:
    radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,.85), rgba(148,86,78,.14) 70%),
    rgba(148,86,78,.12);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.7), 0 4px 12px -6px rgba(122,63,56,.55);
}
.zynix-trust-bar__icon::before { background: linear-gradient(140deg, var(--zx-dna-light), var(--zx-dna-deep) 60%, rgba(148,86,78,.45)); }
.zynix-trust-bar__icon svg { stroke: var(--zx-dna); }
.zynix-trust-bar__item:hover .zynix-trust-bar__icon { box-shadow: inset 0 1px 1px rgba(255,255,255,.7), 0 8px 18px -8px rgba(122,63,56,.65); }

/* redes sociais */
.zynix-social__icon {
  color: var(--zx-dna);
  background:
    radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,.9), rgba(148,86,78,.15) 72%),
    rgba(148,86,78,.12);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.75), 0 6px 16px -8px rgba(122,63,56,.6);
}
.zynix-social__icon::before { background: linear-gradient(140deg, var(--zx-dna-light), var(--zx-dna-deep) 60%, rgba(148,86,78,.45)); }
.zynix-social__link:hover .zynix-social__icon {
  color: #fff; background: linear-gradient(140deg, var(--zx-dna-light), var(--zx-dna-deep));
  box-shadow: inset 0 1px 1px rgba(255,255,255,.4), 0 12px 22px -10px rgba(122,63,56,.8);
}

/* How it works (fundo escuro: versão um pouco mais clara do mesmo tom) */
.zynix-process__step-icon {
  background: linear-gradient(150deg, rgba(201,138,128,.22), rgba(148,86,78,.10)), rgba(31,26,23,.6);
  box-shadow: inset 0 1px 0 rgba(201,138,128,.25), 0 8px 24px -10px rgba(31,26,23,.9), 0 0 0 1px rgba(148,86,78,.45);
}
.zynix-process__step-icon::before { background: linear-gradient(140deg, rgba(201,138,128,.9), rgba(148,86,78,.7) 55%, rgba(148,86,78,.2)); }
.zynix-process__step-icon::after { box-shadow: 0 0 28px -6px rgba(148,86,78,.55); }
.zynix-process__step-icon svg { stroke: var(--zx-dna-light); }

/* --- shipbar --- */
/* BARRA FIXA DE FRETE — mesmo formato da NYsub, pele Zynix (dark luxe rose gold) */
.zynix-fbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 8000;
  box-sizing: border-box; width: 100%;
  display: flex; align-items: center; justify-content: center;
  min-height: 52px; padding: 9px 56px 9px 20px;
  overflow: hidden; isolation: isolate;
  background: linear-gradient(100deg, #2A231F 0%, #1F1A17 55%, #181310 100%);
  border-top: 1px solid rgba(236,198,192,.22);
  box-shadow: 0 -1px 0 rgba(255,255,255,.05) inset, 0 -14px 40px rgba(31,26,23,.34);
  opacity: 0; transform: translateY(100%);
  transition: opacity .45s ease, transform .55s cubic-bezier(.16,.84,.44,1);
}
.zynix-fbar.is-in     { opacity: 1; transform: translateY(0); }
.zynix-fbar.is-static { opacity: 1; transform: none; }
.zynix-fbar.is-out    { opacity: 0; transform: translateY(100%); pointer-events: none; }
.zynix-fbar::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(60% 140% at 0% 0%, rgba(236,198,192,.12), transparent 55%),
    radial-gradient(60% 140% at 100% 0%, rgba(185,127,117,.12), transparent 60%),
    linear-gradient(100deg, transparent 42%, rgba(244,217,211,.06) 50%, transparent 58%);
}
.zynix-fbar__inner {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: 14px; max-width: 1180px; width: 100%;
}
.zynix-fbar__icon {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 10px;
  background: linear-gradient(140deg, rgba(244,217,211,.16), rgba(185,127,117,.10));
  border: 1px solid rgba(236,198,192,.30); color: #F4D9D3;
}
.zynix-fbar__text {
  margin: 0 !important; color: #E9DFDA;
  font-family: var(--font-body, 'Inter', sans-serif); font-size: 14px; font-weight: 500;
  letter-spacing: .01em; line-height: 1.25;
}
.zynix-fbar__num {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace); font-weight: 700;
  font-size: 14px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
  background: linear-gradient(95deg, #F4D9D3, #ECC6C0, #D6A39A);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.zynix-fbar__cta {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-mono, 'IBM Plex Mono', monospace); font-size: 11px; font-weight: 600;
  letter-spacing: .10em; text-transform: uppercase; text-decoration: none;
  padding: 9px 20px; border-radius: 10px;
  background: linear-gradient(135deg, #ECC6C0, #B97F75); color: #1F1A17 !important;
  box-shadow: 0 6px 16px rgba(185,127,117,.30), 0 1px 0 rgba(255,255,255,.30) inset;
  transition: background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.zynix-fbar__cta:hover, .zynix-fbar__cta:focus {
  transform: translateY(-1px); background: linear-gradient(135deg, #F4D9D3, #C98C82);
  box-shadow: 0 10px 22px rgba(185,127,117,.40), 0 1px 0 rgba(255,255,255,.35) inset;
}
.zynix-fbar button.zynix-fbar__close {
  position: absolute; top: 50%; right: 14px; transform: translateY(-50%);
  width: 28px; height: 28px; min-height: 0; margin: 0; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border: none; background: transparent; color: #9c8f88;
  font-size: 20px; line-height: 1; cursor: pointer; border-radius: 50%; z-index: 2;
}
.zynix-fbar button.zynix-fbar__close:hover { background: rgba(236,198,192,.16); color: #F4D9D3; }
.back-to-top { bottom: calc(20px + var(--zynix-fbar-h, 0px)) !important; }
@media screen and (max-width: 549px) {
  .zynix-fbar { padding: 8px 46px 8px 14px; min-height: 48px; }
  .zynix-fbar__inner { gap: 10px; }
  .zynix-fbar__tail { display: none; }
  .zynix-fbar__text, .zynix-fbar__num { font-size: 12px; }
  .zynix-fbar__icon { width: 30px; height: 30px; }
  .zynix-fbar__cta { padding: 8px 14px; }
}
@media (prefers-reduced-motion: reduce) { .zynix-fbar { transition: none; } }
@media screen and (max-width: 549px) {
  .zynix-fbar__inner { flex-wrap: nowrap; justify-content: space-between; }
  .zynix-fbar__icon { display: none; }
  .zynix-fbar__text { flex: 1 1 auto; font-size: 11.5px; line-height: 1.35; }
  .zynix-fbar__num { display: block; font-size: 11.5px; }
  .zynix-fbar__text .zynix-fbar__sep { display: none; }
}

/* --- rodape --- */
/* RODAPÉ 02/10: copyright em rose; linha de endereço/telefone/e-mail removida */
.zynix-footer-legal-id { display: none !important; }
.absolute-footer .copyright-footer,
.absolute-footer .copyright-footer strong { color: #ECC6C0 !important; }
/* faixa entre o How It Works e o rodapé: mesmo rose do fundo da hero 2 (purity) */
body.home main#main { background-color: #F2EBE5 !important; }
