/* MOVIELOVER BULK LAYOUT v6 — Aaliyah-style reference layout. */
:root {
  --ink: #100b17;
  --ink-soft: #251633;
  --panel: rgba(15, 10, 24, 0.96);
  --panel-soft: rgba(37, 21, 49, 0.92);
  --blue: #f0e6f3;
  --blue-bright: #fff5fb;
  --pink: #d7a6cf;
  --pink-bright: #f3cde8;
  --line: rgba(215, 166, 207, 0.38);
  --shadow: rgba(0, 0, 0, 0.55);
  --ink-rgb: 16, 11, 23;
  --ink-soft-rgb: 37, 21, 51;
  --blue-rgb: 240, 230, 243;
  --pink-rgb: 215, 166, 207;
}

* {
  box-sizing: border-box;
}

html {
  min-width: 360px;
  background: var(--ink-soft);
}

body {
  margin: 0;
  padding: 28px 18px 18px;
  color: var(--blue);
  font-family: Arial, Verdana, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 1px;
  text-align: center;
  background:
    radial-gradient(circle at 78% 12%, rgba(var(--pink-rgb), .26), transparent 34rem),
    radial-gradient(circle at 18% 78%, rgba(var(--blue-rgb), .12), transparent 28rem),
    var(--ink);
  background-attachment: fixed;
}

body > table {
  width: min(100%, 1020px) !important;
  margin: 0 auto 20px;
  padding: 12px !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  color: var(--blue);
  background: linear-gradient(180deg, rgba(var(--ink-rgb), .98), rgba(var(--ink-soft-rgb), .98));
  box-shadow: 0 24px 65px var(--shadow), inset 0 1px rgba(255,255,255,.04);
}

body > table td {
  width: auto !important;
}

body > table tr:first-child td {
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  background: var(--ink);
}

body > table tr:first-child img[src*="header"] {
  display: block;
  width: min(100%, 900px) !important;
  max-width: 900px !important;
  height: auto !important;
  margin: 0 auto;
  border: 3px double var(--pink, var(--main-border, #85516a)) !important;
  border-radius: 8px !important;
  outline: none !important;
  outline-offset: 0 !important;
}

body > table tr:nth-child(2) > td {
  padding: 24px clamp(18px, 5vw, 64px) 42px;
}

a:link,
a:visited,
a:active {
  color: var(--pink);
  font-size: inherit;
  font-weight: 700;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color .18s ease, text-shadow .18s ease;
}

a:hover,
a:focus-visible {
  color: var(--pink-bright);
  text-decoration: underline;
  text-shadow: 0 0 14px rgba(243, 205, 232, .35);
}

/* The first center block is the main menu in the current PHP templates. */
body > table tr:nth-child(2) > td > center:first-of-type {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 auto 14px;
}

body > table tr:nth-child(2) > td > center:first-of-type a {
  display: inline-block;
  min-width: 84px;
  padding: 9px 14px;
  border: 1px solid rgba(215, 166, 207, .36);
  border-radius: 999px;
  color: var(--pink-bright);
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: rgba(215, 166, 207, .10);
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}

body > table tr:nth-child(2) > td > center:first-of-type a:hover,
body > table tr:nth-child(2) > td > center:first-of-type a:focus-visible {
  border-color: rgba(243, 205, 232, .80);
  background: rgba(243, 205, 232, .16);
  text-decoration: none;
}

.head {
  max-width: 760px;
  margin: 12px auto 42px;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--blue);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 1.5px;
}

.contents,
.fanlisting-stats-wrap {
  max-width: 780px;
  margin-inline: auto;
}

.fanlisting-stats-text {
  margin: 0 auto 34px;
  padding: 10px 0 20px;
  color: var(--blue);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 1.5px;
}

.fanlisting-stats-text font[size="6"] {
  display: inline-block;
  margin: 8px 0 2px;
  color: var(--blue-bright);
  font-size: 18px !important;
  line-height: 1.35;
  letter-spacing: 2px;
}

.fanlisting-stats-text font[size="4"] {
  color: var(--blue-bright);
  font-size: 17px !important;
}

.fanlisting-stats,
.fanlisting-stats-text p {
  margin: 8px auto 18px;
  line-height: 1.65;
}

/* Collapse the old groups of repeated BR tags into one tidy line break. */
.fanlisting-stats-text br + br {
  display: none;
}

.fanlisting-stats-text strong,
.fanlisting-stats-text em {
  color: var(--pink-bright);
}

.fanlisting-stats-text .fanlisting-whatis {
  margin-top: 16px;
}

strong {
  color: var(--blue-bright);
}

em {
  color: var(--pink-bright);
}

iframe {
  display: block;
  width: min(100%, 560px) !important;
  max-width: 100%;
  margin: 28px auto 0;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.34);
}

.music-player {
  display: flex;
  box-sizing: border-box;
  width: min(96%, 468px);
  height: 75px;
  margin: 24px auto 28px;
  padding: 10px 14px;
  align-items: center;
  border: 2px solid var(--pink);
  border-radius: 16px;
  background: var(--panel);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .32);
  text-align: center;
}

.music-player audio {
  display: block;
  width: 100%;
  height: 50px;
  margin: 0 auto;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  color-scheme: dark;
  accent-color: var(--pink);
  box-shadow: none;
}

img {
  max-width: 100%;
}

/* Fanatically forms and lists */
.fan-form,
.fan-member-list-wrap {
  max-width: 760px;
  margin: 24px auto;
  text-align: left;
}

.fan-form input[type="text"],
.fan-form input[type="email"],
.fan-form input[type="url"],
.fan-form input[type="file"],
.fan-form input[type="password"],
.fan-form select,
.fan-form textarea {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid rgba(243, 205, 232, .28);
  border-radius: 9px;
  color: var(--blue-bright);
  background: rgba(255,255,255,.07);
}

.fan-form button,
.fan-donate-toggle {
  padding: 10px 20px;
  border: 1px solid rgba(215, 166, 207, .60);
  border-radius: 999px;
  color: var(--ink);
  font-weight: 700;
  cursor: pointer;
  background: var(--pink);
}

.fan-member-list {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  border-collapse: separate;
  border-spacing: 0;
  background: rgba(243, 205, 232, .035);
}

.fan-member-list th,
.fan-member-list td {
  padding: 11px 13px;
  border-bottom: 1px solid rgba(243, 205, 232, .10);
}

.fan-member-list th {
  color: var(--blue-bright);
  background: rgba(243, 205, 232, .08);
}

body > center:last-of-type {
  max-width: 1020px;
  margin: 0 auto;
  padding: 4px 16px 24px;
  color: var(--pink-bright);
  font-size: 20px;
  line-height: 1.8;
}

body > center:last-of-type a {
  color: var(--pink-bright) !important;
  font-size: 20px;
}

@media (max-width: 700px) {
  body {
    padding: 10px 7px 14px;
    font-size: 15px;
    letter-spacing: .65px;
  }

  body > table {
    padding: 6px !important;
    border-radius: 11px;
  }

  body > table tr:nth-child(2) > td {
    padding: 18px 12px 30px;
  }

  body > table tr:nth-child(2) > td > center:first-of-type {
    gap: 7px;
  }

  body > table tr:nth-child(2) > td > center:first-of-type a {
    min-width: 0;
    padding: 8px 10px;
    font-size: 12px;
  }

  .head {
    margin-bottom: 28px;
    padding-inline: 8px;
  }

  .fanlisting-stats-text {
    padding: 8px 4px 18px;
  }

  iframe {
    width: 100% !important;
  }

  .music-player {
    width: 96%;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* 1989-style sizing with the Aaliyah banner palette. */
.head {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 1.5px;
}

.fanlisting-intro {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.compact-stats {
  box-sizing: border-box;
  width: min(86%, 720px);
  max-width: 720px;
  margin: 18px auto 22px;
  padding: 24px 34px;
  border: 3px double var(--pink);
  border-radius: 2px;
  color: var(--blue);
  background-image:
    linear-gradient(rgba(var(--ink-rgb), .84), rgba(var(--ink-soft-rgb), .76)),
    url("https://movieloverfls.org/movielover-banner.gif");
  background-position: center, center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .45);
  text-align: center;
}

.stats-title {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 18px;
  color: var(--pink-bright);
  font-family: Georgia, serif;
  font-size: 22px;
  font-weight: normal;
  letter-spacing: 4px;
  text-align: center;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .9);
}

.stats-title::before,
.stats-title::after {
  content: "";
  height: 1px;
  flex: 1;
  background: color-mix(in srgb, var(--pink-bright) 68%, transparent);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.stat-card {
  display: flex;
  min-height: 102px;
  padding: 12px 9px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid color-mix(in srgb, var(--blue) 58%, transparent);
  background: rgba(var(--ink-rgb), .80);
  box-shadow: inset 0 0 20px rgba(0, 0, 0, .24);
  text-align: center;
}

.stats-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}

.detail-card {
  padding: 13px 18px;
  border: 1px solid color-mix(in srgb, var(--blue) 45%, transparent);
  border-left: 5px solid var(--pink);
  background: rgba(var(--ink-rgb), .82);
  text-align: left;
}

.stat-label {
  color: var(--blue);
  font-family: Georgia, serif;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .9);
}

.stat-value {
  margin-top: 7px;
  color: var(--pink-bright);
  font-family: Georgia, serif;
  font-size: 21px;
  line-height: 1.25;
  text-transform: uppercase;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .9);
}

.fans-exchange {
  margin: 34px auto 18px !important;
  text-align: center;
}

.fans-exchange img {
  width: 200px !important;
  max-width: 200px !important;
  height: auto !important;
}

.mle-exchange {
  width: 202px;
  margin: 0 auto 12px;
  text-align: center;
  line-height: 1;
}

.mle-exchange-label {
  width: 202px;
  margin: 0 0 2px;
  line-height: 0;
}

.mle-exchange-home {
  display: inline-block;
  text-decoration: none;
}

.mle-exchange-title-image {
  display: block;
  width: 170px !important;
  height: 44px !important;
  margin: 0 auto;
  border: 0 !important;
}

.mle-banner-frame {
  width: 200px;
  height: 40px;
  margin: 0 auto;
  border: 0 !important;
  background: #120f13;
  overflow: hidden;
  box-sizing: content-box;
}

#mle-banner-link,
#mle-banner-image {
  display: block;
  width: 200px !important;
  height: 40px !important;
  border: 0 !important;
}

#mle-banner-link {
  text-decoration: none;
}

#mle-banner-image {
  object-fit: cover;
}

/* Apply the matching banner border on every page, including home pages whose
   header image has a custom filename instead of "header" in its URL. */
body > table tr:first-child img[src*="header"][src],
body > table tr:first-child img,
body img[src*="header"] {
  display: block;
  box-sizing: border-box;
  border: 3px double var(--pink, var(--main-border, #85516a)) !important;
  border-radius: 8px !important;
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .35) !important;
}

/* Match the 1989 footer while keeping Powered by on index.php only. */
.site-footer {
  display: block;
  box-sizing: border-box;
  width: min(100%, 1020px);
  max-width: 1020px;
  margin: 0 auto;
  padding: 10px 16px 28px;
  border: 0 !important;
  background: transparent !important;
  color: var(--pink-bright);
  text-align: center;
  font-size: 20px;
  line-height: 1.8;
}

.site-footer > br,
.site-footer p br {
  display: none;
}

.site-footer .powered-by {
  display: block;
  margin: 0 0 18px;
}

.site-footer > p {
  margin: 18px 0 0;
}

.site-footer a,
.site-footer strong {
  color: var(--pink-bright) !important;
  font-size: 20px;
}

.site-footer p {
  color: var(--pink-bright) !important;
}

@media (max-width: 700px) {
  .head,
  .fanlisting-intro {
    font-size: 16px;
  }

  .compact-stats {
    width: 96%;
    max-width: none;
    padding: 18px 16px;
  }

  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }

  .stats-details {
    grid-template-columns: 1fr;
  }

  .stats-title {
    font-size: 18px;
    letter-spacing: 2px;
  }

  .site-footer,
  .site-footer a,
  .site-footer strong {
    font-size: 16px;
  }
}

/* Keep the 1989 palette on every page, including legacy fanlist content. */
body,
body > table,
body > table td,
body > table th,
body p,
body li,
body dt,
body dd,
body label,
body legend,
body blockquote,
body .content,
body #content {
  color: var(--blue) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  color: var(--blue-bright) !important;
}

body a:link,
body a:visited {
  color: var(--pink) !important;
}

body a:hover,
body a:focus-visible,
body a:active {
  color: var(--pink-bright) !important;
}

body b,
body strong {
  color: var(--blue-bright) !important;
}

body em {
  color: var(--pink-bright) !important;
}

/* MOVIELOVER COMPACT STATS STANDARD BEGIN
   Installer standard for the smaller stats box and tighter exchange spacing. */
.compact-stats {
  width: min(88%, 600px) !important;
  max-width: 600px !important;
  margin: 16px auto 20px !important;
  padding: 15px 18px !important;
}

.stats-title {
  margin-bottom: 10px !important;
  gap: 9px !important;
  font-size: 18px !important;
  letter-spacing: 2.5px !important;
}

.stats-grid {
  gap: 7px !important;
}

.stat-card {
  min-height: 66px !important;
  padding: 7px 5px !important;
}

.stats-details {
  gap: 7px !important;
  margin-top: 7px !important;
}

.detail-card {
  padding: 7px 10px !important;
  border-left-width: 3px !important;
}

.stat-label {
  font-size: 11px !important;
  line-height: 1.15 !important;
  letter-spacing: .8px !important;
}

.stat-value {
  margin-top: 3px !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
}

/* Keep the Movie Lover collective banner in the stats box.
   Existing palette overlay/colors remain in control. */
.compact-stats {
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: cover, cover !important;
}

/* Tighter spacing between the two exchange sections. */
.fans-exchange {
  margin-top: 22px !important;
  margin-bottom: 12px !important;
}

.fans-exchange .mle-exchange,
.fans-exchange > * + * {
  margin-top: 8px !important;
}

@media (max-width: 700px) {
  .compact-stats {
    width: 94% !important;
    max-width: 94% !important;
    padding: 12px 10px !important;
  }

  .stats-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .stats-details {
    grid-template-columns: 1fr !important;
  }
}
/* MOVIELOVER COMPACT STATS STANDARD END */

/* MOVIELOVER AUTO PALETTE BEGIN */
:root{
  --ink: #210100;
  --ink-soft: #410300;
  --panel: rgba(33, 1, 0, .96);
  --panel-soft: rgba(65, 3, 0, .92);
  --blue: #F9CE7B;
  --blue-bright: #F5C97E;
  --pink: #C7772C;
  --pink-bright: #F3CC84;
  --line: rgba(199, 119, 44, .40);
  --ink-rgb: 33, 1, 0;
  --ink-soft-rgb: 65, 3, 0;
  --blue-rgb: 249, 206, 123;
  --pink-rgb: 199, 119, 44;
  --site-text: #F9CE7B;
  --main-text: #F5C97E;
  --link-color: #F3CC84;
  --main-border: #C7772C;
  --stats-label: #F9CE7B;
  --stats-value: #F5C97E;
  --stats-text: #F9CE7B;
  --stats-accent: #F5C97E;
}
/* MOVIELOVER AUTO PALETTE END */

/* MOVIELOVER AUTO TEXT ROLES BEGIN */
body,body p,body td,body li,body .content,body #content,.head,.contents,.fanlisting-stats,.fanlisting-stats-text,.compact-stats,.detail-card{color:var(--site-text)!important}
body h1,body h2,body h3,body h4,body h5,body h6,body b,body strong,.stats-title,.stat-value{color:var(--main-text)!important}
body a:link,body a:visited,body a:hover,body a:focus-visible{color:var(--link-color)!important}
.compact-stats,.compact-stats .detail-card{color:var(--stats-label)!important}
.compact-stats .stat-label{color:var(--stats-label)!important}
.compact-stats .stats-title,.compact-stats .stat-value{color:var(--stats-value)!important}
.compact-stats{border-color:var(--main-border)!important;background-image:linear-gradient(rgba(var(--ink-rgb),.84),rgba(var(--ink-soft-rgb),.76)),url("https://movieloverfls.org/movielover-banner.gif")!important;background-position:center;background-repeat:no-repeat;background-size:cover}
.music-player{background:var(--panel-soft)!important;border:2px solid var(--main-border)!important;border-radius:16px!important}
audio{border:2px solid var(--main-border)!important;border-radius:16px!important;box-sizing:border-box}
.music-player audio{border:0!important;border-radius:0!important;accent-color:var(--main-border)!important}
/* MOVIELOVER AUTO TEXT ROLES END */
