/* ==========================================================================
   Events — Cards, Hero, and Empty State
   ========================================================================== */

/* --- Event List (chronological vertical stack) --- */

.dante-event-list {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--100);
  scroll-margin-top: calc(58px + var(--wp--preset--spacing--100));
}

/* --- Event Row (chronological card) --- */

.dante-event-row {
  display: grid;
  grid-template-columns: 120px 140px 1fr auto;
  gap: var(--wp--preset--spacing--50);
  background: var(--wp--preset--color--white);
  padding: var(--wp--preset--spacing--50);
  border-radius: var(--wp--custom--border-radius--sm);
  box-shadow: var(--wp--preset--shadow--sm);
  border: var(--wp--custom--border-width--thin) solid
    var(--wp--preset--color--neutral-300) !important;
  transition:
    box-shadow var(--wp--custom--transition--smooth),
    transform var(--wp--custom--transition--smooth);
  align-items: center;
}

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

.dante-event-list--recommendations .dante-event-row {
  background: var(--wp--preset--color--neutral-100);
  border-color: var(--wp--preset--color--secondary-300) !important;
}

/* Date column */

.dante-event-row__date {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--base);
}

.dante-event-row__date-day {
  font-family: var(--wp--preset--font-family--lora);
  font-size: 3em;
  font-weight: 700;
  color: var(--wp--preset--color--primary-500);
  line-height: var(--wp--custom--line-height--none);
}

.dante-event-list--recommendations .dante-event-row__date-day {
  color: var(--wp--preset--color--secondary-500);
}

.dante-event-row__date-my {
  display: flex;
  flex-direction: column;
  font-size: 1em;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--wp--preset--color--neutral-700);
  letter-spacing: var(--wp--custom--letter-spacing--wide);
  line-height: var(--wp--custom--line-height--sm);
}

.dante-event-row__date-range,
.dante-event-row__date-ongoing {
  font-weight: 700;
  color: var(--wp--preset--color--primary-700);
}

.dante-event-list--recommendations .dante-event-row__date-range,
.dante-event-list--recommendations .dante-event-row__date-ongoing {
  color: var(--wp--preset--color--secondary-700);
}

/* Square thumbnail */

.dante-event-row__thumb {
  width: 140px;
  height: 140px;
  border-radius: var(--wp--custom--border-radius--sm);
  overflow: hidden;
  box-shadow: var(--wp--preset--shadow--sm);
}

.dante-event-row__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--wp--custom--transition--slow);
}

.dante-event-row:hover .dante-event-row__thumb img {
  transform: scale(1.05);
}

/* Content column */

.dante-event-row__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dante-event-row__title {
  font-size: var(--wp--preset--font-size--xl);
  margin: var(--wp--preset--spacing--20) 0;
}

.dante-event-row__title a {
  color: var(--wp--preset--color--primary-900);
}

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

/* Action column */

.dante-event-row__actions {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
  align-items: stretch;
}

/* --- Event Category Badges (Rely on .dante-badge from components.css) --- */

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

.dante-badge--concert {
  --badge-color: var(--wp--preset--color--primary-300);
  --badge-text: var(--wp--preset--color--primary-900);
}

.dante-badge--conference {
  --badge-color: var(--wp--preset--color--primary-900);
  --badge-text: var(--wp--preset--color--primary-100);
}

.dante-badge--debat {
  --badge-color: var(--wp--preset--color--secondary-100);
  --badge-text: var(--wp--preset--color--secondary-700);
}

.dante-badge--degustation {
  --badge-color: var(--wp--preset--color--success-100);
  --badge-text: var(--wp--preset--color--success-700);
}

.dante-badge--exposition {
  --badge-color: var(--wp--preset--color--info-100);
  --badge-text: var(--wp--preset--color--info-700);
}

.dante-badge--festival {
  --badge-color: var(--wp--preset--color--error-100);
  --badge-text: var(--wp--preset--color--error-700);
}

.dante-badge--projection {
  --badge-color: var(--wp--preset--color--warning-100);
  --badge-text: var(--wp--preset--color--warning-700);
}

.dante-badge--rencontre {
  --badge-color: var(--wp--preset--color--secondary-300);
  --badge-text: var(--wp--preset--color--primary-900);
}

.dante-badge--spectacle {
  --badge-color: var(--wp--preset--color--info-300);
  --badge-text: var(--wp--preset--color--primary-900);
}

.dante-badge--status {
  --badge-color: var(--wp--preset--color--white);
  --badge-text: var(--wp--preset--color--neutral-700);
  border: var(--wp--custom--border-width--thin) solid
    var(--wp--preset--color--neutral-700);
  font-size: var(--wp--preset--font-size--xs);
}

/* --- Speaker line --- */

.dante-event-row__speaker {
  font-family: var(--wp--preset--font-family--lora);
  font-style: italic;
  color: var(--wp--preset--color--neutral-700);
  margin-bottom: var(--wp--preset--spacing--30);
}

/* --- Meta info (time, location, price) --- */

.dante-meta-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--40);
  color: var(--wp--preset--color--neutral-700);
}

.dante-meta-info span:not(.dante-badge) {
  display: inline-flex;
  align-items: baseline;
  gap: var(--wp--preset--spacing--20);
}

.dante-meta-info i,
.dante-hero-event__meta i {
  color: var(--wp--preset--color--primary-500);
}

/* --- Hero Event (featured) --- */

.dante-hero-event {
  background: var(--wp--preset--color--white);
  border-radius: var(--wp--custom--border-radius--sm);
  box-shadow: var(--wp--preset--shadow--lg);
  display: grid;
  grid-template-columns: 300px 1fr;
  overflow: hidden;
  margin-bottom: var(--wp--preset--spacing--80) !important;
  border: var(--wp--custom--border-width--thin) solid
    var(--wp--preset--color--neutral-300) !important;
  padding-bottom: 0 !important;
}

.dante-hero-event__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dante-hero-event__content {
  padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--60);
  display: flex;
  gap: var(--wp--preset--spacing--40);
  flex-direction: column;
  justify-content: center;
}

.dante-hero-event__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--wp--preset--spacing--30);
}

.dante-hero-event__title {
  font-size: var(--wp--preset--font-size--3-xl);
  line-height: var(--wp--custom--line-height--sm);
  margin-bottom: var(--wp--preset--spacing--20);
}

.dante-hero-event__title a {
  color: var(--wp--preset--color--primary-900);
}

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

.dante-hero-event__speaker {
  font-family: var(--wp--preset--font-family--lora);
  font-style: italic;
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--neutral-500);
  margin-bottom: var(--wp--preset--spacing--40);
}

.dante-hero-event__desc {
  margin-top: var(--wp--preset--spacing--40);
  margin-bottom: var(--wp--preset--spacing--50);
  color: var(--wp--preset--color--neutral-700);
}

.dante-hero-event__meta {
  display: flex;
  gap: var(--wp--preset--spacing--40);
  margin-top: auto;
  align-items: center;
}

/* --- Single Event Detail Page --- */

/* Override Specia parent `.page-wrapper article` */
body.single-evenement .page-wrapper article.dante-single {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Header */
.dante-single-header {
  margin-bottom: var(--wp--preset--spacing--50);
  max-width: 900px;
}

.dante-single-header .dante-event__badges {
  margin-bottom: var(--wp--preset--spacing--30);
}

.dante-single-title {
  font-size: var(--wp--preset--font-size--4-xl);
  color: var(--wp--preset--color--primary-900);
  line-height: var(--wp--custom--line-height--sm);
  margin: 0 0 var(--wp--preset--spacing--20);
  font-weight: 700;
  letter-spacing: var(--wp--custom--letter-spacing--compact);
}

.dante-single-speaker {
  font-family: var(--wp--preset--font-family--lora);
  font-style: italic;
  font-size: var(--wp--preset--font-size--xl);
  color: var(--wp--preset--color--neutral-500);
  margin: 0;
}

/* Body */
.dante-single-body {
  display: grid;
  grid-template-columns: minmax(0, 2fr) 1fr;
  gap: var(--wp--preset--spacing--80);
  align-items: start;
}

.dante-single-main {
  min-width: 0;
}

/* Featured image */
.dante-single-image {
  width: 100%;
  border-radius: var(--wp--custom--border-radius--sm);
  overflow: hidden;
  margin-bottom: var(--wp--preset--spacing--50);
  box-shadow: var(--wp--preset--shadow--sm);
}

.dante-single-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

/* Show the full original image in lightbox, not cropped to 16:9 */
.wp-lightbox-overlay.active {
  --wp--lightbox-container-width: 100vw !important;
  --wp--lightbox-container-height: 100svh !important;
  --wp--lightbox-image-width: auto !important;
  --wp--lightbox-image-height: auto !important;
}

.wp-lightbox-overlay.active .lightbox-image-container img {
  max-width: calc(100vw - 80px);
  max-height: calc(100svh - 80px);
  object-fit: contain !important;
}

/* Body content */
.dante-single-content {
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--neutral-700);
}

.dante-single-content p {
  margin-bottom: var(--wp--preset--spacing--30);
}

/* Sticky sidebar info card */
.dante-single-sidebar {
  position: sticky;
  top: var(--wp--preset--spacing--70);
}

.dante-single-layout__card {
  background: var(--wp--preset--color--white);
  border-radius: var(--wp--custom--border-radius--sm);
  padding: var(--wp--preset--spacing--50);
  box-shadow: var(--wp--preset--shadow--lg);
  border: var(--wp--custom--border-width--thin) solid
    var(--wp--preset--color--neutral-300);
}

/* Reused sticky date typographic card */
.dante-single .dante-event-row__date {
  font-size: var(--wp--preset--font-size--lg);
  padding-bottom: var(--wp--preset--spacing--40);
  border-bottom: var(--wp--custom--border-width--thin) solid
    var(--wp--preset--color--neutral-300);
  margin-bottom: var(--wp--preset--spacing--40);
}

.dante-single .dante-event-row__date-day {
  line-height: var(--wp--custom--line-height--none);
}

/* Meta-info reuse */
.dante-single .dante-meta-info {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--wp--preset--spacing--30);
  font-size: var(--wp--preset--font-size--base);
}

.dante-single .dante-meta-info i {
  min-width: var(--wp--preset--spacing--40);
  display: inline-flex;
  justify-content: center;
}

/* Contact */
.dante-single .dante-event-row__contact {
  margin-top: var(--wp--preset--spacing--40);
  padding-top: var(--wp--preset--spacing--40);
  border-top: var(--wp--custom--border-width--thin) solid
    var(--wp--preset--color--neutral-300);
  color: var(--wp--preset--color--neutral-500);
  font-size: var(--wp--preset--font-size--base);
}

/* Actions column */
.dante-single-layout__actions {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
  margin-top: var(--wp--preset--spacing--40);
}

/* Recommended variant */
.dante-single-layout--recommended .dante-single-layout__card {
  background: var(--wp--preset--color--neutral-100);
  border-color: var(--wp--preset--color--secondary-300) !important;
}

.dante-single-layout--recommended .dante-event-row__date-day,
.dante-single-layout--recommended .dante-event-row__date-range {
  color: var(--wp--preset--color--secondary-700);
}

/* --- Empty State --- */

.dante-event-empty {
  margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--100);
  padding: var(--wp--preset--spacing--50);
  border: var(--wp--custom--border-width--thin) dashed
    color-mix(in srgb, var(--wp--preset--color--black) 20%, transparent);
  border-radius: var(--wp--custom--border-radius--sm);
  background: color-mix(
    in srgb,
    var(--wp--preset--color--primary-500) 5%,
    transparent
  );
  text-align: center;
}

.dante-event-empty p {
  margin: 0;
  color: var(--wp--preset--color--primary-900);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 991px) {
  .dante-hero-event {
    grid-template-columns: 1fr;
  }

  .dante-hero-event__image {
    height: 300px;
  }

  .dante-hero-event__meta {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--20);
  }

  .dante-event-row {
    grid-template-columns: 120px 1fr;
    gap: var(--wp--preset--spacing--40);
  }

  .dante-event-row__thumb {
    display: none;
  }

  .dante-event-row__actions {
    grid-column: 1 / -1;
    flex-direction: row;
    margin-top: var(--wp--preset--spacing--20);
  }

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

  .dante-single-sidebar {
    position: relative;
    top: 0;
    order: -1;
  }

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

@media (max-width: 767px) {
  .dante-event-row {
    grid-template-columns: 1fr;
    padding: var(--wp--preset--spacing--40);
  }

  .dante-event-row__date {
    margin-bottom: var(--wp--preset--spacing--20);
    border-bottom: var(--wp--custom--border-width--thin) solid
      var(--wp--preset--color--neutral-300);
    padding-bottom: var(--wp--preset--spacing--20);
  }

  .dante-event-row__actions {
    flex-direction: column;
  }

  .dante-hero-event__actions {
    flex-direction: column;
  }

  .dante-hero-event__content {
    padding: var(--wp--preset--spacing--50);
  }
}
