/* Video Library page — wireframe 15.
 * Section card grid + sidebar filter accordion.
 * Hero / tile strip / footer CTA live in the YT managed template via
 * stock YT elements (no styles here).
 */

.lt-downloads { color: #424242; }

/* --- MAIN COLUMN --------------------------------------------------- */

.lt-downloads__section + .lt-downloads__section { margin-top: 40px; }

.lt-downloads__section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e6e6ea;
}
.lt-downloads__section-title {
  margin: 0;
  color: #06013D;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
}
.lt-downloads__view-all {
  color: #1F5D9F;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.lt-downloads__view-all:hover { text-decoration: underline; color: #06013D; }

/* Flat-mode results count — appears in the same slot as the View all link */
.lt-downloads__flat-count {
  color: #5a6068;
  font-size: 13px;
  font-weight: 600;
}

.lt-downloads__grid { margin-top: 12px; }

/* --- VIDEO CARD ---------------------------------------------------- */

.lt-video-card {
  display: block;
  text-decoration: none !important;
  color: inherit;
}
.lt-video-card__thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #06013D;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lt-video-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.lt-video-card__thumb-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #06013D 0%, #1F5D9F 100%);
}

.lt-video-card__badge {
  position: absolute;
  top: 10px; left: 10px;
  background: #1F5D9F;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  line-height: 1;
}
.lt-video-card__duration {
  position: absolute;
  bottom: 10px; right: 10px;
  background: rgba(6, 1, 61, 0.85);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 7px;
  border-radius: 3px;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
.lt-video-card__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.15);
  border: 0;
  cursor: pointer;
  color: #fff;
  opacity: 0;
  transition: opacity 0.2s;
}
.lt-video-card__play::before {
  content: '';
  position: absolute;
  width: 56px; height: 56px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
}
.lt-video-card__play svg {
  position: relative;
  color: #06013D;
  width: 28px; height: 28px;
  margin-left: 3px; /* visual centering of play triangle */
}
.lt-video-card:hover .lt-video-card__play,
.lt-video-card__play:focus-visible { opacity: 1; }

.lt-video-card__title {
  color: #06013D;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  margin: 12px 0 4px;
}
.lt-video-card__meta {
  color: #1F5D9F;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* --- SIDEBAR FILTER ----------------------------------------------- */

.lt-downloads__sidebar { position: sticky; top: 100px; align-self: start; }

.lt-downloads__filter {
  border: 1px solid #e6e6ea;
  border-radius: 8px;
  background: #f2f2f2;
  padding: 18px 20px;
}

/* Search input at the top of the sidebar */
.lt-downloads__filter-search {
  position: relative;
  margin-bottom: 14px;
}
.lt-downloads__filter-search-input {
  width: 100%;
  height: 40px;
  padding: 0 14px 0 40px;
  border: 1px solid #dcdcde;
  border-radius: 6px;
  background: #fff;
  color: #06013D;
  font-size: 13px;
  font-weight: 500;
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.lt-downloads__filter-search-input::placeholder { color: #888; }
.lt-downloads__filter-search-input:focus {
  border-color: #1F5D9F;
  box-shadow: 0 0 0 3px rgba(31, 93, 159, 0.12);
}
.lt-downloads__filter-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  width: 18px; height: 18px;
  transform: translateY(-50%);
  color: #5a6068;
  pointer-events: none;
}
.lt-downloads__filter-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.lt-downloads__filter-header h3 {
  margin: 0;
  color: #06013D;
  font-size: 16px;
  font-weight: 700;
}
.lt-downloads__filter-clear {
  background: transparent;
  border: 0;
  color: #1F5D9F;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}
.lt-downloads__filter-clear:hover { color: #06013D; text-decoration: underline; }

.lt-downloads__filter-groups {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lt-downloads__filter-group { border-top: 1px solid #f0f0f1; }
.lt-downloads__filter-group:first-child { border-top: 0; }
.lt-downloads__filter-group-toggle {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  background: transparent;
  border: 0;
  padding: 14px 0;
  font-size: 14px;
  font-weight: 700;
  color: #06013D;
  cursor: pointer;
  text-align: left;
}
.lt-downloads__filter-group-chevron {
  width: 0; height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #50575e;
  transition: transform 0.15s;
}
.lt-downloads__filter-group.is-open .lt-downloads__filter-group-chevron { transform: rotate(180deg); }

.lt-downloads__filter-group-body {
  list-style: none;
  padding: 0 0 14px;
  margin: 0;
  display: none;
  max-height: 150px;
  overflow: auto;
}
.lt-downloads__filter-group.is-open .lt-downloads__filter-group-body { display: block; }
.lt-downloads__filter-group-body li { margin: 6px 0; }
.lt-downloads__filter-group-body label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #424242;
}
.lt-downloads__filter-checkbox { margin: 0; }

/* --- EMPTY STATE -------------------------------------------------- */

.lt-downloads__empty {
  text-align: center;
  padding: 60px 20px;
  color: #5a6068;
}
.lt-downloads__empty[hidden] { display: none; }
.lt-downloads__reset {
  display: inline-block;
  margin-left: 8px;
  background: transparent;
  border: 0;
  color: #1F5D9F;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}

/* --- load more (flat results paging) ----------------------------- */
.lt-downloads__loadmore { text-align: center; margin-top: 24px; }
.lt-downloads__loadmore-btn {
  border: 1px solid #d3d7e0;
  background: #fff;
  color: #06013D;
  font-weight: 600;
  font-size: 14px;
  border-radius: 8px;
  padding: 11px 28px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.lt-downloads__loadmore-btn:hover { background: #f5f6fa; border-color: #b9c0cf; }
.lt-downloads__loadmore-btn:disabled { opacity: .55; cursor: default; }

/* --- MOBILE ------------------------------------------------------- */

@media (max-width: 959px) {
  .lt-downloads__sidebar { display: none; }
  .lt-downloads__filter {
    background: #fff!important;
  }
  .lt-downloads__quickfacts.lt-slider-mobile .uk-grid > * {
      padding: 0 8px!important;
  }
}

/* Mobile floating action button — sits sticky at bottom-right above
   the content. Pill-shaped with brand navy bg + count badge for the
   active filter count. */
.lt-downloads__mobile-fab {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  background: #06013D;
  color: #fff;
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  /* box-shadow: 0 0 10px 5px #1F5D9F; */
  transition: transform 0.15s, box-shadow 0.15s;
  animation: slow-pulse 2s infinite;
}
@keyframes slow-pulse {
  0% {
    box-shadow: 0 0 10px 5px #1F5D9F;
  }
  50% {
    box-shadow: 0 0 15px 5px #7AB8FF;
  }
  100% {
    box-shadow: 0 0 10px 5px #1F5D9F;
  }
}
.lt-downloads__mobile-fab:hover,
.lt-downloads__mobile-fab:focus-visible {
  transform: translateY(-1px);
}
.lt-downloads__mobile-fab svg { color: #fff; }
.lt-downloads__mobile-fab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  background: #1F5D9F;
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.lt-downloads__mobile-fab-count[hidden] { display: none; }

/* Bottom-sheet drawer that holds the cloned filter UI on mobile.
   Slides up from below — modeled after iOS sheet UX so the FAB →
   drawer motion reads as "filters pull up from the bottom of the
   screen". Custom impl (not UIkit offcanvas) because UIkit only
   supports left/right slide. */
.lt-downloads__bottomsheet {
  position: fixed;
  inset: 0;
  z-index: 1100;
}
.lt-downloads__bottomsheet[hidden] { display: none; }

.lt-downloads__bottomsheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 1, 61, 0.55);
  opacity: 0;
  transition: opacity 0.25s ease-out;
}
.lt-downloads__bottomsheet.is-open .lt-downloads__bottomsheet-backdrop { opacity: 1; }

.lt-downloads__bottomsheet-panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 85vh;
  background: #fff;
  color: #424242;
  border-radius: 16px 16px 0 0;
  padding: 60px 20px 28px; /* top space reserved for the close button row */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(100%);
  transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1);
  box-shadow: 0 -8px 32px rgba(6, 1, 61, 0.25);
}
.lt-downloads__bottomsheet.is-open .lt-downloads__bottomsheet-panel {
  transform: translateY(0);
}

.lt-downloads__bottomsheet-handle {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 4px;
  background: #d6d7dc;
  border-radius: 999px;
}
/* Close button: pinned top-right with a filled circle so it reads
   clearly against the accordion chevrons + headings just below it. */
.lt-downloads__bottomsheet-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 40px;
  height: 40px;
  background: #f3f4f6;
  border: 0;
  border-radius: 50%;
  color: #06013D;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: background 0.15s, transform 0.15s;
}
.lt-downloads__bottomsheet-close:hover,
.lt-downloads__bottomsheet-close:focus-visible {
  background: #e6e6ea;
  transform: scale(1.05);
  outline: none;
}
.lt-downloads__bottomsheet-content .lt-downloads__filter {
  border: 0;
  padding: 0;
}
.lt-downloads__bottomsheet-content .lt-downloads__filter-header h3 {
  font-size: 18px;
}
/* The in-header "Clear all" mini-button is redundant with the bottom
   Reset CTA in the drawer — hide it inside the sheet only. */
.lt-downloads__bottomsheet-content .lt-downloads__filter-clear { display: none; }

/* Sticky CTA bar at the bottom of the sheet. Pinned to the panel's
   bottom edge so it stays visible while the user scrolls through long
   filter groups. Switches the panel to flex so the content area takes
   the remaining height and only it scrolls. */
.lt-downloads__bottomsheet-panel {
  display: flex;
  flex-direction: column;
}
.lt-downloads__bottomsheet-content {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 -20px; /* let scroll fade extend past panel padding */
  padding: 0 20px;
}
.lt-downloads__bottomsheet-ctas {
  flex: 0 0 auto;
  display: flex;
  gap: 10px;
  padding: 14px 0 4px;
  margin-top: 14px;
  border-top: 1px solid #e6e6ea;
  background: #fff;
}
.lt-downloads__bottomsheet-cta {
  flex: 1 1 0;
  height: 48px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.15s, border-color 0.15s;
}
.lt-downloads__bottomsheet-cta--reset {
  background: #fff;
  border-color: #d6d7dc;
  color: #06013D;
}
.lt-downloads__bottomsheet-cta--reset:hover,
.lt-downloads__bottomsheet-cta--reset:focus-visible {
  background: #f7f7f8;
  border-color: #06013D;
  outline: none;
}
.lt-downloads__bottomsheet-cta--apply {
  background: #06013D;
  color: #fff;
}
.lt-downloads__bottomsheet-cta--apply:hover,
.lt-downloads__bottomsheet-cta--apply:focus-visible {
  background: #1F5D9F;
  outline: none;
}

/* The panel needs to keep its max-height + remove its own scroll now
   that content scrolls inside. */
.lt-downloads__bottomsheet-panel { overflow: hidden; }


#gform_1 .gform-footer {
    margin: .5rem 0 0 0!important;
}
#gform_1 .gform-theme--foundation .gfield input.large {
    padding: 1.5rem 1rem;
}
#gform_1 #field_submit input {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  background-color: #1F5D9F !important;
  color: #fff !important;
  line-height: 1;
  border-radius: 4px;
  height: 100%;
}
div#gform_fields_1 {
    row-gap: 1rem;
}
/* ---------- Download rows (list-row variant of the library content) ---------- */
.lt-downloads__list { display: flex; flex-direction: column; }
.lt-download-row { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid #e5e7eb; }
.lt-download-row__badge { flex: 0 0 auto; font-family: Inter, sans-serif; font-weight: 600; font-size: 11px; letter-spacing: .3px; color: #fff; background: #1f5d9f; padding: 5px 8px; border-radius: 4px; }
.lt-download-row__body { flex: 1 1 auto; min-width: 0; }
.lt-download-row__title { font-family: Inter, sans-serif; font-weight: 600; font-size: 15px; line-height: 1.3; color: #06013d; margin: 0; }
.lt-download-row__meta { font-family: Inter, sans-serif; font-size: 13px; color: #6B7280; margin-top: 3px; }
.lt-download-row__btn { flex: 0 0 auto; font-family: Inter, sans-serif; font-weight: 600; font-size: 14px; color: #1f5d9f; text-decoration: none; border: 1px solid #1f5d9f; border-radius: 6px; padding: 9px 16px; white-space: nowrap; transition: background .15s, color .15s; }
.lt-download-row__btn:hover, .lt-download-row__btn:focus { background: #1f5d9f; color: #fff; }
.lt-downloads__filter-count { color: #8a93b5; font-weight: 400; }
@media (max-width: 639px) { .lt-download-row { flex-wrap: wrap; } .lt-download-row__btn { margin-left: auto; } }
