/* ═══════════════════════════════════════════════════════════
   Custom styles that complement Tailwind CSS
   ═══════════════════════════════════════════════════════════ */

/* ── Bright white-blue background ── */
body {
  background:
    radial-gradient(ellipse at 12% 12%, rgba(96, 165, 250, 0.30), transparent 44%),
    radial-gradient(ellipse at 88% 16%, rgba(191, 219, 254, 0.45), transparent 40%),
    radial-gradient(ellipse at 50% 86%, rgba(59, 130, 246, 0.22), transparent 42%),
    linear-gradient(155deg, #ffffff 0%, #eff6ff 45%, #dbeafe 100%);
  min-height: 100vh;
}

html { scroll-behavior: smooth; }

/* ── Bright theme readability overrides ── */
body.theme-bright {
  color: #0f172a;
}

.nav-link-light {
  color: #334155;
}

.nav-link-light:hover {
  color: #0f172a;
  background: rgba(37, 99, 235, 0.08);
}

.footer-link-light:hover {
  color: #0f172a !important;
}

/* Professional light text hierarchy */
body.theme-bright main .text-white,
body.theme-bright main .text-white\/80,
body.theme-bright main .text-white\/70,
body.theme-bright main .text-white\/65,
body.theme-bright main .text-white\/60,
body.theme-bright main .text-white\/50,
body.theme-bright main .text-white\/45,
body.theme-bright main .text-white\/40,
body.theme-bright main .text-white\/35,
body.theme-bright main .text-white\/30,
body.theme-bright main .text-white\/25,
body.theme-bright main .text-white\/15 {
  color: #334155 !important;
}

body.theme-bright.legal-page main a {
  color: #1d4ed8;
}

body.theme-bright.legal-page main a:hover {
  color: #1e3a8a !important;
}

body.theme-bright main h1,
body.theme-bright main h2,
body.theme-bright main h3,
body.theme-bright main h4,
body.theme-bright main .font-extrabold,
body.theme-bright main .font-bold,
body.theme-bright main .font-semibold {
  color: #0f172a;
}

/* Light elevated cards and sections */
body.theme-bright main [class*="bg-white/"] {
  background-color: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 12px 28px rgba(30, 64, 175, 0.10);
}

body.theme-bright main [class*="border-white/"] {
  border-color: rgba(37, 99, 235, 0.18) !important;
}

body.theme-bright main [class*="divide-white/"] {
  border-color: rgba(37, 99, 235, 0.16) !important;
}

/* Keep hero/newsletter high-contrast where dark overlays are intentional */
body.theme-bright #top [class*="text-white"],
body.theme-bright #contact [class*="text-white"],
body.theme-bright #top .dot,
body.theme-bright #top #prevSlideBtn,
body.theme-bright #top #nextSlideBtn {
  color: #ffffff !important;
}

body.theme-bright #top [class*="bg-white/"],
body.theme-bright #contact [class*="bg-white/"] {
  background-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: none;
}

/* Table readability on light cards */
body.theme-bright table th {
  color: #1e3a8a !important;
}

body.theme-bright table td {
  color: #334155 !important;
}

/* Footer and legal pages */
body.theme-bright footer [class*="text-white"] {
  color: #1e3a8a !important;
}

body.theme-bright footer [class*="hover:text-white"]:hover {
  color: #0f172a !important;
}

/* Article content on light layout */
body.theme-bright .post-content h1,
body.theme-bright .post-content h2,
body.theme-bright .post-content h3,
body.theme-bright .post-content h4,
body.theme-bright .post-content strong {
  color: #0f172a;
}

body.theme-bright .post-content p,
body.theme-bright .post-content ul,
body.theme-bright .post-content ol,
body.theme-bright .post-content blockquote {
  color: #334155;
}

body.theme-bright .post-content h2,
body.theme-bright .post-content hr {
  border-color: rgba(15, 23, 42, 0.18);
}

body.theme-bright .post-content code {
  background: rgba(15, 23, 42, 0.08);
  color: #1d4ed8;
}

body.theme-bright .post-content pre {
  background: rgba(15, 23, 42, 0.06);
}

/* ── Hero slider show/hide ── */
.hero-slide { display: none; }
.hero-slide.active { display: block; animation: fadeSlide .45s ease; }

@keyframes fadeSlide {
  from { opacity: 0; transform: scale(1.01); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── EPL Table zone markers ── */
.row-ucl td:first-child  { box-shadow: inset 4px 0 0 #3b82f6; }
.row-uel td:first-child  { box-shadow: inset 4px 0 0 #f97316; }
.row-uecl td:first-child { box-shadow: inset 4px 0 0 #2dd4bf; }
.row-rel td:first-child  { box-shadow: inset 4px 0 0 #ef4444; }

.extra-row { display: none; }
.show-all .extra-row { display: table-row; }

/* ── CMS post content typography ── */
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4 { margin: 1.4rem 0 .5rem; line-height: 1.3; color: #eaf3ff; }
.post-content h1 { font-size: 1.65rem; font-weight: 800; }
.post-content h2 { font-size: 1.35rem; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: .3rem; }
.post-content h3 { font-size: 1.1rem; font-weight: 700; }
.post-content h4 { font-size: .98rem; font-weight: 600; }
.post-content p  { margin: 0 0 .9rem; color: rgba(255,255,255,.75); line-height: 1.8; }
.post-content ul,
.post-content ol { margin: 0 0 .9rem 1.4rem; color: rgba(255,255,255,.7); }
.post-content li { margin-bottom: .3rem; }
.post-content blockquote {
  border-left: 3px solid #0b5ed7;
  margin: 1rem 0; padding: .6rem 1rem;
  background: rgba(11,94,215,.08);
  border-radius: 0 8px 8px 0;
  color: rgba(255,255,255,.6); font-style: italic;
}
.post-content code {
  background: rgba(0,0,0,.3); padding: .15rem .4rem;
  border-radius: 4px; font-size: .88rem;
  font-family: 'Courier New', monospace; color: #ffd86d;
}
.post-content pre {
  background: rgba(0,0,0,.35); padding: .8rem 1rem;
  border-radius: 10px; overflow-x: auto; margin-bottom: .9rem;
}
.post-content pre code { background: none; padding: 0; }
.post-content a       { color: #3b82f6; text-decoration: underline; }
.post-content a:hover { color: #eaf3ff; }
.post-content strong  { color: #eaf3ff; font-weight: 700; }
.post-content hr      { border: none; border-top: 1px solid rgba(255,255,255,.1); margin: 1.5rem 0; }
.post-content img     { max-width: 100%; border-radius: 10px; margin: .5rem 0; }

/* ── Like button active state ── */
.like-btn.active {
  background: linear-gradient(145deg, #ffd86d, #f5c542) !important;
  color: #10141c !important;
  border-color: #f5c542 !important;
}

body.theme-bright .like-btn {
  color: #334155 !important;
}

/* ── Scrollbar ── */
::-webkit-scrollbar       { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(15,23,42,.2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,.35); }
