/* Eclipse layout polish: dashboard row alignment and image-led section joins. */
body.eclipse-page {
  --eclipse-polish-line: rgba(244, 213, 130, 0.14);
  --eclipse-polish-line-hot: rgba(244, 213, 130, 0.28);
  --eclipse-polish-shadow: rgba(0, 0, 0, 0.42);
}

body.eclipse-page .guild-dashboard {
  position: relative;
  isolation: isolate;
  align-items: start;
  padding-top: 1px;
}

body.eclipse-page .guild-dashboard::before {
  content: "";
  position: absolute;
  inset: -10px 0 auto;
  height: 28px;
  z-index: -1;
  border-top: 1px solid rgba(244, 213, 130, 0.13);
  background:
    linear-gradient(90deg, transparent, rgba(216, 169, 61, 0.18), transparent),
    linear-gradient(180deg, rgba(216, 169, 61, 0.08), transparent);
  opacity: 0.82;
  pointer-events: none;
}

body.eclipse-page .guild-dashboard :is(.roster-card, .progression-card, .death-panel.guild-card) {
  position: relative;
  display: grid;
  grid-template-rows: auto;
  align-self: start;
  overflow: hidden;
  border-color: var(--eclipse-polish-line);
}

body.eclipse-page .guild-dashboard :is(.roster-card, .progression-card, .death-panel.guild-card)::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(216, 169, 61, 0.56), transparent);
  opacity: 0.54;
  pointer-events: none;
}

body.eclipse-page .guild-dashboard .card-head {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  min-height: 47px;
  margin-bottom: 10px;
}

body.eclipse-page .guild-dashboard .card-head span,
body.eclipse-page .guild-dashboard .card-head strong {
  line-height: 1.05;
}

body.eclipse-page .guild-dashboard .progression-card {
  min-height: 0;
  grid-template-rows: auto auto auto;
}

body.eclipse-page .guild-dashboard .progression-card p {
  align-self: start;
}

body.eclipse-page .guild-dashboard .progression-card .boss-track {
  align-self: start;
}

body.eclipse-page .guild-dashboard .progression-card .boss-track span {
  min-height: 32px;
}

body.eclipse-page .guild-dashboard #eclipse-honor-roll {
  align-content: start;
}

body.eclipse-page .guild-dashboard .death-row {
  align-content: center;
}

body.eclipse-page .eclipse-modern > :is(
  .characters-section,
  .raids-section,
  .world-buffs-section,
  .graveyard-section,
  .chronicle-section,
  .battle-strip,
  .officer-showcase,
  .apply-band
) {
  position: relative;
  isolation: isolate;
}

body.eclipse-page .eclipse-modern > :is(
  .characters-section,
  .raids-section,
  .world-buffs-section,
  .graveyard-section,
  .chronicle-section,
  .battle-strip,
  .officer-showcase
) {
  margin-top: clamp(26px, 3.4vw, 48px);
}

body.eclipse-page .eclipse-modern > :is(
  .characters-section,
  .raids-section,
  .world-buffs-section,
  .graveyard-section,
  .chronicle-section,
  .battle-strip,
  .officer-showcase
)::before {
  content: "";
  position: absolute;
  inset: clamp(-34px, -2.8vw, -22px) 4% auto;
  height: clamp(34px, 4.2vw, 58px);
  z-index: -1;
  border-top: 1px solid rgba(244, 213, 130, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.34);
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.96), rgba(5, 5, 5, 0.12) 26%, rgba(5, 5, 5, 0.1) 74%, rgba(5, 5, 5, 0.96)),
    linear-gradient(180deg, rgba(5, 5, 5, 0), rgba(5, 5, 5, 0.9)),
    var(--eclipse-divider-art, url("/assets/eclipse/eclipse-cinematic-banner.png")) center / cover no-repeat;
  box-shadow:
    0 -10px 26px rgba(0, 0, 0, 0.32),
    0 14px 34px rgba(0, 0, 0, 0.36);
  filter: saturate(0.88) contrast(1.04);
  opacity: 0.46;
  pointer-events: none;
}

body.eclipse-page .characters-section {
  --eclipse-divider-art: url("/assets/eclipse/eclipse-roster-forge.png");
}

body.eclipse-page .raids-section,
body.eclipse-page .battle-strip {
  --eclipse-divider-art: url("/assets/eclipse/eclipse-raid-clash.png");
}

body.eclipse-page .world-buffs-section,
body.eclipse-page .chronicle-section {
  --eclipse-divider-art: url("/assets/eclipse/eclipse-cinematic-banner.png");
}

body.eclipse-page .graveyard-section {
  --eclipse-divider-art: url("/assets/eclipse/eclipse-parchment-dark.png");
}

body.eclipse-page .officer-showcase {
  --eclipse-divider-art: url("/assets/eclipse/eclipse-officer-table.png");
}

body.eclipse-page .eclipse-modern > :is(.battle-strip, .officer-showcase) {
  border: 1px solid rgba(244, 213, 130, 0.1);
  box-shadow:
    0 1px 0 rgba(255, 239, 185, 0.05),
    0 24px 64px var(--eclipse-polish-shadow);
}

body.eclipse-page .eclipse-modern > .codex-grid {
  margin-top: clamp(10px, 1.4vw, 18px);
}

body.eclipse-page .eclipse-modern > .apply-band {
  margin-top: clamp(28px, 3.2vw, 46px);
}

@media (max-width: 1180px) {
  body.eclipse-page .guild-dashboard :is(.roster-card, .progression-card, .death-panel.guild-card) {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  body.eclipse-page .guild-dashboard .card-head {
    min-height: 0;
  }

  body.eclipse-page .eclipse-modern > :is(
    .characters-section,
    .raids-section,
    .world-buffs-section,
    .graveyard-section,
    .chronicle-section,
    .battle-strip,
    .officer-showcase
  ) {
    margin-top: 28px;
  }

  body.eclipse-page .eclipse-modern > :is(
    .characters-section,
    .raids-section,
    .world-buffs-section,
    .graveyard-section,
    .chronicle-section,
    .battle-strip,
    .officer-showcase
  )::before {
    inset-inline: 0;
    height: 32px;
    opacity: 0.34;
  }
}
