/*
Theme Name: SP Racing (Astra Child)
Theme URI: https://spracing.example
Description: Astra child theme for SP Racing — automotive tuning & performance, Cape Town.
Author: SP Racing
Template: astra
Version: 1.0
Text Domain: astra-child-sp-racing
*/
/*
Theme Name: SP Racing (Astra Child)
Theme URI: https://spracing.example
Description: Astra child theme for SP Racing — automotive tuning & performance, Cape Town.
Author: SP Racing
Template: astra
Version: 1.0
Text Domain: astra-child-sp-racing
*/

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Oswald:wght@400;500;600;700&family=Barlow:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --spr-asphalt:#0B0B0D;
  --spr-carbon:#17181B;
  --spr-line:#2B2C30;
  --spr-red:#E8352B;
  --spr-red-dark:#A82920;
  --spr-steel:#9A9CA3;
  --spr-steel-dim:#63656B;
  --spr-off-white:#F2F1ED;
}

/* Base page tone */
body{
  background:var(--spr-asphalt);
  color:var(--spr-off-white);
}

.spr-display{font-family:'Bebas Neue', sans-serif; letter-spacing:0.03em;}
.spr-mono{font-family:'JetBrains Mono', monospace;}
.spr-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono'; font-size:16px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--spr-red); margin-bottom:18px;
}
.spr-eyebrow::before{content:''; width:24px; height:1px; background:var(--spr-red);}

/* Buttons */
.spr-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px; font-family:'Oswald'; font-weight:600; font-size:14px;
  text-transform:uppercase; letter-spacing:0.06em;
  text-decoration:none !important; cursor:pointer;
  clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.spr-btn-primary, .spr-btn-primary a{background:var(--spr-red); color:var(--spr-off-white) !important; border:none !important;}
.spr-btn-primary:hover{background:var(--spr-red-dark);}
.spr-btn-outline, .spr-btn-outline a{background:transparent; border:1px solid var(--spr-steel-dim) !important; color:var(--spr-off-white) !important;}
.spr-btn-outline:hover{border-color:var(--spr-red) !important;}

/* Hero */
.spr-hero{background:var(--spr-asphalt); padding:90px 0; border-bottom:1px solid var(--spr-line);}
.spr-hero-heading{
  font-family:'Bebas Neue'; font-size:72px; line-height:0.95; color:var(--spr-off-white);
  text-transform:uppercase; margin-bottom:20px;
}
.spr-hero-heading .accent{color:var(--spr-red);}
.spr-lead{color:var(--spr-steel); font-size:17px; max-width:440px; margin-bottom:32px;}
.spr-hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:40px;}
.spr-hero-meta{display:flex; gap:28px; flex-wrap:wrap; font-family:'JetBrains Mono'; font-size:16px; color:var(--spr-steel-dim); text-transform:uppercase;}
.spr-hero-meta strong{color:var(--spr-off-white); display:block; font-family:'Oswald'; font-size:14px; margin-bottom:2px;}

.spr-hero-logo-panel{
  background:var(--spr-carbon); border:1px solid var(--spr-line); padding:36px;
  clip-path:polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}
.spr-hero-logo-panel img{width:100%; display:block;}

/* Trust strip */
.spr-trust{background:var(--spr-carbon); border-top:1px solid var(--spr-line); border-bottom:1px solid var(--spr-line);}
.spr-trust-item{
  padding:26px 20px; border-right:1px solid var(--spr-line); text-align:left;
  font-family:'JetBrains Mono';
}
.spr-trust-item .num{font-family:'Bebas Neue'; font-size:32px; color:var(--spr-red); line-height:1;}
.spr-trust-item .label{font-size:16px; color:var(--spr-steel); text-transform:uppercase; margin-top:4px;}

/* Section heads */
.spr-tag{
  font-family:'JetBrains Mono'; font-size:16px; color:var(--spr-red); text-transform:uppercase;
  letter-spacing:0.12em; display:block; margin-bottom:10px;
}
.spr-section-title{font-family:'Oswald'; font-weight:600; text-transform:uppercase; color:var(--spr-off-white);}

/* Services */
.spr-services{background:var(--spr-asphalt); padding:80px 0; border-bottom:1px solid var(--spr-line);}
.spr-service-card{
  background:var(--spr-asphalt); border:1px solid var(--spr-line); padding:32px 26px; height:100%;
}
.spr-service-card .idx{font-family:'JetBrains Mono'; font-size:12px; color:var(--spr-steel-dim); margin-bottom:20px;}
.spr-service-card h3{font-family:'Oswald'; font-weight:600; text-transform:uppercase; font-size:17px; color:var(--spr-off-white); margin-bottom:8px;}
.spr-service-card p{color:var(--spr-steel); font-size:14px;}
.spr-service-card .bar{width:26px; height:3px; background:var(--spr-red); margin-top:18px;}

/* About */
.spr-about{background:var(--spr-carbon); padding:80px 0; border-bottom:1px solid var(--spr-line);}
.spr-about-stat{background:var(--spr-asphalt); border:1px solid var(--spr-line); padding:30px; text-align:left;}
.spr-about-stat .num{font-family:'Bebas Neue'; font-size:58px; color:var(--spr-red); line-height:1;}
.spr-about-stat .cap{font-family:'JetBrains Mono'; font-size:12px; color:var(--spr-steel); text-transform:uppercase; margin-top:6px;}
.spr-checklist{list-style:none; margin-top:20px; padding:0;}
.spr-checklist li{
  font-family:'JetBrains Mono'; font-size:14px; color:var(--spr-off-white); margin-bottom:8px; padding-left:20px; position:relative;
}
.spr-checklist li::before{content:'—'; color:var(--spr-red); position:absolute; left:0;}

/* Request section */
.spr-request{background:var(--spr-asphalt); padding:80px 0; border-bottom:1px solid var(--spr-line);}
.spr-request-detail{display:flex; gap:14px; margin-bottom:18px; font-size:14px;}
.spr-request-detail .k{font-family:'JetBrains Mono'; color:var(--spr-steel-dim); width:90px; flex-shrink:0; text-transform:uppercase; font-size:12px;}
.spr-request-detail .v{color:var(--spr-off-white); font-family:'JetBrains Mono'; font-size:14px;}
.spr-form-panel{background:var(--spr-carbon); border:1px solid var(--spr-line); padding:36px;}

/* Fluent Forms dark-theme styling */
.spr-form-panel .fluentform .ff-el-form-control,
.spr-form-panel .fluentform select.ff-el-form-control,
.spr-form-panel .fluentform textarea.ff-el-form-control{
  background:var(--spr-asphalt) !important; border:1px solid var(--spr-line) !important;
  color:var(--spr-off-white) !important; font-family:'Barlow' !important;
}
.spr-form-panel .fluentform .ff-el-input--label label{
  font-family:'JetBrains Mono' !important; font-size:11px !important; text-transform:uppercase;
  letter-spacing:0.08em; color:var(--spr-steel) !important;
}
.spr-form-panel .fluentform button[type="submit"]{
  background:var(--spr-red) !important; border:none !important; border-radius:0 !important;
  font-family:'Oswald' !important; text-transform:uppercase; letter-spacing:0.06em;
  clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.spr-form-panel .fluentform button[type="submit"]:hover{background:var(--spr-red-dark) !important;}


/* In-page footer/contact info section */
.spr-info-strip{background:var(--spr-carbon); padding:64px 0;}
.spr-info-strip h4{
  font-family:'JetBrains Mono'; font-size:12px; text-transform:uppercase; color:var(--spr-steel-dim); margin-bottom:12px;
}
.spr-info-strip .line{font-size:14px; color:var(--spr-steel); margin-bottom:8px;}
.spr-info-strip .line strong{color:var(--spr-off-white); font-weight:500;}

/* Astra header area — logo/nav/phone/button */
.ast-primary-header-bar{background:var(--spr-asphalt) !important; border-bottom:1px solid var(--spr-line) !important;}
.main-header-menu .menu-item > .menu-link{
  color:var(--spr-steel) !important; font-family:'Oswald' !important; text-transform:uppercase;
  font-size:14px; letter-spacing:0.06em;
}
.main-header-menu .menu-item > .menu-link:hover{color:var(--spr-off-white) !important;}

/* Astra footer area */
.ast-small-footer, footer.site-footer{
  background:var(--spr-carbon) !important; color:var(--spr-steel) !important;
  border-top:1px solid var(--spr-line) !important;
}

@media (max-width:768px){
  .spr-hero-heading{font-size:48px;}
  .spr-trust-item{border-right:none; border-bottom:1px solid var(--spr-line);}
}
