/* Saona Island Tour page styles. Extracted from saona-island-tour.aspx. */

.saona-luxury-hero {
    position: relative;
    min-height: 94vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    color: #fff;
    background: #062a31;
  }

  .saona-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.04);
    transform: scale(1.01);
  }

  .saona-luxury-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 78% 20%, rgba(91, 230, 209, .2), transparent 33%),
      linear-gradient(90deg, rgba(2, 15, 18, .86) 0%, rgba(3, 28, 34, .62) 45%, rgba(2, 15, 18, .4) 100%),
      linear-gradient(0deg, rgba(1, 8, 11, .72) 0%, rgba(1, 8, 11, .12) 42%, rgba(1, 8, 11, .48) 100%);
    z-index: 1;
  }

  .saona-luxury-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 38%;
    background: linear-gradient(0deg, rgba(1, 9, 12, .76), rgba(1, 9, 12, 0));
    z-index: 1;
    pointer-events: none;
  }

  .saona-hero-content {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: center;
    gap: 48px;
    padding-top: 112px;
    padding-bottom: 92px;
  }

  .saona-hero-left {
    max-width: 760px;
  }

  .saona-hero-tag {
    display: inline-block;
    color: #88f0dc;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 20px;
    padding: 8px 12px;
    border-left: 2px solid #f4d28e;
    background: rgba(255, 255, 255, .08);
  }

  .saona-luxury-hero h1 {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.2rem, 6vw, 6.3rem);
    line-height: .92;
    font-weight: 400;
    letter-spacing: 0;
    margin: 0 0 24px;
    text-align: left;
    text-transform: none;
  }

  .saona-luxury-hero h1 span {
    display: block;
    color: #f4d28e;
    font-size: clamp(2.2rem, 4vw, 4.7rem);
    line-height: 1;
  }

  .saona-luxury-hero p {
    max-width: 680px;
    color: rgba(255,255,255,.88);
    font-size: 17px;
    line-height: 1.65;
    margin-bottom: 24px;
  }

  .saona-luxury-hero p strong {
    color: #fff;
  }

  .saona-hero-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
  }

  .saona-hero-highlights li {
    color: rgba(255,255,255,.9);
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 9px 13px;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .saona-hero-buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
  }

  .saona-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 188px;
    min-height: 52px;
    padding: 15px 22px;
    border: 1px solid #fff;
    color: #092127;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 600;
    background: #fff;
    transition: all .3s ease;
  }

  .saona-hero-btn:hover {
    background: #f4d28e;
    color: #092127;
    text-decoration: none;
    border-color: #f4d28e;
    transform: translateY(-2px);
  }

  .saona-hero-btn.secondary {
    color: #fff;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.55);
  }

  .saona-hero-btn.secondary:hover {
    color: #fff;
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.86);
  }

  .saona-hero-proof {
    display: grid;
    gap: 18px;
    align-self: center;
    justify-self: end;
    width: min(100%, 360px);
    padding: 28px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(3, 27, 33, .42);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 28px 70px rgba(0,0,0,.24);
  }

  .saona-proof-label {
    color: #88f0dc;
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  .saona-hero-proof div {
    min-width: 0;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .saona-hero-proof div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .saona-hero-proof strong {
    display: block;
    color: #fff;
    font-size: 25px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
  }

  .saona-hero-proof span {
    display: block;
    color: rgba(255,255,255,.72);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .14em;
    line-height: 1.55;
    margin-top: 7px;
  }

  .saona-hero-breadcrumb {
    position: absolute;
    left: 0;
    right: 0;
    bottom: clamp(60px, 7vw, 100px);
    z-index: 4;
    display: flex;
    justify-content: center;
    padding: 19px 24px 21px;
    background: linear-gradient(180deg, rgba(2, 13, 23, .16) 0%, rgba(2, 18, 24, .84) 100%);
    border-top: 1px solid rgba(255, 255, 255, .05);
    border-bottom: 1px solid rgba(255, 255, 255, .04);
    box-shadow: 0 -18px 46px rgba(1, 10, 18, .2), 0 16px 44px rgba(1, 10, 18, .24);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .saona-hero-breadcrumb ol {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2.7vw, 34px);
    width: min(760px, calc(100% - 36px));
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .saona-hero-breadcrumb li,
  .saona-hero-breadcrumb a {
    color: rgba(255, 255, 255, .74);
    text-decoration: none;
    text-transform: uppercase;
    font-family: "Manrope", "Sen", Arial, sans-serif;
    font-size: clamp(10px, .74vw, 12px);
    font-weight: 800;
    letter-spacing: .42em;
    line-height: 1;
    text-shadow: 0 3px 15px rgba(0, 0, 0, .42);
  }

  .saona-hero-breadcrumb a:hover,
  .saona-hero-breadcrumb a:focus-visible {
    color: #fff;
  }

  .saona-hero-breadcrumb li + li {
    position: relative;
  }

  .saona-hero-breadcrumb li + li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: calc(clamp(18px, 2.7vw, 34px) * -0.56);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .64);
    transform: translate(-50%, -50%);
  }

  @media (max-width: 991px) {
    .saona-hero-content {
      grid-template-columns: 1fr;
      gap: 26px;
    }

    .saona-hero-proof {
      justify-self: stretch;
      width: 100%;
      grid-template-columns: repeat(3, 1fr);
    }

    .saona-proof-label {
      grid-column: 1 / -1;
    }
  }

  @media (max-width: 768px) {
    .saona-luxury-hero {
      min-height: 100vh;
      min-height: 100svh;
      align-items: center;
    }

    .saona-hero-content {
      width: calc(100% - 32px);
      padding-top: 92px;
      padding-bottom: 72px;
      gap: 22px;
    }

    .saona-luxury-hero h1 {
      font-size: clamp(2.9rem, 13vw, 4.4rem);
      line-height: .94;
      margin-bottom: 18px;
    }

    .saona-luxury-hero h1 span {
      font-size: clamp(1.9rem, 8vw, 3rem);
    }

    .saona-luxury-hero p {
      font-size: 15px;
      line-height: 1.55;
      margin-bottom: 20px;
    }

    .saona-hero-highlights {
      gap: 8px;
      margin-bottom: 22px;
    }

    .saona-hero-highlights li {
      flex: 1 1 calc(50% - 8px);
      padding: 8px 10px;
      text-align: center;
      font-size: 10px;
      letter-spacing: .06em;
    }

    .saona-hero-highlights li:last-child {
      flex-basis: 100%;
    }

    .saona-hero-buttons {
      gap: 12px;
    }

    .saona-hero-btn {
      width: 100%;
      min-width: 0;
      padding: 14px 18px;
      letter-spacing: .1em;
    }

    .saona-hero-proof {
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      padding: 18px;
    }

    .saona-hero-proof div:nth-of-type(3) {
      display: none;
    }

    .saona-hero-proof strong {
      font-size: 18px;
    }

    .saona-hero-proof span {
      font-size: 9px;
      letter-spacing: .1em;
    }

    .saona-hero-breadcrumb {
      bottom: 58px;
      padding: 15px 16px 17px;
    }

    .saona-hero-breadcrumb ol {
      gap: 18px;
      width: min(100%, 520px);
    }

    .saona-hero-breadcrumb li,
    .saona-hero-breadcrumb a {
      font-size: 10px;
      letter-spacing: .3em;
    }

    .saona-hero-breadcrumb li + li::before {
      left: -9px;
    }
  }

  @media (max-width: 480px) {
    .saona-hero-proof {
      display: none;
    }
  }

  .saona-luxury-hero .hpt-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4;
    color: #fff;
  }

  .saona-luxury-hero .hpt-mobile-menu {
    z-index: 5;
  }

  .saona-luxury-hero .hpt-brand,
  .saona-luxury-hero .hpt-brand span,
  .saona-luxury-hero .hpt-nav__links a,
  .saona-luxury-hero .hpt-lang,
  .saona-luxury-hero .hpt-whatsapp,
  .saona-luxury-hero .hpt-menu {
    color: #fff !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .28) !important;
  }

  .saona-luxury-hero .hpt-brand img {
    filter: none !important;
  }

  .saona-luxury-hero .hpt-whatsapp svg {
    fill: currentColor !important;
  }

  .saona-luxury-hero .hpt-menu span {
    background: #fff !important;
  }

  @media (min-width: 841px) {
    .saona-luxury-hero .hpt-nav {
      width: min(1420px, calc(100% - 80px));
      padding: 28px 0 24px;
    }
  }

/* -------------------------------------------------------------------------- */

.trust-badges {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 2rem;
   margin-top: 1.5rem;
}

.trust-badges .badge {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   max-width: 120px;
}

.trust-badges img {
   width: 60px;
   height: auto;
   margin-bottom: 0.5rem;
   filter: drop-shadow(1px 1px 3px rgba(0,0,0,0.4));
}

.trust-badges p {
   font-size: 0.9rem;
   color: #ffffff;
   text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
}




    .step-flow {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 25px;
      flex-wrap: wrap;
      color: white;
      font-weight: 600;
      text-align: center;
        text-transform: uppercase;
    }

    .step {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 18px;
    }


    .map-overlay-bottom {
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 200;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.95);
  height:70px;
  border-radius: 40px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  gap: 10px;
  width: 98%;
  max-width: 500px;
  justify-content: center;
}

.map-overlay-bottom input {
  padding: 8px 14px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 30px;
  width: 60%;
  min-width: 200px;
  outline: none;
}

.map-overlay-bottom button {
  padding: 8px 18px;
  font-size: 14px;
  background: linear-gradient(to right, #00b4db, #0083b0);
  color: white;
  border: none;
  border-radius: 30px;
  font-weight: bold;
  cursor: pointer;

  display: flex;
  align-items: center;
  gap: 6px;
}

  


    .step span {
      background-color: white;
      color: #001933;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 16px;
    }

      .separator {
          width: 20px;
          height: 2px;
          background-color: white;
      }
        




      


 .modal {
    display: none; 
    position: fixed; 
    z-index: 100; 
    left: 0; top: 0; width: 100%; height: 100%;
    background-color: rgba(0,0,0,0.6);
  }

  .modal-content {
    background: white; 
    margin: 10% auto;
    padding: 20px;
    width: 90%;
    max-width: 1400px;
    position: relative;
  }
  @media (min-width: 992px) {
  .modal-content {
    padding: 20px; /* optional, for breathing room */
  }
}

  @media (min-width: 992px) {
  .modal-dialog {
    max-width: 900px; /* default is usually 500-600px */
  }
}
  .close {
    position: absolute;
    top: 10px; right: 20px;
    font-size: 28px;
    cursor: pointer;
  }

  .quote-btn {
    background: linear-gradient(to right, #C89D44, #7B611B);
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    font-weight: bold;
  }


.show-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #ffffff;
    color: #333;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 20px auto;
    display: block;
    padding-bottom: 20px;
}

.show-more-btn:hover {
    background-color: #f0f0f0;
    border-color: #999;
}

.plus-icon {
    font-size: 18px;
    font-weight: bold;
}


      @media (max-width: 480px) {

          .map-overlay-bottom button {
          
          margin-right:15px;
          display:ruby;
          }


           .modal-content {
    background: white; 
    margin: 30% auto;
    padding: 20px;
    width: 90%;
    max-width: 600px;
    position: relative;
  }

           .map-overlay-bottom input {
    margin: 15px;
    text-align: center;
  }
      }

.price-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #fff;
  color: #000;
  padding: 4px 10px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 6px;
  z-index: 3;
}



     /* Optional: smaller screens - keep all steps centered and tidy */
    @media (max-width: 480px) {
      .step-flow {
        flex-direction: column;
        gap: 15px;
      }

      .separator {
        display: none;
      }

      .step {
        justify-content: center;
      }
    }

/* -------------------------------------------------------------------------- */

/* Desktop: hide both mobile buttons */
.fleet-actions {
  display: none;
}

/* Mobile: show Filter + Sort side by side */
@media (max-width: 991px) {
  .fleet-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 22px;
  }

  .fleet-filter-toggle-wrap,
  .fleet-sort-wrap {
    display: block;
    width: 100%;
    margin: 0;
  }

  .fleet-filter-toggle,
  .fleet-sort-select {
    width: 100%;
    height: 52px;
    border-radius: 999px;
    padding: 0 18px;
    font-size: 14px;
    font-weight: 800;
  }

  .fleet-sort-select {
    min-width: 0;
    padding-right: 38px;
  }
}
   /* =========================================================
   FLEET SECTION
========================================================= */

#y-fleet-filter-section{
    padding:45px 0;
    background:#ffffff;
}

.fleet-layout{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:32px;
    max-width:1500px;
    margin:0 auto;
    padding:0 24px;
}

/* =========================================================
   FILTER SIDEBAR
========================================================= */

.fleet-filters{
    background:
    linear-gradient(180deg,#061f38 0%,#031323 100%);
    border-radius:24px;
    padding:24px 22px;
    color:#ffffff;
    height:fit-content;
    position:sticky;
    top:100px;
    box-shadow:
    0 18px 45px rgba(0,0,0,.16);
}

.filter-title{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:19px;
    margin-bottom:24px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.filter-title span{
    color:#00d4ff;
    font-size:20px;
}

.filter-group{
    padding-bottom:20px;
    margin-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.filter-group h3{
    color:#ffffff;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:13px;
}

.filter-group label{
    display:block;
    color:rgba(255,255,255,.86);
    font-size:14px;
    margin-bottom:10px;
    cursor:pointer;
}

.filter-group input{
    margin-right:8px;
    accent-color:#00d4ff;
}

.clear-filters-btn{
    width:100%;
    background:transparent;
    border:1px solid #00d4ff;
    color:#00d4ff;
    border-radius:14px;
    padding:14px;
    font-weight:800;
    text-transform:uppercase;
    cursor:pointer;
    transition:.25s ease;
}

.clear-filters-btn:hover{
    background:#00d4ff;
    color:#031323;
}

/* =========================================================
   MOBILE FILTER BUTTON
========================================================= */

.fleet-filter-toggle-wrap{
    display:none;
}

@media(max-width:991px){

    .fleet-filter-toggle-wrap{
        display:block;
        margin-bottom:20px;
    }

    .fleet-filter-toggle{
        display:inline-flex;
        align-items:center;
        gap:10px;
        background:
        linear-gradient(135deg,#021a30,#0b3f66);
        color:#ffffff;
        border:none;
        border-radius:999px;
        padding:14px 22px;
        font-weight:800;
        font-size:14px;
        cursor:pointer;
        box-shadow:
        0 10px 25px rgba(0,0,0,.12);
    }

    .fleet-filters{
        display:none;
    }

    .fleet-filters.active{
        display:block;
        margin-bottom:24px;
        position:relative;
        top:auto;
    }
}

/* =========================================================
   HEADING
========================================================= */

.fleet-heading-box{
    background:#f7fafc;
    border:1px solid #e4edf4;
    border-radius:22px;
    padding:24px 28px;
    margin-bottom:26px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.fleet-heading-box h2{
    margin:0 0 7px;
    font-size:30px;
    color:#061f38;
    font-weight:900;
}

.fleet-heading-box p{
    margin:0;
    color:#5d6f7f;
    font-size:15px;
    max-width:800px;
    line-height:1.6;
}

#boatCount{
    background:#ffffff;
    border:1px solid #dce8f1;
    border-radius:999px;
    padding:11px 18px;
    font-weight:800;
    color:#061f38;
    white-space:nowrap;
}

/* =========================================================
   GRID
========================================================= */

/* ================================
   LUXURY OVERLAY FLEET GRID
================================ */

.compact-fleet-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
}

@media(min-width:768px){
    .compact-fleet-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

.compact-boat-wrap{
    width:100%;
}

.compact-boat-card{
    position:relative;
    display:block;
    height:240px;
    overflow:hidden;
    background:#000;
    color:#fff !important;
    text-decoration:none !important;
}

.compact-card-image{
    position:absolute;
    inset:0;
    height:100%;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
}

.compact-card-image::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,0.05) 0%,
        rgba(0,0,0,0.20) 45%,
        rgba(0,0,0,0.78) 100%
    );
}

.compact-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .45s ease;
}

.compact-boat-card:hover img{
    transform:scale(1.04);
}

.price-pill{
    position:absolute;
    top:14px;
    left:14px;
    z-index:4;
    background:rgba(255,255,255,.9);
    color:#111;
    border-radius:0;
    padding:7px 14px;
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:none;
}

.price-pill strong{
    font-size:13px;
    font-weight:900;
}

.compact-card-info{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:3;
    padding:0;
    color:#fff;
}

.compact-card-title{
    font-family:Georgia, "Times New Roman", serif;
    font-size:30px;
    font-weight:400;
    line-height:1;
    color:#fff;
    margin-bottom:14px;
    text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.compact-card-title .boat-size{
    font-size:inherit;
    opacity:1;
}

.compact-card-title .boat-guests{
    position:absolute;
    right:0;
    bottom:6px;
    font-family:"Sen", Arial, sans-serif;
    color:#d8b25c;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.compact-card-meta{
    display:none;
}

.instant-quote-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    height:38px;
    margin:0;
    padding:0 22px;
    border:1px solid rgba(255,255,255,.55);
    background:rgba(0,0,0,.22);
    color:#fff;
    border-radius:0;
    box-shadow:none;
    font-size:12px;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.compact-boat-card:hover .instant-quote-btn{
    background:rgba(255,255,255,.12);
    transform:none;
    box-shadow:none;
}

/* Princess 49 lunch badge */
.lunch-badge{
    position:absolute;
    top:14px;
    right:14px;
    z-index:4;
    background:#caa45c;
    color:#fff;
    padding:7px 12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

/* Mobile */
@media(max-width:767px){

    .compact-fleet-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .compact-boat-card{
        height:280px;
    }
   
      
    .compact-card-info{
        left:20px;
        right:20px;
        bottom:22px;
    }

    .compact-card-title{
        font-size:28px;
    }

    .compact-card-title .boat-guests{
        font-size:11px;
    }

    .instant-quote-btn{
        min-width:170px;
        width:auto;
        height:38px;
        font-size:11px;
    }
}
/* =========================================================
   NO RESULTS
========================================================= */

.no-results{
    background:#f7fafc;
    border:1px solid #e4edf4;
    border-radius:22px;
    padding:35px;
    text-align:center;
}

.no-results h3{
    color:#061f38;
    font-weight:900;
}

/* =========================================================
   TRUST STRIP
========================================================= */

.fleet-trust-strip{
    margin-top:42px;
    background:#f8fbfd;
    border:1px solid #dfeaf2;
    border-radius:22px;
    padding:24px 28px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    box-shadow:
    0 12px 34px rgba(6,31,56,.06);
}

.trust-item{
    display:flex;
    gap:16px;
    align-items:center;
    padding:0 22px;
    border-right:1px solid #dbe6ee;
}

.trust-item:last-child{
    border-right:none;
}

.trust-icon{
    font-size:34px;
    flex-shrink:0;
}

.trust-item strong{
    display:block;
    color:#061f38;
    font-size:15px;
    font-weight:900;
    margin-bottom:4px;
}

.trust-item p{
    margin:0;
    color:#526678;
    font-size:14px;
    line-height:1.45;
}

.trust-whatsapp-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    background:
    linear-gradient(135deg,#021a30,#0b3f66);
    color:#ffffff !important;
    text-decoration:none !important;
    border-radius:999px;
    padding:10px 16px;
    font-size:13px;
    font-weight:800;
    transition:.25s ease;
    box-shadow:
    0 8px 18px rgba(0,0,0,.12);
}

.trust-whatsapp-btn:hover{
    transform:translateY(-2px);
    background:
    linear-gradient(135deg,#032746,#0d567f);
}

/* =========================================================
   TABLET
========================================================= */

@media(max-width:1199px){

    .compact-fleet-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .compact-card-image{
        height:210px;
    }
}

/* =========================================================
   MOBILE / TABLET
========================================================= */

@media(max-width:991px){

    .fleet-layout{
        grid-template-columns:1fr;
    }

    .compact-fleet-grid{
        grid-template-columns:repeat(2,1fr);
        gap:18px;
    }

    .compact-card-image{
        height:190px;
    }

    .fleet-trust-strip{
        grid-template-columns:repeat(2,1fr);
        gap:22px;
    }

    .trust-item{
        border-right:none;
        padding:0;
    }
}

/* =========================================================
   MOBILE
========================================================= */

 

/* =========================================================
   SMALL PHONES
========================================================= */
  
 

 
.quote-mobile{
    display:none;
}

@media(max-width:767px){
    .quote-desktop{
        display:none;
    }

    .quote-mobile{
        display:inline;
    }
}

/* FINAL MOBILE OVERRIDE */
@media(max-width:767px){
    #boatGrid.compact-fleet-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:18px !important;
    }

    #boatGrid .compact-boat-card{
        height:280px !important;
    }

    #boatGrid .compact-card-image{
        height:100% !important;
    }
}


/* FINAL MOBILE ALIGNMENT FIX */
@media(max-width:767px){

    #y-fleet-filter-section > .container-fluid{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .fleet-heading-box,
    .fleet-layout{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .fleet-layout{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .fleet-content{
        width:100% !important;
        max-width:100% !important;
    }

    #boatGrid.compact-fleet-grid{
        width:100% !important;
        max-width:100% !important;
    }
}


#boatGrid {
    display: block;
}

.saona-results-section {
    margin-bottom: 58px;
}

.saona-results-intro {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
    padding: 18px 0;
    border-top: 1px solid #dfe8f1;
    border-bottom: 1px solid #edf2f6;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.saona-results-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #edf6ff;
    border: 1px solid #d7eaff;
    color: #2a83d3;
}

.saona-results-intro--yacht .saona-results-icon {
    background: #fff8eb;
    border-color: #f1ddb7;
    color: #c98508;
}

.saona-results-icon svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.saona-results-copy h2 {
    margin: 0 0 8px;
    color: #061b45;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 2.4vw, 34px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: 0;
}

.saona-results-copy p {
    margin: 0;
    max-width: 1080px;
    color: #061b45;
    font: 500 14px/1.45 "Manrope", Arial, sans-serif;
}

.saona-results-copy p + p {
    margin-top: 4px;
}

.saona-results-intro--catamaran .saona-results-copy strong {
    color: #176fc1;
}

.saona-results-intro--yacht .saona-results-copy strong {
    color: #c98508;
}

.saona-results-price {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 5px;
    white-space: nowrap;
    color: #061b45;
    background: #edf6ff;
    border: 1px solid #cfe2f4;
    font: 800 13px/1 "Manrope", Arial, sans-serif;
}

.saona-results-intro--yacht .saona-results-price {
    color: #9b6104;
    background: #fff8eb;
    border-color: #efd7ad;
}

.saona-inner-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

@media (max-width: 991px) {
    .saona-inner-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .saona-results-intro {
        grid-template-columns: 52px minmax(0, 1fr);
        align-items: start;
        gap: 14px;
        padding: 16px 0;
    }

    .saona-results-price {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 767px) {
    .saona-inner-grid {
        grid-template-columns: 1fr !important;
    }

    .saona-results-intro {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
        margin-bottom: 20px;
    }

    .saona-results-icon {
        width: 42px;
        height: 42px;
    }

    .saona-results-icon svg {
        width: 25px;
        height: 25px;
    }

    .saona-results-copy h2 {
        font-size: 24px;
    }

    .saona-results-copy p {
        font-size: 13px;
        line-height: 1.5;
    }

    .saona-results-price {
        min-height: 34px;
        padding: 0 13px;
        font-size: 12px;
    }
}
/* Saona fleet filter refresh */
#y-fleet-filter-section {
  padding: 0 0 54px !important;
  background: #fff !important;
}

#y-fleet-filter-section > .container-fluid {
  max-width: none !important;
  padding: 0 !important;
}

.fleet-filter-shell {
  border-bottom: 1px solid #dce6ef;
  background: #fff;
}

.fleet-heading-box {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 45%) !important;
  align-items: stretch !important;
  gap: 26px !important;
  max-width: 1500px !important;
  min-height: 206px !important;
  margin: 0 auto !important;
  padding: 30px 38px 24px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #fff 0%, #fff 43%, rgba(245, 250, 253, .78) 57%, rgba(245, 250, 253, .2) 100%) !important;
}

.fleet-heading-copy {
  position: relative;
  z-index: 2;
  align-self: center;
}

.fleet-eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 10px !important;
  color: #c98508 !important;
  font: 800 13px/1.1 "Manrope", Arial, sans-serif !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.fleet-heading-box h2 {
  max-width: 760px;
  margin: 0 0 14px !important;
  color: #061b45 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
}

.fleet-heading-box p:not(.fleet-eyebrow) {
  max-width: 710px !important;
  margin: 0 !important;
  color: #061b45 !important;
  font: 500 17px/1.55 "Manrope", Arial, sans-serif !important;
}

.fleet-heading-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: min(48vw, 690px);
  pointer-events: none;
}

.fleet-heading-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.9) 17%, rgba(255,255,255,.12) 45%, rgba(255,255,255,0) 100%);
}

.fleet-heading-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

#boatCount {
  display: none !important;
}

.fleet-filter-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 1500px;
  margin: 0 auto;
  padding: 22px 38px 18px;
  border-top: 1px solid #edf2f6;
}

.fleet-layout {
  display: block !important;
  grid-template-columns: none !important;
  max-width: 1500px !important;
  padding: 28px 38px 0 !important;
}

.fleet-filters {
  position: static !important;
  top: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #061b45 !important;
  box-shadow: none !important;
}

.filter-title,
.filter-group,
.fleet-actions,
.filter-luxury-options,
.clear-filters-btn {
  display: none !important;
}

.filter-dropdown {
  position: relative;
  min-width: 176px;
  z-index: 20;
}

.filter-dropdown summary {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 11px;
  min-height: 46px;
  padding: 0 17px;
  border: 1px solid #dbe5ee;
  border-radius: 8px;
  background: #fff;
  color: #061b45;
  cursor: pointer;
  list-style: none;
  font: 800 13px/1 "Manrope", Arial, sans-serif;
  box-shadow: 0 4px 14px rgba(9, 32, 62, .04);
}

.filter-dropdown summary::-webkit-details-marker {
  display: none;
}

.filter-dropdown[open] summary,
.filter-dropdown summary:hover {
  border-color: #bfd1df;
  background: #f8fbfd;
}

.filter-icon,
.sort-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #061b45;
}

.filter-icon svg,
.sort-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.filter-dropdown--experience .filter-icon svg {
  fill: none;
}

.filter-summary-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.filter-caret {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .78;
}

.filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 240px;
  padding: 10px;
  border: 1px solid #dbe5ee;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(6, 27, 69, .14);
}

.filter-menu label {
  display: flex !important;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  margin: 0 !important;
  padding: 8px 10px;
  border-radius: 7px;
  color: #061b45 !important;
  cursor: pointer;
  font: 700 13px/1.2 "Manrope", Arial, sans-serif !important;
}

.filter-menu label:hover {
  background: #f2f7fb;
}

.filter-menu input {
  margin: 0 !important;
  accent-color: #0d5d8f;
}

.fleet-sort-wrap {
  display: block !important;
  width: auto !important;
  margin-left: auto !important;
}

.fleet-sort-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid #dbe5ee;
  border-radius: 8px;
  background: #fff;
  color: #061b45;
  box-shadow: 0 4px 14px rgba(9, 32, 62, .04);
  font: 800 13px/1 "Manrope", Arial, sans-serif;
}

.sort-prefix {
  white-space: nowrap;
}

.fleet-sort-select {
  width: auto !important;
  min-width: 135px !important;
  height: 42px !important;
  padding: 0 30px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #061b45 !important;
  cursor: pointer;
  font: inherit !important;
  box-shadow: none !important;
}

.fleet-sort-select:focus {
  outline: 0;
}

.sort-mobile-label {
  display: none;
}

@media (max-width: 767px) {
  #y-fleet-filter-section {
    padding-bottom: 36px !important;
  }

  #y-fleet-filter-section > .container-fluid {
    padding: 0 !important;
  }

  .fleet-filter-shell {
    padding: 0 15px 18px;
  }

  .fleet-heading-box {
    display: block !important;
    min-height: 0 !important;
    padding: 22px 16px 18px !important;
    text-align: center !important;
    background: #fff !important;
  }

  .fleet-heading-image {
    display: none !important;
  }

  .fleet-eyebrow {
    justify-content: center;
    margin-bottom: 9px !important;
    font-size: 11px !important;
    letter-spacing: .16em;
  }

  .fleet-heading-box h2 {
    margin-bottom: 10px !important;
    font-size: clamp(26px, 8vw, 33px) !important;
    line-height: 1.04 !important;
  }

  .fleet-heading-box p:not(.fleet-eyebrow) {
    max-width: 315px !important;
    margin: 0 auto !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .fleet-filter-toolbar {
    justify-content: center;
    gap: 10px;
    max-width: 390px;
    padding: 0 0 2px;
    border-top: 0;
  }

  .fleet-filters {
    gap: 10px !important;
  }

  .filter-dropdown {
    min-width: 0;
  }

  .filter-dropdown summary {
    display: flex;
    justify-content: center;
    width: 56px;
    min-height: 39px;
    padding: 0;
    gap: 0;
    border-radius: 7px;
  }

  .filter-dropdown:first-child summary {
    background: #f0f7ff;
    border-color: #cfe2f4;
  }

  .filter-summary-text,
  .filter-caret {
    display: none;
  }

  .filter-icon svg,
  .sort-icon svg {
    width: 19px;
    height: 19px;
  }

  .filter-menu {
    left: 50%;
    min-width: 230px;
    transform: translateX(-50%);
  }

  .filter-dropdown:first-child .filter-menu {
    left: 0;
    transform: none;
  }

  .filter-dropdown--experience .filter-menu {
    left: auto;
    right: 0;
    transform: none;
  }

  .fleet-sort-wrap {
    margin-left: 0 !important;
  }

  .fleet-sort-control {
    justify-content: center;
    width: 82px;
    min-height: 39px;
    padding: 0 10px;
    gap: 7px;
    border-radius: 7px;
  }

  .sort-prefix,
  .fleet-sort-select {
    position: absolute;
    inset: 0;
    width: 100% !important;
    min-width: 0 !important;
    opacity: 0;
  }

  .sort-mobile-label {
    display: inline;
  }

  .fleet-layout {
    padding: 24px 14px 0 !important;
  }
}

/* -------------------------------------------------------------------------- */

.yacht-catamaran-comparison {
  padding: 64px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(245,250,253,.86) 48%, rgba(255,255,255,.98) 100%);
  color: #061a3c;
  font-family: "Sen", Arial, sans-serif;
}

.comparison-shell {
  max-width: 1220px;
  margin: 0 auto;
  padding: 26px 22px 30px;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(247,251,253,.86) 100%), url("../images/saona-island-banner.webp") center bottom/cover no-repeat;
  box-shadow: 0 22px 55px rgba(7, 38, 68, .12);
}

.comparison-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 12px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(0, 108, 184, .08);
  color: #006cb8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.comparison-kicker .ti-anchor {
  font-size: 16px;
}

.comparison-title {
  max-width: 880px;
  margin: 0 auto 16px;
  color: #061a3c;
  font-family: "Sen", Arial, sans-serif;
  font-size: 42px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: .98;
  text-align: center;
}

.comparison-title span {
  display: block;
}

.comparison-intro {
  max-width: 770px;
  margin: 0 auto 30px;
  color: #061a3c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.comparison-intro strong,
.comparison-card strong,
.recommendation-box strong {
  font-weight: 800;
}

.comparison-image-row {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 0 auto 22px;
}

.comparison-image {
  position: relative;
  height: 390px;
  overflow: hidden;
  border-radius: 8px;
  background: #06213a;
  box-shadow: 0 12px 28px rgba(2, 28, 47, .2);
  isolation: isolate;
}

.comparison-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(1, 20, 39, .02) 20%, rgba(2, 20, 39, .34) 58%, rgba(0, 18, 35, .92) 100%);
}

.comparison-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
}

.comparison-image--yacht img,
.comparison-image--catamaran img {
  object-position: center center;
}

.comparison-image-copy {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 26px;
  z-index: 2;
  color: #fff;
  text-align: center;
}

.comparison-boat-icon,
.comparison-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 50%;
}

.comparison-boat-icon {
  width: 62px;
  height: 62px;
  margin-bottom: 12px;
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

.comparison-boat-icon--yacht,
.comparison-card-icon--yacht {
  background: #063160;
}

.comparison-boat-icon--catamaran,
.comparison-card-icon--catamaran {
  background: #26b7b1;
}

.comparison-boat-icon svg,
.comparison-card-icon svg {
  width: 68%;
  height: 68%;
  fill: none;
  stroke: currentColor;
  stroke-width: 3.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: #fff;
}

.comparison-image-copy h3 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: 0;
  text-align: center;
}

.comparison-image-copy em {
  display: block;
  color: #48d8d0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.1;
}

.comparison-image-copy p {
  max-width: 270px;
  margin: 0 auto;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
}

.comparison-vs {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: #fff;
  color: #063160;
  font-size: 27px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 12px 30px rgba(4, 33, 58, .22);
  transform: translate(-50%, -50%);
}

.comparison-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.comparison-card {
  overflow: hidden;
  border-radius: 8px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 30px rgba(7, 38, 68, .13);
}

.comparison-card header {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 66px;
  padding: 14px 28px 12px;
  border-bottom: 1px solid rgba(6, 26, 60, .08);
}

.comparison-card-icon {
  width: 52px;
  height: 52px;
}

.comparison-card header h3 {
  flex: 1 1 auto;
  margin: 0;
  color: #061a3c;
  font-family: "Sen", Arial, sans-serif;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: left;
}

.comparison-card header h3::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 320px;
  height: 8px;
  margin-top: -6px;
  background: rgba(38, 183, 177, .16);
}

.comparison-card .ti-angle-down {
  color: #006cb8;
  font-size: 18px;
}

.comparison-card--catamaran .ti-angle-down {
  color: #159f9a;
}

.comparison-card ul {
  list-style: none;
  margin: 0;
  padding: 8px 24px 18px;
}

.comparison-card li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid rgba(6, 26, 60, .08);
}

.comparison-card li:last-child {
  border-bottom: 0;
}

.comparison-card li > span {
  color: #006cb8;
  font-size: 21px;
  line-height: 1.15;
  text-align: center;
}

.comparison-card--catamaran li > span {
  color: #16b7bc;
}

.comparison-card p {
  margin: 0;
  color: #061a3c;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}

.recommendation-box {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) 260px;
  gap: 20px;
  align-items: center;
  margin-top: 24px;
  padding: 28px 42px;
  border: 1px solid rgba(0, 108, 184, .2);
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 30px rgba(7, 38, 68, .12);
}

.recommendation-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #006cb8;
  color: #fff;
  font-size: 34px;
}

.recommendation-box p {
  margin: 0;
  color: #061a3c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.43;
}

.recommendation-box p strong:first-child {
  display: block;
  margin-bottom: 7px;
  font-size: 19px;
}

.rec-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 58px;
  padding: 13px 22px;
  border-radius: 8px;
  background: #006cb8;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 10px 18px rgba(0, 108, 184, .2);
}

.rec-btn:hover {
  background: #063160;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 991px) {
  .yacht-catamaran-comparison {
    padding: 42px 14px;
  }

  .comparison-shell {
    max-width: 430px;
    padding: 18px 0 0;
    overflow: hidden;
  }

  .comparison-kicker {
    margin-bottom: 18px;
    padding: 6px 12px;
    font-size: 10px;
  }

  .comparison-title {
    max-width: 350px;
    font-size: 28px;
    line-height: 1.02;
  }

  .comparison-intro {
    max-width: 350px;
    margin-bottom: 22px;
    padding: 0 10px;
    font-size: 14px;
    line-height: 1.42;
  }

  .comparison-image-row {
    gap: 8px;
    margin: 0 0 8px;
    padding: 0;
  }

  .comparison-image {
    height: 384px;
    border-radius: 8px;
    box-shadow: none;
  }

  .comparison-image img {
    height: 100%;
  }

  .comparison-image--yacht {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .comparison-image--catamaran {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
  }

  .comparison-image--catamaran img {
    object-position: 58% center;
  }

  .comparison-image-copy {
    left: 9px;
    right: 9px;
    bottom: 20px;
  }

  .comparison-boat-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
  }

  .comparison-image-copy h3 {
    font-size: 17px;
    line-height: 1.05;
  }

  .comparison-image-copy em {
    font-size: 17px;
  }

  .comparison-image-copy p {
    max-width: 155px;
    font-size: 13px;
    line-height: 1.25;
  }

  .comparison-vs {
    width: 62px;
    height: 62px;
    font-size: 19px;
  }

  .comparison-cards {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0;
  }

  .comparison-card {
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(7, 38, 68, .1);
  }

  .comparison-card header {
    min-height: 58px;
    padding: 10px 18px;
    gap: 12px;
  }

  .comparison-card-icon {
    width: 44px;
    height: 44px;
  }

  .comparison-card header h3 {
    font-size: 16px;
    line-height: 1.15;
  }

  .comparison-card header h3::after {
    display: none;
  }

  .comparison-card ul {
    padding: 8px 18px;
  }

  .comparison-card li {
    grid-template-columns: 26px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
  }

  .comparison-card li > span {
    font-size: 19px;
  }

  .comparison-card p {
    font-size: 13px;
    line-height: 1.28;
  }

  .comparison-feature--desktop {
    display: none !important;
  }

  .recommendation-box {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    margin-top: 10px;
    padding: 18px 18px 14px;
    border-radius: 8px;
  }

  .recommendation-icon {
    width: 54px;
    height: 54px;
    font-size: 29px;
  }

  .recommendation-box p {
    font-size: 13px;
    line-height: 1.34;
  }

  .recommendation-box p strong:first-child {
    margin-bottom: 5px;
    font-size: 16px;
  }

  .rec-btn {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
    padding: 11px 14px;
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .comparison-title {
    font-size: 25px;
  }

  .comparison-image,
  .comparison-image img {
    height: 350px;
  }

  .comparison-image-copy h3,
  .comparison-image-copy em {
    font-size: 15px;
  }

  .comparison-image-copy p {
    font-size: 12px;
  }
}

/* -------------------------------------------------------------------------- */

/* =========================
  JOURNEY TABS STYLE
========================= */
:root{
  --t: #1f2937;
  --m: rgba(31,41,55,.72);
  --b: rgba(17,24,39,.12);
  --blue: #35a8d6;
  --blueSoft: rgba(53,168,214,.10);
  --gold: rgba(217,194,138,.28);
  --card: #fff;
}

.jt{ padding: 44px 0; }
.jt__container{ padding-left: 16px; padding-right: 16px; }

.jt__title{ font-size: 20px; font-weight: 900; margin: 6px 0 6px; color: var(--t); }
.jt__sub{ font-size: 14px; color: rgba(17,24,39,.64); line-height: 1.55; max-width: 860px; }

.jt__controls{
  display:flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.jt__seg{
  display:inline-flex;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--b);
  backdrop-filter: blur(10px);
}
.jt__tab{
  border: 0;
  background: transparent;
  padding: 9px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 13px;
  cursor: pointer;
  color: rgba(17,24,39,.78);
}
.jt__tab.is-active{
  background: rgba(53,168,214,.14);
  color: rgba(17,24,39,.92);
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
}

.jt__miniBtns{ display:flex; gap: 10px; }
.jt__btn{
  border: 1px solid var(--b);
  background: rgba(255,255,255,.9);
  padding: 10px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}
.jt__btn--soft{
  border-color: rgba(53,168,214,.25);
  background: rgba(53,168,214,.08);
}

.jt__grid{
  margin-top: 14px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 992px){
  .jt{ padding: 60px 0; }
  .jt__container{ padding-left: 24px; padding-right: 24px; }
  .jt__grid{ grid-template-columns: 1.2fr .8fr; gap: 22px; }
}

/* Groups */
.jt__group{ display:none; }
.jt__group.is-active{ display:block; }

.jt__groupHead{
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(17,24,39,.10);
  background: linear-gradient(180deg, rgba(53,168,214,.06), rgba(255,255,255,.92));
  box-shadow: 0 12px 26px rgba(0,0,0,.06);
  margin-bottom: 12px;
}
.jt__badge{
  display:inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  border: 1px solid rgba(17,24,39,.10);
  background: rgba(255,255,255,.85);
}
.jt__badge--blue{ border-color: rgba(53,168,214,.22); background: rgba(53,168,214,.10); }
.jt__badge--gold{ border-color: rgba(217,194,138,.32); background: rgba(217,194,138,.12); }

.jt__groupTitle{ margin: 10px 0 4px; font-size: 15px; font-weight: 900; color: var(--t); }
.jt__groupSub{ margin: 0; font-size: 13px; color: rgba(17,24,39,.64); }
/* Make groups visible by default */
.jt__group{ display:block; }

/* When filter mode is ON, we hide non-active groups */
.jt.is-filter .jt__group{ display:none; }
.jt.is-filter .jt__group.is-active{ display:block; }
/* Cards */
.jt__card{
  background: var(--card);
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 16px;
  padding: 14px 14px;
  box-shadow: 0 12px 26px rgba(0,0,0,.06);
  margin-bottom: 12px;
}
.jt__card--soft{
  background: rgba(53,168,214,.06);
  border-color: rgba(53,168,214,.18);
}
.jt__meta{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 6px;
}
.jt__time{
  font-weight: 900;
  font-size: 12px;
  color: rgba(17,24,39,.78);
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(17,24,39,.10);
  background: rgba(255,255,255,.85);
}
.jt__kicker{
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(31,41,55,.58);
}
.jt__h{
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 900;
  color: var(--t);
}
.jt__p{
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--m);
}

.jt__notes{
  margin-top: 8px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(17,24,39,.10);
  box-shadow: 0 12px 26px rgba(0,0,0,.06);
}
.jt__notesH{ margin: 0 0 8px; font-size: 14px; font-weight: 900; }
.jt__ul{ margin: 8px 0; padding-left: 18px; font-size: 13px; color: var(--m); }

/* Map panel */
.mp{
  border-radius: 18px;
  overflow:hidden;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(17,24,39,.10);
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
}
@media (min-width: 992px){
  .mp{ position: sticky; top: 90px; }
}
.mp::before{
  content:"";
  display:block;
  height: 6px;
  background: linear-gradient(90deg, rgba(53,168,214,0), rgba(53,168,214,.65), rgba(53,168,214,0));
}
.mp__head{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  background:
    radial-gradient(1200px 220px at 10% 0%, rgba(53,168,214,.10), transparent 60%),
    radial-gradient(1000px 200px at 90% 0%, rgba(217,194,138,.10), transparent 55%),
    rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(17,24,39,.08);
}
.mp__badge{
  display:inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  border: 1px solid rgba(53,168,214,.18);
  background: rgba(53,168,214,.10);
}
.mp__title{ margin-top: 8px; font-size: 14px; font-weight: 900; color: rgba(17,24,39,.92); }
.mp__sub{ margin-top: 4px; font-size: 12px; color: rgba(17,24,39,.62); }
.mp__open{
  align-self: flex-start;
  text-decoration:none;
  border: 1px solid rgba(53,168,214,.22);
  background: rgba(53,168,214,.10);
  color: rgba(17,24,39,.92);
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}
.mp__wrap{ padding: 12px; background: rgba(255,255,255,.94); }
.mp__frame{
  position: relative;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(17,24,39,.10);
  box-shadow: 0 14px 34px rgba(0,0,0,.14);
  aspect-ratio: 4 / 3;
}
.mp__frame iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0;
}
.mp__shine{
  position:absolute;
  inset:-30%;
  background: linear-gradient(120deg, rgba(255,255,255,0) 25%, rgba(255,255,255,.14) 45%, rgba(255,255,255,0) 70%);
  transform: translateX(-40%) rotate(8deg);
  pointer-events:none;
  animation: mpShine 9s ease-in-out infinite;
  opacity: .75;
}
@keyframes mpShine{
  0%{ transform: translateX(-55%) rotate(8deg); opacity:0; }
  10%{ opacity:.65; }
  50%{ transform: translateX(35%) rotate(8deg); opacity:.35; }
  100%{ transform: translateX(55%) rotate(8deg); opacity:0; }
}
.mp__chips{
  display:flex; gap: 10px; flex-wrap: wrap; margin-top: 10px;
}
.mp__chips a{
  text-decoration:none;
  font-size: 12px;
  font-weight: 900;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(17,24,39,.12);
  background: rgba(255,255,255,.86);
  color: rgba(17,24,39,.88);
}

/* Mobile: map collapsed by default */
@media (max-width: 991px){
  .mp__wrap{ display:block; }
}

/* -------------------------------------------------------------------------- */

.saona-faqs { padding:3rem 1.5rem; display:flex; justify-content:center; background:#fff; }
    .faq-wrap { max-width:800px; width:100%; }
    .faq-header { text-align:center; margin-bottom:1.5rem; }
    .faq-header h2 { font-size:1.9rem; font-weight:700; margin-bottom:0.4rem; }
    .faq-header .intro { font-size:1rem; color:#444; line-height:1.6; margin-bottom:1rem; }
    .faq-badges { display:flex; gap:0.4rem; overflow-x:auto; justify-content:center; padding:0.5rem 0; scrollbar-width:none; }
    .faq-badges::-webkit-scrollbar { display:none; }
    .faq-badges span { background:#f7f9f8; border:1px solid #e0ece7; border-radius:50px; padding:0.3rem 0.7rem; font-size:0.85rem; white-space:nowrap; }
    .faq-toc { background:#f9fafb; border:1px solid #e5efea; border-radius:0.75rem; padding:0.8rem; margin-top:0.8rem; display:flex; flex-wrap:wrap; justify-content:center; gap:0.6rem; }
    .faq-toc strong { width:100%; text-align:center; margin-bottom:0.3rem; color:#333; }
    .faq-toc a { color:#0b7b5e; text-decoration:none; font-weight:500; font-size:0.95rem; }
    .faq-toc a:hover { text-decoration:underline; }
    .faq-content h3 { margin-top:2rem; font-size:1.2rem; font-weight:600; color:#0b7b5e; }
    .faq-content details { border:1px solid #e6ecec; border-radius:0.6rem; background:#fff; margin:0.8rem 0; padding:0.8rem 1rem; transition:background 0.2s ease; }
    .faq-content details[open] { background:#fefefe; }
    .faq-content summary { cursor:pointer; font-weight:600; font-size:1rem; display:flex; align-items:center; gap:0.5rem; }
    .faq-content .answer { margin-top:0.6rem; font-size:0.95rem; color:#333; line-height:1.6; }
    @media (max-width:768px){
      .faq-wrap { max-width:95%; }
      .faq-header h2 { font-size:1.6rem; }
      .faq-content summary { font-size:0.95rem; }
    }

/* -------------------------------------------------------------------------- */

.pac-container {
  z-index: 20000 !important; /* higher than modal z-index */
}
        /* Smaller modal for calendar */
    .fc .fc-daygrid-day-number {
    font-size: 0.8rem; /* smaller numbers */
    padding: 2px;
}
.fc .fc-event {
    font-size: 0.7rem; /* smaller event text */
    padding: 1px 2px;
}
        .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #051d33;
  padding: 10px 15px;
  color: white;
}
   @media (min-width: 992px) {
  .container {
    max-width: 1400px; /* or whatever width you want */
  }
}
        .modal-header img {
            height: 40px;
        }
        .modal-header h2 {
  flex-grow: 1;
  text-align: center;
  font-size: 18px;
  margin: 0;
  color: white;
}

/* Close Button */
.close {
  color: white;
  font-size: 24px;
  cursor: pointer;



}

  @media (min-width: 992px) {
  .modal-content {
    padding: 20px; /* optional, for breathing room */
  }
}

  @media (min-width: 992px) {
  .modal-dialog {
    max-width: 900px; /* default is usually 500-600px */
  }
}


  
/* Container for your whole form */
#TimeSlotPanel {
  max-width: 820px;
  width:108%;
  margin: 24px auto;
  padding: 24px 22px;
  background: #fff;
  border: 1px solid #e7eef7;
  border-radius: 14px;
  box-shadow: 0 6px 24px rgba(20, 60, 120, 0.08);
}

/* Heading label */
#lblSelectedDate {
  display: block;
  text-align: center;
  margin-bottom: 18px;
  font-weight: 700;
  color: #1f2a44;
  font-size: 19px;
}

/* Group all inputs in a grid layout */
#TimeSlotPanel .form-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

/* Inputs & selects */
#Pickuplocation, 
#txtFirstName, 
#txtLastName, 
#ddlCountryCode, 
#txtPhone, 
#ddlContactPreference, 
#txtEmail, 
#ddlTour, 
#txtGuests {
  border: 2px solid #2d8cff;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  color: #1f2a44;
  transition: border-color .15s, box-shadow .15s;
}

#Pickuplocation:focus, 
#txtFirstName:focus, 
#txtLastName:focus, 
#ddlCountryCode:focus, 
#txtPhone:focus, 
#ddlContactPreference:focus, 
#txtEmail:focus, 
#ddlTour:focus, 
#txtGuests:focus {
  outline: 0;
  border-color: #1e7bff;
  box-shadow: 0 0 0 4px rgba(46, 125, 255, 0.15);
}

/* Validation asterisks */
#TimeSlotPanel span[style*="color:Red"] {
  font-size: 16px;
  margin-left: 2px;
}

/* Buttons */
#btnSubmit, #btnBack {
  border-radius: 10px;
  padding: 12px 18px;
  font-weight: 600;
  min-width: 150px;
}

#btnSubmit {
  background: #2d8cff;
  border: none;
  color: #fff;
  box-shadow: 0 6px 16px rgba(45, 140, 255, 0.35);
}

#btnSubmit:hover {
  background: #1f7df0;
}

#btnBack {
  background: #eef3fb;
  border: none;
  color: #1f2a44;
}

#btnBack:hover {
  background: #e3ecfa;
}
    .btn-gradient {
        background: linear-gradient(135deg, #0066ff, #00ccff);
        border: none;
        color: white !important;
        font-weight: 600;
        padding: 10px 18px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 102, 255, 0.3);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .btn-gradient:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(0, 102, 255, 0.4);
    }

    /* Minimalist outline button */
    .btn-outline-custom {
        background: transparent;
        color: #333 !important;
        border: 2px solid #333;
        padding: 10px 18px;
        border-radius: 8px;
        font-weight: 500;
        transition: background 0.2s ease, color 0.2s ease;
    }
    .btn-outline-custom:hover {
        background: #333;
        color: white !important;
    }

 
.recaptcha-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 300px; /* Adjust to your panel width */
    margin: 0 auto;
}

.recaptcha-wrapper iframe {
    width: 100% !important;
    max-width: 100% !important;
}
/* Saona FAQ showcase */
.saona-faq-showcase {
  --sfq-ink: #0b1730;
  --sfq-muted: #526174;
  background: linear-gradient(180deg, #fbfdfd 0%, #f4fbfb 100%);
  padding: 32px 0 64px;
  font-family: "Manrope", "Sen", Arial, sans-serif;
}
.sfq-frame {
  width: min(1320px, calc(100% - 64px));
  margin: 0 auto;
  overflow: hidden;
  border-radius: 16px;
  background: #f8fdfd;
  box-shadow: 0 24px 70px rgba(7, 30, 48, .14);
}
.sfq-hero {
  position: relative;
  min-height: 292px;
  display: flex;
  align-items: center;
  padding: 42px 78px 68px;
  color: #fff;
  background: #07586a url("../images/saona-island-banner.webp") center 48% / cover no-repeat;
}
.sfq-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 43, 58, .86) 0%, rgba(5, 77, 91, .58) 42%, rgba(5, 53, 67, .12) 100%), linear-gradient(0deg, rgba(4, 68, 82, .42), rgba(1, 23, 35, .04));
}
.sfq-hero::after {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -46px;
  height: 96px;
  background: #f8fdfd;
  border-radius: 50% 50% 0 0 / 58% 58% 0 0;
}
.sfq-hero-content {
  position: relative;
  z-index: 1;
  max-width: 620px;
}
.sfq-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-width: 58px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 999px;
  color: #eaffff;
  background: rgba(2, 77, 89, .54);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .09em;
}
.sfq-hero h2 {
  margin: 14px 0 2px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.1rem, 5vw, 4.55rem);
  line-height: .94;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.sfq-subtitle {
  margin: 0;
  color: rgba(255, 255, 255, .96);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2.2vw, 2.05rem);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.sfq-rule {
  display: block;
  width: 32px;
  height: 2px;
  margin: 20px 0 16px;
  background: #fff;
  border-radius: 99px;
}
.sfq-intro {
  max-width: 520px;
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 700;
}
.sfq-body {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 318px minmax(0, 1fr);
  gap: 48px;
  padding: 36px 70px 36px;
}
.sfq-category-list {
  display: grid;
  gap: 10px;
  align-self: start;
}
.sfq-category,
.sfq-mobile-category {
  border: 1px solid rgba(17, 46, 64, .1);
  background: rgba(255, 255, 255, .82);
  color: var(--sfq-ink);
  box-shadow: 0 8px 24px rgba(12, 36, 52, .06);
}
.sfq-category {
  min-height: 66px;
  display: grid;
  grid-template-columns: 54px 1fr 18px;
  align-items: center;
  width: 100%;
  padding: 10px 14px;
  border-radius: 8px;
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sfq-category:hover,
.sfq-category.is-active {
  transform: translateY(-1px);
  border-color: rgba(0, 121, 126, .32);
  box-shadow: 0 14px 28px rgba(12, 36, 52, .1);
}
.sfq-category-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: var(--cat-color);
  background: var(--cat-soft);
  font-size: 23px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .72);
}
.sfq-category-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.sfq-category-copy strong {
  color: var(--cat-color);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 900;
}
.sfq-category-copy small {
  color: var(--sfq-muted);
  font-size: 11px;
  line-height: 1.1;
  font-weight: 700;
}
.sfq-category-arrow {
  color: #19344d;
  font-size: 12px;
}
.sfq-question-panel {
  align-self: start;
  overflow: hidden;
  border: 1px solid rgba(17, 46, 64, .1);
  border-radius: 10px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 12px 34px rgba(11, 32, 49, .08);
}
.sfq-question {
  border-bottom: 1px solid rgba(17, 46, 64, .1);
}
.sfq-question:last-of-type {
  border-bottom: 0;
}
.saona-faq-showcase:not(.sfq-show-all) .sfq-extra {
  display: none;
}
.sfq-question summary {
  min-height: 45px;
  display: grid;
  grid-template-columns: 34px 34px 1fr 20px;
  align-items: center;
  gap: 10px;
  padding: 0 24px;
  color: var(--sfq-ink);
  cursor: pointer;
  list-style: none;
}
.sfq-question summary::-webkit-details-marker,
.sfq-mobile-category summary::-webkit-details-marker,
.sfq-mobile-question summary::-webkit-details-marker {
  display: none;
}
.sfq-number-dot {
  width: 25px;
  height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  border-radius: 50%;
  color: var(--cat-color);
  background: var(--cat-soft);
  font-size: 10px;
  font-weight: 900;
}
.sfq-row-number {
  color: #10213a;
  font-size: 13px;
  font-weight: 900;
}
.sfq-question-title {
  min-width: 0;
  color: #16213a;
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 900;
}
.sfq-chevron {
  color: #16213a;
  font-size: 11px;
  transition: transform .2s ease;
}
.sfq-question[open] .sfq-chevron,
.sfq-mobile-category[open] > summary .sfq-category-arrow,
.sfq-mobile-question[open] summary span {
  transform: rotate(180deg);
}
.sfq-answer {
  padding: 0 58px 16px 102px;
  color: #46566a;
  font-size: 13px;
  line-height: 1.6;
}
.sfq-show-more {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-top: 1px solid rgba(17, 46, 64, .08);
  color: #00716c;
  background: rgba(255, 255, 255, .7);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  cursor: pointer;
}
.sfq-show-more span {
  margin-left: 6px;
  font-size: 10px;
  display: inline-block;
  transition: transform .2s ease;
}
.sfq-show-all .sfq-show-more span {
  transform: rotate(180deg);
}
.sfq-mobile-list {
  display: none;
}
.sfq-help-card {
  grid-column: 2;
  position: relative;
  min-height: 118px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 250px;
  align-items: center;
  gap: 22px;
  overflow: hidden;
  margin-top: -8px;
  padding: 22px 282px 22px 24px;
  border: 1px solid rgba(14, 174, 186, .32);
  border-radius: 10px;
  background: linear-gradient(90deg, #e5fbfb 0%, #ffffff 54%, #dff8fb 100%);
  box-shadow: 0 14px 34px rgba(12, 36, 52, .08);
}
.sfq-help-card::after {
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  width: 330px;
  background: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.12) 42%, rgba(255,255,255,0) 100%), url("../images/private-catamaran-tour-saona-1280.webp") center / cover no-repeat;
  opacity: .94;
}
.sfq-whatsapp-icon {
  position: relative;
  z-index: 1;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #20c767;
  font-size: 28px;
  box-shadow: 0 12px 26px rgba(32, 199, 103, .28);
}
.sfq-help-copy {
  position: relative;
  z-index: 1;
}
.sfq-help-copy h3 {
  margin: 0 0 4px;
  color: #111827;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.15;
  font-weight: 700;
}
.sfq-help-copy p {
  max-width: 265px;
  margin: 0;
  color: #334155;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
}
.sfq-whatsapp-btn {
  position: relative;
  z-index: 1;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border-radius: 8px;
  color: #fff;
  background: #006b5b;
  text-decoration: none;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 0 12px 24px rgba(0, 107, 91, .22);
}
.sfq-whatsapp-btn:hover {
  color: #fff;
  text-decoration: none;
  background: #005548;
}
.sfq-whatsapp-btn strong {
  color: #fff;
  font-size: 14px;
  letter-spacing: .02em;
}
@media (max-width: 1100px) {
  .sfq-body {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
    padding: 30px 34px 34px;
  }
  .sfq-help-card {
    padding-right: 220px;
    grid-template-columns: 54px minmax(0, 1fr) 220px;
  }
  .sfq-help-card::after {
    width: 270px;
  }
}
@media (max-width: 820px) {
  .saona-faq-showcase {
    padding: 18px 0 36px;
  }
  .sfq-frame {
    width: min(390px, calc(100% - 28px));
    border-radius: 18px;
  }
  .sfq-hero {
    min-height: 260px;
    align-items: flex-start;
    padding: 40px 18px 58px;
    background-position: center top;
  }
  .sfq-hero::before {
    background: linear-gradient(90deg, rgba(5, 45, 63, .84) 0%, rgba(5, 67, 79, .5) 58%, rgba(5, 53, 67, .1) 100%), linear-gradient(0deg, rgba(4, 68, 82, .62), rgba(1, 23, 35, .06));
  }
  .sfq-hero::after {
    left: -20%;
    right: -20%;
    bottom: -34px;
    height: 72px;
  }
  .sfq-pill {
    height: 28px;
    min-width: 56px;
    font-size: 12px;
  }
  .sfq-hero h2 {
    margin-top: 18px;
    font-size: 2.35rem;
  }
  .sfq-subtitle {
    font-size: 1.27rem;
  }
  .sfq-rule {
    margin: 14px 0 13px;
  }
  .sfq-intro {
    max-width: 260px;
    font-size: 13px;
  }
  .sfq-body {
    display: block;
    padding: 24px 12px 12px;
  }
  .sfq-desktop-categories,
  .sfq-desktop-panel {
    display: none;
  }
  .sfq-mobile-list {
    display: grid;
    gap: 10px;
  }
  .sfq-mobile-category {
    border-radius: 8px;
    overflow: hidden;
  }
  .sfq-mobile-category > summary {
    min-height: 58px;
    display: grid;
    grid-template-columns: 48px 1fr 18px;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    list-style: none;
    cursor: pointer;
  }
  .sfq-mobile-category .sfq-category-icon {
    width: 40px;
    height: 40px;
    font-size: 22px;
  }
  .sfq-mobile-questions {
    display: grid;
    gap: 0;
    padding: 0 12px 12px 70px;
  }
  .sfq-mobile-question {
    border-top: 1px solid rgba(17, 46, 64, .1);
  }
  .sfq-mobile-question summary {
    display: grid;
    grid-template-columns: 1fr 14px;
    gap: 12px;
    align-items: center;
    padding: 11px 0;
    color: #10213a;
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 900;
    list-style: none;
    cursor: pointer;
  }
  .sfq-mobile-question summary span {
    color: #10213a;
    font-size: 10px;
    transition: transform .2s ease;
  }
  .sfq-mobile-question div {
    padding: 0 0 12px;
    color: #526174;
    font-size: 12px;
    line-height: 1.55;
  }
  .sfq-help-card {
    min-height: 150px;
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 12px;
    margin-top: 22px;
    padding: 18px 16px 84px;
    border-radius: 10px;
  }
  .sfq-help-card::after {
    inset: auto 0 0 auto;
    width: 190px;
    height: 112px;
    background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.18) 42%, rgba(255,255,255,0) 100%), url("../images/private-catamaran-tour-saona-1280.webp") center / cover no-repeat;
  }
  .sfq-whatsapp-icon {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }
  .sfq-help-copy h3 {
    font-size: 18px;
  }
  .sfq-help-copy p {
    max-width: 190px;
    font-size: 11px;
  }
  .sfq-whatsapp-btn {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 48px;
    min-width: 185px;
    padding: 10px 14px;
    font-size: 10px;
  }
  .sfq-whatsapp-btn strong {
    font-size: 12px;
  }
}

/* Saona itinerary experience */
.sie{
  position:relative;
  overflow:hidden;
  padding:22px 0 42px;
  background:#fff;
  color:#0b2035;
  isolation:isolate;
}
.sie *{ box-sizing:border-box; }
.sie__hero{
  position:absolute;
  z-index:-1;
  top:0;
  left:0;
  right:0;
  height:235px;
  background:
    linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 24%, rgba(255,255,255,.72) 44%, rgba(255,255,255,.06) 100%),
    linear-gradient(180deg, rgba(255,255,255,0) 58%, #fff 100%),
    url('../images/saona-island-banner.webp') center right/cover no-repeat;
}
.sie__container{
  width:min(100%, 1680px);
  margin:0 auto;
  padding:0 58px;
}
.sie__header{
  min-height:178px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  max-width:560px;
}
.sie__eyebrow{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 17px;
  border:1px solid rgba(11,144,160,.28);
  border-radius:999px;
  background:rgba(234,252,254,.86);
  color:#008a9c;
  font-size:14px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
}
.sie__title{
  margin:18px 0 13px;
  color:#102033;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:48px;
  line-height:.98;
  font-weight:800;
  letter-spacing:0;
}
.sie__lead{
  margin:0;
  color:#596579;
  font-size:17px;
  line-height:1.55;
  max-width:520px;
}
.sie__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 15px;
}
.sie__tabs,
.sie__quick-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.sie__tab{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  border:1px solid rgba(8,32,50,.11);
  border-radius:9px;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 22px rgba(10,32,52,.08);
  color:#263449;
  cursor:pointer;
  padding:8px 18px 8px 13px;
  text-align:left;
  transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.sie__tab i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  font-size:19px;
  color:#8a95a3;
}
.sie__tab span{ display:grid; gap:1px; font-weight:900; font-size:15px; line-height:1.1; }
.sie__tab small{ display:block; color:inherit; font-size:12px; font-weight:800; opacity:.9; }
.sie__tab.is-active{
  background:linear-gradient(135deg, #083e47, #006f70);
  color:#fff;
  border-color:rgba(0,111,112,.45);
  transform:translateY(-1px);
}
.sie__tab.is-active i{ color:#fff; }
.sie__pill-button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(8,32,50,.12);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#193044;
  box-shadow:0 9px 22px rgba(10,32,52,.06);
  padding:0 20px;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
.sie__pill-button i{ color:#007a7e; font-size:17px; }
.sie__filter-panel{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 15px;
  padding:12px 14px;
  border:1px solid rgba(9,138,147,.16);
  border-radius:10px;
  background:linear-gradient(135deg, rgba(238,253,254,.95), rgba(255,255,255,.95));
  box-shadow:0 14px 28px rgba(10,32,52,.07);
}
.sie__filter-panel[hidden]{ display:none; }
.sie__filter-panel span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#244257;
  font-size:13px;
  font-weight:850;
  padding:7px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(10,32,52,.08);
}
.sie__filter-panel i{ color:#059c9c; }
.sie__layout{
  display:grid;
  grid-template-columns:minmax(500px, 1.12fr) minmax(330px, .72fr) minmax(390px, .88fr);
  gap:24px;
  align-items:start;
}
.sie__timeline-column,
.sie__compact-column,
.sie__map-column{ min-width:0; }
.sie__compact-column{ display:grid; gap:18px; }
.sie-card{
  border:1px solid rgba(14,53,74,.12);
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 22px 50px rgba(12,33,54,.12);
  overflow:hidden;
}
.sie-card__top{
  width:100%;
  display:grid;
  grid-template-columns:62px 1fr 28px;
  gap:16px;
  align-items:start;
  padding:22px 22px 20px;
  border:0;
  border-bottom:1px solid rgba(14,53,74,.09);
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.sie-card__sun{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#ffa30e;
  background:#fff8ea;
  font-size:30px;
}
.sie-card__heading{ display:grid; align-content:start; gap:7px; min-width:0; }
.sie-card__heading small{
  color:#0394a5;
  font-size:13px;
  line-height:1;
  font-weight:950;
  letter-spacing:.16em;
}
.sie-card__heading strong{
  color:#102033;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:28px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:0;
}
.sie-card__heading em{
  justify-self:start;
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  background:#eefbff;
  border:1px solid rgba(9,138,147,.18);
  color:#102033;
  font-style:normal;
  font-size:13px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.sie-card__chev{
  color:#0c3446;
  font-size:18px;
  margin-top:14px;
  transition:transform .2s ease;
}
.sie-card.is-open .sie-card__chev{ transform:rotate(180deg); }
.sie-card:not(.is-open) .sie-card__body{ display:none; }
.sie-card__body{ padding:0 22px 20px; }
.sie-steps{
  position:relative;
  display:grid;
  gap:0;
  padding:10px 0 2px;
}
.sie-steps:before{
  content:"";
  position:absolute;
  top:24px;
  bottom:26px;
  left:153px;
  width:2px;
  background:#e7eef1;
}
.sie-step{
  position:relative;
  display:grid;
  grid-template-columns:126px 54px 1fr;
  gap:16px;
  align-items:center;
  min-height:74px;
  padding:12px 0;
  border-bottom:1px solid rgba(14,53,74,.08);
}
.sie-step:last-child{ border-bottom:0; }
.sie-step__time{
  justify-self:start;
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:98px;
  max-width:126px;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(14,53,74,.09);
  background:#f9fbfc;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.85);
  color:#172638;
  font-size:12px;
  line-height:1.15;
  font-weight:850;
  text-align:center;
}
.sie-step__time b{
  display:block;
  width:100%;
  color:#0699a3;
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.1em;
}
.sie-step__icon{
  position:relative;
  z-index:1;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:22px;
  color:var(--step-color, #078b94);
  background:var(--step-bg, #e5fbfc);
}
.sie-step__icon--boat,
.sie-step__icon--return{ --step-color:#087d86; --step-bg:#dff8f8; }
.sie-step__icon--camera{ --step-color:#f5861f; --step-bg:#fff0df; }
.sie-step__icon--water{ --step-color:#0094a7; --step-bg:#e3fbff; }
.sie-step__icon--sail{ --step-color:#5447b5; --step-bg:#f0ecff; }
.sie-step__icon--palm{ --step-color:#069b50; --step-bg:#e6faed; }
.sie-step__icon--food{ --step-color:#f1780f; --step-bg:#fff0df; }
.sie-step__icon--star{ --step-color:#ee5548; --step-bg:#fff0ed; }
.sie-step__icon--pin{ --step-color:#00827d; --step-bg:#e3f9f5; }
.sie-step__copy{ display:grid; gap:6px; min-width:0; }
.sie-step__copy strong{ color:#172638; font-size:14px; line-height:1.25; font-weight:950; }
.sie-step__copy em{ color:#3e4b5e; font-size:13px; line-height:1.45; font-style:normal; }
.sie-steps--compact:before{ left:145px; }
.sie-steps--compact .sie-step{ grid-template-columns:118px 50px 1fr; gap:14px; min-height:76px; }
.sie-steps--compact .sie-step__time{ min-width:96px; max-width:118px; }
.sie-good,
.sie-perfect{
  margin-top:16px;
  border:1px solid rgba(9,138,147,.14);
  border-radius:12px;
  background:linear-gradient(135deg, #effdff, #f8ffff);
  color:#1b3449;
}
.sie-good{ padding:17px 19px; }
.sie-good strong,
.sie-perfect strong{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 13px;
  color:#152b3e;
  font-size:15px;
  font-weight:950;
}
.sie-good strong i{ color:#008e98; }
.sie-good ul{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin:0;
  padding:0;
  list-style:none;
}
.sie-good li{
  position:relative;
  padding-left:18px;
  color:#314a5f;
  font-size:13px;
  line-height:1.3;
  font-weight:850;
}
.sie-good li:before{
  content:"";
  position:absolute;
  left:0;
  top:.42em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#0aa1a6;
  box-shadow:0 0 0 4px rgba(10,161,166,.12);
}
.sie-perfect{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  padding:17px;
}
.sie-perfect strong{ width:100%; margin-bottom:0; }
.sie-perfect span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#1c3c50;
  font-size:13px;
  line-height:1;
  font-weight:850;
}
.sie-perfect i{ color:#008b8d; font-size:18px; }
.sie-map{
  border-radius:18px;
  overflow:hidden;
  background:#07323d;
  box-shadow:0 22px 50px rgba(12,33,54,.18);
}
.sie-map__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:84px;
  padding:20px 22px;
  background:linear-gradient(135deg, #073441, #082a35);
  color:#fff;
}
.sie-map__head span{ display:grid; gap:6px; }
.sie-map__head b{ font-size:14px; letter-spacing:.12em; font-weight:950; }
.sie-map__head em{ color:rgba(255,255,255,.92); font-size:14px; font-style:normal; font-weight:750; }
.sie-map__head a{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:#fff;
  text-decoration:none;
  font-size:20px;
  background:rgba(255,255,255,.07);
}
.sie-map__canvas{
  position:relative;
  min-height:430px;
  aspect-ratio:1.13/1;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(4,29,46,.86), rgba(4,71,72,.38)),
    radial-gradient(circle at 80% 22%, rgba(37,119,68,.82), transparent 38%),
    radial-gradient(circle at 26% 64%, rgba(6,55,96,.95), transparent 58%),
    url('../images/logo-mapa.png') center/cover no-repeat,
    #0d4450;
}
.sie-map__canvas:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 75% 30%, rgba(120,210,175,.24), transparent 28%),
    radial-gradient(circle at 28% 72%, rgba(28,109,163,.38), transparent 40%),
    linear-gradient(155deg, transparent 38%, rgba(170,250,255,.09) 39%, transparent 41%);
  mix-blend-mode:screen;
  pointer-events:none;
}
.sie-map__label{
  position:absolute;
  z-index:3;
  color:#fff;
  text-shadow:0 2px 7px rgba(0,0,0,.75);
  font-size:13px;
  line-height:1;
  font-weight:900;
}
.sie-map__label--bay1{ left:34%; top:12%; }
.sie-map__label--bay2{ left:48%; top:18%; }
.sie-map__label--dom{ left:58%; top:24%; }
.sie-map__label--cat{ left:2%; top:25%; }
.sie-map__label--palmilla{ right:24%; top:51%; }
.sie-map__label--saona{ right:23%; bottom:15%; }
.sie-map__route{
  position:absolute;
  z-index:2;
  left:44%;
  top:18%;
  height:3px;
  border-radius:999px;
  background:#abf5ff;
  box-shadow:0 0 12px rgba(171,245,255,.5);
  transform-origin:left center;
}
.sie-map__route--one{ width:42%; transform:rotate(54deg); }
.sie-map__route--two{ left:55%; top:25%; width:34%; transform:rotate(73deg); }
.sie-map__route--three{
  left:65%;
  top:58%;
  width:30%;
  border-top:3px dashed #abf5ff;
  background:transparent;
  box-shadow:none;
  transform:rotate(111deg);
}
.sie-map__dot{
  position:absolute;
  z-index:4;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 3px rgba(171,245,255,.25), 0 2px 8px rgba(0,0,0,.35);
}
.sie-map__dot--one{ left:34%; top:15%; }
.sie-map__dot--two{ left:47%; top:21%; }
.sie-map__dot--three{ left:58%; top:30%; }
.sie-map__marker{
  position:absolute;
  z-index:5;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:23px;
  background:#1976bd;
  box-shadow:0 10px 24px rgba(0,0,0,.28), inset 0 0 0 2px rgba(255,255,255,.18);
}
.sie-map__marker--anchor{ left:49%; top:42%; background:rgba(31,74,105,.9); }
.sie-map__marker--camera{ right:31%; top:58%; }
.sie-map__marker--palm{ right:36%; bottom:17%; background:#00a1a7; }
.sie-map__compass{
  position:absolute;
  right:20px;
  bottom:20px;
  z-index:5;
  color:#fff;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  font-size:12px;
  font-weight:950;
  background:rgba(3,30,43,.32);
}
.sie-map__legend{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:5;
  display:grid;
  gap:13px;
  min-width:172px;
  padding:18px;
  border-radius:11px;
  border:1px solid rgba(171,245,255,.28);
  background:rgba(8,60,70,.68);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:13px;
  font-weight:850;
}
.sie-map__legend span{ display:flex; align-items:center; gap:12px; }
.sie-map__legend span:nth-child(1) i,
.sie-map__legend span:nth-child(2) i{
  width:29px;
  height:0;
  border-top:2px solid #abf5ff;
}
.sie-map__legend span:nth-child(2) i{ border-top-style:dashed; }
.sie-feature-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin-top:20px;
  padding:18px 10px;
  border:1px solid rgba(14,53,74,.09);
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 50px rgba(12,33,54,.12);
}
.sie-feature-strip div{
  display:grid;
  gap:8px;
  justify-items:center;
  text-align:center;
  padding:0 15px;
  border-right:1px solid rgba(14,53,74,.1);
}
.sie-feature-strip div:last-child{ border-right:0; }
.sie-feature-strip i{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--feature-color, #0495a2);
  background:var(--feature-bg, #effdff);
  font-size:20px;
}
.sie-feature-strip div:nth-child(2) i{ --feature-color:#008b70; --feature-bg:#eaf9f1; }
.sie-feature-strip div:nth-child(3) i{ --feature-color:#f19418; --feature-bg:#fff3dd; }
.sie-feature-strip div:nth-child(4) i{ --feature-color:#f0a610; --feature-bg:#fff8e6; }
.sie-feature-strip strong{ color:#11273a; font-size:13px; line-height:1.25; font-weight:950; }
.sie-feature-strip span{ color:#44586a; font-size:12px; line-height:1.45; }
.sie-cta{
  position:relative;
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:20px;
  align-items:center;
  margin:26px auto 0;
  max-width:1000px;
  min-height:122px;
  padding:24px 28px;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(10,161,166,.18);
  background:
    linear-gradient(90deg, rgba(224,250,254,.98) 0%, rgba(240,253,255,.93) 50%, rgba(240,253,255,.54) 72%, rgba(240,253,255,.16) 100%),
    url('../images/private-catamaran-tour-saona-1280.webp') center right/auto 130% no-repeat;
  box-shadow:0 18px 40px rgba(12,33,54,.12);
}
.sie-cta__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#06a953;
  font-size:32px;
  box-shadow:0 12px 22px rgba(0,122,74,.22);
}
.sie-cta strong{
  display:block;
  color:#102033;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:25px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:0;
}
.sie-cta span{ color:#354b5f; font-size:14px; line-height:1.4; font-weight:650; }
.sie-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:228px;
  min-height:66px;
  padding:13px 22px;
  border-radius:11px;
  background:linear-gradient(135deg, #046c68, #014d4c);
  color:#fff;
  text-decoration:none;
  box-shadow:0 14px 26px rgba(3,86,82,.24);
  font-size:14px;
  line-height:1.25;
  font-weight:950;
  text-align:left;
}
.sie-cta a i{ font-size:21px; }
.sie-cta a b{ font-size:14px; font-weight:950; }
@media (max-width: 1399px){
  .sie__container{ padding:0 40px; }
  .sie__layout{ grid-template-columns:minmax(470px, 1.05fr) minmax(320px, .72fr) minmax(360px, .8fr); gap:20px; }
  .sie-card__heading strong{ font-size:25px; }
  .sie-step{ grid-template-columns:116px 50px 1fr; gap:14px; }
  .sie-steps:before{ left:141px; }
  .sie-steps--compact:before{ left:137px; }
  .sie-steps--compact .sie-step{ grid-template-columns:110px 48px 1fr; gap:12px; }
}
@media (max-width: 1199px){
  .sie__layout{ grid-template-columns:1fr 1fr; }
  .sie__map-column{ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(300px, .9fr); gap:20px; align-items:start; }
  .sie-feature-strip{ margin-top:0; height:100%; }
}
@media (min-width: 992px){
  .sie__map-column{ position:sticky; top:90px; }
}
@media (max-width: 991px){
  .sie{ padding:0 0 32px; background:#f8fbfc; }
  .sie__hero{
    position:relative;
    height:265px;
    margin:0 0 -112px;
    background:
      linear-gradient(180deg, rgba(6,48,69,.05) 0%, rgba(255,255,255,.05) 36%, #f8fbfc 100%),
      url('../images/saona-island-banner.webp') center/cover no-repeat;
  }
  .sie__container{ padding:0 22px; }
  .sie__header{
    min-height:0;
    padding-top:118px;
    max-width:430px;
  }
  .sie__eyebrow{ height:32px; font-size:13px; background:rgba(241,254,255,.96); }
  .sie__title{ margin:20px 0 14px; font-size:39px; line-height:1; }
  .sie__lead{ font-size:16px; color:#536174; }
  .sie__toolbar{ display:grid; gap:14px; margin-top:24px; }
  .sie__tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border:1px solid rgba(8,32,50,.11);
    border-radius:11px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 12px 25px rgba(12,33,54,.1);
  }
  .sie__tab{
    border:0;
    border-right:1px solid rgba(8,32,50,.08);
    border-radius:0;
    box-shadow:none;
    min-height:70px;
    padding:10px 12px;
    justify-content:center;
  }
  .sie__tab:nth-child(3){ grid-column:1 / -1; border-top:1px solid rgba(8,32,50,.08); }
  .sie__tab span{ font-size:14px; }
  .sie__tab small{ font-size:12px; }
  .sie__quick-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .sie__pill-button{ justify-content:center; width:100%; min-height:50px; font-size:14px; }
  .sie__layout{ grid-template-columns:1fr; gap:18px; }
  .sie__compact-column{ gap:14px; }
  .sie__map-column{ display:grid; grid-template-columns:1fr; gap:16px; }
  .sie-card{ border-radius:13px; box-shadow:0 18px 36px rgba(12,33,54,.12); }
  .sie-card__top{ grid-template-columns:52px 1fr 24px; gap:13px; padding:21px 18px 18px; }
  .sie-card__sun{ width:46px; height:46px; font-size:27px; }
  .sie-card__heading small{ font-size:12px; }
  .sie-card__heading strong{ font-size:25px; }
  .sie-card__heading em{ min-height:30px; font-size:12px; }
  .sie-card__body{ padding:0 18px 18px; }
  .sie-step,
  .sie-steps--compact .sie-step{ grid-template-columns:100px 43px 1fr; gap:10px; min-height:86px; align-items:center; }
  .sie-steps:before,
  .sie-steps--compact:before{ left:121px; top:24px; bottom:28px; }
  .sie-step__time{ min-width:86px; max-width:100px; padding:5px 8px; font-size:11px; }
  .sie-step__time b{ font-size:9px; }
  .sie-step__icon{ width:40px; height:40px; font-size:19px; }
  .sie-step__copy strong{ font-size:14px; }
  .sie-step__copy em{ font-size:13px; line-height:1.45; }
  .sie-good ul{ display:grid; grid-template-columns:1fr 1fr; gap:13px; }
  .sie-perfect{ gap:14px; }
  .sie-perfect strong{ width:100%; }
  .sie-map{ border-radius:13px; }
  .sie-map__head{ min-height:75px; padding:17px 19px; }
  .sie-map__canvas{ min-height:480px; aspect-ratio:auto; }
  .sie-feature-strip{ grid-template-columns:repeat(4, 1fr); border-radius:13px; padding:17px 8px; }
  .sie-feature-strip div{ padding:0 9px; }
  .sie-feature-strip span{ font-size:11px; }
  .sie-cta{
    grid-template-columns:58px 1fr;
    gap:14px;
    min-height:0;
    padding:24px;
    background:
      linear-gradient(180deg, rgba(227,251,254,.98) 0%, rgba(238,252,254,.98) 57%, rgba(238,252,254,.25) 100%),
      url('../images/private-catamaran-tour-saona-1280.webp') bottom right/100% auto no-repeat;
  }
  .sie-cta a{ grid-column:1 / -1; width:100%; min-height:64px; margin-top:8px; }
  .sie-cta strong{ font-size:26px; }
}
@media (max-width: 575px){
  .sie__container{ padding:0 16px; }
  .sie__hero{ height:250px; margin-bottom:-108px; }
  .sie__header{ padding-top:112px; }
  .sie__title{ font-size:36px; }
  .sie__lead{ font-size:15px; }
  .sie__tabs{ grid-template-columns:1fr 1fr; }
  .sie__tab{ min-height:68px; gap:7px; padding:8px 9px; }
  .sie__tab i{ width:23px; height:23px; font-size:17px; }
  .sie__tab span{ font-size:13px; }
  .sie__tab small{ font-size:11px; }
  .sie-card__top{ grid-template-columns:48px 1fr 22px; gap:11px; padding:20px 15px 17px; }
  .sie-card__heading strong{ font-size:23px; }
  .sie-card__body{ padding:0 15px 16px; }
  .sie-step,
  .sie-steps--compact .sie-step{ grid-template-columns:92px 40px 1fr; gap:9px; min-height:92px; }
  .sie-steps:before,
  .sie-steps--compact:before{ left:111px; }
  .sie-step__time{ min-width:78px; max-width:92px; font-size:10px; }
  .sie-step__copy strong{ font-size:13px; }
  .sie-step__copy em{ font-size:12px; }
  .sie-good{ padding:16px 14px; }
  .sie-good ul{ grid-template-columns:1fr; }
  .sie-perfect{ padding:16px 14px; display:grid; grid-template-columns:1fr; }
  .sie-map__canvas{ min-height:410px; }
  .sie-map__legend{ left:16px; bottom:16px; min-width:160px; padding:14px; font-size:12px; }
  .sie-feature-strip{ grid-template-columns:repeat(2, 1fr); gap:0; }
  .sie-feature-strip div{ min-height:142px; padding:12px; border-right:1px solid rgba(14,53,74,.1); border-bottom:1px solid rgba(14,53,74,.1); }
  .sie-feature-strip div:nth-child(2n){ border-right:0; }
  .sie-feature-strip div:nth-child(n+3){ border-bottom:0; }
  .sie-cta{ grid-template-columns:1fr; text-align:center; justify-items:center; padding-bottom:155px; }
  .sie-cta__icon{ width:58px; height:58px; }
  .sie-cta a{ justify-content:center; text-align:left; }
}
/* End Saona itinerary experience */

/* Saona itinerary time slot and iframe map refinements */
.sie-card__heading em{ gap:7px; }
.sie-card--slot .sie-card__top{
  grid-template-columns:58px 1fr 26px;
  padding-bottom:18px;
}
.sie-card--slot .sie-card__heading strong{ font-size:27px; }
.sie-slot-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:16px 0 20px;
  border-bottom:1px solid rgba(14,53,74,.09);
}
.sie-slot-option{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:12px;
  min-height:72px;
  padding:14px 16px;
  border:1px solid rgba(14,53,74,.12);
  border-radius:9px;
  background:#fff;
  color:#172638;
  text-align:left;
  box-shadow:0 12px 24px rgba(12,33,54,.06);
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sie-slot-option i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#0a6f7a;
  background:#effdff;
  font-size:19px;
}
.sie-slot-option span{ display:grid; gap:4px; min-width:0; }
.sie-slot-option strong{ color:#172638; font-size:14px; line-height:1.1; font-weight:950; }
.sie-slot-option em{ color:#172638; font-size:13px; line-height:1.1; font-style:normal; font-weight:850; }
.sie-slot-option.is-active{
  border-color:#28b7c4;
  background:linear-gradient(135deg, rgba(229,253,255,.95), rgba(255,255,255,.96));
  box-shadow:0 14px 28px rgba(6,142,153,.13);
  transform:translateY(-1px);
}
.sie-included-label{
  padding:18px 0 8px;
  color:#0092a0;
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
  text-align:center;
}
.sie-card--slot .sie-steps{ padding-top:0; }
.sie-card--slot .sie-steps:before{
  left:24px;
  top:23px;
  bottom:27px;
}
.sie-card--slot .sie-step,
.sie-card--slot .sie-steps--compact .sie-step{
  grid-template-columns:50px 78px 1fr;
  gap:12px;
  min-height:74px;
}
.sie-card--slot .sie-step__icon{
  grid-column:1;
  grid-row:1;
}
.sie-card--slot .sie-step__time{
  grid-column:2;
  grid-row:1;
  min-width:68px;
  max-width:78px;
  padding:5px 7px;
  font-size:10px;
  white-space:nowrap;
}
.sie-card--slot .sie-step__copy{
  grid-column:3;
  grid-row:1;
}
.sie-map__iframe-wrap{
  position:relative;
  height:430px;
  min-height:430px;
  background:#0b3340;
  overflow:hidden;
}
.sie-map__iframe-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
@media (max-width: 1199px){
  .sie-map__iframe-wrap{ height:440px; min-height:440px; }
}
@media (max-width: 991px){
  .sie-slot-switch{ gap:10px; padding:15px 0 18px; }
  .sie-slot-option{ min-height:66px; padding:12px; grid-template-columns:36px 1fr; gap:10px; }
  .sie-slot-option i{ width:32px; height:32px; font-size:17px; }
  .sie-slot-option strong{ font-size:13px; }
  .sie-slot-option em{ font-size:12px; }
  .sie-card--slot .sie-step,
  .sie-card--slot .sie-steps--compact .sie-step{ grid-template-columns:44px 72px 1fr; gap:10px; min-height:82px; }
  .sie-card--slot .sie-steps:before{ left:21px; }
  .sie-card--slot .sie-step__time{ min-width:64px; max-width:72px; font-size:10px; }
  .sie-map__iframe-wrap{ height:480px; min-height:480px; }
}
@media (max-width: 575px){
  .sie-slot-switch{ grid-template-columns:1fr; }
  .sie-card--slot .sie-card__top{ grid-template-columns:48px 1fr 22px; }
  .sie-card--slot .sie-card__heading strong{ font-size:23px; }
  .sie-card--slot .sie-step,
  .sie-card--slot .sie-steps--compact .sie-step{ grid-template-columns:40px 64px 1fr; gap:8px; }
  .sie-card--slot .sie-steps:before{ left:19px; }
  .sie-card--slot .sie-step__time{ min-width:58px; max-width:64px; font-size:9px; }
  .sie-map__iframe-wrap{ height:410px; min-height:410px; }
}
/* End Saona itinerary time slot and iframe map refinements */

/* Saona itinerary compact desktop refinements */
@media (min-width: 992px){
  .sie-card--full .sie-card__top{
    position:relative;
    grid-template-columns:54px 1fr 22px;
    gap:14px;
    min-height:104px;
    padding:22px 20px 18px;
  }
  .sie-card--full .sie-card__heading{
    gap:6px;
    padding-right:166px;
  }
  .sie-card--full .sie-card__heading strong{
    font-size:26px;
    line-height:1.06;
  }
  .sie-card--full .sie-card__heading em{
    position:absolute;
    top:38px;
    right:54px;
    min-height:30px;
    padding:0 12px;
    font-size:12px;
  }
  .sie-card--full .sie-card__chev{ display:none; }
  .sie-card--slot .sie-card__top{
    min-height:108px;
    padding:20px 20px 17px;
  }
  .sie-card--slot .sie-card__heading{ gap:6px; }
  .sie-card--slot .sie-card__heading strong{
    font-size:25px;
    line-height:1.05;
  }
  .sie-slot-switch{
    gap:12px;
    padding:14px 0 17px;
  }
  .sie-slot-option{
    min-height:66px;
    padding:11px 13px;
    grid-template-columns:36px 1fr;
    gap:10px;
  }
  .sie-slot-option i{
    width:32px;
    height:32px;
    font-size:18px;
  }
  .sie-slot-option strong{ font-size:13px; }
  .sie-slot-option em{ font-size:12px; }
  .sie-included-label{ padding:15px 0 5px; }
  .sie-card--slot .sie-step,
  .sie-card--slot .sie-steps--compact .sie-step{
    min-height:68px;
    padding:9px 0;
  }
  .sie-card--slot .sie-step__copy strong{ font-size:13px; }
  .sie-card--slot .sie-step__copy em{ font-size:12px; line-height:1.35; }
  .sie-card--slot .sie-perfect{
    margin-top:12px;
    padding:14px 15px;
    gap:12px 16px;
  }
  .sie-card--slot .sie-perfect strong{
    margin-bottom:0;
    font-size:14px;
  }
  .sie-card--slot .sie-perfect span{ font-size:12px; }
}
/* End Saona itinerary compact desktop refinements */

/* Saona itinerary food note refinement */
.sie-food-note{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid rgba(242, 116, 22, .22);
  background:rgba(255, 246, 236, .9);
  color:#5b3a1b;
  font-size:12px;
  line-height:1.5;
  font-weight:800;
}
@media (max-width: 575px){
  .sie-food-note{ font-size:12px; padding:11px 12px; }
}
/* End Saona itinerary food note refinement */

/* Saona private boat results section */
.saona-results-intro--boat .saona-results-icon {
    background: #eefdfb;
    border-color: #c9eeee;
    color: #008b8d;
}

.saona-results-intro--boat .saona-results-copy strong {
    color: #008b8d;
}

.saona-results-intro--boat .saona-results-price {
    color: #006f73;
    background: #eefdfb;
    border-color: #c9eeee;
}
/* End Saona private boat results section */



/* Saona itinerary split desktop banner */
@media (min-width: 992px){
  .sie{
    padding-top:0;
  }

  .sie__hero{
    display:none;
  }

  .sie__header{
    position:relative;
    max-width:1500px;
    min-height:206px;
    margin:0 auto 22px;
    padding:30px 38px 24px;
    overflow:hidden;
    border-bottom:1px solid #dce6ef;
    background:linear-gradient(90deg, #fff 0%, #fff 43%, rgba(245, 250, 253, .78) 57%, rgba(245, 250, 253, .2) 100%);
  }

  .sie__header::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    z-index:1;
    width:min(48vw, 690px);
    pointer-events:none;
    background:
      linear-gradient(90deg, #fff 0%, rgba(255,255,255,.9) 17%, rgba(255,255,255,.12) 45%, rgba(255,255,255,0) 100%),
      url('../images/saona-island-banner.webp') center/cover no-repeat;
  }

  .sie__header > *{
    position:relative;
    z-index:2;
  }

  .sie__eyebrow{
    height:auto;
    min-height:25px;
    padding:6px 15px;
    background:rgba(234,252,254,.9);
    font-size:12px;
  }

  .sie__title{
    max-width:760px;
    margin:14px 0 12px;
    color:#061b45;
    font-size:clamp(38px, 4vw, 56px);
    font-weight:700;
    line-height:.98;
  }

  .sie__lead{
    max-width:710px;
    color:#061b45;
    font:500 17px/1.55 "Manrope", Arial, sans-serif;
  }
}
/* End Saona itinerary split desktop banner */

/* Home-style Saona hero steps */
.saona-luxury-hero{
  isolation:isolate;
}

.saona-hero-wave{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  z-index:2;
  height:clamp(58px, 7vw, 104px);
  pointer-events:none;
}

.saona-hero-wave svg{
  display:block;
  width:100%;
  height:100%;
}

.saona-hero-wave path:first-child{
  fill:rgba(255,255,255,.36);
}

.saona-hero-wave path:last-child{
  fill:#fbfaf7;
}

.saona-home-steps{
  --hpt-gold:#d49622;
  --hpt-gold-dark:#a66d10;
  position:relative !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:0 !important;
  width:min(1120px, calc(100% - 80px)) !important;
  max-width:1120px !important;
  min-height:0 !important;
  margin:-64px auto 42px !important;
  padding:12px 18px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:10px !important;
  background:rgba(2,25,43,.94) !important;
  box-shadow:0 22px 54px rgba(0,0,0,.28) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  color:#fff !important;
}

.saona-home-steps .hpt-steps__icon{
  display:none !important;
}

.saona-home-steps article{
  position:relative !important;
  display:grid !important;
  grid-template-columns:40px minmax(0, 1fr) 22px !important;
  align-items:center !important;
  min-height:48px !important;
  height:48px !important;
  column-gap:14px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.saona-home-steps article:not(:last-child){
  border-right:1px solid rgba(255,255,255,.14) !important;
}

.saona-home-steps article::before{
  content:none !important;
  display:none !important;
}

.saona-home-steps article::after{
  content:"" !important;
  display:block !important;
  justify-self:end !important;
  width:10px !important;
  height:10px !important;
  margin:0 !important;
  border:0 !important;
  border-top:3px solid #d49622 !important;
  border-right:3px solid #d49622 !important;
  background:transparent !important;
  transform:rotate(45deg) !important;
}

.saona-home-steps b{
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  height:34px !important;
  min-height:34px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, #edb13a 0%, #d49622 100%) !important;
  color:#061126 !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-shadow:none !important;
}

.saona-home-steps div{
  grid-column:auto !important;
  position:relative !important;
  min-width:0 !important;
  width:auto !important;
  padding:0 !important;
}

.saona-home-steps div::before{
  content:none !important;
  display:none !important;
}

.saona-home-steps div span{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.045em !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

@media (max-width:899px){
  .saona-hero-wave{
    height:62px;
  }

  .saona-home-steps{
    grid-template-columns:1fr !important;
    width:min(560px, calc(100% - 28px)) !important;
    margin:-44px auto 30px !important;
    padding:0 !important;
    border-radius:14px !important;
  }

  .saona-home-steps article{
    grid-template-columns:56px minmax(0, 1fr) 22px !important;
    min-height:58px !important;
    height:auto !important;
    padding:0 14px 0 0 !important;
    border-right:0 !important;
    column-gap:14px !important;
  }

  .saona-home-steps article:not(:last-child){
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.13) !important;
  }

  .saona-home-steps b{
    align-self:stretch !important;
    width:56px !important;
    height:auto !important;
    min-height:58px !important;
    border-radius:0 !important;
    font-size:18px !important;
  }

  .saona-home-steps article:first-child b{
    border-radius:13px 4px 0 0 !important;
  }

  .saona-home-steps article:last-child b{
    border-radius:0 0 4px 13px !important;
  }

  .saona-home-steps div span{
    font-size:12px !important;
    white-space:normal !important;
  }
}

@media (max-width:430px){
  .saona-home-steps{
    width:calc(100% - 22px) !important;
  }

  .saona-home-steps div span{
    font-size:11px !important;
    letter-spacing:.035em !important;
  }
}
/* Home footer styles copied for Saona Island page. */
.hpt-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.hpt-footer{--fn:#06192b;--fd:#03101e;--fg:#d09333;--fg2:#edae3c;--fl:rgba(255,255,255,.15);--ft:rgba(255,255,255,.9);--fm:rgba(255,255,255,.68);position:relative;overflow:hidden;padding:54px 0 30px;color:#fff;background:radial-gradient(circle at 70% 16%,rgba(32,91,124,.38),transparent 36%),linear-gradient(180deg,#06192b 0%,#041321 100%);}
.hpt-footer:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:74px 74px;pointer-events:none;}
/*.hpt-footer:after{content:"";position:absolute;right:-2vw;bottom:78px;width:min(43vw,700px);height:320px;background:linear-gradient(90deg,rgba(3,16,30,.42),rgba(3,16,30,.04)),url('../images/footer-3-bg.webp') right bottom/contain no-repeat;opacity:.29;filter:saturate(.8);pointer-events:none;}
*/.hpt-footer__shell{position:relative;z-index:1;width:min(1540px,calc(100% - 64px));margin:0 auto;}
.hpt-footer__trust{display:grid;grid-template-columns:minmax(260px,1.55fr) repeat(4,minmax(150px,.95fr)) minmax(145px,.72fr);align-items:stretch;min-height:202px;padding:30px 36px;color:var(--fn);background:linear-gradient(135deg,#fffdf8 0%,#f7f3eb 100%);border:1px solid rgba(255,255,255,.74);border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.26);}
.hpt-footer__brand-card{display:flex;flex-direction:column;justify-content:center;gap:18px;padding-right:30px;}
.hpt-footer__brand-lockup{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:16px;}
.hpt-footer__brand-lockup img{width:74px;height:75px;object-fit:contain;}
.hpt-footer__brand-lockup h2{margin:0;color:#06192b;font:800 25px/1.05 Cinzel,Georgia,serif;letter-spacing:.04em;text-transform:uppercase;}
.hpt-footer__brand-card p{max-width:285px;margin:0;color:#10243d;font:600 17px/1.55 Manrope,sans-serif;}
.hpt-footer__trust-item{display:grid;align-content:center;justify-items:center;gap:12px;padding:10px 24px;text-align:center;border-left:1px solid rgba(6,25,43,.1);}
.hpt-footer__gold-symbol{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;color:var(--fg);font:400 42px/1 Georgia,serif;}
.hpt-footer__trust-item img{width:43px;height:43px;object-fit:contain;filter:invert(55%) sepia(71%) saturate(519%) hue-rotate(358deg) brightness(91%) contrast(90%);}
.hpt-footer__trust-item strong{color:#06192b;font:900 13px/1.3 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;}
.hpt-footer__trust-item small{max-width:190px;color:#26364c;font:600 13px/1.55 Manrope,sans-serif;}
.hpt-footer__google{display:grid;align-content:center;justify-items:center;gap:5px;min-width:144px;margin-left:28px;padding:14px 18px;border:1px solid rgba(6,25,43,.1);border-radius:14px;background:rgba(255,255,255,.62);box-shadow:0 12px 30px rgba(6,25,43,.08);}
.hpt-footer__google img{width:104px;height:auto;object-fit:contain;}
.hpt-footer__google strong{color:#06192b;font:900 30px/1 Manrope,sans-serif;}
.hpt-footer__google span{color:#b67523;font-size:17px;letter-spacing:2px;white-space:nowrap;}
.hpt-footer__google small{color:#06192b;font:800 11px/1.2 Manrope,sans-serif;}
.hpt-footer__nav-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.1fr;gap:clamp(34px,5vw,72px);padding:70px 20px 58px;}
.hpt-footer__nav-col{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;color:var(--ft);font-style:normal;}
.hpt-footer__nav-col h3{display:flex;align-items:center;gap:15px;margin:0 0 10px;color:#fff;font:700 16px/1.15 Cormorant Garamond,Georgia,serif;letter-spacing:.06em;text-transform:uppercase;}
.hpt-footer__nav-col h3 span{width:30px;color:var(--fg2);font:400 30px/1 Georgia,serif;text-align:center;}
.hpt-footer__nav-col a{color:var(--ft);font:500 16px/1.2 Manrope,sans-serif;text-decoration:none;transition:color .18s ease,transform .18s ease,border-color .18s ease,background .18s ease;}
.hpt-footer__nav-col a:hover{color:#fff;transform:translateX(2px);}
.hpt-footer__outline-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:220px;min-height:42px;margin-top:10px;padding:0 15px;border:1px solid rgba(208,147,51,.95);color:#f0b24c!important;font:900 12px/1 Manrope,sans-serif!important;letter-spacing:.12em;text-transform:uppercase;}
.hpt-footer__outline-link:hover{background:rgba(208,147,51,.12);transform:none!important;}
.hpt-footer__quote{display:inline-flex;align-items:center;justify-content:center;gap:22px;width:min(250px,100%);min-height:52px;margin-top:10px;color:#fff!important;background:linear-gradient(135deg,#b77b28,#dda24c);border:1px solid rgba(237,174,60,.45);box-shadow:0 18px 42px rgba(0,0,0,.18);font:900 13px/1 Manrope,sans-serif!important;letter-spacing:.12em;text-transform:uppercase;}
.hpt-footer__accordion{display:none;}
.hpt-footer__newsletter{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(320px,1.1fr) minmax(520px,1.65fr);align-items:center;gap:34px;padding:36px 20px 32px;border-top:1px solid rgba(208,147,51,.7);border-bottom:1px solid rgba(208,147,51,.55);}
.hpt-footer__newsletter h3{display:flex;align-items:center;gap:14px;margin:0 0 10px;color:#fff;font:700 16px/1.2 Cormorant Garamond,Georgia,serif;letter-spacing:.05em;text-transform:uppercase;}
.hpt-footer__newsletter h3 span{color:var(--fg2);font-size:28px;line-height:1;}
.hpt-footer__newsletter p{margin:0;max-width:300px;color:var(--ft);font:500 15px/1.55 Manrope,sans-serif;}
.hpt-footer__newsletter form{display:grid;grid-template-columns:minmax(0,1fr) 116px;min-height:52px;border:1px solid rgba(255,255,255,.38);background:rgba(3,16,30,.36);}
.hpt-footer__newsletter input,.hpt-footer__newsletter button{min-width:0;border:0;border-radius:0;font-family:Manrope,sans-serif;}
.hpt-footer__newsletter input{padding:0 18px;color:#fff;background:transparent;font-size:14px;outline:none;}
.hpt-footer__newsletter input::placeholder{color:rgba(255,255,255,.74);}
.hpt-footer__newsletter button{color:#fff;background:linear-gradient(135deg,#b77b28,#dda24c);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.hpt-footer__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:0;}
.hpt-footer__stats article{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;min-height:76px;padding:0 22px;border-left:1px solid rgba(255,255,255,.18);}
.hpt-footer__stats article span{color:var(--fg2);font:400 38px/1 Georgia,serif;}
.hpt-footer__stats p{margin:0;}.hpt-footer__stats strong{display:block;color:#fff;font:600 31px/1 Cormorant Garamond,Georgia,serif;letter-spacing:.02em;}.hpt-footer__stats small{display:block;margin-top:5px;color:var(--ft);font:500 14px/1.25 Manrope,sans-serif;}
.hpt-footer__bottom{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr minmax(280px,.8fr);align-items:center;gap:24px;padding:34px 20px 28px;}
.hpt-footer__lang{display:inline-flex;align-items:center;gap:11px;width:max-content;padding:0;color:#fff;background:transparent;border:0;font:500 15px/1 Manrope,sans-serif;cursor:pointer;}
.hpt-footer__lang span:first-child{color:var(--fg2);font-size:24px;}.hpt-footer__social{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3vw,38px);}
.hpt-footer__social a{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;color:rgba(255,255,255,.92);font:900 21px/1 Manrope,sans-serif;text-decoration:none;transition:color .18s ease,transform .18s ease;}.hpt-footer__social a:hover{color:var(--fg2);transform:translateY(-1px);}
.hpt-footer__payments{display:flex;align-items:center;justify-content:flex-end;gap:24px;color:rgba(255,255,255,.9);font:900 14px/1 Manrope,sans-serif;}.hpt-footer__mc{position:relative;width:42px;height:24px;}.hpt-footer__mc i{position:absolute;top:2px;width:21px;height:21px;border-radius:50%;background:rgba(255,255,255,.86);}.hpt-footer__mc i:first-child{left:3px;}.hpt-footer__mc i:last-child{right:3px;opacity:.68;}.hpt-footer__ssl{display:grid;text-transform:uppercase;}.hpt-footer__ssl small{font-size:9px;line-height:1;color:rgba(255,255,255,.72);}
.hpt-footer__legal{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:26px 20px 0;border-top:1px solid rgba(255,255,255,.15);}.hpt-footer__legal p{margin:0;color:var(--fm);font:500 13px/1.5 Manrope,sans-serif;}.hpt-footer__legal nav{display:flex;align-items:center;gap:28px;}.hpt-footer__legal a{color:var(--fm);font:500 13px/1 Manrope,sans-serif;text-decoration:none;}.hpt-footer__legal a:hover{color:#fff;}.hpt-footer__legal span{width:1px;height:18px;background:rgba(255,255,255,.28);}
.hpt-footer a:focus-visible,.hpt-footer button:focus-visible,.hpt-footer summary:focus-visible,.hpt-footer input:focus-visible{outline:3px solid rgba(237,174,60,.65);outline-offset:4px;}
@media (max-width:1280px){.hpt-footer__trust{grid-template-columns:minmax(240px,1.2fr) repeat(4,minmax(130px,.9fr));}.hpt-footer__google{grid-column:1/-1;grid-template-columns:auto auto auto auto;justify-content:center;width:max-content;margin:22px auto 0!important;padding:12px 24px;}.hpt-footer__google img{width:92px!important;}.hpt-footer__newsletter{grid-template-columns:minmax(220px,.8fr) minmax(300px,1fr);}.hpt-footer__stats{grid-column:1/-1;}}
@media (max-width:980px){.hpt-footer{padding:16px 0 18px;background:#f8f5ec;}.hpt-footer:before{display:none;}.hpt-footer:after{right:2vw;bottom:0;width:80vw;height:220px;opacity:.23;}.hpt-footer__shell{width:min(100% - 28px,560px);padding:18px 16px 24px;overflow:hidden;border-radius:22px;background:radial-gradient(circle at 55% 24%,rgba(25,84,122,.4),transparent 42%),linear-gradient(180deg,#06192b 0%,#041321 100%);box-shadow:0 24px 60px rgba(2,12,23,.28);}.hpt-footer__trust{display:block;min-height:0;padding:18px 18px 14px;border-radius:14px;}.hpt-footer__brand-card{padding:0;gap:12px;}.hpt-footer__brand-lockup{grid-template-columns:66px 1fr!important;gap:13px!important;}.hpt-footer__brand-lockup img{width:66px!important;height:67px!important;}.hpt-footer__brand-lockup h2{font-size:21px!important;}.hpt-footer__brand-card p{max-width:310px!important;font-size:15px!important;line-height:1.45!important;}.hpt-footer__trust-item{display:inline-grid;width:24%;min-height:148px;margin-top:24px;padding:0 8px;vertical-align:top;border-left:1px solid rgba(6,25,43,.1);}.hpt-footer__trust-item:nth-of-type(1){border-left:0;}.hpt-footer__gold-symbol{width:38px;height:38px;font-size:36px;}.hpt-footer__trust-item img{width:38px;height:38px;}.hpt-footer__trust-item strong{font-size:10px;line-height:1.25;letter-spacing:.06em;}.hpt-footer__trust-item small{font-size:10px;line-height:1.45;}.hpt-footer__google{display:grid;grid-template-columns:auto auto auto;justify-content:center;align-items:center;column-gap:13px;width:100%;min-width:0;margin:12px 0 0!important;padding:11px 10px;border-radius:9px;}.hpt-footer__google img{width:86px!important;}.hpt-footer__google strong{font-size:24px;}.hpt-footer__google span{font-size:13px;letter-spacing:1px;}.hpt-footer__google small{grid-column:1/-1;font-size:10px;}.hpt-footer__nav-grid--desktop{display:none;}.hpt-footer__accordion{display:block;padding:16px 0 0;}.hpt-footer__accordion details{border-bottom:1px solid rgba(255,255,255,.13);}.hpt-footer__accordion summary{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:66px;color:#fff;cursor:pointer;list-style:none;font:700 17px/1 Cormorant Garamond,Georgia,serif;letter-spacing:.05em;text-transform:uppercase;}.hpt-footer__accordion summary::-webkit-details-marker{display:none;}.hpt-footer__accordion summary span{color:var(--fg2);font-size:29px;line-height:1;text-align:center;}.hpt-footer__accordion summary i{position:relative;width:14px;height:14px;}.hpt-footer__accordion summary i:before,.hpt-footer__accordion summary i:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:2px;background:#fff;transform:translate(-50%,-50%);}.hpt-footer__accordion summary i:after{transform:translate(-50%,-50%) rotate(90deg);}.hpt-footer__accordion details[open] summary i:after{transform:translate(-50%,-50%) rotate(0deg);}.hpt-footer__accordion details>div{display:grid;gap:14px;padding:0 0 18px 47px;}.hpt-footer__accordion a{color:var(--ft);font:500 14px/1.2 Manrope,sans-serif;text-decoration:none;}.hpt-footer__newsletter{grid-template-columns:1fr;gap:18px;margin-top:18px;padding:19px 18px 20px;border:1px solid rgba(208,147,51,.8);border-radius:8px;}.hpt-footer__newsletter p{max-width:none;padding-left:40px;font-size:12px;text-align:left;}.hpt-footer__newsletter form{grid-template-columns:1fr;gap:10px;border:0;background:transparent;}.hpt-footer__newsletter input,.hpt-footer__newsletter button{min-height:44px;border:1px solid rgba(255,255,255,.28);border-radius:2px;}.hpt-footer__newsletter button{border-color:rgba(237,174,60,.5);}.hpt-footer__stats{grid-template-columns:repeat(2,minmax(0,1fr));}.hpt-footer__stats article{grid-template-columns:44px minmax(0,1fr);min-height:96px;padding:0 16px;border-left:0;border-top:1px solid rgba(255,255,255,.14);}.hpt-footer__stats article:nth-child(even){border-left:1px solid rgba(255,255,255,.14);}.hpt-footer__stats article span{font-size:34px;}.hpt-footer__stats strong{font-size:27px;}.hpt-footer__stats small{font-size:13px;}.hpt-footer__bottom{grid-template-columns:1fr;gap:0;padding:20px 0 0;}.hpt-footer__lang{width:100%;min-height:52px;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);}.hpt-footer__lang span:last-child{margin-left:auto;}.hpt-footer__social{justify-content:space-around;width:100%;padding:20px 8px;border-bottom:1px solid rgba(255,255,255,.13);}.hpt-footer__payments{justify-content:space-around;gap:12px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:13px;}.hpt-footer__legal{grid-template-columns:1fr;gap:18px;padding:20px 0 0;border-top:0;text-align:center;}.hpt-footer__legal nav{justify-content:center;gap:16px;flex-wrap:wrap;}}
@media (max-width:430px){.hpt-footer__shell{width:calc(100% - 24px);padding:14px 13px 22px;}.hpt-footer__trust{padding:16px 13px 12px;}.hpt-footer__brand-lockup h2{font-size:18px!important;}.hpt-footer__trust-item{width:24.1%;min-height:144px;padding:0 4px;}.hpt-footer__trust-item strong{font-size:9px;}.hpt-footer__trust-item small{font-size:9px;}.hpt-footer__payments{font-size:11px;}}

/* Footer stat count alignment */
.hpt-footer__stats{grid-template-columns:repeat(3,minmax(0,1fr));}
.hpt-footer__stats article:nth-child(4){display:none;}
@media (max-width:980px){.hpt-footer__stats{grid-template-columns:repeat(2,minmax(0,1fr));}.hpt-footer__stats article:nth-child(4){display:grid;}}

/* CSS-drawn footer stat icons */
.hpt-footer__stats article span.hpt-footer__stat-icon{position:relative;display:block;width:42px;height:42px;color:var(--fg2);font-size:0;line-height:0;}
.hpt-footer__stat-icon:before,.hpt-footer__stat-icon:after{content:"";position:absolute;display:block;box-sizing:border-box;}
.hpt-footer__stat-icon--boat:before{left:4px;right:4px;bottom:13px;height:11px;border:2px solid currentColor;border-top:0;transform:skewX(-18deg);}
.hpt-footer__stat-icon--boat:after{left:6px;right:6px;bottom:5px;height:8px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;}
.hpt-footer__stat-icon--guests:before{left:4px;top:8px;width:12px;height:12px;border:2px solid currentColor;border-radius:50%;box-shadow:18px 0 0 -2px transparent,18px 0 0 0 currentColor;}
.hpt-footer__stat-icon--guests:after{left:2px;bottom:7px;width:38px;height:16px;border:2px solid currentColor;border-top:0;border-radius:0 0 22px 22px;}
.hpt-footer__stat-icon--safe:before{inset:3px;border:2px solid currentColor;border-radius:50%;}
.hpt-footer__stat-icon--safe:after{left:12px;top:12px;width:18px;height:18px;border:2px solid currentColor;transform:rotate(45deg);}
.hpt-footer__stat-icon--transfer:before{left:4px;top:12px;width:34px;height:19px;border:2px solid currentColor;border-radius:5px;}
.hpt-footer__stat-icon--transfer:after{left:10px;bottom:5px;width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:18px 0 0 currentColor;}
@media (max-width:980px){.hpt-footer__stats article span.hpt-footer__stat-icon{width:36px;height:36px;}}
