/* ================================
   LOAD OO THERAN FONT
   ================================ */
@font-face {
  font-family: 'OOTheran';
  src: url('https://static1.squarespace.com/static/6772a42c1dab7528696e6f9d/t/6960b9bd12ee703806357a6d/1767946685109/OOTheran-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ================================
   FORCE FONT ACROSS ALL CONTENT
   ================================ */
html,
body,
#sb_booking_main,
#sb_booking_main *,
#sb_widget,
#sb_widget *,
.sb-widget,
.sb-widget *,
#widget_container,
#widget_container *,
#widget_content,
#widget_content *,
#widget_header,
#widget_header *,
#widget_footer,
#widget_footer *,
#container,
#container *,
#events,
#events *,
#eventForm,
#eventForm *,
#sb_booking_info,
#sb_booking_info *,
.booking-info,
.booking-info *,
.step_info_item,
.step_info_item *,
font,
font *,
*[face],
*[style] {
  font-family: 'OOTheran', Arial, sans-serif !important;
}

/* ================================
   CALENDAR ARROWS
   ================================ */
#sb_booking_main .ui-datepicker-prev span,
#sb_booking_main .ui-datepicker-next span,
#sb_booking_main .ui-datepicker .ui-icon,
#sb_booking_main .ui-datepicker [class*="ui-icon"] {
  display: none !important;
  background: none !important;
}

#sb_booking_main .ui-datepicker-prev,
#sb_booking_main .ui-datepicker-next {
  position: relative !important;
  width: 42px !important;
  height: 36px !important;
}

#sb_booking_main .ui-datepicker-prev:after {
  content: "‹" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -55%) !important;
  font-family: Arial, sans-serif !important;
  font-size: 28px !important;
  color: #ffffff !important;
}

#sb_booking_main .ui-datepicker-next:after {
  content: "›" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -55%) !important;
  font-family: Arial, sans-serif !important;
  font-size: 28px !important;
  color: #ffffff !important;
}

/* ================================
   CART ICON + BADGE
   ================================ */

/* Clean cart container but keep it clickable */
#header .items-wrapper .nav-item#sb_cart,
#header .items-wrapper .nav-item#sb_cart .cart-container {
  position: relative !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Hide only the built-in cart graphic */
#header .items-wrapper .nav-item#sb_cart .cart-container .cart {
  position: relative !important;
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Draw our own grey cart icon */
#header .items-wrapper .nav-item#sb_cart .cart-container .cart::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 34px !important;
  height: 34px !important;
  transform: translate(-50%, -50%) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B2B2B2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.68 13.39A2 2 0 0 0 9.64 16H19.4a2 2 0 0 0 1.96-1.61L23 6H6'/></svg>") !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Badge background + black number */
#header .items-wrapper .nav-item#sb_cart .cart-container .cart-counter,
#header .items-wrapper .nav-item#sb_cart .cart-container .count,
#header .items-wrapper .nav-item#sb_cart .cart-container .badge,
#header .items-wrapper .nav-item#sb_cart .cart-container [class*="counter"],
#header .items-wrapper .nav-item#sb_cart .cart-container [class*="badge"] {
  position: relative !important;
  z-index: 3 !important;
  background: #B2B2B2 !important;
  color: #000000 !important;
  fill: #000000 !important;
  stroke: #000000 !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  border-radius: 50% !important;
  font-weight: 700 !important;
}

/* Force anything inside badge to black */
#header .items-wrapper .nav-item#sb_cart .cart-container .cart-counter *,
#header .items-wrapper .nav-item#sb_cart .cart-container .count *,
#header .items-wrapper .nav-item#sb_cart .cart-container .badge *,
#header .items-wrapper .nav-item#sb_cart .cart-container [class*="counter"] *,
#header .items-wrapper .nav-item#sb_cart .cart-container [class*="badge"] * {
  color: #000000 !important;
  fill: #000000 !important;
  stroke: #000000 !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

/* If number is generated via pseudo element */
#header .items-wrapper .nav-item#sb_cart .cart-container .cart-counter::before,
#header .items-wrapper .nav-item#sb_cart .cart-container .cart-counter::after,
#header .items-wrapper .nav-item#sb_cart .cart-container .count::before,
#header .items-wrapper .nav-item#sb_cart .cart-container .count::after,
#header .items-wrapper .nav-item#sb_cart .cart-container .badge::before,
#header .items-wrapper .nav-item#sb_cart .cart-container .badge::after {
  color: #000000 !important;
  fill: #000000 !important;
  stroke: #000000 !important;
  opacity: 1 !important;
  filter: none !important;
}

/* ================================
   LOGIN ICON (WORKING VERSION)
   ================================ */
#sb_client_info,
#sb_client_info .item-container,
#sb_client_info .client-info-container {
  position: relative !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

#sb_client_info .item-container,
#sb_client_info .client-info-container,
#sb_client_info .user-image,
#sb_client_info .avatar,
#sb_client_info .login,
#sb_client_info .profile,
#sb_client_info .user {
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

#sb_client_info .user-image,
#sb_client_info .avatar,
#sb_client_info .login,
#sb_client_info .profile,
#sb_client_info .user,
#sb_client_info [style*="background-image"] {
  opacity: 0 !important;
}

#sb_client_info::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B2B2B2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3h7v18h-7'/><path d='M10 17l5-5-5-5'/><path d='M15 12H3'/><circle cx='18' cy='12' r='0.7' fill='%23B2B2B2' stroke='none'/></svg>");
  pointer-events: none;
  z-index: 2;
}

/* ================================
   MOBILE MENU FIX
   ================================ */

/* Keep real trigger clickable but visually clean */
.nav-trigger,
.nav-trigger .item-container,
.nav-trigger .nav-icon,
.nav-trigger .menu-trigger {
  position: relative !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Give the trigger a reliable size */
.nav-trigger {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  overflow: visible !important;
}

/* Hide built-in burger graphics only */
.nav-trigger span,
.nav-trigger .nav-icon,
.nav-trigger .menu-trigger::before,
.nav-trigger .menu-trigger::after,
.nav-trigger .nav-icon::before,
.nav-trigger .nav-icon::after {
  opacity: 0 !important;
}

/* Draw our own three grey lines on the clickable trigger */
.nav-trigger::before,
.nav-trigger::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  width: 22px !important;
  height: 2px !important;
  margin-left: -11px !important;
  background: #B2B2B2 !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

.nav-trigger::before {
  top: 14px !important;
  box-shadow: 0 7px 0 #B2B2B2 !important; /* middle line */
}

.nav-trigger::after {
  top: 28px !important; /* bottom line */
}

/* Kill any halo/panel behind menu */
.nav-trigger .item-container,
.nav-trigger .nav-icon,
.nav-trigger .menu-trigger,
.nav-trigger a,
.nav-trigger div {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* ================================
   INSTAGRAM ICON - REPLACE HALO VERSION
   ================================ */

/* Keep the Instagram link clickable and transparent */
#widget_container a[href*="instagram"],
#widget_container a[href*="instagram.com"],
#widget_container [href*="instagram"],
#widget_container [href*="instagram.com"] {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  overflow: visible !important;
}

/* Hide the built-in Instagram graphic only */
#widget_container a[href*="instagram"] img,
#widget_container a[href*="instagram"] svg,
#widget_container a[href*="instagram"] i,
#widget_container a[href*="instagram"] span,
#widget_container a[href*="instagram.com"] img,
#widget_container a[href*="instagram.com"] svg,
#widget_container a[href*="instagram.com"] i,
#widget_container a[href*="instagram.com"] span,
#widget_container [href*="instagram"] img,
#widget_container [href*="instagram"] svg,
#widget_container [href*="instagram"] i,
#widget_container [href*="instagram"] span {
  opacity: 0 !important;
}

/* Remove background/halo from wrappers */
#widget_container a[href*="instagram"] *,
#widget_container a[href*="instagram.com"] *,
#widget_container [href*="instagram"] * {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Draw a clean grey Instagram icon */
#widget_container a[href*="instagram"]::after,
#widget_container a[href*="instagram.com"]::after,
#widget_container [href*="instagram"]::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 28px !important;
  height: 28px !important;
  transform: translate(-50%, -50%) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B2B2B2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='5' ry='5'/><circle cx='12' cy='12' r='4'/><circle cx='17.5' cy='6.5' r='1'/></svg>") !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* ================================
   FIX INSTAGRAM HALO (EXACT SELECTOR)
   ================================ */

/* Remove the grey square button */
.btn-bar__social-links .btn--action {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

/* Clean inner icon wrapper */
.btn-bar__social-links .btn--action .icon {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Clean SVG itself */
.btn-bar__social-links .btn--action svg {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Remove any pseudo-element blocks */
.btn-bar__social-links .btn--action::before,
.btn-bar__social-links .btn--action::after {
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* ================================
   PRODUCT POPUP TEXT - EXACT BLACK FIX
   ================================ */

/* Override the inherited grey on popup full-info text only */
#steps-content #sb_booking_content .modal.fade.in .full-info,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .cap.full,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .txt.full,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .txt.full p,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .txt.full a,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .txt.full a:link,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .txt.full a:visited,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .txt.full a:hover,
#steps-content #sb_booking_content .modal.fade.in .full-info .tab-pd .txt.full a:active {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  text-shadow: none !important;
}

/* ================================
   HIDE MAP BUTTON ONLY
   ================================ */

#main #main-buttons .btn.map a,
#main #main-buttons .btn.map .btn--secondary,
#main #main-buttons .btn.map .btn--secondary a,
#main #main-buttons .btn.map .subscribe-component--btn-bar,
#main #main-buttons .btn.map .btn-bar--row,
#main #main-buttons .btn.map .btn.btn-danger,
#main #main-buttons .btn.map .btn.btn-danger a {
  display: none !important;
}

/* ================================
   REMOVE LEFTOVER BUTTON BAR LINE
   ================================ */

/* Kill the bar/line container */
#main #main-buttons .btn.map .wrapper .inner .bar,
#main #main-buttons .btn.map .bar,
#main #main-buttons .btn.map .wrapper,
#main #main-buttons .btn.map .inner {
  display: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Hide the Show on map button container completely */
div.btn.map.btn-with-image.custom.animated.zoomIn {
  display: none !important;
}

/* MOBILE HEADER - TRUE VERTICAL ALIGN FIX */
@media (max-width: 768px) {

  /* Make header a flex container */
  #header .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 90px !important;
  }

  /* Logo block */
  #header .col-xs-8.col-md-3 {
    position: static !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Logo size */
  #header img[src*="135b3c2c9ff855e7e90cbd1759b0c1fa.png"] {
    max-width: 150px !important;
    max-height: 60px !important;
  }

  /* Right side icons */
  #header .col-xs-4.col-md-9,
  #header .header-controls {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
  }

  /* Icon row */
  #header .items-wrapper {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
  }

  /* REMOVE ALL manual offsets */
  .cart.item-container.sb-cart-btn,
  #sb_client_info,
  #header .nav-trigger,
  #header .nav-trigger i.fa.fa-bars {
    top: 0 !important;
    transform: none !important;
  }
}/* Gift card popup text - all 3 promotions */
[id^="promotion"].promotion-item__popup,
[id^="promotion"].promotion-item__popup .modal-dialog,
[id^="promotion"].promotion-item__popup .full-info,
[id^="promotion"].promotion-item__popup .tab-pd,
[id^="promotion"].promotion-item__popup .txt,
[id^="promotion"].promotion-item__popup .txt *,
[id^="promotion"].promotion-item__popup .item-info-bar,
[id^="promotion"].promotion-item__popup .item-info-bar *,
[id^="promotion"].promotion-item__popup .info-bar--item-name,
[id^="promotion"].promotion-item__popup .info-bar--item-name--val,
[id^="promotion"].promotion-item__popup .promotion-data,
[id^="promotion"].promotion-item__popup .promotion-data *,
[id^="promotion"].promotion-item__popup p,
[id^="promotion"].promotion-item__popup span,
[id^="promotion"].promotion-item__popup div,
[id^="promotion"].promotion-item__popup time,
[id^="promotion"].promotion-item__popup strong,
[id^="promotion"].promotion-item__popup b,
[id^="promotion"].promotion-item__popup li {
    color: #000 !important;
}

/* Keep links readable too */
[id^="promotion"].promotion-item__popup a,
[id^="promotion"].promotion-item__popup a * {
    color: #000 !important;
}

/* Optional: if popup background is white/light, make sure labels are black too */
[id^="promotion"].promotion-item__popup .cap,
[id^="promotion"].promotion-item__popup .cap *,
[id^="promotion"].promotion-item__popup h1,
[id^="promotion"].promotion-item__popup h2,
[id^="promotion"].promotion-item__popup h3,
[id^="promotion"].promotion-item__popup h4 {
    color: #000 !important;
}/* Remove grey line / border around gift card images */
.promotion-item .promotion-item__picture__custom-image,
.promotion-item .promotion-item__picture__custom-image a,
.promotion-item .promotion-item__picture__custom-image .user_img,
.promotion-item .promotion-item__picture__custom-image img,
.promotion-item .promotion-item__picture__custom-image img.user-img,
.promotion-item .excerpt-info,
.promotion-item .tab {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Remove any image default spacing that can look like a line */
.promotion-item .promotion-item__picture__custom-image img,
.promotion-item .promotion-item__picture__custom-image img.user-img {
    display: block !important;
}/* Remove the grey divider line on gift card cards */
.promotion-item .tab,
.promotion-item .tab.tab-col,
.promotion-item .tab.tab-col.tab-with-popup,
.promotion-item .excerpt-info,
.promotion-item .preloader,
.promotion-item .promotion-item__picture__custom-image,
.promotion-item .promotion-item__picture__custom-image a,
.promotion-item .promotion-item__picture__custom-image .user_img {
    border: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Make sure image sits cleanly with no inline gap */
.promotion-item .promotion-item__picture__custom-image img,
.promotion-item .preloader .img.user img,
.promotion-item img.user-img {
    display: block !important;
    border: none !important;
    box-shadow: none !important;
}



