/*
 * LBF Car & Truck Show Page — car-show-page.css
 * Scoped under .lbf-car-show-page (page wrapper body class).
 *
 * Source of truth: 1:1 conversion from the Lexington Car & Truck Show JSX mockup.
 * The CSS variables (--blue, --gold, --bg, --text, --border, --grad-night, --grad-blue)
 * defined inside .lbf-car-show-page are intentionally LOCAL to this page so they
 * don't conflict with the theme-wide :root tokens (which use #0037a7 for --blue, etc.).
 *
 * Sections in document order:
 *   §0  Tokens, base, eyebrow/section-title shared utilities
 *   §1  Outer canvas + shell (page-level chrome)
 *   §2  Card / rivet shared decoration
 *   §3  Hero (cs-hero) + dashboard + particles
 *   §4  Stats row (cs-stats)
 *   §5  Event Information section + form card (cs-info-grid + cs-form)
 *   §6  Show Classes (cs-class-badge license-plate badges)
 *   §7  Awards & Trophies (cs-awards) + Best of Show + Dash Plaques
 *   §8  Rules & Judging split (cs-split + cs-rules + cs-judging)
 *   §9  Past Winners feature + thumbs (cs-winners-layout)
 *   §10 Community Choice Award (cs-cca)
 *   §11 FAQ accordion (cs-faq-list)
 *   §12 Final CTA (cs-final)
 *   §13 Wireframe / blueprint decorative layers
 *   §14 Responsive breakpoints
 *   §15 [Tail] Integration: header offset, undefined fallbacks, GF form integration
 */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Playfair+Display:ital,wght@1,900&display=swap');

.lbf-car-show-page{
--indigo-berry:#080a22; /* Deep Blueberry Ink */
--blue:#1a2b8c; --blue-dark:#0c1650; --blue-deep:#04081c;
--berry-accent: rgba(76, 35, 128, 0.15); /* Berry Glow Tint */
--gold:#f3c303; --gold-dark:#c9a000; --green:#007f00;
--bg:#f8faff; --bg2:#eef2fc;
--text:#0e1525; --text-2:#374151; --text-3:#6b7280;
--border:#c8d6f5;
--grad-night:linear-gradient(135deg,#04081c 0%,#0a0f3a 50%,#1a2b8c 100%);
--grad-blue:linear-gradient(135deg,#0c1650 0%,#1a2b8c 60%,#2e44b0 100%);
}
/* Reset scoped INSIDE the page canvas (.cs-canvas) — NOT onto body
   descendants. The .lbf-car-show-page class sits on <body>, so any rule
   like ".lbf-car-show-page *" reaches into the footer (outside .cs-canvas)
   and zeros its margins, breaking the unified footer. Scoping to
   .cs-canvas keeps the page content reset clean while the footer uses
   its normal layout. */
.lbf-car-show-page .cs-canvas *, .lbf-car-show-page .cs-canvas *::before, .lbf-car-show-page .cs-canvas *::after{box-sizing:border-box;margin:0;padding:0}
.lbf-car-show-page{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh}
.lbf-car-show-page .cs-canvas img{max-width:100%;display:block}
.lbf-car-show-page .cs-canvas a{color:var(--blue);text-decoration:none}
.lbf-car-show-page .eyebrow{font-family:'Outfit',sans-serif;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2e4482;margin-bottom:.5rem}
.lbf-car-show-page .eyebrow.on-dark{color:var(--gold)}
.lbf-car-show-page .section-title{font-family:'Outfit',sans-serif;font-size:clamp(1.4rem,2.2vw,1.95rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin-bottom:.6rem}
.lbf-car-show-page .section-title.on-dark{color:#fff}
.lbf-car-show-page .section-title .accent{color:var(--blue)}
.lbf-car-show-page .section-title.on-dark .accent{color:var(--gold)}
.lbf-car-show-page .section-intro{color:var(--text-2);font-size:.95rem;line-height:1.6;max-width:640px;margin:0 auto 1rem}
.lbf-car-show-page .section-intro.on-dark{color:rgba(255,255,255,.78)}
.lbf-car-show-page .section-head{text-align:center;margin-bottom:1.25rem}.lbf-car-show-page .section-head--left{text-align:left}.lbf-car-show-page .section-head--left .section-intro{margin-left:0}
.lbf-car-show-page .cs-canvas{padding:0.75rem 0.5rem 1.5rem; background-color: #f0f4f8; background-image: radial-gradient(#d7e2fb 1px, transparent 1px); background-size: 40px 40px;}.lbf-car-show-page .cs-shell{max-width:1340px;margin:0 auto;background:linear-gradient(180deg,#fcfdff 0%,#f6f9ff 50%,#fafcff 100%);border:1px solid #d7e2fb;border-radius:2rem;box-shadow:0 22px 60px rgba(0,55,167,.08);padding:0.75rem;display:flex;flex-direction:column;gap:0.75rem; position:relative; overflow:hidden}
.lbf-car-show-page .cs-shell::after{content:"[CHASSIS_REF_L01]"; position:absolute; bottom:1rem; right:2rem; font-family:'JetBrains Mono',monospace; font-size:0.5rem; color:rgba(0,55,167,0.2); letter-spacing:0.2em}

.lbf-car-show-page .cs-card{background:#fff; border:1px solid var(--border); border-radius:1.5rem; overflow:hidden; box-shadow:0 10px 30px rgba(0,55,167,0.03); position:relative; box-shadow: 0 0 40px var(--berry-accent)}
/* Perforated Automotive Leather Texture */
.lbf-car-show-page .cs-card::before{content:""; position:absolute; inset:0; opacity:0.08; pointer-events:none; background-image: radial-gradient(circle, rgba(0,55,167,0.1) 1px, transparent 1px); background-size: 16px 16px; z-index:0}

/* Rivet Accents */
.lbf-car-show-page .rivet{position:absolute;width:8px;height:8px;background:radial-gradient(circle at 35% 35%,#cbd5e1 0%,#64748b 100%);border-radius:50%;box-shadow:inset -1px -1px 1px rgba(0,0,0,0.4),1px 1px 2px rgba(0,0,0,0.1);z-index:10;border:1px solid rgba(0,0,0,0.05)}
.lbf-car-show-page .rivet--tl{top:0.85rem;left:0.85rem}
.lbf-car-show-page .rivet--tr{top:0.85rem;right:0.85rem}
.lbf-car-show-page .rivet--bl{bottom:0.85rem;left:0.85rem}
.lbf-car-show-page .rivet--br{bottom:0.85rem;right:0.85rem}

.lbf-car-show-page .cs-hero{position:relative;overflow:hidden;border-radius:1.5rem;background:radial-gradient(circle at 71% 29%,rgba(243,195,3,.15),transparent 30%),radial-gradient(circle at 21% 79%,rgba(76,35,128,.3),transparent 35%),var(--grad-night);padding:0;display:block}
.lbf-car-show-page .cs-hero::before{content:"";position:absolute;inset:-40px;background-image:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.07) 43%,transparent 44% 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 82px);opacity:.5;transform:skewY(-4deg)}
.lbf-car-show-page .cs-hero-bg{position:absolute;inset:0;opacity:.25;background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 2px,transparent 2px 14px);z-index:1}
.lbf-car-show-page .cs-hero-orb-a{position:absolute;right:-100px;top:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(243,195,3,.15) 0%,transparent 65%);filter:blur(20px)}
.lbf-car-show-page .cs-hero-orb-b{position:absolute;left:-80px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(0,55,167,.4) 0%,transparent 65%);filter:blur(20px)}
.lbf-car-show-page .cs-hero-inner{position:relative;z-index:5;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;padding:2.5rem 2.25rem;align-items:center}
.lbf-car-show-page .cs-hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:.4rem 1.1rem;background:rgba(243,195,3,0.08);border:1px solid rgba(243,195,3,0.3);border-radius:99px;margin-bottom:1rem}
.lbf-car-show-page .cs-hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(243,195,3,1);animation:pulse-gold 2s infinite}
@keyframes pulse-gold{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.2)}}
.lbf-car-show-page .cs-hero-h1{font-family:'Outfit',system-ui,sans-serif;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:900;line-height:1;letter-spacing:-.035em;color:#fff;margin-bottom:0.75rem}.lbf-car-show-page .cs-hero-h1 .script{font-family:'Pacifico',cursive;display:inline-block;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.4);font-size:.95em;font-weight:400;letter-spacing:0.02em;margin: 0 0.1em}
.lbf-car-show-page .cs-hero-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.lbf-car-show-page .cs-hero-pill{font-family:'Outfit',sans-serif;padding:.4rem .9rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:.8rem;font-weight:700;border-radius:99px;display:inline-flex;align-items:center;gap:.5rem}.lbf-car-show-page .cs-hero-pill::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold)}
.lbf-car-show-page .cs-hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-start}
@media (max-width:600px){.lbf-car-show-page .cs-hero-ctas{flex-direction:column;align-items:stretch}.lbf-car-show-page .cs-hero-ctas .btn{width:100%;justify-content:center}}

.lbf-car-show-page .cs-hero-feature{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:1.6/1;background:linear-gradient(180deg,transparent 40%,rgba(0,8,32,0.9) 100%);border:1px solid rgba(255,255,255,0.12);width:min(90vw, 440px);margin:0 auto;box-shadow:0 15px 45px rgba(0,0,0,0.2)}
.lbf-car-show-page .cs-hero-feature-img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:0;transition:transform 0.7s ease}

/* Performance Specs Dashboard */
.lbf-car-show-page .cs-hero-dashboard{display:flex; gap:0.65rem; margin-top:0.85rem; width:min(90vw, 440px); margin:0.85rem auto 0}
.lbf-car-show-page .cs-dashboard-item{flex:1; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:0.75rem 0.6rem; backdrop-filter:blur(8px); display:flex; flex-direction:column; gap:0.25rem}
.lbf-car-show-page .cs-dashboard-label{font-family:'Outfit',sans-serif; font-size:0.5rem; text-transform:uppercase; letter-spacing:0.12em; color:rgba(255,255,255,0.4); font-weight:700}
.lbf-car-show-page .cs-dashboard-value{font-family:'Outfit',sans-serif; font-size:1rem; font-weight:900; color:var(--gold); line-height:1; display:flex; align-items:baseline; gap:0.15rem}
.lbf-car-show-page .cs-dashboard-value span{font-size:0.6rem; color:rgba(255,255,255,0.6); font-weight:600}
.lbf-car-show-page .cs-dashboard-gauge{height:3px; background:rgba(255,255,255,0.1); border-radius:99px; overflow:hidden; margin-top:0.2rem; position:relative}
.lbf-car-show-page .cs-dashboard-fill{height:100%; background:linear-gradient(90deg, var(--gold), #ff8c00); border-radius:99px; width:60%}

@keyframes gauge-pulse {
0%, 100% { width: 40%; }
50% { width: 85%; }
}
.lbf-car-show-page .animate-gauge{ animation: gauge-pulse 4s ease-in-out infinite; }
.lbf-car-show-page .animate-gauge--fast{ animation: gauge-pulse 3s ease-in-out infinite; }
.lbf-car-show-page .animate-gauge--slow{ animation: gauge-pulse 5s ease-in-out infinite; }

/* Enhanced Particles */
.lbf-car-show-page .cs-particles{position:absolute; inset:0; pointer-events:none; z-index:1; overflow:hidden}
.lbf-car-show-page .cs-particle{position:absolute; background:white; border-radius:50%; filter: blur(1px); box-shadow: 0 0 10px rgba(255,255,255,0.4)}

/* Floating Badges in Hero Feature */
.lbf-car-show-page .cs-hero-feature-badge{position:absolute;top:1rem;left:1rem;z-index:10;font-family:'Outfit',sans-serif;background:var(--gold);color:var(--blue-dark);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .85rem;border-radius:99px}
.lbf-car-show-page .cs-hero-feature-card{position:absolute; left:1.5rem; right:1.5rem; bottom:1.5rem; z-index:2; color:#fff}
.lbf-car-show-page .cs-hero-feature-sup{font-family:'Outfit',sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.lbf-car-show-page .cs-hero-feature-name{font-family:'Outfit',sans-serif;font-size:1.25rem;font-weight:900;line-height:1.1;margin-bottom:.5rem}.lbf-car-show-page .cs-hero-feature-pills{display:flex;flex-wrap:wrap;gap:.4rem}.lbf-car-show-page .cs-hero-feature-pill{font-family:'Outfit',sans-serif;padding:.25rem .7rem;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.65rem;font-weight:700;border-radius:99px}

@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes shimmer-fast{0%{transform:translateX(-150%)}100%{transform:translateX(150%)}}

.lbf-car-show-page .cs-hero-feature:hover .cs-hero-feature-img{transform:scale(1.1)}

.lbf-car-show-page .btn{font-family:'Outfit',sans-serif;display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.25rem;font-weight:900;font-size:1.15rem;border-radius:12px;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none !important}.lbf-car-show-page .btn:hover{transform:translateY(-5px);filter:brightness(1.15)}.lbf-car-show-page .btn--gold{background:#f3c303 !important;color:#000 !important;box-shadow:0 12px 40px rgba(243,195,3,.5)}.lbf-car-show-page .btn--gold:hover{background:#ffdb4d !important;box-shadow:0 18px 45px rgba(243,195,3,.7)}.lbf-car-show-page .btn--outline-light{background:rgba(255,255,255,0.2) !important;color:#fff !important;border:3px solid #fff !important;backdrop-filter:blur(12px);text-shadow: 0 1px 8px rgba(0,0,0,0.6);font-weight:900}.lbf-car-show-page .btn--outline-light:hover{background:rgba(255,255,255,0.3) !important;border-color:#fff !important;box-shadow: 0 10px 30px rgba(255,255,255,0.2)}

@media (max-width:960px){
.lbf-car-show-page .cs-hero-inner{grid-template-columns:1fr; text-align:center; padding:4rem 1.5rem}
.lbf-car-show-page .cs-hero-eyebrow{margin:0 auto 1.5rem}
.lbf-car-show-page .cs-hero-meta, .lbf-car-show-page .cs-hero-ctas{justify-content:center}
.lbf-car-show-page .cs-hero-sub{margin-left:auto; margin-right:auto}
.lbf-car-show-page .cs-hero-feature{margin-top:2rem}
}
.lbf-car-show-page .cs-stats{position:relative;padding:0.75rem 0.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:720px;margin:0.75rem auto}.lbf-car-show-page .cs-stat{text-align:center;position:relative}.lbf-car-show-page .cs-stat:not(:last-child)::after{content:"";position:absolute;right:0;top:30%;bottom:30%;width:1px;background:var(--border)}.lbf-car-show-page .cs-stat-icon{width:32px;height:32px;margin:0 auto .45rem;background:rgba(0,55,167,.06);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem}.lbf-car-show-page .cs-stat-num{font-family:'Outfit',sans-serif;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:800;line-height:1;color:var(--blue);margin-bottom:.2rem;letter-spacing:-.01em}.lbf-car-show-page .cs-stat-lbl{font-family:'Outfit',sans-serif;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-3)}
.lbf-car-show-page .cs-section{position:relative;padding:2rem 1.5rem}.lbf-car-show-page .cs-section-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto}.lbf-car-show-page .cs-info-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.25rem;align-items:start}.lbf-car-show-page .cs-details{display:flex;flex-direction:column}.lbf-car-show-page .cs-detail{display:grid;grid-template-columns:44px 1fr;gap:.9rem;align-items:flex-start;padding:0.65rem 0;border-bottom:1px solid var(--border)}.lbf-car-show-page .cs-detail:first-child{padding-top:0}.lbf-car-show-page .cs-detail:last-child{border-bottom:none}.lbf-car-show-page .cs-detail-icon{width:36px;height:36px;background:rgba(26,43,140,.08);color:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem}.lbf-car-show-page .cs-detail-body strong{display:block;font-family:'Outfit',sans-serif;font-weight:700;color:var(--text);font-size:.92rem;margin-bottom:.15rem}.lbf-car-show-page .cs-detail-body span{color:var(--text-2);font-size:.85rem;line-height:1.45}.lbf-car-show-page .cs-form{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1rem;position:sticky;top:1rem;box-shadow:0 6px 22px rgba(0,55,167,.05);box-shadow: 0 0 30px var(--berry-accent)}.lbf-car-show-page .cs-form h3{font-family:'Outfit',sans-serif;font-size:1.15rem;font-weight:800;color:var(--text);margin-bottom:.3rem}.lbf-car-show-page .cs-form p.lede{color:var(--text-2);font-size:.85rem;margin-bottom:1.1rem}.lbf-car-show-page .cs-form-placeholder{background:linear-gradient(180deg,#fbfcff 0%,#eef2fc 100%);border:2px dashed var(--border);border-radius:12px;padding:1.5rem 1rem;text-align:center}.lbf-car-show-page .cs-form-placeholder strong{font-family:'Outfit',sans-serif;display:block;color:var(--blue);font-weight:800;font-size:.9rem;margin-bottom:.3rem}.lbf-car-show-page .cs-form-placeholder p{color:var(--text-3);font-size:.78rem;line-height:1.45}.lbf-car-show-page .cs-waiver-strip{margin-top:.95rem;padding-top:.95rem;border-top:1px solid var(--border);display:flex;gap:.55rem;align-items:center;font-size:.82rem;color:var(--text-2)}.lbf-car-show-page .cs-waiver-strip strong{font-family:'Outfit',sans-serif;color:var(--blue-dark)}.lbf-car-show-page .cs-waiver-strip a{font-weight:700;border-bottom:1.5px solid var(--blue);padding-bottom:.05rem}

.lbf-car-show-page .cs-section--plates{
background: var(--bg); 
border-top: 1px solid var(--border);
position: relative;
overflow: hidden;
}
.lbf-car-show-page .wireframe-bg.blueprint{
opacity: 0.15;
}
.lbf-car-show-page .wireframe-bg.blueprint .wireframe-grid{
background-image: 
linear-gradient(rgba(0, 55, 167, 0.01) 1px, transparent 1px),
linear-gradient(90deg, rgba(0, 55, 167, 0.01) 1px, transparent 1px);
background-size: 8px 8px;
}
.lbf-car-show-page .wireframe-bg.blueprint .wireframe-crosshair{
border-color: rgba(0, 55, 167, 0.2);
}
.lbf-car-show-page .wireframe-bg.blueprint .wireframe-crosshair::before, .lbf-car-show-page .wireframe-bg.blueprint .wireframe-crosshair::after{
background: rgba(0, 55, 167, 0.4);
box-shadow: none;
}
.lbf-car-show-page .schematic-callout{
position: absolute;
font-family: 'JetBrains Mono', monospace;
font-size: 0.5rem;
color: rgba(0, 242, 255, 0.4);
text-transform: uppercase;
letter-spacing: 0.15em;
z-index: 1;
pointer-events: none;
}
.lbf-car-show-page .schematic-line{
position: absolute;
background: rgba(0, 242, 255, 0.1);
pointer-events: none;
}
.lbf-car-show-page .cs-classes-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:1rem; max-width:1200px; margin:0 auto; padding:1rem 0}
.lbf-car-show-page .cs-class-badge{
position:relative; 
width:100%; 
max-width:240px; 
height:120px; 
cursor:pointer; 
display:flex; 
flex-direction:column; 
align-items:center; 
justify-content:center; 
transition:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
border-radius:12px; 
border:1px solid #b5c4e0; 
overflow:hidden; 
box-shadow: 0 8px 25px rgba(0,0,0,0.12), inset 0 0 15px rgba(255,255,255,1); 
background:#fff; 
margin: 0 auto;
}

/* Pressed Metal Rim */
.lbf-car-show-page .cs-class-badge::after{
content: "";
position: absolute;
inset: 6px;
border: 1px solid rgba(27,34,76,0.08);
border-radius: 8px;
pointer-events: none;
z-index: 5;
}

.lbf-car-show-page .plate-hole{
position: absolute;
width: 5px;
height: 5px;
background: #444;
border-radius: 50%;
box-shadow: inset 1px 1px 2px #000, 0 1px 1px rgba(255,255,255,0.8);
z-index: 25;
}
.lbf-car-show-page .hole--tl{ top: 8px; left: 8px; }
.lbf-car-show-page .hole--tr{ top: 8px; right: 8px; }
.lbf-car-show-page .hole--bl{ bottom: 8px; left: 8px; }
.lbf-car-show-page .hole--br{ bottom: 8px; right: 8px; }

/* Ohio Plate Background Scene */
.lbf-car-show-page .plate-bg{position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none}
.lbf-car-show-page .plate-sky{position:absolute; inset:0; background: linear-gradient(180deg, #b0c9f0 0%, #d8e5f8 100%)}
.lbf-car-show-page .plate-rays{position:absolute; bottom:30%; left:50%; width:200%; height:200%; transform:translateX(-50%); background: repeating-conic-gradient(from 0deg, white 0deg 12deg, transparent 12deg 24deg); opacity:0.6; filter:blur(1.5px)}
.lbf-car-show-page .plate-sun{position:absolute; bottom:28%; left:50%; transform:translateX(-50%); width:80px; height:80px; background:#f59e0b; border-radius:50%; filter: blur(10px); opacity:0.4}
.lbf-car-show-page .plate-hills{position:absolute; bottom:20%; left:0; right:0; height:35px; background:#22c55e; clip-path: polygon(0% 100%, 15% 60%, 30% 90%, 50% 50%, 70% 85%, 85% 65%, 100% 100%); opacity:0.9; z-index:2}
.lbf-car-show-page .plate-wheat{position:absolute; bottom:0; left:0; right:0; height:20%; background: linear-gradient(180deg, #d9bb7a 0%, #92400e 100%); z-index:3; border-top:1px solid rgba(0,0,0,0.1)}
.lbf-car-show-page .plate-wheat::after{content:""; position:absolute; inset:0; background-image: radial-gradient(#78350f 0.5px, transparent 0.5px); background-size: 6px 6px; opacity:0.15}
.lbf-car-show-page .plate-skyline{position:absolute; bottom:30%; left:8%; width:60px; height:30px; background:#475569; clip-path: polygon(0% 100%, 0% 40%, 20% 40%, 20% 20%, 40% 20%, 40% 0%, 60% 0%, 60% 30%, 80% 30%, 80% 60%, 100% 60%, 100% 100%); opacity:0.3; z-index:1}

/* Branding Elements */
.lbf-car-show-page .plate-ohio-logo{position:absolute; top:2px; left:50%; transform:translateX(-50%); z-index:10; width:54px; height:32px; display:flex; align-items:center; justify-content:center}
.lbf-car-show-page .plate-ohio-text{position:relative; font-family:'Playfair Display', serif; font-style: italic; font-weight:900; font-size:0.9rem; color:#dc2626; letter-spacing:-0.02em; z-index:2; text-shadow: 0.5px 0.5px 0 rgba(255,255,255,0.4)}

.lbf-car-show-page .plate-banner-wrap{position:absolute; top:4px; right:12px; z-index:10; display:flex; align-items:center; gap:4px}
.lbf-car-show-page .plate-banner{background:#c2410c; color:white; padding:1px 5px; border-radius:1px; font-size:0.32rem; font-weight:800; font-family:'Outfit',sans-serif; text-transform:uppercase; letter-spacing:0.04em; box-shadow: 1px 1px 2px rgba(0,0,0,0.2)}
.lbf-car-show-page .plate-plane{width:28px; height:18px; position:absolute; top:6px; left:14px; z-index:10; color:#1b224c; opacity:0.9}

/* Main Content */
.lbf-car-show-page .cs-class-h{
position:relative; 
z-index:10; 
font-family:'Outfit',sans-serif; 
font-size:1.6rem; 
font-weight:900; 
color:#1b224c; 
line-height:1; 
text-transform:uppercase; 
letter-spacing:-0.03em; 
text-shadow: 1px 1px 0 rgba(255,255,255,0.8), -1px -1px 1px rgba(0,0,0,0.15);
}
.lbf-car-show-page .cs-class-p{
position:relative; 
z-index:10; 
font-family:'Outfit',sans-serif; 
font-size:0.55rem; 
font-weight:900; 
color:#1b224c; 
opacity:0.85; 
margin-top:2px; 
text-transform:uppercase; 
letter-spacing:0.12em;
text-shadow: 0 1px 0 rgba(255,255,255,0.4);
}

.lbf-car-show-page .cs-class-desc{
position:relative; 
z-index:10; 
font-family:'Outfit',sans-serif; 
font-size:0.38rem; 
font-weight:700; 
color:#1b224c; 
opacity:0.7; 
margin-top:4px; 
line-height:1; 
white-space: nowrap;
margin-left:auto; 
margin-right:auto;
}

.lbf-car-show-page .cs-class-bottom-text{
position:absolute; 
bottom:10px; 
left:50%; 
transform:translateX(-50%); 
z-index:15; 
font-family:'Outfit',sans-serif; 
font-size:0.4rem; 
font-weight:900; 
color:#fff; 
text-transform:uppercase; 
letter-spacing:0.12em; 
width:100%; 
text-align:center; 
opacity:0.95; 
pointer-events:none;
text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

.lbf-car-show-page .cs-class-sticker{
position:absolute; 
width:20px; 
height:16px; 
border-radius:2px; 
font-size:0.45rem; 
font-weight:900; 
display:flex; 
align-items:center; 
justify-content:center; 
z-index:20; 
box-shadow: 1px 1px 3px rgba(0,0,0,0.3); 
border:1px solid rgba(255,255,255,0.2);
}
.lbf-car-show-page .sticker--month{
bottom:8px; 
left:14px; 
background: linear-gradient(135deg, #e11d48, #9f1239); 
color: #fff;
}
.lbf-car-show-page .sticker--year{
bottom:8px; 
right:14px; 
background: linear-gradient(135deg, #fff, #f1f5f9); 
color:#1e40af; 
border:1px solid rgba(30,64,175,0.3);
}

.lbf-car-show-page .cs-class-badge:hover{
transform: translateY(-8px) rotate(1deg); 
z-index:50; 
box-shadow:0 25px 50px rgba(0,0,0,0.15), inset 0 0 20px rgba(255,255,255,0.8);
}
.lbf-car-show-page .cs-class-badge:active{transform:scale(0.96)}

/* Modal Styles */
.lbf-car-show-page .plate-modal-overlay{position:fixed; inset:0; background:rgba(255,255,255,0.7); backdrop-filter:blur(4px); z-index:1000; display:flex; align-items:center; justify-content:center; padding:1.5rem}
.lbf-car-show-page .plate-modal-content{position:relative; width:min(90vw, 600px); aspect-ratio:1.8/1; cursor: default}
.lbf-car-show-page .plate-modal-badge{
width:100% !important; 
height:100% !important; 
max-width:none !important; 
border-radius:24px !important; 
box-shadow:0 50px 120px rgba(0,0,0,0.4), inset 0 0 60px rgba(255,255,255,1) !important;
cursor: default !important;
border: 1px solid rgba(0,0,0,0.1) !important;
}
.lbf-car-show-page .plate-modal-badge::after{ inset: 12px !important; border-radius: 16px !important; border-width: 2px !important; }
.lbf-car-show-page .plate-modal-badge .plate-hole{ width: 16px; height: 16px; box-shadow: inset 3px 3px 6px #000, 0 2px 3px rgba(255,255,255,0.8); }
.lbf-car-show-page .plate-modal-badge .hole--tl{ top: 25px; left: 25px; }
.lbf-car-show-page .plate-modal-badge .hole--tr{ top: 25px; right: 25px; }
.lbf-car-show-page .plate-modal-badge .hole--bl{ bottom: 25px; left: 25px; }
.lbf-car-show-page .plate-modal-badge .hole--br{ bottom: 25px; right: 25px; }

.lbf-car-show-page .plate-modal-badge .cs-class-h{font-size: clamp(2.2rem, 10vw, 5rem) !important; text-shadow: 2px 2px 0 rgba(255,255,255,0.8), -2px -2px 3px rgba(0,0,0,0.15) !important}
.lbf-car-show-page .plate-modal-badge .cs-class-p{font-size: clamp(0.65rem, 3vw, 1.4rem) !important; margin-top:4px !important}
.lbf-car-show-page .plate-modal-badge .cs-class-desc{font-size: clamp(0.4rem, 1.6vw, 0.85rem) !important; white-space: nowrap !important; margin-top:6px !important; opacity:0.8 !important; line-height: 1 !important}
.lbf-car-show-page .plate-modal-badge .cs-class-bottom-text{font-size: clamp(0.45rem, 1.8vw, 0.8rem) !important; bottom: 8% !important; letter-spacing: 0.18em !important}
.lbf-car-show-page .plate-modal-badge .cs-class-sticker{width:56px !important; height:45px !important; font-size:1.2rem !important; border-radius:6px !important; box-shadow: 2px 2px 8px rgba(0,0,0,0.4) !important}
.lbf-car-show-page .plate-modal-badge .sticker--month{bottom:30px !important; left:45px !important}
.lbf-car-show-page .plate-modal-badge .sticker--year{bottom:30px !important; right:45px !important}
.lbf-car-show-page .plate-modal-badge .cs-class-screw{width:18px !important; height:18px !important}
.lbf-car-show-page .plate-modal-badge .plate-ohio-text{font-size:2.2rem !important; letter-spacing: -0.01em !important}
.lbf-car-show-page .plate-modal-badge .plate-ohio-logo{width:140px !important; height:70px !important; top: 12px !important}
.lbf-car-show-page .plate-modal-badge .icon-ohio-state{width:110px !important; height:95px !important; top: -5px !important}
.lbf-car-show-page .plate-modal-badge .plate-banner{font-size:0.7rem !important; padding:4px 12px !important}
.lbf-car-show-page .plate-modal-badge .plate-banner-wrap{top:15px !important; right:30px !important; gap:8px !important}
.lbf-car-show-page .plate-modal-badge .plate-plane{width:55px !important; height:35px !important; top:15px !important; left:30px !important}
.lbf-car-show-page .plate-modal-badge .cs-class-small-tag{font-size:0.9rem !important; padding:4px 16px !important}

.lbf-car-show-page .modal-close-hint{position:absolute; bottom:-45px; left:50%; transform:translateX(-50%); color:var(--text-3); font-family:'Outfit',sans-serif; font-weight:700; font-size:0.85rem; opacity:0.6; letter-spacing:0.05em}

@media (max-width:700px){
.lbf-car-show-page .plate-modal-content{aspect-ratio:3/2; width: 95vw}
.lbf-car-show-page .plate-modal-badge .cs-class-h{font-size: 1.8rem !important}
.lbf-car-show-page .plate-modal-badge .cs-class-p{font-size: 0.55rem !important}
.lbf-car-show-page .plate-modal-badge .cs-class-desc{font-size: 0.4rem !important; white-space: nowrap !important}
.lbf-car-show-page .plate-modal-badge .cs-class-sticker{width: 32px !important; height: 26px !important; font-size: 0.65rem !important}
.lbf-car-show-page .plate-modal-badge .sticker--month{bottom: 18px !important; left: 24px !important}
.lbf-car-show-page .plate-modal-badge .sticker--year{bottom: 18px !important; right: 24px !important}
}
.lbf-car-show-page .cs-class-badge::before{
content: "";
position: absolute;
inset: 0;
background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.2) 0%, transparent 60%);
opacity: 0.5;
pointer-events: none;
z-index: 2;
}

.lbf-car-show-page .cs-shimmer{
position:absolute; 
inset:0; 
background:linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.25) 50%, transparent 60%); 
transform:translateX(-100%); 
pointer-events:none; 
z-index:30;
}
.lbf-car-show-page .cs-class-badge:hover .cs-shimmer{animation:shimmer 2.5s infinite}
@keyframes shimmer{
100%{transform:translateX(100%)}
}

.lbf-car-show-page .icon-ohio-state{position:absolute; top:0; left:50%; transform:translateX(-50%); width:46px; height:42px; opacity:0.12; fill:#dc2626; z-index:1; filter: drop-shadow(1px 1px 1px rgba(255,255,255,0.5))}        
.lbf-car-show-page .cs-awards{position:relative;overflow:hidden;border-radius:1.5rem;background:var(--grad-night);margin:.5rem 0;padding:1.15rem 1rem;color:#fff}.lbf-car-show-page .cs-awards::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(243,195,3,.22) 1.5px,transparent 1.5px);background-size:30px 30px;opacity:.3}.lbf-car-show-page .cs-awards::after{content:"";position:absolute;right:-150px;top:-80px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(243,195,3,.15),transparent 60%);filter:blur(20px)}.lbf-car-show-page .cs-awards-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto}.lbf-car-show-page .cs-awards-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:2rem;align-items:stretch;margin-top:0.65rem}.lbf-car-show-page .cs-bos-column{display:flex;flex-direction:column;gap:0.75rem;height:100%}.lbf-car-show-page .cs-bos{padding:1.15rem 1rem;background:rgba(243,195,3,.08);border:2px solid var(--gold);border-radius:16px;text-align:center;display:flex;flex-direction:column;justify-content:center;flex:2}.lbf-car-show-page .cs-bos--small{padding:0.75rem;border-width:1.5px;flex:1}.lbf-car-show-page .cs-bos--small .cs-bos-badge{font-size:0.52rem;padding:0.18rem 0.55rem;margin-bottom:0.5rem}.lbf-car-show-page .cs-bos--small .text-3xl{font-size:1.35rem;margin-bottom:0.15rem}.lbf-car-show-page .cs-bos--small h3{font-size:0.9rem;margin-bottom:0.1rem}.lbf-car-show-page .cs-bos--small .cs-bos-prize{font-size:1.2rem !important;margin:0.1rem 0}.lbf-car-show-page .cs-bos--small .cs-bos-p{font-size:0.72rem;line-height:1.4}.lbf-car-show-page .cs-bos-badge{font-family:'Outfit',sans-serif;display:inline-block;background:var(--gold);color:var(--blue-dark);font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .6rem;border-radius:99px;margin-bottom:.65rem}.lbf-car-show-page .cs-bos-icon{font-size:3.76rem;margin-bottom:.25rem;filter:drop-shadow(0 0 15px rgba(243,195,3,.5))}.lbf-car-show-page .cs-bos h3{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:800;color:#fff;margin-bottom:.15rem}.lbf-car-show-page .cs-bos-prize{font-family:'Outfit',sans-serif;font-size:1.95rem;font-weight:900;color:var(--gold);line-height:1;margin:.2rem 0 .4rem;letter-spacing:-.03em}.lbf-car-show-page .cs-bos-p{color:rgba(255,255,255,.85);font-size:.78rem;line-height:1.4}.lbf-car-show-page .cs-awards-rows{display:flex;flex-direction:column}.lbf-car-show-page .cs-award-row{display:grid;grid-template-columns:40px 1fr;gap:0.75rem;align-items:flex-start;padding:0.6rem 0.75rem;margin:0 -0.75rem;border-bottom:1px solid rgba(255,255,255,.11);border-radius:12px;cursor:default;transition:border-color 0.2s}.lbf-car-show-page .cs-award-row:first-child{padding-top:0.6rem;margin-top:-0.6rem}.lbf-car-show-page .cs-award-row:last-child{border-bottom:none}.lbf-car-show-page .cs-award-row:hover{border-color:transparent}.lbf-car-show-page .cs-award-row:hover .cs-award-icon{background:rgba(243,195,3,.25);border-color:rgba(243,195,3,.6)}.lbf-car-show-page .cs-award-icon{width:36px;height:36px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:background .2s,border-color .2s}.lbf-car-show-page .cs-award-body h4{font-family:'Outfit',sans-serif;color:var(--gold);font-size:0.88rem;font-weight:800;margin-bottom:0.1rem}.lbf-car-show-page .cs-award-body p{color:rgba(255,255,255,.75);font-size:.76rem;line-height:1.4;max-width:480px}
.lbf-car-show-page .cs-split{display:grid;grid-template-columns:1.15fr 1fr;gap:2.25rem;align-items:start}.lbf-car-show-page .cs-rules{list-style:none;counter-reset:rule}.lbf-car-show-page .cs-rules li{counter-increment:rule;display:grid;grid-template-columns:36px 1fr;gap:.9rem;padding:0.75rem 0.75rem;margin:0 -0.75rem;border-bottom:1px solid var(--border);align-items:start;transition:all 0.3s ease;border-radius:12px;cursor:default}.lbf-car-show-page .cs-rules li:first-child{padding-top:0.75rem;margin-top:-0.75rem}.lbf-car-show-page .cs-rules li:last-child{border-bottom:none}.lbf-car-show-page .cs-rules li:hover{background:rgba(0,55,167,0.04);border-color:transparent}.lbf-car-show-page .cs-rules li::before{content:"0" counter(rule);font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:800;color:#fff;background:var(--blue);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease}.lbf-car-show-page .cs-rules li:hover::before{background:var(--gold);color:var(--blue-dark);transform:scale(1.1)}.lbf-car-show-page .cs-rules strong{display:block;font-family:'Outfit',sans-serif;font-weight:700;color:var(--text);font-size:.93rem;margin-bottom:.18rem}.lbf-car-show-page .cs-rules p{color:var(--text-2);font-size:.83rem;line-height:1.5}.lbf-car-show-page .cs-judging{background:#fff;border:1px solid #d7e2fb;border-radius:18px;padding:1.4rem;position:sticky;top:1rem;box-shadow:0 6px 22px rgba(0,55,167,.05)}.lbf-car-show-page .cs-judging h3{font-family:'Outfit',sans-serif;font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:.3rem}.lbf-car-show-page .cs-judging .lede{color:var(--text-2);font-size:.83rem;margin-bottom:1.2rem;line-height:1.5}.lbf-car-show-page .cs-judging-list{display:flex;flex-direction:column;gap:.95rem}.lbf-car-show-page .cs-judging-row{display:flex;flex-direction:column;gap:.35rem}.lbf-car-show-page .cs-judging-top{display:flex;justify-content:space-between;align-items:baseline}.lbf-car-show-page .cs-judging-name{font-family:'Outfit',sans-serif;font-weight:700;color:var(--text);font-size:.85rem}.lbf-car-show-page .cs-judging-pct{font-family:'Outfit',sans-serif;font-weight:800;color:var(--blue);font-size:.95rem}.lbf-car-show-page .cs-judging-bar{height:5px;background:var(--bg2);border-radius:99px;overflow:hidden}.lbf-car-show-page .cs-judging-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--gold));border-radius:99px}
.lbf-car-show-page .cs-winners-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem;margin-top:.5rem}.lbf-car-show-page .cs-winner-feature{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:5/4;background:var(--grad-night);cursor:pointer;transition:transform .3s}.lbf-car-show-page .cs-winner-feature:hover{transform:translateY(-4px)}.lbf-car-show-page .cs-winner-feature::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 30% 30%,rgba(243,195,3,.3),transparent 55%)}.lbf-car-show-page .cs-winner-feature-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-size:5rem;opacity:.35}.lbf-car-show-page .cs-winner-feature-year{position:absolute;top:1rem;right:1rem;font-family:'Outfit',sans-serif;background:var(--gold);color:var(--blue-dark);padding:.28rem .75rem;border-radius:99px;font-weight:800;font-size:.72rem;letter-spacing:.05em}.lbf-car-show-page .cs-winner-feature-body{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;color:#fff}.lbf-car-show-page .cs-winner-feature-class{font-family:'Outfit',sans-serif;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}.lbf-car-show-page .cs-winner-feature-title{font-family:'Outfit',sans-serif;font-size:1.3rem;font-weight:800;line-height:1.1;margin-bottom:.3rem;letter-spacing:-.01em}.lbf-car-show-page .cs-winner-feature-owner{color:rgba(255,255,255,.78);font-size:.83rem}.lbf-car-show-page .cs-winner-thumbs{display:grid;grid-template-rows:repeat(3,1fr);gap:1rem}.lbf-car-show-page .cs-winner-thumb{position:relative;border-radius:14px;overflow:hidden;background:var(--grad-blue);cursor:pointer;transition:transform .3s;display:flex;align-items:center;padding:1rem 1.15rem;min-height:90px}.lbf-car-show-page .cs-winner-thumb:hover{transform:translateX(4px)}.lbf-car-show-page .cs-winner-thumb::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 80% 40%,rgba(243,195,3,.22),transparent 55%)}.lbf-car-show-page .cs-winner-thumb-icon{position:relative;z-index:2;font-size:1.85rem;margin-right:.95rem;opacity:.7}.lbf-car-show-page .cs-winner-thumb-body{position:relative;z-index:2;color:#fff}.lbf-car-show-page .cs-winner-thumb-year{font-family:'Outfit',sans-serif;font-size:.6rem;font-weight:800;color:var(--gold);letter-spacing:.1em;margin-bottom:.15rem}.lbf-car-show-page .cs-winner-thumb-title{font-family:'Outfit',sans-serif;font-size:.92rem;font-weight:800;line-height:1.2;margin-bottom:.15rem}.lbf-car-show-page .cs-winner-thumb-owner{font-size:.72rem;color:rgba(255,255,255,.7)}
.lbf-car-show-page .cs-cca{position:relative;overflow:hidden;border-radius:1.5rem;background:var(--grad-night);margin:.65rem 0;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;color:#fff}.lbf-car-show-page .cs-cca::before{content:"";position:absolute;right:-100px;top:-100px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(243,195,3,.2),transparent 60%);filter:blur(40px)}.lbf-car-show-page .cs-cca::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:1}.lbf-car-show-page .cs-cca-copy{padding:2.5rem 2rem;position:relative;z-index:2}.lbf-car-show-page .cs-cca-h{font-family:'Outfit',sans-serif;font-size:clamp(1.45rem,2.4vw,1.95rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:#fff;margin-bottom:.7rem}.lbf-car-show-page .cs-cca-h .accent{color:var(--gold)}.lbf-car-show-page .cs-cca-p{color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.6;margin-bottom:1.35rem}.lbf-car-show-page .cs-cca-steps{display:flex;flex-direction:column;margin-bottom:1.35rem}.lbf-car-show-page .cs-cca-step{display:grid;grid-template-columns:36px 1fr;gap:.9rem;align-items:center;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.lbf-car-show-page .cs-cca-step:last-child{border-bottom:none}.lbf-car-show-page .cs-cca-step__n{font-family:'Outfit',sans-serif;width:30px;height:30px;background:var(--gold);color:var(--blue-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.83rem}.lbf-car-show-page .cs-cca-step__t{font-size:.88rem;font-weight:600;color:rgba(255,255,255,.92)}.lbf-car-show-page .cs-cca-visual{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:1.5rem;height:100%}.lbf-car-show-page .cs-cca-visual-inner{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center}.lbf-car-show-page .cs-cca-ring{position:absolute;inset:0;border:1px solid rgba(255,255,255,.15);border-radius:50%}.lbf-car-show-page .cs-cca-ring.dashed{border-style:dashed;animation:spin 40s linear infinite}.lbf-car-show-page .cs-cca-ring.slow{inset:10%;border-color:rgba(255,255,255,0.1);animation:spin 60s linear infinite reverse}.lbf-car-show-page .cs-cca-ring.gold{inset:18%;border-color:rgba(243,195,3,.3);border-width:2px;box-shadow:inset 0 0 20px rgba(243,195,3,0.1)}.lbf-car-show-page .cs-cca-glow{position:absolute;inset:20%;background:radial-gradient(circle,rgba(243,195,3,0.15) 0%,transparent 70%);filter:blur(15px);animation:pulse 4s ease-in-out infinite}.lbf-car-show-page .cs-cca-sparkle{position:absolute;width:4px;height:4px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px var(--gold)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:0.4;transform:scale(0.8)}50%{opacity:0.8;transform:scale(1.1)}}.lbf-car-show-page .cs-cca-trophy{position:relative;z-index:10;filter:drop-shadow(0 0 25px rgba(243,195,3,.6))}
.lbf-car-show-page .cs-faq-list{border-top:1px solid var(--border);margin-top:.5rem}.lbf-car-show-page .cs-faq-item{border-bottom:1px solid var(--border);transition:all .3s ease;border-radius:8px;margin:0 -0.5rem;padding:0 0.5rem}.lbf-car-show-page .cs-faq-item:hover{background:rgba(26,43,140,0.03)}.lbf-car-show-page .cs-faq-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:0.75rem 0;font-family:'Outfit',sans-serif;font-weight:700;color:var(--text);font-size:.93rem;letter-spacing:-.01em}.lbf-car-show-page .cs-faq-item summary::-webkit-details-marker{display:none}.lbf-car-show-page .cs-faq-item summary::after{content:"+";width:28px;height:28px;border-radius:50%;background:var(--bg2);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;transition:transform .25s,background .25s,color .25s}.lbf-car-show-page .cs-faq-item[open] summary::after{transform:rotate(45deg);background:var(--blue);color:#fff}.lbf-car-show-page .cs-faq-item p{padding:0 0 1rem;color:var(--text-2);font-size:.85rem;line-height:1.6;max-width:680px}
.lbf-car-show-page .cs-final{position:relative;overflow:hidden;border-radius:1.5rem;background:linear-gradient(135deg,#001a6e 0%,#0037a7 60%,#1a4fc4 100%);padding:3rem 2rem;text-align:center;color:#fff}.lbf-car-show-page .cs-final::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(243,195,3,.18) 1.5px,transparent 1.5px);background-size:30px 30px;opacity:.3}.lbf-car-show-page .cs-final-inner{position:relative;z-index:2;max-width:680px;margin:0 auto}.lbf-car-show-page .cs-final h2{font-family:'Outfit',sans-serif;font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800;color:#fff;margin-bottom:.6rem;letter-spacing:-.02em}.lbf-car-show-page .cs-final h2 .accent{color:var(--gold)}.lbf-car-show-page .cs-final p{color:rgba(255,255,255,.85);margin-bottom:1.4rem;font-size:.93rem;line-height:1.55}        .lbf-car-show-page .cs-final .btns{display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap}

/* Technical Wireframe Elements */
.lbf-car-show-page .wireframe-bg{
position: absolute;
inset: 0;
pointer-events: none;
z-index: 1;
opacity: 0.6;
overflow: hidden;
}
.lbf-car-show-page .wireframe-grid{
position: absolute;
inset: 0;
background-image: 
linear-gradient(rgba(0, 242, 255, 0.2) 1px, transparent 1px),
linear-gradient(90deg, rgba(0, 242, 255, 0.2) 1px, transparent 1px);
background-size: 50px 50px;
pointer-events: none;
}
.lbf-car-show-page .wireframe-crosshair{
position: absolute;
width: 40px;
height: 40px;
border: 1px solid rgba(0, 242, 255, 0.3);
pointer-events: none;
}
.lbf-car-show-page .wireframe-crosshair::before, .lbf-car-show-page .wireframe-crosshair::after{
content: "";
position: absolute;
background: #00f2ff;
box-shadow: 0 0 8px #00f2ff;
}
.lbf-car-show-page .wireframe-crosshair::before{ top: 50%; left: -10px; right: -10px; height: 1px; }
.lbf-car-show-page .wireframe-crosshair::after{ left: 50%; top: -10px; bottom: -10px; width: 1px; }

.lbf-car-show-page .wireframe-car-wrapper{
position: absolute;
right: -2%;
bottom: 5%;
width: 55%;
height: auto;
pointer-events: none;
z-index: 1;
animation: float-slow 10s ease-in-out infinite;
}
.lbf-car-show-page .wireframe-car-wrapper::after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(90deg, transparent, #00f2ff, transparent);
box-shadow: 0 0 20px #00f2ff, 0 0 10px #00f2ff;
animation: scan 4s ease-in-out infinite;
opacity: 0;
z-index: 10;
}
.lbf-car-show-page .wireframe-car{
width: 100%;
height: auto;
filter: drop-shadow(0 0 20px rgba(0, 242, 255, 0.8)) drop-shadow(0 0 5px rgba(0, 242, 255, 1));
opacity: 1;
animation: glitch-flicker 4s linear infinite;
mix-blend-mode: screen;
}
@keyframes scan {
0% { top: 0%; opacity: 0; }
10% { opacity: 1; }
90% { opacity: 1; }
100% { top: 100%; opacity: 0; }
}
@keyframes glitch-flicker {
0%, 80%, 100% { opacity: 0.9; }
81% { opacity: 0.4; }
82% { opacity: 0.9; }
83% { opacity: 0.7; }
84% { opacity: 0.9; }
}
@keyframes float-slow {
0%, 100% { transform: translateY(0) rotate(0deg); }
50% { transform: translateY(-15px) rotate(2deg); }
}
.lbf-car-show-page .tech-callout{
position: absolute;
font-family: 'JetBrains Mono', monospace;
font-size: 0.65rem;
color: rgba(0, 242, 255, 0.9);
text-transform: uppercase;
letter-spacing: 0.25em;
display: flex;
align-items: center;
gap: 0.8rem;
white-space: nowrap;
z-index: 5;
text-shadow: 0 0 15px rgba(0, 242, 255, 0.8);
}
.lbf-car-show-page .tech-callout::before{
content: "";
width: 40px;
height: 1px;
background: #00f2ff;
box-shadow: 0 0 10px #00f2ff;
}

.lbf-car-show-page .on-dark{ color: #fff !important; }
.lbf-car-show-page .on-dark.section-head h2{ color: #fff !important; }
.lbf-car-show-page .on-dark.section-head .eyebrow{ color: var(--gold); border-color: rgba(243,195,3,0.4); }
.lbf-car-show-page .on-dark.section-head .section-intro{ color: rgba(255,255,255,0.7) !important; }

@media (max-width:1000px){.lbf-car-show-page .cs-info-grid, .lbf-car-show-page .cs-awards-layout{grid-template-columns:1fr;gap:1.5rem}}
@media (max-width:900px){.lbf-car-show-page .cs-hero-inner{grid-template-columns:1fr;padding:2rem 1.25rem}.lbf-car-show-page .cs-stats{grid-template-columns:repeat(2,1fr);padding:1.75rem 1.25rem 1rem}.lbf-car-show-page .cs-stat:not(:last-child)::after{display:none}.lbf-car-show-page .cs-classes-grid{grid-template-columns:repeat(2,1fr)}.lbf-car-show-page .cs-split, .lbf-car-show-page .cs-winners-layout, .lbf-car-show-page .cs-cca{grid-template-columns:1fr;gap:1.75rem}}
@media (max-width:768px){.lbf-car-show-page .cs-section{padding:2.25rem 1.25rem}.lbf-car-show-page .cs-shell{border-radius:1.35rem;padding:.55rem}.lbf-car-show-page .cs-hero, .lbf-car-show-page .cs-awards, .lbf-car-show-page .cs-cca, .lbf-car-show-page .cs-final{border-radius:1rem}}
@media (max-width:600px){.lbf-car-show-page .cs-classes-grid{grid-template-columns:1fr}.lbf-car-show-page .cs-stats{grid-template-columns:1fr}}


/* ─────────────────────────────────────────────
   §15 — INTEGRATION OVERRIDES
───────────────────────────────────────────── */

/* Header offset: account for theme's floating header (var(--header-h, 82px))
   so the canvas top doesn't sit under the floating navigation. */
.lbf-car-show-page .cs-canvas {
    padding-top: calc(var(--header-h, 82px) + 0.75rem);
}

/* .cs-hero-sub — referenced in JSX but no base style was defined in the mockup
   (only a centering rule inside the 960px media query). Establish base style. */
.lbf-car-show-page .cs-hero-sub {
    color: rgba(255,255,255,0.78);
    font-size: 0.95rem;
    line-height: 1.55;
    max-width: 38rem;
    margin-bottom: 1.5rem;
}

/* .cs-class-small-tag — referenced as XP-{num}-BR small label on each license plate.
   Mockup file references it but doesn't define it; provide a sensible badge style. */
.lbf-car-show-page .cs-class-small-tag {
    position: absolute;
    top: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 12;
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.42rem;
    font-weight: 700;
    color: rgba(27,34,76,0.55);
    letter-spacing: 0.18em;
    background: rgba(255,255,255,0.6);
    padding: 1px 4px;
    border-radius: 2px;
    border: 1px solid rgba(27,34,76,0.08);
}

/* ─────────────────────────────────────────────
   GRAVITY FORMS INTEGRATION
   The mockup's <div class="cs-form-placeholder"> is replaced by the real
   gravity_form() output. Strip GF defaults so the form sits cleanly inside
   the .cs-form sticky card.
───────────────────────────────────────────── */
.lbf-car-show-page .cs-form .gform_wrapper {
    margin: 0;
}
.lbf-car-show-page .cs-form .gform_wrapper form {
    margin: 0;
}
.lbf-car-show-page .cs-form .gform_heading {
    display: none;
}
.lbf-car-show-page .cs-form .gform_wrapper .gform_body .gform_fields {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.lbf-car-show-page .cs-form .gfield_label {
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.lbf-car-show-page .cs-form .gfield input[type="text"],
.lbf-car-show-page .cs-form .gfield input[type="email"],
.lbf-car-show-page .cs-form .gfield input[type="tel"],
.lbf-car-show-page .cs-form .gfield input[type="url"],
.lbf-car-show-page .cs-form .gfield input[type="number"],
.lbf-car-show-page .cs-form .gfield select,
.lbf-car-show-page .cs-form .gfield textarea {
    width: 100%;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-size: 0.88rem;
    line-height: 1.4;
    color: var(--text);
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}
/* Native <select> elements ignore padding for their internal text region in
   some browsers and use a computed height based on line-height × font-size.
   Force a min-height so the selected option's letters always render fully
   (descenders included) — without this, "Select" can render with letters
   visually clipped at top + bottom. */
.lbf-car-show-page .cs-form .gfield select {
    min-height: 42px;
    height: auto;
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
}
.lbf-car-show-page .cs-form .gfield input:focus,
.lbf-car-show-page .cs-form .gfield select:focus,
.lbf-car-show-page .cs-form .gfield textarea:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(26,43,140,0.12);
}
.lbf-car-show-page .cs-form .gform_footer {
    margin-top: 1rem;
    padding-top: 0;
    display: flex;
}
.lbf-car-show-page .cs-form .gform_button,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"] {
    width: 100%;
    font-family: 'Outfit', sans-serif;
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--blue-dark);
    background: var(--gold);
    border: none;
    border-radius: 10px;
    padding: 0.85rem 1.25rem;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(243,195,3,0.4);
    transition: transform 0.2s, filter 0.2s, box-shadow 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.lbf-car-show-page .cs-form .gform_button:hover,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"]:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow: 0 12px 28px rgba(243,195,3,0.55);
}
.lbf-car-show-page .cs-form .gform_required_legend {
    font-size: 0.7rem;
    color: var(--text-3);
    margin-bottom: 0.5rem;
}
.lbf-car-show-page .cs-form .gfield_required {
    color: #c2410c;
    margin-left: 2px;
}
.lbf-car-show-page .cs-form .gfield_description {
    font-size: 0.75rem;
    color: var(--text-3);
    margin-top: 0.3rem;
}
.lbf-car-show-page .cs-form .validation_message,
.lbf-car-show-page .cs-form .gfield_validation_message {
    color: #b91c1c;
    font-size: 0.78rem;
    margin-top: 0.25rem;
}
.lbf-car-show-page .cs-form .gform_confirmation_message {
    padding: 1rem;
    border-radius: 10px;
    background: rgba(0,127,0,0.08);
    border: 1px solid rgba(0,127,0,0.2);
    color: var(--text);
    font-size: 0.88rem;
    line-height: 1.5;
}

/* Sticky form: defer to non-sticky on small viewports so the form
   doesn't lock under the floating header on phones. */
@media (max-width: 1000px) {
    .lbf-car-show-page .cs-form {
        position: static;
    }
}

/* Reduced motion: respect users who request reduced motion */
@media (prefers-reduced-motion: reduce) {
    .lbf-car-show-page .cs-bos-icon,
    .lbf-car-show-page .cs-cca-ring.dashed,
    .lbf-car-show-page .cs-cca-ring.slow,
    .lbf-car-show-page .cs-cca-glow,
    .lbf-car-show-page .cs-cca-sparkle,
    .lbf-car-show-page .cs-cca-trophy,
    .lbf-car-show-page .animate-gauge,
    .lbf-car-show-page .animate-gauge--fast,
    .lbf-car-show-page .animate-gauge--slow,
    .lbf-car-show-page .cs-particle {
        animation: none !important;
    }
}

/* ─────────────────────────────────────────────
   §16 — INTERACTION POLISH
   Hover/tap effects that the JSX mockup achieved via Framer Motion's
   whileHover / whileTap props. These are CSS equivalents so the page
   feels alive without requiring a JS animation library.
───────────────────────────────────────────── */

/* §16.1 — Buttons (was: whileHover y:-3, whileTap scale:0.98)
   The base .btn already lifts -5px on hover via the rule from the mockup.
   Add an active-state press for tap feel. */
.lbf-car-show-page .btn { will-change: transform; }
.lbf-car-show-page .btn:active { transform: translateY(-2px) scale(0.98); }

/* §16.2 — Hero feature card (was: whileHover rotateY:-10 rotateX:5)
   3D tilt on hover. Establish perspective on the parent flex column so
   the rotation reads correctly. The transition is scoped to hover so
   the JS-driven mouse parallax (which sets transform inline) feels
   immediate, not lagged. */
.lbf-car-show-page .cs-hero-inner > div:last-child { perspective: 1000px; }
.lbf-car-show-page .cs-hero-feature {
    transform-style: preserve-3d;
    transition: transform 0.15s ease-out;
    will-change: transform;
}
.lbf-car-show-page .cs-hero-feature:hover {
    transform: rotateY(-10deg) rotateX(5deg) !important;
    transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* §16.3 — Hero orbs gentle drift (was: mouse parallax via useMotionValue)
   Continuous CSS drift PLUS optional JS-driven mouse parallax via
   --cs-mx/--cs-my CSS variables (set by car-show-page.js). The keyframes
   compose both into a single transform so neither fights the other. */
.lbf-car-show-page .cs-hero-orb-a,
.lbf-car-show-page .cs-hero-orb-b {
    --cs-mx: 0px;
    --cs-my: 0px;
}
@keyframes cs-orb-drift-a {
    0%, 100% { transform: translate(calc(var(--cs-mx) + 0px),  calc(var(--cs-my) + 0px)); }
    25%      { transform: translate(calc(var(--cs-mx) + 20px), calc(var(--cs-my) - 15px)); }
    50%      { transform: translate(calc(var(--cs-mx) - 10px), calc(var(--cs-my) + 25px)); }
    75%      { transform: translate(calc(var(--cs-mx) - 25px), calc(var(--cs-my) - 10px)); }
}
@keyframes cs-orb-drift-b {
    0%, 100% { transform: translate(calc(var(--cs-mx) + 0px),  calc(var(--cs-my) + 0px)); }
    33%      { transform: translate(calc(var(--cs-mx) - 30px), calc(var(--cs-my) + 20px)); }
    66%      { transform: translate(calc(var(--cs-mx) + 15px), calc(var(--cs-my) - 25px)); }
}
.lbf-car-show-page .cs-hero-orb-a { animation: cs-orb-drift-a 18s ease-in-out infinite; }
.lbf-car-show-page .cs-hero-orb-b { animation: cs-orb-drift-b 22s ease-in-out infinite; }

/* §16.4 — Particle drift (replaces 200 motion.div animated particles).
   Each particle gets one of 6 staggered drift animations via :nth-child. */
@keyframes cs-particle-float-1 {
    0%, 100% { transform: translate(0, 0); opacity: 0.05; }
    50%      { transform: translate(20px, -40px); opacity: 0.3; }
}
@keyframes cs-particle-float-2 {
    0%, 100% { transform: translate(0, 0); opacity: 0.08; }
    50%      { transform: translate(-25px, -60px); opacity: 0.35; }
}
@keyframes cs-particle-float-3 {
    0%, 100% { transform: translate(0, 0); opacity: 0.05; }
    50%      { transform: translate(15px, -80px); opacity: 0.25; }
}
.lbf-car-show-page .cs-particle { animation-iteration-count: infinite; animation-timing-function: ease-in-out; }
.lbf-car-show-page .cs-particle:nth-child(6n+1) { animation: cs-particle-float-1 11s infinite; }
.lbf-car-show-page .cs-particle:nth-child(6n+2) { animation: cs-particle-float-2 14s infinite; animation-delay: -3s; }
.lbf-car-show-page .cs-particle:nth-child(6n+3) { animation: cs-particle-float-3 17s infinite; animation-delay: -6s; }
.lbf-car-show-page .cs-particle:nth-child(6n+4) { animation: cs-particle-float-1 13s infinite; animation-delay: -2s; }
.lbf-car-show-page .cs-particle:nth-child(6n+5) { animation: cs-particle-float-2 16s infinite; animation-delay: -5s; }
.lbf-car-show-page .cs-particle:nth-child(6n+6) { animation: cs-particle-float-3 19s infinite; animation-delay: -8s; }

/* §16.5 — Stat row entrance (was: stagger fadeIn whileInView)
   Initial-load fade-up; respects reduced motion via the existing block. */
@keyframes cs-fade-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
.lbf-car-show-page .cs-stat {
    opacity: 0;
    animation: cs-fade-up 0.6s ease-out forwards;
}
.lbf-car-show-page .cs-stat:nth-child(1) { animation-delay: 0.1s; }
.lbf-car-show-page .cs-stat:nth-child(2) { animation-delay: 0.2s; }
.lbf-car-show-page .cs-stat:nth-child(3) { animation-delay: 0.3s; }
.lbf-car-show-page .cs-stat:nth-child(4) { animation-delay: 0.4s; }

/* §16.6 — Award rows (was: whileHover x:8, bg highlight) */
.lbf-car-show-page .cs-award-row {
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}
.lbf-car-show-page .cs-award-row:hover {
    transform: translateX(8px);
    background: rgba(255,255,255,0.04);
}

/* §16.7 — Rules list (was: whileHover x:10, already has bg via CSS)
   Augment the existing :hover with the slide. */
.lbf-car-show-page .cs-rules li:hover {
    transform: translateX(10px);
}

/* §16.8 — Community Choice steps (was: whileHover x:5) */
.lbf-car-show-page .cs-cca-step {
    transition: transform 0.25s ease;
}
.lbf-car-show-page .cs-cca-step:hover {
    transform: translateX(5px);
}

/* §16.9 — Winner feature card lifts more (was: whileHover y:-5).
   CSS already has translateY(-4px); upgrade to -5px to match mockup spec. */
.lbf-car-show-page .cs-winner-feature:hover {
    transform: translateY(-5px);
}

/* §16.10 — FAQ items (was: whileHover x:8) — augment existing hover */
.lbf-car-show-page .cs-faq-item {
    transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}
.lbf-car-show-page .cs-faq-item:hover {
    transform: translateX(8px);
}

/* §16.11 — Hero entrance (was: initial opacity:0 x:-30, animate x:0) */
@keyframes cs-hero-text-in {
    from { opacity: 0; transform: translateX(-30px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes cs-hero-feature-in {
    from { opacity: 0; transform: scale(0.9); }
    to   { opacity: 1; transform: scale(1); }
}
.lbf-car-show-page .cs-hero-inner > div:first-child {
    animation: cs-hero-text-in 0.8s ease-out 0.2s both;
}
.lbf-car-show-page .cs-hero-inner > div:last-child {
    animation: cs-hero-feature-in 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}

/* §16.12 — Section heads & detail rows entrance (was: whileInView fadeIn) */
@keyframes cs-fade-in-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
.lbf-car-show-page .section-head {
    animation: cs-fade-in-up 0.6s ease-out both;
}

/* §16.13 — Hero feature image scale on hover already present;
   upgrade the duration so it reads more cinematically */
.lbf-car-show-page .cs-hero-feature-img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.lbf-car-show-page .cs-hero-feature:hover .cs-hero-feature-img {
    transform: scale(1.08);
}

/* ─────────────────────────────────────────────
   §17 — LICENSE-PLATE MODAL
   The JSX mockup uses Framer Motion's layoutId + AnimatePresence to expand
   a clicked plate badge into a fullscreen detailed view. This is the CSS
   for that modal; the JS in /assets/js/car-show-page.js handles open/close
   and content cloning.
───────────────────────────────────────────── */

.lbf-car-show-page .cs-plate-modal-overlay {
    position: fixed;
    inset: 0;
    /* No background, no blur, no dim — the overlay is invisible. Its
       only purpose is to trap clicks anywhere outside the plate so
       clicking the page closes the modal. The page-behind stays fully
       visible and crisp during the open state. */
    background: transparent;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    pointer-events: auto;
    /* Perspective makes rotateY on .cs-plate-modal-content read as a 3D
       flip rather than a flat horizontal squash. */
    perspective: 1200px;
    -webkit-perspective: 1200px;
}
.lbf-car-show-page .cs-plate-modal-overlay.is-open,
.lbf-car-show-page .cs-plate-modal-overlay.is-closing {
    display: flex;
}
.lbf-car-show-page .cs-plate-modal-content {
    position: relative;
    width: min(92vw, 760px);
    aspect-ratio: 1.8 / 1;
    cursor: default;
    transform: rotateY(-180deg) scale(0.6);
    opacity: 0;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
/* When the overlay opens, the badge FLIPS into view on its Y-axis (vertical
   axis through the centre, like turning a card to its face) while scaling
   up from a smaller size. The flip starts edge-on (rotateY:-180 = back of
   the card) and rotates through to face the camera. The overlay below has
   `perspective` set so the rotation reads as 3D, not as a horizontal squash. */
@keyframes cs-plate-modal-flip-in {
    0%   { transform: rotateY(-180deg) scale(0.6); opacity: 0; }
    50%  { transform: rotateY(-90deg)  scale(0.85); opacity: 0.5; }
    80%  { transform: rotateY(8deg)    scale(1.04); opacity: 1; }
    100% { transform: rotateY(0deg)    scale(1);    opacity: 1; }
}
/* Closing: flip back out edge-on and shrink. JS adds .is-closing for ~0.4s
   before removing .is-open, so this animation gets to play through. */
@keyframes cs-plate-modal-flip-out {
    0%   { transform: rotateY(0deg)   scale(1);   opacity: 1; }
    100% { transform: rotateY(180deg) scale(0.6); opacity: 0; }
}
.lbf-car-show-page .cs-plate-modal-overlay.is-open .cs-plate-modal-content {
    animation: cs-plate-modal-flip-in 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}
.lbf-car-show-page .cs-plate-modal-overlay.is-closing .cs-plate-modal-content {
    animation: cs-plate-modal-flip-out 0.4s cubic-bezier(0.5, 0, 0.75, 0) forwards;
}

/* Inside the modal, the cloned .cs-class-badge gets a special "modal" sizing.
   Apply the same overrides the mockup used for .plate-modal-badge */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border-radius: 24px !important;
    box-shadow: 0 50px 120px rgba(0,0,0,0.4), inset 0 0 60px rgba(255,255,255,1) !important;
    cursor: default !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge::after {
    inset: 12px !important;
    border-radius: 16px !important;
    border-width: 2px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-hole {
    width: 16px !important;
    height: 16px !important;
    box-shadow: inset 3px 3px 6px #000, 0 2px 3px rgba(255,255,255,0.8) !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .hole--tl { top: 25px !important; left: 25px !important; }
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .hole--tr { top: 25px !important; right: 25px !important; }
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .hole--bl { bottom: 25px !important; left: 25px !important; }
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .hole--br { bottom: 25px !important; right: 25px !important; }
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-h {
    font-size: clamp(2.2rem, 10vw, 5rem) !important;
    text-shadow: 2px 2px 0 rgba(255,255,255,0.8), -2px -2px 3px rgba(0,0,0,0.15) !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-p {
    font-size: clamp(0.65rem, 3vw, 1.4rem) !important;
    margin-top: 4px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-desc {
    font-size: clamp(0.4rem, 1.6vw, 0.85rem) !important;
    white-space: nowrap !important;
    margin-top: 6px !important;
    opacity: 0.8 !important;
    line-height: 1 !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-bottom-text {
    font-size: clamp(0.45rem, 1.8vw, 0.8rem) !important;
    bottom: 8% !important;
    letter-spacing: 0.18em !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-sticker {
    width: 56px !important;
    height: 45px !important;
    font-size: 1.2rem !important;
    border-radius: 6px !important;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.4) !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .sticker--month {
    bottom: 30px !important;
    left: 45px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .sticker--year {
    bottom: 30px !important;
    right: 30px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-ohio-text {
    font-size: 2.2rem !important;
    letter-spacing: -0.01em !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-ohio-logo {
    width: 140px !important;
    height: 70px !important;
    top: 12px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .icon-ohio-state {
    width: 110px !important;
    height: 95px !important;
    top: -5px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-banner {
    font-size: 0.7rem !important;
    padding: 4px 12px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-banner-wrap {
    top: 15px !important;
    right: 30px !important;
    gap: 8px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-plane {
    width: 55px !important;
    height: 35px !important;
    top: 15px !important;
    left: 30px !important;
}
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-small-tag {
    font-size: 0.9rem !important;
    padding: 4px 16px !important;
}

/* Modal close hint */
.lbf-car-show-page .cs-modal-close-hint {
    position: absolute;
    bottom: -45px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--text-3);
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    opacity: 0.6;
    letter-spacing: 0.05em;
}

/* Mobile modal sizing matches mockup's @media (max-width:700px) overrides */
@media (max-width: 700px) {
    .lbf-car-show-page .cs-plate-modal-content {
        aspect-ratio: 3 / 2;
        width: 95vw;
    }
    .lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-h {
        font-size: 1.8rem !important;
    }
    .lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-p {
        font-size: 0.55rem !important;
    }
    .lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-desc {
        font-size: 0.4rem !important;
        white-space: nowrap !important;
    }
    .lbf-car-show-page .cs-plate-modal-content .cs-class-badge .cs-class-sticker {
        width: 32px !important;
        height: 26px !important;
        font-size: 0.65rem !important;
    }
    .lbf-car-show-page .cs-plate-modal-content .cs-class-badge .sticker--month {
        bottom: 18px !important;
        left: 24px !important;
    }
    .lbf-car-show-page .cs-plate-modal-content .cs-class-badge .sticker--year {
        bottom: 18px !important;
        right: 24px !important;
    }
}

/* Plate badges should look clickable */
.lbf-car-show-page .cs-class-badge {
    cursor: pointer;
}

/* ─────────────────────────────────────────────
   §18 — REDUCED MOTION ADDITIONS
   Extend the existing reduced-motion block to disable the new animations.
───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .lbf-car-show-page .cs-hero-orb-a,
    .lbf-car-show-page .cs-hero-orb-b,
    .lbf-car-show-page .cs-stat,
    .lbf-car-show-page .cs-hero-inner > div:first-child,
    .lbf-car-show-page .cs-hero-inner > div:last-child,
    .lbf-car-show-page .section-head,
    .lbf-car-show-page .cs-hero-feature {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .lbf-car-show-page .cs-award-row:hover,
    .lbf-car-show-page .cs-rules li:hover,
    .lbf-car-show-page .cs-cca-step:hover,
    .lbf-car-show-page .cs-faq-item:hover,
    .lbf-car-show-page .cs-hero-feature:hover {
        transform: none !important;
    }
}

/* ─────────────────────────────────────────────
   §19 — SCROLL REVEAL (progressive enhancement)

   Default state: ALL content is fully visible. If JavaScript fails for any
   reason (network error, CSP block, plugin conflict, browser extension,
   user disabled JS, etc.), the page is fully readable.

   The animation system activates only when car-show-page.js adds the
   `.cs-anim-ready` class to the body. From that point onward, .cs-reveal
   and .cs-reveal-stagger elements start at opacity:0 and fade in when JS
   adds .is-revealed via IntersectionObserver.

   This is the inverse of the previous approach (which hid content by
   default and relied on JS to show it). Hiding by default is fragile;
   showing by default is robust.
───────────────────────────────────────────── */

/* When JS has signaled it's ready, the reveal classes start hidden... */
.lbf-car-show-page.cs-anim-ready .cs-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger > * {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* ...and reveal when .is-revealed is added by the IntersectionObserver. */
.lbf-car-show-page.cs-anim-ready .cs-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0);
}
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > * {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger delays — each direct child gets a slight cascade. */
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(1)  { transition-delay: 0.05s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(2)  { transition-delay: 0.10s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(3)  { transition-delay: 0.15s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(4)  { transition-delay: 0.20s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(5)  { transition-delay: 0.25s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(6)  { transition-delay: 0.30s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(7)  { transition-delay: 0.35s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(8)  { transition-delay: 0.40s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(9)  { transition-delay: 0.45s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(10) { transition-delay: 0.50s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(11) { transition-delay: 0.55s; }
.lbf-car-show-page.cs-anim-ready .cs-reveal-stagger.is-revealed > *:nth-child(12) { transition-delay: 0.60s; }

/* Reduced motion: even if JS marks ready, never hide anything. */
@media (prefers-reduced-motion: reduce) {
    .lbf-car-show-page.cs-anim-ready .cs-reveal,
    .lbf-car-show-page.cs-anim-ready .cs-reveal-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ─────────────────────────────────────────────
   §20 — PLATE BADGE CLICK AFFORDANCE
   Make it visually obvious that license-plate badges are clickable.
───────────────────────────────────────────── */
.lbf-car-show-page .cs-class-badge {
    cursor: zoom-in;
}
.lbf-car-show-page .cs-class-badge:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 4px;
}
.lbf-car-show-page .cs-class-badge::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.2) 0%, transparent 60%);
    opacity: 0.5;
    pointer-events: none;
    z-index: 2;
}

/* Subtle "click to expand" pill that fades in on hover */
.lbf-car-show-page .cs-class-badge .cs-class-zoom-hint {
    position: absolute;
    top: 8px;
    right: 50%;
    transform: translateX(50%);
    z-index: 30;
    background: rgba(0,0,0,0.7);
    color: #fff;
    font-family: 'Outfit', sans-serif;
    font-size: 0.55rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 3px 8px;
    border-radius: 99px;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
    white-space: nowrap;
}
.lbf-car-show-page .cs-class-badge:hover .cs-class-zoom-hint,
.lbf-car-show-page .cs-class-badge:focus-visible .cs-class-zoom-hint {
    opacity: 0.9;
}

/* ═════════════════════════════════════════════════════════════
   §21 — COMPLETE MOTION RESTORATION
   Every animation from the original JSX mockup that wasn't in §16.
   Reference: lexington-car-_-truck-show.zip src/App.tsx
═════════════════════════════════════════════════════════════ */

/* §21.1 — Pulsing 🏆 trophy in Best of Show card.
   JSX: animate scale [1, 1.1, 1], duration 3s, repeat infinity */
@keyframes cs-bos-trophy-pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.1); }
}
.lbf-car-show-page .cs-bos .cs-bos-icon {
    display: inline-block;
    animation: cs-bos-trophy-pulse 3s ease-in-out infinite;
    transform-origin: center;
}

/* §21.2 — CCA trophy: bobs up/down + scales + glow pulses.
   JSX: animate y [0, -15, 0] scale [1, 1.05, 1] filter drop-shadow pulse, 3s repeat */
@keyframes cs-cca-trophy-float {
    0%, 100% {
        transform: translateY(0) scale(1);
        filter: drop-shadow(0 0 20px rgba(243,195,3,0.4));
    }
    50% {
        transform: translateY(-15px) scale(1.05);
        filter: drop-shadow(0 0 40px rgba(243,195,3,0.8));
    }
}
.lbf-car-show-page .cs-cca-trophy {
    animation: cs-cca-trophy-float 3s ease-in-out infinite;
}

/* §21.3 — CCA dashed ring spin: faster (15s) per JSX spec */
.lbf-car-show-page .cs-cca-ring.dashed {
    animation: spin 15s linear infinite;
}

/* §21.4 — CCA sparkles (6 of them, each different direction/timing).
   JSX: scale [0, 1.2, 0], opacity [0, 1, 0], x ±(40-80px), y ±(40-80px) */
@keyframes cs-cca-sparkle-tr {
    0%   { transform: translate(0, 0) scale(0); opacity: 0; }
    50%  { transform: translate(60px, -50px) scale(1.2); opacity: 1; }
    100% { transform: translate(60px, -50px) scale(0); opacity: 0; }
}
@keyframes cs-cca-sparkle-tl {
    0%   { transform: translate(0, 0) scale(0); opacity: 0; }
    50%  { transform: translate(-55px, -45px) scale(1.2); opacity: 1; }
    100% { transform: translate(-55px, -45px) scale(0); opacity: 0; }
}
@keyframes cs-cca-sparkle-r {
    0%   { transform: translate(0, 0) scale(0); opacity: 0; }
    50%  { transform: translate(70px, 20px) scale(1.2); opacity: 1; }
    100% { transform: translate(70px, 20px) scale(0); opacity: 0; }
}
@keyframes cs-cca-sparkle-br {
    0%   { transform: translate(0, 0) scale(0); opacity: 0; }
    50%  { transform: translate(50px, 60px) scale(1.2); opacity: 1; }
    100% { transform: translate(50px, 60px) scale(0); opacity: 0; }
}
@keyframes cs-cca-sparkle-bl {
    0%   { transform: translate(0, 0) scale(0); opacity: 0; }
    50%  { transform: translate(-65px, 55px) scale(1.2); opacity: 1; }
    100% { transform: translate(-65px, 55px) scale(0); opacity: 0; }
}
@keyframes cs-cca-sparkle-l {
    0%   { transform: translate(0, 0) scale(0); opacity: 0; }
    50%  { transform: translate(-70px, -10px) scale(1.2); opacity: 1; }
    100% { transform: translate(-70px, -10px) scale(0); opacity: 0; }
}
.lbf-car-show-page .cs-cca-sparkle {
    /* Anchor at center of visual-inner, override the existing
       inset-based positioning so transform translates from origin. */
    top: 50%;
    left: 50%;
    margin-top: -2px;
    margin-left: -2px;
    inset: auto;
}
.lbf-car-show-page .cs-cca-sparkle--1 { animation: cs-cca-sparkle-tr 3.5s ease-out infinite; animation-delay: 0s;   }
.lbf-car-show-page .cs-cca-sparkle--2 { animation: cs-cca-sparkle-tl 3.0s ease-out infinite; animation-delay: 0.5s; }
.lbf-car-show-page .cs-cca-sparkle--3 { animation: cs-cca-sparkle-r  4.0s ease-out infinite; animation-delay: 1.0s; }
.lbf-car-show-page .cs-cca-sparkle--4 { animation: cs-cca-sparkle-br 3.2s ease-out infinite; animation-delay: 1.5s; }
.lbf-car-show-page .cs-cca-sparkle--5 { animation: cs-cca-sparkle-bl 3.8s ease-out infinite; animation-delay: 2.0s; }
.lbf-car-show-page .cs-cca-sparkle--6 { animation: cs-cca-sparkle-l  3.4s ease-out infinite; animation-delay: 2.5s; }

/* §21.5 — Judging bars fill animation.
   JSX: initial width:0 → whileInView width:N%, duration 1s, delay 0.5+i*0.1
   We trigger by adding .is-revealed via the existing scroll observer
   on .cs-judging.cs-reveal — the bars' inline width persists, but we
   delay and animate the transition. */
.lbf-car-show-page.cs-anim-ready .cs-judging-fill {
    width: 0 !important;
    transition: width 1s ease-out;
}
.lbf-car-show-page.cs-anim-ready .cs-judging.is-revealed .cs-judging-row:nth-child(1) .cs-judging-fill { width: 25% !important; transition-delay: 0.5s; }
.lbf-car-show-page.cs-anim-ready .cs-judging.is-revealed .cs-judging-row:nth-child(2) .cs-judging-fill { width: 20% !important; transition-delay: 0.6s; }
.lbf-car-show-page.cs-anim-ready .cs-judging.is-revealed .cs-judging-row:nth-child(3) .cs-judging-fill { width: 25% !important; transition-delay: 0.7s; }
.lbf-car-show-page.cs-anim-ready .cs-judging.is-revealed .cs-judging-row:nth-child(4) .cs-judging-fill { width: 15% !important; transition-delay: 0.8s; }
.lbf-car-show-page.cs-anim-ready .cs-judging.is-revealed .cs-judging-row:nth-child(5) .cs-judging-fill { width: 15% !important; transition-delay: 0.9s; }

/* §21.6 — Hero eyebrow scale-in.
   JSX: initial scale:0.9 → animate scale:1 */
@keyframes cs-eyebrow-scale-in {
    from { transform: scale(0.9); }
    to   { transform: scale(1); }
}
.lbf-car-show-page .cs-hero-eyebrow {
    animation: cs-eyebrow-scale-in 0.5s ease-out 0.4s both;
}

/* §21.7 — Hero dashboard items stagger in.
   JSX: each: initial opacity:0 y:15 → 1 0, delay 0.6 + idx*0.1 */
@keyframes cs-dashboard-item-in {
    from { opacity: 0; transform: translateY(15px); }
    to   { opacity: 1; transform: translateY(0); }
}
.lbf-car-show-page .cs-dashboard-item {
    opacity: 0;
    animation: cs-dashboard-item-in 0.5s ease-out forwards;
}
.lbf-car-show-page .cs-dashboard-item:nth-child(1) { animation-delay: 0.6s; }
.lbf-car-show-page .cs-dashboard-item:nth-child(2) { animation-delay: 0.7s; }
.lbf-car-show-page .cs-dashboard-item:nth-child(3) { animation-delay: 0.8s; }

/* §21.8 — Form card scale-in entrance.
   JSX: initial opacity:0 scale:0.95 → whileInView opacity:1 scale:1 */
.lbf-car-show-page.cs-anim-ready .cs-form.cs-reveal {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.lbf-car-show-page.cs-anim-ready .cs-form.cs-reveal.is-revealed {
    opacity: 1;
    transform: scale(1);
}

/* §21.9 — BoS column scale-in entrance.
   JSX: each Best of Show + Dash Plaques card: initial opacity:0 scale:0.9 → 1 1 */
.lbf-car-show-page.cs-anim-ready .cs-bos-column.cs-reveal {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.lbf-car-show-page.cs-anim-ready .cs-bos-column.cs-reveal.is-revealed {
    opacity: 1;
    transform: scale(1);
}

/* §21.10 — CCA section scale-in entrance.
   JSX: initial opacity:0 scale:0.98 → whileInView 1 1 */
.lbf-car-show-page.cs-anim-ready .cs-cca.cs-reveal,
.lbf-car-show-page.cs-anim-ready section.cs-cca.cs-reveal {
    opacity: 0;
    transform: scale(0.98);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.lbf-car-show-page.cs-anim-ready .cs-cca.cs-reveal.is-revealed,
.lbf-car-show-page.cs-anim-ready section.cs-cca.cs-reveal.is-revealed {
    opacity: 1;
    transform: scale(1);
}

/* §21.11 — Plate badge entrance — opacity:0 y:30 → 1 0.
   The base .cs-reveal-stagger > * already gives translateY(20px); plates
   want 30px, but consistency over fidelity here (bigger drop looks worse
   inside the grid). Already handled by §19 cs-reveal-stagger. */

/* §21.12 — Reduced-motion: silence everything new. */
@media (prefers-reduced-motion: reduce) {
    .lbf-car-show-page .cs-bos .cs-bos-icon,
    .lbf-car-show-page .cs-cca-trophy,
    .lbf-car-show-page .cs-cca-ring.dashed,
    .lbf-car-show-page .cs-cca-sparkle,
    .lbf-car-show-page .cs-hero-eyebrow,
    .lbf-car-show-page .cs-dashboard-item {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    .lbf-car-show-page.cs-anim-ready .cs-judging-fill {
        transition: none !important;
    }
}

/* ─────────────────────────────────────────────
   §22 — MODAL: SCALE UP THE PLATE BACKGROUND ART
   When a license plate is opened in the fullscreen modal, the badge grows
   to ~3.2× its grid size (240px → 760px). The ohio script + state shape
   already scale via existing modal overrides, but the sun, sky-rays,
   hills, wheat-field, skyline silhouette, and corner holes were left at
   small-card sizes — making the larger badge look empty in the middle.
   These rules scale those decorative elements up proportionally so the
   landscape art reads at the modal size.
───────────────────────────────────────────── */

/* Sun — was 80×80px with 10px blur; grow to 180×180 with stronger glow */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-sun {
    width: 180px !important;
    height: 180px !important;
    filter: blur(22px) !important;
    opacity: 0.55 !important;
}

/* Rays — pump opacity slightly so they read at the bigger scale */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-rays {
    opacity: 0.7 !important;
    filter: blur(2.5px) !important;
}

/* Hills — taller silhouette to fill the larger plate */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-hills {
    height: 80px !important;
}

/* Skyline silhouette — the small city — scale to ~3× */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-skyline {
    width: 170px !important;
    height: 80px !important;
    left: 6% !important;
}

/* Wheat field — already proportional (20% of height) but bump
   the dot pattern's grain so it doesn't look like fine noise */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-wheat::after {
    background-size: 14px 14px !important;
    opacity: 0.18 !important;
}

/* Plane icon — was 55×35; grow to 80×50 */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-plane {
    width: 80px !important;
    height: 50px !important;
}

/* Ohio script — was 2.2rem; bump to 2.8rem so it reads with the bigger
   state shape and doesn't feel small inside the larger frame */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-ohio-text {
    font-size: 2.8rem !important;
    letter-spacing: -0.015em !important;
}

/* Ohio state shape — was 110×95; bump to 140×120 */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .icon-ohio-state {
    width: 140px !important;
    height: 120px !important;
    top: -8px !important;
}

/* Ohio logo wrapper — give it more room for the bigger script + shape */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-ohio-logo {
    width: 175px !important;
    height: 90px !important;
    top: 14px !important;
}

/* "Birthplace of Aviation" banner — bump font for legibility */
.lbf-car-show-page .cs-plate-modal-content .cs-class-badge .plate-banner {
    font-size: 0.85rem !important;
    padding: 5px 16px !important;
    letter-spacing: 0.05em !important;
}

/* Reduced motion: skip the spin entrance — fade only */
@media (prefers-reduced-motion: reduce) {
    .lbf-car-show-page .cs-plate-modal-content {
        transform: none !important;
    }
    .lbf-car-show-page .cs-plate-modal-overlay.is-open .cs-plate-modal-content {
        animation: none !important;
        opacity: 1 !important;
    }
}

/* ─────────────────────────────────────────────
   §23 — EVENT INFO LEFT-COLUMN EXTRAS
   The Event Information section's left column originally contained only
   the 6 detail rows; the right column (registration form) is much taller.
   To balance heights, the left column now also holds three additional
   blocks: "What to Bring" checklist, "Show Day Schedule" timeline, and a
   "Questions?" contact card. They stack vertically inside .cs-left-column
   so the grid stays a 2-column layout.

   Form right-side is also compacted slightly so the heights converge.
───────────────────────────────────────────── */

/* Stretch grid items so both columns reach equal height */
.lbf-car-show-page .cs-info-grid {
    align-items: stretch !important;
}

.lbf-car-show-page .cs-left-column {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Shared mini-eyebrow + mini-title used across the three new blocks */
.lbf-car-show-page .cs-mini-eyebrow {
    font-family: 'Outfit', sans-serif;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 0.4rem;
    display: inline-block;
}
.lbf-car-show-page .cs-mini-title {
    font-family: 'Outfit', sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--text);
    margin: 0 0 0.65rem;
    letter-spacing: -0.01em;
}

/* === "What to Bring" checklist === */
.lbf-car-show-page .cs-bring-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 1rem 1.1rem;
    box-shadow: 0 4px 14px rgba(0,55,167,0.04);
}
.lbf-car-show-page .cs-bring-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.lbf-car-show-page .cs-bring-list li {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 0.6rem;
    align-items: flex-start;
    color: var(--text-2);
    font-size: 0.83rem;
    line-height: 1.45;
}
.lbf-car-show-page .cs-bring-list li svg {
    color: var(--green);
    margin-top: 1px;
}
.lbf-car-show-page .cs-bring-list a {
    color: var(--blue);
    font-weight: 700;
    border-bottom: 1.5px solid var(--blue);
    padding-bottom: 0.05rem;
}

/* === "Show Day Schedule" timeline === */
.lbf-car-show-page .cs-timeline-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 1rem 1.1rem;
    box-shadow: 0 4px 14px rgba(0,55,167,0.04);
    position: relative;
}
.lbf-car-show-page .cs-timeline {
    list-style: none;
    margin: 0;
    padding: 0 0 0 0.65rem;
    position: relative;
    border-left: 2px solid var(--border);
}
.lbf-car-show-page .cs-timeline li {
    position: relative;
    padding: 0.45rem 0 0.45rem 1.1rem;
}
.lbf-car-show-page .cs-timeline li::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 0.7rem;
    width: 12px;
    height: 12px;
    background: var(--blue);
    border-radius: 50%;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--border);
}
.lbf-car-show-page .cs-timeline-time {
    font-family: 'Outfit', sans-serif;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--blue);
    letter-spacing: 0.04em;
    margin-bottom: 0.1rem;
}
.lbf-car-show-page .cs-timeline-body {
    color: var(--text-2);
    font-size: 0.8rem;
    line-height: 1.45;
}

/* === "Questions?" contact card === */
.lbf-car-show-page .cs-questions-card {
    background: linear-gradient(135deg, rgba(26,43,140,0.04) 0%, rgba(243,195,3,0.06) 100%);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 1rem 1.1rem;
    text-align: center;
}
.lbf-car-show-page .cs-questions-card .cs-mini-eyebrow {
    color: var(--blue-dark);
}
.lbf-car-show-page .cs-questions-card p {
    color: var(--text-2);
    font-size: 0.83rem;
    line-height: 1.5;
    margin: 0 0 0.85rem;
}
.lbf-car-show-page .cs-questions-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: var(--blue);
    color: #fff !important;
    text-decoration: none !important;
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
    padding: 0.55rem 1.1rem;
    border-radius: 99px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.lbf-car-show-page .cs-questions-btn:hover {
    background: var(--blue-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(26,43,140,0.25);
}

/* === FORM COMPACTION (right side) === */
.lbf-car-show-page .cs-form {
    padding: 0.85rem !important;
}
.lbf-car-show-page .cs-form h3 {
    font-size: 1.05rem !important;
    margin-bottom: 0.2rem !important;
}
.lbf-car-show-page .cs-form p.lede {
    font-size: 0.82rem !important;
    margin-bottom: 0.75rem !important;
    line-height: 1.45 !important;
}
.lbf-car-show-page .cs-waiver-strip {
    margin-top: 0.7rem !important;
    padding-top: 0.7rem !important;
    font-size: 0.78rem !important;
}

/* Stretch the form so when both sides are equal-height grid cells, the
   form's white card fills its track instead of leaving an empty bottom. */
.lbf-car-show-page .cs-info-grid > .cs-form {
    height: 100%;
}

/* Mobile: the grid collapses to a single column at <=1000px (existing
   media rule). Reset alignment so the form doesn't try to stretch. */
@media (max-width: 1000px) {
    .lbf-car-show-page .cs-info-grid {
        align-items: start !important;
    }
    .lbf-car-show-page .cs-info-grid > .cs-form {
        height: auto;
    }
}

/* ─────────────────────────────────────────────
   §24 — UNIFIED PILL BUTTONS WITH SHIMMER (v28.8)
   Three buttons share the same blue gradient and shimmer effect as
   the footer "Contact Us" button (.lbf-reg-btn--card-primary):

     1. Hero "Register Your Vehicle" (.cs-hero-btn--primary)
     2. Hero "Show Classes"          (.cs-hero-btn--outline) — outline style
     3. Form "Submit Entry"          (.cs-form .gform_button)
     4. Left "Contact Us"            (.cs-questions-btn) — re-styled

   Shimmer: a 120° linear-gradient highlight that translates from
   off-screen left (−100%) to off-screen right (+100%) on hover, taking
   0.7s. Same numbers as the footer button so they feel cohesive.

   Hero buttons are sized smaller (.625rem 1.25rem padding, .8rem font)
   to match the sponsors page's .spn-btn — readable on the dark navy
   hero without dominating the headline.
───────────────────────────────────────────── */

/* ── Shared shimmer keyframe and gradient base ── */
.lbf-car-show-page .cs-hero-btn,
.lbf-car-show-page .cs-form .gform_button,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"],
.lbf-car-show-page .cs-questions-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    font-weight: 700 !important;
    text-decoration: none !important;
    cursor: pointer;
    border: none !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease, background 0.3s ease;
    white-space: nowrap;
    isolation: isolate;
}
.lbf-car-show-page .cs-hero-btn:hover,
.lbf-car-show-page .cs-form .gform_button:hover,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"]:hover,
.lbf-car-show-page .cs-questions-btn:hover {
    transform: translateY(-2px) !important;
}
.lbf-car-show-page .cs-hero-btn:active,
.lbf-car-show-page .cs-form .gform_button:active,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"]:active,
.lbf-car-show-page .cs-questions-btn:active {
    transform: scale(.98) !important;
}

/* Shimmer span (used in hero buttons that have an explicit element).
   For the Submit Entry / Contact Us cases that can't accept inner spans,
   we use ::before instead — see further below. */
.lbf-car-show-page .cs-hero-shimmer {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.30), transparent);
    transform: translateX(-100%);
    transition: transform 0.7s ease;
    pointer-events: none;
}
.lbf-car-show-page .cs-hero-btn:hover .cs-hero-shimmer {
    transform: translateX(100%);
}
.lbf-car-show-page .cs-hero-btn-label {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

/* ── Hero PRIMARY button (Register Your Vehicle) ── */
.lbf-car-show-page .cs-hero-btn--primary {
    background: linear-gradient(to right, #2452df, #5e63e8);
    color: #fff !important;
    padding: 0.625rem 1.4rem;
    font-size: 0.8rem;
    box-shadow: 0 12px 22px rgba(36,82,223,.28);
}
.lbf-car-show-page .cs-hero-btn--primary:hover {
    box-shadow: 0 18px 30px rgba(36,82,223,.36);
}

/* ── Hero OUTLINE button (Show Classes) ── */
.lbf-car-show-page .cs-hero-btn--outline {
    background: rgba(255,255,255,0.08);
    color: #fff !important;
    padding: 0.625rem 1.4rem;
    font-size: 0.8rem;
    border: 1px solid rgba(255,255,255,0.45) !important;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.lbf-car-show-page .cs-hero-btn--outline:hover {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.7) !important;
}

/* ── Form Submit Entry — pill, matched blue, ::before shimmer ── */
.lbf-car-show-page .cs-form .gform_button,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"] {
    background: linear-gradient(to right, #2452df, #5e63e8) !important;
    color: #fff !important;
    padding: 0.7rem 1.6rem !important;
    font-size: 0.88rem !important;
    box-shadow: 0 12px 22px rgba(36,82,223,.22) !important;
}
.lbf-car-show-page .cs-form .gform_button:hover,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"]:hover {
    box-shadow: 0 18px 30px rgba(36,82,223,.30) !important;
}
.lbf-car-show-page .cs-form .gform_button::before,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.30), transparent);
    transform: translateX(-100%);
    transition: transform 0.7s ease;
    pointer-events: none;
}
.lbf-car-show-page .cs-form .gform_button:hover::before,
.lbf-car-show-page .cs-form .gform_footer input[type="submit"]:hover::before {
    transform: translateX(100%);
}

/* ── Left column "Contact Us" — match the same gradient + shimmer ── */
.lbf-car-show-page .cs-questions-btn {
    background: linear-gradient(to right, #2452df, #5e63e8) !important;
    color: #fff !important;
    padding: 0.625rem 1.4rem !important;
    font-size: 0.85rem !important;
    box-shadow: 0 12px 22px rgba(36,82,223,.22);
}
.lbf-car-show-page .cs-questions-btn:hover {
    background: linear-gradient(to right, #2452df, #5e63e8) !important;
    box-shadow: 0 18px 30px rgba(36,82,223,.30);
}
.lbf-car-show-page .cs-questions-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.30), transparent);
    transform: translateX(-100%);
    transition: transform 0.7s ease;
    pointer-events: none;
}
.lbf-car-show-page .cs-questions-btn:hover::before {
    transform: translateX(100%);
}
.lbf-car-show-page .cs-questions-btn > svg,
.lbf-car-show-page .cs-questions-btn > span {
    position: relative;
    z-index: 1;
}
