/* Home page specific styles for PLCrusaderkings */

/* Hero */
.hero {
  position: relative;
  background: linear-gradient(180deg, rgba(26,47,79,0.85), rgba(26,47,79,0.55));
  color: var(--color-text-inverse);
}
.hero-media {
  position: absolute;
  inset: 0;
  background-image: url('/assets/images/hero-banner.webp');
  background-size: cover;
  background-position: center;
  opacity: 0.22;
  pointer-events: none;
}
.hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--space-8);
  min-height: 520px;
  align-items: center;
  padding-top: var(--space-12);
  padding-bottom: var(--space-12);
}
@media (max-width: 992px) {
  .hero-inner { grid-template-columns: 1fr; min-height: auto; }
}
.hero-title { color: var(--color-text-inverse); margin-bottom: var(--space-3); }
.hero-subtitle { color: var(--color-text-inverse); max-width: 60ch; opacity: 0.95; }
.hero-actions { display:flex; gap: var(--space-3); margin-top: var(--space-5); flex-wrap: wrap; }
.hero-search { display:flex; gap: var(--space-3); margin-top: var(--space-5); }
.hero-search .input { flex: 1 1 auto; min-width: 240px; }
.hero-tags { display:flex; gap: var(--space-2); margin-top: var(--space-4); flex-wrap: wrap; }
.tag { display:inline-block; padding: 0.35rem 0.6rem; border:1px solid rgba(255,255,255,0.35); color: var(--color-text-inverse); border-radius: var(--radius-full); font-size: var(--font-size-sm); }
.tag:hover { background: rgba(255,255,255,0.12); }
.hero-figure { display:none; }
@media (min-width: 993px) {
  .hero-figure { display:block; }
  .hero-image { border-radius: var(--radius-lg); box-shadow: var(--shadow-xl); }
}

/* Sections */
.section { padding: var(--space-12) 0; background: var(--color-bg-primary); }
.section-alt { background: var(--color-bg-secondary); }
.section-header .section-lead { margin: 0 auto; max-width: 70ch; color: var(--color-text-secondary); }
.section-grid .card-body { min-height: 220px; }

/* Figure inside sections */
.section-figure .section-image { width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }

/* Newsletter */
.newsletter-form .form-label { color: var(--color-primary-dark); }
.newsletter-form .form-help { min-height: 1.25rem; }

/* Team card */
.team-card { display: grid; grid-template-rows: auto 1fr; }
.team-figure { max-height: 220px; overflow: hidden; }
.team-image { width: 100%; height: 220px; object-fit: cover; }

/* News list */
.news-list { list-style: none; display: grid; gap: var(--space-2); }
.news-list a { color: var(--color-primary-dark); text-decoration: underline; text-decoration-color: var(--color-secondary); text-underline-offset: 2px; }
.news-list a:hover { color: var(--color-primary); }

/* CTA card */
.cta-card { border-left: 4px solid var(--color-secondary); }

/* Utility adjustments */
.mt-3 { margin-top: var(--space-3); }
.mt-6 { margin-top: var(--space-6); }

/* Accessibility tweaks */
.hero .btn:focus-visible, .section .btn:focus-visible { outline-color: var(--color-secondary); }
