/*
Theme Name: Open Heaven Conference
Theme URI: https://example.org/open-heaven-conference
Author: OpenAI
Description: A fully responsive annual conference WordPress theme for Open Heaven Conference.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: open-heaven-conference
*/

:root {
  --bg: #050505;
  --surface: #0b0b0c;
  --surface-2: #131314;
  --text: #f7f3ea;
  --muted: #d5ceb9;
  --primary: #c79b3b;
  --primary-2: #f1d27a;
  --accent: #8b1e22;
  --accent-2: #d36a2e;
  --border: rgba(255,255,255,0.12);
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(199,155,59,.16), transparent 22%),
    radial-gradient(circle at 15% 12%, rgba(211,106,46,.22), transparent 20%),
    linear-gradient(180deg, #000000 0%, #0a0a0a 40%, #111 100%);
  line-height:1.6;
}
a { color:var(--primary-2); text-decoration:none; }
a:hover { color:#fff; }
img { max-width:100%; height:auto; display:block; }
.site-header { position:sticky; top:0; z-index:1000; backdrop-filter: blur(10px); background:rgba(0,0,0,.82); border-bottom:1px solid rgba(199,155,59,.18); }
.wrap { width:min(calc(100% - 2rem), var(--max)); margin:0 auto; }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; gap:1rem; }
.brand a { color:#fff; }
.ohc-brand-mark { display:flex; align-items:center; gap:.9rem; }
.ohc-brand-logo { width:54px; height:auto; filter: drop-shadow(0 0 10px rgba(199,155,59,.32)); }
.ohc-brand-text { display:flex; flex-direction:column; line-height:1.1; }
.ohc-brand-title { font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:1.06rem; }
.ohc-brand-year { color:var(--primary); font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; }
.menu-toggle { display:none; background:transparent; color:#fff; border:1px solid var(--border); padding:.7rem 1rem; border-radius:.75rem; }
.main-nav ul { list-style:none; display:flex; gap:1rem; align-items:center; margin:0; padding:0; }
.main-nav a { color:var(--muted); font-weight:600; }
.main-nav .menu-cta a, .button, button, input[type=submit] { background:linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%); color:#111; border:none; border-radius:999px; padding:.85rem 1.25rem; font-weight:700; display:inline-block; box-shadow:0 8px 24px rgba(199,155,59,.2); }
.main-nav .menu-cta a:hover, .button:hover, button:hover, input[type=submit]:hover { color:#111; filter:brightness(1.05); }
.section { padding:4.5rem 0; }
.hero { padding:5.5rem 0 4rem; position:relative; overflow:hidden; }
.branded-hero { min-height:72vh; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.4)), radial-gradient(circle at center right, rgba(199,155,59,.18), transparent 28%); }
.hero:before, .hero:after { content:""; position:absolute; border-radius:50%; filter:blur(60px); opacity:.35; }
.hero:before { width:320px; height:320px; background:var(--accent); top:-80px; right:-50px; }
.hero:after { width:280px; height:280px; background:var(--primary); left:-60px; bottom:-100px; }
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:2rem; align-items:center; }
.hero-brand-lockup { margin:.75rem 0 1rem; }
.hero-brand-lockup .ohc-brand-logo { width:82px; }
.hero-brand-lockup .ohc-brand-title { font-size:1.05rem; }
.eyebrow { text-transform:uppercase; letter-spacing:.2em; color:var(--primary-2); font-size:.8rem; font-weight:700; }
.hero h1 { font-size:clamp(2.7rem, 7vw, 5.3rem); line-height:.95; margin:.75rem 0 1rem; text-transform:uppercase; letter-spacing:.02em; }
.hero p { color:var(--muted); font-size:1.05rem; max-width:56ch; }
.meta-card, .card, .form-card, .speaker-card, .archive-card, .schedule-card { background:rgba(255,255,255,.04); border:1px solid rgba(199,155,59,.12); border-radius:1.5rem; box-shadow:0 20px 50px rgba(0,0,0,.28); }
.meta-card { padding:1.5rem; }
.brand-panel { background: linear-gradient(180deg, rgba(19,19,20,.9), rgba(7,7,7,.95)); }
.hero-logo { width:min(100%, 220px); margin:0 auto 1rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1.5rem; }
.secondary-btn { background:transparent; color:#fff; border:1px solid rgba(199,155,59,.28); }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.5rem; }
.stats div { padding:1rem; border-radius:1rem; background:rgba(255,255,255,.05); border:1px solid rgba(199,155,59,.1); text-align:center; }
.stats strong { display:block; font-size:1.25rem; color:var(--primary-2); }
.section h2 { font-size:clamp(1.8rem, 4vw, 3rem); margin:0 0 .5rem; text-transform:uppercase; }
.section-intro { color:var(--muted); max-width:62ch; margin-bottom:2rem; }
.speaker-grid, .archive-grid, .resource-grid, .info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.speaker-card, .archive-card, .schedule-card, .form-card, .card { padding:1.25rem; }
.speaker-card img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:1rem; margin-bottom:1rem; }
.kicker { color:var(--primary-2); font-size:.8rem; text-transform:uppercase; letter-spacing:.14em; }
.schedule-tabs { display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:1rem; }
.schedule-day { padding:.75rem 1rem; border:1px solid var(--border); border-radius:999px; background:transparent; color:#fff; cursor:pointer; }
.schedule-day.active { background:var(--primary); color:#111; }
.schedule-list { display:grid; gap:1rem; }
.embed-frame { width:100%; min-height:430px; border:0; border-radius:1rem; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
label { display:block; margin-bottom:.35rem; font-weight:700; }
input[type=text], input[type=email], textarea { width:100%; border:1px solid var(--border); background:rgba(255,255,255,.03); color:#fff; border-radius:1rem; padding:.95rem 1rem; }
textarea { min-height:160px; resize:vertical; }
.notice { color:var(--muted); font-size:.95rem; }
.footer { padding:2rem 0 3rem; border-top:1px solid rgba(199,155,59,.14); background:rgba(0,0,0,.28); }
.footer-grid { display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:1.5rem; }
.footer-brand { margin-bottom:1rem; }
.footer-brand-text .ohc-brand-title { font-size:1rem; }
.small { color:var(--muted); font-size:.95rem; }
.wp-block-button__link { border-radius:999px; }
.screen-reader-text { position:absolute; left:-9999px; }
@media (max-width: 900px) {
  .hero-grid, .two-col, .footer-grid, .speaker-grid, .archive-grid, .resource-grid, .info-grid { grid-template-columns:1fr; }
  .stats { grid-template-columns:1fr; }
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; left:0; right:0; top:100%; background:rgba(0,0,0,.96); border-bottom:1px solid var(--border); }
  .main-nav.open { display:block; }
  .main-nav ul { flex-direction:column; align-items:flex-start; padding:1rem; }
  .hero-brand-lockup .ohc-brand-logo { width:68px; }
}
