/*
Theme Name: Gateway RAD
Theme URI: https://example.com/gateway-rad
Author: OpenAI
Description: Custom event theme for the Gateway RAD 80s & 90s Car Show.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: gateway-rad
*/

:root{
  --bg:#080414;
  --bg-soft:#120726;
  --panel:rgba(17,8,35,.78);
  --panel-solid:#150c2e;
  --text:#f8f7ff;
  --muted:#d1caef;
  --pink:#ff4bb5;
  --cyan:#67e8ff;
  --yellow:#ffe443;
  --purple:#8a3cff;
  --border:rgba(255,255,255,.12);
  --shadow:0 20px 50px rgba(0,0,0,.35);
  --radius:24px;
  --container:min(1180px, calc(100% - 2rem));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top, rgba(138,60,255,.25), transparent 30%),
    radial-gradient(circle at right, rgba(103,232,255,.18), transparent 25%),
    linear-gradient(180deg, #11081f 0%, #080414 100%);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan);text-decoration:none}
a:hover{opacity:.92}
.site-header{
  position:sticky; top:0; z-index:1000;
  backdrop-filter: blur(10px);
  background:rgba(8,4,20,.75);
  border-bottom:1px solid var(--border);
}
.header-inner{
  width:var(--container); margin:0 auto; padding:.85rem 0;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.branding{display:flex; align-items:center; gap:1rem; color:var(--text)}
.branding img{width:300px; max-width:min(60vw, 300px); height:auto; filter:drop-shadow(0 8px 18px rgba(255,75,181,.18));}
.site-nav ul{display:flex; list-style:none; gap:.65rem; padding:0; margin:0; flex-wrap:wrap; justify-content:flex-end}
.site-nav a{
  color:var(--text); font-weight:700; font-size:.92rem;
  padding:.5rem .72rem; border-radius:999px;
}
.site-nav a:hover, .site-nav .current-menu-item a{background:rgba(255,255,255,.08)}
.mobile-toggle{
  display:none; background:none; border:1px solid var(--border); color:var(--text);
  border-radius:12px; padding:.55rem .8rem; font-weight:700;
}
.hero{
  position:relative; overflow:hidden;
  padding:4.5rem 0 3rem;
}
.hero:before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(8,4,20,.25), rgba(8,4,20,.7)),
    url('assets/images/poster-yellow-nsx.jpeg') center/cover no-repeat;
  filter:saturate(1.08);
  opacity:.32;
}
.hero > .wrap{position:relative; z-index:1}
.wrap{width:var(--container); margin:0 auto}
.hero-grid{
  display:grid; grid-template-columns:1.15fr .85fr; gap:2rem; align-items:center;
}
.kicker{
  display:inline-block; padding:.4rem .8rem; border-radius:999px;
  background:rgba(255,255,255,.08); border:1px solid var(--border);
  color:var(--yellow); text-transform:uppercase; letter-spacing:.08em;
  font-size:.8rem; font-weight:800;
}
.hero h1{
  font-size:clamp(2.4rem, 5vw, 5rem); line-height:.95; margin:.85rem 0 1rem;
  letter-spacing:-.04em;
}
.hero p{font-size:1.08rem; max-width:60ch; color:var(--muted)}
.event-meta{
  display:flex; flex-wrap:wrap; gap:.9rem; margin:1.3rem 0 1.6rem;
}
.meta-pill{
  display:flex; align-items:center; gap:.55rem;
  background:rgba(255,255,255,.07); border:1px solid var(--border);
  padding:.8rem 1rem; border-radius:999px; color:var(--text); font-weight:700;
}
.cta-row{display:flex; gap:1rem; flex-wrap:wrap}
.btn{
  display:inline-block; padding:1rem 1.35rem; border-radius:14px; font-weight:800;
  letter-spacing:.01em; box-shadow:var(--shadow)
}
.btn-primary{
  color:#130219; background:linear-gradient(90deg, var(--yellow), #fff0a6);
}
.btn-secondary{
  color:var(--text); border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.hero-card{
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
  border:1px solid var(--border); border-radius:28px; padding:1rem;
  box-shadow:var(--shadow);
}
.hero-card img{border-radius:20px}
.countdown{
  display:grid; grid-template-columns:repeat(4,1fr); gap:.8rem;
  margin-top:1rem;
}
.count-item{
  padding:1rem .75rem; border-radius:18px; background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.08); text-align:center;
}
.count-item strong{display:block; font-size:clamp(1.4rem, 3vw, 2rem)}
.section{padding:4.5rem 0}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01))}
.section-title{
  font-size:clamp(2rem, 3vw, 3rem); line-height:1.02; margin:0 0 .75rem;
}
.section-intro{max-width:72ch; color:var(--muted); margin-bottom:2rem}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem}
.card{
  background:var(--panel); border:1px solid var(--border); border-radius:var(--radius);
  padding:1.4rem; box-shadow:var(--shadow)
}
.card h3{margin-top:0; font-size:1.25rem}
.eyebrow{color:var(--yellow); font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem}
.schedule-item{
  display:grid; grid-template-columns:120px 1fr; gap:1rem; align-items:start; margin-bottom:1rem
}
.schedule-time{
  font-weight:900; color:var(--yellow); padding:.65rem .85rem; border-radius:14px;
  background:rgba(255,255,255,.06); text-align:center
}
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem}
.gallery img{border-radius:22px; border:1px solid var(--border); height:100%; object-fit:cover}
.footer{
  padding:2.5rem 0; border-top:1px solid var(--border);
  background:rgba(0,0,0,.24)
}
.footer-grid{width:var(--container); margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center}
.footer p{margin:.2rem 0; color:var(--muted)}
.embed-map iframe, .embed-map{
  width:100%; border:0; min-height:360px; border-radius:24px; overflow:hidden
}
.notice{
  padding:1rem 1.1rem; border-left:4px solid var(--yellow);
  background:rgba(255,228,67,.08); border-radius:14px; color:var(--text)
}
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem}
.post-card img{border-radius:18px; margin-bottom:1rem}
.form-placeholder .wp-block-shortcode, .form-placeholder form {margin:0}
@media (max-width: 920px){
  .hero-grid, .grid-3, .grid-2, .post-grid, .gallery, .footer-grid{grid-template-columns:1fr}
  .site-nav{display:none; width:100%}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column; padding:1rem 0}
  .header-inner{flex-wrap:wrap}
  .branding img{width:240px; max-width:68vw}
  .mobile-toggle{display:block}
}
@media (min-width: 921px){
  .header-inner{grid-template-columns:auto 1fr;}
}
@media (max-width: 680px){
  .hero{padding-top:3rem}
  .branding img{width:220px; max-width:72vw}
  .countdown{grid-template-columns:repeat(2,1fr)}
  .event-meta{display:grid; grid-template-columns:1fr}
  .schedule-item{grid-template-columns:1fr}
}

.sponsor-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
  align-items:stretch;
}
.sponsor-card{
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.sponsor-card h2{
  margin:1rem 0 .4rem;
  font-size:1.35rem;
}
.sponsor-card p{
  margin:.35rem 0;
}
.sponsor-card-featured{
  grid-column:span 3;
}
.sponsor-logo-link{
  display:block;
}
.sponsor-logo{
  width:100%;
  max-width:420px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}
.sponsor-placeholder{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px dashed rgba(255,255,255,.18);
  border-radius:20px;
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:1rem;
}
.sponsor-cta-card{
  margin-top:1.25rem;
}
@media (max-width: 920px){
  .sponsor-grid{
    grid-template-columns:1fr;
  }
  .sponsor-card-featured{
    grid-column:auto;
  }
}
/* Fluent Forms / Choices.js hard override for category dropdown readability */

.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__inner,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__input,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__item,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__item--selectable,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__item--choice,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__placeholder {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__inner {
  background: #ffffff !important;
  border: 1px solid #cfcfcf !important;
}

.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list--dropdown,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list[aria-expanded] {
  background: #ffffff !important;
  border: 1px solid #cfcfcf !important;
  opacity: 1 !important;
}

.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list--dropdown .choices__item,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list[aria-expanded] .choices__item,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list--dropdown .choices__item--selectable,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list[aria-expanded] .choices__item--selectable {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  background: #ffffff !important;
  opacity: 1 !important;
}

.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list--dropdown .choices__item--selectable.is-highlighted,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  color: #111111 !important;
  background: #eef2f7 !important;
  opacity: 1 !important;
}

.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__item--disabled,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__item.is-disabled {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  opacity: 1 !important;
}

.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list--dropdown .choices__item--selectable::after,
.fluentform .ff-el-group .choices[data-type*="select-one"] .choices__list[aria-expanded] .choices__item--selectable::after {
  color: #666666 !important;
  opacity: 1 !important;
}

/* Sponsors page video section - safe layout only */
.sponsor-video-card{
  padding:1.5rem;
}

.sponsor-video-card .grid-2{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:1.5rem;
  align-items:center;
}

.sponsor-video-embed{
  width:100%;
  max-width:100%;
}

@media (max-width: 920px){
  .sponsor-video-card .grid-2{
    grid-template-columns:1fr;
  }

  .sponsor-video-card{
    padding:1.25rem;
  }
}