/**
Theme Name: EC
Author: Decode Digital
Author URI: https://decodedigital.com
Description: Child theme for EC
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ec
Template: astra
*/

*:focus {
	outline: none;
}

/* ==========================================================================
   GOA AUTO SHOW 2026 — BRAND SYSTEM
   CSS custom properties mirror the Elementor Global Colors so custom-HTML
   widgets, Custom CSS boxes and this stylesheet all share one source.
   ========================================================================== */
:root{
  --gas-flame:#FF5A2B;
  --gas-flame-2:#FF8A3D;
  --gas-amber:#FFB23E;
  --gas-ink:#F6EFE2;
  --gas-ink-dim:#A79683;
  --gas-teal:#22A0D8;
  --gas-bg:#160E08;
  --gas-bg-panel:#1D140C;
  --gas-line:#33241A;
  --gas-revv:#A467F0;
  --gas-revv-bg:#170F1F;
  --gas-revv-glow:#3A1E63;
  --gas-luxe-gold:#D2A24E;
  --gas-luxe-bg:#1E160B;
  --gas-radius:3px;
}

/* Dark canvas defaults for the 2026 rebrand */
body{
  background-color:var(--gas-bg);
  color:var(--gas-ink);
}
a{ color:var(--gas-flame-2); }

/* ==========================================================================
   BUTTONS — apply as a CSS Class on any Elementor Button widget
   (Advanced tab → CSS Classes → e.g. "btn-flame")
   ========================================================================== */
.btn-flame,
.btn-teal,
.btn-outline,
.btn-outline-revv,
.btn-outline-luxe{
  font-family:'Barlow Condensed', sans-serif;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  border-radius:var(--gas-radius);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.btn-flame,
.btn-teal,
.btn-outline,
.btn-outline-revv,
.btn-outline-luxe{ display:inline-flex; align-items:center; gap:8px; }
.btn-flame:hover,
.btn-teal:hover,
.btn-outline:hover,
.btn-outline-revv:hover,
.btn-outline-luxe:hover{ transform:translateY(-2px); }

.btn-flame{
  background:linear-gradient(90deg,var(--gas-flame),var(--gas-flame-2));
  color:var(--gas-bg);
  border:none;
  box-shadow:0 8px 24px -8px rgba(255,90,43,.65);
}
.btn-flame:hover{ box-shadow:0 12px 28px -6px rgba(255,90,43,.8); }

.btn-teal{
  background:var(--gas-teal);
  color:#0B1620;
  border:none;
  box-shadow:0 8px 24px -8px rgba(34,160,216,.6);
}

.btn-outline{
  background:transparent;
  color:var(--gas-ink);
  border:1.6px solid var(--gas-ink);
}
.btn-outline:hover{ background:rgba(246,239,226,.08); }

.btn-outline-revv{
  background:rgba(164,103,240,.06);
  color:#E4D3FF;
  border:1.6px solid var(--gas-revv);
}
.btn-outline-revv:hover{ background:rgba(164,103,240,.16); }

.btn-outline-luxe{
  background:rgba(210,162,78,.06);
  color:var(--gas-luxe-gold);
  border:1.6px solid var(--gas-luxe-gold);
}
.btn-outline-luxe:hover{ background:rgba(210,162,78,.16); }

/* Small nav-bar variants */
.btn-flame.btn-sm,
.btn-outline.btn-sm{ padding:10px 20px; font-size:14px; }

/* ==========================================================================
   SECTION / PANEL UTILITIES — apply as CSS Classes on a Container
   ========================================================================== */
.gas-panel, .elementor-element-ftrroot{ background:var(--gas-bg-panel); }
.gas-line-top, .elementor-element-ftrroot{ border-top:1px solid var(--gas-line); }
.gas-line-bottom{ border-bottom:1px solid var(--gas-line); }

.gas-revv-section, .elementor-element-revvrootx{
  background:radial-gradient(ellipse 900px 600px at 10% 20%, var(--gas-revv-bg) , #0f0a17 65%);
  border-top:1px solid #3A2860;
  border-bottom:1px solid #3A2860;
}
.gas-luxe-section, .elementor-element-luxerootx{
  background:radial-gradient(ellipse 900px 600px at 90% 15%, rgba(210,162,78,.14), var(--gas-luxe-bg) 65%);
  border-bottom:1px solid #3A2A15;
}

/* Chips (brand-name pills used in Revv / Luxe sections) */
.gas-chip{
  font-family:'Space Mono', monospace;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:9px 16px;
  border-radius:3px;
  display:inline-block;
}
.gas-chip-revv{ border:1px solid #3A2860; background:rgba(164,103,240,.08); color:#D8C4FA; }
.gas-chip-luxe{ border:1px solid #3A2A15; background:rgba(210,162,78,.08); color:#E9D3A0; }

/* Ghost numeral behind the GAS spotlight section */
.gas-ghost-year{
  font-family:'Anton', sans-serif;
  font-size:min(22vw,340px);
  color:rgba(255,255,255,.04);
  line-height:1;
  letter-spacing:-10px;
  position:absolute;
  z-index:0;
  pointer-events:none;
}

/* Marquee ticker */
.gas-marquee, .elementor-element-marqueerootx{
  background:var(--gas-bg-panel);
  border-top:1px solid var(--gas-line);
  border-bottom:1px solid var(--gas-line);
  overflow:hidden;
  white-space:nowrap;
  padding:14px 0;
}
.gas-marquee .gas-marquee-track, .elementor-element-marqueerootx .gas-marquee-track{
  display:inline-block;
  font-family:'Barlow Condensed', sans-serif;
  font-weight:700;
  font-size:19px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gas-amber);
  animation:gas-marquee-scroll 28s linear infinite;
  padding-left:100%;
}
.gas-marquee .gas-marquee-track span, .elementor-element-marqueerootx .gas-marquee-track span{ margin:0 22px; }
.gas-marquee .gas-marquee-track span.o, .elementor-element-marqueerootx .gas-marquee-track span.o{ color:var(--gas-flame); opacity:.7; }
@keyframes gas-marquee-scroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-100%); }
}

/* Icon badge (stats + "what to expect" rows) */
.gas-icb{
  width:60px;height:60px;border-radius:50%;
  border:1.6px solid var(--gas-flame);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;
}
.gas-icb svg{ width:24px;height:24px;stroke:var(--gas-flame-2);fill:none; }

/* Countdown widget (Elementor Pro) restyle for Coming Soon */
.gas-countdown .elementor-countdown-item{
  background:rgba(246,239,226,.04);
  border:1px solid var(--gas-line);
  border-radius:6px;
  padding:22px 10px;
  min-width:100px;
}
.gas-countdown .elementor-countdown-digits{
  font-family:'Anton', sans-serif;
  font-size:56px;
  color:var(--gas-ink);
  line-height:1;
}
.gas-countdown .elementor-countdown-label{
  font-family:'Space Mono', monospace;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gas-ink-dim);
}

/* Reveal-on-scroll base state — GSAP sets the initial opacity via fromTo() at
   runtime, so we deliberately do NOT hide these with CSS: if the animation
   script fails to load for any reason, content stays visible instead of stuck
   invisible. */
.gas-reveal{ }
.gas-reveal-img{ }

/* ==========================================================================
   COMING SOON PAGE
   ========================================================================== */
.gas-comingsoon-root, .elementor-element-csroot1{
  background:
    radial-gradient(ellipse 900px 600px at 50% 0%, rgba(255,90,43,.16), transparent 60%),
    radial-gradient(ellipse 700px 500px at 15% 100%, rgba(164,103,240,.10), transparent 55%),
    var(--gas-bg);
  position:relative;
  overflow:hidden;
}
.gas-comingsoon-root::before, .elementor-element-csroot1::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.05;
  pointer-events:none;
}
.gas-comingsoon-logo{ position:relative; z-index:1; }
.gas-comingsoon-eyebrow{ position:relative; z-index:1; }
.gas-comingsoon-title{ position:relative; z-index:1; }

/* ==========================================================================
   HEADER / FOOTER (Theme Builder templates)
   ========================================================================== */
.gas-site-header, .elementor-element-hdrroot{ border-bottom:1px solid var(--gas-line); }

.gas-foot-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:32px; flex-wrap:wrap;
  padding-bottom:34px; border-bottom:1px solid var(--gas-line); font-family:'Barlow',sans-serif; }
.gas-foot-brand{ display:flex; gap:20px; align-items:center; max-width:320px; }
.gas-foot-brand img{ height:44px; }
.gas-foot-brand p{ color:var(--gas-ink-dim); font-size:14px; line-height:1.6; margin:0; }
.gas-foot-col h4{ font-family:'SpaceMono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gas-amber); margin:0 0 14px; }
.gas-foot-col p, .gas-foot-col a{ display:block; color:#C9CACD; font-size:15px; line-height:1.9;
  text-decoration:none; font-family:'Barlow Condensed',sans-serif; font-weight:500; }
.gas-foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:24px;
  font-family:'SpaceMono',monospace; font-size:11px; color:var(--gas-ink-dim); letter-spacing:.05em; text-transform:uppercase; flex-wrap:wrap; gap:10px;}
.gas-foot-bottom a{ color:var(--gas-ink-dim); text-decoration:none; margin-left:20px; }
.gas-foot-social{ display:flex; gap:12px; }
.gas-foot-social a{ width:38px;height:38px;border-radius:50%;border:1px solid var(--gas-line);
  display:flex;align-items:center;justify-content:center;color:var(--gas-ink-dim);text-decoration:none;font-size:13px; }
.gas-foot-social a:hover{ color:var(--gas-flame2); border-color:var(--gas-flame2); }

/* ==========================================================================
   HOMEPAGE SECTIONS
   ========================================================================== */
.gas-hero-section, .elementor-element-herorootx{ position:relative; overflow:hidden; }
.gas-hero-section::after, .elementor-element-herorootx::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(22,14,8,.92) 0%, rgba(22,14,8,.55) 30%, rgba(22,14,8,.08) 56%, rgba(22,14,8,.5) 100%),
    linear-gradient(0deg, var(--gas-bg) 0%, rgba(22,14,8,0) 22%, rgba(22,14,8,.05) 55%, rgba(22,14,8,.4) 100%);
}
.gas-hero-content, .elementor-element-herocontentx{ position:relative; z-index:1; width:100%; }

.gas-hero-meta{ display:flex; flex-wrap:wrap; gap:26px; margin-top:10px; }
.gas-hero-meta .row{ display:flex; align-items:center; gap:12px; font-family:'Barlow Condensed',sans-serif;
  font-weight:600; font-size:17px; color:#E7DCC9; }
.gas-hero-meta .ic{ width:32px;height:32px;border:1.5px solid var(--gas-flame); border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gas-flame2);font-size:14px; }

.gas-hero-forms{ display:flex; gap:18px; flex-wrap:wrap; margin-top:28px; }
.gas-form-card{ background:rgba(255,246,235,.045); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.09);
  border-radius:6px; padding:24px; flex:1; min-width:260px; font-family:'Barlow',sans-serif; }
.gas-form-card h4{ font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:18px; text-transform:uppercase;
  letter-spacing:.03em; margin:0 0 8px; }
.gas-form-card.visitor h4{ color:var(--gas-flame2); }
.gas-form-card.sponsor h4{ color:var(--gas-teal); }
.gas-form-card p{ font-size:13.5px; color:var(--gas-ink-dim); line-height:1.4; margin:0 0 16px; }
.gas-form-card input{ width:100%; background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.1);
  border-radius:3px; padding:11px 12px; font-family:'Barlow',sans-serif; font-size:14px; color:var(--gas-ink); margin-bottom:10px; box-sizing:border-box; }
.gas-form-card input::placeholder{ color:#8A7C6A; }

.gas-ghost-year{ font-family:'Anton',sans-serif; font-size:min(20vw,320px); color:rgba(255,255,255,.035);
  line-height:1; position:absolute; top:20px; left:20px; z-index:0; letter-spacing:-8px; pointer-events:none; }

.gas-video-card{ position:relative; border-radius:6px; overflow:hidden; border:1px solid var(--gas-line); height:340px; }
.gas-video-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.gas-video-card .overlay{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(22,14,8,.1),rgba(22,14,8,.65)); }
.gas-video-card .play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:64px;height:64px;
  border-radius:50%; background:rgba(246,239,226,.92); display:flex; align-items:center; justify-content:center; }
.gas-video-card .play svg{ width:22px;height:22px; margin-left:3px; }

.gas-stat-row{ display:flex; flex-wrap:wrap; gap:40px; margin-top:60px; }
.gas-stat{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; flex:1; min-width:120px; }
.gas-stat .num{ font-family:'ArchivoBlack',sans-serif; font-size:30px; color:var(--gas-flame2); }
.gas-stat .label{ font-family:'SpaceMono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--gas-ink-dim); }

.gas-split, .elementor-element-spotlightsplit, .elementor-element-revvsplit, .elementor-element-luxesplit{ display:flex; gap:60px; align-items:center; flex-wrap:wrap; }
.gas-split > div, .elementor-element-spotlightsplit > div, .elementor-element-revvsplit > div, .elementor-element-luxesplit > div{ flex:1; min-width:320px; }

.gas-visual{ position:relative; border-radius:6px; overflow:hidden; border:1px solid var(--gas-line); height:440px; }
.gas-visual img{ width:100%; height:100%; object-fit:cover; display:block; }
.gas-visual.revv img{ object-position:20% 85%; }
.gas-visual.luxe img{ object-position:75% 85%; }
.gas-visual.revv::after{ content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(58,30,99,.55),rgba(23,15,31,.25) 55%,rgba(23,15,31,.75)); }
.gas-visual.luxe::after{ content:""; position:absolute; inset:0; background:linear-gradient(245deg,rgba(210,162,78,.28),rgba(30,22,11,.2) 50%,rgba(30,22,11,.8)); }

.gas-luxe-badge{ background:#F3EADA; display:inline-block; padding:16px 24px; border-radius:4px; margin-bottom:20px; }
.gas-luxe-badge img{ height:44px; display:block; }

.gas-expect-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-top:44px; }
.gas-expect-item{ border:1px solid var(--gas-line); border-radius:6px; padding:26px 16px; text-align:center; background:rgba(255,255,255,.015); }
.gas-expect-item h5{ font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:15px; text-transform:uppercase; letter-spacing:.02em; margin:14px 0 6px; }
.gas-expect-item p{ font-size:12.5px; color:var(--gas-ink-dim); line-height:1.4; margin:0; }

.gas-revv-section{
  background:radial-gradient(ellipse 900px 600px at 10% 20%, var(--gas-revv-glow), var(--gas-revv-bg) 65%);
  border-top:1px solid #3A2860; border-bottom:1px solid #3A2860;
}
.gas-luxe-section{
  background:radial-gradient(ellipse 900px 600px at 90% 15%, rgba(210,162,78,.14), var(--gas-luxe-bg) 65%);
  border-bottom:1px solid #3A2A15;
}

.gas-h1{ font-family:'Anton',sans-serif; font-size:clamp(38px,5.5vw,76px); line-height:.98; text-transform:uppercase;
  letter-spacing:-.5px; color:var(--gas-ink); margin:0; }
.gas-h1 .hl{ color:var(--gas-flame2); }
.gas-h2{ font-family:'Anton',sans-serif; font-size:clamp(30px,4vw,56px); line-height:1; text-transform:uppercase;
  letter-spacing:-.5px; color:var(--gas-ink); margin:0; }
.gas-h2 .hl-revv{ color:var(--gas-revv); }
.gas-h2 .hl-luxe{ color:var(--gas-luxe-gold); }
.gas-body{ font-family:'Barlow',sans-serif; font-size:17.5px; line-height:1.6; color:#CBBFA9; max-width:520px; margin:20px 0 28px; }
.gas-chip-row{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }

/* ==========================================================================
   HERO FORMS — Elementor Pro Form widget, restyled to match the dark UI
   ========================================================================== */
.elementor-element-heroformsrow{ flex-wrap:wrap; }
.elementor-element-visitorformcard,
.elementor-element-sponsorformcard{
  border:1px solid rgba(255,255,255,.09);
  border-radius:6px;
  backdrop-filter:blur(6px);
  flex:1 1 260px;
}
.elementor-element-visitorformcard .elementor-field-group,
.elementor-element-sponsorformcard .elementor-field-group{ margin-bottom:10px; }
.elementor-element-visitorformcard .elementor-field,
.elementor-element-sponsorformcard .elementor-field,
.elementor-element-visitorformcard select.elementor-field,
.elementor-element-sponsorformcard select.elementor-field{
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.1);
  border-radius:3px;
  color:var(--gas-ink);
  font-family:'Barlow',sans-serif;
  font-size:14px;
}
.elementor-element-visitorformcard ::placeholder,
.elementor-element-sponsorformcard ::placeholder{ color:#8A7C6A; opacity:1; }
.elementor-element-visitorformcard .elementor-button,
.elementor-element-sponsorformcard .elementor-button{
  width:100%; justify-content:center;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  text-transform:uppercase; letter-spacing:.03em; border-radius:3px; border:none;
}
.elementor-element-visitorformcard .elementor-button{
  background:linear-gradient(90deg,var(--gas-flame),var(--gas-flame-2)); color:var(--gas-bg);
}
.elementor-element-sponsorformcard .elementor-button{
  background:var(--gas-teal); color:#0B1620;
}

/* ==========================================================================
   NATIVE WIDGET REPLACEMENTS — hero meta, video card, stats, chips, expect grid
   ========================================================================== */

/* Hero meta (Icon List, inline view) */
.gas-hero-meta .elementor-icon-list-items{ gap:26px; margin-top:10px; }
.gas-hero-meta .elementor-icon-list-item{ gap:12px; }
.gas-hero-meta .elementor-icon-list-item:not(:last-child)::after{ content:none; }
.gas-hero-meta .elementor-icon-list-text{
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:17px; color:#E7DCC9;
}
.gas-hero-meta .elementor-icon-list-icon{
  width:32px;height:32px;border:1.5px solid var(--gas-flame); border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.gas-hero-meta .elementor-icon-list-icon i{ font-size:14px; color:var(--gas-flame-2); }

/* Ghost year numeral (Heading widget, absolute) */
.gas-ghost-year{ pointer-events:none; }

/* Spotlight video card */
.gas-cover-img,
.gas-cover-img .elementor-widget-container,
.gas-cover-img img{ width:100%; height:100%; }
.gas-cover-img img{ object-fit:cover; object-position:50% 85%; display:block; }
.gas-play-icon{ left:50%; top:50%; transform:translate(-50%,-50%); }
.gas-play-icon .elementor-icon{ background:rgba(246,239,226,.92); color:var(--gas-bg); width:64px; height:64px; }
.gas-play-icon i{ font-size:22px; }

/* Stat row (Icon Box widgets) */
.gas-stat-box{ min-width:120px; text-align:center; }
.gas-stat-box .elementor-icon-box-icon{ margin-bottom:6px; }

/* Chip buttons (Revv / Luxe brand pills) */
.chip-btn.elementor-button{
  font-family:'Space Mono',monospace;
  font-size:12px; font-weight:400; letter-spacing:.06em;
  text-transform:uppercase; padding:9px 16px; border-radius:3px;
  transform:none; box-shadow:none;
}
.chip-btn.elementor-button:hover{ transform:none; }
.chip-revv.elementor-button{
  background:rgba(164,103,240,.08); border:1px solid #3A2860; color:#D8C4FA;
}
.chip-luxe.elementor-button{
  background:rgba(210,162,78,.08); border:1px solid #3A2A15; color:#E9D3A0;
}

/* What to Expect grid (Icon Box widgets) */
.gas-expect-box{ min-width:150px; text-align:center; }
.gas-expect-box .elementor-widget-container{
  border:1px solid var(--gas-line); border-radius:6px; padding:26px 16px;
  background:rgba(255,255,255,.015);
}

@media screen and (max-width: 768px) {
	.gas-countdown .elementor-countdown-item{
		min-width: 60px;
	}
}