/** Shopify CDN: Minification failed

Line 836:0 Unexpected "}"

**/
/* Match 300X package layout to 380X */
.explorer300x-package img {
  width: 100% !important;
  max-width: 600px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto 15px !important;
  object-fit: contain !important;
}
@media(max-width:768px){
  .explorer300x-package img {
    max-width: 100% !important;
  }
}
  /* --- Global Fix for Product Layouts --- */

/* 1. Prevent horizontal overflow on all containers */
.product__description,
.rte,
.container,
.row,
[class*="col-"] {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

/* 2. Standard & Key Features responsive fix */
.standard-features,
.key-features {
  width: 100% !important;
  overflow-x: hidden !important;
  display: block !important;
  box-sizing: border-box;
  padding-left: 10px;
  padding-right: 10px;
}

/* 3. Center all package Add to Cart buttons */
.fastcat12-package a.button,
.fastcat14-package a.button,
.explorer380x-package a.button,
.explorer300x-package a.button,
.package-buttons a.button {
  display: inline-block !important;
  margin: 25px auto 60px auto !important;
  text-align: center !important;
  left: 0;
  right: 0;
  position: relative;
}

/* 4. Remove unnecessary scrollbars on desktop */
body, html {
  overflow-x: hidden !important;
}

/* 5. Mobile fine-tune: clamp any oversized media or columns */
@media (max-width: 768px) {
  .rte img,
  .product__description img,
  .fastcat12-package img,
  .fastcat14-package img,
  .explorer380x-package img,
  .explorer300x-package img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
    margin: 0 auto;
    display: block;
  }

  .row,
  [class*="col-"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
   /* Limit FastCat12 package image width on desktop */
@media (min-width: 769px) {
  .fastcat12-package img {
    max-width: 600px !important;
    width: 85% !important;
  }
}
   /* Limit FastCat14 package image width on desktop */
@media (min-width: 769px) {
  .fastcat14-package img {
    max-width: 600px !important;
    width: 85% !important;
  }
}
    /* --- GLOBAL RESPONSIVE CLEANUP --- */

/* Prevent sideways scrolling on mobile */
html, body, .rte, .product__description, .container, .row {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

/* Ensure images and videos never overflow */
img, iframe {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Center and normalize all Add to Cart buttons */
.explorer380x-package .button,
.explorer300x-package .button,
.fastcat12-package .button,
.fastcat14-package .button {
  display: inline-block !important;
  width: auto !important;
  max-width: 90%;
  text-align: center;
  margin: 20px auto 50px auto !important;
  float: none !important;
}

/* Remove any accidental flex or grid misalignment */
.fastcat12-package,
.fastcat14-package,
.explorer300x-package,
.explorer380x-package {
  text-align: center !important;
  margin: 0 auto !important;
  justify-content: center !important;
}

/* Make sure features sections fit the viewport */
.standard-features,
.key-features,
.container,
.row {
  box-sizing: border-box;
  padding-left: 10px;
  padding-right: 10px;
}
  /* --- Fix inner vertical scroll on product sections --- */
.standard-features,
.key-features,
.fastcat12-package,
.fastcat14-package,
.explorer300x-package,
.explorer380x-package,
.container,
.row {
  overflow-y: visible !important;
  max-height: none !important;
}

/* Prevent inner scrolling containers */
div[style*="overflow-y"],
section[style*="overflow-y"] {
  overflow-y: visible !important;
  max-height: none !important;
}

/* Ensure main layout scrolls normally with one scrollbar */
.main-content,
.page-width,
.shopify-section {
  overflow-y: visible !important;
}
/* =======================================
   FASTCAT12 COMPLETE FIX (FINAL CLEANUP)
   ======================================= */

/* Reset all layout containers to prevent overflow */
html, body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  margin: 0;
  padding: 0;
}

/* Remove nested scrollbars */
.container, .row, .standard-features, .fastcat12-package {
  overflow: visible !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* Ensure no horizontal scrolling on mobile */
.standard-features, .key-features, .fastcat12-package {
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 10px;
  padding-right: 10px;
}

/* Fix mobile cutoff for all images and videos */
.standard-features img,
.key-features img,
.fastcat12-package img,
iframe[src*="youtube.com"],
iframe[src*="youtu.be"] {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 0 auto 25px !important;
  border-radius: 10px;
}

/* Limit YouTube video size on desktop */
@media (min-width: 992px) {
  iframe[src*="youtube.com"],
  iframe[src*="youtu.be"] {
    max-width: 800px !important;
    height: auto !important;
  }
}

/* Fix buttons — center, remove outlines, unify style */
.fastcat12-package a.button,
.fastcat12-package .button {
  display: inline-block !important;
  background-color: #E6C24F !important;
  color: #000 !important;
  font-weight: bold;
  padding: 12px 24px;
  border-radius: 8px;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer;
  transition: all 0.25s ease !important;
  margin: 25px auto !important;
  min-width: 220px;
}

/* Remove all outlines on click and hover */
.fastcat12-package a.button:focus,
.fastcat12-package a.button:active,
.fastcat12-package a.button:visited {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Clean hover effect */
.fastcat12-package a.button:hover {
  background-color: #00BFFF !important;
  color: #fff !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15) !important;
}

/* Ensure buttons stay centered */
.fastcat12-package {
  text-align: center !important;
}

/* Make mobile layout fully responsive */
@media (max-width: 768px) {
  .fastcat12-package {
    padding: 15px !important;
  }

  .fastcat12-package a.button {
    width: 100% !important;
    font-size: 1rem !important;
  }

  .standard-features,
  .key-features {
    padding: 0 10px !important;
  }

  .standard-features img,
  .key-features img {
    width: 100% !important;
  }
}
  /* =======================================
   FINAL FASTCAT12 POLISH FIX
   ======================================= */

/* Stronger reset to kill extra gray borders */
.fastcat12-package a.button,
.fastcat12-package .button,
.fastcat12-package a.shopify-button {
  display: block !important;
  margin: 25px auto !important;
  text-align: center !important;
  background-color: #E6C24F !important;
  color: #000 !important;
  font-weight: bold;
  padding: 12px 24px !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  width: fit-content !important;
  cursor: pointer;
  transition: all 0.25s ease !important;
}

/* Hover and focus states */
.fastcat12-package a.button:hover,
.fastcat12-package a.shopify-button:hover {
  background-color: #00BFFF !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.15) !important;
}

.fastcat12-package a.button:focus,
.fastcat12-package a.button:active,
.fastcat12-package a.button:visited {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Make buttons centered for all screen sizes */
.fastcat12-package {
  text-align: center !important;
}
.fastcat12-package a.button {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fix mobile cutoff below diagram */
@media (max-width: 768px) {
  .standard-features,
  .key-features,
  .fastcat12-package,
  .container,
  .row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* Mobile buttons full width but clean */
  .fastcat12-package a.button {
    display: block !important;
    width: 90% !important;
    max-width: 320px !important;
    margin: 20px auto !important;
  }

  /* Prevent horizontal scrollbars globally */
  html, body {
    overflow-x: hidden !important;
  }
}
  /* Remove stray empty checkbox-style boxes on product pages */
.product__description input[type="checkbox"],
.product__description input[type="checkbox"] + label,
.product__description input[type="checkbox"]:empty {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  display: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  content: none !important;
}
  /* 🔧 Remove empty paragraph or span boxes that show as small squares on mobile */
.product__description p:empty,
.product__description span:empty,
.product__description div:empty,
.product__description br:only-child,
.product__description p:only-child:empty {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  content: none !important;
}
  /* Center + match kayak buttons exactly */
.fastcat-btn{
  display:inline-block!important;
  margin:22px auto!important;
  padding:12px 24px!important;
  background:#E6C24F!important;
  color:#000!important;
  font-weight:700!important;
  text-decoration:none!important;
  border:0!important; outline:0!important; box-shadow:none!important;
  border-radius:8px!important;
  width:auto!important; min-width:200px!important; max-width:260px!important;
  text-align:center!important;
}
.fastcat-btn:hover{ background:#00BFFF!important; color:#fff!important; }

/* Kill any theme icons/pseudo-boxes around these buttons */
.fastcat12-package .fastcat-btn::before,
.fastcat12-package .fastcat-btn::after{ content:""!important; display:none!important; }

/* Hide truly empty elements that Shopify paste can inject */
.fastcat12-package > span:empty,
.fastcat12-package > p:empty,
.fastcat12-package > div:empty{ display:none!important; }

/* Also suppress list markers/pseudo markers inside the FastCat section (mobile “boxes”) */
.fastcat12-package *::marker{ content:""!important; }
/* ===== FastCat12 desktop fixes: center buttons + smaller videos ===== */

/* Ensure those two package sections are centered on desktop */
@media (min-width: 769px){
  #FASTCAT12K_D,
  #FASTCAT12K_SWC,
  .fastcat12-package {
    text-align: center !important;
  }

  /* Center the buttons and remove any thin outline/extra styling */
  #FASTCAT12K_D a.button,
  #FASTCAT12K_SWC a.button,
  .fastcat12-package a.button {
    display: inline-block !important;
    float: none !important;
    margin: 22px auto !important;
    width: auto !important;         /* prevent full-width button */
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  /* Kill theme pseudo-elements that create the faint box */
  #FASTCAT12K_D a.button::before,
  #FASTCAT12K_D a.button::after,
  #FASTCAT12K_SWC a.button::before,
  #FASTCAT12K_SWC a.button::after,
  .fastcat12-package a.button::before,
  .fastcat12-package a.button::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Make the desktop videos ~30% smaller (max ~600px) and centered */
  #FASTCAT12K_D iframe[src*="youtube"],
  #FASTCAT12K_D iframe[src*="youtu.be"],
  #FASTCAT12K_SWC iframe[src*="youtube"],
  #FASTCAT12K_SWC iframe[src*="youtu.be"],
  .fastcat12-package iframe[src*="youtube"],
  .fastcat12-package iframe[src*="youtu.be"] {
    display: block !important;
    width: 100% !important;
    max-width: 600px !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    margin: 30px auto !important;
    border: 0 !important;
  }
}
    /* FASTCAT12 desktop: hard-center the buttons and keep video smaller */
@media (min-width: 769px) {
  /* Center everything inside each package card */
  .fastcat12-package { 
    text-align: center !important;
    margin: 40px auto !important;
  }

  /* Nuke any theme float/position that pushes the button left */
  .fastcat12-package > a.button {
    float: none !important;
    position: static !important;
    display: inline-block !important;
    left: auto !important;
    right: auto !important;
    margin: 24px auto !important;
    box-shadow: none !important;
    border: 0 !important;
    outline: 0 !important;
  }

  /* Reduce & center the desktop video */
  .fastcat12-package iframe[src*="youtube"],
  .fastcat12-package iframe[src*="youtu.be"] {
    display: block !important;
    width: 100% !important;
    max-width: 600px !important; /* ~30% smaller */
    height: auto !important;
    margin: 30px auto !important;
    border: 0 !important;
  }

  /* Ensure the table itself is centered */
  .fastcat12-package table {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Remove any pseudo-element outline the theme adds */
  .fastcat12-package > a.button::before,
  .fastcat12-package > a.button::after { 
    content: none !important; 
    display: none !important; 
  }
}
   @media (min-width: 769px) {
  .fastcat12-package {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* forces the button to center */
  }
}
   /* === FASTCAT12: resize images + videos on desktop === */
@media (min-width: 769px) {
  /* Make package photos smaller (about 30–35% reduction) */
  .fastcat12-package img {
    width: 100% !important;
    max-width: 500px !important; /* smaller than current 700–800px */
    height: auto !important;
    margin: 0 auto 20px !important;
    display: block !important;
  }

  /* Make videos smaller and centered */
  .fastcat12-package iframe[src*="youtube"],
  .fastcat12-package iframe[src*="youtu.be"] {
    display: block !important;
    width: 100% !important;
    max-width: 550px !important; /* ~30% smaller */
    height: auto !important;
    aspect-ratio: 16/9;
    margin: 25px auto !important;
    border: none !important;
  }
}
    /* === FASTCAT12 final refinements === */
@media (min-width: 769px) {
  /* Make videos smaller (about 40% smaller than before) */
  .fastcat12-package iframe[src*="youtube"],
  .fastcat12-package iframe[src*="youtu.be"] {
    display: block !important;
    width: 100% !important;
    max-width: 450px !important; /* smaller than before */
    height: auto !important;
    aspect-ratio: 16/9;
    margin: 20px auto !important;
    border: none !important;
  }

  /* Reduce vertical space before first package section */
  h2 a[name="boat-packages"],
  a[name="boat-packages"] {
    display: block !important;
    margin-bottom: 10px !important;
    padding-bottom: 0 !important;
  }

  /* Reduce spacing around first package container */
  .fastcat12-package:first-of-type {
    margin-top: 10px !important;
  }

  /* Ensure heading and package align visually */
  h2:has(a[name="boat-packages"]) {
    margin-bottom: 15px !important;
  }
}
   /* === FASTCAT12 final desktop refinements === */
@media (min-width: 769px) {
  /* Shrink videos further + force centering */
  .fastcat12-package iframe[src*="youtube"],
  .fastcat12-package iframe[src*="youtu.be"] {
    display: block !important;
    width: 100% !important;
    max-width: 380px !important; /* match kayak videos precisely */
    height: auto !important;
    aspect-ratio: 16/9 !important;
    margin: 15px auto 30px auto !important;
    border: none !important;
    transform: none !important;
  }

  /* Remove extra space between "Discount Packages" and first package */
  h2:has(a[name="boat-packages"]),
  a[name="boat-packages"],
  [name="boat-packages"] {
    display: block !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Remove ghost spacing from theme wrappers */
  h2:has(a[name="boat-packages"]) + br,
  h2:has(a[name="boat-packages"]) + p,
  h2:has(a[name="boat-packages"]) + div,
  a[name="boat-packages"] + br,
  a[name="boat-packages"] + p,
  a[name="boat-packages"] + div {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Tighten Deluxe Package position */
  .fastcat12-package:first-of-type {
    margin-top: 5px !important;
  }
}
  /* FastCat12 videos — make top and bottom match */
.fc12-top-video,
.fc12-bottom-video {
  max-width: 760px;          /* same cap for both videos */
  margin: 28px auto 48px;    /* centered + breathing room */
}

.fc12-top-video iframe,
.fc12-bottom-video iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9;
  display: block;
  margin: 0 auto;
  border: 0;
}

/* Mobile: full width, same aspect */
@media (max-width: 768px) {
  .fc12-top-video,
  .fc12-bottom-video {
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }
}
/* === FastCat12 video sizing fix === */
iframe[src*="youtube.com"],
iframe[src*="youtu.be"] {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;  /* Same width for both videos */
  height: auto !important;
  aspect-ratio: 16/9;
  margin: 35px auto 50px !important;
  border: 0 !important;
}

/* Make sure the bottom video isn't constrained by containers */
.fc12-bottom-video,
.fastcat12-package iframe {
  max-width: 760px !important;
  width: 100% !important;
  margin: 35px auto 50px !important;
  display: block !important;
  text-align: center !important;
}

/* Mobile: full width but same ratio */
@media (max-width: 768px) {
  iframe[src*="youtube.com"],
  iframe[src*="youtu.be"] {
    max-width: 100% !important;
    margin: 25px auto !important;
  }
}/* Fix: prevent right-side cutoff on mobile videos */
@media (max-width: 768px) {
  iframe[src*="youtube.com"],
  iframe[src*="youtu.be"],
  .fastcat12-package iframe,
  .fc12-bottom-video iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 20px auto !important;
    display: block !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  body, html {
    overflow-x: hidden !important;
  }

  .fastcat12-package,
  .container,
  .row {
    overflow-x: hidden !important;
  }
}
   /* ===== Fix mobile cutoff for entire lower section on FastCat12 ===== */
@media (max-width: 768px) {
  section.container,
  .standard-features,
  .key-features,
  .fastcat12-package,
  .package-components-table,
  .col-md-6,
  .col-md-12,
  .row,
  .container,
  #id_section_hull_box_size,
  #boat-packages,
  body,
  html {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box !important;
  }

  svg, table {
    max-width: 100% !important;
    width: 100% !important;
  }

  iframe {
    max-width: 100% !important;
    width: 100% !important;

   /* --- Fix Image with Text Overlay cropping on mobile (Superstore) --- */
@media (max-width: 749px) {
  /* Catch the typical Superstore hero/image-with-text/banner containers */
  .shopify-section .image-with-text-overlay,
  .shopify-section .image-with-text,
  .shopify-section .banner,
  .shopify-section .hero,
  .shopify-section .feature-banner {
    position: relative;
  }

  /* Background images used by these sections (cover → center; allow more image to show) */
  .shopify-section .image-with-text-overlay [style*="background-image"],
  .shopify-section .image-with-text [style*="background-image"],
  .shopify-section .banner [style*="background-image"],
  .shopify-section .hero [style*="background-image"],
  .shopify-section .feature-banner [style*="background-image"],
  .shopify-section .image-with-text-overlay__image,
  .shopify-section .banner__media,
  .shopify-section .hero__image,
  .shopify-section .feature-banner__image {
    background-position: center center !important;
    background-size: cover !important;        /* keep full-bleed look */
    background-repeat: no-repeat !important;
    min-height: 420px !important;             /* ensure space for text so it won't cut off */
    width: 100%;
  }

  /* If your image has critical content near the top, switch to top-center instead: */
  /* background-position: center top !important; */

  /* Keep overlay text legible and contained */
  .shopify-section .image-with-text-overlay .overlay,
  .shopify-section .image-with-text-overlay .content,
  .shopify-section .banner__content,
  .shopify-section .hero__text,
  .shopify-section .image-with-text__content {
    max-width: 92% !important;
    margin: 0 auto !important;
    padding: 28px 16px !important;
    box-sizing: border-box !important;
    text-align: center;
    /* Optional: subtle backdrop for better contrast on busy images */
    background: rgba(0,0,0,0.25);
    border-radius: 8px;
  }

  /* Prevent headings from wrapping off-canvas */
  .shopify-section .image-with-text-overlay h1,
  .shopify-section .image-with-text-overlay h2,
  .shopify-section .image-with-text-overlay h3,
  .shopify-section .banner__content h1,
  .shopify-section .banner__content h2,
  .shopify-section .banner__content h3 {
    word-wrap: break-word;
    hyphens: auto;
    line-height: 1.2;
    margin: 0 0 10px;
  }

  /* Tighten section vertical rhythm on small screens */
  .shopify-section .image-with-text-overlay,
  .shopify-section .banner,
  .shopify-section .hero {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

/* --- Utility classes if you decide to run separate desktop/mobile sections --- */
.only-desktop { display: block; }
.only-mobile  { display: none; }

@media (max-width: 749px) {
  .only-desktop { display: none !important; }
  .only-mobile  { display: block !important; }
}

  }

  }
  /* Standardized package image sizing for all products */
.package-image {
  max-width: 600px;  /* adjust this number if you want them smaller/larger */
  width: 100%;
  height: auto;
  border-radius: 4px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Keep images full-width on mobile */
@media (max-width: 768px) {
  .package-image {
    max-width: 100%;
  }
}

}








