/* Joker's Ledger — kavorenti.info custom styles */

:root {
  --jl-purple-deep: #1b0f2e;
  --jl-purple: #2c1a4d;
  --jl-purple-soft: #3d2766;
  --jl-gold: #d4a437;
  --jl-gold-light: #ecc766;
  --jl-cream: #f4ecdd;
  --jl-text: #e8e2f2;
  --jl-muted: #b3a8cc;
}

html { scroll-behavior: smooth; }

body {
  background-color: var(--jl-purple-deep);
  color: var(--jl-text);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

h1, h2, h3, h4, h5 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--jl-cream);
}

a { color: var(--jl-gold-light); }
a:hover { color: var(--jl-gold); }

.text-gold { color: var(--jl-gold) !important; }
.text-soft { color: var(--jl-muted) !important; }

/* Navbar */
.navbar-jl {
  background-color: rgba(27, 15, 46, 0.96);
  border-bottom: 1px solid rgba(212, 164, 55, 0.35);
}
.navbar-jl .navbar-brand {
  font-family: Georgia, serif;
  font-weight: 700;
  color: var(--jl-gold);
  letter-spacing: 0.5px;
}
.navbar-jl .nav-link { color: var(--jl-text); }
.navbar-jl .nav-link:hover,
.navbar-jl .nav-link.active { color: var(--jl-gold-light); }

/* Hero */
.hero {
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: center;
  background: linear-gradient(rgba(27,15,46,0.55), rgba(27,15,46,0.88)), url("../images/hero.jpg") center 30% / cover no-repeat;
}
.hero h1 { font-size: clamp(2rem, 5vw, 3.4rem); }

.page-head {
  background: linear-gradient(135deg, var(--jl-purple) 0%, var(--jl-purple-deep) 100%);
  border-bottom: 1px solid rgba(212, 164, 55, 0.3);
  padding: 4.5rem 0 3rem;
}

/* Cards */
.card-jl {
  background-color: var(--jl-purple);
  border: 1px solid rgba(212, 164, 55, 0.25);
  border-radius: 0.75rem;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  height: 100%;
}
.card-jl:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
}
.card-jl .card-title { color: var(--jl-gold-light); }
.card-jl .card-text { color: var(--jl-muted); }

.badge-genre {
  background-color: rgba(212, 164, 55, 0.16);
  color: var(--jl-gold-light);
  border: 1px solid rgba(212, 164, 55, 0.4);
  font-weight: 500;
}

/* Rating stars */
.stars { color: var(--jl-gold); letter-spacing: 2px; }

/* Buttons */
.btn-gold {
  background-color: var(--jl-gold);
  border: none;
  color: #241436;
  font-weight: 600;
}
.btn-gold:hover { background-color: var(--jl-gold-light); color: #241436; }

.btn-outline-gold {
  border: 1px solid var(--jl-gold);
  color: var(--jl-gold-light);
  background: transparent;
}
.btn-outline-gold:hover { background-color: var(--jl-gold); color: #241436; }

/* Sections */
.section-dark { background-color: var(--jl-purple-deep); }
.section-mid { background-color: var(--jl-purple); }

.divider-gold {
  width: 72px;
  height: 3px;
  background: var(--jl-gold);
  border: none;
  opacity: 1;
  margin: 0.75rem auto 0;
}

/* Review detail blocks */
.review-block {
  background-color: var(--jl-purple);
  border: 1px solid rgba(212, 164, 55, 0.25);
  border-radius: 0.75rem;
  scroll-margin-top: 90px;
}
.review-meta span { margin-right: 1rem; }

.verdict-box {
  background-color: rgba(212, 164, 55, 0.1);
  border-left: 4px solid var(--jl-gold);
  border-radius: 0 0.5rem 0.5rem 0;
}

/* Forms */
.form-jl .form-control,
.form-jl .form-select {
  background-color: var(--jl-purple-deep);
  border: 1px solid rgba(212, 164, 55, 0.35);
  color: var(--jl-text);
  font-size: 1rem;
}
.form-jl .form-control::placeholder { color: #8d80ab; }
.form-jl .form-control:focus,
.form-jl .form-select:focus {
  border-color: var(--jl-gold);
  box-shadow: 0 0 0 0.2rem rgba(212, 164, 55, 0.2);
  background-color: var(--jl-purple-deep);
  color: var(--jl-text);
}
.form-jl label { color: var(--jl-cream); }

.form-note { display: none; }
.form-note.visible { display: block; }

/* CTA band */
.cta-band {
  background: linear-gradient(120deg, var(--jl-purple-soft), var(--jl-purple));
  border-top: 1px solid rgba(212, 164, 55, 0.3);
  border-bottom: 1px solid rgba(212, 164, 55, 0.3);
}

/* Footer */
.footer-jl {
  background-color: #140b24;
  border-top: 1px solid rgba(212, 164, 55, 0.3);
  color: var(--jl-muted);
}
.footer-jl a { color: var(--jl-muted); text-decoration: none; }
.footer-jl a:hover { color: var(--jl-gold-light); }
.footer-jl h6 { color: var(--jl-cream); }

/* Policy pages */
.policy-content h2 { margin-top: 2.25rem; font-size: 1.45rem; }
.policy-content p, .policy-content li { color: var(--jl-muted); line-height: 1.75; }
.policy-content strong { color: var(--jl-cream); }

/* Tables */
.table-jl { color: var(--jl-text); border-color: rgba(212,164,55,0.3); }
.table-jl th { color: var(--jl-gold-light); }
.table-jl td { color: var(--jl-muted); }

img { max-width: 100%; }

@media (max-width: 576px) {
  .hero { min-height: 50vh; }
  .review-meta span { display: block; margin-bottom: 0.35rem; }
}
