:root{
  --black:#111214;
  --black2:#18191b;
  --dark:#575757;
  --dark2:#444;
  --gray:#ecebe8;
  --gray2:#d8d7d4;
  --white:#fff;
  --accent:#e85d22;
  --text:#303030;
  --max:1180px;
  --shadow:0 12px 35px rgba(0,0,0,.10);
}


/* =====================================================
   RESET
===================================================== */

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Montserrat,Arial,sans-serif;
  color:var(--text);
  background:#fff;
  overflow-x:hidden;
}

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

img{
  display:block;
  width:100%;
}

button,
input,
select{
  font:inherit;
}

.container{
  width:min(var(--max),92%);
  margin:auto;
}


/* =====================================================
   HEADER
===================================================== */
/*
.site-header{
  position:absolute;
  z-index:20;
  left:0;
  right:0;
  top:0;

  color:#fff;

  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.65),
      rgba(0,0,0,0)
    );
}
*/


.site-header{
  position:fixed;
  z-index:1000;
  left:0;
  right:0;
  top:0;

  color:#fff;

  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.65),
      rgba(0,0,0,0)
    );

  transition:
    background .4s ease,
    box-shadow .4s ease,
    backdrop-filter .4s ease;
}

.site-header.scrolled{
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.94) 0%,
      rgba(0,0,0,.78) 65%,
      rgba(0,0,0,.55) 100%
    );

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);

  box-shadow:
    0 4px 20px rgba(0,0,0,.20);
}


.nav{
  height:76px;

  display:flex;
  align-items:center;
  justify-content:space-between;
}


/* LOGO */

.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
}

.brand img{
  display:block;
  width:auto;
  height:48px;
  max-width:180px;
  object-fit:contain;
}


/* MENU */

.menu{
  display:flex;
  align-items:center;
  gap:30px;

  font-size:11px;
  letter-spacing:1px;
}

.menu a{
  opacity:.92;
  transition:.2s;
}

.menu a:hover{
  color:#f17b48;
}

.menu-toggle{
  display:none;

  background:none;
  border:0;

  color:#fff;

  font-size:26px;

  cursor:pointer;
}


/* =====================================================
   HERO
===================================================== */

.hero{
  min-height:590px;

  position:relative;

  display:flex;
  align-items:flex-end;

  overflow:hidden;

  background:#111;
}


/* SLIDE */

.hero-slide{
  position:absolute;
  inset:0;

  opacity:0;
  visibility:hidden;

  transition:
    opacity 1s ease,
    visibility 1s ease;

  background-position:center;
  background-size:cover;
}

.hero-slide.active{
  opacity:1;
  visibility:visible;
}


/* ESCURECIMENTO DA IMAGEM */

.hero-slide::before{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.68),
      rgba(0,0,0,.12) 60%,
      rgba(0,0,0,.42)
    );
}


/* GRADIENTE INFERIOR */

.hero-slide::after{
  content:"";

  position:absolute;

  inset:auto 0 0;

  height:180px;

  background:
    linear-gradient(
      transparent,
      rgba(0,0,0,.5)
    );
}


/* CONTEÚDO DO SLIDE */

.hero-content{
  position:absolute;

  z-index:2;

  top:58%;
  left:8%;

  transform:translateY(-50%);

  width:min(var(--max),92%);

  margin:0;

  color:#fff;
}


/* ANIMAÇÃO DO TEXTO */

.hero-content > *{
  opacity:0;

  transform:translateY(18px);
}

.hero-slide.active .hero-content > *{
  animation:
    heroTextIn .7s ease forwards;
}

.hero-slide.active .hero-kicker{
  animation-delay:.12s;
}

.hero-slide.active .hero-title{
  animation-delay:.22s;
}

.hero-slide.active .hero-year{
  animation-delay:.32s;
}

@keyframes heroTextIn{

  to{
    opacity:1;
    transform:translateY(0);
  }

}


/* KICKER */

.hero-kicker{
  font-size:15px;
  letter-spacing:4px;
  font-weight:300;

  margin-bottom:5px;
}


/* TÍTULO */

.hero-title{
  font-family:"Barlow Condensed",sans-serif;

  font-size:
    clamp(
      55px,
      8vw,
      104px
    );

  line-height:.78;

  letter-spacing:2px;

  font-weight:700;

  text-transform:uppercase;

  max-width:690px;
}

.hero-title span{
  display:block;
}


/* ANO */

.hero-year{
  font-family:"Barlow Condensed",sans-serif;

  font-size:28px;

  letter-spacing:3px;

  margin-top:12px;
}


/* CONTROLES */

.hero-controls{
  position:absolute;

  z-index:5;

  right:4%;
  bottom:42px;

  display:flex;
  align-items:center;

  gap:8px;
}


/* BOLINHAS */

.hero-dot{
  width:8px;
  height:8px;

  border:
    1px solid
    rgba(255,255,255,.8);

  background:transparent;

  border-radius:50%;

  padding:0;

  cursor:pointer;

  transition:.25s;
}

.hero-dot.active{
  background:#fff;

  transform:scale(1.35);
}


/* SETAS */

.hero-arrow{
  width:40px;
  height:40px;

  border:
    1px solid
    rgba(255,255,255,.55);

  background:
    rgba(0,0,0,.18);

  color:#fff;

  cursor:pointer;

  font-size:22px;

  margin-left:8px;

  transition:.25s;
}

.hero-arrow:hover{
  background:
    rgba(255,255,255,.18);
}


/* =====================================================
   TÍTULOS DAS SEÇÕES
===================================================== */

.section-title{
  text-align:center;

  font-family:"Barlow Condensed",sans-serif;

  font-weight:300;

  letter-spacing:1px;

  font-size:28px;

  color:#686868;

  text-transform:uppercase;
}

.section-subtitle{
  text-align:center;

  color:#888;

  font-size:12px;

  margin-top:8px;
}


/* =====================================================
   ESTOQUE
===================================================== */

.featured{
  background:#e9e8e5;

  padding:44px 0 58px;
}

.cars-grid{
  display:grid;

  grid-template-columns:
    repeat(4,1fr);

  gap:30px 18px;

  margin-top:28px;
}

.car-card{
  background:#fff;

  position:relative;

  transition:.25s;

  overflow:hidden;

  box-shadow:
    0 4px 18px
    rgba(0,0,0,.05);
}

.car-card:hover{
  transform:translateY(-5px);

  box-shadow:var(--shadow);
}

.car-img{
  aspect-ratio:1.65/1;

  object-fit:cover;
}

.car-info{
  padding:9px 12px 15px;

  text-align:center;
}

.car-name{
  font-family:"Barlow Condensed",sans-serif;

  font-size:16px;

  letter-spacing:.6px;

  text-transform:uppercase;

  color:#666;
}

.car-name strong{
  color:var(--accent);
}

.car-meta{
  font-size:9px;

  color:#999;

  margin:5px 0;
}

.car-price{
  font-size:13px;

  font-weight:600;

  color:#333;
}

.tag{
  position:absolute;

  left:0;
  top:0;

  background:var(--accent);

  color:#fff;

  font-size:8px;

  font-weight:700;

  padding:4px 9px;

  text-transform:uppercase;
}


/* =====================================================
   BUSCA
===================================================== */

.search-section{
  background:#555;

  color:#fff;

  padding:52px 0 60px;
}

.search-section .section-title{
  color:#fff;
}

.search-box{
  margin:28px auto 0;

  display:flex;

  max-width:850px;

  background:#fff;

  padding:7px;

  border-radius:2px;
}

.search-box select,
.search-box input{
  border:0;

  outline:0;

  padding:13px 15px;

  color:#555;

  background:#fff;
}

.search-box select{
  width:190px;

  border-right:1px solid #ddd;
}

.search-box input{
  flex:1;
}

.search-btn{
  border:0;

  background:var(--accent);

  color:#fff;

  padding:0 26px;

  cursor:pointer;

  font-weight:600;
}


/* FILTROS ANTIGOS */

.brands{
  margin-top:28px;

  display:flex;
  flex-wrap:wrap;

  justify-content:center;

  gap:10px;
}

.brand-btn{
  background:transparent;

  border:
    1px solid
    rgba(255,255,255,.22);

  color:#eee;

  padding:8px 15px;

  font-size:10px;

  letter-spacing:1px;

  cursor:pointer;

  transition:.2s;
}

.brand-btn:hover,
.brand-btn.active{
  background:#fff;

  color:#444;
}

/* ==============================
   BANNER EB AUTOMOBILI
   ============================== */

.banner-eb {
    position: relative;
    width: 100%;
    min-height: 480px;

    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.78) 0%,
            rgba(0, 0, 0, 0.48) 38%,
            rgba(0, 0, 0, 0.08) 75%
        ),
        url("../imagens/banner-eb.png");

    background-size: cover;
    background-position: center;

    display: flex;
    align-items: center;
}

.banner-eb-content {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto;
    color: #fff;
}

.banner-eb-label {
    display: block;
    margin-bottom: 18px;

    font-size: 12px;
    letter-spacing: 4px;
    font-weight: 500;

    opacity: 0.85;
}

.banner-eb h2 {
    margin: 0 0 20px;

    font-size: clamp(38px, 4vw, 64px);
    line-height: 1.05;
    font-weight: 300;
    letter-spacing: 1px;
}

.banner-eb p {
    max-width: 430px;
    margin: 0 0 30px;

    font-size: 16px;
    line-height: 1.7;
    font-weight: 300;

    color: rgba(255, 255, 255, 0.85);
}

.banner-eb-button {
    display: inline-block;

    padding: 14px 30px;

    border: 1px solid rgba(255, 255, 255, 0.75);

    color: #fff;
    text-decoration: none;

    font-size: 11px;
    letter-spacing: 2px;

    transition: all 0.3s ease;
}

.banner-eb-button:hover {
    background: #fff;
    color: #111;
}

/* =====================================================
   QUALIDADE
===================================================== */

.quality{
  padding:55px 0 90px;
}

.quality-card{
  max-width:1100px;

  min-height:410px;

  margin:auto;

  display:flex;

  align-items:center;

  background:
    linear-gradient(
      90deg,
      rgba(70,70,70,.96),
      rgba(255,255,255,.30)
    ),
    url("https://images.unsplash.com/photo-1492144534655-ae79c964c9d7?auto=format&fit=crop&w=1600&q=80")
    center/cover;

  color:#fff;

  padding:55px;
}

.quality-content{
  max-width:400px;
}

.quality h2{
  font-family:"Barlow Condensed",sans-serif;

  font-size:50px;

  line-height:.85;

  text-transform:uppercase;

  font-weight:300;

  letter-spacing:1px;
}

.quality p{
  font-size:11px;

  line-height:1.8;

  margin:20px 0;

  color:#eee;
}

.btn{
  display:inline-block;

  border:
    1px solid
    rgba(255,255,255,.7);

  padding:12px 24px;

  font-size:9px;

  letter-spacing:1.5px;

  text-transform:uppercase;

  transition:.2s;
}

.btn:hover{
  background:#fff;

  color:#444;
}


/* =====================================================
   CONTATO
===================================================== */

.contact{
  background:#e7e6e2;

  padding:40px 0;
}

.contact-grid{
  display:grid;

  grid-template-columns:
    330px 1fr;

  max-width:1100px;

  margin:auto;

  min-height:420px;
}

.contact-info{
  background:#575757;

  color:#fff;

  padding:35px;

  display:flex;

  flex-direction:column;

  justify-content:center;
}

.contact-info h3{
  font-family:"Barlow Condensed",sans-serif;

  text-transform:uppercase;

  font-size:28px;

  font-weight:300;

  margin-bottom:20px;
}

.contact-info p{
  font-size:12px;

  line-height:1.9;

  color:#ddd;
}

.contact-info .line{
  margin-top:16px;
}

.map{
  min-height:280px;

  background:#d7d7d7;
}

.map iframe{
  width:100%;

  height:100%;

  min-height:280px;

  border:0;
}


/* =====================================================
   FOOTER
===================================================== */

footer{
  background:#fff;

  padding:22px 0;

  text-align:center;

  color:#888;

  font-size:9px;

  line-height:1.8;
}

.footer-brand{
  font-family:"Barlow Condensed",sans-serif;

  letter-spacing:2px;

  font-size:18px;

  color:#555;
}


/* =====================================================
   WHATSAPP
===================================================== */

.whatsapp{
  position:fixed;

  right:22px;
  bottom:22px;

  z-index:50;

  width:48px;
  height:48px;

  border-radius:50%;

  background:#fff;

  border:2px solid #25D366;

  display:grid;

  place-items:center;

  color:#25D366;

  font-weight:700;

  font-size:22px;

  box-shadow:
    0 5px 18px
    rgba(0,0,0,.16);
}


/* =====================================================
   RESULTADO VAZIO
===================================================== */

.no-results{
  display:none;

  text-align:center;

  color:#aaa;

  grid-column:1/-1;

  padding:30px;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:900px){

  .menu{
    gap:14px;
  }

  .hero{
    min-height:510px;
  }

  .cars-grid{
    grid-template-columns:
      repeat(2,1fr);
  }

  .quality-card{
    padding:40px;
  }

  .contact-grid{
    grid-template-columns:1fr;
  }

}


/* =====================================================
   CELULAR
===================================================== */

@media(max-width:650px){

  .nav{
    height:65px;
  }


  /* MENU */

  .menu{
    display:none;

    position:absolute;

    top:65px;
    left:0;
    right:0;

    background:
      rgba(10,10,10,.96);

    padding:20px;

    flex-direction:column;

    align-items:flex-start;
  }

  .menu.open{
    display:flex;
  }

  .menu-toggle{
    display:block;
  }


  /* HERO */

  .hero{
    min-height:470px;
  }

  .hero-content{
    left:6%;
    top:58%;

    width:88%;

    margin:0;
  }

  .hero-controls{
    right:50%;

    transform:
      translateX(50%);

    bottom:25px;
  }

  .hero-arrow{
    width:36px;
    height:36px;
  }

  .hero-dot{
    width:7px;
    height:7px;
  }

  .hero-title{
    font-size:58px;
  }


  /* ESTOQUE */

  .cars-grid{
    grid-template-columns:1fr;
  }


  /* BUSCA */

  .search-box{
    flex-direction:column;
  }

  .search-box select{
    width:100%;

    border-right:0;

    border-bottom:1px solid #ddd;
  }

  .search-btn{
    height:46px;
  }


  /* QUALIDADE */

  .quality{
    padding:35px 0 55px;
  }

  .quality-card{
    min-height:390px;

    padding:30px;

    background-position:center;
  }

  .quality h2{
    font-size:43px;
  }


  /* CONTATO */

  .contact-grid{
    width:100%;
  }

}