
@font-face {
  font-family: 'heebo sans-serif';
  src: url('../fonts/heebo.regular.ttf') format('opentype');
}

@font-face {
  font-family: 'Rubik-Medium';
  src: url('../fonts/Rubik-Medium.ttf') format('opentype');
}
@font-face {
  font-family: 'Damion-Regular';
  src: url('../fonts/Damion-Regular.ttf') format('opentype');
}



* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "heebo sans-serif";
}

.offer-strip{
  width:100%;
  height:6vh;
  min-height:3rem;
  background:#50804c;
  color:#fff;
  overflow:hidden;
display: flex;
    align-items: center;
    justify-content: center;
  white-space:nowrap;
}

.offer-track{
  display:flex;
  align-items:center;
  width:max-content;
}

.offer-item{
  flex-shrink:0;
  padding:0 4vw;
  font-size:1rem;
  font-weight:600;
}


/* Header */
.header {
  background: #F3F1E5;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 40px;
}

.logo img {
  height: 40px;
  width: auto;
}

.nav a {
  color: #fff;
  text-decoration: none;
  margin: 0 18px;
  font-size: 16px;
}

.nav i {
  font-size: 12px;
  margin-left: 4px;
}

.icons i {
  margin-left: 18px;
  font-size: 18px;
  cursor: pointer;
}

/* Hero Section */
.hero {
    height: calc(100vh - 120px);
    background-image: url(../../assets/images/desktop.png);
    background-size: cover;
    background-position: auto;
    display: flex;
    align-items: center;
    align-content: space-around;
    justify-content: center;
}
.welcome-text {
  font-family:"Damion-Regular";
  font-size: 65px;
  margin-bottom: 10px;
}
.sub-text {
  font-family:"heebo sans-serif";
  font-size: 25px;
  font-weight: 400;
}
.main-heading {
  font-family: "Rubik-Medium";
  font-size: 60px;
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 20px 0;
}


.hero-content {
  color: #fff;
    max-width: 90%;
  text-align: center;
}



/* Heading */
.hero h1 {
  font-size: 52px;
  line-height: 1.1;
  font-weight: 400;
}

/* Button */
.hero-btn {
  display: inline-block;
    margin-top: 32px;
    padding: 14px 26px;
    border: 1.5px solid #50804C;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    background: #50804C;
    border-radius: 8px;
    font-family: "Rubik-Medium";
}

.hero-btn:hover {
  background: #fff;
  color: #000;
}


.reviews-section{
      width:100%;
      padding:4vh 3vw;
      overflow:hidden;
    }

    .reviews-wrapper{
      display:flex;
      gap:2vw;
    }

    .review-card{
      flex:1;
      background:#fff;
      border:0.1rem solid #222;
      border-radius:1rem;
      padding:3rem 2rem;
      text-align:center;
      min-height:70vh;

      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
    }

    .profile-img{
         width: 4rem;
    height: 4rem;
      border-radius:50%;
      object-fit:cover;
      margin-bottom:1rem;
    }

    .review-name{
      font-size:1.2rem;
      font-weight:700;
      color:#111;
      margin-bottom:0.5rem;
    }

    .review-date{
      font-size:1.2rem;
      color:#333;
      margin-bottom:1rem;
    }

    .stars{
      color:#e47222;
      font-size:1.8rem;
      letter-spacing:0.2rem;
      margin-bottom:1rem;
    }

    .review-text{
      font-size:1rem;
      line-height:1.7;
      color:#111;
      margin-bottom:2rem;
      width:100%;
    }

    .google-logo{
      width:2.5rem;
      height:auto;
      margin-top:auto;
    }
    
    .custom-section {
  width: 100%;
  background: #efefea;
  color: #1b1b1b;
}

/* HERO */

.custom-hero {
  position: relative;
  width: 100%;
  min-height: 47vh;
  background-image: url("../images/Untitled design (1).png");
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.custom-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
}

.custom-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 47vh;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  padding: 4vh 4vw;
}

.custom-hero-content h1 {
  color: #fff;
  font-size: clamp(2rem, 3vw, 4rem);
  font-weight: 900;
  margin-bottom: 1vh;
}

.custom-hero-content p {
  color: #f2f2f2;
  font-size: clamp(0.95rem, 1vw, 1.2rem);
  margin-bottom: 3vh;
}

.custom-btn {
  border: none;
  outline: none;
  cursor: pointer;

  background: #50804c;
  color: white;

  padding: 1rem 2.8rem;
  border-radius: 0.5rem;

  font-size: 1rem;
  font-weight: 700;

  transition: 0.3s ease;
}

.custom-btn:hover {
  transform: translateY(-0.15rem);
}

/* FOOTER */

.custom-footer {
  width: 100%;
  background: #efefea;
  padding: 5vh 5vw 2vh;
}

.custom-footer-inner {
  width: 100%;

  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.2fr 1.6fr;
  gap: 4vw;

  align-items: flex-start;
}

/* LOGO */

.custom-logo {
  width: 13vw;
  min-width: 9rem;
  max-width: 14rem;
  object-fit: contain;
}

.custom-socials {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2vh;
}

.custom-socials a {
  width: 2.6rem;
  height: 2.6rem;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  text-decoration: none;

  color: #0e4d2b;
  border: 0.12rem solid #0e4d2b;

  font-weight: bold;
  font-size: 1rem;

  transition: 0.3s ease;
}

.custom-socials a:hover {
  background: #0e4d2b;
  color: white;
}

/* COLUMNS */

.custom-col h3 {
  color: #4f7f4d;
  font-size: clamp(1.1rem, 1.2vw, 1.5rem);
  margin-bottom: 1.4rem;
}

.custom-col ul {
  list-style: none;
}

.custom-col li {
  margin-bottom: 1rem;
  font-size: clamp(0.92rem, 0.95vw, 1rem);
}

.custom-col a {
  text-decoration: none;
  color: #1b1b1b;
  transition: 0.25s ease;
}

.custom-col a:hover {
  color: #4f7f4d;
}

/* HOURS */

.custom-hours-list li {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}

/* BOTTOM */

.custom-footer-bottom {
  width: 100%;

  border-top: 0.08rem solid #1b1b1b;

  margin-top: 5vh;
  padding-top: 2vh;

  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;

  font-size: 0.85rem;
}

.custom-copy {
  margin-left: auto;
}

.hwy90-reward-zone{
  width: 100%;
  padding: 4.5vh 3vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  box-sizing: border-box;
}

.hwy90-reward-zone__visual{
  width: 92vw;
      max-width: 50rem;
  height: auto;
  display: block;
  border-radius: 1.2rem;
  object-fit: cover;
  box-shadow: 0 1.2rem 2.5rem rgba(0,0,0,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hwy90-reward-zone__visual:hover{
  transform: scale(1.01);
  box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.2);
}

.custom-footer-bottom p {
    cursor:pointer;
}

    /* ================= FOOTER ================= */
    footer {
      height: 6vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.9rem;
      background: #000;
    }

    footer a {
      color: #fff;
      text-decoration: none;
    }

@media (max-width: 1100px) {
  .custom-footer-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }

  .custom-logo-col {
    grid-column: span 2;
  }

  .custom-logo {
    width: 20vw;
  }
}

/* Responsive */
@media (max-width: 768px) {
 .offer-strip{
    height:5vh;
    min-height:2.8rem;
  }
  .offer-item{
    font-size:1.1rem;
    padding:0 6vw;
  }
  
  
    
  .nav {
    display: none;
  }

  .hero-content {
    padding: 0 20px;
  }
  .hero {
  background-image: url("../../assets/images/mobilec.png"); /* Replace with your hero image */
   /* padding-top: 70px; */
        align-items: center;
  }
  
  .hero h1 {
    font-size: 36px;
  }
  
    .reviews-section{
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
      }

      .reviews-section::-webkit-scrollbar{
        display:none;
      }

      .reviews-wrapper{
        width:max-content;
      }

      .review-card{
        width:88vw;
        min-width:88vw;
        min-height:auto;
        scroll-snap-align:center;
        padding:1rem 1.5rem;
                display: flex;
        align-items: center;
        justify-content: center;
      }

      .review-name{
        font-size:1rem;
      }

      .review-text{
        font-size:1rem;
        line-height:1.6;
      }
      
      .google-logo {
    width: 2.5rem;
    /* height: auto; */
     margin-top: 0;
}

 .custom-hero {
    min-height: 42vh;
  }

  .custom-hero-content {
    min-height: 42vh;
  }

  .custom-footer {
    padding: 4rem 6vw 2rem;
  }

  .custom-footer-inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .custom-logo-col {
    grid-column: span 1;
  }

  .custom-logo {
    width: 40vw;
  }

  .custom-hours-list li {
    flex-direction: column;
    gap: 0.3rem;
  }

  .custom-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .custom-copy {
    margin-left: 0;
  }
  
   .hwy90-reward-zone{
    padding: 2vh 4vw;
  }

  .hwy90-reward-zone__visual{
    width: 96%;
    border-radius: 1rem;
  }
}
/* Responsive */
@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
}
@media (max-width: 768px) {

  .announcement-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    white-space: normal;
  }

  .divider {
    display: none;
  }

}

@media (max-width: 480px) {
 .offer-item{
    font-size:1.1rem;
    padding:0 8vw;
  }
    
  .custom-hero-content h1 {
    font-size: 2rem;
  }

  .custom-hero-content p {
    font-size: 0.95rem;
  }

  .custom-btn {
    width: 70%;
    padding: 0.9rem 1rem;
  }

  .custom-logo {
    width: 55vw;
  }

  .custom-socials a {
    width: 2.3rem;
    height: 2.3rem;
  }
  
  .hwy90-reward-zone{
    padding: 1.5vh 2vw;
  }

  .hwy90-reward-zone__visual{
    width: 100%;
    border-radius: 0.7rem;
  }
}

