/* ============================================================
   FJ ACESSÓRIOS — fj-custom.css v6.0 ULTRA PREMIUM
   ✦ Cursor fashion customizado
   ✦ Glassmorphism iOS
   ✦ Glow dourado animado
   ✦ Texto outline / stroke fashion
   ✦ Shine sweep nos botões
   ✦ Tilt 3D nos produtos
   ✦ Partículas e atmosfera hero
   ✦ Noise grain texture
   ✦ Magnetic buttons
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,200;0,300;0,400;1,200;1,300;1,400&family=Montserrat:wght@100;200;300;400;500;600&display=swap');

:root {
  --gold:         #B8946A;
  --gold-2:       #D4AF87;
  --gold-3:       #E8D5BB;
  --gold-glow:    rgba(184,148,106,0.35);
  --dark:         #080808;
  --dark-2:       #111111;
  --dark-3:       #1a1a1a;
  --cream:        #F8F6F3;
  --cream-2:      #F0EDE8;
  --white:        #FFFFFF;
  --gray:         #888;
  --border:       #E8E4DF;
  --serif:        'Cormorant Garamond', Georgia, serif;
  --sans:         'Montserrat', sans-serif;
  --ease:         cubic-bezier(0.22,1,0.36,1);
  --spring:       cubic-bezier(0.34,1.56,0.64,1);
  --g-bg:         rgba(255,255,255,0.10);
  --g-border:     rgba(255,255,255,0.20);
  --g-shadow:     0 8px 32px rgba(0,0,0,0.22);
  --g-blur:       blur(20px) saturate(180%);
  --g-dark-bg:    rgba(8,8,8,0.75);
  --g-dark-bdr:   rgba(184,148,106,0.30);
  --g-gold-bg:    rgba(184,148,106,0.12);
  --g-gold-bdr:   rgba(184,148,106,0.40);
}

html { scroll-behavior: smooth; }
body { font-family: var(--sans) !important; font-weight: 300; color: var(--dark); background: var(--white); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
h1,h2,h3,h4,h5,h6,.ux-heading,.entry-title,.product_title,.woocommerce-loop-product__title { font-family: var(--serif) !important; font-weight: 300; letter-spacing: 0.05em; line-height: 1.15; }
a { transition: color 0.3s var(--ease) !important; text-decoration: none; }
img { max-width: 100%; height: auto; }

/* ══ CURSOR FASHION ══════════════════════════════════════════ */
#fj-cursor-dot {
  position: fixed; width: 8px; height: 8px;
  background: var(--gold); border-radius: 50%;
  pointer-events: none; z-index: 999999;
  transform: translate(-50%,-50%);
  transition: width .25s var(--spring), height .25s var(--spring), background .25s, opacity .3s;
  will-change: transform;
}
#fj-cursor-ring {
  position: fixed; width: 38px; height: 38px;
  border: 1.5px solid rgba(184,148,106,0.55);
  border-radius: 50%; pointer-events: none; z-index: 999997;
  transform: translate(-50%,-50%);
  transition: width .4s var(--spring), height .4s var(--spring), border-color .3s, background .3s, opacity .3s;
  will-change: transform;
}
body.c-link  #fj-cursor-dot  { width: 12px; height: 12px; background: var(--gold-2); }
body.c-link  #fj-cursor-ring { width: 60px; height: 60px; border-color: rgba(184,148,106,0.9); background: rgba(184,148,106,0.06); }
body.c-prod  #fj-cursor-dot  { width: 64px; height: 64px; background: rgba(184,148,106,0.12); border: 1px solid rgba(184,148,106,0.45); backdrop-filter: blur(4px); }
body.c-prod  #fj-cursor-ring { opacity: 0; }
body.c-btn   #fj-cursor-dot  { width: 48px; height: 48px; background: rgba(184,148,106,0.18); border: 1px solid rgba(184,148,106,0.6); }
body.c-btn   #fj-cursor-ring { opacity: 0; }

/* ══ NOISE GRAIN — REMOVIDO ══════════════════════════════════
   O overlay de noise com z-index 99990 interferia com elementos
   interativos e consumia recursos de renderização.
   ═══════════════════════════════════════════════════════════ */

/* ══ PARTICLES CONTAINER ══════════════════════════════════════ */
#fj-particles {
  position: fixed; inset: 0; pointer-events: none; z-index: 1; overflow: hidden;
}
.fj-p {
  position: absolute; border-radius: 50%; background: var(--gold);
  animation: fj-float var(--dur, 8s) linear infinite;
  opacity: 0; bottom: -10px;
}
@keyframes fj-float {
  0%   { transform: translateY(0) scale(0); opacity: 0; }
  10%  { opacity: var(--op, 0.4); }
  90%  { opacity: var(--op, 0.4); }
  100% { transform: translateY(-100vh) scale(1); opacity: 0; }
}

/* ══ LOADER ══════════════════════════════════════════════════ */
#fj-loader {
  position: fixed; inset: 0; z-index: 99999; background: var(--dark);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  transition: opacity .8s var(--ease), visibility .8s;
}
#fj-loader.loaded { opacity: 0; visibility: hidden; pointer-events: none; }
.fj-loader-logo {
  font-family: var(--serif); font-size: 52px; font-weight: 200;
  letter-spacing: .6em; text-transform: uppercase;
  color: transparent; -webkit-text-stroke: 1px var(--gold-2);
  animation: fj-fill-logo 1.4s var(--ease) .5s forwards;
}
@keyframes fj-fill-logo { to { color: var(--white); -webkit-text-stroke: 0px; } }
.fj-loader-sub {
  font-family: var(--sans); font-size: 9px; font-weight: 300;
  letter-spacing: .55em; text-transform: uppercase; color: var(--gold);
  margin: 6px 0 44px; opacity: 0; animation: fj-fadein .8s var(--ease) .3s forwards;
}
.fj-loader-track { width: 160px; height: 1px; background: rgba(255,255,255,0.08); }
.fj-loader-fill {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), var(--gold-2), var(--gold));
  width: 0; animation: fj-load-bar 1.8s var(--ease) .1s forwards;
}
@keyframes fj-load-bar { to { width: 100%; } }
@keyframes fj-fadein { to { opacity: 1; } }

/* ══ HEADER GLASS ════════════════════════════════════════════ */
#header, .header-main {
  background: rgba(255,255,255,0.88) !important;
  backdrop-filter: var(--g-blur) !important;
  -webkit-backdrop-filter: var(--g-blur) !important;
  border-bottom: 1px solid rgba(232,228,223,0.5) !important;
  transition: all .4s var(--ease) !important;
}
#header.fj-scrolled, .fj-scrolled .header-main {
  box-shadow: 0 2px 40px rgba(0,0,0,0.08) !important;
}
.header-logo img { max-height: 52px; }
.nav > li > a {
  font-family: var(--sans) !important; font-size: 11px !important; font-weight: 500 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--dark) !important;
  transition: color .25s !important; position: relative;
}
.nav > li > a::after {
  content: ''; position: absolute; bottom: -2px; left: 14px; right: 14px;
  height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--ease);
}
.nav > li > a:hover, .nav > li:hover > a, .nav > li.active > a { color: var(--gold) !important; }
.nav > li > a:hover::after { transform: scaleX(1); }
.cart-count, .header-cart-count { background: var(--gold) !important; color: var(--white) !important; }

/* ══ BOTÕES — GLASS iOS ══════════════════════════════════════ */

/* ── Base: outline gold ─── */
.fj-btn, a.fj-btn, button.fj-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 38px;
  background: transparent; border: 1px solid var(--gold); color: var(--gold) !important;
  font-family: var(--sans); font-size: 10px; font-weight: 600;
  letter-spacing: .28em; text-transform: uppercase; border-radius: 100px;
  position: relative; overflow: hidden; text-decoration: none !important;
  transition: background .4s var(--ease), color .4s, transform .3s var(--ease), box-shadow .4s;
}
.fj-btn::after {
  content: '';
  position: absolute; top: 0; left: -110%; width: 100%; height: 100%;
  background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,0.28) 50%, transparent 80%);
  transition: left .6s var(--ease);
}
.fj-btn:hover { background: var(--gold); color: var(--white) !important; transform: translateY(-3px); box-shadow: 0 14px 36px var(--gold-glow); }
.fj-btn:hover::after { left: 120%; }

.fj-btn-white, a.fj-btn-white { border-color: rgba(255,255,255,.7) !important; color: var(--white) !important; }
.fj-btn-white:hover { background: var(--white) !important; color: var(--dark) !important; }

/* ── Glass branco (fundo escuro) ─── */
.fj-btn-glass {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 38px; background: var(--g-bg); border: 1px solid var(--g-border);
  backdrop-filter: var(--g-blur); -webkit-backdrop-filter: var(--g-blur);
  color: var(--white) !important;
  font-family: var(--sans); font-size: 10px; font-weight: 600;
  letter-spacing: .28em; text-transform: uppercase; border-radius: 100px;
  text-decoration: none !important; position: relative; overflow: hidden;
  box-shadow: var(--g-shadow), inset 0 1px 0 rgba(255,255,255,.18);
  transition: all .4s var(--ease);
}
.fj-btn-glass::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, transparent 60%);
  border-radius: inherit; pointer-events: none;
}
.fj-btn-glass::after {
  content: ''; position: absolute; top: 0; left: -110%; width: 100%; height: 100%;
  background: linear-gradient(105deg, transparent 20%, rgba(255,255,255,.22) 50%, transparent 80%);
  transition: left .6s var(--ease);
}
.fj-btn-glass:hover { background: rgba(255,255,255,.22); border-color: rgba(255,255,255,.4); transform: translateY(-3px); box-shadow: 0 20px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.3); color: var(--white) !important; }
.fj-btn-glass:hover::after { left: 120%; }

/* ── Glass gold ─── */
.fj-btn-glass-gold {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 38px; background: var(--g-gold-bg); border: 1px solid var(--g-gold-bdr);
  backdrop-filter: var(--g-blur); -webkit-backdrop-filter: var(--g-blur);
  color: var(--gold-2) !important;
  font-family: var(--sans); font-size: 10px; font-weight: 600;
  letter-spacing: .28em; text-transform: uppercase; border-radius: 100px;
  text-decoration: none !important; position: relative; overflow: hidden;
  box-shadow: 0 8px 32px rgba(184,148,106,.18), inset 0 1px 0 rgba(212,175,135,.25);
  transition: all .4s var(--ease);
}
.fj-btn-glass-gold::after {
  content: ''; position: absolute; top: 0; left: -110%; width: 100%; height: 100%;
  background: linear-gradient(105deg, transparent 20%, rgba(212,175,135,.3) 50%, transparent 80%);
  transition: left .6s var(--ease);
}
.fj-btn-glass-gold:hover { background: rgba(184,148,106,.25); border-color: rgba(184,148,106,.6); color: var(--white) !important; transform: translateY(-3px); box-shadow: 0 20px 50px rgba(184,148,106,.3); }
.fj-btn-glass-gold:hover::after { left: 120%; }

/* ══ WOOCOMMERCE BOTÕES ══════════════════════════════════════ */
.woocommerce .button, .woocommerce-page .button, .woocommerce button.button,
a.button, button.button, .single_add_to_cart_button, .wc-block-components-button {
  background: var(--dark) !important; color: var(--white) !important;
  font-family: var(--sans) !important; font-size: 10px !important; font-weight: 600 !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  border-radius: 100px !important; padding: 13px 32px !important; border: none !important;
  transition: all .35s var(--ease) !important; position: relative; overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
}
.woocommerce .button:hover, a.button:hover, button.button:hover, .single_add_to_cart_button:hover {
  background: var(--gold) !important; color: var(--white) !important;
  transform: translateY(-2px) !important; box-shadow: 0 12px 28px var(--gold-glow) !important;
}

/* ══════════════════════════════════════════════════════════════
   FIX FORÇADO: Botões +/- de quantidade
   Especificidade alta + !important para sobrescrever Flatsome
   ══════════════════════════════════════════════════════════════ */
.woocommerce .quantity,
.woocommerce-page .quantity,
form.cart .quantity,
.ux-quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  border: 1px solid #E8E4DF !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #fff !important;
  width: auto !important;
  max-width: 130px !important;
  height: 40px !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.woocommerce .quantity .button,
.woocommerce .quantity button,
.woocommerce-page .quantity .button,
.woocommerce-page .quantity button,
.ux-quantity__button,
.ux-quantity .ux-quantity__button,
form.cart .quantity .button,
button.minus, button.plus,
.quantity .minus, .quantity .plus,
a.minus, a.plus {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #111 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 36px !important;
  height: 38px !important;
  min-width: 36px !important;
  min-height: 38px !important;
  max-width: 36px !important;
  max-height: 38px !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: background .2s, color .2s !important;
  transform: none !important;
  text-decoration: none !important;
}

.woocommerce .quantity .button:hover,
.woocommerce .quantity button:hover,
.ux-quantity__button:hover,
button.minus:hover, button.plus:hover,
.quantity .minus:hover, .quantity .plus:hover {
  background: #B8946A !important;
  color: #fff !important;
  border: none !important;
  transform: none !important;
  box-shadow: none !important;
}

.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty,
.quantity input.qty,
.ux-quantity input.qty {
  width: 48px !important;
  max-width: 48px !important;
  height: 38px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1px solid #E8E4DF !important;
  border-right: 1px solid #E8E4DF !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════════════════════════
   GALERIA DE PRODUTO — DEIXAR 100% NATIVO DO FLATSOME
   ══════════════════════════════════════════════════════════════ */
/* Esconder APENAS o botao expand (icone de zoom) que sobrepoe imagem */
.product-page .product-images .image-tools .icon-expand,
.product-page .image-tools.is-small a[data-type="zoom"],
.product-page .image-tools.is-small .icon-expand,
.product-page .product-gallery .icon-expand {
  display: none !important;
}

/* ══ PRODUTOS GRID — TILT 3D ═════════════════════════════════ */
.product-item, .products .product, li.product {
  transition: transform .5s var(--ease) !important; border: none !important;
  position: relative; transform-style: preserve-3d;
}
.product-image-wrap, .woocommerce-loop-product__thumbnail, .product-loop-thumbnail {
  overflow: hidden !important; background: var(--cream) !important;
  border-radius: 6px !important; position: relative;
}
.product-image-wrap img, .woocommerce-loop-product__thumbnail img {
  transition: transform .7s var(--ease) !important; width: 100%; height: 100%; object-fit: cover;
  will-change: transform;
}
li.product:hover .product-image-wrap img,
li.product:hover .woocommerce-loop-product__thumbnail img { transform: scale(1.06) !important; }

/* Shine overlay */
.product-image-wrap::before {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.15) 50%, rgba(255,255,255,0) 60%);
  transform: translateX(-150%); transition: transform .8s var(--ease);
}
li.product:hover .product-image-wrap::before { transform: translateX(200%); }

/* Hover outline animated border */
.product-image-wrap::after {
  content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none;
  border: 1px solid transparent; border-radius: 6px;
  transition: border-color .4s, box-shadow .4s;
}
li.product:hover .product-image-wrap::after {
  border-color: rgba(184,148,106,0.4);
  box-shadow: inset 0 0 40px rgba(184,148,106,0.06);
}

/* Quick add */
.product-image-wrap .fj-quick-add, li.product .fj-quick-add {
  position: absolute; bottom: 14px; left: 14px; right: 14px; z-index: 10;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 18px; background: var(--g-dark-bg); border: 1px solid var(--g-dark-bdr);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  color: var(--white) !important;
  font-family: var(--sans); font-size: 9px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; border-radius: 100px;
  transform: translateY(12px); opacity: 0; transition: all .4s var(--ease);
  text-decoration: none !important;
}
li.product:hover .fj-quick-add { opacity: 1; transform: translateY(0); }
.fj-quick-add:hover { background: rgba(184,148,106,.3) !important; border-color: rgba(184,148,106,.6) !important; }

/* Título e preço */
.woocommerce-loop-product__title, .product-title h3, .product-title {
  font-family: var(--serif) !important; font-size: 17px !important; font-weight: 400 !important;
  letter-spacing: .04em !important; color: var(--dark) !important;
  margin: 12px 0 4px !important; transition: color .3s !important; line-height: 1.3;
}
li.product:hover .woocommerce-loop-product__title { color: var(--gold) !important; }
.price, .woocommerce-Price-amount { font-family: var(--sans) !important; font-size: 14px !important; font-weight: 500 !important; color: var(--dark) !important; }
.price del, del .woocommerce-Price-amount { color: var(--gray) !important; font-weight: 300 !important; }
.price ins, ins .woocommerce-Price-amount { color: var(--gold) !important; font-weight: 600 !important; text-decoration: none !important; }

/* Badges */
.onsale {
  background: var(--g-gold-bg) !important; backdrop-filter: blur(10px) !important;
  border: 1px solid var(--g-gold-bdr) !important; color: var(--gold-2) !important;
  font-family: var(--sans) !important; font-size: 9px !important; font-weight: 600 !important;
  letter-spacing: .15em !important; border-radius: 100px !important; padding: 5px 12px !important;
  text-transform: uppercase !important; min-width: unset !important; min-height: unset !important; width: auto !important; height: auto !important; line-height: 1 !important;
}
.fj-badges-wrap { position: absolute; top: 14px; left: 14px; z-index: 10; display: flex; flex-direction: column; gap: 6px; }
.fj-badge { display: inline-flex; align-items: center; font-family: var(--sans); font-size: 9px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; padding: 5px 12px; border-radius: 100px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.fj-badge-new { background: rgba(8,8,8,.82); color: var(--white); border: 1px solid rgba(255,255,255,.1); }
.fj-badge-sale { background: var(--g-gold-bg); color: var(--gold-2); border: 1px solid var(--g-gold-bdr); }

/* ══ SEÇÕES ══════════════════════════════════════════════════ */
.fj-section-eyebrow { font-family: var(--sans) !important; font-size: 10px; font-weight: 500; letter-spacing: .42em; text-transform: uppercase; color: var(--gold); display: block; text-align: center; margin-bottom: 12px; }
.fj-section-title { font-family: var(--serif) !important; font-size: clamp(28px,4vw,52px) !important; font-weight: 300 !important; letter-spacing: .06em !important; text-align: center; margin-bottom: 8px !important; }

/* Outline text fashion effect */
.fj-text-stroke { color: transparent !important; -webkit-text-stroke: 1.5px var(--gold-2); font-style: italic; }

/* Gold shimmer */
.fj-gold-shine {
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 30%, #f5deb3 50%, var(--gold-2) 70%, var(--gold) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: fj-shimmer 4s linear infinite;
}
@keyframes fj-shimmer { to { background-position: 200% center; } }

.fj-divider-gold {
  width: 40px; height: 1px; background: var(--gold); margin: 20px auto 44px;
  position: relative;
}
.fj-divider-gold::before { content: '◆'; position: absolute; top: -5px; left: -12px; font-size: 5px; color: var(--gold); line-height: 1; }
.fj-divider-gold::after  { content: '◆'; position: absolute; top: -5px; right: -12px; font-size: 5px; color: var(--gold); line-height: 1; }

/* ══ BENEFITS BAR ════════════════════════════════════════════ */
.fj-benefits-bar { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; padding: 16px 40px; background: var(--gold); position: relative; overflow: hidden; }
.fj-benefits-bar::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent); animation: fj-bar-shine 4s ease-in-out infinite; pointer-events: none; }
@keyframes fj-bar-shine { 0%{transform:translateX(-100%)} 60%,100%{transform:translateX(200%)} }
.fj-benefit-item { display: flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--sans); font-size: 10px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.92); position: relative; z-index: 1; }

/* ══ CATEGORY BOXES ══════════════════════════════════════════ */
.ux-image-box.style-overlay { overflow: hidden; position: relative; }
.ux-image-box.style-overlay .ux-image-box-img img { transition: transform .8s var(--ease) !important; }
.ux-image-box.style-overlay:hover .ux-image-box-img img { transform: scale(1.07) !important; }
.ux-image-box.style-overlay::after {
  content: ''; position: absolute; inset: 3px; border: 1px solid transparent;
  transition: border-color .5s; pointer-events: none; z-index: 10;
}
.ux-image-box.style-overlay:hover::after { border-color: rgba(184,148,106,.5); }

/* ══ REVIEW CARDS ════════════════════════════════════════════ */
.fj-review-card { background: var(--white); border: 1px solid var(--border); padding: 36px 32px; position: relative; overflow: hidden; border-radius: 4px; transition: transform .5s var(--ease), box-shadow .5s, border-color .4s; }
.fj-review-card:hover { transform: translateY(-6px) !important; box-shadow: 0 24px 56px rgba(0,0,0,.09); border-color: var(--gold-3); }
.fj-review-card::before { content: '\201C'; font-family: var(--serif); font-size: 100px; line-height: 1; color: var(--gold); opacity: .1; position: absolute; top: 8px; left: 16px; transition: opacity .4s, transform .4s var(--ease); }
.fj-review-card:hover::before { opacity: .2; transform: scale(1.1); }
.fj-review-stars { color: var(--gold); font-size: 14px; letter-spacing: 3px; margin-bottom: 14px; }
.fj-review-text { font-family: var(--serif); font-size: 17px; font-style: italic; color: var(--dark); line-height: 1.75; margin-bottom: 18px; position: relative; z-index: 1; }
.fj-review-author { font-family: var(--sans); font-size: 10px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }

/* ══ STATS ═══════════════════════════════════════════════════ */
.fj-stats-wrap { display: grid; grid-template-columns: repeat(4,1fr); padding: 60px 40px; position: relative; overflow: hidden; background: linear-gradient(135deg, var(--gold) 0%, #c9a07a 50%, var(--gold) 100%); background-size: 200% 100%; animation: fj-stats-bg 8s ease infinite; }
@keyframes fj-stats-bg { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
.fj-stat { text-align: center; padding: 0 20px; border-right: 1px solid rgba(255,255,255,.18); }
.fj-stat:last-child { border-right: none; }
.fj-count, .fj-count-static { font-family: var(--serif); font-size: clamp(42px,6vw,64px); font-weight: 200; color: var(--white); display: block; line-height: 1; margin-bottom: 10px; }
.fj-stat-label { font-family: var(--sans); font-size: 9px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: rgba(255,255,255,.72); }

/* ══ FAQ ════════════════════════════════════════════════════ */
.fj-faq-item { background: var(--white); border: 1px solid var(--border); overflow: hidden; border-radius: 4px; margin-bottom: 2px; transition: border-color .3s; }
.fj-faq-item.open, .fj-faq-item:hover { border-color: var(--gold-3); }
.fj-faq-q { padding: 20px 28px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-family: var(--serif); font-size: 18px; font-weight: 400; color: var(--dark); letter-spacing: .02em; transition: color .3s; background: none; border: none; width: 100%; text-align: left; }
.fj-faq-q:hover { color: var(--gold); }
.fj-faq-icon { width: 22px; height: 22px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 50%; font-size: 14px; color: var(--gold); transition: transform .35s var(--spring), background .3s, border-color .3s; }
.fj-faq-item.open .fj-faq-icon { transform: rotate(45deg); background: var(--gold); color: var(--white); border-color: var(--gold); }
.fj-faq-a { max-height: 0; overflow: hidden; transition: max-height .5s var(--ease); }
.fj-faq-item.open .fj-faq-a { max-height: 300px; }
.fj-faq-a-inner { padding: 0 28px 24px; font-family: var(--sans); font-size: 14px; font-weight: 300; color: var(--gray); line-height: 1.85; }

/* ══ WHATSAPP ════════════════════════════════════════════════ */
#fj-whatsapp { position: fixed; bottom: 28px; right: 28px; z-index: 9998; width: 58px; height: 58px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 24px rgba(37,211,102,.45); animation: fj-wa-pulse 3s ease-in-out infinite; transition: transform .4s var(--spring); text-decoration: none !important; }
#fj-whatsapp:hover { transform: scale(1.14) rotate(-5deg); }
#fj-whatsapp svg { width: 28px; height: 28px; fill: white; }
@keyframes fj-wa-pulse { 0%,100%{box-shadow:0 4px 24px rgba(37,211,102,.45)} 50%{box-shadow:0 4px 36px rgba(37,211,102,.7),0 0 0 10px rgba(37,211,102,.08)} }
#fj-whatsapp::before { content: 'Falar no WhatsApp'; position: absolute; right: 70px; background: var(--g-dark-bg); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.1); color: var(--white); white-space: nowrap; font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .06em; padding: 8px 16px; border-radius: 100px; opacity: 0; transform: translateX(8px); transition: all .35s var(--ease); pointer-events: none; }
#fj-whatsapp:hover::before { opacity: 1; transform: translateX(0); }

/* ══ SCROLL REVEAL ═══════════════════════════════════════════ */
.fj-reveal { opacity: 0; transform: translateY(36px); transition: opacity .9s var(--ease), transform .9s var(--ease); will-change: opacity,transform; }
.fj-reveal.fj-visible { opacity: 1; transform: translateY(0); }
.fj-reveal-delay-1 { transition-delay: .12s; }
.fj-reveal-delay-2 { transition-delay: .24s; }
.fj-reveal-delay-3 { transition-delay: .36s; }
.fj-reveal-delay-4 { transition-delay: .48s; }
.fj-reveal-left  { opacity: 0; transform: translateX(-40px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.fj-reveal-right { opacity: 0; transform: translateX(40px);  transition: opacity .9s var(--ease), transform .9s var(--ease); }
.fj-reveal-scale { opacity: 0; transform: scale(.9); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.fj-reveal-left.fj-visible,.fj-reveal-right.fj-visible,.fj-reveal-scale.fj-visible { opacity: 1; transform: none; }

/* ══ CART DRAWER ═════════════════════════════════════════════ */
#fj-cart-drawer { position: fixed; top: 0; right: -420px; width: 400px; height: 100vh; background: var(--white); z-index: 99999; box-shadow: -4px 0 60px rgba(0,0,0,.14); transition: right .5s cubic-bezier(.4,0,.2,1); overflow-y: auto; padding: 32px 28px; }
#fj-cart-drawer.open { right: 0; }
#fj-cart-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); backdrop-filter: blur(3px); z-index: 99998; opacity: 0; pointer-events: none; transition: opacity .4s; }
#fj-cart-overlay.active { opacity: 1; pointer-events: all; }
.fj-cart-title { font-family: var(--serif); font-size: 24px; font-weight: 200; letter-spacing: .1em; color: var(--dark); border-bottom: 1px solid var(--border); padding-bottom: 16px; margin-bottom: 24px; }

/* ══ FOOTER ═════════════════════════════════════════════════ */
#footer, .footer-area, .footer-main { background: #060606 !important; color: rgba(255,255,255,.55) !important; }
.footer-area .widget-title,.footer-area h3,.footer-area h4,.footer-column h3 { font-family: var(--sans) !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: .28em !important; text-transform: uppercase !important; color: var(--gold) !important; margin-bottom: 20px !important; }
.footer-area a { color: rgba(255,255,255,.4) !important; font-size: 13px !important; font-weight: 300 !important; transition: color .3s !important; }
.footer-area a:hover { color: var(--gold-2) !important; }
.footer-bottom, .absolute-footer { background: #030303 !important; border-top: 1px solid rgba(255,255,255,.04) !important; font-size: 11px !important; letter-spacing: .06em !important; color: rgba(255,255,255,.2) !important; }
.header-top { background: var(--dark) !important; color: var(--white); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; padding: 8px 0; }
.header-top a { color: var(--gold) !important; }
.breadcrumb-section,.breadcrumb-area { background: var(--cream) !important; padding: 10px 0 !important; border-bottom: 1px solid var(--border); }
.woocommerce-breadcrumb,.breadcrumbs { font-family: var(--sans) !important; font-size: 11px !important; letter-spacing: .08em; color: var(--gray) !important; }
.product .product_title { font-family: var(--serif) !important; font-size: clamp(28px,4vw,44px) !important; font-weight: 200 !important; letter-spacing: .05em !important; }
.product .price { font-size: 22px !important; }
.shop-page .products .product { border: none !important; }
.page-wrapper { min-height: 60vh; }
.product-small .box { border: none !important; box-shadow: none !important; }
.product-quick-view-button,.quick-view-button { background: var(--g-dark-bg) !important; backdrop-filter: blur(12px) !important; color: var(--white) !important; font-family: var(--sans) !important; font-size: 9px !important; letter-spacing: .2em !important; text-transform: uppercase !important; border-radius: 100px !important; border: 1px solid rgba(255,255,255,.12) !important; padding: 9px 16px !important; }
.fj-notice { padding: 14px 20px; margin-bottom: 20px; border-radius: 8px; font-family: var(--sans); font-size: 13px; font-weight: 300; }
.fj-notice-success { background: rgba(76,175,80,.1); border: 1px solid rgba(76,175,80,.25); color: #2e7d32; }
.fj-notice-info    { background: var(--g-gold-bg); border: 1px solid var(--g-gold-bdr); color: var(--dark); }
a:focus-visible,button:focus-visible,input:focus-visible { outline: 2px solid var(--gold) !important; outline-offset: 3px !important; }

@media (max-width: 768px) {
  .fj-benefits-bar { grid-template-columns: repeat(2,1fr); padding: 14px 20px; }
  .fj-stats-wrap { grid-template-columns: repeat(2,1fr); }
  .fj-stat:nth-child(2) { border-right: none; }
  .fj-stat { border-bottom: 1px solid rgba(255,255,255,.15); padding: 20px 0; }
  .fj-stat:nth-child(3),.fj-stat:last-child { border-bottom: none; }
  #fj-cart-drawer { width: 100%; right: -100%; }
}

@media (prefers-reduced-motion: reduce) {
  *,::before,::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  html,body { cursor: auto !important; }
  #fj-cursor-dot,#fj-cursor-ring,#fj-particles { display: none !important; }
}
