/* Tiny portrait phones (like iPhone SE, 320px) */

#hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
/*  align-items: center; /* This is the magic line */
  z-index: 0;
  width: 100vw;
/*  height: 100vh;*/
/*  padding-top: 5rem;*/
  --custom-height: 70vh;
  position: relative;
  transition: all 0.3s ease; /* Optional: smooth transition */
}

/* .site-header,  */
    .hero-section {
      opacity: 0;
      /* or display: none; */
    }


.hero-content {
  text-align: left;
  padding-top: 10rem;
  max-width: 85%;
  margin: 0;
  margin-left: 10vw;
  display: flex;
  flex-direction: column;
}

.bottom8534 {
  position:relative;
  overflow: hidden;
  padding-bottom: 120px;
  transition: all 0.4s ease;
}

.bottom8534::before {
  content:'';
  position: absolute;
  bottom: -1px;
  left: -1px;
  right: -1px;
  top: -1px;
  z-index: 3;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 100% 67px;
  background-position: 50% 100%;   
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35.28 2.17' preserveAspectRatio='none'%3E%3Cpath d='M35.28 1.67c-3.07-.55-9.27.41-16.15 0-6.87-.4-13.74-.58-19.13.1v.4h35.28z' fill='%23ffffff'/%3E%3Cpath d='M35.28 1.16c-3.17-.8-7.3.4-10.04.56-2.76.17-9.25-1.47-12.68-1.3-3.42.16-4.64.84-7.04.86C3.12 1.31 0 .4 0 .4v1.77h35.28z' opacity='.5' fill='%23ffffff'/%3E%3Cpath d='M35.28.31c-2.57.84-7.68.3-11.8.43-4.1.12-6.85.61-9.57.28C11.18.69 8.3-.16 5.3.02 2.3.22.57.85 0 .87v1.2h35.28z' opacity='.5' fill='%23ffffff'/%3E%3C/svg%3E");
}
 
#hero h1 {
  color: #E54C2D;
  font-family: "Cal Sans", sans-serif;
  font-size: clamp(3.5rem, 10vw, 6rem);
  letter-spacing: calc(0.05rem + 0.1vw);
  font-weight: 800;
  text-shadow: 1px 1px 10px rgba(255, 255, 255, 1);
  /* letter-spacing: 1.1rem; */
  /* margin: 0 auto; */
  padding: 0 0;
}
  
.bg-image-with-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-left: 0;
  background-image: url('../images/hero/hero.webp');
  /* background-size: 150%;
  background-position: left -55vw top; */
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  /* transform: scaleX(-1); */
  overflow: hidden; /* Ensures overlay stays contained */
  /* padding-right: 30vw; */
  z-index: -2;
}

.bg-image-with-overlay::before {
  content: "";
  position: absolute;
  inset: 0; /* shorthand for top/right/bottom/left: 0 */
  background-color: rgba(0, 0, 0, 0); /* Black overlay with 40% opacity */
  z-index: -2;
}

.hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

/*-------------------------------------------------------------*/
/* .hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-position: -18vw center;
  object-fit: cover;
  z-index: -2;
  display: none; /* Hide by default 
} */

/* Show landscape video on wider screens */
/* @media (min-aspect-ratio: 4/3) or (min-width: 500px) { */
/* @media (orientation: landscape) or (min-width: 500px) {
  .landscape-video {
    display: block;
  }
} */

/* Show portrait video on narrower screens */
/* @media (orientation: portrait) and (max-width: 500px) {
  .portrait-video {
    display: block;
  }
} */

/*-----------------------------------------------------------*/
/* Gemini version */
/* .hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
} */

.hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}

/* You can still use a media query for the object-position if you need a specific crop for landscape. */
/* @media (orientation: landscape) {
  .hero-video {
    object-position: -18vw center;
  }
} */

/*---------------------------------------------------------------*/
.hero-overlay {
  position: relative;
  z-index: -1;
  padding-left: 0;
  color: white;
  text-align: center;
  padding-top: 30vh; /* Adjust as needed */
}

#hero h2 {
  color: black;
  font-family: 'Jost', sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  text-shadow: 2px 2px 5px rgba(255, 255, 255, 1);
  /* white-space: nowrap; */
  letter-spacing: .325rem;
  margin-top: 1rem;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: calc(0.075rem + 0.1vw); /* for "FROM COAST TO COAST TO COAST" */

}

#hero .btn {
  font-family: 'Roboto', sans-serif;
  font-size: 0.8rem;
  letter-spacing: .25rem;
  padding: 0.5rem 1.5625rem;
  white-space: nowrap;
  border-radius: 0;
  border: rgba(0, 0, 0, 0);
  background-color: black;
  color: white;
  color: #f5d481;   /* #444;*/
  margin-top: 5rem;
/*  transform: translate(-50%, -50%);*/
  transition: all 0.3s ease-in-out;

  font-size: 1rem;
  letter-spacing: calc(0.1rem + 0.1vw); /* subtle, readable, energetic */
  text-transform: uppercase;
  /* font-weight: bold; */
  
}


/* --- Hover styles ONLY for devices that can truly hover --- */
@media (hover: hover) {
  #hero .btn:hover {
    /*
    background-color: white;
    color: #000;
    animation: pulse-cont 500ms infinite ease-in-out;
    */
    background-color: #827020;
    color: white;
    opacity: 1;
    transform: translateY(-3px); /* Move the button up slightly */
    box-shadow: 0 4px 8px rgba(0,0,0,0.4); /* Add a subtle shadow */
  }
}

#hero .btn:hover {
  /*
  background-color: white;
  color: #000;
  animation: pulse-cont 500ms infinite ease-in-out;
  */
  background-color: #827020;
  color: white;
  opacity: 1;
  transform: translateY(-3px); /* Move the button up slightly */
  box-shadow: 0 4px 8px rgba(0,0,0,0.4); /* Add a subtle shadow */
}

#hero .btn:active {
  background-color: #827020; /* #4f4f4f; */
  opacity: 1;
  transform: translateY(-3px); /* Move the button up slightly */
  box-shadow: 0 4px 8px rgba(0,0,0,0.4); /* Add a subtle shadow */
}

@keyframes pulse-cont {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.15);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}


/* ======================================================= */

@media (min-width: 360px) {

  .hero-video {
    /* object-position: -65vw center; */
    object-fit: cover;
  }

}

@media (min-width: 500px) {
    
  .hero-video {
    /* object-position: -30vw center; */
    object-fit: cover;
  }

}

@media (min-width: 576px) {

  .hero-video {
    /* object-position: -30vw center; */
    object-fit: cover;
  }

}

@media (min-width: 768px) { 

  .hero-video {
    /* object-position: -35vw center; */
    object-fit: cover;
  }

  .hero-content {
    max-width: 85%;
    margin-left: 10vw;
  }
    
  #hero h1 {
    font-size: clamp(3rem, 8vw, 6rem);
    letter-spacing: 0rem; /* for "CANADA" */

    font-size: clamp(3.5rem, 10vw, 6rem);
    letter-spacing: calc(0.05rem + 0.1vw);
  }

  #hero h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: 0.075rem; /* for "FROM COAST TO COAST TO COAST" */
  }

}

@media (min-width: 820px) { 

  .hero-video {
    /* object-position: -45vw center; */
    object-fit: cover;
  }
}

@media (min-width: 900px) {

  .hero-content {
    max-width: 80%;
    margin-left: 15vw;
    /* padding-top: 7rem; */
  }

}

@media (min-width: 1000px) { 

  .hero-video {
    object-position: center center;
    object-fit: cover;
  }
}

@media (min-width: 1200px) {

  .hero-video {
    object-position: center top;
    object-fit: cover;
  }

}
@media (min-width: 1300px) {

}

@media (min-width: 1920px) {

}

@media (min-width: 2100px) {

}

@media (orientation: landscape) and (max-height: 500px) {

  #hero {
    height: 140vh;
  }

  .hero-content {
    /* max-width: 85%;
    margin-left: 10vw; */
    padding-top: 40vh;
  }

  /* .bottom8534 {
    padding-top: 60px;
  } */

  /* #hero h1 {
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: 1.1rem;
    font-size: clamp(2.5rem, 10vw, 4rem);
    line-height: 110%;
  }
    
  #hero h2 {
    font-size: 1.5rem;
    letter-spacing: .325rem;
    margin-top: 1rem;
  } */


  #hero .btn {
    /* font-size: 0.8rem;
    letter-spacing: .25rem;
    padding: 0.5rem 1.5625rem; */
    margin-top: 3rem;
  }
}