/* assets/css/style.css (flyer-inspired) */
:root{
  --bg:#0b1220;
  --bg-2:#0f172a;
  --panel:#0f1b2e;
  --card:#101826;
  --muted:#94a3b8;
  --text:#e2e8f0;
  --primary:#06b6d4; /* cyan-like accent */
  --accent:#38bdf8;  /* light blue accent */
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  background: var(--bg);
  color: var(--text);
  scroll-behavior:smooth;
  font-feature-settings:"ss01" on,"ss02" on;
}
a{color:var(--accent)}
.navbar{
  background: rgba(10,17,31,.72)!important;
  backdrop-filter: blur(8px);
}
.navbar .nav-link{ color:var(--text); }
.navbar .btn{ border-color:var(--primary); color:var(--text) }
.hero{
  padding: 8rem 0 5rem;
  background:
    radial-gradient(80rem 40rem at 80% -10%, rgba(56,189,248,.25), transparent 60%),
    radial-gradient(60rem 30rem at -10% 10%, rgba(6,182,212,.25), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.hero-kicker{
  letter-spacing:.3rem;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
  font-size:.9rem;
}
.hero .display-title{
  font-weight:900;
  letter-spacing:.03em;
  line-height:1.05;
}
.hero .date-line{
  letter-spacing:.25rem;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:700;
}
.btn-xl{ padding:.95rem 1.5rem; font-weight:700; border-radius:999px }
.btn-primary{ background:var(--primary); border-color:var(--primary) }
.btn-outline-light{ color:var(--text); border-color:#cbd5e1 }
.section-head{
  text-transform:uppercase;
  letter-spacing:.25rem;
  color:#cbd5e1;
  font-weight:800;
  margin-bottom:1rem;
}
.section-sub{
  color:var(--muted);
  margin-bottom:2rem;
}
.card{
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
  border: 1px solid rgba(148,163,184,.15);
  border-radius: 1rem;
  overflow: hidden;
}
.card .card-body{ color:var(--text) }
.badge-soft{
  display:inline-block;
  padding:.35rem .65rem;
  border-radius:999px;
  background: rgba(6,182,212,.15);
  color: var(--accent);
  font-weight:600;
}
.pricing .price{
  font-size:2.8rem;
  font-weight:900;
  letter-spacing:.02em;
}
.pricing .card{
  transition: transform .2s ease;
}
.pricing .card:hover{ transform: translateY(-4px) }
.grid-speakers .card-title{ font-weight:800 }
footer{ background:var(--bg-2); color:#cbd5e1 }
.form-hint{font-size:.875rem; color:#9aa4b2}
/* DataTables dark tweaks (admin page uses CDN CSS but darken basic table when needed) */
table.dataTable{ color:#0b1220 }


/* === Contrast fixes === */
:root{
  --text:#e8eef7;
  --muted:#c7d2e0; /* clearer muted */
}
.hero p.lead, .hero .lead { color: var(--muted) !important; opacity: 0.95; }
.card, .p-4.card{ border-color: rgba(148,163,184,.35) !important; background: rgba(255,255,255,.045) !important; }
.card .text-muted{ color: #cbd5e1 !important; opacity: .95; }
.section-sub{ color:#cbd5e1 !important; opacity:.95; }
.pricing .card p, .pricing .card .text-muted{ color:#cbd5e1 !important; opacity: .95; }
.badge-soft{ background: rgba(56,189,248,.18) !important; color:#e0f2fe !important; }
/* Speaker card with photo */
.speaker-card{ display:flex; gap:1rem; align-items:flex-start; }
.speaker-photo{
  width:64px; height:64px; border-radius:50%;
  flex:0 0 64px; object-fit:cover; border:2px solid rgba(255,255,255,.2);
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
}
.speaker-body{ flex:1; }
footer .credit a{ color:#93c5fd; text-decoration:none; }
footer .credit a:hover{ text-decoration:underline; }


/* === Accessibility: high-contrast text overrides (pass 2) === */
:root{
  --text:#f3f7ff;
  --muted:#dfe7f3;
}
.text-muted{ color: var(--muted) !important; opacity:1 !important; }
p, .card p, .hero p, .pricing p { color: var(--muted) !important; opacity:1 !important; }

.hero .card .list-unstyled li { color: var(--text) !important; opacity: .96 !important; }
.hero .card h3, .hero .card .h5 { color: var(--text) !important; }
.grid-speakers .card-title{ color: var(--text) !important; }
.grid-speakers .card .mb-1, .grid-speakers .card .text-muted, .speaker-body p { color: var(--muted) !important; opacity:1 !important; }

.pricing .card .price{ color: var(--text) !important; text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.pricing .card p{ color: var(--muted) !important; }
.section-head, .section-sub { color: var(--text) !important; }
.hero .display-title{ text-shadow: 0 4px 24px rgba(0,0,0,.45); color: var(--text) !important; }
.hero .date-line{ color:#a8e1ff !important; }
.hero .lead{ color: var(--muted) !important; }
