/* =========================================================
   ELK EDITIONS.CSS
   Archive, cards, single edition, related content
   Flexbox only
========================================================= */

/* ---------------------------------------------------------
   ARCHIVE
--------------------------------------------------------- */

.elk-editions-archive {
  width: min(var(--elk-wide-width), calc(100% - 48px));
  margin-inline: auto;
  padding-block: 72px 100px;
}

.elk-editions-archive-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 42px;
}

.elk-editions-archive-title,
.elk-editions-archive-title .elementor-heading-title {
  max-width: 10ch;
}

.elk-editions-archive-intro {
  max-width: 460px;
}

/* ---------------------------------------------------------
   LIVE EDITIONS ARCHIVE TEMPLATE
--------------------------------------------------------- */

body.post-type-archive-elk_edition .elementor-location-archive {
  width: 100%;
  overflow: hidden;
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:first-child {
  width: min(var(--elk-wide-width), calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 48px 0 64px !important;
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:first-child > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:first-child .elementor-loop-container,
body.post-type-archive-elk_edition .elementor-location-archive > .e-con:first-child .elementor-grid {
  display: block !important;
}

body.post-type-archive-elk_edition .elk-edition-hero {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;

  background: var(--elk-paper) !important;
  color: var(--elk-black) !important;
  border: 1px solid rgba(0, 0, 0, 0.24) !important;
}

body.post-type-archive-elk_edition .elk-edition-hero > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  width: 100% !important;
  max-width: none !important;
  min-height: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.post-type-archive-elk_edition .elk-edition-hero-content {
  position: relative !important;
  z-index: 3 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;

  width: 100% !important;
  min-width: 0 !important;
  padding: 48px !important;
}

body.post-type-archive-elk_edition .elk-edition-hero-content h5,
body.post-type-archive-elk_edition .elk-edition-hero-content h5.elementor-heading-title {
  margin: 0 0 38px !important;

  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body.post-type-archive-elk_edition .elk-edition-hero-content h1,
body.post-type-archive-elk_edition .elk-edition-hero-content h1.elementor-heading-title {
  max-width: 8ch !important;
  margin: 0 !important;

  font-size: clamp(64px, 7vw, 96px) !important;
  font-weight: 800 !important;
  line-height: 0.84 !important;
  letter-spacing: -0.08em !important;
}

body.post-type-archive-elk_edition .elk-edition-hero-content h1::after {
  content: "";
  display: block;
  width: 46px;
  height: 1px;
  margin: 28px 0 26px;
  background: var(--elk-black);
}

body.post-type-archive-elk_edition .elk-edition-hero-content h2,
body.post-type-archive-elk_edition .elk-edition-hero-content h2.elementor-heading-title {
  max-width: 14ch !important;
  margin: 0 !important;

  font-family: var(--elk-font-serif) !important;
  font-size: clamp(30px, 3.5vw, 46px) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  letter-spacing: -0.045em !important;
}

body.post-type-archive-elk_edition .elk-edition-hero .elk-hero-button {
  width: auto !important;
  margin-top: auto !important;
  padding-top: 34px !important;
}

body.post-type-archive-elk_edition .elk-edition-hero .elk-hero-button .elementor-button {
  min-height: 42px !important;
  padding: 13px 16px !important;

  background: var(--elk-black) !important;
  color: var(--elk-white) !important;
  border: 1px solid var(--elk-black) !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.04em !important;
}

body.post-type-archive-elk_edition .elk-edition-hero .elk-hero-button .elementor-button:hover {
  background: var(--elk-white) !important;
  color: var(--elk-black) !important;
  opacity: 1 !important;
}

body.post-type-archive-elk_edition .elk-edition-hero-image {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-height: 520px !important;
  overflow: hidden !important;
}

body.post-type-archive-elk_edition .elk-edition-hero-image .elementor-widget-image,
body.post-type-archive-elk_edition .elk-edition-hero-image .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

body.post-type-archive-elk_edition .elk-edition-hero-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;
  filter: grayscale(100%);
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child {
  width: min(var(--elk-wide-width), calc(100% - 48px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 56px 0 100px !important;
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child > .e-con-inner > .elementor-widget-heading {
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.28);
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child > .e-con-inner > .elementor-widget-heading h5 {
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child .elementor-loop-container,
body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child .elementor-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child .e-loop-item {
  width: auto !important;
  min-width: 0 !important;
}

body.post-type-archive-elk_edition .elk-edition-card-small {
  width: 100% !important;
  min-height: 340px !important;
  height: 100% !important;
  padding: 22px !important;
  cursor: pointer;
}

body.post-type-archive-elk_edition .elk-edition-card-small,
body.post-type-archive-elk_edition .elk-edition-card-small * {
  transition: none !important;
}

body.post-type-archive-elk_edition .elk-edition-card-small > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 296px;
  margin: 0 !important;
  padding: 0 !important;
}

body.post-type-archive-elk_edition .elk-edition-card-small .elk-edition-card-content {
  min-height: 296px;
}

body.post-type-archive-elk_edition .elk-edition-card-small .elk-edition-number,
body.post-type-archive-elk_edition .elk-edition-card-small .elk-edition-number .elementor-heading-title {
  font-size: 48px !important;
}

body.post-type-archive-elk_edition .elk-edition-card-small .elk-edition-theme,
body.post-type-archive-elk_edition .elk-edition-card-small .elk-edition-theme .elementor-heading-title {
  font-size: 22px !important;
}

body.post-type-archive-elk_edition .elk-edition-card-small .elk-edition-date,
body.post-type-archive-elk_edition .elk-edition-card-small .elk-edition-date p {
  margin-top: auto !important;
  padding-top: 36px;
}

body.post-type-archive-elk_edition .elk-edition-card-small:hover .elk-edition-image img,
body.post-type-archive-elk_edition .elk-edition-card-small:focus-within .elk-edition-image img {
  transform: scale(1.15);
}

body.post-type-archive-elk_edition .elk-edition-card-small:focus-within {
  outline: 2px solid var(--elk-black);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  body.post-type-archive-elk_edition .elk-edition-hero > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  body.post-type-archive-elk_edition .elk-edition-hero-content {
    padding: 38px !important;
  }

  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child .elementor-loop-container,
  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child .elementor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:first-child,
  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child {
    width: calc(100% - 24px) !important;
  }

  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:first-child {
    padding: 24px 0 44px !important;
  }

  body.post-type-archive-elk_edition .elk-edition-hero,
  body.post-type-archive-elk_edition .elk-edition-hero > .e-con-inner {
    min-height: 0 !important;
  }

  body.post-type-archive-elk_edition .elk-edition-hero > .e-con-inner {
    grid-template-columns: 1fr;
  }

  body.post-type-archive-elk_edition .elk-edition-hero-content {
    padding: 32px 24px 36px !important;
  }

  body.post-type-archive-elk_edition .elk-edition-hero-content h5,
  body.post-type-archive-elk_edition .elk-edition-hero-content h5.elementor-heading-title {
    margin-bottom: 28px !important;
  }

  body.post-type-archive-elk_edition .elk-edition-hero-content h1,
  body.post-type-archive-elk_edition .elk-edition-hero-content h1.elementor-heading-title {
    font-size: clamp(58px, 20vw, 86px) !important;
  }

  body.post-type-archive-elk_edition .elk-edition-hero-content h2,
  body.post-type-archive-elk_edition .elk-edition-hero-content h2.elementor-heading-title {
    font-size: clamp(30px, 10vw, 42px) !important;
  }

  body.post-type-archive-elk_edition .elk-edition-hero .elk-hero-button {
    margin-top: 34px !important;
    padding-top: 0 !important;
  }

  body.post-type-archive-elk_edition .elk-edition-hero-image {
    min-height: 300px !important;
  }

  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child {
    padding: 44px 0 72px !important;
  }
}

@media (max-width: 560px) {
  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child .elementor-loop-container,
  body.post-type-archive-elk_edition .elementor-location-archive > .e-con:last-child .elementor-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ---------------------------------------------------------
   EDITION LOOP
--------------------------------------------------------- */

.elk-editions-loop .elementor-loop-container,
.elk-editions-loop .elementor-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
}

.elk-editions-loop .e-loop-item {
  flex: 1 1 calc(33.333% - 12px) !important;
  min-width: 260px !important;
}

/* ---------------------------------------------------------
   EDITION CARD
--------------------------------------------------------- */

.elk-edition-card,
.elk-edition-card-small,
.elk-edition-card-featured {
  position: relative;
  overflow: hidden;

  min-height: 300px;
  padding: 24px;

  display: flex;
  align-items: flex-start;

  background: var(--elk-black);
  color: var(--elk-white);
}

.elk-edition-card-image,
.elk-edition-image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1;

  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}

.elk-edition-card-image img,
.elk-edition-image img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  filter:
    grayscale(100%)
    blur(10px)
    brightness(0.54)
    contrast(1.08);

  transform: scale(1.15);
  transition: 0.45s ease;
}

.elk-edition-card::before,
.elk-edition-card-small::before,
.elk-edition-card-featured::before {
  content: "";

  position: absolute;
  inset: 0;
  z-index: 2;

  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.16) 0%,
      rgba(0, 0, 0, 0.68) 100%
    );
}

.elk-edition-card-content {
  position: relative;
  z-index: 3;

  width: 100%;
  max-width: 240px;

  color: var(--elk-white);
}

.elk-edition-card-content * {
  color: inherit !important;
}

.elk-edition-number,
.elk-edition-number .elementor-heading-title {
  margin: 0;

  font-size: 52px;
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.08em;
}

.elk-edition-number::after {
  content: "";

  display: block;
  width: 28px;
  height: 1px;
  margin: 14px 0 11px;

  background: rgba(255, 255, 255, 0.86);
}

.elk-edition-theme,
.elk-edition-theme .elementor-heading-title {
  margin: 0;

  font-family: var(--elk-font-serif);
  font-size: 24px;
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.elk-edition-date,
.elk-edition-date p,
.elk-edition-date .elementor-widget-container {
  margin: 26px 0 0;

  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
}

.elk-edition-location,
.elk-edition-location p {
  margin: 42px 0 0;
  font-size: 10px;
  line-height: 1.35;
  opacity: 0.72;
}

.elk-edition-card:hover,
.elk-edition-card-small:hover,
.elk-edition-card-featured:hover {
  opacity: 1;
}

.elk-edition-card:hover .elk-edition-image img,
.elk-edition-card-small:hover .elk-edition-image img,
.elk-edition-card-featured:hover .elk-edition-image img {
  transform: scale(1.2);
  filter:
    grayscale(100%)
    blur(8px)
    brightness(0.66)
    contrast(1.1);
}

/* ---------------------------------------------------------
   SINGLE EDITION
--------------------------------------------------------- */

body.single-elk_edition .elk-edition-single {
  width: 100%;
  background-color: var(--elk-page-canvas, transparent);
}

body.single-elk_edition .elk-edition-hero {
  width: 100%;
  max-width: var(--elk-wide-width);
  margin-inline: auto;
  padding-block: 72px;

  display: flex;
  align-items: flex-start;
  gap: 64px;

  background: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

body.single-elk_edition .elk-edition-poster {
  flex: 0 0 320px;
  max-width: 320px;
}

body.single-elk_edition .elk-edition-poster img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  filter: grayscale(100%);
}

body.single-elk_edition .elk-edition-info {
  flex: 1 1 auto;
  max-width: 720px;
  align-self: center;
}

body.single-elk_edition .elk-edition-info > .e-con:first-child {
  width: 100%;
  display: flex !important;
  align-items: flex-start !important;
  gap: 36px !important;
}

body.single-elk_edition .elk-edition-info > .e-con:first-child > .e-con:first-child {
  flex: 1 1 46% !important;
  width: auto !important;
  min-width: 0 !important;
}

body.single-elk_edition .elk-edition-info > .e-con:first-child > .e-con:last-child {
  flex: 1 1 54% !important;
  width: auto !important;
  min-width: 240px !important;
  align-items: flex-end !important;
  text-align: right;
}

body.single-elk_edition .elk-edition-title,
body.single-elk_edition .elk-edition-title .elementor-heading-title {
  width: 100%;
  max-width: 14ch;
  margin: 0;

  font-size: clamp(32px, 3.2vw, 46px);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
  overflow-wrap: normal;
  word-break: normal;
}

body.single-elk_edition .elk-edition-focus,
body.single-elk_edition .elk-edition-focus .elementor-heading-title {
  width: auto;
  max-width: 7ch;
  margin: 0;

  font-family: var(--elk-font-serif);
  font-size: clamp(58px, 6vw, 88px);
  font-weight: 400;
  line-height: 0.88;
  letter-spacing: -0.065em;
  text-align: right;
}

body.single-elk_edition .elk-edition-intro,
body.single-elk_edition .elk-edition-intro p {
  max-width: 640px;
  margin: 24px 0 0;

  font-size: 16px;
  line-height: 1.65;
}

/* ---------------------------------------------------------
   RELATED SECTIONS
--------------------------------------------------------- */

.elk-related-section {
  width: min(var(--elk-wide-width), calc(100% - 48px));
  margin-inline: auto;
  padding-block: 48px;

  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}

.elk-related-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.elk-related-loop .elementor-loop-container,
.elk-related-loop .elementor-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 22px !important;
}

.elk-related-loop .e-loop-item {
  flex: 1 1 180px !important;
  min-width: 0 !important;
}

/* Elementor related loops used by the single-edition template */

body.single-elk_edition .elk-related-grid .elementor-loop-container,
body.single-elk_edition .elk-related-grid .elementor-grid,
body.single-elk_edition .elk-events-section .elementor-loop-container,
body.single-elk_edition .elk-events-section .elementor-grid {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
}

body.single-elk_edition .elk-authors-section .elk-related-grid .e-loop-item {
  flex: 0 0 calc(25% - 18px) !important;
  width: auto !important;
  max-width: none;
  min-width: 0 !important;
}

body.single-elk_edition .elk-authors-section .elk-author-card {
  width: 100%;
  height: 100%;
}

body.single-elk_edition .elk-authors-section .elk-author-image,
body.single-elk_edition .elk-authors-section .elk-author-image img {
  width: 100% !important;
}

body.single-elk_edition .elk-authors-section .elk-author-image img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(100%);
}

body.single-elk_edition .elk-authors-section .elk-author-name {
  margin-top: 12px;
  font-size: 20px;
  line-height: 1;
}

body.single-elk_edition .elk-authors-section .elk-author-country {
  margin-top: 6px;
  color: var(--elk-grey);
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

body.single-elk_edition .elk-events-section .e-loop-item {
  flex: 0 1 360px !important;
  width: auto !important;
  max-width: 360px;
  min-width: 280px !important;
}

body.single-elk_edition .elk-events-section .e-loop-item:only-child {
  flex: 1 1 100% !important;
  max-width: none;
}

body.single-elk_edition .elk-events-section .elk-event-card {
  min-height: 280px;
  padding: 20px;
  background: var(--elk-paper);
}

body.single-elk_edition .elk-events-section .e-loop-item:only-child .elk-event-card {
  min-height: 240px;
  padding: 28px 32px;
}

body.single-elk_edition .elk-event-date {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

body.single-elk_edition .elk-event-day {
  font-size: 36px;
  font-weight: 800;
  line-height: 0.82;
  letter-spacing: -0.06em;
}

body.single-elk_edition .elk-event-month {
  padding-bottom: 2px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.single-elk_edition .elk-event-time {
  margin-top: 20px;
  font-size: 14px;
  font-weight: 800;
}

body.single-elk_edition .elk-event-title,
body.single-elk_edition .elk-event-title .elementor-heading-title {
  margin-top: 18px;
  font-size: 22px;
  line-height: 1.02;
}

body.single-elk_edition .elk-event-footer {
  margin-top: auto;
  padding-top: 28px;
}

body.single-elk_edition .elk-event-edition,
body.single-elk_edition .elk-event-location {
  font-size: 11px;
  line-height: 1.35;
}

/* Event cards respond as one object; no child fade or image zoom. */

body.single-elk_edition .elk-events-section .elk-event-card,
body.single-elk_edition .elk-events-section .elk-event-card * {
  transition: none !important;
}

body.single-elk_edition .elk-events-section .elk-event-card {
  cursor: pointer;
  opacity: 1 !important;
}

body.single-elk_edition .elk-events-section .elk-event-card:hover,
body.single-elk_edition .elk-events-section .elk-event-card:focus-within {
  background: var(--elk-black);
  color: var(--elk-white);
  opacity: 1 !important;
}

body.single-elk_edition .elk-events-section .elk-event-card:hover *,
body.single-elk_edition .elk-events-section .elk-event-card:focus-within * {
  color: inherit !important;
  opacity: 1 !important;
}

body.single-elk_edition .elk-events-section .elk-event-card:hover .elk-event-card-image img,
body.single-elk_edition .elk-events-section .elk-event-card:focus-within .elk-event-card-image img {
  transform: none !important;
}

body.single-elk_edition .elk-events-section .elk-event-card:focus-within {
  outline: 2px solid var(--elk-black);
  outline-offset: 3px;
}

body.single-elk_edition .elk-locations-section .elk-related-grid .e-loop-item {
  flex: 1 1 calc(33.333% - 16px) !important;
  width: auto !important;
  min-width: 260px !important;
}

body.single-elk_edition .elk-locations-section .elk-location-card {
  min-height: 104px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(0, 0, 0, 0.22);
}

body.single-elk_edition .elk-locations-section .elk-location-image {
  flex: 0 0 64px;
  width: 64px;
}

body.single-elk_edition .elk-locations-section .elk-location-image img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  filter: grayscale(100%);
}

body.single-elk_edition .elk-locations-section .elk-location-content {
  flex: 1 1 auto;
  min-width: 0;
}

body.single-elk_edition .elk-locations-section .elk-location-name {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.1;
}

body.single-elk_edition .elk-locations-section .elk-location-address {
  margin-top: 6px;
  color: var(--elk-grey);
  font-size: 11px;
  line-height: 1.35;
}

/* ---------------------------------------------------------
   INLINE PANEL
--------------------------------------------------------- */

.elk-inline-panel[hidden] {
  display: none !important;
}

.elk-inline-panel {
  position: relative;
  width: 100%;
  padding: 72px 0 34px;
  border-top: 1px solid rgba(0, 0, 0, 0.25);
}

.elk-inline-close {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 999;

  display: flex !important;
  width: 36px;
  height: 36px;
  margin: 0;
  align-items: center;
  justify-content: center;

  background: var(--elk-white);
  color: var(--elk-black);

  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 0;

  cursor: pointer;
}

.elk-inline-author,
.elk-inline-team {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 64px;
  align-items: flex-start;
}

.elk-inline-author-content,
.elk-inline-team-content {
  order: 1;
}

.elk-inline-author-image,
.elk-inline-team-image {
  order: 2;
}

.elk-inline-author-image img,
.elk-inline-team-image img,
.elk-inline-image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  filter: grayscale(100%);
}

.elk-inline-author-content,
.elk-inline-team-content,
.elk-inline-main {
  max-width: 680px;
}

.elk-inline-title {
  margin: 0 0 14px;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.07em;
}

.elk-inline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;

  margin-bottom: 28px;

  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elk-inline-text {
  max-width: 60ch;
}

.elk-inline-text p {
  font-size: 15px;
  line-height: 1.65;
}

/* Artist dropdown */

.elk-inline-panel:has(.elk-inline-author) {
  margin-top: 22px;
  margin-bottom: 34px;
  padding: 48px;

  background: var(--elk-paper);
  border: 1px solid rgba(0, 0, 0, 0.24);
}

.elk-inline-panel:has(.elk-inline-author) .elk-inline-close {
  top: 14px;
  right: 14px;

  background: var(--elk-black);
  color: var(--elk-white);
  border-color: var(--elk-black);
}

.elk-inline-panel:has(.elk-inline-author) .elk-inline-close:hover,
.elk-inline-panel:has(.elk-inline-author) .elk-inline-close:focus-visible {
  background: var(--elk-white);
  color: var(--elk-black);
}

.elk-inline-panel .elk-inline-author {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: clamp(36px, 5vw, 64px);
}

.elk-inline-author-content {
  align-self: center;
  max-width: 700px;
  padding-top: 4px;
}

.elk-inline-author-title {
  max-width: 14ch;
  margin: 0 0 18px;

  font-size: clamp(42px, 4.5vw, 60px);
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: -0.065em;
}

.elk-inline-author-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 24px;
}

.elk-inline-author-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 8px;

  border: 1px solid rgba(0, 0, 0, 0.3);

  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elk-inline-author-text {
  max-width: 62ch;
}

.elk-inline-author-text p {
  margin: 0 0 1em;
  font-size: 14px;
  line-height: 1.62;
}

.elk-inline-author .elk-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin-top: 10px;
  padding: 10px 14px;

  background: var(--elk-black);
  color: var(--elk-white);
  border: 1px solid var(--elk-black);

  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.elk-inline-author .elk-inline-link:hover,
.elk-inline-author .elk-inline-link:focus-visible {
  background: var(--elk-white);
  color: var(--elk-black);
  opacity: 1;
}

.elk-inline-author-image {
  align-self: start;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
}

.elk-inline-author-image img {
  aspect-ratio: 4 / 5;
  object-position: center top;
}

.elk-inline-author-image:empty {
  display: none;
}

.elk-inline-author:has(.elk-inline-author-image:empty) {
  grid-template-columns: minmax(0, 760px);
}

/* Team dropdown */

.elk-inline-panel:has(.elk-inline-team) {
  margin-top: 22px;
  margin-bottom: 34px;
  padding: 48px;

  background: var(--elk-paper);
  border: 1px solid rgba(0, 0, 0, 0.24);
}

.elk-inline-panel:has(.elk-inline-team) .elk-inline-close {
  top: 14px;
  right: 14px;

  background: var(--elk-black);
  color: var(--elk-white);
  border-color: var(--elk-black);
}

.elk-inline-panel:has(.elk-inline-team) .elk-inline-close:hover,
.elk-inline-panel:has(.elk-inline-team) .elk-inline-close:focus-visible {
  background: var(--elk-white);
  color: var(--elk-black);
}

.elk-inline-panel .elk-inline-team {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: clamp(36px, 5vw, 64px);
}

.elk-inline-team-content {
  align-self: center;
  max-width: 700px;
  padding-top: 4px;
}

.elk-inline-team-title {
  max-width: 14ch;
  margin: 0 0 18px;

  font-size: clamp(42px, 4.5vw, 60px);
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: -0.065em;
}

.elk-inline-team-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 24px;
}

.elk-inline-team-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 8px;

  border: 1px solid rgba(0, 0, 0, 0.3);

  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elk-inline-team-text {
  max-width: 62ch;
}

.elk-inline-team-text p {
  margin: 0 0 1em;
  font-size: 14px;
  line-height: 1.62;
}

.elk-inline-team .elk-inline-link {
  display: inline-flex;
  max-width: 100%;
  min-height: 38px;
  margin: 10px 8px 0 0;
  padding: 10px 14px;
  align-items: center;
  justify-content: center;

  background: var(--elk-black);
  color: var(--elk-white);
  border: 1px solid var(--elk-black);

  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.04em;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.elk-inline-team .elk-inline-link:hover,
.elk-inline-team .elk-inline-link:focus-visible {
  background: var(--elk-white);
  color: var(--elk-black);
  opacity: 1;
}

.elk-inline-team-image {
  align-self: start;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
}

.elk-inline-team-image img {
  aspect-ratio: 4 / 5;
  object-position: center top;
}

.elk-inline-team-image:empty {
  display: none;
}

.elk-inline-team:has(.elk-inline-team-image:empty) {
  grid-template-columns: minmax(0, 760px);
}

.elk-inline-loading,
.elk-inline-error {
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-align: center;
}

.elk-inline-loading {
  opacity: 0.5;
  text-transform: uppercase;
}

.elk-inline-event-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}

.elk-inline-event-layout.no-photo {
  grid-template-columns: minmax(0, 760px);
}

.elk-inline-panel:has(.elk-inline-event) {
  margin-top: 22px;
  margin-bottom: 34px;
  padding: 48px;

  background: var(--elk-paper);
  border: 1px solid rgba(0, 0, 0, 0.24);
}

.elk-inline-panel:has(.elk-inline-event) .elk-inline-close {
  top: 14px;
  right: 14px;

  background: var(--elk-black);
  color: var(--elk-white);
  border-color: var(--elk-black);
}

.elk-inline-panel:has(.elk-inline-event) .elk-inline-close:hover,
.elk-inline-panel:has(.elk-inline-event) .elk-inline-close:focus-visible {
  background: var(--elk-white);
  color: var(--elk-black);
}

.elk-inline-panel .elk-inline-event-layout {
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  gap: clamp(36px, 5vw, 64px);
}

.elk-inline-panel .elk-inline-event-layout.no-photo {
  grid-template-columns: minmax(0, 900px);
}

.elk-inline-event-photo {
  overflow: hidden;
  background: rgba(0, 0, 0, 0.06);
}

.elk-inline-event-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(100%);
}

.elk-inline-event-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 32px;
  align-content: start;
  min-width: 0;
  max-width: 900px;
}

.elk-inline-event-datetime,
.elk-inline-event-content > .elk-inline-title,
.elk-inline-event-content > .elk-inline-text {
  grid-column: 1 / -1;
}

.elk-inline-event-datetime {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 22px;
}

.elk-inline-event-datetime span {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 6px 9px;

  border: 1px solid rgba(0, 0, 0, 0.32);

  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.elk-inline-event-content > .elk-inline-title {
  max-width: 16ch;
  margin: 0 0 24px;

  font-size: clamp(42px, 4.5vw, 60px);
  line-height: 0.92;
  letter-spacing: -0.065em;
}

.elk-inline-event-content > .elk-inline-text {
  max-width: 72ch;
}

.elk-inline-event-content > .elk-inline-text p {
  margin: 0 0 1.15em;
  font-size: 14px;
  line-height: 1.62;
}

.elk-inline-event-content > .elk-inline-text h2,
.elk-inline-event-content > .elk-inline-text h3 {
  max-width: 20ch;
  margin: 34px 0 14px;

  font-family: var(--elk-font-body);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.elk-inline-related-cards {
  margin-top: 36px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, 0.22);
}

.elk-inline-related-cards > h3 {
  margin-bottom: 16px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elk-inline-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.elk-inline-mini-card {
  flex: 0 1 150px;
  min-width: 0;
}

.elk-inline-mini-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(100%);
}

.elk-inline-mini-title {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.15;
}

.elk-inline-related-location .elk-inline-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.elk-inline-mini-card--location {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  padding: 12px;

  background: var(--elk-white);
  border: 1px solid rgba(0, 0, 0, 0.22);
}

.elk-inline-mini-card--location:not(:has(.elk-inline-mini-image)) {
  grid-template-columns: 1fr;
}

.elk-inline-mini-card--location .elk-inline-mini-image img {
  aspect-ratio: 1;
}

.elk-inline-mini-card--location .elk-inline-mini-content {
  min-width: 0;
  align-self: center;
}

.elk-inline-mini-card--location .elk-inline-mini-title {
  margin-top: 0;
  font-size: 15px;
}

.elk-inline-mini-address {
  margin-top: 6px;
  color: var(--elk-grey);
  font-size: 11px;
  line-height: 1.4;
}

.elk-inline-mini-card--location .elk-location-actions {
  margin-top: 12px;
}

.elk-inline-mini-card--location .elk-location-action {
  min-height: 32px;
  padding: 7px 9px;
  font-size: 9px;
}

@media (max-width: 900px) {
  .elk-inline-panel:has(.elk-inline-author) {
    padding: 56px 24px 28px;
  }

  .elk-inline-panel:has(.elk-inline-team) {
    padding: 56px 24px 28px;
  }

  .elk-inline-panel:has(.elk-inline-event) {
    padding: 56px 24px 28px;
  }

  .elk-inline-author,
  .elk-inline-team {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .elk-inline-author-image,
  .elk-inline-team-image {
    order: 1;
  }

  .elk-inline-author-image {
    width: min(100%, 320px);
  }

  .elk-inline-team-image {
    width: min(100%, 320px);
  }

  .elk-inline-author-content,
  .elk-inline-team-content {
    order: 2;
  }

  .elk-inline-event-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .elk-inline-event-photo {
    width: min(100%, 320px);
    max-width: none;
  }
}

@media (max-width: 520px) {
  .elk-inline-panel:has(.elk-inline-author) {
    margin-inline: 0;
    padding-inline: 18px;
  }

  .elk-inline-panel:has(.elk-inline-team) {
    margin-inline: 0;
    padding-inline: 18px;
  }

  .elk-inline-panel:has(.elk-inline-event) {
    margin-inline: 0;
    padding-inline: 18px;
  }

  .elk-inline-author-title {
    font-size: clamp(36px, 12vw, 48px);
  }

  .elk-inline-author-image {
    width: min(100%, 260px);
  }

  .elk-inline-team-title {
    font-size: clamp(36px, 12vw, 48px);
  }

  .elk-inline-team-image {
    width: min(100%, 260px);
  }

  .elk-inline-event-content {
    grid-template-columns: 1fr;
  }

  .elk-inline-event-content > .elk-inline-title {
    font-size: clamp(36px, 12vw, 48px);
  }

  .elk-inline-event-photo {
    width: min(100%, 260px);
  }

  .elk-inline-mini-card--location {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    padding: 10px;
  }
}

@media (max-width: 1100px) and (min-width: 768px) {
  body.single-elk_edition .elk-authors-section .elk-related-grid .e-loop-item {
    flex-basis: calc(33.333% - 16px) !important;
  }
}

@media (max-width: 767px) {
  body.single-elk_edition .elk-edition-info > .e-con:first-child {
    flex-direction: column !important;
    gap: 24px !important;
  }

  body.single-elk_edition .elk-edition-info > .e-con:first-child > .e-con {
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.single-elk_edition .elk-edition-info > .e-con:first-child > .e-con:last-child {
    align-items: flex-start !important;
    text-align: left;
  }

  body.single-elk_edition .elk-edition-title,
  body.single-elk_edition .elk-edition-title .elementor-heading-title {
    font-size: clamp(32px, 10vw, 44px);
  }

  body.single-elk_edition .elk-edition-focus,
  body.single-elk_edition .elk-edition-focus .elementor-heading-title {
    max-width: 9ch;
    font-size: clamp(52px, 17vw, 72px);
    text-align: left;
  }

  body.single-elk_edition .elk-authors-section .elk-related-grid .e-loop-item {
    flex: 0 0 calc(50% - 12px) !important;
    min-width: 0 !important;
  }

  body.single-elk_edition .elk-events-section .e-loop-item,
  body.single-elk_edition .elk-locations-section .elk-related-grid .e-loop-item {
    flex: 1 1 100% !important;
    max-width: none;
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  body.single-elk_edition .elk-authors-section .elk-related-grid .e-loop-item {
    flex-basis: 100% !important;
  }
}
