/* ===== NY HOME 02/10/2026 (prateleira, logo no hero, rodapé sem endereço, barra de frete compacta no celular) ===== */

/* --- shelf --- */
/* PRATELEIRA NY (no lugar da hero 2) — mesma estrutura da Zynix, pele NYsub */
.zx-shelf { position: relative; z-index: 2; background: #0A0A0B; border-radius: 28px 28px 0 0; margin-top: -28px;
  padding: 72px 0 64px; color: #F7F7F5; border-top: 1px solid rgba(251,190,2,.18); }
.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__eyebrow { margin: 0 0 8px !important; font-family: var(--font-mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #FBBE02; }
.zx-shelf .zx-shelf__title { font-family: var(--font-serif); font-weight: 400; font-size: clamp(34px, 3.6vw, 48px); line-height: 1.02; margin: 0; color: #F7F7F5; letter-spacing: -.005em; text-transform: none; }
.zx-shelf__tabs { display: flex; gap: 6px; }
.zx-shelf button.zx-shelf__tab { font-family: var(--font-heading) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
  background: none; border: 1px solid transparent; border-radius: 999px; padding: 8px 16px !important; margin: 0 !important; min-height: 0 !important; line-height: 1.2 !important;
  color: #9A9A9E; cursor: pointer; transition: color .2s, background .2s, border-color .2s; white-space: nowrap; }
.zx-shelf button.zx-shelf__tab[aria-selected="true"] { background: #1F1F22; border-color: #2C2C30; color: #F7F7F5; }
.zx-shelf button.zx-shelf__tab:hover { color: #F7F7F5; }
.zx-shelf__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 14px) / 4.15); gap: 14px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
  margin-right: calc(-1 * max(40px, (100vw - 1240px) / 2)); padding-right: max(40px, (100vw - 1240px) / 2); }
.zx-shelf__track::-webkit-scrollbar { display: none; }
.zx-shelf__track[hidden] { display: none !important; }
.zx-card { position: relative; scroll-snap-align: start; background: #141416; border: 1px solid #2C2C30; border-radius: 18px; overflow: hidden;
  display: flex; flex-direction: column; transition: border-color .25s; }
.zx-card:hover { border-color: rgba(251,190,2,.45); }
.zx-card__media { position: relative; display: block; aspect-ratio: 4 / 4.4; overflow: hidden; }
.zx-shelf .zx-card__media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center 40%;
  margin: 0 !important; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.zx-card:hover .zx-card__media img { transform: scale(1.04); }
.zx-card__body { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 16px 18px 18px; }
.zx-card__body > a { color: inherit; text-decoration: none; }
.zx-shelf p.zx-card__cat { margin: 0 0 4px !important; font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #9A9A9E; }
.zx-shelf h3.zx-card__name { margin: 0 0 4px !important; font-family: var(--font-heading); font-size: 21px; font-weight: 600; letter-spacing: .02em; line-height: 1.1; color: #F7F7F5; text-transform: none; }
.zx-shelf p.zx-card__price { margin: 0 !important; font-family: var(--font-body); font-size: 15px; font-weight: 600; color: #FBBE02; }
.zx-card__cart { flex: none; width: 38px; height: 38px; border-radius: 50%; background: #FBBE02; color: #0A0A0B !important; display: grid; place-items: center;
  box-shadow: 0 6px 16px rgba(251,190,2,.22); transition: transform .2s, background .2s; }
.zx-card__cart:hover { background: #FFD23D; transform: scale(1.06); }
.zx-card__cart svg { width: 16px; height: 16px; }
.zx-shelf__foot { display: flex; justify-content: center; margin-top: 28px; }
.zx-shelf__progress { width: 128px; height: 2px; background: #2C2C30; position: relative; }
.zx-shelf__progress span { position: absolute; inset: 0 auto 0 0; background: #FBBE02; width: 40%; transition: transform .2s, width .2s; }
@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; }
}

/* --- hero-logo --- */
/* LOGO OFICIAL (rato + NYsub + PEPTIDES) centralizado no espaço vazio à direita do hero.
   horizontal = meio entre o fim do bloco de texto e a borda direita;
   vertical   = meio entre o header (~110px) e a barra de frete fixa (~55px).
   Centraliza por margem negativa (o tema anima transform no hero e anularia translate). */
.nysub-hero__logo {
  --w: clamp(280px, 30vw, 470px);
  position: absolute; z-index: 2; pointer-events: none;
  width: var(--w); height: auto; max-width: none;
  left: calc((max(0px, (100vw - 1480px) / 2) + 6vw + 620px + 100vw) / 2);
  top: calc((110px + 100vh - 55px) / 2);
  margin: calc(var(--w) * -0.4259) 0 0 calc(var(--w) / -2) !important; /* 937/1100/2 = 0.4259 */
  filter: drop-shadow(0 12px 40px rgba(0,0,0,.65)) drop-shadow(0 2px 6px rgba(0,0,0,.5));
}
/* celular: o JS abaixo posiciona o logo no vão entre o menu e o título; some se o vão for pequeno */
@media (max-width: 849px) {
  .nysub-hero__logo { left: 50%; top: 0; margin: 0 !important; visibility: hidden; }
  .nysub-hero__logo.is-placed { visibility: visible; }
}

/* --- rodape --- */
/* RODAPÉ NY 02/10: linha de endereço/telefone/e-mail sai de TODAS as páginas (Contact e Terms já têm os dados) */
.nysub-footer-legal-id { display: none !important; }

/* --- barra-celular --- */
/* BARRA DE FRETE NY no celular: 1 faixa só (texto à esquerda, botão à direita), igual à Zynix */
@media screen and (max-width: 849px) {
  .nysub-fbar { padding: 8px 64px 8px 14px !important; min-height: 0 !important; }
  .nysub-fbar__inner { flex-wrap: nowrap !important; justify-content: space-between !important; gap: 10px !important; }
  .nysub-fbar__icon { display: none !important; }
  .nysub-fbar__tail { display: none !important; }
  .nysub-fbar__text { flex: 1 1 auto; min-width: 0; font-size: 12px !important; line-height: 1.3 !important; text-align: left; }
  .nysub-fbar__cta { flex: 0 0 auto; padding: 8px 14px !important; }
  /* o tema dá padding 0 24px a todo button: o × ficava com 48px e invadia o Shop Now */
  .nysub-fbar button.nysub-fbar__close { width: 28px !important; min-width: 0 !important; padding: 0 !important; right: 10px !important; }
}

/* preço visível SÓ nos cards da prateleira (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; }

/* o WooCommerce pinta .amount de #111 — no card escuro sumia: preço em amarelo NY */
.zx-shelf .zx-card__price .woocommerce-Price-amount,
.zx-shelf .zx-card__price .woocommerce-Price-currencySymbol,
.zx-shelf .zx-card__price bdi { color: #FBBE02 !important; }
