/* ============================================
   Brand Page Styles — TopCasinoGhana
   ============================================ */

.header {
  background: rgba(5,15,2,0.97);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(252,209,22,0.2);
  box-shadow: var(--shadow-md), 0 5px 20px rgba(252,209,22,0.08);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: all var(--transition-base);
}
.header.scrolled { box-shadow: var(--shadow-lg), var(--shadow-glow-gold); }

.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
}

.logo {
  font-size: 1.5rem; font-weight:700; line-height:1.4;
  background: var(--gradient-gold); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
  text-decoration:none; filter: drop-shadow(0 0 15px rgba(252,209,22,0.4));
}

.main-nav { display:flex; align-items:center; gap:2rem; }
.nav-menu { display:flex; gap:2rem; list-style:none; margin:0; }
.nav-link { font-weight:600; color:rgba(255,255,255,0.8); transition: all var(--transition-base); position:relative; }
.nav-link::after {
  content:''; position:absolute; bottom:-4px; left:0; width:0; height:2px;
  background: var(--gradient-gold); transition: width var(--transition-base);
}
.nav-link:hover, .nav-link.active { color: var(--color-primary); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }

.mobile-menu-toggle { display:none; background:none; border:none; cursor:pointer; padding:0.5rem; }
.hamburger { width:24px; height:2px; background: var(--color-primary); position:relative; transition: all var(--transition-base); }
.hamburger::before, .hamburger::after {
  content:''; position:absolute; width:100%; height:2px; background: var(--color-primary); transition: all var(--transition-base);
}
.hamburger::before { top:-8px; }
.hamburger::after { bottom:-8px; }

.brand-hero {
  background: linear-gradient(135deg, rgba(252,209,22,0.12) 0%, rgba(0,107,63,0.12) 50%, rgba(206,17,38,0.08) 100%);
  border-bottom: 2px solid rgba(252,209,22,0.3);
  padding: 2.5rem 0;
  color: var(--color-white);
  position: relative;
  overflow: hidden;
}
.brand-hero::before {
  content:''; position:absolute; top:0; left:0; right:0; bottom:0;
  background: radial-gradient(circle at 30% 50%, rgba(252,209,22,0.15) 0%, transparent 50%),
              radial-gradient(circle at 70% 50%, rgba(0,107,63,0.1) 0%, transparent 50%);
}
.brand-hero-content {
  position:relative; z-index:1; display:grid;
  grid-template-columns:1fr auto; gap: var(--spacing-xl); align-items:center;
}
.brand-hero-text h1 { color: var(--color-white); margin-bottom: var(--spacing-md); }
.brand-hero-subtitle { font-size:1.125rem; opacity:0.95; margin-bottom: var(--spacing-lg); line-height:1.6; }
.brand-hero-logo {
  width:140px; height:140px; min-width:140px;
  background: var(--color-gray-light); border-radius: var(--radius-xl);
  display:flex; align-items:center; justify-content:center;
  font-size:2.5rem; font-weight:900; color: var(--color-primary);
  border:2px solid rgba(252,209,22,0.3);
  box-shadow: 0 0 30px rgba(252,209,22,0.2);
}
.brand-key-facts { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom: var(--spacing-lg); }
.key-fact {
  display:inline-flex; align-items:center; gap:0.5rem; padding:0.5rem 1rem;
  background:rgba(255,255,255,0.1); border-radius: var(--radius-full);
  backdrop-filter:blur(10px); font-weight:600; font-size:0.9rem;
}
.brand-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }

.sticky-nav {
  background:rgba(5,15,2,0.97); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(252,209,22,0.2);
  box-shadow: var(--shadow-md), var(--shadow-glow-gold);
  position:sticky; top:70px; z-index:100; padding:1rem 0;
}
.sticky-nav-menu { display:flex; gap:1.5rem; list-style:none; margin:0; overflow-x:auto; }
.sticky-nav-link {
  font-weight:600; color:rgba(255,255,255,0.7); white-space:nowrap;
  padding:0.5rem 1rem; border-radius: var(--radius-md); transition: all var(--transition-base);
  border:1px solid transparent;
}
.sticky-nav-link:hover, .sticky-nav-link.active {
  color: var(--color-primary); background:rgba(252,209,22,0.1);
  border-color:rgba(252,209,22,0.3);
}

.pros-cons-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap: var(--spacing-lg); margin: var(--spacing-lg) 0; }
.pros-card { background:linear-gradient(135deg,#10b981 0%,#34d399 100%); color:#fff; padding: var(--spacing-lg); border-radius: var(--radius-lg); }
.cons-card { background:linear-gradient(135deg,#CE1126 0%,#e84060 100%); color:#fff; padding: var(--spacing-lg); border-radius: var(--radius-lg); }
.pros-card h3, .cons-card h3 { color:#fff; margin-bottom: var(--spacing-md); }
.pros-list, .cons-list { list-style:none; margin:0; display:flex; flex-direction:column; gap:0.75rem; }
.pros-list li, .cons-list li { display:flex; align-items:flex-start; gap:0.75rem; color:#fff; margin:0; }
.pros-list li::before { content:"✓"; font-size:1.25rem; font-weight:700; flex-shrink:0; }
.cons-list li::before { content:"✗"; font-size:1.25rem; font-weight:700; flex-shrink:0; }

.rating-breakdown {
  background: var(--color-dark-card); border:1px solid rgba(252,209,22,0.2);
  padding: var(--spacing-lg); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md), var(--shadow-glow-gold); margin: var(--spacing-lg) 0;
}
.overall-score {
  font-size:4rem; font-weight:700; background: var(--gradient-gold);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; filter: drop-shadow(0 0 20px rgba(252,209,22,0.5));
}
.overall-label { font-size:1.25rem; color:rgba(255,255,255,0.7); margin-top:0.5rem; }
.overall-rating { text-align:center; margin-bottom: var(--spacing-lg); padding-bottom: var(--spacing-lg); border-bottom:2px solid var(--color-gray-light); }
.rating-categories { display:flex; flex-direction:column; gap:1rem; }
.rating-category { display:flex; align-items:center; gap:1rem; }
.rating-category-label { flex:0 0 200px; font-weight:600; color:rgba(255,255,255,0.9); }
.rating-bar-container {
  flex:1; height:12px; background:rgba(255,255,255,0.1);
  border:1px solid rgba(252,209,22,0.2); border-radius: var(--radius-full); overflow:hidden;
}
.rating-bar { height:100%; background: var(--gradient-gold); border-radius: var(--radius-full); box-shadow:0 0 10px rgba(252,209,22,0.5); }
.rating-category-score { flex:0 0 50px; text-align:right; font-weight:700; color: var(--color-primary); }

.bonus-highlight {
  background: linear-gradient(135deg, rgba(252,209,22,0.2) 0%, rgba(0,107,63,0.2) 100%);
  border:2px solid rgba(252,209,22,0.4);
  padding: var(--spacing-xl); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-xl), var(--shadow-glow-gold);
  color: var(--color-white); text-align:center; margin: var(--spacing-xl) 0;
  position:relative; overflow:hidden;
}
.bonus-highlight::before { content:'🎁'; position:absolute; top:-20px; right:-20px; font-size:8rem; opacity:0.1; }
.bonus-highlight h3 { color: var(--color-primary); font-size:2rem; margin-bottom: var(--spacing-sm); }
.bonus-amount { font-size:3rem; font-weight:700; margin: var(--spacing-md) 0; color: var(--color-primary); }
.bonus-terms { font-size:0.9375rem; opacity:0.9; margin-bottom: var(--spacing-lg); }

.info-table { width:100%; background: var(--color-dark-card); border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); margin: var(--spacing-lg) 0; }
.info-table tr { border-bottom:1px solid rgba(252,209,22,0.1); }
.info-table tr:last-child { border-bottom:none; }
.info-table td { padding:1rem; color:rgba(255,255,255,0.9); }
.info-table td:first-child { font-weight:600; color: var(--color-primary); background:rgba(252,209,22,0.05); width:200px; }

.faq-list { display:flex; flex-direction:column; gap: var(--spacing-sm); margin: var(--spacing-lg) 0; }
.faq-item { background: var(--color-dark-card); border:1px solid rgba(252,209,22,0.15); border-radius: var(--radius-lg); overflow:hidden; transition: all var(--transition-base); }
.faq-item:hover { border-color:rgba(252,209,22,0.3); }
.faq-question {
  width:100%; padding: var(--spacing-md); background:none; border:none; text-align:left;
  font-family: var(--font-heading); font-size:1.0625rem; font-weight:600; color: var(--color-white);
  cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.faq-question:hover { color: var(--color-primary); }
.faq-icon {
  flex-shrink:0; width:24px; height:24px; display:flex; align-items:center; justify-content:center;
  background:rgba(252,209,22,0.2); color: var(--color-primary); border-radius:50%; font-weight:700;
  transition: transform var(--transition-base);
}
.faq-item.active .faq-icon { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition: max-height 0.3s ease; }
.faq-item.active .faq-answer { max-height:500px; }
.faq-answer-content { padding:0 var(--spacing-md) var(--spacing-md); color:rgba(255,255,255,0.85); }
.faq-answer-content p { color:rgba(255,255,255,0.85); margin-bottom:0.5rem; }

.footer {
  background: linear-gradient(180deg, rgba(5,15,2,0.98) 0%, #000 100%);
  border-top:2px solid rgba(252,209,22,0.3);
  color:rgba(255,255,255,0.8); padding: var(--spacing-2xl) 0 var(--spacing-lg);
  margin-top: var(--spacing-2xl);
}
.footer-content { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap: var(--spacing-xl); margin-bottom: var(--spacing-xl); }
.footer-section h4 { color: var(--color-primary); margin-bottom: var(--spacing-md); }
.footer-links { list-style:none; margin:0; display:flex; flex-direction:column; gap:0.5rem; }
.footer-links a { color:rgba(255,255,255,0.7); transition: color var(--transition-base); }
.footer-links a:hover { color: var(--color-white); }
.footer-bottom { padding-top: var(--spacing-lg); border-top:1px solid rgba(255,255,255,0.1); text-align:center; color:rgba(255,255,255,0.6); font-size:0.875rem; }
.disclaimer {
  background:rgba(206,17,38,0.1); border:1px solid rgba(206,17,38,0.3);
  border-left:4px solid var(--color-accent); padding: var(--spacing-md);
  border-radius: var(--radius-md); margin: var(--spacing-lg) 0; font-size:0.875rem;
  color:rgba(255,255,255,0.9);
}

@media (max-width:1024px) { .brand-hero-content { grid-template-columns:1fr; } .brand-hero-logo { margin:0 auto; } .rating-category-label { flex:0 0 150px; } }
@media (max-width:768px) { .main-nav { display:none; } .mobile-menu-toggle { display:block; } .pros-cons-grid { grid-template-columns:1fr; } .footer-content { grid-template-columns:1fr; } }
@media (max-width:640px) { .brand-hero { padding:2rem 0; } .brand-hero-actions { flex-direction:column; } .brand-hero-actions .btn { width:100%; } .bonus-amount { font-size:2rem; } }
