/* ============================================================
   t.o.d. pink - Divi glue.
   tod.css carries the night; this file makes Divi's wrappers
   (.et_pb_section / .et_pb_row / modules) step out of the way and
   lets the same classes work when they ride on Divi modules.
   ============================================================ */

/* the page canvas wears the night (body background comes from tod.css) */
#page-container,
#main-content,
#et-main-area {
  background-color: transparent;
  color: var(--cream);
}

/* ---------- our sections keep their own rhythm ---------- */

.et_pb_section.tod-artist,
.et_pb_section.h-section,
.et_pb_section.h-finale {
  background-color: transparent;
}

/* !important throughout this geometry block: Divi generates per-module
   CSS (e.g. .et_pb_section_0.et_pb_section{padding:0}) that loads after
   this file and otherwise squashes the sections' breathing room - the
   "gedraengt" look. Our classed sections own their rhythm, full stop. */

.et_pb_section.tod-artist { padding: 0 !important; }

.et_pb_section.h-section {
  padding: clamp(4rem, 10vh, 7rem) var(--pad) !important;
  max-width: 72rem;
  margin: 0 auto !important;
  display: grid;
  gap: 2.2rem;
}

.et_pb_section.h-finale {
  margin-top: clamp(4rem, 10vh, 7rem) !important;
  padding: clamp(6rem, 16vh, 10rem) var(--pad) clamp(4rem, 10vh, 6rem) !important;
  background: var(--finale-grad);
  text-align: center;
}

/* rows inside our sections: full width, no extra padding */
.et_pb_section.tod-artist .et_pb_row:not(.tod-artist-main),
.et_pb_section.h-section .et_pb_row,
.et_pb_section.h-finale .et_pb_row {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* the hero row is the artist column from the block theme - it keeps its
   own geometry (the generic full-width row rule above must not win) */
.et_pb_section.tod-artist .et_pb_row.tod-artist-main {
  display: block;
  width: 100% !important;
  max-width: 44rem !important;
  margin: 0 auto !important;
  padding: clamp(4.5rem, 12vh, 7rem) var(--pad) clamp(3rem, 9vh, 6rem) !important;
  text-align: center;
}

.et_pb_section.tod-artist .et_pb_text { text-align: center; }
.et_pb_section.tod-artist .tod-wave { justify-content: center; }

/* width-capped hero texts center their own box, not only their lines */
.et_pb_section.tod-artist .tod-artist-intro,
.et_pb_section.tod-artist .tod-artist-caption,
.et_pb_section.tod-artist .tod-artist-note {
  margin-left: auto;
  margin-right: auto;
}

/* an image module without a chosen image stays invisible (no ghost glow
   box). Matches an empty src attribute, a missing src and a module with
   no img at all - Divi renders each variant depending on context. The
   module stays reachable in the builder via hover and the layers panel. */
.et_pb_image.tod-artist-figure:not(:has(img[src]:not([src=""]))) { display: none; }

/* text modules: no trailing margins, inherit the night's type */
.et_pb_section.tod-artist .et_pb_text,
.et_pb_section.h-section .et_pb_text,
.et_pb_section.h-finale .et_pb_text {
  margin-bottom: 0;
  font-family: inherit;
  color: inherit;
}

/* set cards ride on Divi columns */
.et_pb_column.h-set { margin-bottom: 1.2rem; }
.et_pb_column.h-set .et_pb_module { margin-bottom: 0.8rem; }
.et_pb_column.h-set iframe { display: block; width: 100%; border: 0; border-radius: 3px; }

/* image module as the tilted portrait */
.et_pb_image.tod-artist-figure { margin: 0.5rem auto 0; }
.et_pb_image.tod-artist-figure img { display: block; width: 100%; height: auto; }

/* ---------- gallery module in the night frame ---------- */

.h-gallery-divi .et_pb_gallery_item {
  border: 1px solid var(--line-h);
  border-radius: 4px;
  overflow: hidden;
  background: var(--coal-2);
  position: relative;
}

/* faint CRT scanlines, the draft's trick */
.h-gallery-divi .et_pb_gallery_item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgb(var(--coal-rgb) / 0.12) 0 1px, transparent 1px 4px);
  pointer-events: none;
}

.h-gallery-divi .et_pb_gallery_image img { display: block; width: 100%; }

.h-gallery-divi .et_pb_gallery_title {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  color: var(--cream-dim);
  margin: 0.4rem 0.2rem;
}

.h-gallery-divi .et_pb_gallery_title::before { content: "▸ "; color: var(--ember); }

/* ---------- small resets so Divi defaults don't fight the look ---------- */

/* neon pill links inside text modules keep their glow on hover */
.et_pb_text .h-btn,
.et_pb_text .h-btn:hover { text-decoration: none; }

/* genre pills: Divi's text-module list styling stays out (no bullets) */
.et_pb_text ul.h-genres {
  list-style: none;
  padding: 0;
  margin: 0;
}
.et_pb_text ul.h-genres li { list-style: none; }
.et_pb_text ul.h-genres li::marker { content: none; }

/* date rows as standalone text modules: each carries its own line */
.et_pb_text .tod-date { border-top: 1px solid var(--line-h); }

/* ---------- Divi's own header, dressed for the night ----------
   Best: give the Glitta page the Blank Page template and use the neon
   nav module in the layout. If Divi's header stays, it at least wears
   the night instead of daylight white. */

#main-header,
#top-header {
  background: linear-gradient(rgb(var(--coal-rgb) / 0.95), rgb(var(--coal-rgb) / 0.8)) !important;
  box-shadow: none !important;
}

#top-menu a,
#et-top-navigation a {
  color: var(--cream-dim);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#top-menu a:hover,
#et-top-navigation a:hover { color: var(--uvy); opacity: 1; }

#et-top-navigation .mobile_menu_bar:before { color: var(--sun); }

/* pages that carry the night need no Divi page title above the hero */
#main-content:has(.tod-artist, .et_pb_section.h-section) .entry-title,
#left-area:has(.tod-artist, .et_pb_section.h-section) .entry-title {
  display: none;
}

/* Divi's own dividers stay out of the night */
.et_pb_section.tod-artist .et_pb_top_inside_divider,
.et_pb_section.tod-artist .et_pb_bottom_inside_divider,
.et_pb_section.h-finale .et_pb_top_inside_divider,
.et_pb_section.h-finale .et_pb_bottom_inside_divider { display: none; }
