/* libdrone.css — custom styles for libdrone.eu MkDocs Material site */

/* ─── Hero ─────────────────────────────────────────────────────────────── */
.ld-hero {
  padding: 4rem 0 3rem;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  margin-bottom: 2rem;
}

.ld-hero-label {
  font-family: var(--md-code-font-family);
  font-size: .72rem;
  color: var(--md-default-fg-color--light);
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 1.25rem;
}

.ld-hero-title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  margin-bottom: 1.25rem;
  border: none !important;
}

.ld-hero-title span {
  color: var(--md-primary-fg-color);
}

.ld-hero-sub {
  font-size: 1rem;
  max-width: 560px;
  line-height: 1.8;
  margin-bottom: 1.75rem;
  color: var(--md-default-fg-color);
}

.ld-hero-actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.ld-hero-meta {
  font-family: var(--md-code-font-family);
  font-size: .72rem;
  color: var(--md-default-fg-color--light);
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}

/* ─── Platform grid ─────────────────────────────────────────────────────── */
.ld-platform-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--md-default-fg-color--lightest);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: .2rem;
  overflow: hidden;
  margin: 1.5rem 0;
}

.ld-platform-card {
  background: var(--md-default-bg-color);
  padding: 1.25rem 1rem;
}

.ld-platform-accent {
  background: color-mix(in srgb, var(--md-primary-fg-color) 8%, var(--md-default-bg-color));
}

.ld-platform-name {
  font-family: var(--md-code-font-family);
  font-size: .85rem;
  font-weight: 700;
  color: var(--md-primary-fg-color);
  margin-bottom: .25rem;
}

.ld-platform-spec {
  font-size: .72rem;
  color: var(--md-default-fg-color--light);
  margin-bottom: .5rem;
}

.ld-platform-card p {
  font-size: .82rem;
  line-height: 1.6;
  margin: 0;
}

/* ─── Payload grid ──────────────────────────────────────────────────────── */
.ld-payload-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--md-default-fg-color--lightest);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: .2rem;
  overflow: hidden;
  margin: 1.5rem 0;
}

.ld-payload-card {
  background: var(--md-default-bg-color);
  padding: 1.25rem 1rem;
}

.ld-payload-num {
  font-family: var(--md-code-font-family);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--md-default-fg-color--lightest);
  margin-bottom: .5rem;
}

.ld-payload-card:last-child .ld-payload-num {
  color: var(--md-primary-fg-color);
}

.ld-payload-card h3 {
  font-size: .85rem;
  margin-bottom: .4rem;
}

.ld-payload-card p {
  font-size: .78rem;
  line-height: 1.5;
  margin: 0;
}

/* ─── Persona grid ──────────────────────────────────────────────────────── */
.ld-persona-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin: 1.5rem 0;
}

.ld-persona-card {
  display: block;
  background: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-left: 3px solid var(--md-primary-fg-color);
  border-radius: .2rem;
  padding: 1rem 1.25rem;
  text-decoration: none !important;
  transition: border-color .15s, background .15s;
}

.ld-persona-card:hover {
  background: color-mix(in srgb, var(--md-primary-fg-color) 5%, var(--md-default-bg-color));
  border-left-color: var(--md-accent-fg-color);
}

.ld-persona-icon {
  font-size: 1.4rem;
  margin-bottom: .4rem;
}

.ld-persona-title {
  font-weight: 600;
  font-size: .9rem;
  color: var(--md-default-fg-color);
  margin-bottom: .2rem;
}

.ld-persona-sub {
  font-size: .78rem;
  color: var(--md-default-fg-color--light);
  line-height: 1.5;
}

/* ─── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .ld-platform-grid { grid-template-columns: repeat(2, 1fr); }
  .ld-payload-grid  { grid-template-columns: 1fr; }
  .ld-persona-grid  { grid-template-columns: 1fr; }
  .ld-hero-title    { font-size: 1.9rem; }
}

@media (max-width: 480px) {
  .ld-platform-grid { grid-template-columns: 1fr; }
}
