/* ================================================================
   GhanaTRVL — Tour Detail Pages Addon (shared: free AND paid)
   File: tour-detail-addon-v4.css (renamed 2026-07-23 from
         tour-free-detail-addon-v4.css — originally free-tour-only, now shared with
         the paid tour detail page too, since the sidebar/contact/map/image chrome is
         identical between the two. The .tfd- class prefix predates the rename and is
         kept as-is rather than mass-renamed across four PHP files for a cosmetic-only
         change; read it as "tour detail", not "tour free detail".)
   Depends on: custom-v4.css (tokens, base, buttons)

   Sections 01-11 below are shared by both pages. Paid-only sections (itinerary
   timeline, includes/excludes) are appended after them, clearly marked.

   Structure:
   01. Cancelled/Past Banner
   02. Title Strip (.tfd-title-strip)
   03. Body Layout / Image
   04. Section Heading / Description
   05. Featured Along the Way (.tfd-link-card) — free tour page only
   06. Map (.ent-map-wrap / .ent-map) — copied from entities-addon-v4.css, same reasoning
       as event-detail-addon-v4.css: avoids loading that whole stylesheet for a few rules.
   07. Sidebar Cards (.tfd-sb-card)
   08. Info Grid (.tfd-info-grid)
   09. Contact & Booking (.tfd-contact-row / .tfd-book-btn)
   10. Guide Card (.tfd-guide-card)
   11. Related Tours (.tfd-related-item)

   --- Paid tour page only, added 2026-07-23 ---
   12. Itinerary Timeline (.tfd-itin-day)
   13. Includes / Excludes (.tfd-incl-list)
   14. Upcoming Departures (.tfd-date-row)
   15. Operator Card Extras (.tfd-operator-img / .tfd-guide-loc)
   16. Gallery (.tfd-gal-thumb-wrap) — paid tour page only
   17. Organiser Strip (.tfd-organiser-strip) — paid tour page only, full-width,
       between hero and body — see __tour_section_organiser.php's docblock

   Last updated: 2026-07-24
================================================================ */


/* ================================================================
   01. CANCELLED / PAST BANNER
================================================================ */

.tfd-cancelled-banner {
  background: #a30000;
  color: #fff;
  font-family: var(--ff-h);
  font-size: .8rem;
  font-weight: 700;
  text-align: center;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.tfd-cancelled-banner--past {
  background: var(--dv);
}


/* ================================================================
   02. TITLE STRIP
================================================================ */

.tfd-title-strip {
  background: var(--dv);
  padding: 46px 0 38px;
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.tfd-title-strip::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 90% 50%, rgba(89,45,140,.18) 0%, transparent 65%);
  pointer-events: none;
}
/* Heavy overlay when the tour's own image is set as the background (see the hero
   partials — .tfd-title-strip--photo is only added when a usable image exists,
   otherwise the plain --dv fallback above stays as-is). Slightly lighter at the top
   than the bottom for a bit of air, heavy enough throughout to keep breadcrumb/title
   text readable over any photo. */
.tfd-title-strip--photo::before {
  background: linear-gradient(180deg, rgba(15,7,28,.60) 0%, rgba(15,7,28,.88) 100%);
}
.tfd-title-strip-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

.tfd-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-family: var(--ff-h);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 26px;
}
.tfd-breadcrumb a { color: rgba(255,255,255,.38); text-decoration: none; }
.tfd-breadcrumb a:hover { color: var(--ye); }
.tfd-breadcrumb .sep { color: rgba(255,255,255,.18); }
.tfd-breadcrumb .current { color: rgba(255,255,255,.6); }

/* Order in markup is now: breadcrumb, h1, subtitle, meta (badge+chips) — title
   leads, supporting metadata follows underneath rather than repeating the same
   info twice back-to-back (category/duration/etc. above AND the title itself). */
.tfd-title-strip h1 {
  font-family: var(--ff-h);
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 10px;
  line-height: 1.1;
}
.tfd-subtitle {
  font-family: var(--ff-s);
  font-style: italic;
  font-size: .9rem;
  color: rgba(255,255,255,.55);
  margin: 0 0 16px;
}

.tfd-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; }
.tfd-cat-badge {
  font-family: var(--ff-h);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  background: rgba(89,45,140,.5);
  border: 1px solid rgba(89,45,140,.6);
  color: rgba(255,255,255,.85);
  padding: 3px 10px;
  border-radius: 2px;
}
.tfd-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.tfd-chip {
  font-family: var(--ff-h);
  font-size: 10px;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  display: flex;
  align-items: center;
  gap: 5px;
}
.tfd-chip i { font-size: 9px; color: var(--mv); }


/* ================================================================
   03. BODY LAYOUT / IMAGE
   ---------------------------------------------------------------
   object-fit:contain (not cover) — per Marcel 2026-07-21, the tour's own
   image is normally a full poster/flyer graphic, not a candid photo, so it
   must never be cropped. Same reasoning as the event detail page's poster
   treatment. The dark background fills the letterboxed space around it.
================================================================ */

.tfd-body { max-width: 1320px; margin: 0 auto; padding: 28px 24px 60px; }

.tfd-img-wrap {
  border-radius: 4px;
  overflow: hidden;
  background: #0d0520;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
}
.tfd-img-wrap img { display: block; width: 100%; max-height: 640px; object-fit: contain; object-position: center; }


/* ================================================================
   04. SECTION HEADING / DESCRIPTION
================================================================ */

.tfd-section-head {
  font-family: var(--ff-h);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--mv);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.tfd-section-head::after { content: ''; flex: 1; height: 1px; background: var(--rule); }

.tfd-desc {
  font-family: var(--ff-s);
  font-size: .95rem;
  color: var(--bk, #1e0e0d);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.tfd-desc p { margin-bottom: 1rem; }


/* ================================================================
   05. FEATURED ALONG THE WAY
================================================================ */

.tfd-link-card {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--rule);
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  height: 100%;
  transition: box-shadow .18s;
}
.tfd-link-card:not(.tfd-link-card--static):hover { box-shadow: 0 4px 16px rgba(35,15,66,.08); }
.tfd-link-card--static { cursor: default; }

.tfd-link-thumb { width: 64px; height: 64px; border-radius: 4px; object-fit: cover; flex-shrink: 0; }
.tfd-link-thumb--placeholder {
  display: flex; align-items: center; justify-content: center;
  background: var(--wh2); color: var(--mv); font-size: 18px;
}

.tfd-link-type {
  font-family: var(--ff-h);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--mv);
  display: flex; align-items: center; gap: 5px;
  margin-bottom: 3px;
}
.tfd-link-title { font-family: var(--ff-h); font-size: .875rem; font-weight: 700; color: var(--dv); line-height: 1.25; }
.tfd-link-explanation { font-family: var(--ff-s); font-size: .8rem; color: var(--mu); margin: 4px 0 0; line-height: 1.5; }

/* Number badge — matches the map's numbered pins (__tour_free_section_map.php), same
   1-based order among links that have coordinates. Sits over the thumbnail corner. */
.tfd-link-thumb-wrap { position: relative; flex-shrink: 0; }
.tfd-link-number {
  position: absolute; top: -6px; left: -6px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--mv);
  color: #fff;
  font-family: var(--ff-h);
  font-size: 11px;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(35,15,66,.3);
}


/* ================================================================
   06. MAP (.ent-map-wrap / .ent-map)
   ---------------------------------------------------------------
   .ent-map-wrap/.ent-map/.ent-map-pin/.ent-map-popup-* copied verbatim from
   entities-addon-v4.css (§ single-pin map) so this page doesn't need to load
   that entire stylesheet just for these few rules — same reasoning as
   event-detail-addon-v4.css. Used by __tour_free_section_map.php's own
   self-contained init script (not the shared $ShowMap_entity block in
   __javascript.php — see that partial's docblock for why).
   .tfd-map-pin-num is new here — the numbered pins for linked activities,
   distinct from the single unnumbered departure pin.
================================================================ */

.ent-map-wrap {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(35,15,66,.10);
  border: 1px solid var(--rule);
}
.ent-map {
  height: 360px;
  width: 100%;
  background: var(--wh);
}
.ent-map-pin {
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ent-map-pin .fa-location-dot {
  font-size: 2.25rem;
  color: var(--mv);
  filter: drop-shadow(0 2px 4px rgba(35,15,66,.35));
  line-height: 1;
}

/* Numbered pins — linked activities, distinct from the single unnumbered departure pin */
.tfd-map-pin-num div {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--dv);
  color: var(--ye);
  font-family: var(--ff-h);
  font-size: 12px;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(35,15,66,.4);
}
/* Multi-day pin — a city visited across more than one day (e.g. "1·10", or "3·4·5·6"
   when several day-blocks share one base city) gets a pill instead of a circle. Width
   is set inline per-marker via iconSize (see __tour_section_map.php) since the label
   length varies; this just fills whatever width the wrapper is given. */
.tfd-map-pin-num--multi div {
  width: 100%;
  border-radius: 13px;
  font-size: 10.5px;
  padding: 0 6px;
  white-space: nowrap;
}

.ent-map-popup-name { display: block; font-family: var(--ff-h); font-size: .875rem; font-weight: 700; color: var(--dv); margin-bottom: 2px; }
.ent-map-popup-city { display: block; font-family: var(--ff-h); font-size: .775rem; color: var(--mu); }

.tfd-map-address { font-size: .875rem; color: var(--mu); margin-bottom: 10px; }
.tfd-map-address i { color: var(--mv); }


/* ================================================================
   07. SIDEBAR CARDS
================================================================ */

.tfd-sidebar { position: sticky; top: 84px; }
@media (max-width: 991px) { .tfd-sidebar { position: static; } }

.tfd-sb-card { background: #fff; border: 1px solid var(--rule); border-radius: 4px; overflow: hidden; margin-bottom: 14px; }
.tfd-sb-card-head {
  padding: 10px 14px;
  background: var(--dv);
  font-family: var(--ff-h);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  display: flex; align-items: center; gap: 6px;
}
.tfd-sb-card-head i { color: var(--ye); }
.tfd-sb-card-body { padding: 14px; }


/* ================================================================
   08. INFO GRID
================================================================ */

.tfd-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 14px; }
.tfd-ig-item { padding: 10px 0; border-bottom: 1px solid var(--rule); }
.tfd-ig-item:nth-last-child(-n+2) { border-bottom: none; }
.tfd-ig-label { font-family: var(--ff-h); font-size: 8.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mu); margin-bottom: 2px; }
.tfd-ig-value { font-family: var(--ff-h); font-size: .82rem; font-weight: 700; color: var(--dv); line-height: 1.2; }
.tfd-ig-value--price { font-size: 1.05rem; }
.tfd-ig-value small { font-size: 10px; font-weight: 600; color: var(--mu); display: block; margin-top: 2px; }


/* ================================================================
   09. CONTACT & BOOKING
================================================================ */

.tfd-contact-name { font-family: var(--ff-h); font-size: .85rem; font-weight: 700; color: var(--dv); margin-bottom: 10px; }

.tfd-book-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--mv); color: #fff;
  font-family: var(--ff-h);
  font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  padding: 12px 18px; border-radius: 4px;
  text-decoration: none;
  margin-bottom: 8px;
}
.tfd-book-btn:hover { background: var(--dv); color: #fff; }

.tfd-contact-row {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--rule);
  text-decoration: none; color: var(--bk, #1e0e0d);
  transition: color .15s;
}
.tfd-contact-row:last-of-type { border-bottom: none; }
.tfd-contact-row:hover { color: var(--mv); }

.tfd-ci { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; }
.tfd-ci--ph { background: rgba(89,45,140,.1); color: var(--mv); }
.tfd-ci--wa { background: rgba(37,211,102,.12); color: #25d366; }
.tfd-ci--em { background: rgba(89,45,140,.1); color: var(--mv); }

.tfd-contact-label { font-size: 11.5px; font-weight: 700; color: inherit; }
.tfd-contact-sub { font-size: 10px; color: var(--mu); display: block; line-height: 1.2; }

.tfd-contact-disclaimer { font-size: 10px; color: var(--mu); margin-top: 8px; line-height: 1.5; }


/* ================================================================
   10. GUIDE CARD
================================================================ */

.tfd-guide-card {
  display: block;
  padding: 0;
  text-decoration: none;
  color: inherit;
}
.tfd-guide-type { font-family: var(--ff-h); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mv); margin-bottom: 3px; }
.tfd-guide-name { font-family: var(--ff-h); font-size: .95rem; font-weight: 700; color: var(--dv); line-height: 1.2; }
.tfd-guide-bio { font-family: var(--ff-s); font-size: .82rem; color: var(--mu); margin-top: 6px; line-height: 1.55; }
.tfd-guide-link { font-family: var(--ff-h); font-size: 10px; font-weight: 700; color: var(--mv); display: flex; align-items: center; gap: 4px; margin-top: 8px; }
.tfd-guide-link i { font-size: 9px; }
.tfd-guide-card:hover .tfd-guide-link { color: var(--dv); }


/* ================================================================
   11. RELATED TOURS
================================================================ */

.tfd-related-item {
  display: flex; gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule);
  text-decoration: none; color: inherit;
}
.tfd-related-item:last-of-type { border-bottom: none; }
.tfd-related-item:hover .tfd-related-title { color: var(--mv); }
.tfd-related-thumb { width: 56px; height: 44px; border-radius: 3px; object-fit: cover; flex-shrink: 0; }
.tfd-related-cat { font-family: var(--ff-h); font-size: 8.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mv); }
.tfd-related-title { font-family: var(--ff-h); font-size: .8rem; font-weight: 700; color: var(--dv); line-height: 1.25; transition: color .15s; }

.tfd-related-see-all {
  font-family: var(--ff-h);
  font-size: 11px; font-weight: 700; color: var(--mv);
  text-decoration: none;
  display: flex; align-items: center; gap: 4px;
  padding-top: 8px;
}
.tfd-related-see-all i { font-size: 9px; }


/* ================================================================
   12. ITINERARY TIMELINE — paid tour page only
================================================================ */

.tfd-itinerary { display: flex; flex-direction: column; gap: 0; }

.tfd-itin-day {
  display: flex;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--rule);
}
.tfd-itin-day:last-child { border-bottom: none; }

.tfd-itin-day-num {
  flex: 0 0 64px;
  font-family: var(--ff-h);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: var(--dv);
  border-radius: 4px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
}

.tfd-itin-day-body { flex: 1; min-width: 0; }
.tfd-itin-day-title {
  font-family: var(--ff-h);
  font-size: 1rem;
  font-weight: 700;
  color: var(--dv);
  margin-bottom: 4px;
}
.tfd-itin-day-loc {
  font-family: var(--ff-h);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--mv);
  margin-bottom: 8px;
}
.tfd-itin-day-loc i { font-size: 10px; }
.tfd-itin-day-desc {
  font-family: var(--ff-s);
  font-size: .9rem;
  color: var(--mu);
  line-height: 1.7;
  margin-bottom: 10px;
}

.tfd-itin-links { display: flex; flex-wrap: wrap; gap: 8px; }
.tfd-itin-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--wh2);
  border: 1px solid var(--rule);
  border-radius: 20px;
  padding: 4px 12px 4px 4px;
  font-family: var(--ff-h);
  font-size: .78rem;
  font-weight: 700;
  color: var(--dv);
  text-decoration: none;
  transition: background .15s;
}
.tfd-itin-link:not(.tfd-itin-link--static):hover { background: var(--mv); color: #fff; }
.tfd-itin-link--static { cursor: default; color: var(--mu); }
.tfd-itin-link-thumb { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }


/* ================================================================
   13. INCLUDES / EXCLUDES — paid tour page only
================================================================ */

.tfd-incl-head {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--ff-h);
  font-size: .85rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.tfd-incl-head--yes { color: #4a7c00; }
.tfd-incl-head--no  { color: #c00; }

.tfd-incl-list { list-style: none; padding: 0; margin: 0; }
.tfd-incl-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--rule);
}
.tfd-incl-list li:last-child { border-bottom: none; }
.tfd-incl-label {
  display: block;
  font-family: var(--ff-h);
  font-size: .8rem;
  font-weight: 700;
  color: var(--dv);
  margin-bottom: 2px;
}
.tfd-incl-text {
  display: block;
  font-family: var(--ff-s);
  font-size: .8rem;
  color: var(--mu);
  line-height: 1.5;
}


/* ================================================================
   14. UPCOMING DEPARTURES — paid tour page only
================================================================ */

.tfd-dates-list { padding: 6px 14px; }
.tfd-date-row {
  padding: 12px 0;
  border-bottom: 1px solid var(--rule);
}
.tfd-date-row:last-child { border-bottom: none; }
.tfd-date-row--cancelled { opacity: .55; }

.tfd-date-range {
  font-family: var(--ff-h);
  font-size: .85rem;
  font-weight: 700;
  color: var(--dv);
  margin-bottom: 4px;
}
.tfd-date-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
}
.tfd-date-badge {
  font-family: var(--ff-h);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 10px;
  color: #fff;
}
.tfd-date-badge--cancelled { background: #a30000; }
.tfd-date-badge--full { background: var(--mu); }
.tfd-date-cost { font-weight: 700; color: var(--mv); }
.tfd-date-lang { display: inline-flex; align-items: center; gap: 4px; color: var(--mu); }
.tfd-date-lang img { height: 12px; width: auto; border-radius: 2px; }
.tfd-date-comments { font-family: var(--ff-s); font-size: .8rem; color: var(--mu); margin: 6px 0 0; line-height: 1.5; }

.tfd-date-fallback { padding: 14px; }


/* ================================================================
   15. OPERATOR CARD EXTRAS — paid tour page only
================================================================ */

.tfd-operator-img { width: 100%; max-height: 140px; object-fit: cover; border-radius: 4px; }
.tfd-guide-loc { font-size: .75rem; color: var(--mu); margin-top: 3px; display: flex; align-items: center; gap: 4px; }
.tfd-guide-loc i { font-size: 9px; color: var(--mv); }
.tfd-operator-contact-buttons { border-top: 1px solid var(--rule); padding-top: 12px; }


/* ================================================================
   16. GALLERY — paid tour page only
================================================================ */

.tfd-gal-thumb-wrap { position: relative; border-radius: 4px; overflow: hidden; }
.tfd-gal-thumb { display: block; }
.tfd-gal-thumb img { width: 100%; height: 150px; object-fit: cover; display: block; }

.tfd-gal-credit {
  position: absolute; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to top, rgba(20,8,40,.82), rgba(20,8,40,0));
  padding: 18px 10px 6px;
  font-family: var(--ff-h);
  font-size: 9.5px;
  font-weight: 600;
  color: rgba(255,255,255,.8);
  pointer-events: none;
}
.tfd-gal-credit a { color: rgba(255,255,255,.8); text-decoration: none; pointer-events: auto; }
.tfd-gal-credit a:hover { color: var(--ye); }


/* ================================================================
   17. ORGANISER STRIP — paid tour page only
   ---------------------------------------------------------------
   Full-width, between the hero and the two-column body, on every screen size —
   not just mobile. Deliberately compact: logo/name/type only, no contact buttons
   or bio (that's the fuller "Your Tour Operator" sidebar card further down).
================================================================ */

.tfd-organiser-strip {
  max-width: 1320px;
  margin: 0 auto 20px;
  padding: 0 24px;
}

.tfd-organiser-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid var(--rule);
  border-left: 3px solid var(--mv);
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .18s;
}
.tfd-organiser-link:not(.tfd-organiser-link--static):hover { box-shadow: 0 4px 16px rgba(35,15,66,.08); }
.tfd-organiser-link--static { cursor: default; }

.tfd-organiser-logo {
  width: 44px; height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.tfd-organiser-logo--placeholder {
  display: flex; align-items: center; justify-content: center;
  background: var(--wh2);
  color: var(--mv);
  font-size: 18px;
}

.tfd-organiser-text { display: flex; flex-direction: column; min-width: 0; }
.tfd-organiser-eyebrow {
  font-family: var(--ff-h);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--mu);
}
.tfd-organiser-name {
  font-family: var(--ff-h);
  font-size: .95rem;
  font-weight: 700;
  color: var(--dv);
  line-height: 1.3;
}
.tfd-organiser-type {
  font-family: var(--ff-h);
  font-size: .8rem;
  font-weight: 600;
  color: var(--mu);
}

.tfd-organiser-arrow { margin-left: auto; font-size: 12px; color: var(--mv); flex-shrink: 0; }
