/* =============================================================
   LustLit Wiki â Dedicated Stylesheet
   Covers: hub, world tiles, world landing, cat tiles, entry list
   ============================================================= */

/* ---------------------------------------------------------------
   WIKI HUB â World Selection Page
--------------------------------------------------------------- */
.wiki-hub {
  max-width: 1100px;
  margin: 0 auto;
  padding: 112px var(--space-md) var(--space-xl);
}

.wiki-hub__header {
  text-align: center;
  margin-bottom: var(--space-xl);
}

.wiki-hub__title {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: var(--space-sm);
}

.wiki-hub__blurb {
  color: var(--text-secondary);
  font-size: 1.1rem;
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.7;
}

/* Keep tile title and description stable on hover — Explore CTA stays red */
a.wiki-world-tile:hover .wiki-world-tile__name,
a.wiki-world-tile:focus .wiki-world-tile__name {
  color: var(--text-primary);
}
a.wiki-world-tile:hover .wiki-world-tile__desc,
a.wiki-world-tile:focus .wiki-world-tile__desc {
  color: var(--text-secondary);
}

/* World tiles grid */
.wiki-hub__worlds {
  display: flex;
  gap: var(--space-lg);
  justify-content: center;
  align-items: stretch;
}

/* ---------------------------------------------------------------
   WORLD TILES â tall columns on desktop, squares stacked on mobile
--------------------------------------------------------------- */
.wiki-world-tile {
  position: relative;
  flex: 1;
  max-width: 480px;
  min-height: 520px;
  border-radius: var(--tile-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-decoration: none;
  border: 1px solid var(--border);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

a.wiki-world-tile:hover {
  transform: translateY(-4px);
  border-color: var(--ll-red);
}

.wiki-world-tile__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.4s ease;
}

a.wiki-world-tile:hover .wiki-world-tile__bg {
  transform: scale(1.04);
}

/* Placeholder gradients until real art arrives */
.wiki-world-tile--blackthorn .wiki-world-tile__bg {
  background: linear-gradient(160deg, #1a0a0a 0%, #2d1010 40%, #0d0d1a 100%);
}

.wiki-world-tile--obscura .wiki-world-tile__bg {
  background: linear-gradient(160deg, #0a0a1a 0%, #1a0a2d 40%, #0d1a0d 100%);
}

/* Gradient overlay so text is always readable */
.wiki-world-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.1) 100%);
  pointer-events: none;
}

.wiki-world-tile__content {
  position: relative;
  z-index: 2;
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wiki-world-tile__label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ll-red);
}

.wiki-world-tile__name {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 800;
  color: var(--text-primary);
  margin: 0;
  line-height: 1.1;
}

.wiki-world-tile__desc {
  color: var(--text-secondary);
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 4px 0 8px;
}

.wiki-world-tile__cta {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--ll-red);
  letter-spacing: 0.05em;
}

/* Coming soon state */
.wiki-world-tile--coming-soon {
  cursor: default;
  opacity: 0.75;
}

.wiki-world-tile__coming {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 4px 12px;
  width: fit-content;
}

/* ---------------------------------------------------------------
   WORLD LANDING â Blackthorn / Obscura header
--------------------------------------------------------------- */
.wiki-tax {
  max-width: 1100px;
  margin: 0 auto;
  padding: var(--space-xl) var(--space-md);
}

.wiki-world-header {
  margin-bottom: var(--space-xl);
}

.wiki-world-header__art {
  position: relative;
  min-height: 400px;
  border-radius: var(--tile-radius);
}

.wiki-world-art--obscura {
  background: linear-gradient(160deg, #0a0a1a 0%, #1a0a2d 40%, #0d1a0d 100%);
}

.wiki-world-header__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 100%);
}

.wiki-world-header__text {
  position: relative;
  z-index: 2;
  padding: var(--space-xl) var(--space-lg);
}

.wiki-world-header__eyebrow {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ll-red);
  margin-bottom: var(--space-sm);
}

.wiki-world-header__title {
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 800;
  color: var(--text-primary);
  margin: 0 0 var(--space-sm);
  line-height: 1.05;
}

.wiki-world-header__desc {
  color: var(--text-secondary);
  font-size: 1.05rem;
  max-width: 560px;
  line-height: 1.7;
  margin: 0;
}

/* ---------------------------------------------------------------
   CATEGORY TILES â People / Places / Lore (world children)
--------------------------------------------------------------- */
.wiki-cat-tiles {
  display: flex;
  gap: var(--space-lg);
  justify-content: center;
}

.wiki-cat-tile {
  position: relative;
  flex: 1;
  max-width: 340px;
  min-height: 360px;
  border-radius: var(--tile-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-decoration: none;
  border: 1px solid var(--border);
  background: var(--bg-card);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.wiki-cat-tile:hover {
  transform: translateY(-3px);
  border-color: var(--ll-red);
}

.wiki-cat-tile__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #1a1a2e 0%, #16213e 100%);
}

.wiki-cat-tile--people .wiki-cat-tile__bg   { background: linear-gradient(160deg, #1f0f0f 0%, #2d1515 100%); }
.wiki-cat-tile--places .wiki-cat-tile__bg   { background: linear-gradient(160deg, #0f1f1f 0%, #15252d 100%); }
.wiki-cat-tile--lore .wiki-cat-tile__bg     { background: linear-gradient(160deg, #1a1510 0%, #2d2315 100%); }

.wiki-cat-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
  pointer-events: none;
}

.wiki-cat-tile__content {
  position: relative;
  z-index: 2;
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wiki-cat-tile__name {
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--text-primary);
  margin: 0;
}

.wiki-cat-tile__desc {
  color: var(--text-secondary);
  font-size: 0.85rem;
  line-height: 1.6;
  margin: 2px 0 6px;
}

.wiki-cat-tile__count {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ll-red);
}

/* Sub-cat tiles (smaller) */
.wiki-cat-tiles--sub .wiki-cat-tile {
  min-height: 160px;
}

/* ---------------------------------------------------------------
   CATEGORY HEADER â breadcrumb + title
--------------------------------------------------------------- */
.wiki-cat-header {
  margin-bottom: var(--space-xl);
}

.wiki-cat-header__breadcrumb {
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-bottom: var(--space-sm);
  display: flex;
  align-items: center;
  gap: 6px;
}

.wiki-cat-header__breadcrumb a {
  color: var(--ll-red);
  text-decoration: none;
}

.wiki-cat-header__breadcrumb a:hover { text-decoration: underline; }

.wiki-cat-header__sep { color: var(--border); }

.wiki-cat-header__title {
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--text-primary);
  margin: 0 0 var(--space-sm);
}

.wiki-cat-header__desc {
  color: var(--text-secondary);
  font-size: 1rem;
  max-width: 560px;
  line-height: 1.7;
}

/* ---------------------------------------------------------------
   ENTRY LIST â actual wiki posts
--------------------------------------------------------------- */
.wiki-entry-list {
  list-style: none;
  margin: var(--space-lg) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wiki-entry-list__item {
  border-bottom: 1px solid var(--border);
}

.wiki-entry-list__link {
  display: flex;
  align-items: baseline;
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-sm);
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.15s ease;
}

.wiki-entry-list__link:hover {
  background: var(--bg-card);
}

.wiki-entry-list__title {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary);
  flex-shrink: 0;
}

.wiki-entry-list__link:hover .wiki-entry-list__title {
  color: var(--ll-red);
}

.wiki-entry-list__excerpt {
  color: var(--text-muted);
  font-size: 0.85rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.wiki-empty {
  color: var(--text-muted);
  font-style: italic;
  padding: var(--space-lg) 0;
}

/* ---------------------------------------------------------------
   THE LUSTLIT GIRLS â author tiles in wiki entry
--------------------------------------------------------------- */
.wiki-girls-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: var(--space-md);
  margin: var(--space-lg) 0;
}

.wiki-girl-tile {
  display: flex;
  flex-direction: column;
  background: var(--bg-card);
  border-radius: var(--tile-radius);
  padding: var(--space-md);
  text-decoration: none;
  border: 1px solid var(--border);
  transition: border-color 0.2s, transform 0.2s;
}

.wiki-girl-tile:hover {
  border-color: var(--ll-red);
  transform: translateY(-2px);
}

.wiki-girl-name {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.wiki-girl-archetype {
  font-size: 0.85rem;
  color: var(--ll-red);
  font-style: italic;
  margin-bottom: 6px;
}

.wiki-girl-meta {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.wiki-intro {
  color: var(--text-secondary);
  font-size: 1.05rem;
  margin-bottom: var(--space-lg);
}

/* ---------------------------------------------------------------
   RESPONSIVE â mobile: square tiles stacked
--------------------------------------------------------------- */
@media (max-width: 640px) {
  .wiki-hub__worlds {
    flex-direction: column;
    align-items: center;
  }

  .wiki-world-tile {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .wiki-cat-tiles {
    flex-direction: column;
    align-items: center;
  }

  .wiki-cat-tile {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .wiki-cat-tiles--sub .wiki-cat-tile {
    aspect-ratio: unset;
    min-height: 120px;
  }
}

@media (max-width: 1024px) and (min-width: 641px) {
  .wiki-world-tile {
    min-height: 400px;
  }

  .wiki-cat-tile {
    min-height: 280px;
  }
}

/* ---------------------------------------------------------------
   WIKI CONTENT LINKS — always red, never hover-dependent
--------------------------------------------------------------- */
.single-wiki .entry-content a,
.single-wiki .wiki-intro a,
.wiki-tax .wiki-entry-list__link .wiki-entry-list__excerpt a {
  color: var(--ll-red);
  text-decoration: none;
}
.single-wiki .entry-content a:hover,
.single-wiki .wiki-intro a:hover {
  text-decoration: underline;
}