/*
Theme Name: Ongravity Drifting Park
Theme URI: https://ongravity.es/
Author: Nico · KZNO Studio
Description: Tema minimal para landing y páginas de Ongravity Drifting Park.
Version: 1.0
Text Domain: ongravity-drifting-park
*/

:root{
  --og-red:#c9281b;
  --og-black:#262626;
  --og-white:#EFEDEC;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  background:#000;
  color:var(--og-white);
  line-height:1.6;
}

a{
  color:inherit;
  text-decoration:none;
}

.container{
  max-width:1200px;
  margin:0 auto;
  padding:0 1.5rem;
}

/* HEADER */

.site-header{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(0,0,0,.9);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(239,237,236,.08);
}

.site-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.75rem 0;
  gap:1.25rem;
}

.site-branding{
  display:flex;
  flex-direction:column;
  gap:.1rem;
}

.site-title{
  font-size:1rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
}

.site-description{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  opacity:.7;
}

/* NAV */

.main-navigation{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.main-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:1.1rem;
}

.main-navigation a{
  position:relative;
  padding:.25rem 0;
}

.main-navigation a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:var(--og-red);
  transition:width .2s ease-out;
}

.main-navigation a:hover::after,
.main-navigation .current-menu-item > a::after{
  width:100%;
}

/* BOTÓN */

.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem 1.3rem;
  border-radius:999px;
  border:none;
  background:var(--og-red);
  color:var(--og-white);
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  box-shadow:0 10px 25px rgba(0,0,0,.6);
}

.btn-primary:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

/* HERO */

.hero{
  position:relative;
  padding:4.5rem 0 3.5rem;
  background:
    radial-gradient(900px 500px at 0% 0%,rgba(201,40,27,.4),transparent 60%),
    radial-gradient(900px 500px at 100% 100%,rgba(201,40,27,.25),transparent 60%),
    #050505;
  color:var(--og-white);
}

.hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:3rem;
  align-items:center;
}

.hero-eyebrow{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-weight:700;
  color:rgba(239,237,236,.8);
  margin-bottom:.8rem;
}

.hero-title{
  font-size:clamp(2.4rem,4vw,3.6rem);
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
  margin:0 0 1rem;
}

.hero-title span{
  color:var(--og-red);
}

.hero-lead{
  max-width:34rem;
  font-size:1rem;
  color:rgba(239,237,236,.88);
  margin-bottom:1.8rem;
}

.hero-facts{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-bottom:2rem;
}

.hero-chip{
  font-size:.8rem;
  padding:.5rem 1rem;
  border-radius:999px;
  background:rgba(0,0,0,.7);
  border:1px solid rgba(239,237,236,.18);
}

/* HERO CARD */

.hero-card{
  justify-self:center;
  background:#111;
  border-radius:1.6rem;
  padding:1.5rem 1.75rem;
  border:1px solid rgba(239,237,236,.3);
  box-shadow:0 16px 36px rgba(0,0,0,.9);
  max-width:320px;
}

.hero-card-label{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  margin-bottom:.4rem;
  opacity:.8;
}

.hero-card-price{
  font-size:1.8rem;
  font-weight:900;
  margin-bottom:.25rem;
}

.hero-card-meta{
  font-size:.8rem;
  opacity:.85;
  margin-bottom:.75rem;
}

/* SECCIONES */

.site-section{
  padding:3.5rem 0;
  background:#111;
}

.site-section.alt{
  background:#161616;
}

.site-section h2{
  font-size:1.8rem;
  text-transform:uppercase;
  font-weight:800;
  margin:0 0 1.5rem;
}

.site-section h2 span{
  color:var(--og-red);
}

.site-section p{
  max-width:40rem;
  color:rgba(239,237,236,.9);
}

/* FOOTER */

.site-footer{
  padding:2rem 0 2.5rem;
  background:#050505;
  font-size:.8rem;
  text-align:center;
  color:rgba(239,237,236,.7);
  text-transform:uppercase;
  letter-spacing:.16em;
}

/* RESPONSIVE */

@media (max-width:900px){
  .hero-inner{
    grid-template-columns:1fr;
  }
  .hero{
    padding:3.5rem 0 3rem;
  }
}

@media (max-width:700px){
  .site-header-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .main-navigation ul{
    flex-wrap:wrap;
    justify-content:flex-start;
  }
}
