/* LDR Web App 0.3.0 — isolated application shell. */
.ldrfe-app .ldrfe-app-header {
  display: grid !important;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) minmax(150px, 220px) !important;
  grid-template-areas: "brand nav actions" !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 76px !important;
  padding: 10px 18px !important;
  gap: 16px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ldrfe-border) !important;
  background: rgba(5,11,24,.96) !important;
  box-sizing: border-box !important;
}
.ldrfe-app .ldrfe-app-header__left,
.ldrfe-app .ldrfe-app-header__center,
.ldrfe-app .ldrfe-app-header__right {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}
.ldrfe-app .ldrfe-app-header__left { grid-area: brand !important; justify-self: start !important; }
.ldrfe-app .ldrfe-app-header__center {
  grid-area: nav !important;
  justify-self: center !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ldrfe-app .ldrfe-app-header__right {
  grid-area: actions !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.ldrfe-app .ldrfe-app-header__brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #fff !important;
  text-decoration: none !important;
  width: auto !important;
  max-width: 100% !important;
}
.ldrfe-app .ldrfe-app-header__brand img {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
}
.ldrfe-app .ldrfe-app-header__brand .ldrfe-logo-mark {
  display: grid !important;
  place-items: center !important;
  width: 50px !important;
  height: 50px !important;
}
.ldrfe-app .ldrfe-app-header__nav-link {
  display: flex !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 0 5px !important;
  color: rgba(255,255,255,.72) !important;
  border-bottom: 2px solid transparent !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  white-space: nowrap !important;
}
.ldrfe-app .ldrfe-app-header__nav-link.is-active {
  color: #ff8a45 !important;
  border-bottom-color: #ff8a45 !important;
}
.ldrfe-app .ldrfe-app-header__subscribe {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 36px !important;
  padding: 0 11px !important;
  margin: 0 !important;
  float: none !important;
  border: 1px solid rgba(255,255,255,.36) !important;
  border-radius: 7px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.86) !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.ldrfe-app .ldrfe-app-header__subscribe svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.ldrfe-app .ldrfe-app-header__subscribe:hover {
  border-color: rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.07) !important;
}
@media (min-width: 768px) and (max-width: 1100px) {
  .ldrfe-app .ldrfe-app-header {
    grid-template-columns: 150px minmax(0,1fr) 150px !important;
    min-height: 70px !important;
    padding: 8px 12px !important;
    gap: 10px !important;
  }
  .ldrfe-app .ldrfe-app-header__brand img { width: 46px !important; height: 46px !important; }
  .ldrfe-app .ldrfe-app-header__brand .ldrfe-logo-text { display: none !important; }
}
@media (max-width: 767px) {
  .ldrfe-app .ldrfe-app-header {
    grid-template-columns: 48px minmax(0,1fr) 48px !important;
    min-height: 64px !important;
    padding: 7px 9px !important;
    gap: 7px !important;
  }
  .ldrfe-app .ldrfe-app-header__brand img,
  .ldrfe-app .ldrfe-app-header__brand .ldrfe-logo-mark { width: 42px !important; height: 42px !important; }
  .ldrfe-app .ldrfe-app-header__brand .ldrfe-logo-text { display: none !important; }
  .ldrfe-app .ldrfe-app-header__subscribe { width: 38px !important; min-width: 38px !important; padding: 0 !important; }
  .ldrfe-app .ldrfe-app-header__subscribe span { display: none !important; }
  .ldrfe-app .ldrfe-app-header__nav-link { font-size: 10px !important; letter-spacing: .09em !important; }
}
/* 0.4.0 RC1 standalone application routes */
html,body.ldrfe-standalone-page{margin:0!important;padding:0!important;background:#050b18!important}
body.ldrfe-standalone-page>.site,body.ldrfe-standalone-page #page{margin:0!important}
.ldrfe-app-header__center{gap:24px!important}.ldrfe-app-header__listen{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:7px;background:#f28a18;color:#111!important;text-decoration:none!important;font-size:11px;font-weight:900;text-transform:uppercase}
.ldrfe-directory-main{padding:24px;min-height:75vh}.ldrfe-directory-hero{padding:34px 8px 28px}.ldrfe-directory-hero>span{color:#ff8a45;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.ldrfe-directory-hero h1{margin:7px 0 8px;color:#fff;font-size:clamp(40px,7vw,72px)}.ldrfe-directory-hero p{margin:0;color:rgba(255,255,255,.7);font-size:17px}.ldrfe-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.ldrfe-directory-card{overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(8,18,38,.96);color:#fff!important;text-decoration:none!important}.ldrfe-directory-card__image{height:170px;background:linear-gradient(135deg,#17345e,#09162d);background-image:linear-gradient(0deg,rgba(3,8,20,.35),rgba(3,8,20,.05)),var(--card-image);background-size:cover;background-position:center}.ldrfe-directory-card>div:last-child{padding:19px}.ldrfe-directory-card span{color:#ff8a45;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.ldrfe-directory-card h2{margin:7px 0;color:#fff;font-size:22px}.ldrfe-directory-card p{color:rgba(255,255,255,.65)}.ldrfe-directory-card b{color:#ffc247;font-size:12px}.ldrfe-dj-card{display:grid;grid-template-columns:120px 1fr;align-items:center}.ldrfe-dj-photo{height:100%;min-height:150px;display:grid;place-items:center;background:#132b55}.ldrfe-dj-photo img{width:100%;height:100%;object-fit:cover}.ldrfe-dj-photo span,.ldrfe-dj-profile-photo span{font-size:44px;font-weight:900;color:#111}.ldrfe-dj-profile-hero{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center;padding:36px;border-radius:18px;background:linear-gradient(135deg,#132b55,#071126)}.ldrfe-dj-profile-photo{width:220px;height:220px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#ff8a45}.ldrfe-dj-profile-photo img{width:100%;height:100%;object-fit:cover}.ldrfe-dj-profile-hero h1{margin:8px 0;color:#fff;font-size:clamp(38px,6vw,68px)}.ldrfe-dj-profile-hero p{color:rgba(255,255,255,.74);font-size:17px}
@media(max-width:767px){.ldrfe-app-header__center{gap:10px!important}.ldrfe-app-header__nav-link{font-size:9px!important}.ldrfe-app-header__listen{width:38px;overflow:hidden;padding:0;text-indent:-999px}.ldrfe-directory-main{padding:12px}.ldrfe-dj-card{grid-template-columns:92px 1fr}.ldrfe-dj-profile-hero{grid-template-columns:1fr;text-align:center;padding:26px 18px}.ldrfe-dj-profile-photo{width:160px;height:160px;margin:auto}}

.ldrfe-hosted-by{margin:24px 0}.ldrfe-hosted-by h2{color:#fff}.ldrfe-hosted-by-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(8,18,38,.96);color:#fff}.ldrfe-hosted-by-card img{width:96px;height:96px;object-fit:contain;border-radius:12px;background:#fff}.ldrfe-hosted-by-card h3{margin:0 0 8px;font-size:26px}.ldrfe-hosted-by-card p{margin:5px 0}.ldrfe-hosted-by-card a{color:#ffc247}@media(max-width:600px){.ldrfe-hosted-by-card{grid-template-columns:1fr}.ldrfe-hosted-by-card img{width:80px;height:80px}}

/* 0.4.3 — organizations and event leadership */
.ldrfe-event-director{font-size:15px;color:#fff}
.ldrfe-directory-card.is-primary-person{border-color:rgba(255,194,71,.65);box-shadow:0 0 0 1px rgba(255,194,71,.18) inset}
.ldrfe-directory-card.is-primary-person b{display:inline-block;margin-top:8px;color:#ffc247;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
