/* =============================================================
   FAST YACHTS GOA — stylesheet
   ============================================================= */

:root {
  --color-black: #000000;
  --color-black-dark: #081722;
  --color-gold: #FFB600;
  --color-gold-dark: #f6b719;
  --color-cream: #fbf6ec;
  --color-sky: #eef4fb;
  --color-white: #ffffff;
  --color-text: #4A4A4A;
  --color-border: #D4D4D4;
  --color-whatsapp: #4CAF50;
  --color-star: #2d8e2f;

  --font-display: 'Lato', sans-serif;
  --font-body: 'Lato', sans-serif;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --shadow-card: 0 10px 10px rgba(14, 34, 51, 0.08);
  --shadow-card-hover: 0 16px 40px rgba(14, 34, 51, 0.14);

  --container-width: 1400px;
  --container2-width: 1600px;

}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }

a { text-decoration: none; color: inherit; }

ul { list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--color-black);
  margin: 0 0 0.5em;
  line-height: 1.2;
}

p { margin: 0 0 1em; color: var(--color-text); }

.container {
  width: 100%;
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0 20px;
}
.clr {
  clear: both;
  float: none;
  display: block;
}
.afclr:after,
.clr:after {
  float: none;
  display: block;
  content: "";
  clear: both;
}
.container_2 {max-width: var(--container2-width);}

.section-title {
  text-align: center;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  margin-bottom: 2.5rem;
}

/* ---------- Buttons ---------- */
.btn_yacht {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0.77em 1.8em;
  border-radius: var(--radius-pill);
  font-weight: 400;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  text-transform: uppercase;
  min-width: 192px;
}

.btn-primary {
  background: var(--color-gold);
  color: var(--color-black);
}

.btn-primary:hover {
  background: var(--color-gold-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(247, 166, 0, 0.35);
}

.btn-whatsapp {
  background: var(--color-white);
  color: var(--color-whatsapp);
  border: 1.5px solid var(--color-whatsapp);
}

.btn-whatsapp:hover {
  background: var(--color-whatsapp);
  color: var(--color-white);
}

.btn-block {
  width: 100%;
  margin-top: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}

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

.site_header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: transparent;
  padding: 28px 0;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 70px;
}

.logo_sec{
  max-width: 372px;
}

.logo-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--color-gold);
  font-size: 1rem;
}

.logo-text em { color: var(--color-gold); font-style: normal; }

.main-nav, .main-left-menu {
  display: flex;
  gap: 40px;
  flex: 1;
  justify-content: end;
}

.main-nav a {
  color: var(--color-white);
  font-weight: 400;
  font-size: 14px;
  position: relative;
  padding: 8px;
  transition: color 0.2s ease;
  text-transform: uppercase;
}

.main-nav a:hover,
.main-nav a.active, .main-nav .current-menu-item a {
  color: var(--color-black);
  background: var(--color-gold);
  border-radius: 5px;
}

.nav-toggle {
  display: none;
  position: relative;
  width: 34px;
  height: 34px;
  background: none;
  border: none;
  color: var(--color-white);
  font-size: 1.5rem;
  cursor: pointer;
}
.header_sec.have_home_page {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    display: block;
    z-index: 100;
    background-color: transparent;
}

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

.hero-wrap {
  background: var(--color-sky);
  padding: 20px 20px 40px;
}
.hero_sec {
  position: relative;
  min-height: 800px;
  /* max-width: 1400px; */
  margin: 0 auto;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.hero-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 23, 34, 0.75) 0%, rgba(8, 23, 34, 0.35) 45%, rgba(8, 23, 34, 0.75) 100%);
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 640px;
  padding-top: 80px;
}

.hero-content h1 {
  color: var(--color-white);
  font-size: clamp(2rem, 5vw, 3.4rem);
  margin-bottom: 0.6em;
}

.hero-content p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 1.05rem;
  max-width: 460px;
}

/* =============================================================
   FEATURES
   ============================================================= */
/* .features {
  background: var(--color-white);
  padding: 70px 0 40px;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  text-align: center;
}

.feature-item {
  padding: 20px 12px;
  border-radius: var(--radius-md);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.feature-item:hover {
  box-shadow: var(--shadow-card);
  transform: translateY(-4px);
}

.feature-icon {
  width: 66px;
  height: 66px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: var(--color-sky);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
}

.feature-item h3 {
  font-size: 1.02rem;
  margin-bottom: 8px;
}

.feature-item p {
  font-size: 0.85rem;
  color: var(--color-text);
} */


.features {
  background: var(--color-sky);
  padding: 80px 0 0;
}

.features-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #CECECE;
  padding-bottom: 80px;
}

/* .features-grid_inner{width: 20%;} */

.circle-card {
  --size: 300px;
  width: var(--size);
  height: var(--size);
  flex-shrink: 0;
  border-radius: 50%;
  background: transparent;
  border: 1px solid #CECECE;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px;
  /* margin-left: -18px; */
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

/* .circle-card:first-child { margin-left: 0; } */

/* .circle-card.featured {
  --size: 264px;
  background: #ffffff;
  border: none;
  box-shadow: 0 16px 40px rgba(14, 34, 51, 0.14);
  transform: translateY(-16px);
  z-index: 2;
} */

.circle-card:hover {
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(14, 34, 51, 0.08);
  transform: translateY(-10px);
  z-index: 3;
}

/* .circle-card.featured:hover {
  transform: translateY(-22px);
} */

.circle-icon {
  /* font-size: 1.6rem; */
  margin-bottom: 10px;
  color: #e29400;
  
}
.circle-icon img{height: 50px;}

.circle-title {
  font-size: 0.95rem;
  margin-bottom: 8px;
  line-height: 1.3;
  color: var(--color-black);
}

.circle-text {
  font-size: 0.88rem;
  color: #64707a;
  margin: 0;
  line-height: 1.5;
}



/* =============================================================
   ABOUT
   ============================================================= */
.about_sec {
  background: var(--color-sky);
  padding: 120px 0;
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.about-copy h2 {
  font-size: clamp(1.8rem, 3vw, 2.3rem);
  max-width: 420px;
}

.about-lead {
  font-size: 0.95rem;
}
.about_points_outer_sec{
  display: flex;
  align-items: start;
  gap: 20px;
  margin-top: 27px;
}
.about_points_inner_sec img{border-radius: var(--radius-sm); overflow: hidden;
    transition: transform 0.25s ease;}
.about_points_inner_sec img:hover{transform: translateY(-4px);}
.about_points_inner_sec {width: 40%;}
.list_content_sec.about_points_inner_sec {width: 60%;}

.about-list{margin-bottom: 30px;}

.about-list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 7px;
  font-size: 0.92rem;
  color: var(--color-text);
}
.about-list li:last-child {margin-bottom: 0px;}
.about-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-gold-dark);
  font-weight: 700;
}

.about-media {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 16px;
  position: relative;
}

.media-large {
  grid-row: 1 / 3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  min-height: 340px;
}

.media-small-top,
.media-small-bottom {
  border-radius: var(--radius-md);
  overflow: hidden;
  min-height: 160px;
}

.media-corner {
  position: absolute;
  left: -40px;
  bottom: -30px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  overflow: hidden;
  border: 6px solid var(--color-white);
  box-shadow: var(--shadow-card);
}

.media-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-tile{
  overflow: hidden;
  transition: transform 0.25s ease;
}
.media-tile:hover {
  transform: translateY(-4px);
}


/* =============================================================
   FLEET
   ============================================================= */
.fleet {
  padding: 120px 0;
  background: var(--color-white);
}

.fleet-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  row-gap: 40px;
}

.yacht-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-white);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  display: flex;
  flex-direction: column;
}

.yacht-card:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
}

.yacht-media {
  position: relative;
  height: 170px;
}

.yacht-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.yacht-capacity {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #FFFDF8;
  color: var(--color-black);
  font-size: 0.88rem;
  padding: 11px 13px;
  border-radius: 10px;
  border: 1px solid var(--color-gold);
      display: flex;
    align-items: center;
    gap: 13px;
}
.yacht-capacity img{width: 28px;}

.yacht-body {
  padding: 16px 12px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.yacht-name {
  font-size: 1.4rem;
  margin-bottom: 7px;
}

.yacht-location {
  font-size: 0.94rem;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--color-text);
}
.yacht-location img{width: 14px;}

.yacht-price-row .price {
  font-weight: 700;
  color: var(--color-black);
  font-size: 1.4rem;
}

.yacht-price-row .price small {
  font-weight: 400;
  font-size: 0.93rem;
  color: var(--color-text);
}

.pricing_sec_inner.secondary {
  margin-top: 13px;
  background: #f8edeb;
  border: 1px solid #fbc0b6;
}

.price-note {
  font-size: 0.93rem;
  margin: 2px 0 8px;
}

/* .pricing_sec_inner{
  padding: 11px 12px;
  padding-bottom: 15px;
  background: #FFF8E6;
  border: 1px solid var(--color-gold);
  border-radius: 12px;
} */

.slot-label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-black);
  margin-bottom: 4px;
}

.slot-time {
  font-size: 0.87rem;
  margin: 0 0 4px;
  color: var(--color-black);
  display: flex;
  align-items: start;
  gap: 5px;
}
.slot-time img{ margin-top: 3px; width: 15px;}

.yacht-tabs {
  display: flex;
  gap: 8px;
  margin: 13px 0 10px;
}

.tab-btn {
  border: 1px solid var(--color-border);
  background: var(--color-white);
  padding: 8px 14px;
  font-size: 0.88rem;
  border-radius: 5px;
  cursor: pointer;
  color: #171717;
  transition: all 0.2s ease;
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  justify-content: center;

}

.tab-btn.active,
.tab-btn:hover {
  border-color: var(--color-black);
}

.addon-label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-black);
  margin-bottom: 6px;
}

.add_ons_sec_outer {
  display: flex;
  gap: 8px;
}
.capacity_box {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 8px;
  min-width: 130px;
  background: #fff;
  border: 1px solid rgba(224, 224, 224, 1);
  padding: 8px 10px;
}

.add_ons_sec_outer .capacity_icon.drone_icon {
    width: 35px;
}
.capacity_icon img {
    width: 24px;
    height: auto;
    display: block;
}
.add_ons_sec_outer .drone_icon img {
    width: 100%;
}
.capacity_content {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}
.add_ons_sec_outer .capacity_content {
    width: calc(100% - 24px);
}
.add_ons_sec_outer .capacity_icon.balloon_icon {
    width: 24px;
}
.capacity_value {
    font-size: 13px;
    font-weight: 400;
    color: #000;
}

.addon-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.addon-chip {
  background: var(--color-cream);
  border-radius: var(--radius-sm);
  font-size: 0.68rem;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--color-text);
}

.addon-chip em {
  font-style: normal;
  color: var(--color-gold-dark);
  font-weight: 700;
}

.fleet-cta {
  text-align: center;
  margin-top: 40px;
}

/* =============================================================
   ADD-ONS BANNER
   ============================================================= */
.addons {
  padding: 0;
  background: var(--color-white);
}

.addons-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 0;
}

.addons-media {
  min-height: 480px;
}

.addons-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px 0 0 20px;
}

.addons-panel {
  background: var(--color-gold);
  padding: 60px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 0px 20px 20px 0;
}

.addons-panel h2 {
  color: var(--color-black);
  margin-bottom: 1.2em;
  /* font-size: 2rem; */
  font-size: clamp(1.8rem, 3vw, 2rem);
}

.accordion-item {
  border-bottom: 1px solid rgba(14, 34, 51, 0.15);
}

.accordion-trigger {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 16px 0;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-body);
}

.accordion-icon {
  font-size: 1.1rem;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border-radius: 100%;
}

.accordion-label {
  flex: 1;
  font-weight: 700;
  color: var(--color-black);
  font-size: 1.3rem;
}

.accordion-caret {
  transition: transform 0.25s ease;
  color: var(--color-black);
}

.accordion-item.open .accordion-caret {
  transform: rotate(180deg);
}

.accordion-panel {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}

/* .accordion-item.open .accordion-panel {
  max-height: 142px;
} */

.accordion-panel p {
  padding-bottom: 14px;
  color: var(--color-black);
  font-size: 1rem;
  margin: 0;
}

/* =============================================================
   EVENTS
   ============================================================= */
.events {
  padding: 120px 0;
  /* background: var(--color-sky); */
}

.events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.event-card {
  background: var(--color-white);
  border-radius: var(--radius-md);
  overflow: hidden;
  padding-bottom: 20px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  border: 1px solid var(--color-border);
}

.event-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
}

.event-media {
  height: 190px;
}

.event-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.events .section-title{ margin-bottom: 0.5em;}

.events .sub_content{ max-width: 900px;
    margin: auto;
    text-align: center;margin-bottom: 2.5rem;}

.event-card h3 {
  font-size: 1.1rem;
  margin: 16px 20px 8px;
}

.event-card p {
  font-size: 0.85rem;
  margin: 0 20px 10px;
}

.read-more {
  display: inline-block;
  margin: 0 20px;
  color: var(--color-gold-dark);
  font-weight: 700;
  font-size: 0.85rem;
}

.read-more:hover { text-decoration: underline; }

/* =============================================================
   SCENIC HIGHLIGHTS
   ============================================================= */
.scenic {
  /* padding: 0px 0 60px;
  background: #ffffff; */
}

.scenic-heading {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
}

.scenic-line {
  flex: 1;
  height: 1px;
  background: var(--color-gold);
}

.scenic-title {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #00243D;
  white-space: nowrap;
  margin: 0;
}

.scenic-track {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 20px;
}

.scenic-card {
  border: 1px solid #e7e9ec;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.scenic-card:hover {
  box-shadow: 0 10px 30px rgba(14, 34, 51, 0.08);
  transform: translateY(-4px);
}

.scenic-media {
  height: 110px;
}

.scenic-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scenic-caption {
  display: flex;
  align-items: start;
  gap: 6px;
  padding: 12px 8px 24px;
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: #000000;
  line-height: 1.3;
}

.scenic-caption .pin {
  padding-top: 2px;
  width: 11px;
}
.scenic_location{width: calc(100% - 11px);}


/* =============================================================
   TESTIMONIALS
   ============================================================= */
.testimonials {
  padding: 120px 0;
  /* background: var(--color-sky); */
}

.testimonials-grid {
  /* display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px; */
  position: relative;
}

.testimonial-card {
  position: relative;
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: 30px 26px;
  box-shadow: var(--shadow-card);
}

.testimonials .section-title{margin-bottom: 1.25rem;}

.stars {
  color: var(--color-gold);
  letter-spacing: 2px;
  margin-bottom: 12px;
  font-size: 1.5rem;
}

.testimonial-card p {
  font-size: 0.88rem;
  color: var(--color-text);
}

.testimonial-author strong {
  display: block;
  color: var(--color-black);
  font-size: 0.95rem;
}

.testimonial-author span {
  font-size: 0.78rem;
  color: var(--color-text);
}

.quote-mark {
  position: absolute;
  bottom: 30px;
  right: 22px;
  font-size: 2.6rem;
  color: var(--color-gold);
  font-family: Georgia, serif;
}

/* =============================================================
   FAQ
   ============================================================= */
.faq {
  padding: 0px 0 120px;
  background: var(--color-white);
}

.faq-list {
  max-width: 680px;
  margin: 0 auto;
}

.faq-item {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  margin-bottom: 14px;
  overflow: hidden;
}
.faq-item:last-child{margin-bottom: 0px;}

.faq-trigger {
  width: 100%;
  background: var(--color-white);
  border: none;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-black);
  cursor: pointer;
  text-align: left;
  gap: 20px;
}

.faq-trigger span {
  transition: transform 0.25s ease;
  color: var(--color-gold-dark);
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.faq-item.open .faq-trigger span {
  transform: rotate(180deg);
}

.faq-panel {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}

/* .faq-item.open .faq-panel {
  max-height: 500px;
} */

.faq-panel p {
  padding: 0px 22px 16px;
  margin: 0;
  font-size: 0.95rem;
}

.faq-panel ul{list-style-type: disc;padding-left: 50px; padding-bottom: 16px;}
.faq-panel ul li{font-size: 0.95rem;}
.faq-panel p:has(+ ul){padding-bottom: 4px;}

/* =============================================================
   FOOTER
   ============================================================= */
.site-footer {
  background: var(--color-gold);
  padding: 70px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.4fr;
  gap: 40px;
  padding-bottom: 50px;
  border-bottom: 1px solid rgba(14, 34, 51, 0.15);
}

.logo-light { max-width: 300px; display: block; }
.logo-light .logo-icon { background: var(--color-black); color: var(--color-gold); }

.footer-links h4,
.footer-contact h4 {
  color: var(--color-black);
  margin-bottom: 16px;
  font-size: 1.4rem;
}

.footer-links a {
  display: block;
  color: rgba(14, 34, 51, 0.8);
  margin-bottom: 10px;
  font-size: 1rem;
}

.footer-links a:hover { color: var(--color-black); text-decoration: underline; }

.footer-contact p, .footer-contact a {
  color: var(--color-black);
  font-size: 1rem;
  margin-bottom: 10px;
}

.footer-social {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.footer-social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--color-white);
  color: var(--color-black);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  transition: transform 0.2s ease;
}

.footer-social a:hover { transform: translateY(-3px); }

.footer-bottom {
  /* text-align: center; */
  padding: 20px 0;
  font-size: 0.88rem;
}
.contact_list{
  display: flex;
  align-items: start;
  gap: 15px;
}
.contact_list img{margin-top: 5px;}

.hero-media-mobile{display: none;}


.home_basic_content_box .adventure_sec_box{
  width: 25%;
}
.home_basic_content_box.adventure_sec_box_outer { padding-bottom: 0px; padding-top: 0;}

/* ---------- Buttons ---------- */
.btn {
  background-color: var(--color-gold);
  font-size: 14px;
  color: #000;
  font-family: inherit;
  padding: 10px 20px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  font-weight: 700;

  display: inline-block;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  -webkit-appearance: none;
  appearance: none;
}
.btn:hover {
  background: var(--color-gold-dark);
}
.btn:disabled,
button[disabled],
.btn:disabled:hover,
button[disabled]:hover {
  background: var(--color-gold-dark);
  cursor: default;
}

.btn_rounded {
  border-radius: 100px;
}
.btn_fullwidth {
  width: 100%;
  display: block;
  margin: 8px 0;
}
.btn_l {
  padding: 12px 30px;
  font-size: 26px;
  font-weight: normal;
}
.btn_m {
  padding: 14px 20px;
}
.btn_m_wide {
  padding: 14px 30px;
}
.btn_h45 {
  height: 45px;
}
.btn_ghost {
  border: 1px solid var(--color-gold);
  background: none;
  color: #333;
}
.btn_sm {
  padding: 4px 12px;
  font-size: 1.3rem;
}

.btn_icon {
  display: inline-block;
  width: 17px;
  height: 17px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-size: 17px;
  background-position: center;
  margin-right: 2px;
  position: relative;
}
.btn_icon_call {
  background-image: url('../images/phone_la-solid-900.svg');
  top: -1px;
  filter: grayscale(1) brightness(0.1);
}
.btn_icon_whatsapp {
  background-image: url('../images/what-s-app_la-brands-400.svg');
  top: -1px;
  filter: grayscale(1) brightness(0.1);
}

.btn_with_tooltip {
  position: relative;
}
.btn_tooltip {
  position: absolute;
  bottom: 100%;
  margin-bottom: 10px;
  background: #fff;
  font-weight: normal;
  text-transform: none;
  padding: 8px 10px;
  border-radius: 5px;
  left: 0;
  min-width: 100%;
  line-height: 1.3;
  border: 1px solid #6b6967;
  color: #333;
  transition: all 0.2s ease;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-20px);
}
.btn_tooltip:before {
  content: "";
  position: absolute;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #6b6967;
  top: 100%;
  left: 20px;
}
.btn_with_tooltip:hover .btn_tooltip {
  visibility: visible;
  opacity: 1;
  transform: translateY(0px);
}

.btn_default_text {
  display: inline-block;
}
.btn_hover_text {
  display: none;
}
.btn_click_text {
  display: none;
}

.btn:hover .btn_hover_text {
  display: inline-block;
}
.btn:hover .btn_default_text {
  display: none;
}
.btn.btn_clicked .btn_click_text {
  display: inline-block;
}
.btn.btn_clicked .btn_hover_text,
.btn.btn_clicked .btn_default_text {
  display: none;
}
.btn.btn_clicked .btn_tooltip {
  display: none;
}
/* .vh_desktop_btns {
  display: block;
} */
/* .vh_mobile_btns {
  display: none;
} */
.wrapper {
  max-width: 1070px;
  padding: 0 20px;
  width: 100%;
  margin: 0 auto;
}
.wrapper_single {
  max-width: 1230px;
  padding: 0 20px;
  width: 100%;
  margin: 0 auto;
}
.yacht_landing_header.header_sec.have_home_page{
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    background-color: #000000;
    padding: 20px 0;
}

/* Blog page*/

.sidebar_before_content {
  padding: 10px 0 47px;
}

.post_outer {
  margin: 0 -10px;
  display: flex;
  /* align-items: center; */
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 25px;
}
.post_one_cat {
  width: 33.33%;
  padding: 0 10px;
  margin-bottom: 44px;
}
.cat_inner_page {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-white);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  padding: 16px;
  height: 100%;
}
.cat_inner_page:hover {
  box-shadow: var(--shadow-card-hover);
  transform: translateY(-4px);
}
.content_cat_sec {
  display: table-cell;
  vertical-align: middle;
}
.content_cat_sec h2 {
  margin-bottom: 14px;
  line-height: 1.3;
}
.content_cat_sec h2 a {
  color: #000;
  font-size: 20px;
  margin-bottom: 15px;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  display: table-cell;
  vertical-align: middle;
  font-weight: 700;
  line-height: 1.3;
}
.content_cat_sec h2 a:hover {
  color: #ffb600;
}
.cat_au_name {
  font-size: 15px;
  line-height: 1.5;
  color: #4d4d4d;
  text-transform: capitalize;
}
.cat_author_section i {
  color: #ffb600;
  padding-right: 3px;
}
.cat_au_name p {
  font-size: 15px;
  line-height: 1.5;
  color: #4d4d4d;
  font-weight: 400;
  display: inline;
}

.cat_au_name p a {
  color: #4d4d4d;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}
.info_detail_d_a {
  display: inline-block;
}
.author_name {
  font-size: 15px;
  line-height: 1.5;
  color: #4d4d4d;
  display: flex;
  align-items: center;
}
.author_name svg {
  color: #ffb600;
  padding-right: 3px;
  width: 19px;
  padding-right: 5px;
}
/* .author_name_date {
  padding-left: 10px;
} */
.expert_info {
  padding-top: 4px;
}
.content_cat_sec p {
  font-size: 16px;
  color: #333;
  font-family: inherit;
}
.read_more_btn {
  margin-top: 16px;
  position: relative;
}
.read_more_btn a {
  background: #ffb600;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  display: inline-block;
  padding: 11px 23px;
  text-align: center;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  position: relative;
  border-radius: 6px;
}
.read_more_btn a:hover {
  background: #e6a400;
  /* color: #fff; */
}
.read_more_btn_post{
  margin-top: 16px;
  position: relative;
}
.read_more_btn_post .btn_yacht{
  min-width: 145px;
  padding: 0.6em 1em;
}

.blog_content {
  float: left;
  width: 68%;
}
.blog_sidebar {
  float: right;
  width: 32%;
  padding-left: 30px;
}

/* blog section end  */

/* .table_of_content_html_b {
  margin-bottom: 40px;
} */
.single .listing_blog ol li {
  margin: 12px 0;
}
.listing_blog {
  margin-bottom: 20px;
}
.info_blog_list {
  background: #f7f7f7;
  padding: 20px;
  border-radius: 20px;
  margin: 20px 0 30px;
}

.blog_content a {
  color: inherit;
  border-bottom: 2px solid var(--color-gold);
}

.blog_content a:hover {
    background-color: var(--color-cream);
}

.sitemap_sec_outer ul {
  padding-left: 20px;
}
.sitemap_sec_outer ul li {
  padding-bottom: 10px;
}
.sitemap_sec_outer ul li a {
  color: #333;
  transition: all 0.3s ease;
}
.sitemap_sec_outer ul li a:hover {
  text-decoration: underline;
}

.sitemap_sec_outer ul li .children li:first-child {
  padding-top: 10px;
}

.star-rating-s {
  display: block;
  padding: 20px 0;
  position: relative;
  text-align: center;
}

.star-rating-s hr {
  margin: 10px 0;
  border: 0;
  border-top: 1px solid #dbdbdb;
}

.star-rating-s img {
  width: 160px;
  height: auto;
}

.blogs_pagination {
  display: flex;
  justify-content: center;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.blogs_pagination .page-numbers {
  padding: 10px 15px;
  background: #ffffff;
  color: #ffb600;
  border-radius: 5px;
  transition: all 0.3s ease-in;
  display: flex;
  gap: 10px;
  align-items: center;
}
.blogs_pagination .page-numbers:hover,
.blogs_pagination .page-numbers.current {
  background: #ffb600;
  color: #fff;
}
.blogs_pagination .page-numbers svg {
  display: block;
  transition: all 0.3s ease-in;
}

.blogs_pagination .page-numbers svg path {
  transition: all 0.3s ease-in;
}

.blogs_pagination .page-numbers:hover svg path {
  stroke: #fff;
}

.re_review_section_form_inner {
  background: #fff;
  padding: 30px;
  border-radius: 20px;
  margin-bottom: 50px;
}
.page_not_found_sec h1 span {
  display: block;
  font-weight: normal;
  font-size: 12.5rem;
  line-height: 1;
}

.post_cat_img{margin-bottom: 20px;}
.post_cat_img > img{border-radius: 8px;}
.page_not_found_sec{margin-bottom: 40px;}
.btn_404_page{text-align: center;}

.page-id-600 .entry-title{
    text-align: center;
}
.recent_post_sec_inner .post_outer {
    display: block;
}
.recent_post_sec_inner .post_one_cat {
    width: 100%;
    margin-bottom: 20px;
}
.recent_post_sec_inner .content_cat_sec h2 a {
    font-size: 18px;
}
.recent_post_sec_inner .read_more_btn_post a {
    font-size: 15px;
    padding: 6px 12px;
    min-width: 120px;
}
.single .entry-title {
    font-size: 28px;
    text-align: left;
    margin-bottom: .4rem;
}
.single .blog_content h2{margin-top: 20px;}
.post_meta_e {
  margin-bottom: 2rem;
  line-height: 1;
}
.listing_blog ol li ul{list-style-type: disc; padding-left: 30px;}
.home_book_btn{
  text-align: center;
  margin-top: 20px;
}

.event_sigle_post .blog_content{
  width: 100%;
  float: none;
}

.event_gallery_outer {
  width: 100%;
  margin-top: 30px;
}

.event_gallery_outer ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.event_gallery_outer li {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.event_gallery_outer a {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.event_gallery_outer img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.event_gallery_outer a:hover img {
    transform: scale(1.05);
}

.testimonial_slider {padding: 12px;}
.swiper-button-prev.reviews_prev, .swiper-button-next.reviews_next{
    width: 34px;
    height: 34px;
} 
.swiper-button-prev.reviews_prev {
    left: -47px;
}
.swiper-button-next.reviews_next {
    right: -47px;
}
.testimonials-grid .reviews_next:after, .testimonials-grid .reviews_prev:after {
    color: #000;
    font-size: 15px;
    background: #f5f5f5;
    /* padding: 10px 14px; */
    width: 34px;
    height: 34px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}





.page-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: start;
}

/* =============================================================
   TITLE BAR
   ============================================================= */
.title-bar {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-black);
  flex-shrink: 0;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.back-btn:hover {
  background: var(--color-bg-soft);
  box-shadow: var(--shadow-card);
}

.back-arrow { font-size: 1.1rem; }

.title-block {
  flex: 1;
  min-width: 260px;
}

.title-block h1 {
  font-size: clamp(1.3rem, 2.4vw, 1.8rem);
  line-height: 1.3;
  margin-bottom: 8px;
}

.rating-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rating-badge {
  background: #e7f8ee;
  color: var(--color-star);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 3px 10px;
  border-radius: var(--radius-sm);
}

.review-count {
  color: var(--color-text-muted);
  font-size: 0.88rem;
}

.title-actions {
  display: flex;
  gap: 22px;
  flex-shrink: 0;
  align-items: center;
  padding-top: 6px;
}

.icon-action {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: none;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--color-black);
  cursor: pointer;
}

.icon-action:hover { color: var(--color-gold); }
.icon-heart { color: var(--color-gold); font-size: 1.05rem; }
.icon-share { color: var(--color-gold); font-size: 1rem; }

/* =============================================================
   GALLERY
   ============================================================= */
.gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 36px;
}

.gallery-media {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  height: 340px;
}

.gallery-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.gallery-media:hover img {
  transform: scale(1.04);
}

.show-all-btn {
  position: absolute;
  right: 14px;
  bottom: 14px;
  background: rgba(15, 23, 34, 0.7);
  color: #fff;
  border: none;
  padding: 9px 16px;
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s ease;
}

.show-all-btn:hover {
  background: rgba(15, 23, 34, 0.88);
}

/* =============================================================
   REVIEWS
   ============================================================= */
.section-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.25rem;
  margin-bottom: 20px;
}

.heading-icon { font-size: 1.1rem; }

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

.review-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 18px;
  background: #fff;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.review-card:hover {
  box-shadow: var(--shadow-card);
  transform: translateY(-2px);
}

.review-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.review-identity {
  display: flex;
  align-items: center;
  gap: 8px;
}

.avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--color-cream);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--color-black);
}

.review-identity strong {
  font-size: 0.92rem;
  color: var(--color-black);
}

.review-score {
  background: #e7f8ee;
  color: var(--color-star);
  font-weight: 700;
  font-size: 0.78rem;
  padding: 2px 9px;
  border-radius: var(--radius-sm);
}

.review-card p {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-bottom: 14px;
}

.review-time {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

.divider {
  border: none;
  border-top: 1px solid #f4f4f4;
  margin: 32px 0;
}

/* =============================================================
   OVERVIEW
   ============================================================= */
.overview p {
  font-size: 0.95rem;
  color: var(--color-text);
  line-height: 1.75;
}

/* =============================================================
   TABS
   ============================================================= */
.tabs-section { margin-top: 8px; }

.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 22px;
}

.tab-link {
  background: none;
  border: none;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--color-text-muted);
  padding: 0 0 14px;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
}

.tab-link:hover { color: var(--color-black); }

.tab-link.active {
  color: var(--color-black);
}

.tab-link.active::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: var(--color-gold);
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.tab-panel li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 14px;
  font-size: 0.92rem;
  color: var(--color-text);
  line-height: 1.6;
}

.tab-panel li::before {
  content: '▪️';
  position: absolute;
  left: 0;
  top: -1px;
  width: auto;
  height: auto;
  font-size: 1.1em;
  display: inline-flex;
  align-items: center;
  /* background: var(--color-black); */
}

#included.tab-panel li::before {
  content: "✅";
}
#included.tab-panel li, #not-included.tab-panel li{  padding-left: 30px;}

#not-included.tab-panel li::before {
  content: "❌";
}

/* =============================================================
   SIDEBAR
   ============================================================= */
.sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  /* position: sticky;
  top: 24px; */
}

.side-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 20px;
  background: #fff;
}

.why-choose h3 {
  text-align: center;
  font-size: 1rem;
  margin-bottom: 16px;
}

.why-choose-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
}

.why-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-left: 1px solid var(--color-border);
  padding: 0 6px;
}

.why-stat:first-child { border-left: none; }

.why-stat strong {
  color: var(--color-gold);
  font-size: 1.05rem;
}

.why-stat span {
  font-size: 0.72rem;
  color: var(--color-text-muted);
}

.price-label {
  font-size: 0.72rem;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: 8px;
}

.price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.price-current {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-black);
}

.price-old {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  text-decoration: line-through;
}

.price-off {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-green);
}

.price-actions {
  display: flex;
  gap: 10px;
}

.btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.9rem;
  border: none;
  cursor: pointer;
  transition: filter 0.2s ease, transform 0.2s ease;
}

.btn:hover { filter: brightness(0.95); transform: translateY(-1px); }

.btn-chat {
  background: var(--color-whatsapp);
  color: #fff;
}

.btn-contact {
  background: var(--color-gold);
  color: #fff;
}

.location-card h3 {
  font-size: 1rem;
  margin-bottom: 14px;
}

.location-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}

.location-pin {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff8e6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.location-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.location-text strong {
  font-size: 0.92rem;
  color: var(--color-black);
}

.location-text span {
  font-size: 0.8rem;
  color: var(--color-text-muted);
  line-height: 1.4;
}

.location-map {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  flex-shrink: 0;
}

.location-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quick-answers-title {
  font-size: 1.1rem;
  margin: 6px 0 2px;
}

.quick-answers {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.qa-item {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  background: #fff;
  transition: box-shadow 0.2s ease;
}

.qa-item:hover { box-shadow: var(--shadow-card); }

.qa-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff8e6;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}

.qa-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qa-text strong {
  font-size: 0.9rem;
  color: var(--color-black);
}

.qa-text span {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

.yacht_full_outer_sec{padding: 50px 0;}

.mobile_pricing_sec{display: none;}


/* =============================================================
   SECTION SHELL
   ============================================================= */
.how-to-book {
  position: relative;
  padding: 60px 0px 120px;
  overflow: hidden;
}

.how-to-book-media {
  position: absolute;
  top: 0;
  right: 0;
  width: 46%;
  height: 440px;
  object-fit: cover;
  border-bottom-left-radius: var(--radius-md);
  mask-image:
    linear-gradient(to left,  black 55%, transparent 100%),
    linear-gradient(to top,   black 70%, transparent 100%),
    linear-gradient(to bottom, black 70%, transparent 100%);
  mask-composite: intersect;
  -webkit-mask-image:
    linear-gradient(to left,  black 55%, transparent 100%),
    linear-gradient(to top,   black 70%, transparent 100%),
    linear-gradient(to bottom, black 70%, transparent 100%);
  -webkit-mask-composite: source-in, source-in;  
  z-index: 0;
}


/* =============================================================
   HEADING
   ============================================================= */
.how-heading {
  max-width: 620px;
  margin-bottom: 40px;
}

.how-heading h2 {
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 14px;
}

.how-heading p {
  font-size: 1rem;
  color: var(--color-text-muted);
}

/* =============================================================
   STEPS
   ============================================================= */
.steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  position: relative;
}

.step {
  position: relative;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 60px 22px 26px;
  text-align: center;
  --gap: 135px;
}


.step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 36%;              
  left: 85%;
  width: var(--gap);
  height: 8px;
  transform: translateY(-50%);
  background:
    radial-gradient(circle, var(--color-gold) 52%, transparent 46%) left center / 8px 8px no-repeat,
    radial-gradient(circle, var(--color-gold) 52%, transparent 46%) right center / 8px 8px no-repeat,
    repeating-linear-gradient(
      to right,
      var(--color-gold) 0 6px,
      transparent 6px 12px
    ) center / calc(100% - 8px) 2px no-repeat;
  background-position: left center, right center, center;
  z-index: 1;
}

.step-icon {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #f1f2f5;
  display: flex;
  align-items: center;
  justify-content: center;
  /* box-shadow: var(--shadow-card); */
  padding: 25px;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
}

/* .step-icon img { width: 28px; height: 28px; } */

.step:hover .step-icon{
  background: var(--color-gold);

}

.step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--color-gold);
  color: var(--color-black);
  font-size: 1rem;
  font-weight: 700;
  margin: 22px auto 14px;
}

.step h3 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.3;
}

.step p {
  font-size: 0.8rem;
  color: var(--color-text-muted);
  line-height: 1.55;
}

/* =============================================================
   TRUST BAR
   ============================================================= */
.trust-bar {
  position: relative;
  z-index: 1;
  margin-top: 50px;
  background: var(--color-gold);
  border-radius: var(--radius-md);
  padding: 22px 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.trust-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.trust-icon img { width: 33px; height: 33px; }

.trust-text {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-black);
  line-height: 1.3;
  max-width: 130px;
}

.trust-cta {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  /* margin-left: auto; */
}

.trust-cta-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #FEEDC3;
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
  padding: 8px;
}

.trust-cta-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.trust-cta-text strong {
  font-size: 0.85rem;
  color: var(--color-black);
}

.trust-cta-text span {
  font-size: 0.85rem;
  color: var(--color-black);
}
._sea_m {margin-bottom: 50px;}
.hr_footer_separator{
  border-color: #f0f0f0;
  border-width: 1px;
  border-style: solid;
  margin-bottom: 40px;
}
._sea_m h2{
  margin: 1.875rem 0 .75rem;
  border-left: 4px solid #ffb600;
  line-height: 1.4;
  padding-left: 10px;
}
._sea_m ul{
  list-style-type: disc;
  padding-left: 30px;
}
._sea_m ul li{padding-bottom: 8px;}

._sea_m h3 {
  font-size: 1.25rem;
  font-weight: 400;
  margin: 1.5rem 0 .75rem;
}


.share-popup{
    display:none;
}

.share-popup-inner{
  border:1px solid #ddd;
  border-radius:10px;
  padding:20px;
  max-width: 700px;
}

.icon-action{
    cursor:pointer;
}

.share-popup-media {
  border-radius: 12px;
  overflow: hidden;
  /* height: 340px; */
}

.share-popup-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.share-popup-title {
  text-align: center;
  margin: 16px 0 20px;
  line-height: 1.4;
}

.share-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0.77em 1.8em;
  border-radius: var(--radius-pill);
  font-weight: 400;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  text-transform: uppercase;
  background: var(--color-gold);
  color: var(--color-black);
}

.share-btn:hover {
  background: var(--color-gold-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(247, 166, 0, 0.35);
}

.share-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 1rem;
  flex-shrink: 0;
  filter: grayscale(1) brightness(0.1);
}
.section-heading{line-height: 1;}
.mobile_quick_answer{display: none;}


/* =============================================================
   BRAND
   ============================================================= */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 15px;
  max-width: 400px;
}

.brand-icon {
  width: 60px;
  height: 40px;
  flex-shrink: 0;
}

.brand-icon svg {
  width: 100%;
  height: 100%;
}

.brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.brand-name {
  font-size: 1.9rem;
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.5px;
  color: var(--color-gold);
}

.brand-name em {
  font-style: italic;
  color: var(--color-text);
}

.brand-tag {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--color-text);
}

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

.contact_page_sec{
  padding-bottom: 50px;
}
.contact_page_sec .entry-title{text-align: center;}

.contact-card {
  width: 100%;
  max-width: 540px;
  text-align: center;
  margin: auto;
}

.contact-intro {
  font-size: 0.95rem;
  color: var(--color-text);
  max-width: 500px;
  margin: 0 auto 30px;
}

.contact-intro a {
  color: var(--color-text);
  text-decoration: underline;
}

.contact-intro a:hover { color: var(--color-gold); }

/* =============================================================
   INFO LIST
   ============================================================= */
.info-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 26px;
}

.info-item {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  text-align: left;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 18px 22px;
  background: transparent;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.info-item:hover {
  border-color: var(--color-gold);
  box-shadow: 0 6px 18px rgba(31, 42, 51, 0.06);
}

.info-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
}

.info-icon svg {
  width: 100%;
  height: 100%;
}

.info-item p {
  font-size: 0.92rem;
  color: var(--color-text);
  line-height: 1.55;
  margin-bottom: 0;
}

.info-item a {
  color: var(--color-text);
}

.info-item a:hover { color: var(--color-gold); }

.info-text-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.info-hours {
  color: var(--color-text-muted);
}

/* =============================================================
   FOOTNOTES
   ============================================================= */
.contact-note {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 30px;
}

.contact-highlight {
  font-size: 0.92rem;
  color: #00AA2C;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.6;
}

.contact-highlight strong {
  color: #00AA2C;
}



/* =============================================================
   RESPONSIVE
   ============================================================= */


@media (max-width: 1400px) {
  .features-grid {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-left: 24px;
    padding-right: 24px;
    padding-top: 20px;
    margin: 0 -20px;
  }

  .features-grid_inner {
    scroll-snap-align: start;
  }

  .circle-card {
    --size: 275px;
  }

  .features-grid::-webkit-scrollbar { height: 6px; }
  .features-grid::-webkit-scrollbar-track { background: transparent; }
  .features-grid::-webkit-scrollbar-thumb { background: #cecece; border-radius: 4px; }
  .features-grid::-webkit-scrollbar-thumb:hover { background: var(--color-gold); }
}


@media (max-width: 1250px) {
  .fleet-grid { grid-template-columns: repeat(2, 1fr); }
  .events-grid { grid-template-columns: repeat(2, 1fr); }
  .scenic-track { grid-template-columns: repeat(4, 1fr); }
  /* .features-grid { grid-template-columns: repeat(3, 1fr); } */
  /* .features-grid { flex-wrap: wrap; row-gap: 0px; } */
  .scenic-track { grid-template-columns: repeat(4, 1fr); }
  .btn{font-size: 0.88rem;}
  .header-inner{gap: 28px;}
  .main-nav {gap: 10px;}
  .logo_sec { max-width: 272px;}
.main-nav a { padding: 3px 6px;}
.hero_sec{min-height: 600px;}
.steps { gap: 20px; }
/* .how-to-book-media { width: 55%; opacity: 0.5; } */
.home_basic_content_box .adventure_sec_box{ width: 33.33%;}
.swiper-button-next.reviews_next{right: -15px;}
.swiper-button-prev.reviews_prev {left: -15px;}
.step {  --gap: 110px;}
.step h3 {    font-size: 1.1rem;}
.step:not(:last-child)::after{ top: 30%; left: 80%;}
}

@media (max-width: 992px) {
  .main-nav {
    /* position: absolute;
    top: 100%; */
    left: 0;
    right: 0;
    background: var(--color-black);
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    display: none;
    gap: 16px;
    top: 0;
    bottom: 0;
    height: 100%;
    position: fixed;
  }
  .main-nav.open { 
    display: flex; 
    justify-content: center;
  }
.nav-toggle { display: block; }
.nav-toggle .icon-bars,
.nav-toggle .icon-close {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.nav-toggle .icon-close {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.nav-toggle.active .icon-bars {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.nav-toggle.active .icon-close {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}  
  .header-inner .btn-primary { display: none; }  
  .about-grid,
  .addons-grid { grid-template-columns: 1fr; }
  .addons-media { min-height: 320px; }
  /* .testimonials-grid { grid-template-columns: 1fr; } */
  .footer-grid { grid-template-columns: 1fr 1fr; }
.hero_sec{min-height: 500px;}
.features{padding: 40px 0 0;}
.about_sec, .fleet, .events, .testimonials{ padding: 80px 0;}
.faq{padding-bottom: 80px;}
.addons-panel h2{ margin-bottom: 0.5em;}
.addons-media img{border-radius: 20px 20px 0 0px;}
.addons-panel{border-radius: 0px 0 20px 20px;}
.scenic-title { font-size: 1.2rem;}

  .blog_content {
    float: none;
    width: auto;
  }
  .blog_sidebar {
    float: none;
    width: auto;
    padding-left: 0;
    margin-top: 20px;
    margin-bottom: 60px;
  }
  
.single .entry-title {
    font-size: 22px;
}  
.listing_blog ol, .blog_content ol{padding-inline-start: 24px;}  
.listing_blog ol li ul{padding-left: 22px;}
.event_gallery_outer ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.home_basic_content_box .adventure_sec_box { width: 50%;}

.page-grid {
  display: block;
}
/* .sidebar {
  position: static;
  order: -1;
} */
.gallery { grid-template-columns: 1fr 1fr; }

.price-card .vh_desktop_btns{display: block;}

.sidebar{margin-top: 30px;}

.desktop_pricing_sec{display: none;}
.mobile_pricing_sec{display: flex; margin-bottom: 40px;}

.trust-bar { justify-content: center;flex-wrap: wrap;padding: 15px 20px; }
.trust-item{width: 22%;}
.trust-cta { justify-content: center; width: 100%; padding-top: 15px; border-top: 1px solid rgba(22,33,58,0.15); }
.how-to-book{padding-bottom: 80px;}

.steps { grid-template-columns: repeat(2, 1fr); row-gap: 60px; }
.step:nth-child(2)::after { display: none; }
.step:not(:last-child)::after {
    top: 40%;
    left: 86%;
}

}

@media (max-width: 767px) {
  /* .features-grid { flex-direction: column; } */
  /* .circle-card {
    margin-left: 0;
    margin-top: -14px;
    --size: 200px !important;
  } */
  .circle-card.featured { transform: translateY(0); }
  .circle-card:first-child { margin-top: 0; }  

  /* .hero_sec { min-height: 560px; } */
  /* .features-grid { grid-template-columns: repeat(2, 1fr); } */
  .fleet-grid { grid-template-columns: 1fr; }
  .events-grid { grid-template-columns: 1fr; }
  .scenic-track { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr; text-align: center; }
  .footer-social { justify-content: center; }
  .media-corner { display: none; }
  .scenic-track { grid-template-columns: repeat(3, 1fr); }


  .image_left_sec{display: none;}
  .list_content_sec.about_points_inner_sec {
    width: 100%;
}
.addons-panel{padding: 40px 22px; margin-bottom: 0.5em;}
.scenic-caption{font-size: 0.8rem;}
.logo-light{margin: auto;}
.contact_list{justify-content: center;}
.page_not_found_sec h1 span { font-size: 8.8rem; }
.entry-title {
    font-size: 23px;
    margin: 30px 0 10px;
    text-align: left;
}
.post_outer {
      display: block;
  }
.post_one_cat {
width: 100%;
}
.sidebar_before_content {
padding: 10px 0 37px;
}
.event_gallery_outer ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.swiper-button-prev.reviews_prev{left: 31%; top: 100%; margin-top: 18px;}
.swiper-button-next.reviews_next{right: 31%; top: 100%; margin-top: 18px;}
.testimonials{ padding: 80px 0 100px;}

.reviews-grid { 
  overflow-x: auto;
  flex-wrap: nowrap;
  display: flex;
  padding-bottom: 20px; 
}
.review-card{min-width: 260px;}
.gallery { grid-template-columns: 1fr; }
.gallery-media { height: 260px; }

.title-actions { padding-top: 0; }
.why-choose-grid { grid-template-columns: repeat(3, 1fr); }
.tabs { gap: 18px; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 1px; scrollbar-width: none;}
.tab-link { white-space: nowrap; }

.back-btn{ padding: 1px 11px; font-size: 0.875rem;}
.price-card .vh_desktop_btns, .price-card{display: none;}
.mobile_sticky_yacht {  display: block;}

.home_basic_content_box .adventure_sec_box { width: 100%;}
.features-grid{padding-bottom: 38px;}
    .features {
        padding: 0px;
    }
  .how-to-book-media { display: none; }
  .how-to-book{padding-top: 25px;}
  .step:not(:last-child)::after {
        top: 32%;
        left: 80%;
    }
    .trust-item {
        width: 46%;
    }

  .reviews-grid::-webkit-scrollbar { height: 4px; }
  .reviews-grid::-webkit-scrollbar-track { background: transparent; }
  .reviews-grid::-webkit-scrollbar-thumb { background: #cecece; border-radius: 4px; }
  .reviews-grid::-webkit-scrollbar-thumb:hover { background: var(--color-gold); }
  
  .quick-answers{
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 40px;
    flex-direction: row;
    scrollbar-width: none;
  }
  .qa-item{min-width: max-content; padding: 6px 12px;}
  .qa-text{line-height: 1.4;}
  .mobile_quick_answer{display: flex;}
  .dektop_quick_answer, .quick-answers-title{display: none;}
    .brand { max-width: 300px;}
  .brand-text { align-items: center; }
  .brand-name { font-size: 1.5rem; }
}

@media (max-width: 479px) {
  /* .features-grid { grid-template-columns: 1fr; } */
  /* .hero-content p{font-size: 1rem;} */
  .scenic-track { grid-template-columns: repeat(2, 1fr); }
  .addons-panel { padding: 40px 20px; }
  .scenic-track { grid-template-columns: repeat(2, 1fr); }
  .about_sec, .fleet, .events, .testimonials{ padding: 50px 0;}
  .faq{padding-bottom: 50px;}
  .accordion-icon{width: 40px; height: 40px;}
  .accordion-trigger{gap: 12px;}
  .accordion-label{font-size: 1.2rem;}
  .accordion-icon img{height: 18px;width: 22px;}
  .yacht-location{ gap: 6px;}
  .yacht-location img { width: 11px;}
  .slot-time{ font-size: 0.79rem;}
  .about-grid{gap: 40px;}
  .features-grid{ padding-bottom: 40px; padding-top: 20px;}
  .features { padding: 20px 0 0;}
  /* .site_header {padding: 0;} */
  .hero-content{ padding-top: 25px;}
  .hero-media-mobile{display: block;}
  .hero-media-desktop{display: none;}
  .about-media{gap: 10px;}
  .media-large {border-radius: var(--radius-md);}
  .faq-panel p{padding-bottom: 8px; font-size: 0.9rem;}
  body {line-height: 1.5;}
  .testimonial-card{padding: 20px;}
  .price-actions { flex-direction: column; }
  /* .location-row { grid-template-columns: auto 1fr; } */
  /* .location-map { display: none; } */
  .yacht_full_outer_sec {  padding: 30px 0;}
  .title-bar { flex-direction: column; position: relative; gap: 10px; }
  .how-to-book { padding: 40px 0px 50px; }
  /* .steps { grid-template-columns: 1fr; gap: 50px; }
  .step::after { display: none !important; } */
  .trust-bar { padding: 15px 10px; align-items: center; }
  .trust-item { width: 46%; justify-content: start;}
  .steps{gap: 10px; row-gap: 60px;}
  .step{padding: 38px 10px 10px; --gap: 90px;}
  .step-icon{
    width: 70px;
    height: 70px;
    padding: 18px;
  }
    .step h3 {
      font-size: 1rem;
  }
    .step:not(:last-child)::after {
    top: 24%;
    left: 74%;
}
.envent_content h2, ._sea_m h2{font-size: 20px;}
.share-popup-inner{padding: 10px;}
.share-actions{ grid-template-columns: auto;}
.share-popup-title {font-size: 1.275rem;}
.share-btn {font-size: 0.875rem;padding: 0.58em 1.8em;}
.share-popup.fancybox-content{padding: 32px;}
.title-actions{
  position: absolute;
    right: 0;
    top: 8px;
}
.faq-trigger span {width: 30px;}
  .info-item {
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px;
  }
  .info-icon { margin-top: 0; }
}
