@font-face {
  font-family: 'Brandon_Grotesque';
  src: url('../fonts/HvDTrial_Brandon_Grotesque_regular-BF64a625c9311e1.otf') format('opentype');
  font-style: normal;
}

@font-face {
  font-family: 'Brandon_Grotesque bold';
  src: url('../fonts/HvDTrial_Brandon_Grotesque_bold-BF64a625c9151d5.otf') format('opentype');
  font-style: normal;
}

@font-face {
  font-family: 'BebasNeue-Regular';
  src: url('../fonts/BebasNeue-Regular.otf') format('opentype');
  font-style: normal;
}

/* ===== RESET ===== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Brandon_Grotesque';
}

body {
    overflow-x: hidden;
    width: 100%;
}

/* ===== OFFER STRIP ===== */
.strip-bar{
    display: flex;
        justify-content: center;
    align-items: center;
    height: 6vh;
  width:100%;
  background:#8EAD52;
  color:#fff;
  text-align:center;
  padding:2vh 1vw;
  font-size:1.1rem;
  font-family:'Brandon_Grotesque bold';

  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.strip-text{
  display:inline-block;
}

/* ===== LOGO STRIP ===== */
.logo-bar{
  width:100%;
  background:#FFF0D7;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:1vh 0;
  padding-top: 8vh;
}

.logo-img{
  width:6vw;
  height:auto;
}

/* ===== HERO SECTION ===== */
.hero-section{
  position:relative;
  width:100%;
  height:90vh;
  display:flex;
      flex-direction: column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  background-size:cover;
  background-position:center;
  background-image:url("../images/desktop.jpg");
}

.hero-section::after{
  content:"";
  position:absolute;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.45);
  top:0;
  left:0;
}

.hero-box{
  position:relative;
  z-index:2;
  width:90%;
      margin-bottom: 1.5rem;
}

.hero-title{
  margin-bottom:2vh;
  font-family:'Brandon_Grotesque bold';
  font-size:40px;
  text-transform:uppercase;
}

.hero-note{
  font-size:2.3rem;
  margin-bottom:3vh;
}

.hero-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
}

.hero-btn{
  padding:0.5em 1.5em;
  font-size:1.35rem;
  border:none;
  background:#8EAD52;
  color:#fff;
  cursor:pointer;
  transition:0.3s;
  border-radius:3rem;
}

.hero-btn:hover{
  background:#556b1f;
}

/* ===== MAP SECTION ===== */
.map-area{
  width:100%;
  height:60vh;
}

.map-frame{
  width:100%;
  height:100%;
}

.map-frame iframe{
  width:100%;
  height:100%;
  border:0;
}

/* ===== FOOTER ===== */
.footer-top{
  background:#fcf6ed;
  padding:0vh 8vw;
}

.footer-nav{
  display:flex;
  justify-content:flex-start;
  flex-wrap:wrap;
}

.footer-col{
  min-width:20vw;
}

.footer-col h3{
  font-size:1.2rem;
  letter-spacing:0.15em;
  margin-bottom:3vh;
  color:#58595b;
  font-family:'Brandon_Grotesque bold';
}

.footer-col ul{
  list-style:none;
}

.footer-col ul li{
  margin-bottom:1.5vh;
}

.footer-col ul li a{
  text-decoration:none;
  color:#58585A;
  font-size:0.95rem;
  transition:0.3s;
}

.footer-col ul li a:hover{
  text-decoration:underline;
}

.footer-contact p{
  margin-bottom:1.2vh;
  font-size:0.95rem;
  color:#58585A;
  font-weight:900;
}

/* ===== FOOTER BOTTOM ===== */
.footer-bottom{
  background:#fcf6ed;
  padding:3vh 8vw;
  font-size:1rem;
  color:#444;
}

.footer-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:2vh;
  color:#937a7a;
}

/* ===== POLICY ===== */
.policy-bar{
  height:7vh;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.9rem;
  background:#000;
}

.policy-link{
  color:#fff;
  text-decoration:none;
}

.footer-nav {
    display: none;
}

.promo-slider-section{
  width: 90%;
    padding: 3vh 1vw 3vh;
    overflow: hidden; 
    z-index: 100;
    background: #ede4d3;
    position: relative;
    border: 2px solid #c8b79a;
    border-radius: 16px;
}

.slider-header{
    display:flex;
    justify-content:flex-end;
    gap:1rem;
    margin-bottom:3vh;
}

.slider-arrow{
    width:3rem;
    height:3rem;
    border:none;
    cursor:pointer;
    font-size:1.2rem;
    background:#8ca946;
    color:#fff;
    border-radius:50%;
    transition:.3s;
}

.slider-arrow:hover{
    transform:scale(1.08);
}

.slider-wrapper{
    overflow:hidden;
    width:100%;
}

.slider-track{
    display:flex;
    gap: 20px;
    transition:transform .6s ease;
}

.promo-card{
    flex: 0 0 calc((100% - 40px) / 3);
    width:50%;
    min-height: auto;
    background:#e8e4d3;
    border: 1px solid #000;
}

.green .card-top{
    background:#8ca946;
}

.gold .card-top{
    background:#d6af2f;
}

.beige .card-top{
    background:#d3cabd;
}

.card-top{
    color:#fff;
    padding:1rem;
    font-size: 0.8rem;
    font-weight:700;
    text-align: center;
}

.beige .card-top{
    color:#2d3b4f;
}

.card-body{
    padding:1rem 1.5rem 0rem 1.5rem;
}

.card-body h2{
    font-size:2rem;
    color:#33444f;
    margin-bottom:.8rem;
    text-align: center;
}

.card-body h3{
    font-size: 1.1rem;
    color:#33444f;
    margin-bottom:1rem;
    text-align: center;
}

.sub-title{
    text-transform:uppercase;
    margin-bottom:1rem;
}

.card-body p{
    font-size: 0.8rem;
    line-height:1.8;
    color:#333;
    text-align: center;
}

.card-body ul{
    margin-top:1rem;
    padding-left:1.2rem;
}

.card-body li{
    margin-bottom:.5rem;
    list-style: none;
    text-align: center;
    color: #000;
}

.weekly-specials{
    width:100%;
    background:#f2ede5;
    padding:6vh 4vw 5vh;
}

.weekly-specials__container{
    width:100%;
    max-width:90rem;
    margin:0 auto;
    text-align:center;
}

.weekly-specials__title{
    font-size:clamp(2.5rem,5vw,5rem);
    font-weight:700;
    letter-spacing:.08rem;
    color:#5c5c5c;
    text-transform:uppercase;
    line-height:1;
    margin-bottom:2vh;
}

.weekly-specials__line{
    width:min(25rem,35vw);
    height:.2rem;
    background:#8ca946;
    margin:0 auto 5vh;
}

.weekly-specials__description{
    max-width:85rem;
    margin:0 auto;
    font-size:clamp(1rem,1.4vw,1.8rem);
    line-height:1.8;
    color:#3d4b59;
}

@media(max-width:1024px){
    .promo-card{
       flex:0 0 100%;
        width:100%;
    }
    .card-body h2{
        font-size:2.5rem;
    }
}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){

  .strip-bar{
    letter-spacing:0.1rem;
  }

  .hero-section{
            height: 90vh;
    background-image:url("../images/mobile.png");
  }

  .hero-box{
    width:95%;
  }

  .hero-title{
    font-size: 2.1rem;
    letter-spacing: 0rem;
    line-height: 2.7rem;
  }

  .hero-note{
    font-size:1.5rem;
    letter-spacing:0.1rem;
    line-height:1.7rem;
  }

  .hero-btn{
    font-size:1.5rem;
  }

  .logo-img{
    width:20vw;
  }

  .footer-nav{
    flex-direction:column;
    gap:4vh;
  }

  .footer-row{
    flex-direction:column;
    align-items:flex-start;
  }

  .policy-bar{
    font-size:1.2rem;
  }

  .promo-card{
    flex:0 0 100%;
    width:100%;
  }

  .card-body h2{
    font-size:2.2rem;
  }

  .card-body h3{
    font-size:1.1rem;
  }

  .slider-header{
    justify-content:center;
  }

  .weekly-specials{
    padding:5vh 6vw;
  }

  .weekly-specials__line{
    width:55vw;
  }

  .weekly-specials__description{
    font-size:1rem;
    line-height:1.8;
  }
}