/* ==========================================================================
   GLOBAL LAYOUT HELPERS
   ========================================================================== */

.default-container {
    width: 80% !important;
    max-width: 1088px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.default-padding {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

.content-center-column
{
    display:flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items:center !important;
}

.content-center-row
{
display:flex !important;
   flex-direction: row !important;
  justify-content: center !important;
  align-items:center !important;
}

/* Menu */

.header
{
    background-color:#012C61;
     display:flex !important;
   flex-direction: row !important;
  justify-content: space-between !important;
  align-items:center !important;
    position:sticky !important;
    top:0 !important;
    z-index:99;
}

.menu-container
{
    display:flex !important;
   flex-direction: row !important;
  justify-content: space-between !important;
  align-items:center !important;
}

/* Slide containing the centred video overlay */
.bde-advancedslide:has(.video-overlay-center) {
  position: relative !important;
}

/* home slider blue border border radius */
.home-slider-blue .n2-ss-layer-col {
	border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
}

/* 812px container centred over the video */
.video-overlay-center {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 10 !important;

  width: min(812px, calc(100% - 40px)) !important;
  margin: 0 !important;

  transform: translate(-50%, -50%) !important;
}
.content-bottom
{
    display:flex !important;
flex-direction: column !important;
justify-content: flex-end !important;
}

/* Make every card full height */
.whatson-col,
.whatson-col > .bde-column {
  height: 100% !important;
}

/* ==================================================
   EQUAL-HEIGHT CARDS WITH ALIGNED BUTTONS
================================================== */

/* Entire repeated Component */
.weekend-made-easy-repeater .whatson-container {
  width: 100% !important;
  height: 100% !important;
}

/* Four inner columns:
   1. Image
   2. Heading/content — expands
   3. Nights/price
   4. Button
*/
.weekend-made-easy-repeater .whatson-col {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows:
    auto
    minmax(0, 1fr)
    auto
    auto !important;

  width: 100% !important;
  height: 100% !important;
  align-items: stretch !important;
}

/* Nights and price column */
.weekend-made-easy-repeater .whatson-items {
  align-self: end !important;
}

/* Button column */
.weekend-made-easy-repeater .whatson-button {
  align-self: end !important;

  width: 100% !important;
  margin-top: 0 !important;
}

/* Actual button */
.weekend-made-easy-repeater .whatson-button .button-atom {
  width: 100% !important;
}

/* Custom Tripadvisor icon */
.tripadvisor-custom-icon {
  display: inline-block !important;
  width: 1em !important;
  height: 1em !important;

  background-color: currentColor !important;

  -webkit-mask: url("https://cdn.simpleicons.org/tripadvisor") center / contain no-repeat;
  mask: url("https://cdn.simpleicons.org/tripadvisor") center / contain no-repeat;

  vertical-align: -0.125em !important;
}


/* All footer links, including links generated by repeaters */
.footer-information a {
  transition: color 0.3s ease !important;
}

.footer-information a:hover,
.footer-information a:hover div,
.footer-information a:hover i,
.footer-information a:hover p,
.footer-information a:focus-visible,
.footer-information a:focus-visible span,
.footer-information a:focus-visible i {
  color: #00C0E0 !important;
}

/* Icons inside repeated links */
.footer-information a:hover svg,
.footer-information a:focus-visible svg {
  color: #00C0E0 !important;
  fill: currentColor !important;
}

/* Keep mobile header above Smart Slider */
.mobile-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  overflow: visible !important;
}

/* Keep Breakdance off-canvas elements above everything */
.mobile-header .breakdance-menu {
  --bde-z-index-menu-backdrop: 99998 !important;
  --bde-z-index-menu-mobile: 99999 !important;
}

/* Opened menu panel */
.mobile-header .breakdance-menu-list {
  background-color: #001939 !important;
  z-index: 99999 !important;
}

/* Force the open state above the page */
.mobile-header
  .breakdance-menu--offcanvas.breakdance-responsive-menu--open
  .breakdance-menu-list {
  visibility: visible !important;
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

/* Menu background — use artwork directly */
/* Blue background with pattern overlaid */
.mobile-header .breakdance-menu-list {
  background-color: #001939 !important;

  background-image:
    linear-gradient(
      rgba(0, 25, 57, 0.78),
      rgba(0, 25, 57, 0.78)
    ),
    url("https://greatlake.overtake.co.nz/wp-content/uploads/2026/08/Pattern-Great-lake.png") !important;

  background-position:
    center,
    center top !important;

  background-size:
    cover,
    cover !important;

  background-repeat:
    no-repeat,
    no-repeat !important;

  background-blend-mode:
    normal,
    screen !important;
}

/* Keep the top logo bar solid */
.mobile-header .breakdance-menu-topbar {
  background: #012C61 !important;
}

/* Dropdown areas must remain transparent */
.mobile-header .breakdance-dropdown-floater,
.mobile-header .breakdance-dropdown-body,
.mobile-header .breakdance-dropdown-section,
.mobile-header .breakdance-dropdown-links {
  background: transparent !important;
}

/* ==========================================================================
   BOAT COMPARISON – CARD ALIGNMENT

   Classes:
   .boat-comparison-grid
   .boat-card-slot
   .boat-card-shell
   .boat-card
   .boat-card__top
   .boat-card__image-area
   .boat-card__content
   .boat-card__text-container
   .boat-card__intro
   .boat-card__features
   .boat-card__feature
   .boat-card__footer-wrap
   .boat-card__footer
   ========================================================================== */

/* Make both outer columns stretch equally */
.boat-comparison-grid {
    align-items: stretch !important;
}

/* Card slots */
.boat-card-slot {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    min-width: 0 !important;
}

/* Inner Columns elements */
.boat-card-shell {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 100% !important;
}

/* Main white card */
.boat-card {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
}

/* Top coloured section */
.boat-card__top {
    flex: 0 0 auto !important;
    width: 100% !important;
}

/* Image section */
.boat-card__image-area {
    flex: 0 0 auto !important;
    width: 100% !important;
}

/* Main text section */
.boat-card__content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-height: 0 !important;
}

/* Description and feature-list wrapper */
.boat-card__text-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
}

/* Introductory description */
.boat-card__intro {
    width: 100% !important;
}

/* Remove unwanted final paragraph spacing */
.boat-card__intro > :first-child {
    margin-top: 0 !important;
}

.boat-card__intro > :last-child {
    margin-bottom: 0 !important;
}

/* Nested feature repeater */
.boat-card__features {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
}

/* Individual repeated feature */
.boat-card__feature {
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Footer wrapper stays at the bottom */
.boat-card__footer-wrap {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    margin-top: auto !important;
}

/* Divider and buttons */
.boat-card__footer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;

    width: 100% !important;
}

/* Prevent Oxygen buttons from stretching */
.boat-card__footer .ct-link,
.boat-card__footer .ct-link-button,
.boat-card__footer a,
.boat-card__footer button {
    flex: 0 0 auto !important;
}

/* ==========================================================================
   MOBILE – REMOVE MATCHED HEIGHTS
   ========================================================================== */

@media (max-width: 767px) {
    .boat-card-slot,
    .boat-card-shell,
    .boat-card {
        height: auto !important;
        min-height: 0 !important;
    }

    .boat-card__top,
    .boat-card__image-area,
    .boat-card__intro,
    .boat-card__feature,
    .boat-card__footer {
        min-height: 0 !important;
        height: auto !important;
    }

    .boat-card__footer {
        gap: 15px !important;
    }
}

/* ==========================================================================
   VESSEL SPECIFICATIONS TABLE

   Section:
   .specs-section
   .specs-intro
   .specs-kicker
   .specs-heading
   .specs-text

   Table:
   .specs-container
   .specs-scroll
   .specs-table
   .specs-header
   .specs-title

   Boat headings:
   .boat-header
   .boat-one
   .boat-two
   .boat-name
   .boat-tag

   Repeater:
   .specs-repeater
   .specs-row
   .feature-cell
   .feature-icon
   .feature-name
   .value-cell
   .value-one
   .value-two
   .spec-value
   .spec-value--normal
   .spec-value--accent
   .spec-value--muted
   ========================================================================== */

/* ==========================================================================
   1. SECTION
   ========================================================================== */

.specs-section {
    width: 100% !important;
    padding: 70px 20px 75px !important;
    overflow: hidden;

    background-color: #022b55;
    background-position: center center;
    background-repeat: repeat;
    background-size: auto;
}

/* ==========================================================================
   2. SECTION INTRODUCTION
   ========================================================================== */

.specs-intro {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 1000px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    text-align: center;
}

.specs-kicker {
    margin: 0 0 7px !important;
    padding: 0 !important;

    color: #00c4d3 !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.specs-heading {
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: clamp(35px, 3vw, 45px);
    font-weight: 500;
    line-height: 1.1;
    text-align: center;
}

.specs-text {
    margin: 13px 0 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    text-align: center;
}

/* ==========================================================================
   3. TABLE CONTAINER
   ========================================================================== */

.specs-container {
    width: 100% !important;
    max-width: 1366px !important;

    margin: 36px auto 0 !important;
    padding: 0 !important;
}

.specs-scroll {
    width: 100% !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    border-radius: 8px;
    box-shadow: 0 5px 18px rgba(0, 16, 38, 0.2);

    -webkit-overflow-scrolling: touch;
}

/* ==========================================================================
   4. TABLE
   ========================================================================== */

.specs-table {
    width: 100% !important;
    min-width: 900px;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    border-radius: 8px;
}

/* ==========================================================================
   5. TABLE HEADER
   ========================================================================== */

.specs-header {
    display: grid !important;
    grid-template-columns: 28% 35% 37% !important;
    align-items: stretch !important;

    width: 100% !important;
    min-height: 58px;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff;
    border-bottom: 1px solid #dddddd;
}

.specs-title {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 13px 21px !important;

    color: #2a2a2a !important;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.1;

    border-right: 1px solid #dddddd;
}

.boat-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 12px 27px !important;

    border-right: 1px solid #dddddd;
}

.boat-header:last-child {
    border-right: 0;
}

.boat-name {
    margin: 0 !important;
    padding: 0 !important;

    font-size: 26px;
    font-weight: 500;
    line-height: 1.1;
}

.boat-one .boat-name {
    color: #28676a !important;
}

.boat-two .boat-name {
    color: #04356b !important;
}

/* Boat badges */
.boat-tag {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;

    width: fit-content !important;
    min-width: 62px;
    min-height: 23px;

    margin: 0 !important;
    padding: 5px 13px !important;

    color: #ffffff !important;
    border-radius: 50px;

    font-size: 10px;
    font-weight: 500;
    line-height: 1;
}

.boat-one .boat-tag {
    background-color: #28676a !important;
}

.boat-two .boat-tag {
    background-color: #04356b !important;
}

/* ==========================================================================
   6. OXYGEN REPEATER RESET
   ========================================================================== */

.specs-repeater {
    display: block !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.specs-repeater .bde-loop,
.specs-repeater .bde-loop-grid,
.specs-repeater .bde-dynamic-repeater {
    display: block !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.specs-repeater article,
.specs-repeater .bde-loop-item,
.specs-repeater .bde-dynamic-repeater-item {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   7. SPECIFICATION ROW
   ========================================================================== */

.specs-row {
    display: grid !important;
    grid-template-columns: 28% 35% 37% !important;
    align-items: stretch !important;

    width: 100% !important;
    min-height: 38px;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff;
    border-bottom: 1px solid #dddddd;
}

.specs-repeater article:last-child .specs-row {
    border-bottom: 0;
}

/* ==========================================================================
   8. FEATURE CELL
   ========================================================================== */

.feature-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 9px 25px !important;

    border-right: 1px solid #dddddd;
}

.feature-icon {
    display: block !important;
    flex: 0 0 16px !important;

    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center !important;

    filter: grayscale(1);
    opacity: 0.65;
}

.feature-name {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #292929 !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
}

/* ==========================================================================
   9. VALUE CELLS
   ========================================================================== */

.value-cell {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 11px 27px !important;

    border-right: 1px solid #dddddd;
}

.value-two {
    border-right: 0;
}

/* Oxygen Code Block wrapper */
.value-cell .bde-code-block,
.value-cell .ct-code-block {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.spec-value {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 16px;
    line-height: 1.35;
}

/* Normal ACF style */
.spec-value--normal {
    color: #333333 !important;
    font-weight: 400;
}

/* Boat 1 accent */
.value-one .spec-value--accent {
    color: #28676a !important;
    font-weight: 700;
}

/* Boat 2 accent */
.value-two .spec-value--accent {
    color: #04356b !important;
    font-weight: 700;
}

/* Muted/unavailable */
.spec-value--muted {
    color: #b9b9b9 !important;
    font-weight: 400;
}

/* ==========================================================================
   10. TABLET
   ========================================================================== */

@media (max-width: 1024px) {
    .specs-section {
        padding: 60px 20px 65px !important;
    }

    .specs-heading {
        font-size: 38px;
    }

    .specs-container {
        margin-top: 32px !important;
    }
	
	/* home slider blue border no border radius */
	.home-slider-blue .n2-ss-layer-col {
		border-bottom-right-radius: 0px;
    	border-bottom-left-radius: 0px;
	}
	
	/*homepage slider overlay */
	.content-center-row .n2-ss-layer-row {
    	border-radius: 0 !important;
	}
}

/* ==========================================================================
   11. MOBILE
   Table scrolls sideways to preserve the comparison layout
   ========================================================================== */

@media (max-width: 767px) {
    .specs-section {
        padding: 45px 15px 50px !important;
    }

    .specs-kicker {
        font-size: 12px;
        letter-spacing: 1.5px;
    }

    .specs-heading {
        font-size: 31px;
    }

    .specs-text {
        margin-top: 11px !important;
        font-size: 14px;
    }

    .specs-container {
        margin-top: 27px !important;
    }

    .specs-table {
        min-width: 800px;
    }

    .specs-header,
    .specs-row {
        grid-template-columns: 225px 280px 295px !important;
    }

    .specs-title {
        padding: 12px 18px !important;
        font-size: 22px;
    }

    .boat-header {
        padding: 11px 20px !important;
    }

    .boat-name {
        font-size: 23px;
    }

    .feature-cell {
        padding: 9px 18px !important;
    }

    .value-cell {
        padding: 9px 20px !important;
    }
	.default-container
	{
		width:90% !important;
	}
	
	/* footer CTA overlay on mobile only */
	.cta-footer .section-background-overlay {
		background: linear-gradient(#012C61, #012C6100 70%);
	}
	
	.cta-footer .book-your-lake-container {
		z-index: 1;
	}
}

/* ==========================================================================
   12. SMALL MOBILE
   ========================================================================== */

@media (max-width: 479px) {
    .specs-section {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .specs-heading {
        font-size: 28px;
    }
}

/* ==========================================================================
   EXPERIENCE HIGHLIGHTS
   ========================================================================== */

/* Main section */
.experience-highlights {
    width: 100% !important;

}

.experience-highlights > .default-container {
    width: 100% !important;
    max-width: 1366px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* ==========================================================================
   INTRO
   ========================================================================== */

.experience-intro {
    width: 100% !important;
    margin: 0 auto 34px !important;
    align-items: center !important;
    text-align: center !important;
}

.experience-kicker {
    width: 100% !important;
    margin: 0 0 8px !important;
    color: #00afcb !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.experience-title {
    width: 100% !important;
    margin: 0 !important;
    color: #04356c !important;
    font-size: 55px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.experience-text {
    width: 100% !important;
    max-width: 760px !important;
    margin: 10px auto 0 !important;
    color: #424242 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

.experience-text p {
    margin: 0 !important;
}

/* ==========================================================================
   TABS REPEATER
   Actual structure:
   .tabs-repeater
      > .bde-loop
         > article.bde-loop-item
            > .exp-tab
   ========================================================================== */

.tabs-repeater {
    width: 100% !important;
    margin: 0 0 36px !important;
}

/* This is the actual tab row */
.tabs-repeater > .bde-loop {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;
}

/* Remove sizing imposed on repeated articles */
.tabs-repeater .bde-loop-item {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Clickable tab */
.tabs-repeater .exp-tab {
    display: inline-flex !important;
    flex-direction: row !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 35px !important;
    max-width: none !important;
    padding: 8px 18px !important;

    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;

    border: 1px solid #ddd8d0 !important;
    border-radius: 999px !important;
    background-color: #ffffff !important;
    box-shadow: none !important;

    color: #242424 !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    cursor: pointer !important;

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease !important;
}

/* Tab text */
.tabs-repeater .tab-text {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* Tab icon */
.tabs-repeater .tab-icon {
    display: block !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

/* Hover */
.tabs-repeater .exp-tab:hover {
    border-color: #043b76 !important;
    background-color: #043b76 !important;
    color: #ffffff !important;
}

/* Active tab */
.tabs-repeater .exp-tab.is-active,
.tabs-repeater .exp-tab.active,
.tabs-repeater .exp-tab[aria-selected="true"] {
    border-color: #043b76 !important;
    background-color: #043b76 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   PANELS REPEATER
   Actual structure:
   .panels-repeater
      > .bde-loop
         > article.bde-loop-item
            > .exp-panel
   ========================================================================== */

.panels-repeater {
    display: block !important;
    width: 100% !important;
}

.panels-repeater > .bde-loop {
    display: block !important;
    width: 100% !important;
}

.panels-repeater .bde-loop-item {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.panels-repeater .exp-panel {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Supports JS using the hidden attribute */
.panels-repeater .exp-panel[hidden],
.panels-repeater .bde-loop-item[hidden] {
    display: none !important;
}

/* ==========================================================================
   CARDS GRID
   ========================================================================== */

.cards-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 18px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   EXPERIENCE CARDS
   ========================================================================== */

.exp-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    padding: 20px 21px 23px !important;

    border: 1px solid #d8d3cc !important;
    border-radius: 7px !important;
    background-color: #ffffff !important;
    box-shadow: none !important;

    overflow: hidden !important;
}

/* ==========================================================================
   CARD HEADER
   ========================================================================== */

.exp-card-head {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    min-height: 35px !important;
    margin: 0 0 20px !important;

    justify-content: space-between !important;
    align-items: center !important;
    gap: 15px !important;
}

.exp-boat-name {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #04356c !important;
    font-size: 29px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
}

/* 38 South */
.exp-card-one .exp-boat-name {
    color: #286d71 !important;
}

/* Loloma */
.exp-card-two .exp-boat-name {
    color: #04356c !important;
}

/* ==========================================================================
   BOAT TAGS
   ========================================================================== */

.exp-boat-tag {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 28px !important;
    max-width: none !important;
    padding: 6px 15px !important;

    justify-content: center !important;
    align-items: center !important;

    border-radius: 999px !important;

    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.1px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* 38 South tag */
.exp-card-one .exp-boat-tag {
    background-color: #dff3f2 !important;
    color: #24636a !important;
}

/* Loloma tag */
.exp-card-two .exp-boat-tag {
    background-color: #dce9f8 !important;
    color: #043b76 !important;
}

/* ==========================================================================
   CARD IMAGES
   ========================================================================== */

.exp-card-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2.5 / 1 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    border-radius: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* ==========================================================================
   CARD CONTENT
   ========================================================================== */

.exp-card-title {
    width: 100% !important;
    margin: 20px 0 9px !important;
    padding: 0 !important;

    color: #222222 !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

.exp-card-text {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #555555 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.exp-card-text p {
    margin: 0 !important;
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991px) {

    .experience-highlights {
        padding: 50px 24px 60px !important;
    }

    .experience-title {
        font-size: 36px !important;
    }

    .cards-grid {
        gap: 16px !important;
    }

    .exp-card {
        padding: 18px !important;
    }

    .exp-boat-name {
        font-size: 26px !important;
    }

    .exp-card-image {
        aspect-ratio: 2 / 1 !important;
    }
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .experience-highlights {
        padding: 42px 16px 50px !important;
    }

    .experience-intro {
        margin-bottom: 26px !important;
    }

    .experience-kicker {
        font-size: 12px !important;
        letter-spacing: 1.3px !important;
    }

    .experience-title {
        font-size: 31px !important;
        line-height: 1.15 !important;
    }

    .experience-text {
        margin-top: 12px !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    /* Horizontally scrollable tabs */
    .tabs-repeater {
        margin-bottom: 28px !important;
        overflow: hidden !important;
    }

    .tabs-repeater > .bde-loop {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;

        padding: 0 0 6px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .tabs-repeater > .bde-loop::-webkit-scrollbar {
        display: none !important;
    }

    .tabs-repeater .bde-loop-item {
        flex: 0 0 auto !important;
    }

    .tabs-repeater .exp-tab {
        flex: 0 0 auto !important;
        padding: 8px 15px !important;
    }

    .tabs-repeater .tab-text {
        font-size: 12px !important;
    }

    .cards-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    .exp-card {
        padding: 17px !important;
    }

    .exp-card-head {
        margin-bottom: 16px !important;
    }

    .exp-boat-name {
        font-size: 27px !important;
    }

    .exp-boat-tag {
        padding: 6px 12px !important;
        font-size: 9px !important;
    }

    .exp-card-image {
        aspect-ratio: 16 / 8.5 !important;
    }

    .exp-card-title {
        margin-top: 17px !important;
        font-size: 18px !important;
    }

    .exp-card-text {
        font-size: 16px !important;
    }
}

/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 479px) {

    .experience-title {
        font-size: 28px !important;
    }

    .exp-card-head {
        align-items: flex-start !important;
    }

    .exp-boat-name {
        font-size: 25px !important;
    }

    .exp-boat-tag {
        max-width: 135px !important;
        white-space: normal !important;
    }
}

/* ==========================================================================
   EXPERIENCE TAB VISIBILITY
   ========================================================================== */

/* Hide inactive repeater articles */
.panels-repeater > .bde-loop > .bde-loop-item {
    display: none !important;
    width: 100% !important;
}

/* Display only the active article */
.panels-repeater > .bde-loop > .bde-loop-item.is-active {
    display: block !important;
}

/* Panel visibility */
.panels-repeater .exp-panel {
    display: none !important;
    width: 100% !important;
}

.panels-repeater .exp-panel.is-active {
    display: block !important;
}

/* Active tab */
.tabs-repeater .exp-tab.is-active {
    border-color: #043b76 !important;
    background-color: #043b76 !important;
    color: #ffffff !important;
}

/* Make the container behave like a button */
.tabs-repeater .exp-tab {
    user-select: none !important;
    cursor: pointer !important;
}

/* ==========================================================================
   RATES & PACKAGES SECTION

   Classes:
   .rates-section
   .rates-container
   .rates-intro
   .rates-kicker
   .rates-title
   .rates-text
   .packages-repeater
   .package
   .package-badge
   .package-kicker
   .package-title
   .package-text
   .prices-repeater
   .price-row
   .price-info
   .price-info-right
   .boat-name
   .boat-capacity
   .boat-price
   .price-suffix
   .unavailable-note
   .package-button
   ========================================================================== */

/* ==========================================================================
   1. SECTION
   ========================================================================== */

.rates-section {
    position: relative !important;
    width: 100% !important;
    padding: 75px 24px 105px !important;
    background-color: #fbfaf8 !important;
}

.rates-container {
    width: 100% !important;
    max-width: 1366px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* ==========================================================================
   2. INTRO
   ========================================================================== */

.rates-intro {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    width: 100% !important;
    margin: 0 auto 72px !important;
    padding: 0 !important;

    text-align: center !important;
}

.rates-kicker {
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #00b8d4 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

.rates-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #04356c !important;
    font-size: 55px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.rates-text {
    width: 100% !important;
    max-width: 700px !important;
    margin: 11px auto 0 !important;
    padding: 0 !important;

    color: #444444 !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-align: center !important;
}

.rates-text p {
    margin: 0 !important;
}

/* ==========================================================================
   3. PACKAGE REPEATER GRID

   Actual Oxygen structure:
   .packages-repeater
      > .bde-loop
         > article.bde-loop-item
            > component
               > .package
   ========================================================================== */

.packages-repeater {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.packages-repeater > .bde-loop {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 34px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.packages-repeater > .bde-loop > .bde-loop-item {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Make component wrappers fill the repeated article */
.packages-repeater .bde-loop-item > * {
    width: 100% !important;
    height: 100% !important;
}

/* ==========================================================================
   4. PACKAGE CARD
   ========================================================================== */

.package {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 330px !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 24px 21px 21px !important;

    border: 1px solid #d9d4ce !important;
    border-radius: 14px !important;
    background-color: #ffffff !important;
    box-shadow: none !important;

    overflow: visible !important;
}

/* Featured middle card */
.package:has(.package-badge) {
    border: 2px solid #00b8d4 !important;
    padding: 23px 20px 20px !important;
}

/* ==========================================================================
   5. FEATURED BADGE
   ========================================================================== */

.package-badge {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    z-index: 2 !important;

    display: inline-flex !important;
    width: auto !important;
    min-height: 25px !important;
    padding: 5px 14px !important;

    justify-content: center !important;
    align-items: center !important;

    border-radius: 999px !important;
    background-color: #00b8d4 !important;

    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.2px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    transform: translate(-50%, -50%) !important;
}

/* ==========================================================================
   6. PACKAGE HEADINGS
   ========================================================================== */

.package-kicker {
    width: 100% !important;
    margin: 0 0 4px !important;
    padding: 0 !important;

    color: #929292 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

.package-title {
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;

    color: #292929 !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.18 !important;
}

.package-text {
    width: 100% !important;
    min-height: 51px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;

    color: #555555 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.package-text p {
    margin: 0 !important;
}

/* ==========================================================================
   7. NESTED PRICE REPEATER

   Actual Oxygen structure:
   .prices-repeater
      > .bde-loop
         > article.bde-loop-item
            > .price-row
   ========================================================================== */

.prices-repeater {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.prices-repeater > .bde-loop {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.prices-repeater > .bde-loop > .bde-loop-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   8. PRICE ROWS
   ========================================================================== */

.price-row {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 7px 12px !important;

    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;

    border: 1px solid #cde8eb !important;
    border-radius: 8px !important;
    background-color: #eaf8f9 !important;
}

/* Second repeated boat row: Loloma */
.prices-repeater .bde-loop-item:nth-child(2) .price-row {
    border-color: #c9dcef !important;
    background-color: #edf4fc !important;
}

.price-info {
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 1px !important;
}

.price-info-right {
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    flex: 0 0 auto !important;

    justify-content: flex-end !important;
    align-items: baseline !important;
    gap: 3px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   9. PRICE TEXT
   ========================================================================== */

.boat-name {
    margin: 0 !important;
    padding: 0 !important;

    color: #286d71 !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.prices-repeater .bde-loop-item:nth-child(2) .boat-name {
    color: #04356c !important;
}

.boat-capacity {
    margin: 0 !important;
    padding: 0 !important;

    color: #888888 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

.boat-price {
    margin: 0 !important;
    padding: 0 !important;

    color: #286d71 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.prices-repeater .bde-loop-item:nth-child(2) .boat-price {
    color: #04356c !important;
}

.price-suffix {
    margin: 0 !important;
    padding: 0 !important;

    color: #777777 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* ==========================================================================
   10. UNAVAILABLE MESSAGE
   ========================================================================== */

.unavailable-note {
    display: flex !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 8px 0 0 !important;
    padding: 8px 12px !important;

    justify-content: center !important;
    align-items: center !important;

    border: 1px solid #ddd6cf !important;
    border-radius: 8px !important;
    background-color: #faf9f7 !important;

    color: #999999 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

/* ==========================================================================
   11. PACKAGE BUTTON
   ========================================================================== */

.package-button {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 34px !important;
    margin: auto 0 0 !important;
    padding: 8px 15px !important;

    justify-content: center !important;
    align-items: center !important;

    border: 1px solid #ed1535 !important;
    border-radius: 7px !important;
    background-color: transparent !important;

    color: #ed1535 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;

    cursor: pointer !important;

    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}

/* In case Oxygen adds an inner button element */
.package-button .bde-button__button {
    width: 100% !important;
    color: inherit !important;
    background: transparent !important;
}

/* Standard button hover */
.package-button:hover {
    background-color: #ed1535 !important;
    color: #ffffff !important;
}

/* Featured card button */
.package:has(.package-badge) .package-button {
    border-color: #e80026 !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
}

.package:has(.package-badge) .package-button:hover {
    border-color: #ffffff !important;
    background-color: #ffffff !important;
}

/* ==========================================================================
   12. TABLET
   ========================================================================== */

@media (max-width: 991px) {

    .rates-section {
        padding: 65px 24px 80px !important;
    }

    .rates-intro {
        margin-bottom: 55px !important;
    }

    .rates-title {
        font-size: 36px !important;
    }

    .packages-repeater > .bde-loop {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 20px !important;
    }

    .package {
        min-height: 350px !important;
    }
}

/* ==========================================================================
   13. MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .rates-section {
        padding: 50px 16px 60px !important;
    }

    .rates-intro {
        margin-bottom: 42px !important;
    }

    .rates-kicker {
        font-size: 12px !important;
    }

    .rates-title {
        font-size: 31px !important;
        line-height: 1.15 !important;
    }

    .rates-text {
        margin-top: 12px !important;
        font-size: 15px !important;
    }

    .packages-repeater > .bde-loop {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 28px !important;
    }

    .package {
        min-height: 0 !important;
        padding: 24px 20px 20px !important;
    }

    .package:has(.package-badge) {
        padding: 23px 19px 19px !important;
    }

    .package-title {
        font-size: 22px !important;
    }

    .package-text {
        min-height: 0 !important;
        font-size: 16px !important;
    }

    .package-button {
        margin-top: 28px !important;
    }
}

/* ==========================================================================
   14. SMALL MOBILE
   ========================================================================== */

@media (max-width: 479px) {

    .rates-title {
        font-size: 28px !important;
    }

    .price-row {
        gap: 8px !important;
        padding: 8px 10px !important;
    }

    .boat-price {
        font-size: 16px !important;
    }

    .price-suffix {
        font-size: 8px !important;
    }
}

/* ==========================================================================
   RATES SECTION — STRUCTURE CORRECTIONS
   ========================================================================== */

/* Component wrapper */
.package-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* The complete card must fill the component */
.package-card > .package {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
}

/* Ensure nested repeater stays inside card */
.package .prices-repeater {
    display: block !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
}

/* Hide the badge on normal cards */
.packages-repeater > .bde-loop > .bde-loop-item:not(:nth-child(2))
.package-badge {
    display: none !important;
}

/* Only the second card is featured */
.packages-repeater > .bde-loop > .bde-loop-item:nth-child(2)
.package {
    border: 2px solid #00b8d4 !important;
    padding: 23px 20px 20px !important;
}

/* Normal cards */
.packages-repeater > .bde-loop > .bde-loop-item:not(:nth-child(2))
.package {
    border: 1px solid #d9d4ce !important;
}

/* Hide empty notes on the first two cards */
.packages-repeater > .bde-loop > .bde-loop-item:nth-child(1)
.unavailable-note,
.packages-repeater > .bde-loop > .bde-loop-item:nth-child(2)
.unavailable-note {
    display: none !important;
}

/* ==========================================================================
   BUTTON CORRECTION
   The .package-button class is on a wrapper, not the actual button.
   ========================================================================== */

.package .package-button {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: auto 0 0 !important;
    padding: 28px 0 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* Actual Oxygen button */
.package .package-button .bde-button__button {
    display: flex !important;
    width: 100% !important;
    min-height: 34px !important;
    padding: 8px 15px !important;

    justify-content: center !important;
    align-items: center !important;

    border: 1px solid #ed1535 !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #ed1535 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

/* Standard button hover */
.package .package-button .bde-button__button:hover {
    background-color: #ed1535 !important;
    color: #ffffff !important;
}

/* Featured button */
.packages-repeater > .bde-loop > .bde-loop-item:nth-child(2)
.package-button .bde-button__button {
    border-color: #e80026 !important;
    background-color: #e80026 !important;
    color: #ffffff !important;
}

/* Featured button hover */
.packages-repeater > .bde-loop > .bde-loop-item:nth-child(2)
.package-button .bde-button__button:hover {
    border-color: #c90020 !important;
    background-color: #c90020 !important;
}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .package .package-button {
        margin-top: auto !important;
        padding-top: 28px !important;
    }
}

/* ==========================================================================
   CUSTOM ACF ACCORDION

   Classes:
   .custom-accordion-list
   .custom-accordion
   .accordion-question
   .accordion-question-text
   .accordion-icon
   .accordion-icon-lines
   .accordion-icon-line
   .accordion-icon-line--horizontal
   .accordion-icon-line--vertical
   .accordion-answer
   .accordion-answer-content
   .is-open
   ========================================================================== */

/* ==========================================================================
   GENERAL BOX SIZING
   ========================================================================== */

.custom-accordion-list,
.custom-accordion-list *,
.custom-accordion {
    box-sizing: border-box;
}

/* ==========================================================================
   ACCORDION REPEATER
   ========================================================================== */

.custom-accordion-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Repeater-generated item wrappers */
.custom-accordion-list > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   INDIVIDUAL ACCORDION
   ========================================================================== */

.custom-accordion {
    position: relative;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: #ffffff;
    border-radius: 7px;

    overflow: hidden;
}

/* ==========================================================================
   QUESTION ROW
   ========================================================================== */

.accordion-question {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px;

    margin: 0 !important;
    padding: 11px 12px !important;

    color: #063970;
    background-color: #ffffff;

    border: 0;
    outline: none;

    cursor: pointer;
    user-select: none;

    transition: background-color 0.25s ease;
}

/* Optional hover */
.accordion-question:hover {
    background-color: #f7f8fa;
}

/* Keyboard focus */
.accordion-question:focus-visible {
    outline: 2px solid #ef233c;
    outline-offset: -2px;
}

/* ==========================================================================
   QUESTION TEXT
   ========================================================================== */

.accordion-question-text {
    display: block !important;
    flex: 1 1 auto !important;

    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #063970 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;

    overflow-wrap: anywhere;
    word-break: normal;
}

/* Remove paragraph spacing */
.accordion-question-text p {
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================================
   CODE BLOCK ICON
   ========================================================================== */

.accordion-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 18px !important;

    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;

    margin: 0 !important;
    padding: 0 !important;

    pointer-events: none;
}

/* Remove possible Code Block spacing */
.accordion-icon > * {
    margin: 0 !important;
    padding: 0 !important;
}

/* Icon wrapper */
.accordion-icon-lines {
    position: relative;

    display: block;

    width: 14px;
    height: 14px;
}

/* Both icon lines */
.accordion-icon-line {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 12px;
    height: 2px;

    margin: 0;
    padding: 0;

    background-color: #ef233c;
    border-radius: 2px;

    transform-origin: center;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

/* Horizontal line */
.accordion-icon-line--horizontal {
    transform: translate(-50%, -50%);
}

/* Vertical line */
.accordion-icon-line--vertical {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* Change plus to minus when open */
.custom-accordion.is-open .accordion-icon-line--vertical {
    opacity: 0;
    transform:
        translate(-50%, -50%)
        rotate(90deg)
        scaleX(0);
}

/* ==========================================================================
   ANSWER CONTAINER
   ========================================================================== */

.accordion-answer {
    display: grid !important;
    grid-template-rows: 0fr;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 12px !important;

    background-color: #ffffff;

    opacity: 0;
    visibility: hidden;

    transition:
        grid-template-rows 0.3s ease,
        padding 0.3s ease,
        opacity 0.25s ease,
        visibility 0.3s ease;
}

/* ==========================================================================
   ANSWER CONTENT
   ========================================================================== */

.accordion-answer-content {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0;

    margin: 0 !important;
    padding: 0 !important;

    color: #343434 !important;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    text-align: left;

    overflow: hidden;
    overflow-wrap: anywhere;
}

/* Answer paragraphs */
.accordion-answer-content p {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
}

.accordion-answer-content p:last-child {
    margin-bottom: 0 !important;
}

/* Lists inside answers */
.accordion-answer-content ul,
.accordion-answer-content ol {
    margin-top: 8px !important;
    margin-bottom: 10px !important;
    padding-left: 20px !important;
}

.accordion-answer-content li {
    margin-bottom: 5px;
}

.accordion-answer-content li:last-child {
    margin-bottom: 0;
}

/* Links inside answers */
.accordion-answer-content a {
    color: #063970;
    text-decoration: underline;
}

/* ==========================================================================
   OPEN STATE
   ========================================================================== */

.custom-accordion.is-open .accordion-answer {
    grid-template-rows: 1fr;

    padding: 12px 20px !important;

    opacity: 1;
    visibility: visible;
}

/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991px) {

    .custom-accordion-list {
        gap: 7px !important;
    }

    .accordion-question {
        min-height: 44px;
        gap: 18px !important;

        padding: 11px 13px !important;
    }

    .accordion-question-text {
        font-size: 14px;
        line-height: 1.35;
    }

    .custom-accordion.is-open .accordion-answer {
        padding: 0 13px 13px !important;
    }

    .accordion-answer-content {
        font-size: 16px;
        line-height: 1.5;
    }

}

/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .custom-accordion-list {
        gap: 7px !important;
    }

    .accordion-question {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;

        min-height: 44px;
        gap: 14px !important;

        padding: 11px 12px !important;
    }

    .accordion-question-text {
        flex: 1 1 auto !important;

        font-size: 16px;
        line-height: 1.35;
    }

    .accordion-icon {
        flex: 0 0 18px !important;

        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
    }

    .custom-accordion.is-open .accordion-answer {
        padding: 0 12px 12px !important;
    }

    .accordion-answer-content {
        font-size: 16px;
        line-height: 1.5;
    }

}

/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 479px) {

    .custom-accordion-list {
        gap: 6px !important;
    }

    .custom-accordion {
        border-radius: 6px;
    }

    .accordion-question {
        min-height: 42px;
        gap: 12px !important;

        padding: 10px 11px !important;
    }

    .accordion-question-text {
        font-size: 12.5px;
        line-height: 1.35;
    }

    .accordion-icon {
        flex: 0 0 16px !important;

        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
    }

    .accordion-icon-lines {
        width: 13px;
        height: 13px;
    }

    .accordion-icon-line {
        width: 11px;
    }

    .custom-accordion.is-open .accordion-answer {
        padding: 0 11px 11px !important;
    }

    .accordion-answer-content {
        font-size: 12.5px;
        line-height: 1.5;
    }

}

/* ==========================================================================
   REDUCED MOTION ACCESSIBILITY
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

    .accordion-question,
    .accordion-answer,
    .accordion-icon-line {
        transition: none !important;
    }

}

/* ==========================================================================
   GREAT LAKE EXPERIENCE FILTER GRID

   Main section:       .gla-experiences
   Inner container:    .exp-wrap
   Filters wrapper:    .exp-filters
   Filter button:      .exp-filter
   Post Loop Builder:  .exp-grid
   Card wrapper:       .gla-exp-card
   ========================================================================== */


/* ==========================================================================
   SECTION
   ========================================================================== */

.gla-experiences {
    width: 100%;
    padding: 10px 0 90px !important;
    background-color: #f5f1e9;
}

.gla-experiences .exp-wrap {
    width: 80% !important;
    max-width: 1088px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}


/* ==========================================================================
   FILTER BUTTONS
   ========================================================================== */

.gla-experiences .exp-filters {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 0 0 68px !important;
    padding: 0 !important;
}

.gla-experiences .exp-filter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;

    width: auto !important;
    min-height: 32px !important;

    margin: 0 !important;
    padding: 7px 16px !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    color: #252525 !important;
    background-color: #ffffff !important;
    border: 1px solid #d7d3cc !important;
    border-radius: 999px !important;

    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;

    cursor: pointer !important;

    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease !important;
}

.gla-experiences .exp-filter:hover,
.gla-experiences .exp-filter:focus-visible {
    color: #ed1c24 !important;
    background-color: #ffffff !important;
    border-color: #ed1c24 !important;
}

.gla-experiences .exp-filter.is-active {
    color: #ed1c24 !important;
    background-color: #ffffff !important;
    border-color: #ed1c24 !important;
}

.gla-experiences .exp-filter:focus-visible {
    outline: 2px solid rgba(237, 28, 36, 0.22) !important;
    outline-offset: 3px !important;
}


/* ==========================================================================
   POST LOOP GRID
   ========================================================================== */

.gla-experiences .exp-grid {
    width: 100% !important;
    max-width: 100% !important;
}

.gla-experiences .exp-grid .ee-posts,
.gla-experiences .exp-grid > .bde-loop {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 25px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.gla-experiences .exp-grid .ee-post,
.gla-experiences .exp-grid .bde-loop-item {
    display: flex !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}

.gla-experiences .exp-grid .ee-post.is-hidden,
.gla-experiences .exp-grid .bde-loop-item.is-hidden {
    display: none !important;
}


/* ==========================================================================
   EXPERIENCE CARD
   ========================================================================== */

.gla-experiences .gla-exp-card {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background-color: #ffffff !important;
    border: 1px solid #d9d6cf !important;
    border-radius: 8px !important;
}


/* ==========================================================================
   CARD IMAGE
   ========================================================================== */

.gla-experiences .exp-media {
    position: relative;

    display: block !important;

    width: 100% !important;
    height: 192px !important;
    min-height: 192px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

.gla-experiences .exp-image {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.gla-experiences .exp-image picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.gla-experiences .exp-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit: cover !important;
    object-position: center !important;

    transition: transform 0.4s ease !important;
}

.gla-experiences .gla-exp-card:hover .exp-image img {
    transform: scale(1.035);
}


/* ==========================================================================
   LABELS OVER THE IMAGE
   ========================================================================== */

.gla-experiences .exp-tags-code,
.gla-experiences .exp-tags {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    pointer-events: none !important;
}


/* White availability label */

.gla-experiences .exp-availability {
    position: absolute;
    top: 14px;
    left: 14px;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 27px !important;

    padding: 6px 13px !important;

    color: #282828 !important;
    background-color: #ffffff !important;
    border-radius: 999px !important;

    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}


/* Vessel badge container */

.gla-experiences .exp-vessels {
    position: absolute;
    bottom: 14px;
    left: 14px;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}


/* Individual vessel badge */

.gla-experiences .exp-vessel {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;

    width: auto !important;
    min-height: 21px !important;

    margin: 0 !important;
    padding: 4px 9px !important;

    color: #ffffff !important;
    border-radius: 999px !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.gla-experiences .exp-vessel--south {
    background-color: #397e80 !important;
}

.gla-experiences .exp-vessel--loloma {
    background-color: #003b73 !important;
}

.gla-experiences .exp-check {
    display: inline-block !important;
    font-size: 10px !important;
    line-height: 1 !important;
}


/* ==========================================================================
   CARD CONTENT
   ========================================================================== */

.gla-experiences .exp-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 20px 20px 20px !important;
}

.gla-experiences .exp-title {
    order: 1;

    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;

    color: #252526 !important;

    font-size: 24px !important;
    font-weight: 500 !important;

}

.gla-experiences .exp-description {
    order: 2;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #565656 !important;

    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.gla-experiences .exp-description p {
    margin: 0 !important;
}


/* Divider above the Explore link */

/* Divider above the Explore link */

.gla-experiences .exp-divider {
    order: 3;

    display: block !important;
    flex: 0 0 auto !important;

    width: 100% !important;
    height: 29px !important;
    min-height: 29px !important;

    margin: auto 0 16px !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #d9d6cf !important;
}


/* ==========================================================================
   CARD LINK
   ========================================================================== */

.gla-experiences .exp-link {
    order: 4;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;

    width: fit-content !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ed1c24 !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
}

.gla-experiences .exp-link::after {
    content: "→";

    display: inline-block;

    font-size: 16px;
    line-height: 1;

    transition: transform 0.2s ease;
}

.gla-experiences .exp-link:hover,
.gla-experiences .exp-link:focus-visible {
    color: #ed1c24 !important;
    text-decoration: none !important;
}

.gla-experiences .exp-link:hover::after,
.gla-experiences .exp-link:focus-visible::after {
    transform: translateX(4px);
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 991px) {

    .gla-experiences .exp-wrap {
        width: min(100% - 40px, 760px) !important;
    }

    .gla-experiences .exp-grid .ee-posts,
    .gla-experiences .exp-grid > .bde-loop {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767px) {

    .gla-experiences {
        padding: 20px 0 60px !important;
    }

    .gla-experiences .exp-wrap {
        width: calc(100% - 30px) !important;
    }

    /* Two centred rows of filters */

    .gla-experiences .exp-filters {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px 8px !important;

        width: 100% !important;

        margin: 0 0 38px !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    .gla-experiences .exp-filter {
        flex: 0 0 auto !important;

        min-height: 30px !important;
        padding: 7px 13px !important;

        font-size: 12px !important;
    }

    /* Hide any old arrow controls */

    .gla-experiences .exp-filter-arrows,
    .gla-experiences .exp-filter-arrow {
        display: none !important;
    }

    .gla-experiences .exp-grid .ee-posts,
    .gla-experiences .exp-grid > .bde-loop {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    .gla-experiences .exp-media {
        height: 210px !important;
        min-height: 210px !important;
    }

    .gla-experiences .exp-title {
        font-size: 22px !important;
    }

    .gla-experiences .exp-description {
        font-size: 16px !important;
    }

    .gla-experiences .exp-link {
        font-size: 16px !important;
    }

}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 359px) {

    .gla-experiences .exp-wrap {
        width: calc(100% - 20px) !important;
    }

    .gla-experiences .exp-filters {
        gap: 8px 6px !important;
    }

    .gla-experiences .exp-filter {
        padding-right: 10px !important;
        padding-left: 10px !important;
        font-size: 11px !important;
    }

}

/* ==========================================================================
   GREAT LAKE — ROOM CARDS
   ========================================================================== */

.rooms-section {
    width: 100% !important;


}

.rooms-container {
    width: 100% !important;
    max-width: 1088px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.rooms-repeater {
    display: flex !important;
    flex-direction: column !important;
    gap: 48px !important;
    width: 100% !important;
}

.rooms-repeater > * {
    width: 100% !important;
    max-width: 100% !important;
}


/* ==========================================================================
   ROOM CARD
   ========================================================================== */

.room-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;

    color: #252526 !important;
    background-color: #ffffff !important;
    border: 1px solid #D8D3CC !important;
    border-radius: 10px !important;
}


/* ==========================================================================
   HERO IMAGE
   ========================================================================== */

.room-hero {
    position: relative !important;
    width: 100% !important;
    height: 320px !important;
    min-height: 320px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.room-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.72) 0%,
        rgba(0, 0, 0, 0.22) 48%,
        rgba(0, 0, 0, 0) 76%
    );
}

.room-image,
.room-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 320px !important;
    margin: 0 !important;

    object-fit: cover !important;
    object-position: center !important;
}

.room-overlay {
    position: absolute !important;
    left: 42px !important;
    right: 42px !important;
    bottom: 30px !important;
    z-index: 2 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;

    width: auto !important;
    padding: 0 !important;
}

.room-type {
    width: fit-content !important;
    margin: 0 !important;
    padding: 5px 12px !important;

    color: #ffffff !important;
    background-color: rgba(37, 37, 38, 0.65) !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    border-radius: 50px !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.room-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 38px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
}


/* ==========================================================================
   ROOM BODY
   ========================================================================== */

.room-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 38px !important;

    width: 100% !important;
    padding: 46px 42px 34px !important;
    background-color: #ffffff !important;
}


/* ==========================================================================
   DESCRIPTION AND DETAILS
   ========================================================================== */

.room-details {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 38px !important;

    width: 100% !important;
    padding: 0 !important;
}

.room-copy {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 22px !important;

    min-width: 0 !important;
    padding: 0 !important;
}

.room-description {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}


/* ==========================================================================
   FEATURE PILLS
   ========================================================================== */

.room-copy {
    align-items: stretch !important;
}

.room-features {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.room-features > div,
.room-features .breakdance,
.room-features .bde-code-block {
    width: 100% !important;
    max-width: 100% !important;
}

.feature-pills {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.feature-pill {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: auto !important;

    width: auto !important;
    max-width: 100% !important;
    min-height: 31px !important;
    margin: 0 !important;
    padding: 6px 14px !important;

    color: #252526 !important;
    background-color: #FCF8F2 !important;
    border: 1px solid #D8D3CC !important;
    border-radius: 50px !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: nowrap !important;
}


/* ==========================================================================
   ROOM SPECIFICATIONS
   ========================================================================== */

.room-specs {
    display: flex !important;
    flex: 0 0 321px !important;
    flex-direction: column !important;

    width: 321px !important;
    max-width: 321px !important;
    min-height: 200px !important;
    padding: 17px 22px !important;

    background-color: #FCF8F2 !important;
    border: 1px solid #D8D3CC !important;
    border-radius: 10px !important;
}

.spec-row {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;

    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 0 !important;

    border-bottom: 1px solid #D8D3CC !important;
}

.spec-row:last-child {
    border-bottom: 0 !important;
}

.spec-label,
.spec-value {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
}

.spec-label {
    flex: 0 0 auto !important;
    color: #848484 !important;
    font-weight: 400 !important;
}

.spec-value {
    flex: 1 1 auto !important;
    color: #252526 !important;
    font-weight: 600 !important;
    text-align: left !important;
}


/* ==========================================================================
   SECTION TITLES
   ========================================================================== */

.room-section-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}


/* ==========================================================================
   ROOM GALLERY
   ========================================================================== */

.room-gallery-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;

    width: 100% !important;
    padding: 0 !important;
}

.room-gallery,
.room-gallery-slider {
    width: 100% !important;
}

.room-gallery-slider {
    position: relative !important;
}

.room-gallery-track {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;

    width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;

    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
    overscroll-behavior-x: contain !important;
}

.room-gallery-track::-webkit-scrollbar {
    display: none !important;
}

.room-gallery-slide {
    flex: 0 0 calc((100% - 40px) / 3) !important;
    width: calc((100% - 40px) / 3) !important;
    min-width: 0 !important;
    height: 200px !important;
    overflow: hidden !important;

    border-radius: 8px !important;
    scroll-snap-align: start !important;
}

.room-gallery-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;

    object-fit: cover !important;
    object-position: center !important;
}

.room-gallery-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 5 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    background-color: #7F7F7F !important;
    border: 2px solid #ffffff !important;
    border-radius: 50% !important;

    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
}

.room-gallery-prev {
    left: -18px !important;
}

.room-gallery-next {
    right: -18px !important;
}

.room-gallery-arrow:hover {
    color: #ffffff !important;
    background-color: #01418F !important;
}

.room-gallery-arrow:disabled,
.room-gallery-arrow.is-disabled {
    opacity: 0.4 !important;
    cursor: default !important;
}

/* Created automatically by the JavaScript */
.room-gallery-dots {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 7px;

    width: 100%;
    margin-top: 14px;
}

.room-gallery-dot {
    width: 10px;
    height: 10px;
    min-width: 10px;
    min-height: 10px;
    margin: 0;
    padding: 0;

    background-color: #C7D7E8;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
}

.room-gallery-dot.is-active {
    background-color: #01418F;
}


/* ==========================================================================
   DIVIDER
   ========================================================================== */

.room-divider {
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 2px 0 !important;
    padding: 0 !important;

    background-color: #D8D3CC !important;
}


/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */

.room-faq-block {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;

    width: 100% !important;
    padding: 0 !important;
}

.room-faqs,
.room-faq-list {
    width: 100% !important;
}

.room-faq-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
}

.room-faq-item {
    width: 100% !important;
    overflow: hidden !important;

    background-color: #ffffff !important;
    border: 1px solid #D8D3CC !important;
    border-radius: 8px !important;

    transition: box-shadow 0.2s ease !important;
}

.room-faq-item.is-open {
    box-shadow: 0 3px 6px rgba(37, 37, 38, 0.18) !important;
}

.room-faq-question {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;

    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 14px 17px !important;

    color: #252526 !important;
    background-color: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;

    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    cursor: pointer !important;
	font-family: "Montserrat", sans-serif !important;
}

.room-faq-question:hover,
.room-faq-question:focus {
    color: #252526 !important;
    background-color: #ffffff !important;
}

.room-faq-question:focus-visible {
    outline: 2px solid #B68C3E !important;
    outline-offset: -3px !important;
}

.room-faq-question-text {
    flex: 1 1 auto !important;
}

.room-faq-icon {
    display: flex !important;
    flex: 0 0 24px !important;
    align-items: center !important;
    justify-content: center !important;

    width: 24px !important;
    height: 24px !important;

    color: #B68C3E !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

.room-faq-answer[hidden] {
    display: none !important;
}

.room-faq-answer {
    width: 100% !important;
    border-top: 1px solid #D8D3CC !important;
}

.room-faq-answer-inner {
    width: 100% !important;
    padding: 17px !important;
font-family: "Montserrat", sans-serif !important;
    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.room-faq-answer-inner p {
    margin: 0 0 10px !important;
}

.room-faq-answer-inner p:last-child {
    margin-bottom: 0 !important;
}


/* ==========================================================================
   PRICE FOOTER
   ========================================================================== */

.room-footer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;

    width: 100% !important;
    min-height: 82px !important;
    padding: 17px 22px !important;

    background-color: #01418F !important;
    border-radius: 8px !important;
}

.room-price-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 6px !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.room-price {
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.room-tax {
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

.room-button,
.room-button .button-atom {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 44px !important;
    margin: 0 !important;

    color: #ffffff !important;
    background-color: #B68C3E !important;
    border: 1px solid #B68C3E !important;
    border-radius: 7px !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.room-button:hover,
.room-button:hover .button-atom {
    color: #ffffff !important;
    background-color: #96702D !important;
    border-color: #96702D !important;
}

/* Breadcrumbs */
.page-id-89 .breadcrumbs-container .breadcrumbs, .page-id-93 .breadcrumbs-container .breadcrumbs {
	display: none !important;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1023px) {

    .rooms-section {
        padding: 65px 20px !important;
    }

    .room-details {
        gap: 28px !important;
    }

    .room-specs {
        flex-basis: 300px !important;
        width: 300px !important;
        max-width: 300px !important;
    }

    .room-gallery-slide {
        flex-basis: calc((100% - 20px) / 2) !important;
        width: calc((100% - 20px) / 2) !important;
    }
}


/* ==========================================================================
   MOBILE — MATCHES PROVIDED DESIGN
   ========================================================================== */

@media (max-width: 767px) {

    .rooms-section {
        padding: 30px 13px !important;
    }

    .rooms-container {
        max-width: 100% !important;
    }

    .rooms-repeater {
        gap: 32px !important;
    }

    .room-card {
        border-radius: 9px !important;
    }

    /* Mobile hero */
    .room-hero {
        height: 205px !important;
        min-height: 205px !important;
    }

    .room-image,
    .room-image img {
        min-height: 205px !important;
    }

    .room-overlay {
        left: 14px !important;
        right: 14px !important;
        bottom: 15px !important;
        gap: 7px !important;
    }

    .room-type {
        padding: 5px 11px !important;
        font-size: 14px !important;
    }

    .room-title {
        font-size: 26px !important;
        line-height: 1.15 !important;
    }

    /* Mobile body */
    .room-body {
        gap: 30px !important;
        padding: 18px 13px 15px !important;
    }

    .room-details {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .room-copy {
        gap: 16px !important;
    }

    .room-description {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }

    /* Mobile feature pills */
    .room-features {
        gap: 8px !important;
    }

    .feature-pill {
        min-height: 30px !important;
        padding: 6px 12px !important;
        font-size: 14px !important;
    }

    /* Mobile specifications */
    .room-specs {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        padding: 13px 12px !important;
    }

    .spec-row {
        min-height: 39px !important;
        padding: 7px 0 !important;
    }

    .spec-label,
    .spec-value {
        font-size: 16px !important;
    }

    /* Mobile headings */
    .room-section-title {
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    /* Mobile gallery */
    .room-gallery-block {
        gap: 15px !important;
    }

    .room-gallery-track {
        gap: 12px !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .room-gallery-slide {
        flex: 0 0 calc(100% - 30px) !important;
        width: calc(100% - 30px) !important;
        height: 185px !important;
        border-radius: 8px !important;
    }

    .room-gallery-arrow {
        display: none !important;
    }

    .room-gallery-dots {
        display: flex !important;
    }

    /* Mobile divider */
    .room-divider {
        margin: 0 !important;
    }

    /* Mobile FAQ */
    .room-faq-block {
        gap: 16px !important;
    }

    .room-faq-list {
        gap: 8px !important;
    }

    .room-faq-question {
        min-height: 54px !important;
        gap: 10px !important;
        padding: 12px 12px !important;

        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    .room-faq-answer-inner {
        padding: 2px 12px 14px !important;
        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    /* Mobile footer */
    .room-footer {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;

        min-height: 0 !important;
        padding: 17px 15px !important;
        border-radius: 8px !important;
    }

    .room-price-wrap {
        justify-content: center !important;
        width: 100% !important;
    }

    .room-price {
        font-size: 30px !important;
    }

    .room-tax {
        font-size: 18px !important;
    }

    .room-button,
    .room-button .button-atom {
        width: auto !important;
        min-height: 42px !important;
        font-size: 16px !important;
    }


    .feature-pills {
        gap: 8px !important;
    }

    .feature-pill {
        min-height: 30px !important;
        padding: 6px 12px !important;
        font-size: 14px !important;
    }
}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 380px) {

    .room-title {
        font-size: 24px !important;
    }

    .room-section-title {
        font-size: 22px !important;
    }

    .room-price {
        font-size: 28px !important;
    }

	 .feature-pill {
        padding-right: 10px !important;
        padding-left: 10px !important;
        white-space: normal !important;
    }
}

/* ==========================================================================
   GREAT LAKE — HOTEL FACILITIES
   ========================================================================== */


/* Apply Montserrat throughout the section */
.hotel-facilities-section,
.hotel-facilities-section * {
    font-family: "Montserrat", sans-serif !important;
}


/* ==========================================================================
   MAIN REPEATER
   ========================================================================== */

.hotel-facilities-repeater {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hotel-facilities-repeater > * {
    width: 100% !important;
    max-width: 100% !important;
}


/* ==========================================================================
   FACILITY CARD
   ========================================================================== */

.facility-card {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-areas: "facility-image facility-content" !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 290px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    color: #252526 !important;
    background-color: #ffffff !important;
    border: 1px solid #D8D3CC !important;
    border-radius: 10px !important;
}

/* Second, fourth, sixth cards */
.facility-card.is-reversed {
    grid-template-areas: "facility-content facility-image" !important;
}


/* ==========================================================================
   FACILITY IMAGE
   ========================================================================== */

.facility-media {
    grid-area: facility-image !important;
    position: relative !important;
    order: initial !important;

    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 290px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.facility-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 290px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.facility-image img,
img.facility-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 290px !important;
    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center !important;
}


/* ==========================================================================
   FACILITY CONTENT
   ========================================================================== */

.facility-content {
    grid-area: facility-content !important;
    order: initial !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 14px !important;

    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 36px 40px !important;

    color: #252526 !important;
    background-color: #ffffff !important;
}


/* ==========================================================================
   FACILITY ICON
   ========================================================================== */

.facility-icon-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    margin: 0 0 2px !important;
    padding: 7px !important;

    background-color: rgba(2, 102, 224, 0.13) !important;
    border-radius: 9px !important;
}

.facility-icon {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}

.facility-icon img,
img.facility-icon {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}


/* ==========================================================================
   FACILITY TITLE
   ========================================================================== */

.facility-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}


/* ==========================================================================
   FACILITY DESCRIPTION
   ========================================================================== */

.facility-description {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}


/* ==========================================================================
   CHECKLIST CODE BLOCK
   ========================================================================== */

.facility-list {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 7px 0 0 !important;
    padding: 0 !important;
}

.facility-list > div,
.facility-list .breakdance,
.facility-list .bde-code-block {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================================
   CHECKLIST GRID
   ========================================================================== */

.facility-checklist {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 12px !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.facility-check-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;

    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    list-style: none !important;
}

.facility-check-icon {
    display: flex !important;
    flex: 0 0 18px !important;
    align-items: center !important;
    justify-content: center !important;

    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin-top: 1px !important;

    color: #0266E0 !important;
}

.facility-check-icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;

    color: #0266E0 !important;
}

.facility-check-item::marker,
.facility-checklist li::marker {
    content: "" !important;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1023px) {

    .hotel-facilities-section {
        padding: 65px 20px !important;
    }

    .facility-card {
        min-height: 320px !important;
    }

    .facility-media,
    .facility-image,
    .facility-image img,
    img.facility-image {
        min-height: 320px !important;
    }

    .facility-content {
        padding: 30px 28px !important;
    }

    .facility-checklist {
        grid-template-columns: 1fr !important;
        row-gap: 10px !important;
    }
}


/* ==========================================================================
   MOBILE — IMAGE ALWAYS FIRST
   ========================================================================== */

@media (max-width: 767px) {

    .hotel-facilities-section {
        padding: 30px 14px !important;
    }

    .hotel-facilities-container {
        max-width: 100% !important;
    }

    .hotel-facilities-repeater {
        gap: 28px !important;
    }

    .facility-card,
    .facility-card.is-reversed {
        display: flex !important;
        flex-direction: column !important;

        min-height: 0 !important;
        border-radius: 10px !important;
    }

    /* Image first on every mobile card */
    .facility-card .facility-media,
    .facility-card.is-reversed .facility-media {
        order: 1 !important;
    }

    .facility-card .facility-content,
    .facility-card.is-reversed .facility-content {
        order: 2 !important;
    }

    .facility-media {
        width: 100% !important;
        height: 215px !important;
        min-height: 215px !important;
    }

    .facility-image,
    .facility-image img,
    img.facility-image {
        width: 100% !important;
        height: 215px !important;
        min-height: 215px !important;
    }

    .facility-content {
        justify-content: flex-start !important;
        gap: 15px !important;

        height: auto !important;
        min-height: 0 !important;
        padding: 18px 15px 24px !important;
    }

    .facility-icon-wrap {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        margin-bottom: 2px !important;
    }

    .facility-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }

    .facility-description {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .facility-list {
        margin-top: 4px !important;
    }

    .facility-checklist {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .facility-check-item {
        font-size: 16px !important;
        line-height: 1.3 !important;
    }

    .facility-check-icon,
    .facility-check-icon svg {
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;
    }
}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 380px) {

    .hotel-facilities-section {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .facility-media,
    .facility-image,
    .facility-image img,
    img.facility-image {
        height: 200px !important;
        min-height: 200px !important;
    }

    .facility-content {
        padding-right: 13px !important;
        padding-left: 13px !important;
    }

    .facility-title {
        font-size: 26px !important;
    }
}


/* =========================================================
   GREAT LAKE DINING PAGE
   Oxygen 6 + Breakdance Elements
   ========================================================= */


/* =========================================================
   01. PAGE SECTIONS

   Classes:
   .dining-breakfast-section
   .venues-section
   ========================================================= */

.dining-breakfast-section,
.venues-section {
    width: 100% !important;
    margin: 0 !important;
    background-color: #071b30 !important;
    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
}

.dining-breakfast-section {
    padding: 50px 0 0 !important;
}

.venues-section {
    padding: 75px 0 100px !important;
}

.dining-breakfast-section *,
.venues-section * {
    box-sizing: border-box;
}


/* =========================================================
   02. MAIN CONTAINERS — 1366PX

   Classes:
   .dining-container
   .venues-container
   ========================================================= */

.dining-breakfast-section .dining-container,
.venues-section .venues-container {
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 1088px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.venues-section .venues-container {
    gap: 0 !important;
}


/* =========================================================
   03. BREAKFAST CARD

   Classes:
   .breakfast-card
   .breakfast-image
   .breakfast-shade
   ========================================================= */

.dining-breakfast-section .breakfast-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 460px !important;
    min-height: 460px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background-color: #071b30 !important;
    isolation: isolate;
}

.dining-breakfast-section .breakfast-image {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dining-breakfast-section .breakfast-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.dining-breakfast-section .breakfast-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.84) 0%,
            rgba(0, 0, 0, 0.68) 32%,
            rgba(0, 0, 0, 0.30) 57%,
            rgba(0, 0, 0, 0.06) 100%
        ) !important;
}


/* =========================================================
   04. BREAKFAST CONTENT

   Classes:
   .breakfast-content
   .breakfast-badge
   .breakfast-title
   .breakfast-description
   ========================================================= */

.dining-breakfast-section .breakfast-content {
    position: absolute !important;
    top: 50% !important;
    left: 50px !important;
    z-index: 2 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;

    width: 650px !important;
    max-width: calc(100% - 100px) !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    transform: translateY(-57%) !important;
}

.dining-breakfast-section .breakfast-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-height: 34px !important;
    margin: 0 0 16px !important;
    padding: 7px 17px !important;

    border: 0 !important;
    border-radius: 100px !important;
    background-color: #0266e0 !important;
    color: #ffffff !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.dining-breakfast-section .breakfast-title {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 39px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
}

.dining-breakfast-section .breakfast-description {
    display: block !important;
    width: 100% !important;
    max-width: 650px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.88) !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}


/* =========================================================
   05. BREAKFAST BUTTON

   Classes:
   .breakfast-action
   .breakfast-button
   ========================================================= */

.dining-breakfast-section .breakfast-action {
    position: absolute !important;
    left: 50px !important;
    bottom: 80px !important;
    z-index: 3 !important;

    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dining-breakfast-section .breakfast-button {
    display: inline-flex !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dining-breakfast-section .breakfast-button .button-atom,
.dining-breakfast-section .breakfast-button a,
.dining-breakfast-section .breakfast-button button {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 18px !important;

    border: 1px solid #b68c3e !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #b68c3e !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    cursor: pointer !important;
    transition:
        background-color 0.25s ease,
        color 0.25s ease !important;
}

.dining-breakfast-section .breakfast-button .button-atom:hover,
.dining-breakfast-section .breakfast-button a:hover,
.dining-breakfast-section .breakfast-button button:hover {
    border-color: #b68c3e !important;
    background-color: #b68c3e !important;
    color: #ffffff !important;
}


/* =========================================================
   06. VENUES HEADING

   Class:
   .venues-heading
   ========================================================= */

.venues-section .venues-heading {
    display: block !important;
    width: 100% !important;
    margin: 0 0 46px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 39px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}


/* =========================================================
   07. OXYGEN REPEATER GRID

   Classes:
   .venues-repeater
   .bde-loop
   .bde-loop-item
   .ee-post
   ========================================================= */

/* Outer Repeater Field must not be the four-column grid */
.venues-section .venues-repeater {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* The inner Breakdance loop contains the repeated articles */
.venues-section .venues-repeater > .bde-loop,
.venues-section .venues-repeater > .ee-posts,
.venues-section .venues-repeater > .bde-dynamic-repeater {
    display: grid !important;
    align-items: stretch !important;
    gap: 24px !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.venues-section .venues-repeater .bde-loop-item,
.venues-section .venues-repeater .ee-post,
.venues-section .venues-repeater .bde-dynamic-repeater-item {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   08. VENUE CARD

   Classes:
   .venue-card
   .venue-media
   .venue-image
   .venue-logo
   ========================================================= */

.venues-section .venue-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 532px !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    border-radius: 9px !important;
    background-color: #1b2f43 !important;
    color: #ffffff !important;
}

.venues-section .venue-media {
    position: relative !important;
    display: block !important;
    flex: 0 0 270px !important;

    width: 100% !important;
    height: 270px !important;
    min-height: 270px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    background-color: #000000 !important;
    isolation: isolate;
}

.venues-section .venue-media::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.38) 0%,
            rgba(0, 0, 0, 0.18) 55%,
            rgba(0, 0, 0, 0.32) 100%
        ) !important;
}

.venues-section .venue-image {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;

    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.venues-section .venue-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.venues-section .venue-logo {
    position: absolute !important;
    top: 20px !important;
    left: 50% !important;
    z-index: 2 !important;

    display: block !important;
    width: 58% !important;
    max-width: 190px !important;
    height: 82px !important;
    margin: 0 !important;
    padding: 0 !important;

    transform: translateX(-50%) !important;
}

.venues-section .venue-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}


/* =========================================================
   09. VENUE CONTENT

   Classes:
   .venue-content
   .venue-category
   .venue-name
   .venue-description
   ========================================================= */

.venues-section .venue-content {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;

    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 20px 18px 18px !important;

    background-color: #1b2f43 !important;
    color: #ffffff !important;
}

.venues-section .venue-category {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #0266e0 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

.venues-section .venue-name {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

.venues-section .venue-description {
    display: block !important;
    flex: 1 1 auto !important;

    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.72) !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}


/* =========================================================
   10. VENUE BUTTON AND ALIGNED DIVIDER

   Class:
   .venue-button
   ========================================================= */

.venues-section .venue-button {
    display: block !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: auto 0 0 !important;
    padding: 16px 0 0 !important;

    border-top: 1px solid rgba(255, 255, 255, 0.20) !important;
    background: transparent !important;
}

/* Actual Breakdance button */
.venues-section .venue-button .button-atom,
.venues-section .venue-button a,
.venues-section .venue-button button {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;

    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 25px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #b68c3e !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    cursor: pointer !important;
}

/* Remove any Oxygen or previous arrow */
.venues-section .venue-button .button-atom::before,
.venues-section .venue-button a::before,
.venues-section .venue-button button::before {
    content: none !important;
    display: none !important;
}

/* Button text first */
.venues-section .venue-button .button-atom__text {
    order: 1 !important;
    display: inline-block !important;
}

/* Arrow after the text */
.venues-section .venue-button .button-atom::after,
.venues-section .venue-button a::after,
.venues-section .venue-button button::after {
    content: "→" !important;
    order: 2 !important;
    display: inline-block !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
    color: #b68c3e !important;
    font-family: Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;

    transition: transform 0.2s ease !important;
}

.venues-section .venue-button .button-atom:hover::after,
.venues-section .venue-button a:hover::after,
.venues-section .venue-button button:hover::after {
    transform: translateX(4px) !important;
}


/* =========================================================
   11. TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .dining-breakfast-section .dining-container,
    .venues-section .venues-container {
        width: calc(100% - 40px) !important;
    }

    .venues-section .venues-repeater > .bde-loop,
    .venues-section .venues-repeater > .ee-posts,
    .venues-section .venues-repeater > .bde-dynamic-repeater {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }

    .venues-section .venue-card {
        min-height: 535px !important;
    }
}


/* =========================================================
   12. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .dining-breakfast-section {
        padding: 20px 0 0 !important;
    }

    .venues-section {
        padding: 50px 0 65px !important;
    }

    .dining-breakfast-section .dining-container,
    .venues-section .venues-container {
        width: calc(100% - 30px) !important;
    }


    /* Breakfast card */

    .dining-breakfast-section .breakfast-card {
        display: flex !important;
        flex-direction: column !important;

        height: auto !important;
        min-height: 0 !important;
        border-radius: 9px !important;
        background-color: #061526 !important;
    }

    .dining-breakfast-section .breakfast-image {
        position: absolute !important;
        inset: 0 0 auto !important;
        height: 445px !important;
    }

    .dining-breakfast-section .breakfast-shade {
        height: 445px !important;
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.04) 0%,
                rgba(0, 0, 0, 0.15) 40%,
                rgba(0, 0, 0, 0.88) 100%
            ) !important;
    }

    .dining-breakfast-section .breakfast-content {
        position: relative !important;
        inset: auto !important;

        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;

        width: 100% !important;
        max-width: none !important;
        min-height: 445px !important;

        margin: 0 !important;
        padding: 180px 20px 20px !important;

        transform: none !important;
    }

    .dining-breakfast-section .breakfast-badge {
        margin-bottom: 16px !important;
        padding: 7px 15px !important;
        font-size: 13px !important;
    }

    .dining-breakfast-section .breakfast-title {
        margin-bottom: 16px !important;
        font-size: 28px !important;
        line-height: 1.15 !important;
    }

    .dining-breakfast-section .breakfast-description {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    .dining-breakfast-section .breakfast-action {
        position: relative !important;
        inset: auto !important;

        display: block !important;
        width: 100% !important;

        margin: 0 !important;
        padding: 6px 20px 20px !important;

        background-color: #061526 !important;
    }

    .dining-breakfast-section .breakfast-button .button-atom,
    .dining-breakfast-section .breakfast-button a,
    .dining-breakfast-section .breakfast-button button {
        min-height: 46px !important;
        padding: 10px 15px !important;
        font-size: 17px !important;
    }


    /* Venue section */

    .venues-section .venues-heading {
        margin: 0 0 27px !important;
        font-size: 28px !important;
        text-align: left !important;
    }

    .venues-section .venues-repeater > .bde-loop,
    .venues-section .venues-repeater > .ee-posts,
    .venues-section .venues-repeater > .bde-dynamic-repeater {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 26px !important;
    }

    .venues-section .venue-card {
        height: auto !important;
        min-height: 0 !important;
    }

    .venues-section .venue-media {
        flex-basis: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 320 / 240 !important;
    }

    .venues-section .venue-logo {
        top: 18px !important;
        width: 55% !important;
        max-width: 175px !important;
        height: 75px !important;
    }

    .venues-section .venue-content {
        min-height: 285px !important;
        padding: 20px 18px 18px !important;
    }

    .venues-section .venue-name {
        margin-bottom: 15px !important;
        font-size: 28px !important;
    }

    .venues-section .venue-description {
        margin-bottom: 20px !important;
        font-size: 16px !important;
    }

    .venues-section .venue-button .button-atom,
    .venues-section .venue-button a,
    .venues-section .venue-button button {
        font-size: 17px !important;
        white-space: normal !important;
    }
}


/* =========================================================
   13. SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .dining-breakfast-section .breakfast-content {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }

    .dining-breakfast-section .breakfast-action {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }

    .dining-breakfast-section .breakfast-title {
        font-size: 27px !important;
    }

    .venues-section .venue-content {
        padding-right: 17px !important;
        padding-left: 17px !important;
    }
}

/* =========================================================
   GREAT LAKE — VESSEL EXPERIENCES
   Oxygen 6 + Breakdance Elements
   ========================================================= */


/* =========================================================
   01. SECTION

   Classes:
   .vessels-section
   .vessels-container
   ========================================================= */

.vessels-section {
    width: 100% !important;
    margin: 0 !important;
    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
}

.vessels-section *,
.vessels-section *::before,
.vessels-section *::after {
    box-sizing: border-box;
}

.vessels-section .vessels-container {
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 1088px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}


/* =========================================================
   02. OXYGEN REPEATER FIX

   Classes:
   .vessels-repeater
   .bde-loop
   .bde-loop-item
   .ee-post
   ========================================================= */

/* The outer repeater contains Oxygen's internal loop */
.vessels-section .vessels-repeater {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Apply spacing to the actual internal loop */
.vessels-section .vessels-repeater > .bde-loop,
.vessels-section .vessels-repeater > .ee-posts,
.vessels-section .vessels-repeater > .bde-dynamic-repeater {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 48px !important;

    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Repeated article wrapper */
.vessels-section .vessels-repeater .bde-loop-item,
.vessels-section .vessels-repeater .ee-post,
.vessels-section .vessels-repeater .bde-dynamic-repeater-item {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   03. VESSEL CARD

   Class:
   .vessel-card
   ========================================================= */

.vessels-section .vessel-card {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 520px !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    border: 1px solid #d8d3cc !important;
    border-top: 10px solid #01418f !important;
    border-radius: 11px !important;

    background-color: #ffffff !important;
    color: #252526 !important;
}

/* Teal line for every second card */
.vessels-section
.vessels-repeater
.bde-loop-item:nth-child(even)
.vessel-card,
.vessels-section
.vessels-repeater
.ee-post:nth-child(even)
.vessel-card,
.vessels-section
.vessels-repeater
.bde-dynamic-repeater-item:nth-child(even)
.vessel-card {
    border-top-color: #2d696b !important;
}

/* Alternate image and content on desktop */
.vessels-section
.vessels-repeater
.bde-loop-item:nth-child(even)
.vessel-card,
.vessels-section
.vessels-repeater
.ee-post:nth-child(even)
.vessel-card,
.vessels-section
.vessels-repeater
.bde-dynamic-repeater-item:nth-child(even)
.vessel-card {
    flex-direction: row-reverse !important;
}


/* =========================================================
   04. VESSEL IMAGE

   Class:
   .vessel-image
   ========================================================= */

.vessels-section .vessel-image {
    display: block !important;
    flex: 0 0 50% !important;

    width: 50% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 510px !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.vessels-section .vessel-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 510px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;
}


/* =========================================================
   05. VESSEL CONTENT

   Classes:
   .vessel-content
   .vessel-title
   .vessel-description
   ========================================================= */

.vessels-section .vessel-content {
    display: flex !important;
    flex: 1 1 50% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;

    width: 50% !important;
    min-width: 0 !important;
    min-height: 510px !important;

    margin: 0 !important;
    padding: 48px !important;

    background-color: #ffffff !important;
    color: #252526 !important;
}

.vessels-section .vessel-title {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;

    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

.vessels-section .vessel-description {
    display: block !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 0 22px !important;
    padding: 0 !important;

    color: #575759 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}


/* =========================================================
   06. FEATURES CODE BLOCK

   Classes:
   .vessel-features
   .vessel-feature-list
   .vessel-feature-item
   .vessel-feature-icon
   .vessel-feature-text
   ========================================================= */

.vessels-section .vessel-features {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vessels-section .vessel-feature-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.vessels-section .vessel-feature-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    list-style: none !important;
}

.vessels-section .vessel-feature-item::before,
.vessels-section .vessel-feature-item::marker {
    content: none !important;
    display: none !important;
}

.vessels-section .vessel-feature-icon {
    display: inline-flex !important;
    flex: 0 0 18px !important;
    align-items: center !important;
    justify-content: center !important;

    width: 18px !important;
    height: 18px !important;
    margin-top: 2px !important;

    color: #0266e0 !important;
}

.vessels-section .vessel-feature-icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: #0266e0 !important;
}

.vessels-section .vessel-feature-text {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #252526 !important;
}


/* =========================================================
   07. BUTTON CONTAINER

   Classes:
   .vessel-actions
   .vessel-primary-button
   .vessel-secondary-button
   ========================================================= */

.vessels-section .vessel-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;

    width: 100% !important;
    margin: 38px 0 0 !important;
    padding: 0 !important;
}


/* =========================================================
   08. BUTTON WRAPPERS
   ========================================================= */

.vessels-section .vessel-primary-button,
.vessels-section .vessel-secondary-button {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   09. PRIMARY BUTTON
   ========================================================= */

.vessels-section .vessel-primary-button .button-atom,
.vessels-section .vessel-primary-button a,
.vessels-section .vessel-primary-button button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 10px 16px !important;

    border: 1px solid #b68c3e !important;
    border-radius: 8px !important;
    background-color: transparent !important;
    box-shadow: none !important;

    color: #b68c3e !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    cursor: pointer !important;

    transition:
        color 0.2s ease,
        background-color 0.2s ease !important;
}

.vessels-section .vessel-primary-button .button-atom:hover,
.vessels-section .vessel-primary-button a:hover,
.vessels-section .vessel-primary-button button:hover {
    border-color: #b68c3e !important;
    background-color: #b68c3e !important;
    color: #ffffff !important;
}


/* =========================================================
   10. SECONDARY BUTTON
   ========================================================= */

.vessels-section .vessel-secondary-button .button-atom,
.vessels-section .vessel-secondary-button a,
.vessels-section .vessel-secondary-button button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 10px 16px !important;

    border: 1px solid #c8c8c8 !important;
    border-radius: 8px !important;
    background-color: transparent !important;
    box-shadow: none !important;

    color: #525252 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    cursor: pointer !important;

    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease !important;
}

.vessels-section .vessel-secondary-button .button-atom:hover,
.vessels-section .vessel-secondary-button a:hover,
.vessels-section .vessel-secondary-button button:hover {
    border-color: #252526 !important;
    background-color: #252526 !important;
    color: #ffffff !important;
}


/* Remove Oxygen button icons if enabled */
.vessels-section .vessel-actions .button-atom::before,
.vessels-section .vessel-actions .button-atom::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   11. LAPTOP
   ========================================================= */

@media (max-width: 1200px) {

    .vessels-section .vessels-container {
        width: calc(100% - 40px) !important;
    }

    .vessels-section .vessel-card {
        min-height: 470px !important;
    }

    .vessels-section .vessel-image,
    .vessels-section .vessel-image img,
    .vessels-section .vessel-content {
        min-height: 460px !important;
    }

    .vessels-section .vessel-content {
        padding: 38px !important;
    }
}


/* =========================================================
   12. TABLET
   ========================================================= */

@media (max-width: 900px) {

    .vessels-section .vessel-content {
        padding: 30px !important;
    }

    .vessels-section .vessel-title {
        font-size: 25px !important;
    }

    .vessels-section .vessel-description,
    .vessels-section .vessel-feature-item {
        font-size: 15px !important;
    }

    .vessels-section .vessel-actions {
        margin-top: 28px !important;
    }
}


/* =========================================================
   13. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .vessels-section {
        padding: 28px 0 60px !important;
    }

    .vessels-section .vessels-container {
        width: calc(100% - 30px) !important;
    }

    .vessels-section .vessels-repeater > .bde-loop,
    .vessels-section .vessels-repeater > .ee-posts,
    .vessels-section .vessels-repeater > .bde-dynamic-repeater {
        gap: 30px !important;
    }

    /* Every mobile card has image first */
    .vessels-section .vessel-card,
    .vessels-section
    .vessels-repeater
    .bde-loop-item:nth-child(even)
    .vessel-card,
    .vessels-section
    .vessels-repeater
    .ee-post:nth-child(even)
    .vessel-card,
    .vessels-section
    .vessels-repeater
    .bde-dynamic-repeater-item:nth-child(even)
    .vessel-card {
        flex-direction: column !important;
        min-height: 0 !important;
        border-top-width: 5px !important;
        border-radius: 10px !important;
    }

    .vessels-section .vessel-image {
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 320 / 218 !important;
    }

    .vessels-section .vessel-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
    }

    .vessels-section .vessel-content {
        flex: 0 0 auto !important;
        justify-content: flex-start !important;

        width: 100% !important;
        min-height: 0 !important;

        padding: 26px 15px 26px !important;
    }

    .vessels-section .vessel-title {
        margin-bottom: 18px !important;
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    .vessels-section .vessel-description {
        margin-bottom: 20px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .vessels-section .vessel-feature-list {
        gap: 10px !important;
    }

    .vessels-section .vessel-feature-item {
        gap: 10px !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .vessels-section .vessel-feature-icon {
        flex-basis: 18px !important;
        margin-top: 2px !important;
    }

    .vessels-section .vessel-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;

        width: 100% !important;
        margin-top: 26px !important;
    }

    .vessels-section .vessel-primary-button,
    .vessels-section .vessel-secondary-button {
        display: flex !important;
        width: 100% !important;
    }

    .vessels-section .vessel-primary-button .button-atom,
    .vessels-section .vessel-primary-button a,
    .vessels-section .vessel-primary-button button,
    .vessels-section .vessel-secondary-button .button-atom,
    .vessels-section .vessel-secondary-button a,
    .vessels-section .vessel-secondary-button button {
        width: 100% !important;
        min-width: 100% !important;
        min-height: 42px !important;
        padding: 9px 12px !important;
        font-size: 15px !important;
        white-space: normal !important;
    }
}


/* =========================================================
   14. SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

    .vessels-section .vessels-container {
        width: calc(100% - 24px) !important;
    }

    .vessels-section .vessel-content {
        padding: 24px 14px !important;
    }

    .vessels-section .vessel-title {
        font-size: 23px !important;
    }
}

/* =========================================================
   GREAT LAKE — CONTACT PAGE
   Oxygen 6 + Contact Form 7
   ========================================================= */


/* =========================================================
   01. CONTACT SECTION

   Classes:
   .contact-section
   .contact-container
   ========================================================= */

.contact-section {
    width: 100% !important;
    margin: 0 !important;
    padding: 70px 0 90px !important;
    background-color: #fcf8f2 !important;
    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
}

.contact-section *,
.contact-section *::before,
.contact-section *::after {
    box-sizing: border-box;
}


/* =========================================================
   02. MAIN COLUMNS

   Classes:
   .contact-layout
   .contact-left
   .contact-right
   ========================================================= */

.contact-section .contact-layout {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 20px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .contact-left {
    display: flex !important;
    flex: 0 0 calc(40% - 10px) !important;
    flex-direction: column !important;

    width: calc(40% - 10px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .contact-right {
    display: flex !important;
    flex: 0 0 calc(60% - 10px) !important;
    flex-direction: column !important;

    width: calc(60% - 10px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   03. LEFT CARDS WRAPPER

   Class:
   .contact-left-stack
   ========================================================= */

.contact-section .contact-left-stack {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 20px !important;

    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   04. INFORMATION CARDS

   Classes:
   .contact-info-card
   .contact-location-card
   .contact-direct-card
   ========================================================= */

.contact-section .contact-info-card {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 28px 30px !important;

    border: 1px solid #e1ddd6 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;

    box-shadow:
        0 2px 3px rgba(0, 0, 0, 0.06),
        0 5px 12px rgba(0, 0, 0, 0.04) !important;
}

.contact-section .contact-location-code,
.contact-section .contact-direct-code {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   05. INFORMATION CARD HEADINGS

   Classes:
   .contact-card-heading
   .contact-card-icon
   .contact-card-title
   ========================================================= */

.contact-section .contact-card-heading {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;

    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
}

.contact-section .contact-card-icon {
    display: inline-flex !important;
    flex: 0 0 20px !important;
    align-items: center !important;
    justify-content: center !important;

    width: 20px !important;
    height: 20px !important;

    color: #999999 !important;
}

.contact-section .contact-card-icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    color: #999999 !important;
}

.contact-section .contact-card-title {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #01366f !important;
    font-family: "GT Alpina Fine Trial", Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}


/* =========================================================
   06. LOCATION AND CONTACT DETAILS

   Classes:
   .contact-card-details
   .contact-detail-row
   .contact-detail-label
   .contact-detail-value
   .contact-detail-link
   ========================================================= */

.contact-section .contact-card-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .contact-detail-row {
    display: grid !important;
    grid-template-columns: minmax(125px, 35%) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 16px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .contact-detail-label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.contact-section .contact-detail-value {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #575759 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.contact-section .contact-detail-value p {
    margin: 0 !important;
}

.contact-section .contact-detail-link {
    color: #575759 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
    transition: color 0.2s ease !important;
}

.contact-section .contact-detail-link:hover {
    color: #0266e0 !important;
}


/* =========================================================
   07. MAP CARD

   Classes:
   .contact-map-card
   .contact-map-image
   .contact-map-label
   ========================================================= */

.contact-section .contact-map-card {
    position: relative !important;
    display: block !important;
    flex: 1 1 auto !important;

    width: 100% !important;
    min-height: 340px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    border: 1px solid #e1ddd6 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;

    box-shadow:
        0 2px 3px rgba(0, 0, 0, 0.06),
        0 5px 12px rgba(0, 0, 0, 0.04) !important;
}

.contact-section .contact-map-image {
    position: absolute !important;
    inset: 0 !important;

    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .contact-map-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.contact-section .contact-map-label {
    position: absolute !important;
    left: 47% !important;
    bottom: 215px !important;
    z-index: 2 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: max-content !important;
    max-width: calc(100% - 40px) !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 8px 18px 8px 36px !important;

    border: 1px solid #e1ddd6 !important;
    border-radius: 100px !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;

    color: #575759 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-align: center !important;

    transform: translateX(-50%) !important;
}

.contact-section .contact-map-label::before {
    content: "" !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;

    display: block !important;
    width: 9px !important;
    height: 9px !important;

    border-radius: 50% !important;
    background-color: #ef233c !important;
    transform: translateY(-50%) !important;
}


/* =========================================================
   08. FORM CARD

   Classes:
   .contact-form-card
   .contact-form-title
   .contact-form-intro
   .contact-form-code
   ========================================================= */

.contact-section .contact-form-card {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;

    margin: 0 !important;
    padding: 42px 40px !important;

    border: 1px solid #e1ddd6 !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;

    box-shadow:
        0 2px 3px rgba(0, 0, 0, 0.06),
        0 5px 12px rgba(0, 0, 0, 0.04) !important;
}

.contact-section .contact-form-title {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #01366f !important;
    font-family: "GT Alpina Fine Trial", Georgia, serif !important;
    font-size: 38px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
}

.contact-section .contact-form-intro {
    display: block !important;
    width: 100% !important;
    max-width: 650px !important;
    margin: 0 0 26px !important;
    padding: 0 !important;

    color: #575759 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.contact-section .contact-form-code {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   09. CONTACT FORM 7 STRUCTURE

   Classes:
   .gla-contact-form
   .gla-form-row
   .gla-form-field
   .gla-form-field--full
   ========================================================= */

.contact-section .gla-contact-form {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .gla-form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .gla-form-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;

    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .gla-form-field--full {
    width: 100% !important;
}


/* =========================================================
   10. FORM LABELS
   ========================================================= */

.contact-section .gla-form-field label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #252526 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}


/* =========================================================
   11. FORM CONTROL WRAPPERS
   ========================================================= */

.contact-section .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}


/* =========================================================
   12. INPUTS, SELECT AND TEXTAREA
   ========================================================= */

.contact-section .gla-contact-form input[type="text"],
.contact-section .gla-contact-form input[type="email"],
.contact-section .gla-contact-form input[type="tel"],
.contact-section .gla-contact-form input[type="date"],
.contact-section .gla-contact-form select,
.contact-section .gla-contact-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 14px 16px !important;

    border: 1px solid #d8d3cc !important;
    border-radius: 7px !important;
    outline: none !important;

    background-color: #f7f5f2 !important;
    box-shadow: none !important;

    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease !important;
}

.contact-section .gla-contact-form input[type="text"],
.contact-section .gla-contact-form input[type="email"],
.contact-section .gla-contact-form input[type="tel"],
.contact-section .gla-contact-form input[type="date"],
.contact-section .gla-contact-form select {
    height: 52px !important;
}

.contact-section .gla-contact-form textarea {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 300px !important;
    resize: vertical !important;
}

.contact-section .gla-contact-form select {
    cursor: pointer !important;
}


/* =========================================================
   13. INPUT PLACEHOLDERS
   ========================================================= */

.contact-section .gla-contact-form input::placeholder,
.contact-section .gla-contact-form textarea::placeholder {
    color: #999999 !important;
    opacity: 1 !important;
}


/* =========================================================
   14. INPUT FOCUS
   ========================================================= */

.contact-section .gla-contact-form input[type="text"]:focus,
.contact-section .gla-contact-form input[type="email"]:focus,
.contact-section .gla-contact-form input[type="tel"]:focus,
.contact-section .gla-contact-form input[type="date"]:focus,
.contact-section .gla-contact-form select:focus,
.contact-section .gla-contact-form textarea:focus {
    border-color: #0266e0 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 2px rgba(2, 102, 224, 0.10) !important;
}


/* =========================================================
   15. SUBMIT BUTTON
   ========================================================= */

.contact-section .gla-form-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.contact-section .gla-contact-form input[type="submit"],
.contact-section .gla-submit-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 46px !important;

    margin: 0 !important;
    padding: 10px 16px !important;

    border: 1px solid #ef233c !important;
    border-radius: 8px !important;
    outline: none !important;

    background-color: transparent !important;
    box-shadow: none !important;

    color: #ef233c !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;

    cursor: pointer !important;

    transition:
        color 0.2s ease,
        background-color 0.2s ease !important;
}

.contact-section .gla-contact-form input[type="submit"]:hover,
.contact-section .gla-submit-button:hover {
    border-color: #ef233c !important;
    background-color: #ef233c !important;
    color: #ffffff !important;
}


/* =========================================================
   16. CONTACT FORM 7 VALIDATION
   ========================================================= */

.contact-section .wpcf7-not-valid {
    border-color: #ef233c !important;
}

.contact-section .wpcf7-not-valid-tip {
    display: block !important;
    margin-top: 6px !important;

    color: #ef233c !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.contact-section .wpcf7-response-output {
    width: 100% !important;
    margin: 20px 0 0 !important;
    padding: 12px 15px !important;

    border: 1px solid #0266e0 !important;
    border-radius: 6px !important;

    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.contact-section form.invalid .wpcf7-response-output,
.contact-section form.failed .wpcf7-response-output,
.contact-section form.unaccepted .wpcf7-response-output {
    border-color: #ef233c !important;
}

.contact-section form.sent .wpcf7-response-output {
    border-color: #2d696b !important;
}


/* =========================================================
   17. CONTACT FORM 7 SPINNER
   ========================================================= */

.contact-section .wpcf7-spinner {
    margin: 0 0 0 12px !important;
    vertical-align: middle !important;
}


/* =========================================================
   18. LAPTOP
   ========================================================= */

@media (max-width: 1200px) {

    .contact-section .contact-container {
        width: calc(100% - 40px) !important;
    }

    .contact-section .contact-info-card {
        padding: 24px !important;
    }

    .contact-section .contact-form-card {
        padding: 36px 32px !important;
    }

    .contact-section .contact-detail-row {
        grid-template-columns: minmax(105px, 36%) minmax(0, 1fr) !important;
        gap: 12px !important;
    }
}


/* =========================================================
   19. TABLET
   ========================================================= */

@media (max-width: 991px) {

    .contact-section {
        padding: 50px 0 70px !important;
    }

    .contact-section .contact-layout {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .contact-section .contact-left,
    .contact-section .contact-right {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    .contact-section .contact-map-card {
        min-height: 380px !important;
    }

    .contact-section .contact-form-card {
        min-height: 0 !important;
    }
}


/* =========================================================
   20. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .contact-section {
        padding: 30px 0 55px !important;
    }

    .contact-section .contact-container {
        width: calc(100% - 30px) !important;
    }

    .contact-section .contact-layout,
    .contact-section .contact-left-stack {
        gap: 18px !important;
    }

    .contact-section .contact-info-card {
        padding: 24px 20px !important;
    }

    .contact-section .contact-card-heading {
        margin-bottom: 20px !important;
    }

    .contact-section .contact-card-title {
        font-size: 22px !important;
    }

    .contact-section .contact-detail-row {
        grid-template-columns: minmax(105px, 36%) minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .contact-section .contact-detail-label,
    .contact-section .contact-detail-value {
        font-size: 12px !important;
    }

    .contact-section .contact-map-card {
        min-height: 300px !important;
    }

    .contact-section .contact-map-label {
        bottom: 122px !important;
        max-width: calc(100% - 30px) !important;
        padding: 8px 14px 8px 32px !important;
        font-size: 11px !important;
    }

    .contact-section .contact-form-card {
        padding: 28px 20px 30px !important;
    }

    .contact-section .contact-form-title {
        margin-bottom: 12px !important;
        font-size: 32px !important;
    }

    .contact-section .contact-form-intro {
        margin-bottom: 24px !important;
        font-size: 15px !important;
    }

    .contact-section .gla-contact-form {
        gap: 20px !important;
    }

    .contact-section .gla-form-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    .contact-section .gla-form-field {
        gap: 9px !important;
    }

    .contact-section .gla-contact-form input[type="text"],
    .contact-section .gla-contact-form input[type="email"],
    .contact-section .gla-contact-form input[type="tel"],
    .contact-section .gla-contact-form input[type="date"],
    .contact-section .gla-contact-form select {
        height: 52px !important;
    }

    .contact-section .gla-contact-form textarea {
        height: 185px !important;
        min-height: 185px !important;
    }

    .contact-section .gla-form-submit {
        justify-content: flex-start !important;
    }
}


/* =========================================================
   21. SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .contact-section .contact-container {
        width: calc(100% - 24px) !important;
    }

    .contact-section .contact-info-card,
    .contact-section .contact-form-card {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .contact-section .contact-detail-row {
        grid-template-columns: 95px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .contact-section .contact-form-title {
        font-size: 29px !important;
    }
}

/* =========================================================
   MEET THE CREW — SWIPER EQUAL HEIGHT FIX
   ========================================================= */

/* The Swiper track must stretch every slide */
.meet-the-crew-repeater .swiper-wrapper,
.meet-the-crew-repeater .bde-loop-slider {
    align-items: stretch !important;
}

/* Every repeated article becomes a stretching flex container */
.meet-the-crew-repeater .swiper-slide,
.meet-the-crew-repeater .bde-loop-item,
.meet-the-crew-repeater .ee-post,
.meet-the-crew-repeater .bde-dynamic-repeater-item {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;

    height: auto !important;
    min-height: 100% !important;
}

/* Component root fills the complete slide */
.meet-the-crew-repeater .meet-the-crew-card {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
}

/* The Columns element fills the card */
.meet-the-crew-repeater .meet-the-crew-layout {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
}

/* Reset the individual Oxygen columns */
.meet-the-crew-repeater
.meet-the-crew-layout
> .bde-column {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;

    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
}

/* Allow the description column to absorb unused height */
.meet-the-crew-repeater
.meet-the-crew-layout
> .bde-column:nth-child(3) {
    flex: 1 1 auto !important;
}

/* Push the button column to the bottom */
.meet-the-crew-repeater .meet-the-crew-button-col {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;

    width: 100% !important;
    margin-top: auto !important;
    padding-top: 24px !important;
}

/* Button wrapper */
.meet-the-crew-repeater
.meet-the-crew-button-col
.bde-button {
    display: flex !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Actual button */
.meet-the-crew-repeater
.meet-the-crew-button-col
.button-atom {
    width: fit-content !important;
    margin: 0 !important;
}


/* =========================================================
   IMAGE CONSISTENCY
   Your actual image class is: meet-thecrew-image
   ========================================================= */

.meet-the-crew-repeater .meet-thecrew-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .meet-the-crew-repeater .swiper-slide,
    .meet-the-crew-repeater .bde-loop-item,
    .meet-the-crew-repeater .meet-the-crew-card,
    .meet-the-crew-repeater .meet-the-crew-layout {
        height: auto !important;
        min-height: 0 !important;
    }

    .meet-the-crew-repeater .meet-the-crew-button-col {
        margin-top: auto !important;
        padding-top: 20px !important;
    }
}


/* =========================================================
   SAFETY & SUSTAINABILITY
   Targets the existing .safety-content structure
   ========================================================= */


/* Main white container */
.safety-content {
    display: block !important;


    border: 1px solid #e4e0da !important;
    border-radius: 10px !important;
    background-color: #ffffff !important;

    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.06),
        0 7px 18px rgba(0, 0, 0, 0.05) !important;

    box-sizing: border-box !important;
}

.safety-content *,
.safety-content *::before,
.safety-content *::after {
    box-sizing: border-box;
}


/* =========================================================
   MAIN HEADING
   ========================================================= */

.safety-content > .bde-heading,
.safety-content > h2 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;

    color: #01366f !important;
    font-family: "GT Alpina Fine Trial", Georgia, serif !important;
    font-size: 44px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
}


/* =========================================================
   INTRODUCTION TEXT
   ========================================================= */

.safety-content > .bde-text {
    display: block !important;
    width: 100% !important;
    max-width: 1050px !important;
    margin: 0 0 44px !important;
    padding: 0 !important;

    color: #3f3f40 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}


/* =========================================================
   TWO-CARD COLUMNS
   Directly targets the Columns element inside safety-content
   ========================================================= */

.safety-content > .bde-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 55px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   INDIVIDUAL CARDS
   Directly targets the two Columns
   ========================================================= */

.safety-content > .bde-columns > .bde-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 320px !important;

    margin: 0 !important;
    padding: 42px 40px !important;

    border: 1px solid #d8d3cc !important;
    border-radius: 8px !important;
    background-color: #f7f6f4 !important;
}


/* =========================================================
   CARD ICONS
   Targets the image inside each card
   ========================================================= */

.safety-content
> .bde-columns
> .bde-column
> .oxy-image,
.safety-content
> .bde-columns
> .bde-column
> .bde-image {
    display: block !important;
    flex: 0 0 auto !important;

    width: 48px !important;
    height: 48px !important;

    margin: 0 0 25px !important;
    padding: 0 !important;

    border-radius: 9px !important;
    object-fit: contain !important;
}

.safety-content
> .bde-columns
> .bde-column
> .bde-image img {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
}


/* =========================================================
   CARD TITLES
   ========================================================= */

.safety-content
> .bde-columns
> .bde-column
> .bde-heading,
.safety-content
> .bde-columns
> .bde-column
> h3 {
    display: block !important;
    width: 100% !important;

    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #252526 !important;
    font-family: "GT Alpina Fine Trial", Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}


/* =========================================================
   WYSIWYG CONTENT
   ========================================================= */

.safety-content
> .bde-columns
> .bde-column
.bde-rich-text,
.safety-content
> .bde-columns
> .bde-column
.oxy-rich-text,
.safety-content
> .bde-columns
> .bde-column
.wp-editor-content {
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}


/* =========================================================
   REMOVE NORMAL BULLETS
   Targets every UL inside the two card columns
   ========================================================= */

.safety-content
> .bde-columns
> .bde-column
ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.safety-content
> .bde-columns
> .bde-column
ul li {
    position: relative !important;
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 0 0 27px !important;

    color: #252526 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;

    list-style: none !important;
}

.safety-content
> .bde-columns
> .bde-column
ul li::marker {
    content: "" !important;
    font-size: 0 !important;
}


/* =========================================================
   BLUE CIRCULAR CHECK ICON
   ========================================================= */

.safety-content
> .bde-columns
> .bde-column
ul li::before {
    content: "✓" !important;

    position: absolute !important;
    top: 2px !important;
    left: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 15px !important;
    height: 15px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1.5px solid #00c0e0 !important;
    border-radius: 50% !important;
    background-color: transparent !important;

    color: #00c0e0 !important;
    font-family: Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}


/* Remove paragraph margins inside list items */
.safety-content
> .bde-columns
> .bde-column
ul li p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Remove unwanted final margins */
.safety-content
> .bde-columns
> .bde-column
ul li:last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
   LAPTOP
   ========================================================= */

@media (max-width: 1200px) {

    .safety-content {
        width: calc(100% - 40px) !important;
        padding: 55px 42px !important;
    }

    .safety-content > .bde-columns {
        gap: 40px !important;
    }

    .safety-content > .bde-columns > .bde-column {
        padding: 38px 34px !important;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .safety-content {
        margin: 50px auto !important;
        padding: 45px 32px !important;
    }

    .safety-content > .bde-heading,
    .safety-content > h2 {
        font-size: 38px !important;
    }

    .safety-content > .bde-columns {
        gap: 24px !important;
    }

    .safety-content > .bde-columns > .bde-column {
        padding: 32px 26px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .safety-content {
        width: calc(100% - 30px) !important;
        margin: 35px auto !important;
        padding: 34px 20px !important;
    }

    .safety-content > .bde-heading,
    .safety-content > h2 {
        margin-bottom: 18px !important;
        font-size: 31px !important;
    }

    .safety-content > .bde-text {
        margin-bottom: 30px !important;
        font-size: 15px !important;
    }

    .safety-content > .bde-columns {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    .safety-content > .bde-columns > .bde-column {
        width: 100% !important;
        min-height: 0 !important;
        padding: 28px 22px !important;
    }

    .safety-content
    > .bde-columns
    > .bde-column
    > .oxy-image,
    .safety-content
    > .bde-columns
    > .bde-column
    > .bde-image,
    .safety-content
    > .bde-columns
    > .bde-column
    > .bde-image img {
        width: 44px !important;
        height: 44px !important;
    }

    .safety-content
    > .bde-columns
    > .bde-column
    > .oxy-image,
    .safety-content
    > .bde-columns
    > .bde-column
    > .bde-image {
        margin-bottom: 21px !important;
    }

    .safety-content
    > .bde-columns
    > .bde-column
    > .bde-heading,
    .safety-content
    > .bde-columns
    > .bde-column
    > h3 {
        margin-bottom: 20px !important;
        font-size: 23px !important;
    }

    .safety-content
    > .bde-columns
    > .bde-column
    ul li {
        font-size: 14px !important;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

    .safety-content {
        width: calc(100% - 24px) !important;
        padding: 30px 16px !important;
    }

    .safety-content > .bde-heading,
    .safety-content > h2 {
        font-size: 28px !important;
    }

    .safety-content > .bde-columns > .bde-column {
        padding: 26px 18px !important;
    }
}

/* =========================================================
   SAFETY LIST — CHECK ICON CORRECTION
   ========================================================= */

.safety-content
> .bde-columns
> .bde-column
ul li {
    position: relative !important;
    padding-left: 28px !important;
    list-style: none !important;
}

/* Blue outlined circle */
.safety-content
> .bde-columns
> .bde-column
ul li::before {
    content: "" !important;

    position: absolute !important;
    top: 2px !important;
    left: 0 !important;

    display: block !important;
    width: 16px !important;
    height: 16px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1.5px solid #00c0e0 !important;
    border-radius: 50% !important;
    background: transparent !important;

    box-sizing: border-box !important;
}

/* Checkmark inside circle */
.safety-content
> .bde-columns
> .bde-column
ul li::after {
    content: "" !important;

    position: absolute !important;
    top: 6px !important;
    left: 6px !important;

    display: block !important;
    width: 4px !important;
    height: 7px !important;

    border-right: 1.5px solid #00c0e0 !important;
    border-bottom: 1.5px solid #00c0e0 !important;

    transform: rotate(45deg) !important;
    box-sizing: border-box !important;
}

/* Remove native bullets */
.safety-content
> .bde-columns
> .bde-column
ul li::marker {
    content: "" !important;
    font-size: 0 !important;
}

/* Large card icon background */
.safety-content
> .bde-columns
> .bde-column
> .oxy-image,
.safety-content
> .bde-columns
> .bde-column
> .bde-image {
    width: 48px !important;
    height: 48px !important;
    padding: 10px !important;

    border-radius: 9px !important;
    background-color: #dff4f7 !important;

    object-fit: contain !important;
    box-sizing: border-box !important;
}

/* Image inside a Breakdance Image wrapper */
.safety-content
> .bde-columns
> .bde-column
> .bde-image
img {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
}


/* Gold strip on left side */
.dglt-notice {
    position: relative !important;
    overflow: hidden !important;
}

.dglt-notice::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 2 !important;

    display: block !important;
    width: 7px !important;
    height: 100% !important;

    background-color: #b68c3e !important;
    pointer-events: none !important;
}


/* ==========================================================================
   GREAT LAKE ADVENTURES — PACKAGES

   Desktop card: 1366px × 529px
   Image column: 644px
   Content column: 722px
   ========================================================================== */

.gla-pkg-section,
.gla-pkg-section *,
.gla-pkg-section *::before,
.gla-pkg-section *::after {
    box-sizing: border-box !important;
}

.gla-pkg-section {
    width: 100% !important;
    margin: 0 !important;
    color: #252526 !important;
    background: #f5f1e9 !important;
}

.gla-pkg-container {
    width: 100% !important;
    max-width: 1366px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Filters */
.gla-pkg-filter-code {
    width: 100% !important;
}

.gla-pkg-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 0 63px !important;
    padding: 0 !important;
}

.gla-pkg-filter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 11px 20px !important;
    color: #252526 !important;
    background: #ffffff !important;
    border: 1px solid #d9d4cc !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    font-family: "Inter", sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
}

.gla-pkg-filter:hover,
.gla-pkg-filter-active,
.gla-pkg-filter.is-active,
.gla-pkg-filter[aria-pressed="true"] {
    color: #ed1735 !important;
    border-color: #ed1735 !important;
}

/* Main repeater */
.gla-pkg-repeater,
.gla-pkg-repeater > .bde-loop,
.gla-pkg-repeater > .bde-loop > .ee-post {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-repeater > .bde-loop {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 30px !important;
}

.gla-pkg-repeater > .bde-loop > .ee-post {
    display: block !important;
}

/* Package card */
.gla-pkg-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 47.145% 52.855% !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1366px !important;
   
    min-height: 529px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #d9d4cc !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

/* Only the direct text node is filter data. The media wrapper shares the class. */
.gla-pkg-card > .bde-text.gla-pkg-filter-data {
    display: none !important;
}

.gla-pkg-card > .gla-pkg-media.gla-pkg-filter-data {
    display: block !important;
}

/* Image */
.gla-pkg-media {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.gla-pkg-image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Decorative badges */
.gla-pkg-badges {
    position: absolute !important;
    top: 20px !important;
    left: 30px !important;
    z-index: 4 !important;
    width: auto !important;
    max-width: calc(100% - 60px) !important;
    pointer-events: none !important;
}

.gla-pkg-badges > .bde-loop {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-badges > .bde-loop > .ee-post,
.gla-pkg-badge-row {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-badge-colour {
    display: none !important;
}

.gla-pkg-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 33px !important;
    margin: 0 !important;
    padding: 7px 16px !important;
    border-radius: 17px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 17px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.gla-pkg-badge-pink .gla-pkg-badge {
    color: #ed1735 !important;
    background: #ffb5c5 !important;
}

.gla-pkg-badge-blue .gla-pkg-badge {
    color: #06366f !important;
    background: #dbebff !important;
}

/* Content */
.gla-pkg-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 40px 50px 42px !important;
    background: #ffffff !important;
}

.gla-pkg-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 25px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-title {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #252526 !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    line-height: 38px !important;
}

.gla-pkg-highlight,
.gla-pkg-description,
.gla-pkg-price-prefix,
.gla-pkg-price-suffix,
.gla-pkg-inclusions-title,
.gla-pkg-inclusion > .bde-text,
.gla-pkg-detail-text,
.gla-pkg-btn {
    font-family: "Inter", sans-serif !important;
}

.gla-pkg-highlight {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #00bcd8 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
}

.gla-pkg-description {
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 24px !important;
}

/* Price */
.gla-pkg-price-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    min-width: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
}

.gla-pkg-price-line {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-price-prefix {
    margin: 0 !important;
    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
}

.gla-pkg-price {
    margin: 0 !important;
    color: #252526 !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 29px !important;
    white-space: nowrap !important;
}

.gla-pkg-price-suffix {
    margin: 1px 0 0 !important;
    color: #999999 !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 18px !important;
}


/* =========================================
   GLA PACKAGE CARD — REPEATER INCLUSIONS
========================================= */

.gla-pkg-inclusions-box {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 137px !important;
    margin: 10px 0 0 !important;
    padding: 22px 20px !important;
    background: #faf8f4 !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
}

.gla-pkg-inclusions-title {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 11px !important;
    padding: 0 !important;
    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    text-transform: uppercase !important;
}

.gla-pkg-inclusions {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* The repeater itself creates the two columns */
.gla-pkg-inclusions > .bde-loop.bde-loop-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 8px 30px !important;
    align-items: start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Each repeater item can grow when its text wraps */
.gla-pkg-inclusions > .bde-loop > .ee-post {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-inclusion {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 24px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-inclusion::before {
    content: "✓" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    margin-top: 4px !important;
    color: #00c0e0 !important;
    border: 2px solid #00c0e0 !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    font-family: Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.gla-pkg-inclusion > .bde-text {
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #252526 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
}

/* Bottom row */
.gla-pkg-bottom {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    width: 100% !important;
    min-height: 73px !important;
    margin: auto 0 0 !important;
    padding: 27px 0 0 !important;
    border-top: 1px solid #dcdcdc !important;
}

.gla-pkg-details {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-details > .bde-loop.bde-loop-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 20px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-details > .bde-loop > .ee-post {
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-detail {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gla-pkg-detail-icon-data {
    display: none !important;
}

.gla-pkg-detail-text {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #4c4c4c !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
}

.gla-pkg-detail-icon {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
}

.gla-pkg-detail-icon > * {
    display: none !important;
}

.gla-pkg-detail-icon::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

.gla-pkg-details > .bde-loop > :nth-child(1) .gla-pkg-detail-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238e9294' d='M7 13c1.66 0 3-1.34 3-3S8.66 7 7 7s-3 1.34-3 3 1.34 3 3 3Zm12-6h-8v7H3V5H1v15h2v-3h18v3h2v-9c0-2.21-1.79-4-4-4Z'/%3E%3C/svg%3E") !important;
}

.gla-pkg-details > .bde-loop > :nth-child(2) .gla-pkg-detail-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238e9294' d='M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7Zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4Z'/%3E%3C/svg%3E") !important;
}

/* Buttons */
.gla-pkg-buttons {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding: 0 !important;
}

.gla-pkg-btn {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    width: auto !important;
    min-width: max-content !important;
    height: 45px !important;
    min-height: 45px !important;
    margin: 0 !important;
    padding: 10px 17px !important;
    color: #252526 !important;
    background: #ffffff !important;
    border: 1px solid #8f8f8f !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

.gla-pkg-btn .bde-text,
.gla-pkg-btn .bde-rich-text,
.gla-pkg-btn .breakdance-rich-text-styles,
.gla-pkg-btn p,
.gla-pkg-btn span {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.gla-pkg-btn-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.gla-pkg-btn-icon > * {
    display: none !important;
}

.gla-pkg-btn-icon::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    -webkit-mask: none !important;
    mask: none !important;
}

.gla-pkg-customise .gla-pkg-btn-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23252526' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm17.71-10.21a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83Z'/%3E%3C/svg%3E") !important;
}

.gla-pkg-book {
    color: #ed1735 !important;
    border-color: #ed1735 !important;
}

.gla-pkg-book .gla-pkg-btn-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ed1735' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm0 16H5V9h14v11ZM7 11h5v5H7v-5Z'/%3E%3C/svg%3E") !important;
}

.gla-pkg-customise:hover,
.gla-pkg-customise:focus-visible {
    color: #ffffff !important;
    background: #252526 !important;
    border-color: #252526 !important;
}

.gla-pkg-customise:hover .gla-pkg-btn-icon::before,
.gla-pkg-customise:focus-visible .gla-pkg-btn-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25Zm17.71-10.21a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83Z'/%3E%3C/svg%3E") !important;
}

.gla-pkg-book:hover,
.gla-pkg-book:focus-visible {
    color: #ffffff !important;
    background: #ed1735 !important;
    border-color: #ed1735 !important;
}

.gla-pkg-book:hover .gla-pkg-btn-icon::before,
.gla-pkg-book:focus-visible .gla-pkg-btn-icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm0 16H5V9h14v11ZM7 11h5v5H7v-5Z'/%3E%3C/svg%3E") !important;
}

.gla-pkg-card[hidden],
.gla-pkg-card.gla-pkg-hidden,
.gla-pkg-repeater > .bde-loop > .ee-post.gla-pkg-hidden {
    display: none !important;
}

/* Tablet */
@media (max-width: 1100px) {
    .gla-pkg-card {
        grid-template-columns: 1fr !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .gla-pkg-media {
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
    }

    .gla-pkg-body {
        height: auto !important;
        min-height: 500px !important;
        padding: 40px 45px !important;
    }

    .gla-pkg-inclusions-box {
        height: auto !important;
        min-height: 137px !important;
        margin-top: 35px !important;
        overflow: visible !important;
    }

    .gla-pkg-bottom {
        margin-top: 35px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .gla-pkg-container {
        width: 90% !important;
    }

    .gla-pkg-filters {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        margin-bottom: 28px !important;
        padding: 4px 2px 10px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .gla-pkg-filters::-webkit-scrollbar {
        display: none !important;
    }

    .gla-pkg-filter {
        flex: 0 0 auto !important;
        min-height: 42px !important;
        padding: 10px 17px !important;
        font-size: 14px !important;
    }

    .gla-pkg-repeater > .bde-loop {
        gap: 22px !important;
    }

    .gla-pkg-media {
        aspect-ratio: 4 / 3 !important;
    }

    .gla-pkg-badges {
        top: 14px !important;
        left: 14px !important;
        max-width: calc(100% - 28px) !important;
    }

    .gla-pkg-badge {
        min-height: 28px !important;
        padding: 6px 12px !important;
        font-size: 11px !important;
        line-height: 14px !important;
    }

    .gla-pkg-body {
        min-height: 0 !important;
        padding: 25px 20px 22px !important;
    }

    .gla-pkg-top {
        gap: 15px !important;
    }

    .gla-pkg-title {
        font-size: 27px !important;
        line-height: 33px !important;
    }

    .gla-pkg-price-wrap {
        min-width: 110px !important;
    }

    .gla-pkg-price-prefix {
        font-size: 14px !important;
    }

    .gla-pkg-price {
        font-size: 21px !important;
    }

    .gla-pkg-price-suffix {
        font-size: 12px !important;
    }

    .gla-pkg-highlight,
    .gla-pkg-description {
        font-size: 15px !important;
        line-height: 22px !important;
    }

    .gla-pkg-inclusions-box {
        height: auto !important;
        min-height: 0 !important;
        margin-top: 28px !important;
        padding: 20px 18px !important;
        overflow: visible !important;
    }

    .gla-pkg-inclusions > .bde-loop.bde-loop-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
        grid-auto-rows: auto !important;
        row-gap: 10px !important;
    }

    .gla-pkg-inclusions > .bde-loop > .ee-post,
    .gla-pkg-inclusion {
        height: auto !important;
        min-height: 24px !important;
    }

    .gla-pkg-inclusion > .bde-text {
        font-size: 14px !important;
        line-height: 21px !important;
        white-space: normal !important;
    }

    .gla-pkg-bottom {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 20px !important;
        min-height: 0 !important;
        margin-top: 30px !important;
        padding-top: 22px !important;
    }

    .gla-pkg-details > .bde-loop.bde-loop-grid {
        flex-wrap: wrap !important;
        gap: 12px 22px !important;
    }

    .gla-pkg-detail-text {
        font-size: 14px !important;
    }

    .gla-pkg-buttons {
        width: 100% !important;
        height: auto !important;
        margin-left: 0 !important;
    }

    .gla-pkg-btn {
        flex: 1 1 50% !important;
        min-width: 0 !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 479px) {
    .gla-pkg-top {
        display: flex !important;
        flex-direction: column !important;
    }

    .gla-pkg-price-wrap {
        align-items: flex-start !important;
        min-width: 0 !important;
        text-align: left !important;
    }

    .gla-pkg-price-line {
        justify-content: flex-start !important;
    }

    .gla-pkg-buttons {
        flex-direction: column !important;
    }

    .gla-pkg-btn {
        flex: none !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   SITE-WIDE RESPONSIVE CONTAINER AND SECTION SPACING
   ========================================================================== */

@media (max-width: 991px) {
    .default-padding {
        padding-top: 75px !important;
        padding-bottom: 75px !important;
    }
}

@media (max-width: 767px) {
    .default-padding {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    .default-container,
    .specs-container,
    .experience-highlights > .default-container,
    .rates-container,
    .gla-experiences .exp-wrap,
    .dining-breakfast-section .dining-container,
    .venues-section .venues-container,
    .vessels-section .vessels-container,
    .gla-pkg-container {
        width: 90% !important;
        max-width: 1366px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}
/* ==========================================================================
   COMPARE BOATS — FORCE ACF VALUE STYLES
   ========================================================================== */

/* Normal */
.specs-table .spec-value.spec-value--normal {
    color: #333333 !important;
    font-weight: 400 !important;
}

/* 38 South bold accent */
.specs-table .value-one .spec-value.spec-value--accent {
    color: #28676a !important;
    font-weight: 700 !important;
}

/* Loloma bold accent */
.specs-table .value-two .spec-value.spec-value--accent {
    color: #04356b !important;
    font-weight: 700 !important;
}

/* Muted grey */
.specs-table .spec-value.spec-value--muted {
    color: #b9b9b9 !important;
    font-weight: 400 !important;
}

/* =========================================
   CONTACT SECTION — FORCE INTER FONT
   Add at the very bottom of the stylesheet
========================================= */

.contact-section,
.contact-section *,
.contact-section *::before,
.contact-section *::after,
.contact-section input,
.contact-section textarea,
.contact-section select,
.contact-section option,
.contact-section button {
    font-family: "Inter", Arial, sans-serif !important;
}
/* CONTACT PAGE — FORCE INTER ON EVERY ELEMENT */

.contact-section,
.contact-section .contact-container,
.contact-section .contact-layout,
.contact-section .contact-left,
.contact-section .contact-right,
.contact-section .contact-left-stack,
.contact-section .contact-info-card,
.contact-section .contact-location-code,
.contact-section .contact-direct-code,
.contact-section .contact-card-heading,
.contact-section .contact-card-icon,
.contact-section .contact-card-details,
.contact-section .contact-detail-row,
.contact-section .contact-detail-label,
.contact-section .contact-detail-value,
.contact-section .contact-detail-link,
.contact-section .contact-map-card,
.contact-section .contact-map-label,
.contact-section .contact-form-card,
.contact-section .contact-form-intro,
.contact-section .contact-form-code,
.contact-section .gla-contact-form,
.contact-section .gla-form-row,
.contact-section .gla-form-field,
.contact-section .gla-form-field label,
.contact-section .gla-form-submit,
.contact-section input,
.contact-section textarea,
.contact-section select,
.contact-section option,
.contact-section button,
.contact-section .wpcf7-response-output,
.contact-section .wpcf7-not-valid-tip {
    font-family: "Inter", Arial, sans-serif !important;
}

/* Form placeholder typography */
.contact-section input::placeholder,
.contact-section textarea::placeholder {
    font-family: "Inter", Arial, sans-serif !important;
}

/* Ensure links inherit the surrounding Inter typography */
.contact-section .contact-detail-link {
    font-family: inherit !important;
}

/* =========================================
   CONTACT FORM — COMPACT ROW SPACING
========================================= */

.contact-section .gla-contact-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

.contact-section .gla-form-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 18px !important;
}

/* Remove Contact Form 7 paragraph spacing */
.contact-section .gla-form-field,
.contact-section .gla-form-field > p,
.contact-section .gla-form-submit,
.contact-section .gla-form-submit > p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove the BR inserted by Contact Form 7 */
.contact-section .gla-form-field p > br {
    display: none !important;
}

/* Controlled space between labels and fields */
.contact-section .gla-form-field label {
    display: block !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

/* Ensure CF7 wrappers do not add spacing */
.contact-section .gla-form-field .wpcf7-form-control-wrap {
    display: block !important;
    margin: 0 !important;
}

/* Message field */
.contact-section .gla-form-field textarea {
    min-height: 130px !important;
    height: 130px !important;
}

/* Submit button spacing */
.contact-section .gla-form-submit {
    margin-top: 2px !important;
}

/* Validation messages */
.contact-section .wpcf7-not-valid-tip {
    display: block !important;
    margin-top: 5px !important;
}

/* Tablet and mobile */
@media (max-width: 767px) {

    .contact-section .gla-contact-form {
        gap: 16px !important;
    }

    .contact-section .gla-form-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

}


/* =========================================
   GREAT LAKE ADVENTURES — ENQUIRY FORM
========================================= */

.gla-enquiry-form {
  width: 100%;
  color: #012c61;
}

.gla-enquiry-form .gla-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.gla-enquiry-form .gla-form-field {
  min-width: 0;
}

.gla-enquiry-form .gla-form-field--full {
  grid-column: 1 / -1;
}

.gla-enquiry-form label {
  display: block;
  color: #012c61;
  font-size: 20px;
  font-weight: 600;
}

.gla-enquiry-form input:not([type="checkbox"]),
.gla-enquiry-form select,
.gla-enquiry-form textarea {
  width: 100% !important;
  min-height: 52px;
  margin: 0 !important;
  padding: 13px 16px !important;
  border: 1px solid #cbd5df !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-family: inherit;
  font-size: 16px !important;
  line-height: 1.4;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gla-enquiry-form textarea {
  min-height: 150px;
  resize: vertical;
}

.gla-enquiry-form input:focus,
.gla-enquiry-form select:focus,
.gla-enquiry-form textarea:focus {
  outline: none !important;
  border-color: #00bdc7 !important;
  box-shadow: 0 0 0 3px rgba(0, 189, 199, 0.14) !important;
}

.gla-enquiry-form input::placeholder,
.gla-enquiry-form textarea::placeholder {
  color: #737d87;
  opacity: 1;
}

.gla-enquiry-form .gla-consent .wpcf7-list-item {
  margin: 0;
}

.gla-enquiry-form .gla-consent label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-weight: 400;
  line-height: 1.5;
}

.gla-enquiry-form .gla-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #012c61;
  flex: 0 0 auto;
}

.gla-enquiry-form .gla-submit-wrap {
  display: flex;
  align-items: center;
  gap: 15px;
}

.gla-enquiry-form .gla-submit {
  min-width: 180px;
  padding: 15px 28px !important;
  border: 1px solid #012c61 !important;
  border-radius: 8px !important;
  background: #012c61 !important;
  color: #ffffff !important;
  font-family: inherit;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.gla-enquiry-form .gla-submit:hover,
.gla-enquiry-form .gla-submit:focus {
  border-color: #00bdc7 !important;
  background: #00bdc7 !important;
  color: #012c61 !important;
}

.gla-enquiry-form .wpcf7-not-valid {
  border-color: #d93025 !important;
}

.gla-enquiry-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #d93025;
  font-size: 13px;
}

.gla-enquiry-form ~ .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
  margin: 22px 0 0 !important;
  padding: 14px 16px !important;
  border-radius: 6px;
}

/* Mobile */
@media (max-width: 767px) {
  .gla-enquiry-form .gla-form-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .gla-enquiry-form .gla-form-field--full {
    grid-column: auto;
  }

  .gla-enquiry-form .gla-submit {
    width: 100%;
  }
}

.gla-enquiry-form .gla-form-grid {
  column-gap: 24px;
  row-gap: 12px;
}

.gla-enquiry-form .gla-form-field p {
  margin: 0 !important;
}

@media (max-width: 767px) {
  .gla-enquiry-form .gla-form-grid {
    row-gap: 12px;
  }
}

/* Equal-height repeater cards */
.why-work-with-us-repeater .bde-loop.bde-loop-grid {
    align-items: stretch !important;
    grid-auto-rows: 1fr !important;
}

.why-work-with-us-repeater .bde-loop.bde-loop-grid > .ee-post {
    height: 100% !important;
}

.why-work-with-us-repeater .why-we-work-icon-box {
    height: 100% !important;
    box-sizing: border-box !important;
}


/* =========================================
   GLA — TRADE ENQUIRY FORM
   Classes:
   .gla-trade-enquiry-form
   .gla-trade-enquiry-grid
   .gla-trade-enquiry-field
   .gla-trade-enquiry-field--full
   .gla-trade-enquiry-submit
   .gla-trade-enquiry-button
========================================= */

.gla-trade-enquiry-form {
    width: 100% !important;
}

.gla-trade-enquiry-form *,
.gla-trade-enquiry-form *::before,
.gla-trade-enquiry-form *::after {
    box-sizing: border-box !important;
}

.gla-trade-enquiry-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 48px !important;
    row-gap: 0px !important;
    width: 100% !important;
}

.gla-trade-enquiry-field {
    min-width: 0 !important;
}

.gla-trade-enquiry-field--full {
    grid-column: 1 / -1 !important;
}

.gla-trade-enquiry-field label {
    display: block !important;
    margin: 0 0 0 0px !important;
    color: #292d32 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
}

.gla-trade-enquiry-field .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

.gla-trade-enquiry-field input:not([type="submit"]),
.gla-trade-enquiry-field select,
.gla-trade-enquiry-field textarea {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    color: #292d32 !important;
    background-color: #fff !important;
    border: 1px solid #ded9d3 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
}

.gla-trade-enquiry-field input:not([type="submit"]),
.gla-trade-enquiry-field select {
    height: 52px !important;
    min-height: 52px !important;
}

.gla-trade-enquiry-field input::placeholder,
.gla-trade-enquiry-field textarea::placeholder {
    color: #919397 !important;
    opacity: 1 !important;
}

.gla-trade-enquiry-field select {
    padding-right: 42px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23292d32' stroke-width='2'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    cursor: pointer !important;
}

.gla-trade-enquiry-field textarea {
    height: 129px !important;
    min-height: 129px !important;
    resize: vertical !important;
}

.gla-trade-enquiry-field input:focus,
.gla-trade-enquiry-field select:focus,
.gla-trade-enquiry-field textarea:focus {
    outline: none !important;
    border-color: #e00027 !important;
    box-shadow: 0 0 0 3px rgba(224, 0, 39, 0.1) !important;
}

.gla-trade-enquiry-submit {
    margin-top: 36px !important;
}

.gla-trade-enquiry-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    color: #e00027 !important;
    background: transparent !important;
    border: 1px solid #e00027 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.gla-trade-enquiry-button:hover,
.gla-trade-enquiry-button:focus {
    color: #fff !important;
    background: #e00027 !important;
}

.gla-trade-enquiry-form .wpcf7-not-valid-tip {
    margin-top: 6px !important;
    font-size: 13px !important;
}

@media (max-width: 767px) {
    .gla-trade-enquiry-grid {
        grid-template-columns: 1fr !important;
        row-gap: 10px !important;
    }

    .gla-trade-enquiry-field--full {
        grid-column: auto !important;
    }

    .gla-trade-enquiry-submit {
        margin-top: 28px !important;
    }
}

/* Remove extra space between labels and fields */
.gla-trade-enquiry-form .gla-trade-enquiry-field br {
    display: none !important;
}

.gla-trade-enquiry-form .gla-trade-enquiry-field p {
    margin: 0 !important;
    padding: 0 !important;
}

.gla-trade-enquiry-form .gla-trade-enquiry-field label {
    margin: 0 0 6px !important;
    padding: 0 !important;
    line-height: 20px !important;
}

.gla-trade-enquiry-form .gla-trade-enquiry-field .wpcf7-form-control-wrap {
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================
   GREAT LAKE ADVENTURES — CUSTOM PACKAGE FORM
========================================= */

.gla-custom-pkg-form {
    width: 100% !important;
    color: #012c61 !important;
}

.gla-custom-pkg-form *,
.gla-custom-pkg-form *::before,
.gla-custom-pkg-form *::after {
    box-sizing: border-box !important;
}

.gla-custom-pkg-intro {
    margin: 0 0 24px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.gla-custom-pkg-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 28px !important;
    row-gap: 12px !important;
    width: 100% !important;
}

.gla-custom-pkg-title {
    grid-column: 1 / -1 !important;
    margin: 24px 0 4px !important;
    color: #012c61 !important;
    font-family: "GT Alpina Fine Medium", Georgia, serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.gla-custom-pkg-title:first-child {
    margin-top: 0 !important;
}

.gla-custom-pkg-field {
    min-width: 0 !important;
}

.gla-custom-pkg-field--full {
    grid-column: 1 / -1 !important;
}

.gla-custom-pkg-field > label,
.gla-custom-pkg-field > .gla-custom-pkg-label {
    display: block !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: #012c61 !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 26px !important;
}

/* Prevent extra Contact Form 7 spacing between labels and fields */
.gla-custom-pkg-field p {
    margin: 0 !important;
    padding: 0 !important;
}

.gla-custom-pkg-field br {
    display: none !important;
}

.gla-custom-pkg-field .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

.gla-custom-pkg-field input:not([type="checkbox"]),
.gla-custom-pkg-field select,
.gla-custom-pkg-field textarea {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    color: #252526 !important;
    background: #fff !important;
    border: 1px solid #cbd5df !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 26px !important;
}

.gla-custom-pkg-field input:not([type="checkbox"]),
.gla-custom-pkg-field select {
    height: 52px !important;
    min-height: 52px !important;
}

.gla-custom-pkg-field textarea {
    height: 150px !important;
    min-height: 150px !important;
    resize: vertical !important;
}

.gla-custom-pkg-field input::placeholder,
.gla-custom-pkg-field textarea::placeholder {
    color: #858d96 !important;
    opacity: 1 !important;
}

.gla-custom-pkg-field input:focus,
.gla-custom-pkg-field select:focus,
.gla-custom-pkg-field textarea:focus {
    outline: none !important;
    border-color: #2d696b !important;
    box-shadow: 0 0 0 3px rgba(45, 105, 107, 0.12) !important;
}

.gla-custom-pkg-field small {
    display: block !important;
    margin-top: 6px !important;
    color: #526477 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.gla-custom-pkg-options .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 16px !important;
}

.gla-custom-pkg-options .wpcf7-list-item {
    display: block !important;
    margin: 0 !important;
}

.gla-custom-pkg-options .wpcf7-list-item label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    color: #252526 !important;
    background: #faf8f4 !important;
    border: 1px solid #e2e6e9 !important;
    border-radius: 7px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 22px !important;
    cursor: pointer !important;
}

.gla-custom-pkg-options input[type="checkbox"],
.gla-custom-pkg-consent input[type="checkbox"] {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;
    accent-color: #012c61 !important;
}

.gla-custom-pkg-consent {
    margin-top: 22px !important;
}

.gla-custom-pkg-consent .wpcf7-list-item {
    margin: 0 !important;
}

.gla-custom-pkg-consent label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    color: #252526 !important;
    font-size: 15px !important;
    line-height: 23px !important;
    cursor: pointer !important;
}

.gla-custom-pkg-submit-wrap {
    margin-top: 22px !important;
}

.gla-custom-pkg-submit {
    width: auto !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    color: #fff !important;
    background: #012c61 !important;
    border: 1px solid #012c61 !important;
    border-radius: 7px !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.gla-custom-pkg-submit:hover,
.gla-custom-pkg-submit:focus {
    color: #fff !important;
    background: #2d696b !important;
    border-color: #2d696b !important;
}

.gla-custom-pkg-form .wpcf7-not-valid-tip {
    margin-top: 5px !important;
    font-size: 13px !important;
}

@media (max-width: 767px) {
    .gla-custom-pkg-grid {
        grid-template-columns: 1fr !important;
    }

    .gla-custom-pkg-title,
    .gla-custom-pkg-field--full {
        grid-column: auto !important;
    }

    .gla-custom-pkg-options .wpcf7-checkbox {
        grid-template-columns: 1fr !important;
    }

    .gla-custom-pkg-field > label,
    .gla-custom-pkg-field > .gla-custom-pkg-label {
        font-size: 18px !important;
        line-height: 24px !important;
    }
}

/* PACKAGE CARD — wrap bottom detail text */
.gla-pkg-card .gla-pkg-bottom,
.gla-pkg-card .gla-pkg-details,
.gla-pkg-card .gla-pkg-details .bde-loop,
.gla-pkg-card .gla-pkg-details .ee-post,
.gla-pkg-card .gla-pkg-details .oxy-container,
.gla-pkg-card .gla-pkg-details .bde-icon-list,
.gla-pkg-card .gla-pkg-details li {
  min-width: 0 !important;
  max-width: 100% !important;
}

.gla-pkg-card .gla-pkg-details {
  width: 100% !important;
}

.gla-pkg-card .gla-pkg-details > .bde-loop > .ee-post {
  flex: 1 1 0 !important;
  width: auto !important;
}

.gla-pkg-card .gla-pkg-details .bde-icon-list__item-wrapper {
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
}

.gla-pkg-card .gla-pkg-details .bde-icon-list__icon {
  flex: 0 0 auto !important;
}

.gla-pkg-card .gla-pkg-details .bde-icon-list__text {
  display: block !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* =========================================
   PLAN YOUR ESCAPE — OVERLAY
   .gla-escape-modal
   .gla-escape-panel
========================================= */

.gla-escape-modal:not(.is-open),
.gla-escape-modal[hidden] {
  display: none !important;
}

.gla-escape-modal,
.gla-escape-modal * {
  box-sizing: border-box;
}

.gla-escape-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: 24px !important;

  overflow-y: auto !important;
  background: rgba(1, 44, 97, 0.78) !important;
}

.gla-escape-panel {
  width: min(1300px, 100%) !important;
  max-width: 1300px !important;
  max-height: calc(100dvh - 48px) !important;
  margin: auto !important;
  padding: clamp(22px, 3vw, 40px) !important;

  overflow-y: auto !important;
  overscroll-behavior: contain;
  border-radius: 18px !important;
  background: #fcf8f2 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.25) !important;
}

/* =========================================
   POPUP HEADING AND CLOSE
   .gla-escape-top
   .gla-escape-heading
   .gla-escape-close
========================================= */

.gla-escape-top {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;

  width: 100% !important;
  margin-bottom: 28px !important;
}

.gla-escape-heading {
  margin: 0 !important;
  color: #012c61 !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.15 !important;
}

.gla-escape-close {
  display: flex !important;
  flex: 0 0 44px !important;
  align-items: center !important;
  justify-content: center !important;

  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid #d8d3cc !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #012c61 !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

/* =========================================
   ACF REPEATER GRID
   .gla-escape-grid
   Oxygen may add .bde-loop or .bde-loop-grid
========================================= */

.gla-escape-grid,
.gla-escape-grid .bde-loop,
.gla-escape-grid .bde-loop-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

/* Let an internal Oxygen loop wrapper occupy the full grid width. */
.gla-escape-grid > .bde-loop,
.gla-escape-grid > .bde-loop-grid,
.gla-escape-grid .bde-loop > .bde-loop-grid {
  grid-column: 1 / -1 !important;
}

.gla-escape-grid .bde-loop-item,
.gla-escape-grid .bde-dynamic-repeater-item,
.gla-escape-grid .ee-post {
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

/* =========================================
   REPEATED CARD
   .gla-escape-card
   .gla-escape-image
   .gla-escape-card-body
   .gla-escape-card-head
   .gla-escape-card-title
   .gla-escape-arrow
   .gla-escape-card-desc
========================================= */

.gla-escape-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  border: 1px solid #d8d3cc !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #012c61 !important;
  text-decoration: none !important;
}

.gla-escape-card *,
.gla-escape-card *:hover {
  text-decoration: none !important;
}

.gla-escape-card:hover,
.gla-escape-card:focus-visible {
  border-color: #b68c3e !important;
  box-shadow: 0 8px 24px rgba(1, 44, 97, 0.12) !important;
}

.gla-escape-card .gla-escape-image,
.gla-escape-card .gla-escape-image img,
.gla-escape-card .gla-escape-image picture,
.gla-escape-card .gla-escape-image picture img {
  display: block !important;
  width: 100% !important;
  height: 190px !important;
  max-height: 190px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

.gla-escape-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 10px !important;

  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 20px !important;
}

.gla-escape-card-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;

  width: 100% !important;
  margin: 0 !important;
}

.gla-escape-card-title {
  min-width: 0 !important;
  margin: 0 !important;
  color: #012c61 !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
}

.gla-escape-arrow {
  flex: 0 0 auto !important;
  margin: 0 !important;
  color: #b68c3e !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

.gla-escape-card-desc {
  margin: 0 !important;
  color: #252526 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* =========================================
   GENERAL ENQUIRY LINK
   .gla-escape-enquiry
========================================= */

.gla-escape-enquiry {
  display: inline-flex !important;
  width: auto !important;
  margin-top: 26px !important;
  padding: 0 !important;
  color: #0266e0 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

.gla-escape-enquiry:hover {
  color: #012c61 !important;
  text-decoration: underline !important;
}

.gla-escape-close:focus-visible,
.gla-escape-card:focus-visible,
.gla-escape-enquiry:focus-visible {
  outline: 3px solid #0266e0 !important;
  outline-offset: 3px !important;
}

/* TABLET — TWO CARDS */
@media (max-width: 1100px) {
  .gla-escape-grid,
  .gla-escape-grid .bde-loop,
  .gla-escape-grid .bde-loop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* MOBILE — ONE CARD */
@media (max-width: 767px) {
  .gla-escape-modal {
    padding: 12px !important;
  }

  .gla-escape-panel {
    max-height: calc(100dvh - 24px) !important;
    padding: 20px !important;
  }

  .gla-escape-top {
    align-items: flex-start !important;
    margin-bottom: 20px !important;
  }

  .gla-escape-heading {
    font-size: 28px !important;
  }

  .gla-escape-grid,
  .gla-escape-grid .bde-loop,
  .gla-escape-grid .bde-loop-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .gla-escape-card .gla-escape-image,
  .gla-escape-card .gla-escape-image img,
  .gla-escape-card .gla-escape-image picture,
  .gla-escape-card .gla-escape-image picture img {
    height: 155px !important;
    max-height: 155px !important;
  }

  .gla-escape-card-body {
    padding: 16px !important;
  }
}