/* Finale Core: tela do estojo (basico x premium, favoritos e zoom). Carregado so na pagina /seu-estojo/. */

/* ---------- botao principal dourado e convite para os premium ---------- */
.fnj-estojo .fnj-acoes .fnj-btn--ouro{background:linear-gradient(135deg,#e2cf96,var(--fnj-ouro) 55%,#a88f4f)!important;color:var(--fnj-noir)!important;border-color:transparent!important;font-weight:600!important}
.fnj-estojo .fnj-acoes .fnj-btn--ouro:hover{filter:brightness(1.06)}
.fnj-estojo .fnj-acoes .fnj-btn--claro{border-color:rgba(18,17,16,.28)!important}
.fnj-estojo .fnj-estojo-atual .fnj-selo{font-size:14px;letter-spacing:.06em}
.fnj-estojo .is-cortesia .fnj-selo{background:#ECE8E1;color:var(--fnj-grafite)}
.fnj-upgrade{display:flex;align-items:center;gap:14px;margin:14px 0 4px;padding:12px 14px;border-radius:14px;background:var(--fnj-champ);border:1px solid rgba(194,172,110,.45);color:var(--fnj-noir)!important;text-decoration:none!important;transition:border-color .2s,box-shadow .2s}
.fnj-upgrade:hover{border-color:var(--fnj-ouro);box-shadow:0 8px 22px rgba(122,102,54,.14)}
.fnj-upgrade__fotos{display:flex;flex:0 0 auto}
.fnj-upgrade__fotos img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #fff;background:#fff;box-shadow:0 2px 6px rgba(18,17,16,.12)}
.fnj-upgrade__fotos img+img{margin-left:-12px}
.fnj-upgrade__txt{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.fnj-upgrade__txt strong{font-size:16px;font-weight:600}
.fnj-upgrade__txt small{font-size:14px;color:var(--fnj-ouro-p)}
.fnj-upgrade__txt small .woocommerce-Price-amount{color:inherit;font-weight:600}

/* ---------- foto ampliavel ---------- */
.fnj-estojo [data-fnj-zoom]{cursor:zoom-in}
.fnj-estojo [data-fnj-zoom]:focus-visible{outline:2px solid var(--fnj-ouro);outline-offset:3px}
.fnj-zoom-ic{position:absolute;right:8px;bottom:8px;z-index:2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(18,17,16,.15);pointer-events:none}
.fnj-zoom-ic svg{width:18px;height:18px;fill:none;stroke:var(--fnj-noir);stroke-width:1.8;stroke-linecap:round}
.fnj-estojo-atual__midia .fnj-zoom-ic{left:10px;top:10px;right:auto;bottom:auto}

/* ---------- coracao (favoritos) ---------- */
.fnj-estojo .fnj-card{position:relative}
.fnj-fav{position:absolute;top:20px;right:20px;z-index:3;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0!important;border-radius:50%!important;border:0!important;background:rgba(255,255,255,.94)!important;box-shadow:0 2px 10px rgba(18,17,16,.16);cursor:pointer;transition:transform .15s}
.fnj-fav:hover{transform:scale(1.08)}
.fnj-fav svg,.fnj-fav-fab svg,.fnj-co__num--fav svg,.fnj-zoom__fav svg{width:20px;height:20px;fill:none;stroke:var(--fnj-noir);stroke-width:1.8;stroke-linejoin:round}
.fnj-fav.is-ativo svg,.fnj-zoom__fav.is-ativo svg{fill:#B0413E;stroke:#B0413E}
.fnj-fav.is-ativo{animation:fnj-bate .35s ease}
@keyframes fnj-bate{40%{transform:scale(1.25)}}

/* ---------- secao de favoritos ---------- */
.fnj-favs{scroll-margin-top:110px}
.fnj-favs.is-destaque{animation:fnj-destaque 1.4s ease}
@keyframes fnj-destaque{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 3px rgba(194,172,110,.55)}}
.fnj-co__num--fav{background:#FBEDEC!important;border-color:#EBC9C7!important}
.fnj-co__num--fav svg{fill:#B0413E;stroke:#B0413E}
/* cartoes compactos (foto a esquerda) para o estojo atual e os favoritos caberem juntos na tela */
.fnj-favs__lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:12px}
/* quem ja guardou favoritos ja conhece os premium: o convite sai e o topo fica mais baixo */
.fnj-estojo.tem-favs .fnj-upgrade{display:none}
.fnj-favs .fnj-card{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto auto auto 1fr;column-gap:12px;row-gap:0;align-items:start;padding:10px}
.fnj-favs .fnj-card__midia{grid-column:1;grid-row:1/5;align-self:start}
.fnj-favs .fnj-card__nivel{display:none}
.fnj-favs .fnj-zoom-ic{width:26px;height:26px;right:4px;bottom:4px}.fnj-favs .fnj-zoom-ic svg{width:15px;height:15px}
.fnj-favs .fnj-card__nome{grid-column:2;margin:0;padding-right:38px;font-size:16px!important;line-height:1.3}
.fnj-favs .fnj-card__cor{grid-column:2;font-size:14px!important}
.fnj-favs .fnj-card__preco{grid-column:2;margin:2px 0 0;--fnj-p:19px}
.fnj-co .fnj-favs .fnj-card .fnj-btn2{grid-column:2;align-self:end;width:100%;min-height:44px!important;margin-top:6px;padding:0 6px!important;font-size:15px!important;white-space:nowrap}
.fnj-favs .fnj-fav{top:8px;right:8px;width:34px;height:34px}
.fnj-favs .fnj-fav svg{width:18px;height:18px}
.fnj-favs .fnj-fav--excluir:hover svg{stroke:#B0413E}
.fnj-favs .fnj-co__cab{flex-wrap:wrap}
.fnj-favs .fnj-co__cab>div:not(.fnj-favs__limpar){flex:1 1 200px;min-width:0}
.fnj-favs__limpar{margin-left:auto;display:flex;align-items:center;font-size:15px;color:var(--fnj-grafite)}
.fnj-favs__limpar [hidden]{display:none!important}
.fnj-favs__conf{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.fnj-favs__btn{min-height:40px;padding:0 14px!important;border:1px solid rgba(18,17,16,.25)!important;border-radius:999px!important;background:#fff!important;color:var(--fnj-noir)!important;font:500 15px/1 'Inter',sans-serif!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;cursor:pointer}
.fnj-favs__btn:hover{border-color:var(--fnj-noir)!important}
.fnj-favs__btn--sim{background:var(--fnj-noir)!important;border-color:var(--fnj-noir)!important;color:#fff!important}

/* ---------- botao fixo "Ver estojos favoritos" ---------- */
.fnj-fav-fab{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:900;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px!important;border:0!important;border-radius:999px!important;background:var(--fnj-noir)!important;color:#fff!important;font:600 16px/1 'Inter',sans-serif!important;letter-spacing:0!important;text-transform:none!important;box-shadow:0 12px 30px rgba(18,17,16,.28);cursor:pointer;transform:translateX(-50%);transition:opacity .25s,transform .25s;white-space:nowrap;max-width:calc(100vw - 32px)}
.fnj-estojo.tem-favs{padding-bottom:84px}
.fnj-fav-fab svg{fill:#E7A6A3;stroke:#E7A6A3}
.fnj-fav-fab__n{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:var(--fnj-ouro);color:var(--fnj-noir);font-size:14px}
.fnj-fav-fab[hidden],.fnj-favs[hidden]{display:none!important}
.fnj-fav-fab.is-oculto{opacity:0;pointer-events:none;transform:translate(-50%,16px)}
.fnj-fav-fab.is-pulso{animation:fnj-pulso .5s ease}
@keyframes fnj-pulso{50%{transform:translateX(-50%) scale(1.07)}}

/* ---------- zoom em tela cheia ---------- */
html.fnj-zoom-aberto,html.fnj-zoom-aberto body{overflow:hidden!important}
.fnj-zoom{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;background:#FAF7F0;font-family:'Inter',sans-serif}
.fnj-zoom[hidden]{display:none}
.fnj-zoom__palco{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:zoom-in}
.fnj-zoom.is-ampliado .fnj-zoom__palco{cursor:grab}
.fnj-zoom__img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;will-change:transform;transition:opacity .2s;-webkit-user-drag:none}
.fnj-zoom__img.is-trocando{opacity:.25}
.fnj-zoom button{font-family:inherit;text-transform:none;letter-spacing:0}
.fnj-zoom__fechar{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;z-index:3;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0!important;border:0!important;border-radius:50%!important;background:#fff!important;box-shadow:0 4px 14px rgba(18,17,16,.14);cursor:pointer}
.fnj-zoom__fechar svg,.fnj-zoom__nav svg{width:22px;height:22px;fill:none;stroke:var(--fnj-noir);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fnj-zoom__nav{position:absolute;top:45%;z-index:3;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.95)!important;box-shadow:0 4px 14px rgba(18,17,16,.12);cursor:pointer}
.fnj-zoom__nav--ant{left:16px}.fnj-zoom__nav--prox{right:16px}
.fnj-zoom.is-uma .fnj-zoom__nav,.fnj-zoom.is-ampliado .fnj-zoom__nav{display:none}
.fnj-zoom__dica{position:absolute;left:50%;top:calc(24px + env(safe-area-inset-top));z-index:2;transform:translateX(-50%);margin:0;padding:8px 14px;border-radius:999px;background:rgba(18,17,16,.78);color:#fff;font-size:14px;white-space:nowrap;pointer-events:none;animation:fnj-some 4s forwards}
.fnj-zoom.sem-dica .fnj-zoom__dica,.fnj-zoom.is-ampliado .fnj-zoom__dica{display:none}
@keyframes fnj-some{0%,75%{opacity:1}100%{opacity:0}}
.fnj-zoom__rodape{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px clamp(16px,3vw,32px) calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ECE7DD}
.fnj-zoom__abas{display:flex;gap:6px}
.fnj-zoom__abas button{min-height:40px;padding:0 16px!important;border-radius:999px!important;border:1px solid var(--fnj-taupe)!important;background:#fff!important;color:var(--fnj-grafite)!important;font-size:15px!important;cursor:pointer}
.fnj-zoom__abas button.is-ativo{background:var(--fnj-noir)!important;border-color:var(--fnj-noir)!important;color:#fff!important}
.fnj-zoom__info{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.fnj-zoom__nome{font-size:17px;font-weight:600;color:var(--fnj-noir)}
.fnj-zoom__det{font-size:15px;color:var(--fnj-ouro-p)}
.fnj-zoom__acoes{display:flex;gap:10px;align-items:center}
.fnj-zoom__fav{display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0!important;border-radius:50%!important;border:1px solid var(--fnj-perola)!important;background:#fff!important;cursor:pointer}
.fnj-zoom__escolher{min-height:50px;padding:0 24px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#e2cf96,var(--fnj-ouro) 55%,#a88f4f)!important;color:var(--fnj-noir)!important;font-size:16px!important;font-weight:600!important;white-space:nowrap;cursor:pointer}
.fnj-zoom__escolher:disabled{background:var(--fnj-noir)!important;color:#fff!important;cursor:default}
.fnj-zoom__fav[hidden],.fnj-zoom__escolher[hidden]{display:none}

/* cliente que ja escolheu o estojo na pagina da joia */
.fnj-est-ja{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid #3F6B4E;border-radius:12px;background:#EEF4EF;animation:fnj-est-ja .45s ease-out}
.fnj-est-ja__ic{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#3F6B4E;color:#fff;font-size:16px;font-weight:700;line-height:1}
.fnj-est-ja strong{display:block;color:var(--fnj-noir);font-size:17px;font-weight:600;line-height:1.3}
.fnj-est-ja p{margin:3px 0 0;color:#3A3631;font-size:15px;line-height:1.4}
@keyframes fnj-est-ja{from{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.fnj-est-ja{animation:none}}
@media (max-width:767px){
  .fnj-upgrade{padding:10px 12px;gap:12px}
  .fnj-upgrade__fotos img{width:38px;height:38px}
  .fnj-upgrade__txt strong{font-size:15px}
  /* vitrine em linha (foto a esquerda): coracao no canto do cartao, sem cobrir o nome */
  .fnj-vitrine .fnj-fav{top:10px;right:10px;width:38px;height:38px}
  .fnj-vitrine .fnj-card__nome{padding-right:40px}
  .fnj-vitrine .fnj-zoom-ic{width:30px;height:30px;right:6px;bottom:6px}
  /* favoritos: faixa com rolagem lateral */
  .fnj-favs__lista{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px}
  .fnj-favs__lista .fnj-card{flex:0 0 min(300px,90%);scroll-snap-align:start}
  .fnj-favs .fnj-card{grid-template-columns:76px minmax(0,1fr)}
  .fnj-favs .fnj-fav{width:40px;height:40px;min-height:40px;top:6px;right:6px}
  .fnj-favs .fnj-card__nome{padding-right:40px}
  .fnj-est__atual .fnj-acoes .fnj-btn{padding:0 12px!important;font-size:15px!important;white-space:nowrap}
  .fnj-fav-fab{bottom:calc(14px + env(safe-area-inset-bottom));font-size:15px!important;padding:0 18px!important}
  .fnj-zoom__rodape{grid-template-columns:1fr auto;gap:10px 12px;padding-top:12px}
  .fnj-zoom__abas{grid-column:1/-1;justify-content:center}
  .fnj-zoom__abas button{flex:1;max-width:160px}
  .fnj-zoom__nav{display:none}
  .fnj-zoom__escolher{padding:0 18px!important;font-size:15px!important}
  .fnj-zoom__fav{width:48px;height:48px}
  .fnj-zoom__nome{font-size:16px}
  .fnj-zoom__det{font-size:14px}
}
@media (max-width:380px){
  .fnj-zoom__rodape{grid-template-columns:1fr}
  .fnj-zoom__acoes{justify-content:stretch}.fnj-zoom__escolher{flex:1}
}
