/* ---------------------------------------------------------------------------
   Homepage hero section
   A full-width navy band (matching the social share / og-image card) that
   holds the logo, tagline, latest-release badge and primary call-to-action
   buttons. The negative horizontal margins make the band span the full width
   of the content column by cancelling out #R-body-inner's padding
   (3.25rem default, 2rem and 1.25rem at the theme's responsive breakpoints).
--------------------------------------------------------------------------- */
.l4j-hero {
  margin: 0 -3.25rem 2.5rem -3.25rem;
  padding: 3.25rem 1.5rem 0 1.5rem;
  background: linear-gradient(160deg, #0f2742 0%, #103050 55%, #13294a 100%);
  border-bottom: 6px solid #f0b010; /* brand gold rule */
  color: #ffffff;
  text-align: center;
}

@media screen and (max-width: 59.999rem) {
  .l4j-hero { margin-left: -2rem; margin-right: -2rem; }
}
@media screen and (max-width: 47.999rem) {
  .l4j-hero { margin-left: -1.25rem; margin-right: -1.25rem; padding-top: 2.5rem; }
}

.l4j-hero-logo {
  box-sizing: border-box;
  width: 148px;
  height: 148px;
  margin: 0 auto 1.25rem auto;
  display: block;
  /* White chip so the navy "Lottie" wordmark and circle stay readable on the
     dark hero background. */
  background: #ffffff;
  padding: 12px;
  border-radius: 22px;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.28);
}

.l4j-hero h1.l4j-hero-title {
  color: #ffffff;
  font-size: 2.4rem;
  line-height: 1.15;
  margin: 0 0 0.75rem 0;
  border: 0;
}

.l4j-hero-sub {
  font-size: 1.2rem;
  max-width: 40rem;
  margin: 0 auto 1.25rem auto;
  color: #e6ecf3;
}
.l4j-hero-sub strong { color: #f0b010; }

.l4j-hero-release {
  font-size: 0.95rem;
  margin: 0 0 1.5rem 0;
  color: #c8d3e0;
}
.l4j-hero p.l4j-hero-release a,
.l4j-hero p.l4j-hero-release a:visited { color: #ffffff; text-decoration: underline; }
.l4j-hero p.l4j-hero-release a:hover,
.l4j-hero p.l4j-hero-release a:active,
.l4j-hero p.l4j-hero-release a:focus { color: #f0b010; }
.l4j-hero-dot {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  margin-right: 0.4rem;
  border-radius: 50%;
  background: #4ade80; /* "live" green */
  vertical-align: middle;
}

.l4j-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin: 0;
  padding-bottom: 3rem;
}

/* Scoped as ".l4j-hero a.l4j-btn" so the button colours beat the theme's
   "article a:not(.card-link)" link styling (which would otherwise recolour the
   text/icon to the theme link colour and add an underline on hover). */
.l4j-hero a.l4j-btn,
.l4j-hero a.l4j-btn:visited {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1.5rem;
  border-radius: 0.4rem;
  font-weight: 600;
  font-size: 1.05rem;
  text-decoration: none;
  transition: transform 0.08s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.l4j-hero a.l4j-btn:hover,
.l4j-hero a.l4j-btn:active,
.l4j-hero a.l4j-btn:focus {
  transform: translateY(-1px);
  text-decoration: none;
}

.l4j-hero a.l4j-btn-primary,
.l4j-hero a.l4j-btn-primary:visited { background: #f0b010; color: #13294a; }
.l4j-hero a.l4j-btn-primary:hover,
.l4j-hero a.l4j-btn-primary:active,
.l4j-hero a.l4j-btn-primary:focus { background: #ffc62e; color: #13294a; }

.l4j-hero a.l4j-btn-ghost,
.l4j-hero a.l4j-btn-ghost:visited {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.7);
}
.l4j-hero a.l4j-btn-ghost:hover,
.l4j-hero a.l4j-btn-ghost:active,
.l4j-hero a.l4j-btn-ghost:focus {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border-color: #ffffff;
}

/* ---------------------------------------------------------------------------
   Homepage "Why Lottie4J" cards
   Force the four feature cards onto a single row (on desktop) and drop the
   theme's tall 300px min-height so the boxes hug their content. The theme's
   responsive rules still collapse to 2 columns on tablet and 1 on mobile.
--------------------------------------------------------------------------- */
.home .card-container {
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
}
.home .card-container .card {
  min-height: 0;
  height: auto;
}
.home .card-container .card-content {
  padding: 1.1rem;
}
