/* ===================== TOOLS HUB (/tools, /tools/{slug}) ===================== */
.fx-thero{padding-bottom:28px;gap:36px;align-items:start}
.fx-thero__chips{display:flex;gap:8px;flex-wrap:wrap}
.fx-thero .fx-shero__title{margin-top:12px}
.fx-thero__search{margin:0;max-width:540px}
.fx-thero__search .fx-search__in{padding:12px 20px;font-size:13.5px;box-shadow:var(--fx-shadow-card)}
.fx-thero .fx-shero__facts{margin-top:20px}
.fx-shero__facts strong{color:var(--fx-ink);font-weight:700}

/* featured cards (hero side) */
.fx-tfeat{position:relative;display:flex;flex-direction:column;gap:6px;border-radius:16px;padding:18px 20px;color:inherit;border:1px solid var(--fx-border);background:var(--fx-surface);overflow:hidden;transition:box-shadow .15s,border-color .15s}
.fx-tfeat:hover{box-shadow:var(--fx-shadow-float);border-color:var(--fx-primary);color:inherit}
.fx-tfeat__top{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.fx-tfeat__title{font-family:var(--fx-font-head);font-weight:800;font-size:19px;margin-top:4px;line-height:1.5}
.fx-tfeat__body{font-size:12.5px;line-height:1.9;color:var(--fx-text-2);max-width:42ch}
.fx-tfeat__cta{font-weight:700;font-size:13px;color:var(--fx-primary);margin-top:4px}
.fx-tfeat__icon{position:absolute;inset-inline-end:-8px;bottom:-12px;width:100px;height:100px;opacity:.1;pointer-events:none}
.fx-tfeat__icon svg{width:100%;height:100%}
.fx-tfeat__next{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--fx-ink);margin-top:2px}
.fx-tfeat__next b{font-weight:700}
.fx-tfeat--dark{background:var(--fx-dark);border-color:var(--fx-dark);color:#fff}
.fx-tfeat--dark:hover{color:#fff;border-color:var(--fx-dark)}
.fx-tfeat--dark .fx-tfeat__body{color:var(--fx-dark-muted)}
.fx-tfeat--dark .fx-tfeat__cta{color:var(--fx-dark-link)}
.fx-tfeat--dark .fx-tfeat__icon{opacity:.16}
.fx-tfeat--tint{background:var(--fx-tint-bg);border-color:var(--fx-tint-border)}

/* sticky category nav */
.fx-tnav{position:sticky;top:0;z-index:15;background:var(--fxt-nav-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-block:1px solid var(--fx-hair);padding:10px var(--fx-gutter);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fx-tnav__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}
.fx-tnav__chips::-webkit-scrollbar{display:none}
.fx-tnav .fx-filter i{font-style:normal;font-size:10.5px;opacity:.75;margin-inline-start:6px;font-weight:400}
.fx-tnav__live{font-size:12px;color:var(--fx-text-2);display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
.fx-tnav__live input{accent-color:var(--fx-primary);width:15px;height:15px;margin:0}

/* category sections + cards */
.fx-tsec{padding:30px var(--fx-gutter) 6px}
.fx-tsec[hidden]{display:none}
.fx-tsec__count{margin-inline-start:auto;font-size:12px;color:var(--fx-muted);white-space:nowrap}
.fx-tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.fx-tcard{display:flex;flex-direction:column;gap:5px;border:1px solid var(--fx-border);border-radius:16px;padding:18px 18px 14px;background:var(--fx-surface);color:inherit;position:relative;min-height:176px;transition:border-color .15s,box-shadow .15s,transform .15s}
.fx-tcard[hidden]{display:none}
.fx-tcard:hover{border-color:var(--fx-primary);box-shadow:var(--fx-shadow-float);color:inherit;transform:translateY(-1px)}
.fx-tcard.is-soon{background:var(--fx-fill)}
.fx-tcard.is-soon:hover{border-color:var(--fx-frame);box-shadow:var(--fx-shadow-card);transform:none}
.fx-tcard__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.fx-tcard__icon{width:40px;height:40px;border-radius:12px;background:var(--fx-tint);color:var(--fx-primary);display:inline-flex;align-items:center;justify-content:center;flex:none}
.fx-tcard__icon svg{width:22px;height:22px}
.fx-tcard.is-soon .fx-tcard__icon{background:var(--fx-fill-2);color:var(--fx-muted)}
.fx-tcard__badge{font-size:10px;font-weight:700;color:var(--fx-orange);background:var(--fx-orange-bg);border-radius:999px;padding:3px 9px;line-height:1.5;white-space:nowrap}
.fx-tcard__title{font-weight:700;font-size:14.5px;margin-top:8px;line-height:1.6;color:var(--fx-ink)}
.fx-tcard__desc{font-size:12px;line-height:1.85;color:var(--fx-muted);flex:1}
.fx-tcard__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:12px}
.fx-tcard__status{font-size:10.5px;padding:3px 9px}
.fx-tcard__go{color:var(--fx-primary);font-weight:600;white-space:nowrap}
.fx-tcard.is-soon .fx-tcard__go{color:var(--fx-muted);font-weight:500}

/* why + request + faq */
.fx-twhy{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px var(--fx-gutter) 8px}
.fx-twhy__n{width:34px;height:34px;border-radius:10px;background:var(--fx-tint);color:var(--fx-primary);display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}
.fx-twhy__n svg{width:18px;height:18px}
.fx-treq{margin-top:26px}
.fx-treq__t{font-weight:800;font-family:var(--fx-font-head);font-size:16px}
.fx-treq__b{font-size:12.5px;color:var(--fx-text-2);margin-top:3px}
.fx-treq__form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-inline-start:auto}
.fx-treq__form .fx-newsletter__in{min-width:150px}

/* single tool — coming soon */
.fx-tsoon{padding-bottom:20px}
.fx-tsoon__feats{background:var(--fx-tint-bg);border:1px solid var(--fx-tint-border);border-radius:14px;padding:14px 18px;font-size:13px;line-height:2.1;color:var(--fx-primary-dark);margin-bottom:20px}
.fx-tsoon__feats-t{font-weight:700;font-size:12.5px;color:var(--fx-muted);margin-bottom:2px}
.fx-tnotify{display:flex;gap:8px;max-width:540px;flex-wrap:wrap}
.fx-tnotify .fx-input{flex:1;min-width:200px;border-radius:999px;padding:11px 18px}
.fx-tnotify__st{width:100%;font-size:12px;min-height:18px}
.fx-tsoon__panel{background:var(--fx-dark);border-radius:16px;padding:24px;color:#fff;display:flex;flex-direction:column;gap:10px;min-height:220px}
.fx-tsoon__big{width:64px;height:64px;border-radius:18px;background:#131b2b;border:1px solid #232d42;display:inline-flex;align-items:center;justify-content:center;color:var(--fx-dark-link)}
.fx-tsoon__big svg{width:32px;height:32px}
.fx-tsoon__panel-t{font-family:var(--fx-font-head);font-weight:800;font-size:18px;margin-top:6px}
.fx-tsoon__panel-b{font-size:12.5px;line-height:1.9;color:var(--fx-dark-muted)}
.fx-tsoon__live{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--fx-fill-2);font-size:13px;color:var(--fx-ink);font-weight:600}
.fx-tsoon__live:last-child{border-bottom:0}
.fx-tsoon__live:hover{color:var(--fx-primary)}

@media (max-width:1100px){.fx-tgrid,.fx-twhy{grid-template-columns:repeat(2,1fr)}.fx-thero,.fx-tsoon{grid-template-columns:1fr}}
@media (max-width:768px){.fx-tgrid,.fx-twhy{grid-template-columns:1fr}.fx-tnav{padding:8px 12px;gap:8px}.fx-tnav__live{width:100%}.fx-tsec{padding:22px 16px 4px}.fx-tsec__count{display:none}.fx-tcard{min-height:0}.fx-treq__form{width:100%}.fx-treq__form .fx-newsletter__in{flex:1 1 100%}.fx-tfeat__title{font-size:17px}}


/* ==========================================================================
   Dark overrides — local tokens for values that have no global equivalent.
   The light value repeated here is byte-identical to what shipped before;
   only the dark blocks differ. Same pattern as the end of forexfa.css.
   ========================================================================== */
:root{
  /* translucent backdrop of the sticky category nav (blurs the page under it) */
  --fxt-nav-bg:rgba(255,255,255,.94);
}
:root[data-theme="dark"]{--fxt-nav-bg:rgba(18,26,46,.94)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--fxt-nav-bg:rgba(18,26,46,.94)}
}
/* chart + holidays */
.fx-tv{height:620px;border-radius:16px;overflow:hidden;border:1px solid var(--fx-border);background:var(--fx-surface);margin:0 var(--fx-gutter)}
.fx-tv iframe{width:100%;height:100%}
.fx-hol{padding:10px var(--fx-gutter) 20px}
.fx-hol__day{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--fx-hair)}
.fx-hol__date{font-weight:700;font-size:13.5px}
.fx-hol__date small{display:block;font-weight:400;color:var(--fx-muted);font-size:11px}
.fx-hol__date.is-today{color:var(--fx-primary)}
.fx-hol__item{display:flex;gap:10px;align-items:center;font-size:13px;padding:4px 0}
.fx-hol__ccy{font-family:var(--fx-font-latin);font-weight:700;width:38px;color:var(--fx-primary-dark);direction:ltr;unicode-bidi:isolate}
.fx-hol__country{font-size:11px;color:var(--fx-muted)}
@media (max-width:768px){.fx-hol{padding:10px 16px}.fx-hol__day{grid-template-columns:1fr;gap:4px}.fx-tv{height:480px;margin:0 16px}}
