@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* Variables */
:root {
  --color-body: #2d2e2f;
  --color-heading: #221b3f;
  --color-button: #221B3F;
  --color-hover: #221B3F;
  --color-background: #ffffff;
  --font-body: "Montserrat", sans-serif;
  --font-heading: "Bodoni Moda", serif;
  --font-subtitle: "Montserrat", sans-serif;
  --font-button: "Montserrat", sans-serif;
}

/* Transparent Plugin Elements */
.TourPage-About, .Plugins-TourPage-GlanceWrapper, .grid.tour-page #booking-container, #request-booking-mobile, .ar-radio-item {
  background: transparent !important;
}

.CheckoutSection .row label {
  color: var(--color-body) !important;
}

/* Typography */
body {
  color: var(--color-body) !important;
  font-family: var(--font-body) !important;
  font-weight: normal !important;
  font-style: normal;
  background: var(--color-background);
}

.BookingRequest-Addons .BookingRequest-Addons-addon .name, .BookingRequest-Addons .BookingRequest-Addons-addon .description, .BookingRequest-Addons .BookingRequest-Addons-addon .price, .tour-description, .tour-dates-available, .book-tour-details, .TourPage-About-description, .TourPage-BookingDetails,
.TourPage-BookingDetails .BookingRequest-form .ui.dropdown .text.default, .CheckoutSummary-ContentBox table td, .css-lkdkks {
  color: var(--color-body) !important;
}

h1, h2, h3, h4, h5, h6, .infoPanel .tourName {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: var(--color-heading) !important;
  text-transform: uppercase !important;
}

.tour-tagline, .TourPage-About-tagline {
  color: var(--color-heading) !important;
}

.tour-title, .TourPage-About-title {
  font-size: 32px !important;
  line-height: 1.1 !important;
}

/* Subtitle Font Settings */
.tour-tagline, .TourPage-About-tagline {
  font-family: var(--font-subtitle) !important;
}

.TourPage-About-description a, .contains-brand-link a {
  text-decoration: underline !important;
}

/* Buttons */
.button, .ui.anygreen.button, .TourPage-ContactGuide-submit-button.ui.large.button,
#request-booking-mobile .ui.button, .ConfirmationContainer .ButtonContainer .ui.button,
.CheckoutNavigationController button.BookingRequest-submit, [data-testid="update-email-btn"],
.rescheduleModal .modalActions .submitButton, .contactModal .modalActions .submitButton, .ConfirmationDefault .GoGAdditionalInfoButton, [data-testid="apply-filter"] {
  font-family: var(--font-button) !important;
  font-weight: 700 !important;
  background: var(--color-button) !important;
  border-radius: 0px !important;
  transition: all 0.4s ease !important;
  text-transform: uppercase !important;
  border: 1px solid var(--color-button) !important;
}

.button:hover, .ui.anygreen.button:hover, .TourPage-ContactGuide-submit-button.ui.large.button:hover,
.ConfirmationContainer .ButtonContainer .ui.button:hover, .CheckoutNavigationController button.BookingRequest-submit:hover, .ConfirmationDefault .GoGAdditionalInfoButton:hover, .rescheduleModal .modalActions .submitButton:hover, .contactModal .modalActions .submitButton:hover, [data-testid="apply-filter"]:hover {
  color: #221B3F !important;
  background: transparent !important;
  border: 1px solid var(--color-button) !important;
}
/* Secondary Buttons */
.ui.basic.button, .DiscountCodeContainer .DiscountCode-Input .ui.button,
[data-testid="dont-cancel-btn"], .ModifyBooking .ModifyBooking-Column.left .actionButtons .rescheduleButton,
.ModifyBooking .ModifyBooking-Column.left .actionButtons .contactButton,
.TourPage-ContactGuide-link.ui.basic.button {
  font-family: var(--font-button) !important;
  font-weight: 700 !important;
  color: var(--color-button) !important;
  background: transparent !important;
  border-radius: 0px !important;
  transition: all 0.4s ease !important;
  text-transform: uppercase !important;
  border: 1px solid var(--color-button) !important;
}

.ui.basic.button:hover, .DiscountCodeContainer .DiscountCode-Input .ui.button:hover,
[data-testid="dont-cancel-btn"]:hover, .ModifyBooking .ModifyBooking-Column.left .actionButtons .rescheduleButton:hover,
.ModifyBooking .ModifyBooking-Column.left .actionButtons .contactButton:hover,
.TourPage-ContactGuide-link.ui.basic.button:hover {
  color: #ffffff !important;
  background: #221B3F !important;
  border: 1px solid #221B3F !important;
}

/* Advanced CSS - Discount Code Button Height Fix */
.DiscountCodeContainer .DiscountCode-Input .ui.button {
  height: 47px !important;
}

/* Lists */
li {
  background: var(--color-background) !important;
}

/* Mobile Styles */
@media (max-width: 600px) {
  .tour-title, .TourPage-About-title {
    font-size: 24px !important;
  }
}

/* Advanced CSS - Plugin Margin Fix */
#plugins-wrapper>div.ui.equal.height.grid.stackable.tour-page {
  margin-top: 14px !important;
}

/* Advanced CSS - Contact Guide Button Alignment Fix */
.TourPage-ContactGuide-link.ui.basic.button .ContactGuide-link-text {
  display: inline !important;
}

/* Advanced CSS - Mobile Checkout Title Color Fix */
.MobileCheckout-CoverPhoto span.text .title .name {
  color: #ffffff !important;
}

.TourPage-ContactGuide .TourPage-ContactGuide-link.brand-button-color:hover .icon,
.TourPage-ContactGuide .TourPage-ContactGuide-link.brand-button-color:hover .ContactGuide-link-text {
  color: #ffffff !important;
}
