
/* True North Equine — Homepage Social Hub V7
   Real feeds only: Feed Them Social Instagram 4062, Facebook 4948; QuadLayers TikTok 0. */
.tn-social-hub{
  --tn-red:#BE1E2D;--tn-red-dark:#9a1824;--tn-ink:#2b2f31;--tn-muted:#6b7280;
  --tn-border:#e1e8ed;--tn-surface:#fff;--tn-bg:#f8f9fa;
  --tn-radius:12px;--tn-pill:999px;--tn-shadow:0 2px 10px rgba(0,0,0,.05);
  --tn-shadow-hover:0 8px 25px rgba(0,0,0,.10);
  padding:56px 20px;background:var(--tn-bg);color:var(--tn-ink);
  font-family:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif
}
.tn-social-hub *{box-sizing:border-box}
.tn-social-hub__inner{max-width:1240px;margin:0 auto}
.tn-social-hub__eyebrow{margin:0 0 10px;text-align:center;color:var(--tn-red);font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tn-social-hub__title{margin:0;text-align:center;color:var(--tn-ink);font-size:clamp(2rem,4vw,2.8rem);font-weight:900;letter-spacing:-.5px;line-height:1.15}
.tn-social-hub__intro{max-width:720px;margin:16px auto 32px;text-align:center;color:var(--tn-muted);font-size:18px;line-height:1.7}
.tn-social-tabs{display:flex;width:max-content;max-width:100%;margin:0 auto 32px;padding:5px;gap:4px;border:1px solid var(--tn-border);border-radius:var(--tn-pill);background:var(--tn-surface)}
.tn-social-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border:0;border-radius:var(--tn-pill);background:transparent;color:var(--tn-muted);font:inherit;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.tn-social-tab[aria-selected="true"]{background:var(--tn-red);color:#fff}
.tn-social-tab:focus-visible{outline:3px solid rgba(190,30,45,.35);outline-offset:3px}
.tn-social-panel{min-height:470px}
.tn-social-panel[hidden],.tn-social-panel__feed[hidden],.tn-social-fallback[hidden]{display:none!important}

/* Normalize both Feed Them Social transports into the same 3/2/1 card grid. */
.tn-social-hub .fts-instagram,
.tn-social-hub .fts-instagram-inline-block-centered,
.tn-social-hub .fts-jal-fb-group-display{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;width:100%!important;max-width:900px!important;
  margin:0 auto!important;padding:0!important;float:none!important
}
.tn-social-hub .fts-instagram>.fts-clear,
.tn-social-hub .fts-instagram-inline-block-centered>.fts-clear,
.tn-social-hub .fts-jal-fb-group-display>.fts-clear{display:none!important}
.tn-social-hub .slicker-instagram-placeholder,
.tn-social-hub .instagram-placeholder,
.tn-social-hub .fts-jal-single-fb-post{
  display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;
  height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;
  border:1px solid var(--tn-border)!important;border-radius:var(--tn-radius)!important;
  background:var(--tn-surface)!important;box-shadow:var(--tn-shadow);
  transition:transform .2s,box-shadow .2s
}
.tn-social-hub .slicker-instagram-placeholder:hover,
.tn-social-hub .instagram-placeholder:hover,
.tn-social-hub .fts-jal-single-fb-post:hover{transform:translateY(-4px);box-shadow:var(--tn-shadow-hover)}
.tn-social-hub [data-tn-extra-post="true"]{display:none!important}

/* Instagram card media and text. */
.tn-social-panel--instagram .slicker-instagram-image,
.tn-social-panel--instagram .slicker-instagram-image>a,
.tn-social-panel--instagram .instagram-image,
.tn-social-panel--instagram .instagram-image>a{display:block!important;width:100%!important;aspect-ratio:1/1;overflow:hidden}
.tn-social-panel--instagram .slicker-instagram-image img,
.tn-social-panel--instagram .instagram-image img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;
  aspect-ratio:1/1;object-fit:cover!important;border-radius:0!important;box-shadow:none!important
}
.tn-social-hub .fts-instagram-caption{
  display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  margin:0!important;padding:14px 14px 0!important;color:var(--tn-ink)!important;font-size:.9rem;line-height:1.5
}
.tn-social-hub .fts-instagram-info,
.tn-social-hub .heart-comments-wrap{
  margin-top:auto!important;padding:10px 14px 14px!important;border-top:1px solid var(--tn-border);
  color:var(--tn-muted)!important;font-size:.78rem
}

/* FTS Business Instagram renders background-image tiles; turn each into a real content card. */
.tn-social-panel--instagram .instagram-social-btn-top,
.tn-social-panel--instagram .instagram-social-btn-bottom{display:none!important}
.tn-social-panel--instagram .fts-instagram-inline-block-centered{float:none!important}
.tn-social-panel--instagram .tn-fts-ig-ready{background-image:none!important}
.tn-social-panel--instagram .tn-fts-ig-ready>:not(.tn-fts-ig-media):not(.tn-fts-ig-body){display:none!important}
.tn-social-panel--instagram .tn-fts-ig-media{
  order:1;display:block;width:100%;aspect-ratio:1/1;background-position:center;
  background-repeat:no-repeat;background-size:cover;text-decoration:none
}
.tn-social-panel--instagram .tn-fts-ig-body{order:2;display:flex;flex:1 1 auto;flex-direction:column;min-height:104px}
.tn-social-panel--instagram .tn-fts-ig-caption{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  margin:0;padding:14px 14px 0;color:var(--tn-ink);font-size:.9rem;line-height:1.5
}
.tn-social-panel--instagram .tn-fts-ig-meta{
  margin:auto 0 0;padding:10px 14px 14px;border-top:1px solid var(--tn-border);font-size:.78rem
}
.tn-social-panel--instagram .tn-fts-ig-meta a{color:var(--tn-red);font-weight:800;text-decoration:none}
.tn-social-panel--instagram .tn-fts-ig-meta a:hover{text-decoration:underline}

/* Facebook card: compact byline, one square media item, two-line caption and pinned meta. */
.tn-social-panel--facebook .tn-fb-text-media{
  order:2;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;
  padding:26px;background:linear-gradient(145deg,var(--tn-ink),#444b4f);color:#fff;text-align:center
}
.tn-social-panel--facebook .tn-fb-text-media__copy{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden;
  margin:0;color:#fff;font-size:1.05rem;font-weight:700;line-height:1.55
}
.tn-social-panel--facebook .tn-fb-text-media__copy:before{content:"“";display:block;margin-bottom:8px;color:#fff;font-family:Georgia,serif;font-size:3rem;line-height:.55;opacity:.55}
.tn-social-panel--facebook .tn-fb-text-only .fts-jal-fb-message{display:none!important}
.tn-social-panel--facebook .tn-fb-text-only .tn-fb-text-media{flex:1 1 auto;aspect-ratio:auto;min-height:286px}
.tn-social-panel--facebook .fts-jal-fb-header{display:none!important}
.tn-social-panel--facebook .fts-jal-fb-right-wrap{display:flex!important;flex:1 1 auto;flex-direction:column;min-width:0}
.tn-social-panel--facebook .fts-jal-fb-top-wrap{
  order:1;display:grid!important;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;
  column-gap:10px;align-items:center;padding:14px!important
}
.tn-social-panel--facebook .fts-jal-fb-user-thumb{grid-column:1;grid-row:1/3;float:none!important}
.tn-social-panel--facebook .fts-jal-fb-user-thumb,
.tn-social-panel--facebook .fts-jal-fb-user-thumb img{width:40px!important;height:40px!important;margin:0!important;border-radius:50%!important}
.tn-social-panel--facebook .fts-jal-fb-user-name{grid-column:2;grid-row:1;padding:0!important;color:var(--tn-ink)!important;font-size:.95rem;line-height:1.2}
.tn-social-panel--facebook .fts-jal-fb-user-name a{color:var(--tn-ink)!important;text-decoration:none!important;font-weight:800}
.tn-social-panel--facebook .fts-jal-fb-post-time{grid-column:2;grid-row:2;margin:0!important;padding:0!important;color:var(--tn-muted)!important;font-size:.78rem}
.tn-social-panel--facebook .fts-jal-fb-top-wrap>.fts-clear{display:none!important}
.tn-social-panel--facebook .fts-album-photos-wrap,
.tn-social-panel--facebook .fts-jal-fb-vid-wrap,
.tn-social-panel--facebook .fts-jal-fb-vid-picture,
.tn-social-panel--facebook .fts-jal-fb-picture{
  order:2;display:block!important;width:100%!important;aspect-ratio:1/1!important;overflow:hidden!important;float:none!important
}
.tn-social-panel--facebook .fts-album-photos-wrap>.fts-jal-fb-picture{height:100%!important;margin:0!important}
.tn-social-panel--facebook .fts-album-photos-wrap>.fts-jal-fb-picture:nth-of-type(n+2),
.tn-social-panel--facebook .fts-fb-more-photos-wrap,
.tn-social-panel--facebook .fts-fb-thumbs-wrap,
.tn-social-panel--facebook .fts-image-count-tint-underlay,
.tn-social-panel--facebook .fts-image-count{display:none!important}
.tn-social-panel--facebook .fts-jal-fb-picture img,
.tn-social-panel--facebook .fts-jal-fb-vid-picture img,
.tn-social-panel--facebook .fts-jal-fb-vid-picture video{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;
  aspect-ratio:1/1!important;object-fit:cover!important
}
.tn-social-panel--facebook .fts-jal-fb-message,
.tn-social-panel--facebook .fts-jal-fb-description-wrap{
  order:3;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  margin:0!important;padding:14px!important;color:var(--tn-ink)!important;font-size:.9rem;line-height:1.5
}
.tn-social-panel--facebook .fts-jal-fb-see-more{order:4;padding:0 14px 12px!important}
.tn-social-panel--facebook .fts-jal-fb-bottom-wrap,
.tn-social-panel--facebook .fts-likes-shares-etc-wrap{
  order:5;margin-top:auto!important;padding:10px 14px 14px!important;border-top:1px solid var(--tn-border);
  color:var(--tn-muted)!important;font-size:.78rem
}
.tn-social-hub .fts-share-wrap,.tn-social-hub .fts-powered-by-text,.tn-social-hub .fts-powered-by{display:none!important}

/* ============================================================================
   True North Equine — TikTok module styling (QuadLayers TikTok Feed 4.6.6)
   Scope: EVERYTHING is under `.tn-social-hub .tn-social-panel--tiktok` so it
   never touches another TikTok feed or the Instagram/Facebook panels.

   Goal: make the QuadLayers TikTok cards read as the SAME card as the
   Instagram/Facebook cards already on the homepage —
     square media (+ play cue) → 2-line caption → pinned meta row —
   inside a white card shell (1px #e1e8ed border, 12px radius, soft shadow,
   hover lift). Variant A (1:1) per the audit, for cross-tab consistency.

   Rules honored (audit §9): real feed only, shortcode [tiktok-feed id="0"]
   unchanged, Instagram stays default tab, lazy-load kept, 6 videos, no
   load-more, no carousel, gallery layout only, works before/after `.loaded`,
   reduced motion respected, no plugin-file edits. Load this AFTER the plugin
   stylesheet (site custom CSS / snippet), never inside the plugin directory.
   ============================================================================ */

/* Feed root: strip the plugin box, cap width, center. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-feed {
  --qligg-mask-bg: rgba(43, 47, 49, .64);      /* branded charcoal instead of native blue/black */
  --qligg-mask-icon-color: #ffffff;
  max-width: 900px;
  margin-inline: auto;
  padding: 0;
  background: transparent;
  font-family: var(--tn-font, "Lato", system-ui, sans-serif);
}

/* Gallery → CSS grid (3 columns, 18px gap) — easier to reason about than the
   plugin's percentage-width flex formula. Item width is forced to 100% below. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-list[data-feed_layout="gallery"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

/* Card shell — identical to the Instagram/Facebook tile. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item {
  width: 100% !important;          /* override injected .tiktok-feed-item--cols-N width */
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e1e8ed;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, .10);
}
/* Focus parity with hover (audit §12) — keyboard users get an equally clear cue. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item:focus-visible {
  outline: 3px solid rgba(190, 30, 45, .38);
  outline-offset: 4px;
}
/* Live QuadLayers 4.6.6 adds a parent 100% padding spacer; the media wrapper owns the ratio. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item::before,
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item::after {
  display: none !important;
}
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item__wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

/* Media: explicit 1:1 square, cover-cropped. Removes the plugin's padding-top
   square hack + ratio pseudo-element so the grid controls height. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item__video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 0 !important;
  border-radius: 0;
  background: #e9ecef;              /* neutral loading fill, no layout shift */
  overflow: hidden;
}
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item__video-wrap::before,
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item__video-wrap::after {
  content: none !important;        /* kill the native square-ratio pseudo-element */
}
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item__video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Play affordance — high-contrast white disc, centered, always visible (audit
   §10: "clear, high-contrast play affordance"). Injected once by the JS layer;
   this styles it. Falls back gracefully if the JS isn't present. */
.tn-social-hub .tn-social-panel--tiktok .tn-tt-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #2b2f31;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
  pointer-events: none;
  z-index: 3;
  transition: transform .3s cubic-bezier(.25, .46, .45, .94);
}
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item:hover .tn-tt-play {
  transform: translate(-50%, -50%) scale(1.08);
}
/* Small TikTok identifier badge, top-right (cyan/pink used ONLY as a small
   accent glyph, never as the section's primary color — audit §12). */
.tn-social-hub .tn-social-panel--tiktok .tn-tt-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  color: #fff;
  font-size: 1.05rem;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .5);
  pointer-events: none;
}

/* Native hover mask stays (real likes/comments), just re-themed via the vars
   above. Keep it as an ENHANCEMENT, not the only place engagement lives —
   the pinned meta footer below is the touch-accessible copy. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item__video-mask {
  z-index: 2;
}

/* Caption — the visible 2-line clamp the plugin's disabled card can't provide.
   `.tn-tiktok-caption` is derived from each card's aria-label by the site JS. */
.tn-social-hub .tn-social-panel--tiktok .tn-tiktok-caption {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0;
  padding: 14px 14px 8px;
  min-height: 58px;
  color: #2b2f31;
  font: .9rem/1.5 "Lato", system-ui, sans-serif;
}

/* Pinned action link (“View on TikTok →”) — the ONE footer pattern shared by
   all three tabs. margin-top:auto keeps rows equal height. Populated / linked
   by the optional JS (points at the card's real TikTok URL). */
.tn-social-hub .tn-social-panel--tiktok .tn-tt-link {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 14px 14px;
  border-top: 1px solid #e1e8ed;
  font-size: .82rem;
  font-weight: 700;
  color: #BE1E2D;
  text-decoration: none;
}
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed-item:hover .tn-tt-link { color: #9A1824; }

/* Hide the native "View on TikTok" / load-more action row — the shared
   True North red pill CTA lives in the panel markup instead. */
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed__actions,
.tn-social-hub .tn-social-panel--tiktok .tiktok-feed__profile {
  display: none !important;
}

/* Responsive — True North module breakpoints (not the plugin's 768/480). */
@media (max-width: 1023px) {
  .tn-social-hub .tn-social-panel--tiktok .tiktok-feed-list[data-feed_layout="gallery"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .tn-social-hub .tn-social-panel--tiktok .tiktok-feed-list[data-feed_layout="gallery"] {
    grid-template-columns: 1fr;
    max-width: 335px;
    margin-inline: auto;
  }
}

/* Reduced motion. */
@media (prefers-reduced-motion: reduce) {
  .tn-social-hub .tn-social-panel--tiktok *,
  .tn-social-hub .tn-social-panel--tiktok *::before,
  .tn-social-hub .tn-social-panel--tiktok *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ---------------------------------------------------------------------------
   OPTIONAL: modal parity layer (audit §10). Only if the plugin modal stays on.
   --------------------------------------------------------------------------- */
#tiktok-feed-modal-0 .qligg-modal__body,
#tiktok-feed-modal-0 [class*="modal__body"] { border-radius: 12px; }
#tiktok-feed-modal-0 [class*="close"]:focus-visible,
#tiktok-feed-modal-0 [class*="arrow"]:focus-visible {
  outline: 3px solid rgba(190, 30, 45, .5);
  outline-offset: 2px;
}

/* CTA and graceful empty-feed state. */
.tn-social-cta{text-align:center;margin-top:32px}
.tn-social-btn{
  display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:12px 28px;
  border:2px solid var(--tn-red);border-radius:var(--tn-pill);background:var(--tn-red);color:#fff!important;
  font-size:16px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(190,30,45,.25);
  transition:transform .2s,background .2s,border-color .2s
}
.tn-social-btn:hover{background:var(--tn-red-dark);border-color:var(--tn-red-dark);transform:translateY(-2px)}
.tn-social-fallback{max-width:640px;margin:0 auto;padding:24px;text-align:center;color:var(--tn-muted);background:#fff;border:1px solid var(--tn-border);border-radius:var(--tn-radius)}
.tn-social-fallback a,.tn-social-hub__contact a{color:var(--tn-red);font-weight:700}
.tn-social-hub__contact{margin:24px 0 0;text-align:center}

@media(max-width:1023px){
  .tn-social-hub .fts-instagram,.tn-social-hub .fts-instagram-inline-block-centered,.tn-social-hub .fts-jal-fb-group-display{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:720px!important
  }
  .tn-social-panel--tiktok .tiktok-feed-feed{max-width:720px!important}
  .tn-social-panel--tiktok .tiktok-feed-item{width:calc((100% - 18px)/2)!important}
}
@media(max-width:600px){
  .tn-social-hub{padding:44px 16px}
  .tn-social-tabs{width:100%}.tn-social-tab{flex:1 1 33.333%;padding-inline:10px;font-size:14px}
  .tn-social-hub .fts-instagram,.tn-social-hub .fts-instagram-inline-block-centered,.tn-social-hub .fts-jal-fb-group-display{
    grid-template-columns:1fr!important;max-width:335px!important
  }
  .tn-social-panel--tiktok .tiktok-feed-feed{max-width:335px!important}
  .tn-social-panel--tiktok .tiktok-feed-item{width:100%!important}
}
@media(prefers-reduced-motion:reduce){
  .tn-social-hub *,.tn-social-hub *:before,.tn-social-hub *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
/* Design System v7: caption sizing and one card contract across Instagram, Facebook and TikTok. */
.tn-social-panel--instagram .tn-fts-ig-media,
.tn-social-panel--facebook .fts-album-photos-wrap,
.tn-social-panel--facebook .fts-jal-fb-vid-wrap,
.tn-social-panel--facebook .fts-jal-fb-vid-picture,
.tn-social-panel--facebook .fts-jal-fb-picture{position:relative!important;background-color:#e9ecef!important}
.tn-social-hub .tn-card-badge{
  position:absolute;top:12px;right:12px;z-index:4;color:#fff;font-size:1.05rem;
  line-height:1;text-shadow:0 1px 4px rgba(0,0,0,.55);pointer-events:none
}
.tn-social-panel--instagram .tn-fts-ig-caption,
.tn-social-panel--facebook .fts-jal-fb-message,
.tn-social-panel--tiktok .tn-tiktok-caption{
  min-height:87px!important;margin:0!important;padding:14px 14px 8px!important;
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;
  overflow:hidden!important;color:var(--tn-ink)!important;font-size:.82rem!important;line-height:1.45!important
}
.tn-social-panel--instagram .tn-fts-ig-meta,
.tn-social-panel--facebook .tn-fb-footer{
  order:4!important;margin:auto 0 0!important;padding:12px 14px 14px!important;border-top:1px solid var(--tn-border)!important;
  background:#fff!important;font-size:.82rem!important;line-height:1.3!important
}
.tn-social-panel--instagram .tn-fts-ig-meta a,
.tn-social-panel--facebook .tn-fb-footer a{
  color:var(--tn-red)!important;font-weight:700!important;text-decoration:none!important
}
.tn-social-panel--instagram .tn-fts-ig-meta a:hover,
.tn-social-panel--facebook .tn-fb-footer a:hover{color:var(--tn-red-dark)!important;text-decoration:none!important}
.tn-social-panel--facebook .fts-jal-fb-top-wrap,
.tn-social-panel--facebook .fts-jal-fb-header,
.tn-social-panel--facebook .fts-jal-fb-user-thumb,
.tn-social-panel--facebook .fts-jal-fb-user-name,
.tn-social-panel--facebook .fts-jal-fb-post-time,
.tn-social-panel--facebook .fts-jal-fb-bottom-wrap,
.tn-social-panel--facebook .fts-likes-shares-etc-wrap{display:none!important}
.tn-social-panel--facebook .fts-jal-fb-message,
.tn-social-panel--facebook .fts-jal-fb-description-wrap{padding:14px 14px 8px!important}
.tn-social-panel--facebook .tn-fb-text-media{
  order:2;position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:286px;
  padding:26px;background:#fff!important;color:var(--tn-ink)!important;text-align:center;
  border-bottom:1px solid var(--tn-border)
}
.tn-social-panel--facebook .tn-fb-text-media__copy{
  color:var(--tn-ink)!important;font-size:1rem;font-weight:700;line-height:1.55
}
.tn-social-panel--facebook .tn-fb-text-media__copy:before{color:var(--tn-red)!important;opacity:.75}
.tn-social-panel--facebook .tn-fb-text-only .tn-fb-text-media{flex:1 1 auto;aspect-ratio:auto;min-height:344px}
.tn-social-panel--tiktok .tn-tt-link{line-height:1.3!important}
.tn-social-panel--tiktok .tn-tt-meta{display:none!important}


/* Facebook video-card gap fix — reset FTS's nested 10px media margins. */
.tn-social-panel--facebook .fts-jal-fb-vid-wrap,
.tn-social-panel--facebook .fts-jal-fb-vid-picture{
  margin:0!important
}
