/* ==========================================================================
   GNOSIS / PLEROMA - SACRED DIVINE LIGHT THEME SYSTEM FOR phpBB (v2.2)
   Focus: High Readability, Large Clear Typography & Z-Index Dropdown Fix
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Cinzel:wght@600;700;800&display=swap');

:root {
  --gnosis-gold: #fbbf24;
  --gnosis-gold-dark: #d97706;
  --gnosis-gold-light: #fef08a;
  --gnosis-purple: #a855f7;
  --gnosis-cyan: #06b6d4;
  --gnosis-bg-dark: #090a15;
  --gnosis-bg-card: rgba(18, 20, 38, 0.90);
  --gnosis-bg-card-hover: rgba(28, 31, 58, 0.96);
  --gnosis-border-gold: rgba(251, 191, 36, 0.25);
  --gnosis-border-glow: rgba(251, 191, 36, 0.55);
  --gnosis-text-main: #f8fafc;
  --gnosis-text-muted: #cbd5e1;
  --gnosis-text-gold: #fde047;
  --gnosis-shadow-glow: 0 0 20px rgba(251, 191, 36, 0.18);
}

/* Global Body & High Readability Typography */
body#phpbb {
  background-color: var(--gnosis-bg-dark) !important;
  background-image: 
    radial-gradient(circle at 50% 0%, rgba(217, 119, 6, 0.16) 0%, rgba(168, 85, 247, 0.09) 40%, rgba(9, 10, 21, 1) 90%),
    radial-gradient(circle at 100% 60%, rgba(6, 182, 212, 0.05) 0%, transparent 50%) !important;
  background-attachment: fixed !important;
  color: var(--gnosis-text-main) !important;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 1.0625rem !important; /* ~17px base size */
  line-height: 1.75 !important;
  letter-spacing: 0.015em;
  -webkit-font-smoothing: antialiased;
}

main#page-body, .bg-gray-100 {
  background-color: transparent !important;
}

/* NAVIGATION & DROPDOWN STACKING FIX (ENSURES DROPDOWN IS ABOVE HERO IMAGE) */
header {
  position: relative !important;
  z-index: 100 !important;
}

.navbar {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
}

.navbar nav, #nav-main, .zn-dropdown {
  position: relative !important;
  z-index: 1000 !important;
}

.dropdown, .\!dropdown, .zn-dropdown-menu {
  z-index: 9999 !important;
  position: absolute !important;
}

#page-header, .header-section {
  position: relative !important;
  z-index: 1 !important;
}

/* Override stock gray borders across subpages */
.border-gray-200, .border-gray-100, .divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--gnosis-border-gold) !important;
}

/* Clear Headings System */
h1, h2, h3, .card-title, .forum-title, .topic-title, .sacred-title {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
}

/* Header Banner Section */
.header-section {
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
  border-bottom: 2px solid var(--gnosis-border-gold);
}

.header-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 10, 21, 0.35) 0%, rgba(9, 10, 21, 0.88) 100%);
  pointer-events: none;
}

.header-section h1 {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 800 !important;
  font-size: 2.5rem !important; /* ~40px */
  background: linear-gradient(135deg, #ffffff 0%, #fbbf24 50%, #d97706 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 30px rgba(251, 191, 36, 0.4);
}

.header-section p {
  color: #f1f5f9 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 500;
  font-size: 1.25rem !important; /* ~20px */
  letter-spacing: 0.02em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

/* Gnostic Wisdom Quote Banner */
.gnosis-quote-banner {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.1) 0%, rgba(168, 85, 247, 0.06) 100%) !important;
  border: 1px solid var(--gnosis-border-gold) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(12px) !important;
  font-size: 1.05rem !important;
}

.gnosis-quote-spark {
  color: var(--gnosis-gold);
  font-size: 1.35rem;
  text-shadow: 0 0 10px rgba(251, 191, 36, 0.6);
  animation: sparkPulse 3s infinite alternate ease-in-out;
}

@keyframes sparkPulse {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.25); opacity: 1; filter: drop-shadow(0 0 8px #fbbf24); }
}

.gnosis-quote-text {
  font-family: 'Inter', system-ui, sans-serif;
  color: #ffffff !important;
  font-size: 1.05rem !important;
}

.gnosis-quote-author {
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--gnosis-gold-light);
  font-weight: 700;
}

.gnosis-quote-tag {
  background: rgba(251, 191, 36, 0.15) !important;
  border: 1px solid var(--gnosis-border-gold) !important;
  color: var(--gnosis-gold-light) !important;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.85rem !important;
  letter-spacing: 0.06em;
}

/* Glassmorphic Cards & Panels */
.card, .card-sm, .panel, .bg-white {
  background: var(--gnosis-bg-card) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--gnosis-border-gold) !important;
  border-radius: 0.85rem !important;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  color: var(--gnosis-text-main) !important;
}

.card:hover, .panel:hover {
  border-color: var(--gnosis-border-glow) !important;
  box-shadow: 0 12px 36px 0 rgba(0, 0, 0, 0.5), 0 0 20px rgba(251, 191, 36, 0.12) !important;
}

.card-title {
  background: linear-gradient(90deg, rgba(251, 191, 36, 0.16) 0%, rgba(168, 85, 247, 0.08) 100%) !important;
  border-bottom: 1px solid var(--gnosis-border-gold) !important;
  color: var(--gnosis-gold-light) !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important; /* ~19px */
}

/* Forum & Topic Rows - Big & Easy to Read */
div[class*="forum-row"], div[class*="topic-row"], .divide-y > * {
  border-color: rgba(251, 191, 36, 0.14) !important;
  transition: background-color 0.25s ease, border-color 0.25s ease;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
}

div[class*="forum-row"]:hover, div[class*="topic-row"]:hover {
  background-color: var(--gnosis-bg-card-hover) !important;
}

a.forumtitle, a.topictitle, .row-title a {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important; /* ~18.5px */
  line-height: 1.4 !important;
  transition: all 0.25s ease;
}

a.forumtitle:hover, a.topictitle:hover, .row-title a:hover {
  color: var(--gnosis-gold) !important;
  text-shadow: 0 0 10px rgba(251, 191, 36, 0.4);
}

/* Subforums & Meta text */
.subforum, .responsive-hide, .text-gray-600, .text-secondary {
  color: var(--gnosis-text-muted) !important;
  font-size: 0.95rem !important; /* ~15px */
}

/* Celestial Avatar Frames & Glows */
.author-img img, .author-img-sm img, .avatar, img.avatar {
  border-radius: 9999px !important;
  border: 2px solid var(--gnosis-border-gold) !important;
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.25), 0 0 4px rgba(168, 85, 247, 0.2) !important;
  transition: all 0.3s ease !important;
}

.author-img img:hover, .avatar:hover {
  border-color: var(--gnosis-gold) !important;
  box-shadow: 0 0 18px rgba(251, 191, 36, 0.5) !important;
  transform: scale(1.04);
}

/* Navigation Bar & Header Links */
header nav, .bg-slate-50, #nav-main, .breadcrumbs-panel {
  background: rgba(12, 14, 28, 0.92) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(251, 191, 36, 0.18) !important;
}

#nav-main > li > a {
  color: #f8fafc !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.05rem !important; /* ~17px */
  transition: all 0.25s ease;
}

#nav-main > li > a:hover {
  background-color: rgba(251, 191, 36, 0.15) !important;
  color: var(--gnosis-gold) !important;
  text-shadow: 0 0 8px rgba(251, 191, 36, 0.3);
}

.breadcrumb a, .breadcrumb li {
  font-size: 1rem !important;
  font-weight: 500 !important;
}

/* Buttons System - Large & Tap Friendly */
.btn-primary, button[type="submit"], input[type="submit"] {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
  border: 1px solid #fbbf24 !important;
  color: #ffffff !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important; /* ~17px */
  padding: 0.65rem 1.25rem !important;
  letter-spacing: 0.02em !important;
  border-radius: 0.6rem !important;
  box-shadow: 0 4px 15px rgba(217, 119, 6, 0.35) !important;
  transition: all 0.25s ease !important;
}

.btn-primary:hover, button[type="submit"]:hover, input[type="submit"]:hover {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  box-shadow: 0 0 20px rgba(251, 191, 36, 0.55) !important;
  transform: translateY(-1px);
}

.btn-primary-outline {
  border: 1px solid var(--gnosis-border-gold) !important;
  background: rgba(251, 191, 36, 0.1) !important;
  color: var(--gnosis-gold-light) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.btn-primary-outline:hover {
  background: rgba(251, 191, 36, 0.2) !important;
  color: #ffffff !important;
}

/* Inputs, Textareas, Selects - Ultra Readable */
.inputbox, select, textarea, input[type="text"], input[type="password"], input[type="search"] {
  background-color: rgba(10, 12, 24, 0.95) !important;
  border: 1px solid rgba(251, 191, 36, 0.3) !important;
  color: #ffffff !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 1.05rem !important; /* 17px */
  padding: 0.65rem 0.85rem !important;
  border-radius: 0.5rem !important;
}

.inputbox:focus, select:focus, textarea:focus {
  border-color: var(--gnosis-gold) !important;
  box-shadow: 0 0 14px rgba(251, 191, 36, 0.35) !important;
  outline: none !important;
}

/* POST BODY & CONTENT - MAXIMUM READABILITY CHOICE */
.postbody {
  color: #f8fafc !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 1.15rem !important; /* ~18.5px font size for long reading comfort */
  line-height: 1.85 !important;
  letter-spacing: 0.012em !important;
}

.postbody .content {
  color: #ffffff !important;
  font-size: 1.15rem !important;
  line-height: 1.85 !important;
}

.postprofile {
  font-size: 1rem !important;
  color: var(--gnosis-text-muted) !important;
}

/* Sacred Scripture Quotes in posts */
blockquote {
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.06) 0%, rgba(168, 85, 247, 0.04) 100%) !important;
  border-inline-start: 4px solid var(--gnosis-gold) !important;
  border-radius: 0.6rem !important;
  color: #f1f5f9 !important;
  font-size: 1.1rem !important; /* ~17.5px */
  line-height: 1.8 !important;
  padding: 1rem 1.35rem !important;
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

blockquote cite {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  color: var(--gnosis-gold-light) !important;
  border-bottom: 1px solid rgba(251, 191, 36, 0.2) !important;
  padding-bottom: 0.4rem !important;
  margin-bottom: 0.6rem !important;
}

/* Codeboxes */
.content .codebox {
  background-color: #06070d !important;
  border: 1px solid rgba(168, 85, 247, 0.35) !important;
  border-radius: 0.5rem !important;
  font-size: 1rem !important;
}

.content .codebox p {
  background-color: rgba(168, 85, 247, 0.16) !important;
  color: #e9d5ff !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

/* Topic Icons & Badges */
.topic-icon::after {
  filter: drop-shadow(0 0 8px rgba(251, 191, 36, 0.6));
}

.unread-icon, .bg-red-500, .bg-primary {
  background-color: var(--gnosis-gold-dark) !important;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.5);
}

/* Dropdown Menus */
.dropdown, .\!dropdown {
  background-color: rgba(14, 16, 32, 0.96) !important;
  border: 1px solid var(--gnosis-border-gold) !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.7), 0 0 15px rgba(251, 191, 36, 0.15) !important;
  backdrop-filter: blur(20px) !important;
}

.dropdown-item {
  color: #f8fafc !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
}

.dropdown-item:hover {
  background-color: rgba(251, 191, 36, 0.15) !important;
  color: var(--gnosis-gold) !important;
}

/* Footer Styling */
footer {
  background: rgba(8, 9, 18, 0.96) !important;
  border-top: 1px solid var(--gnosis-border-gold) !important;
  color: var(--gnosis-text-muted) !important;
  font-size: 0.95rem !important;
}

footer a {
  color: var(--gnosis-gold-light) !important;
}

footer a:hover {
  color: #ffffff !important;
  text-shadow: 0 0 8px rgba(251, 191, 36, 0.4);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}
::-webkit-scrollbar-track {
  background: #070810;
}
::-webkit-scrollbar-thumb {
  background: rgba(217, 119, 6, 0.5);
  border-radius: 5px;
  border: 2px solid #070810;
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(251, 191, 36, 0.8);
}
