/*adding our custom font*/
@font-face {
  font-family: 'Lisbon Street Photo Fest';
  src: url('https://github.com/teresacf/LSPF/raw/refs/heads/main/LisbonStreetPhotoFest-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}


@media (max-width: 768px) {
  .xl-headline {
    font-family: 'Lisbon Street Photo Fest', sans-serif !important;
  }
}

.xl-headline {
  font-family: 'Lisbon Street Photo Fest', sans-serif !important;
    font-size: 48px !important;
}

#content_page_wrapper h2.xl-headline {
  line-height: 1.05em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  letter-spacing: -2px !important;

}

.format-slideshow__slide-heading {
  font-family: 'Lisbon Street Photo Fest', sans-serif !important;
    font-size: 80px !important; 
    letter-spacing: -2px !important;
}

@media (max-width: 767px) {
  .format-slideshow__slide-heading {
    line-height: 0.8 !important; /* Adjust as needed */
  }
}

/*Guests Page Margin*/

div[data-content-module-id="15358043"] .xl-headline {
  margin-bottom: -20px !important;
}

div[data-content-module-id="15358043"] .xl-headline + p {
  margin-top: -20px !important;
}


/* Force spacing between top of page and slideshow */
body > header + * {
  margin-top: 40px !important;
}

header.header {
  margin-top: 35px !important;
}

.header-logo-container {
  margin-bottom: 16px;
}

/* Reduce spacing on smaller screens */

@media (max-width: 768px) {
  header.header {
    margin-top: 5px !important;
  }

  body > header + * {
    margin-top: 0px !important;
  }
}

/* Below slideshow */

._4ORMAT_module_divider_blank {
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

@media (max-width: 768px) {
  ._4ORMAT_module_divider_blank {
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Between text containers */
@media (max-width: 768px) {
  ._4ORMAT_content_page_row._4ORMAT_module_text_06 {
    margin-top: -16px !important;
    padding-top: 0 !important;
  }
}

/* Store */
/* Base button setup */
.f-add-to-cart-button {
  background-color: #0f1b33 !important;
  color: #0f1b33 !important;
  font-size: 16px !important;
  position: relative;
  border: none !important;
  border-radius: 2px !important; /* 👈 Rounded corners */
  opacity: 1 !important;
  background-image: none !important;
  transition: background-color 0.25s ease !important;
  box-shadow: none !important;
  outline: none !important;
}


/* Background layer */
.f-add-to-cart-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #0f1b33;
  z-index: 0;
  transition: background-color 0.25s ease;
}


/* Custom label overlay */
.f-add-to-cart-button::after {
  content: "Book your spot";
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 13px;
  font-family: Roboto, sans-serif;
  font-weight: 500;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  letter-spacing: 0.5px;
  text-transform: none;
}

.f-add-to-cart-button::before {
  border-radius: 2px !important;
}

/*Change state when it's sold out/disabled*/
.f-add-to-cart-button[disabled]::after {
  content: "Sold out" !important;
  color: #aaa !important; /* optional: make it look more inactive */
  cursor: not-allowed !important;
}

/* Force hover state via ::before background layer */
.f-add-to-cart-button:hover::before {
  background-color: #d35256 !important;
    border-radius: 2px !important;
}

button.f-add-to-cart-button:hover,
button.f-add-to-cart-button:focus,
button.f-add-to-cart-button:active {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.f-add-to-cart-button,
.f-add-to-cart-button:hover,
.f-add-to-cart-button:active,
.f-add-to-cart-button:focus {
  padding: 12px 28px !important; /* lock size */
  font-size: 16px !important;
  border-radius: 2px !important;
  min-width: 160px !important; /* optional: enforce consistent width */
  box-sizing: border-box !important;
  transition: background-color 0.25s ease !important; /* only animate colour */
}


/* hide quantity option
.f-product-qty {
  display: none !important;
}
*/

/* Colour update for parent menu link */

.category-list.fade-links .item a {
  font-family: 'Roboto', sans-serif !important;
  font-weight: 400 !important;
  font-size: 17px !important;
}

/* Add top margin to mobile menu */
@media (max-width: 768px) {
  .menu-links.fade-links {
    padding-top: 24px !important;
  }
}




