/*
 * Tandem Guru Open Sky Flightline Sidebar v1.8.2
 * A clean, frame-free sidebar: the media stays the hero while a quiet
 * rainbow flight path gives the column rhythm and character.
 */

:root {
  --tg-flightline-gap: clamp(2.75rem, 4vw, 4.25rem);
  --tg-flightline-pink: #e83f91;
  --tg-flightline-coral: #f06a5e;
  --tg-flightline-sun: #f4cf55;
  --tg-flightline-mint: #68cfb5;
  --tg-flightline-sky: #43b8d0;
  --tg-flightline-violet: #7766cf;
  --tg-flightline-ink: #12343b;
}

/* The sidebar itself becomes open sky, not another card. */
#g-aside,
#g-aside > .g-content,
#g-aside .g-content {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#g-aside::before,
#g-aside::after {
  content: none !important;
  display: none !important;
}

/* One shared vertical flight trail replaces many competing frames. */
#g-aside > .g-content,
#g-aside .g-content {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--tg-flightline-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: .35rem 0 .5rem 1.15rem !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#g-aside > .g-content::before,
#g-aside .g-content::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 1rem !important;
  bottom: 1rem !important;
  left: .1rem !important;
  width: 2px !important;
  border: 0 !important;
  background: repeating-linear-gradient(
    to bottom,
    rgba(232, 63, 145, .72) 0 8px,
    rgba(240, 106, 94, .72) 8px 16px,
    rgba(244, 207, 85, .72) 16px 24px,
    rgba(104, 207, 181, .72) 24px 32px,
    rgba(67, 184, 208, .72) 32px 40px,
    rgba(119, 102, 207, .72) 40px 48px,
    transparent 48px 58px
  ) !important;
  opacity: .58 !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

/* Outer Joomla/Gantry module wrappers stay completely transparent. */
#g-aside > .g-content > .platform-content,
#g-aside > .g-content > .moduletable,
#g-aside .g-content > .platform-content,
#g-aside .g-content > .moduletable {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  clip-path: none !important;
  filter: none !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* Small rainbow waypoint instead of a frame around each contribution. */
#g-aside > .g-content > .platform-content::before,
#g-aside > .g-content > .moduletable::before,
#g-aside .g-content > .platform-content::before,
#g-aside .g-content > .moduletable::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: 4 !important;
  top: 1.15rem !important;
  left: -1.48rem !important;
  width: .85rem !important;
  height: .85rem !important;
  border: 2px solid var(--tg-flightline-ink) !important;
  border-radius: 50% !important;
  background: conic-gradient(
    var(--tg-flightline-pink),
    var(--tg-flightline-coral),
    var(--tg-flightline-sun),
    var(--tg-flightline-mint),
    var(--tg-flightline-sky),
    var(--tg-flightline-violet),
    var(--tg-flightline-pink)
  ) !important;
  box-shadow: 0 0 0 4px rgba(245, 255, 253, .9) !important;
  pointer-events: none !important;
}

#g-aside > .g-content > .platform-content::after,
#g-aside > .g-content > .moduletable::after,
#g-aside .g-content > .platform-content::after,
#g-aside .g-content > .moduletable::after {
  content: none !important;
  display: none !important;
}

/* Remove remaining card surfaces from common Joomla module interiors. */
#g-aside .moduletable > .custom,
#g-aside .moduletable > .mod-custom,
#g-aside .platform-content > .custom,
#g-aside .platform-content > .mod-custom,
#g-aside .module-content,
#g-aside .module-body {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* The rating artwork remains intact, only its additional outer shell vanishes. */
#g-aside .tggr,
#g-aside .tggr__shell {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* Remove the editorial caption requested by the user. The JS companion also
   catches dynamically rendered variants by exact text. */
#g-aside .tggr__caption,
#g-aside .tggr__footer,
#g-aside .tggr__strap,
#g-aside .tggr__tagline,
#g-aside .tggr__eyebrow,
#g-aside .tg-sidebar-hidden-label {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Media keep their native proportions and gain only one restrained shadow. */
#g-aside img,
#g-aside picture,
#g-aside video,
#g-aside iframe,
#g-aside canvas,
#g-aside svg {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#g-aside img,
#g-aside picture {
  height: auto !important;
}

#g-aside iframe,
#g-aside video {
  display: block !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Standard landscape YouTube embeds. */
#g-aside iframe[src*='youtube.com'],
#g-aside iframe[src*='youtube-nocookie.com'],
#g-aside iframe[src*='youtu.be'] {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 auto !important;
  border-radius: .85rem !important;
}

/* Explicit 360x640 Shorts retain their vertical 9:16 geometry. */
#g-aside iframe[width='360'][height='640'],
#g-aside iframe[src*='mLQPGTpJ7a0'] {
  width: min(100%, 360px) !important;
  max-width: 360px !important;
  height: auto !important;
  aspect-ratio: 9 / 16 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* No decorative lift on wrappers; only media can float gently on hover. */
@media (hover: hover) and (pointer: fine) {
  #g-aside > .g-content > .platform-content img,
  #g-aside > .g-content > .platform-content iframe,
  #g-aside > .g-content > .moduletable img,
  #g-aside > .g-content > .moduletable iframe {
    transition: transform .24s ease, filter .24s ease !important;
  }

  #g-aside > .g-content > .platform-content:hover img,
  #g-aside > .g-content > .platform-content:hover iframe,
  #g-aside > .g-content > .moduletable:hover img,
  #g-aside > .g-content > .moduletable:hover iframe {
    transform: translateY(-3px) !important;
    filter: drop-shadow(0 12px 16px rgba(10, 50, 55, .14)) !important;
  }
}

/* Mobile: pure vertical gallery, no line, no marker, no visual clutter. */
@media only all and (max-width: 63.99rem) {
  :root {
    --tg-flightline-gap: clamp(2.25rem, 8vw, 3.25rem);
  }

  #g-aside > .g-content,
  #g-aside .g-content {
    padding: 0 !important;
  }

  #g-aside > .g-content::before,
  #g-aside .g-content::before,
  #g-aside > .g-content > .platform-content::before,
  #g-aside > .g-content > .moduletable::before,
  #g-aside .g-content > .platform-content::before,
  #g-aside .g-content > .moduletable::before {
    content: none !important;
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #g-aside *,
  #g-aside *::before,
  #g-aside *::after {
    transition: none !important;
    animation: none !important;
  }
}
