/* ==========================================================================
	Homepage Blocks — Section heroes (dante/hero), cours, news, super-footer
	Only references tokens from variables.css (--wp--preset--* / --wp--custom--*).
	Buttons, badges, tags, glass-labels and section-titles are imported from
	css/components.css and MUST NOT be redeclared here.
	========================================================================== */

/* ==========================================================================
	Homepage-specific overrides
	========================================================================== */

/* Suppress Specia's breadcrumb section on the static front page. */
:where(body.home) .breadcrumb.shadow-one {
  display: none;
}

/* ==========================================================================
	Hero (dante/hero)
	========================================================================== */

.dante-hero {
  position: relative;
  min-height: 85svh;
  display: flex;
  align-items: center;
  background-color: var(--wp--preset--color--primary-900);
  overflow: hidden;
}

.dante-hero__bg {
  position: absolute;
  inset: 0;
  opacity: 0.4;
  overflow: hidden;
}

.dante-hero__bg img,
.dante-hero__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dante-hero__bg--placeholder {
  background: var(--wp--preset--gradient--primary-deep);
}

.dante-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 80ch;
  margin: 0 auto;
  padding: 0 var(--wp--preset--spacing--40);
  width: 100%;
  color: var(--wp--preset--color--white);
}

.dante-hero__title {
  color: var(--wp--preset--color--white);
  font-size: var(--wp--preset--font-size--5-xl);
  line-height: var(--wp--custom--line-height--xs);
  margin-bottom: var(--wp--preset--spacing--40);
  margin-top: 0;
  font-weight: 700;
}

.dante-hero__desc {
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--neutral-100);
  margin: 0 0 var(--wp--preset--spacing--60);
  line-height: var(--wp--custom--line-height--md);
}

.dante-hero__actions {
  display: flex;
  gap: var(--wp--preset--spacing--30);
  flex-wrap: wrap;
}

/* --- Evergreen variant --- */

.dante-hero--evergreen .dante-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    var(--wp--preset--color--primary-900) 0%,
    color-mix(in srgb, var(--wp--preset--color--primary-900) 60%, transparent)
      50%,
    color-mix(in srgb, var(--wp--preset--color--primary-900) 20%, transparent)
      100%
  );
}

.dante-hero--evergreen .dante-hero__tagline {
  text-transform: uppercase;
  letter-spacing: var(--wp--custom--letter-spacing--loose);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 700;
  color: var(--wp--preset--color--primary-300);
  margin-bottom: var(--wp--preset--spacing--30);
  display: block;
}

.dante-hero--evergreen .dante-hero__title span {
  color: var(--wp--preset--color--primary-300);
  font-style: italic;
}

/* --- Campaign variant (enrollment period) --- */

.dante-hero--campaign {
  min-height: 80svh;
}

.dante-hero--campaign .dante-hero__bg {
  opacity: 0.6;
}

.dante-hero--campaign .dante-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--wp--preset--color--primary-900) 95%, transparent)
      0%,
    color-mix(in srgb, var(--wp--preset--color--primary-800) 70%, transparent)
      100%
  );
}

.dante-hero__badge {
  display: inline-block;
  background-color: var(--wp--preset--color--warning-100);
  color: var(--wp--preset--color--warning-700);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: var(--wp--custom--letter-spacing--loose);
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--50);
  border-radius: var(--wp--custom--border-radius--full);
  font-size: var(--wp--preset--font-size--xs);
  margin-bottom: var(--wp--preset--spacing--40);
}

/* --- Featured-event variant --- */

.dante-hero--featured-event {
  background-color: var(--wp--preset--color--white);
  padding-top: var(--wp--preset--spacing--100);
}

/* Variants that emit dante-hero-event inside must display correctly. */
.dante-hero--featured-event .dante-hero__inner {
  max-width: var(--wp--style--global--wide-size);
}

/* Override the dark-on-dark meta text */
.dante-hero--featured-event .dante-section-title,
.dante-hero--featured-event .dante-hero-event__meta-date,
.dante-hero--featured-event .dante-hero-event__meta-venue {
  color: var(--wp--preset--color--primary-900);
}

/* ==========================================================================
	Courses Grid (dante/courses-grid)
	========================================================================== */

.dante-section-cours {
  padding: var(--wp--preset--spacing--100) 0;
  background-color: var(--wp--preset--color--white);
  position: relative;
}

.dante-courses-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wp--preset--spacing--50);
}

.dante-course-card {
  background: var(--wp--preset--color--neutral-100);
  border-radius: var(--wp--custom--border-radius--sm);
  padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
  border: var(--wp--custom--border-width--thin) solid
    var(--wp--preset--color--neutral-300);
  transition:
    transform var(--wp--custom--transition--smooth),
    box-shadow var(--wp--custom--transition--smooth),
    border-color var(--wp--custom--transition--smooth);
  display: flex;
  flex-direction: column;
}

.dante-course-card:hover {
  transform: translateY(var(--wp--custom--lift--md));
  box-shadow: var(--wp--preset--shadow--lg);
  border-color: var(--wp--preset--color--primary-300);
}

/* Primary variant: white bg + primary-500 border + primary CTA. */
.dante-course-card--primary {
  background: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--primary-500);
}

.dante-course-card__icon {
  font-size: 2.5rem !important;
  color: var(--wp--preset--color--primary-500);
  margin-bottom: var(--wp--preset--spacing--40);
}

.dante-course-card__title {
  font-size: var(--wp--preset--font-size--xl);
  margin: 0 0 var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--primary-900);
  font-weight: 700;
}

.dante-course-card__desc {
  color: var(--wp--preset--color--neutral-700);
  margin: 0 0 var(--wp--preset--spacing--50);
  flex-grow: 1;
  font-size: var(--wp--preset--font-size--sm);
  line-height: var(--wp--custom--line-height--md);
}

.dante-course-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--20);
  margin-bottom: var(--wp--preset--spacing--40);
}

.dante-course-card__btn {
  width: 100%;
  justify-content: center;
}

/* ==========================================================================
	Events Section (dante-section-events container for dante/events-list)
	========================================================================== */

.dante-section-events {
  padding: var(--wp--preset--spacing--80) 0 var(--wp--preset--spacing--100);
  background-color: var(--wp--preset--color--neutral-100);
}

.dante-section-events-footer {
  margin-top: calc(var(--wp--preset--spacing--60) * -1);
  text-align: center;
}

/* ==========================================================================
	News Grid (dante/news-grid)
	========================================================================== */

.dante-section-news {
  padding: var(--wp--preset--spacing--80) 0 var(--wp--preset--spacing--100);
  background-color: var(--wp--preset--color--white);
}

.dante-news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wp--preset--spacing--50);
}

.dante-news-card {
  display: flex;
  flex-direction: column;
}

.dante-news-card__img {
  aspect-ratio: 4/3;
  border-radius: var(--wp--custom--border-radius--sm);
  overflow: hidden;
  margin-bottom: var(--wp--preset--spacing--30);
  background: var(--wp--preset--color--neutral-100);
}

.dante-news-card__img img,
.dante-news-card__img .attachment-medium-large {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--wp--custom--transition--gentle);
}

.dante-news-card__img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wp--preset--color--neutral-500);
}

.dante-news-card:hover .dante-news-card__img img {
  transform: scale(1.05);
}

.dante-news-card__meta {
  display: flex;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--neutral-500);
  margin-bottom: var(--wp--preset--spacing--20);
  font-weight: 600;
  text-transform: uppercase;
}

.dante-news-card__title {
  font-size: var(--wp--preset--font-size--lg);
  margin: 0 0 var(--wp--preset--spacing--20);
  font-weight: 700;
  line-height: var(--wp--custom--line-height--sm);
}

.dante-news-card__title a {
  color: var(--wp--preset--color--primary-900);
  font-family: var(--wp--preset--font-family--lora);
  text-decoration: none;
  transition: color var(--wp--custom--transition--fast);
}

.dante-news-card__title a:hover {
  color: var(--wp--preset--color--primary-500);
}

.dante-news-card__excerpt {
  margin: 0;
  color: var(--wp--preset--color--neutral-700);
  font-size: var(--wp--preset--font-size--sm);
  line-height: var(--wp--custom--line-height--md);
}

.dante-news-card--empty .dante-news-card__title {
  color: var(--wp--preset--color--neutral-500);
  font-style: italic;
}

.dante-section-news-footer {
  margin-top: var(--wp--preset--spacing--80);
  text-align: center;
}

/* ==========================================================================
	Super-Footer (dante/super-footer) — homepage teaser above the existing footer
	========================================================================== */

.dante-super-footer {
  background-color: var(--wp--preset--color--primary-900);
  color: var(--wp--preset--color--white);
  position: relative;
  padding-top: var(--wp--preset--spacing--100);
  padding-bottom: var(--wp--preset--spacing--80);
  overflow: hidden;
}

.dante-super-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--wp--preset--spacing--10);
  background: linear-gradient(
    90deg,
    var(--wp--preset--color--primary-300),
    var(--wp--preset--color--primary-700)
  );
}

.dante-super-footer__grid {
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto;
  padding: 0 var(--wp--preset--spacing--40);
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--wp--preset--spacing--80);
}

/* Newsletter card */

.dante-super-footer__newsletter {
  background: color-mix(
    in srgb,
    var(--wp--preset--color--white) 3%,
    transparent
  );
  border: var(--wp--custom--border-width--thin) solid
    color-mix(in srgb, var(--wp--preset--color--white) 10%, transparent);
  padding: var(--wp--preset--spacing--60);
  border-radius: var(--wp--custom--border-radius--sm);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.dante-super-footer__heading {
  color: var(--wp--preset--color--white);
  font-size: var(--wp--preset--font-size--2-xl);
  margin: 0 0 var(--wp--preset--spacing--20);
  font-weight: 700;
  line-height: var(--wp--custom--line-height--sm);
}

.dante-super-footer__desc {
  color: var(--wp--preset--color--neutral-300);
  margin: 0 0 var(--wp--preset--spacing--40);
  font-size: var(--wp--preset--font-size--sm);
  line-height: var(--wp--custom--line-height--md);
}

.dante-super-footer__cta {
  display: inline-flex;
}

/* Reassurance side: stats grid + labels row */

.dante-super-footer__reassurance {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dante-super-footer__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wp--preset--spacing--40);
  margin: 0 0 var(--wp--preset--spacing--50);
}

.dante-super-footer__stat {
  border-left: var(--wp--custom--border-width--md) solid
    var(--wp--preset--color--primary-500);
  padding-left: var(--wp--preset--spacing--30);
}

.dante-super-footer__stat-value {
  font-family: var(--wp--preset--font-family--lora);
  font-size: var(--wp--preset--font-size--3-xl);
  font-weight: 700;
  color: var(--wp--preset--color--primary-300);
  line-height: var(--wp--custom--line-height--none);
  margin-bottom: var(--wp--preset--spacing--20);
}

.dante-super-footer__stat-label {
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--neutral-300);
}

.dante-super-footer__labels {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--30);
  align-items: center;
  padding-top: var(--wp--preset--spacing--40);
  border-top: var(--wp--custom--border-width--thin) solid
    color-mix(in srgb, var(--wp--preset--color--white) 10%, transparent);
}

/* ==========================================================================
	Responsive — 991 / 767 breakpoints
	========================================================================== */

@media (max-width: 991px) {
  .dante-hero__title {
    font-size: var(--wp--preset--font-size--4-xl);
  }

  .dante-courses-grid,
  .dante-news-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dante-super-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--50);
  }
}

@media (max-width: 767px) {
  .dante-hero {
    min-height: 70svh;
  }

  .dante-hero__title {
    font-size: var(--wp--preset--font-size--3-xl);
  }

  .dante-hero__actions {
    flex-direction: column;
  }

  .dante-courses-grid,
  .dante-news-grid {
    grid-template-columns: 1fr;
  }

  .dante-course-card,
  .dante-news-card {
    max-width: 100%;
  }

  .dante-super-footer__stats {
    grid-template-columns: repeat(2, 1fr);
  }
}
