/* Feenanza markets widgets — ticker, card, tile. Usa i token --fz-* del child theme con fallback. */
.fz-markets {
  --fz-w-text: var(--fz-ink, #2B3648);
  --fz-w-muted: var(--fz-muted, #5B6478);
  --fz-w-up: var(--fz-up, #1E7F4F);
  --fz-w-down: var(--fz-down, #B93632);
  --fz-w-flat: var(--fz-flat, #6B7280);
  --fz-w-card: var(--fz-white, #FFFFFF);
  --fz-w-border: var(--fz-line, #E4DCC8);
  --fz-w-radius: var(--fz-radius, 14px);
  --fz-w-value-size: 22px;
  --fz-w-font: var(--fz-font-text, system-ui, sans-serif);
  --fz-cols: 4; --fz-cols-t: 2; --fz-cols-m: 1;
  font-family: var(--fz-w-font); color: var(--fz-w-text); position: relative;
}
.fz-markets.fz-on-dark {
  --fz-w-text: var(--fz-cream, #F4D58D);
  --fz-w-muted: rgba(244, 213, 141, .72);
  --fz-w-up: var(--fz-up-dark, #5CD39A);
  --fz-w-down: var(--fz-down-dark, #FF7A73);
  --fz-w-flat: rgba(255, 255, 255, .6);
  --fz-w-card: var(--fz-navy-800, #233657);
  --fz-w-border: rgba(255, 255, 255, .12);
}
.fz-markets .fz-num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.fz-markets .is-up .fz-ticker__change, .fz-markets .is-up .fz-quote__change, .fz-markets .is-up .fz-tile__sub, .fz-markets .is-up .fz-spark { color: var(--fz-w-up); }
.fz-markets .is-down .fz-ticker__change, .fz-markets .is-down .fz-quote__change, .fz-markets .is-down .fz-tile__sub, .fz-markets .is-down .fz-spark { color: var(--fz-w-down); }
.fz-markets .is-flat .fz-ticker__change, .fz-markets .is-flat .fz-quote__change, .fz-markets .is-flat .fz-tile__sub, .fz-markets .is-flat .fz-spark { color: var(--fz-w-flat); }
.fz-markets .is-stale .fz-quote__value, .fz-markets .is-stale .fz-ticker__value, .fz-markets .is-stale .fz-tile__value { opacity: .75; }
.fz-markets__error { margin: 8px 0 0; font-size: 14px; color: var(--fz-w-muted); }
.fz-markets__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 12px; font-size: 12px; line-height: 1.4; color: var(--fz-w-muted); }
.fz-markets__meta:empty { display: none; }
.fz-markets__noscript { font-size: 14px; color: var(--fz-w-muted); }

/* Skeleton */
.fz-markets .is-skeleton .fz-ticker__value, .fz-markets .is-skeleton .fz-ticker__change,
.fz-markets .is-skeleton .fz-quote__value, .fz-markets .is-skeleton .fz-quote__change,
.fz-markets .is-skeleton .fz-tile__value, .fz-markets .is-skeleton .fz-tile__sub {
  display: inline-block; min-width: 4.5em; height: 1em; border-radius: 4px; vertical-align: middle;
  background: linear-gradient(90deg, rgba(128,128,128,.12) 25%, rgba(128,128,128,.28) 50%, rgba(128,128,128,.12) 75%);
  background-size: 200% 100%; animation: fz-shimmer 1.4s ease-in-out infinite;
}
.fz-markets .is-skeleton .fz-quote__value, .fz-markets .is-skeleton .fz-tile__value { display: block; height: 1.1em; min-width: 6em; }
.fz-markets .is-error .fz-quote__value::after, .fz-markets .is-error .fz-tile__value::after { content: "n/d"; color: var(--fz-w-muted); font-size: .8em; }
@keyframes fz-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ---- Ticker ---------------------------------------------------------- */
.fz-ticker { overflow: hidden; white-space: nowrap; font-size: 13px; line-height: 1; padding: 9px 0; }
.fz-ticker__rail { display: flex; width: max-content; will-change: transform; }
.fz-ticker__rail.is-animated { animation: fz-marquee var(--fz-ticker-duration, 60s) linear infinite; }
.fz-ticker:hover .fz-ticker__rail, .fz-ticker:focus-within .fz-ticker__rail { animation-play-state: paused; }
.fz-ticker__track { display: flex; margin: 0; padding: 0; list-style: none; }
.fz-ticker__item { display: inline-flex; align-items: baseline; gap: 6px; padding: 0 22px; border-right: 1px solid var(--fz-w-border); }
.fz-ticker__label { font-weight: 600; color: var(--fz-w-text); letter-spacing: .02em; }
.fz-ticker__value { color: var(--fz-w-text); }
.fz-ticker__change { font-weight: 600; }
.fz-ticker .fz-markets__meta, .fz-ticker .fz-markets__error { display: none; }
@keyframes fz-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
[dir="rtl"] .fz-ticker__rail.is-animated { animation-name: fz-marquee-rtl; }
@keyframes fz-marquee-rtl { from { transform: translateX(0); } to { transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce) {
  .fz-ticker { overflow-x: auto; scrollbar-width: thin; }
  .fz-ticker__rail.is-animated { animation: none; }
  .fz-ticker__rail > .fz-ticker__track[aria-hidden="true"] { display: none; }
}

/* ---- Card ------------------------------------------------------------ */
.fz-cards__grid { display: grid; grid-template-columns: repeat(var(--fz-cols, 4), minmax(0, 1fr)); gap: 16px; }
.fz-quote { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 16px 18px; background: var(--fz-w-card); border: 1px solid var(--fz-w-border); border-radius: var(--fz-w-radius); box-shadow: var(--fz-shadow-sm, 0 1px 2px rgba(27,42,74,.06)); }
.fz-quote__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.fz-quote__label { font-weight: 600; font-size: 14px; color: var(--fz-w-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fz-quote__group { flex: none; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fz-w-muted); }
.fz-quote__value { font-size: var(--fz-w-value-size); font-weight: 600; line-height: 1.15; color: var(--fz-w-text); letter-spacing: -.01em; }
.fz-quote__change { font-size: 14px; font-weight: 600; min-height: 1.2em; }
.fz-spark { width: 100%; height: 32px; margin-top: 2px; overflow: visible; }
.fz-quote__meta { font-size: 12px; color: var(--fz-w-muted); min-height: 1.2em; }
@media (max-width: 1024px) { .fz-cards__grid { grid-template-columns: repeat(var(--fz-cols-t, 2), minmax(0, 1fr)); } }
@media (max-width: 767px) { .fz-cards__grid { grid-template-columns: repeat(var(--fz-cols-m, 1), minmax(0, 1fr)); gap: 12px; } .fz-quote { padding: 14px 16px; } }

/* ---- Tile macro ------------------------------------------------------ */
.fz-macro__grid { display: grid; grid-template-columns: repeat(var(--fz-cols, 3), minmax(0, 1fr)); gap: 12px; }
.fz-tile { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 14px 16px; background: var(--fz-w-card); border: 1px solid var(--fz-w-border); border-radius: var(--fz-w-radius); }
.fz-tile__label { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--fz-w-muted); }
.fz-tile__value { font-size: var(--fz-w-value-size, 26px); font-weight: 700; line-height: 1.1; color: var(--fz-w-text); letter-spacing: -.01em; }
.fz-tile__sub { font-size: 12px; color: var(--fz-w-muted); min-height: 1.2em; }
.fz-tile.is-up .fz-tile__sub, .fz-tile.is-down .fz-tile__sub { color: var(--fz-w-muted); }
@media (max-width: 1024px) { .fz-macro__grid { grid-template-columns: repeat(var(--fz-cols-t, 2), minmax(0, 1fr)); } }
@media (max-width: 767px) { .fz-macro__grid { grid-template-columns: repeat(var(--fz-cols-m, 1), minmax(0, 1fr)); } }

/* ---- TradingView (modalità alternativa) ------------------------------ */
.fz-tv__note { font-size: 12px; color: var(--fz-muted, #5B6478); margin: 6px 0 0; }
