:root {
  --bg: #f6f3ea;
  --surface: #fffdf8;
  --surface-soft: #eef3ec;
  --text: #26312c;
  --text-muted: #6d756f;
  --accent: #ff7a1a;
  --accent-dark: #d95f08;
  --accent-soft: #ffe1c7;
  --border: rgba(38, 49, 44, 0.12);
  --shadow: 0 24px 60px rgba(62, 75, 68, 0.10);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
}

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

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

button,
input,
select,
textarea {
  font: inherit;
}

button {
  border: none;
  cursor: pointer;
}

.section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--accent-dark);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  font-weight: 700;
}

.content-wrap {
  width: min(1300px, calc(100% - 3rem));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(248, 245, 236, 0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(38, 49, 44, 0.08);
}

.header-inner {
  width: min(1300px, calc(100% - 2rem));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 92px;
}

.brand,
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 800;
  color: var(--text);
}

.brand img {
  width: 96px;
  height: 96px;
}

.brand-text {
  display: grid;
  line-height: 1.05;
}

.brand-text strong {
  font-size: 1.15rem;
}

.brand-text span {
  font-size: 0.8rem;
  color: var(--accent-dark);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  background: transparent;
  border: 1px solid rgba(38, 49, 44, 0.16);
  border-radius: 14px;
  padding: 0.75rem;
  flex-direction: column;
  justify-content: space-between;
}

.nav-toggle span {
  display: block;
  height: 2px;
  background: var(--text);
  border-radius: 999px;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.main-nav a {
  color: var(--text-muted);
  padding: 0.8rem 0.5rem;
  transition: color 0.25s ease;
}

.main-nav a:hover,
.main-nav a:focus-visible {
  color: var(--accent-dark);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 1rem 1.8rem;
  font-weight: 700;
  transition: box-shadow 0.2s ease;
}

.button:hover,
.button:focus-visible {
  transform: none;
}

.button-primary {
  background: #ff7417;
  color: #ffffff;
  box-shadow: 0 18px 42px rgba(255, 116, 23, 0.20);
  border: 1px solid rgba(255, 255, 255, 0.25);
}

.button-primary:hover,
.button-primary:focus-visible {
  box-shadow: 0 20px 46px rgba(255, 116, 23, 0.25);
}

.hero-actions .button-primary {
  padding: 1.05rem 2rem;
}

.hero-actions .button-secondary {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.28);
  transition: background 0.2s ease;
}

.hero-actions .button-secondary:hover,
.hero-actions .button-secondary:focus-visible {
  background: rgba(255, 255, 255, 0.24);
}

/* Ensure header Book Now matches hero CTA */
.main-nav .button-primary {
  background: var(--accent);
  color: #ffffff;
  padding: 0.9rem 1.5rem;
  box-shadow: 0 12px 28px rgba(255, 122, 26, 0.18);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.06);
}

.main-nav .button-primary:hover,
.main-nav .button-primary:focus-visible {
  box-shadow: 0 16px 36px rgba(255, 122, 26, 0.22);
}

/* Media overlay for video preview */
.media-overlay {
  position: fixed;
  inset: 0;
  background: rgba(12,12,12,0.75);
  display: grid;
  place-items: center;
  z-index: 120;
}
.media-overlay .media-card {
  width: min(1100px, calc(100% - 2rem));
  height: min(640px, calc(100% - 3rem));
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  display: grid;
  place-items: center;
}
.media-overlay .media-card img,
.media-overlay .media-card video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-overlay .close-media {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  background: rgba(255,255,255,0.9);
  color: #111;
  border-radius: 10px;
  padding: 0.5rem 0.7rem;
  cursor: pointer;
  font-weight: 700;
}

.hero-section {
  position: relative;
  min-height: 20vh; /* 80% less tall than full viewport hero */
  display: grid;
  place-items: center;
  color: #fff;
  overflow: hidden;
}

.hero-media {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(68, 72, 65, 0.22), rgba(54, 58, 52, 0.50)), url("assets/images/atv-action-forest.jpg") center/cover no-repeat;
}

.hero-copy {
  position: relative;
  z-index: 1;
  width: min(1200px, calc(100% - 3rem));
  text-align: center;
  padding: 2rem 0; /* reduced vertical padding to match smaller hero */
}

.eyebrow {
  color: #ffe8cc;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.hero-copy h1 {
  font-size: clamp(2.85rem, 3.8vw, 4.8rem);
  margin: 0;
  max-width: 860px;
  line-height: 0.95;
}

.hero-copy p {
  max-width: 680px;
  margin: 1.5rem auto 2rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.05rem;
}

.hero-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.intro-block,
.experience-section,
.gallery-section,
.video-preview-section,
.booking-section,
.choose-section,
.faq-section {
  padding: 5rem 0;
}

/* Tours section */
.tours-section {
  padding: 3rem 0 5rem;
  background: var(--surface);
}
.tours-section .intro-lead {
  color: var(--text-muted);
  max-width: 780px;
  margin: 0.5rem auto 1.25rem;
  text-align: center;
}
.tours-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.tour-card {
  background: #ffffff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.tour-card img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}
.tour-card h3 {
  margin: 0.5rem 1rem 0 1rem;
}
.tour-card p {
  margin: 0 1rem 1rem 1rem;
  color: var(--text-muted);
}
.tour-card .button-primary {
  margin: 0 1rem 1rem 1rem;
}

.card-slider {
  position: relative;
  overflow: hidden;
  min-height: 215px;
}

.card-slider .slider-track {
  display: flex;
  transition: transform 0.35s ease;
}

.card-slider img {
  width: 100%;
  min-width: 100%;
  height: 215px;
  object-fit: cover;
}

.img-missing {
  display: none !important;
}

.slider-placeholder {
  width: 100%;
  min-width: 100%;
  height: 215px;
  background: linear-gradient(180deg, #e9eee8, #f7f4ec);
  display: grid;
  place-items: center;
  color: rgba(38,49,44,0.58);
  font-weight: 700;
}


.slider-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  display: grid;
  place-items: center;
  background: transparent;
  color: #111111;
  border: none;
  font-size: 1.4rem;
  line-height: 1;
}

.slider-button:hover,
.slider-button:focus-visible {
  transform: translateY(-50%) scale(1.05);
}

.slider-button:disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}

.slider-button.prev {
  left: 0.85rem;
}

.slider-button.next {
  right: 0.85rem;
}

@media (max-width: 640px) {
  .card-slider {
    min-height: 190px;
  }

  .card-slider img {
    height: 190px;
  }
}

/* =========================================================
   2026-08-07 — Editorial brush layout for tour adventures
   Keeps the existing image sliders; changes presentation only.
   ========================================================= */
.tours-section {
  position: relative;
  overflow: hidden;
  background: #fffaf0 !important;
}

.tours-section .content-wrap {
  width: min(1160px, calc(100% - 44px));
}

.tours-section > .content-wrap > .section-label {
  margin-bottom: .35rem;
}

.tours-section > .content-wrap > h2 {
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(2.35rem, 4.2vw, 4.2rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.025em;
  color: #20312c;
}

.tours-section .intro-lead {
  max-width: 650px;
  margin: .85rem 0 1rem;
  text-align: left;
  color: #68716c;
}

.tours-grid {
  display: block !important;
  margin-top: 1rem;
}

.tour-card {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto 1fr;
  column-gap: 1.5rem;
  width: 100%;
  min-height: 455px;
  margin: 0 0 1rem;
  padding: 2.5rem 0 1rem;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
}

.tour-card::before,
.tour-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  opacity: .9;
}

.tour-card::before {
  width: 118px;
  height: 19px;
  right: 3.5%;
  top: 21%;
  border-radius: 65% 35% 62% 38%;
  background: #ff6b35;
  transform: rotate(-28deg) skewX(-15deg);
  box-shadow: 7px 10px 0 -6px #ff6b35, -9px -9px 0 -7px #ff6b35;
}

.tour-card::after {
  width: 90px;
  height: 13px;
  left: 7%;
  bottom: 15%;
  border-radius: 45% 55% 38% 62%;
  background: #12a6a6;
  transform: rotate(18deg) skewX(22deg);
  box-shadow: 4px 13px 0 -7px #12a6a6, 18px -8px 0 -8px #12a6a6;
}

.tour-card .card-slider {
  grid-column: 5 / 13;
  grid-row: 1 / 6;
  align-self: center;
  width: 100%;
  height: 420px;
  min-height: 0;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.tour-card:nth-child(even) .card-slider {
  grid-column: 1 / 9;
}

.tour-card .slider-track,
.tour-card .slider-track img {
  height: 100% !important;
}

.tour-card .slider-track img {
  width: 100% !important;
  min-width: 100% !important;
  object-fit: cover;
  object-position: center;
}

.tour-card h3,
.tour-card > p,
.tour-card > .button {
  grid-column: 1 / 5;
  position: relative;
  z-index: 2;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.tour-card:nth-child(even) h3,
.tour-card:nth-child(even) > p,
.tour-card:nth-child(even) > .button {
  grid-column: 9 / 13;
}

.tour-card h3 {
  grid-row: 1;
  align-self: end;
  margin-top: 4.6rem !important;
  margin-bottom: .85rem !important;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(2.2rem, 3.3vw, 3.5rem) !important;
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.025em;
  color: #27332e;
}

.tour-card h3::after {
  content: "";
  display: block;
  width: 76px;
  height: 3px;
  margin-top: .72rem;
  border-radius: 99px;
  background: var(--accent);
  transform: rotate(-2deg);
}

.tour-card > p:not(:has(strong)) {
  grid-row: 2;
  max-width: 285px;
  margin-bottom: .7rem !important;
  color: #59645e !important;
  font-size: .93rem;
  line-height: 1.48;
}

.tour-card > p:has(strong) {
  grid-row: 3;
  justify-self: start;
  min-width: 138px;
  margin: 0 0 .7rem !important;
  padding: .55rem .75rem;
  border-radius: 10px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 20px rgba(38,49,44,.10);
  color: #33413a !important;
  font-size: .82rem;
  line-height: 1.25;
  cursor: default;
}

.tour-card > p:has(strong) strong {
  display: inline-block;
  max-width: 190px;
  font-weight: 600;
  opacity: 0;
  transform: translateY(2px);
  transition: opacity .2s ease, transform .2s ease;
}

.tour-card > p:has(strong)::before {
  content: "Discover price  ◉";
  position: absolute;
  inset: .55rem .75rem auto;
  color: #69736d;
  white-space: nowrap;
  transition: opacity .18s ease;
}

.tour-card:hover > p:has(strong) strong,
.tour-card:focus-within > p:has(strong) strong {
  opacity: 1;
  transform: none;
}

.tour-card:hover > p:has(strong)::before,
.tour-card:focus-within > p:has(strong)::before {
  opacity: 0;
}

.tour-card > .button {
  grid-row: 4;
  justify-self: start;
  width: auto !important;
  min-height: 0 !important;
  margin-top: .1rem !important;
  padding: .35rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--accent-dark) !important;
  font-size: .88rem;
  font-weight: 700;
  text-transform: none;
}

.tour-card > .button::after {
  content: "  →";
  margin-left: .4rem;
  transition: margin-left .18s ease;
}

.tour-card > .button:hover::after,
.tour-card > .button:focus-visible::after {
  margin-left: .65rem;
}

.tour-card .slider-button {
  z-index: 4;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,.86) !important;
  color: #304039 !important;
  box-shadow: 0 5px 15px rgba(27,42,35,.15);
  backdrop-filter: blur(5px);
}

.tour-card:nth-child(even)::before {
  right: auto;
  left: 3%;
  top: 18%;
  transform: rotate(24deg) skewX(15deg);
  background: #14a3a5;
  box-shadow: 7px 10px 0 -6px #14a3a5, -9px -9px 0 -7px #14a3a5;
}

.tour-card:nth-child(even)::after {
  left: auto;
  right: 9%;
  bottom: 14%;
  background: #ff6b35;
  box-shadow: 4px 13px 0 -7px #ff6b35, 18px -8px 0 -8px #ff6b35;
}

@media (max-width: 860px) {
  .tours-section .content-wrap {
    width: min(680px, calc(100% - 34px));
  }

  .tour-card,
  .tour-card:nth-child(even) {
    display: flex !important;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 2.4rem;
    padding: .5rem 0 0;
  }

  .tour-card .card-slider,
  .tour-card:nth-child(even) .card-slider {
    order: 1;
    width: 100%;
    height: auto;
    aspect-ratio: 1.42 / 1 !important;
    margin: 0;
  }

  .tour-card h3,
  .tour-card:nth-child(even) h3 {
    order: 2;
    align-self: auto;
    margin: -.25rem 0 .65rem !important;
    font-size: clamp(2rem, 9vw, 3rem) !important;
  }

  .tour-card > p:not(:has(strong)),
  .tour-card:nth-child(even) > p:not(:has(strong)) {
    order: 3;
    max-width: 34rem;
    margin-bottom: .55rem !important;
  }

  .tour-card > p:has(strong),
  .tour-card:nth-child(even) > p:has(strong) {
    order: 4;
    margin-bottom: .3rem !important;
  }

  .tour-card > p:has(strong) strong {
    opacity: 1;
    transform: none;
  }

  .tour-card > p:has(strong)::before {
    display: none;
  }

  .tour-card > .button,
  .tour-card:nth-child(even) > .button {
    order: 5;
    align-self: flex-start !important;
    margin-bottom: 0 !important;
  }

  .tour-card::before {
    top: 12%;
  }

  .tour-card::after {
    bottom: 30%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tour-card > p:has(strong) strong,
  .tour-card > p:has(strong)::before,
  .tour-card > .button::after {
    transition: none;
  }
}

@media (max-width: 640px) {
  .tours-grid {
    grid-template-columns: 1fr;
  }
  .hero-copy {
    padding: 1.25rem 0;
  }
  .hero-section {
    min-height: 28vh;
  }
}

.intro-block {
  background: var(--surface);
}

.intro-text h2,
.experience-section h2,
.gallery-intro h2,
.video-preview-copy h2,
.booking-copy h2,
.choose-section h2,
.faq-section h2 {
  margin: 1rem 0 1.5rem;
  font-size: clamp(2rem, 2.6vw, 3rem);
  line-height: 1.05;
}

.intro-text p,
.video-preview-copy p,
.booking-copy p,
.choose-section p,
.footer-grid p {
  color: var(--text-muted);
}

.intro-highlights {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.intro-highlights article {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 1.5rem;
  box-shadow: var(--shadow);
}

.experience-section .content-wrap {
  display: grid;
  gap: 2.5rem;
}

.experience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.experience-card {
  border-radius: 28px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
}

.experience-card img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.experience-card div {
  padding: 1.5rem;
}

.experience-card h3 {
  margin: 0 0 0.8rem;
}

.gallery-intro {
  text-align: center;
}

.gallery-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 230px;
}

.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-item.wide {
  grid-column: span 8;
}

.gallery-item.tall {
  grid-row: span 2;
}

.video-preview-section {
  background: linear-gradient(135deg, rgba(250, 248, 241, 0.98), rgba(237, 244, 239, 0.98));
}

.video-preview-section .content-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}

.video-preview-card {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  min-height: 420px;
    background: url("assets/images/saona-beach-view.jpg") center/cover no-repeat;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 122, 26, 0.14);
  box-shadow: 0 20px 40px rgba(22, 22, 22, 0.18);
}

.video-play-button span {
  display: inline-block;
  width: 28px;
  height: 34px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: var(--accent);
}

.booking-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: flex-start;
}

.booking-copy {
  max-width: 560px;
}

.booking-highlight {
  margin-top: 1.5rem;
  background: rgba(255, 122, 26, 0.1);
  border-left: 4px solid var(--accent);
  padding: 1rem 1.25rem;
  border-radius: 18px;
  color: var(--text);
}

.booking-form {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 32px;
  padding: 2rem;
  box-shadow: var(--shadow);
  display: grid;
  gap: 1.25rem;
}

.booking-form label {
  display: grid;
  gap: 0.65rem;
  font-weight: 600;
  color: var(--text);
}

.booking-form input,
.booking-form select,
.booking-form textarea {
  width: 100%;
  border: 1px solid rgba(38, 49, 44, 0.14);
  border-radius: 20px;
  padding: 0.95rem 1.1rem;
  background: #fbfaf5;
  color: var(--text);
}

.booking-form textarea {
  resize: vertical;
}

.choose-section {
  background: var(--surface);
}

.choose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.choose-grid article {
  background: #ffffff;
  border-radius: 26px;
  box-shadow: var(--shadow);
  padding: 1.75rem;
  min-height: 210px;
}

.choose-grid h3 {
  margin-top: 0;
}

.faq-list {
  margin-top: 2rem;
  display: grid;
  gap: 1rem;
}

.faq-item {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.faq-question {
  width: 100%;
  text-align: left;
  background: transparent;
  padding: 1.4rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.faq-question::after {
  content: '+';
  font-size: 1.25rem;
  transition: transform 0.3s ease;
}

.faq-question[aria-expanded="true"]::after {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, padding 0.35s ease;
  padding: 0 1.5rem;
}

.faq-answer p {
  margin: 0 0 1.4rem;
  color: var(--text-muted);
}

.faq-question[aria-expanded="true"] + .faq-answer {
  max-height: 240px;
  padding: 0 1.5rem 1.4rem;
}

.site-footer {
  background: #e8eee9;
  border-top: 1px solid rgba(38, 49, 44, 0.08);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 2rem;
  padding: 3rem 0 2rem;
}

.footer-nav,
.social-placeholders {
  display: grid;
  gap: 0.85rem;
}

.footer-contact {
  color: var(--accent-dark);
  font-weight: 700;
}

.social-placeholders span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-muted);
}

.whatsapp-float {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  background: #25d366;
  color: #fff;
  border-radius: 999px;
  padding: 0.8rem 1rem;
  box-shadow: 0 18px 40px rgba(37, 211, 102, 0.28);
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  font-weight: 700;
}

.whatsapp-float svg {
  width: 20px;
  height: 20px;
  display: block;
}

@media (max-width: 1080px) {
  .gallery-item.wide {
    grid-column: span 12;
  }

  .booking-grid,
  .video-preview-section .content-wrap,
  .choose-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nav-toggle {
    display: inline-flex;
  }

  .main-nav {
    position: absolute;
    inset: calc(76px) 1rem auto auto;
    right: 1rem;
    top: 76px;
    background: rgba(248, 245, 236, 0.98);
    border: 1px solid rgba(38, 49, 44, 0.12);
    border-radius: 24px;
    padding: 1rem;
    box-shadow: var(--shadow);
    flex-direction: column;
    align-items: flex-start;
    width: min(280px, calc(100% - 2rem));
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity 0.25s ease, transform 0.25s ease;
  }

  .main-nav.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .header-inner {
    position: relative;
  }

  .hero-copy {
    padding: 4rem 0;
  }
}

@media (max-width: 700px) {
  .hero-copy h1 {
    font-size: clamp(2.6rem, 7vw, 3.4rem);
  }

  .hero-copy p {
    font-size: 1rem;
  }

  .experience-grid {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-auto-rows: 180px;
  }

  .gallery-item.tall {
    grid-row: span 1;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .faq-question,
  .booking-form label {
    font-size: 0.95rem;
  }
}

/* Restored guest reviews */
.guest-reviews {
  padding: 80px 0;
  background: #fffdf8;
}

.guest-reviews-heading {
  max-width: 720px;
  margin: 0 auto 36px;
  text-align: center;
}

.guest-reviews-heading h2 {
  margin: 8px 0 12px;
  font-size: clamp(30px, 4vw, 48px);
}

.guest-reviews-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.guest-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.review-card {
  min-height: 275px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(38, 49, 44, .08);
}

.review-card-featured {
  border-top: 4px solid var(--accent);
}

.review-stars {
  margin-bottom: 18px;
  color: #f5a623;
  font-size: 22px;
  letter-spacing: 3px;
}

.review-card blockquote {
  margin: 0 0 24px;
  color: var(--text);
  font-size: 17px;
  line-height: 1.7;
}

.review-author {
  margin: 0;
  font-weight: 800;
  color: var(--text);
}

.review-source {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.review-invitation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background: linear-gradient(145deg, #f7f4e9, #eef3ec);
}

.review-invitation-icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 22px;
}

.review-invitation h3 {
  margin: 0 0 10px;
  font-size: 21px;
}

.review-invitation p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

/* Restored social media contact strip */
.social-contact {
  background: linear-gradient(135deg, #f7f3e8 0%, #edf5ef 100%);
  border-top: 1px solid rgba(19, 62, 62, 0.09);
}

.footer-social {
  padding-top: 2.25rem;
  padding-bottom: 2.1rem;
  text-align: center;
}

.footer-social p {
  margin: 0 0 1rem;
  color: #173f40;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.footer-social-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.85rem;
}

.footer-social-links a {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #fff;
  background: #fff;
  border: 1px solid rgba(19, 62, 62, 0.12);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(19, 62, 62, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(19, 62, 62, 0.2);
}

.footer-social-links svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.social-facebook svg { color: #1877f2; }
.social-instagram svg { color: transparent; }
.social-tiktok .tiktok-cyan { fill: #25f4ee; }
.social-tiktok .tiktok-red { fill: #fe2c55; }
.social-tiktok .tiktok-black { fill: #111; }

.social-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 1.35rem;
  color: #173f40;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-decoration: none;
}

.social-whatsapp svg {
  width: 28px;
  height: 28px;
  fill: #25d366;
  filter: drop-shadow(0 4px 7px rgba(37, 211, 102, 0.25));
}

.social-whatsapp:hover span,
.social-whatsapp:focus-visible span {
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 900px) {
  .guest-reviews-grid {
    grid-template-columns: 1fr;
  }

  .review-card {
    min-height: auto;
  }
}

@media (max-width: 768px) {
  .guest-reviews {
    padding: 58px 0;
  }

  .guest-reviews-heading {
    margin-bottom: 24px;
  }

  .review-card {
    padding: 24px;
    border-radius: 16px;
  }
}


/* ===== Fresh Caribbean palette refinements ===== */
body {
  background: var(--bg);
}

.tours-section {
  background: #fffdf8;
}

.tours-section:nth-of-type(even) {
  background: #f1f5ef;
}

.intro-block,
.choose-section {
  background: #f7f8f3;
}

.experience-section,
.gallery-section,
.booking-section,
.faq-section {
  background: #fffdf8;
}

.tour-card,
.experience-card,
.intro-highlights article,
.booking-form,
.choose-grid article,
.faq-item {
  background: #ffffff;
  border-color: rgba(38, 49, 44, 0.10);
}

.site-header {
  background: rgba(248, 245, 236, 0.96);
}

.main-nav a {
  color: #6f746f;
}

.main-nav a:hover,
.main-nav a:focus-visible {
  color: #d95f08;
}

.section-label,
.brand-text span,
.footer-contact {
  color: #d95f08;
}

.button-primary,
.main-nav .button-primary {
  background: #ff7417;
  color: #ffffff;
}

.button-primary:hover,
.button-primary:focus-visible,
.main-nav .button-primary:hover,
.main-nav .button-primary:focus-visible {
  background: #eb6510;
}

.booking-highlight {
  background: rgba(255, 116, 23, 0.09);
  border-left-color: #ff7417;
}

.site-footer {
  background: #e8eee9;
}

/* Soft sage accent for visual freshness */
.gallery-item,
.video-preview-card,
.tour-card,
.experience-card {
  box-shadow: 0 22px 58px rgba(62, 75, 68, 0.10);
}


/* Background enhancements only */
body{background:linear-gradient(rgba(246,243,234,.92),rgba(246,243,234,.92)),url("assets/images/isla-saona-5.jpg") center top/cover fixed no-repeat!important;}
.hero-section::before{background-image:url("assets/images/Cover-fresh.png")!important;}
#tours{background:linear-gradient(rgba(255,253,248,.93),rgba(255,253,248,.93)),url("assets/images/bahia-de-las-aguilas-1.jpg") center/cover fixed no-repeat!important;}
#activities{background:#fffaf0!important;background-image:none!important;}
#about{background:linear-gradient(rgba(247,250,245,.90),rgba(247,250,245,.92)),url("assets/images/samana-autentica-5.jpg") center/cover no-repeat!important;}
#booking{background:linear-gradient(rgba(238,243,236,.92),rgba(238,243,236,.92)),url("assets/images/private-boat-ride-2.jpg") center/cover no-repeat!important;}
footer{background:linear-gradient(rgba(22,53,55,.94),rgba(17,43,47,.95)),url("assets/images/los-haitises-1.jpg") center/cover no-repeat!important;color:#fff;}

/* Guest Adventures: real-experience social proof */
.guest-adventures {
  padding: 78px 0;
  background:
    linear-gradient(rgba(255, 253, 248, 0.94), rgba(255, 253, 248, 0.94)),
    url("assets/images/isla-saona-5.jpg") center / cover no-repeat;
}

.guest-adventures-heading {
  max-width: 720px;
  margin-bottom: 30px;
}

.guest-adventures-heading h2 {
  margin: 8px 0 10px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.1;
}

.guest-adventures-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.guest-adventures-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 210px;
  gap: 14px;
}

.guest-media {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 18px;
  background: #dce5df;
  box-shadow: 0 18px 42px rgba(38, 49, 44, 0.12);
  cursor: pointer;
}

.guest-media-wide {
  grid-column: span 2;
}

.guest-media-tall {
  grid-row: span 2;
}

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

.guest-media:hover img,
.guest-media:focus-visible img {
  transform: scale(1.035);
}

.guest-media:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.guest-lightbox[hidden] {
  display: none;
}

.guest-lightbox {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(9, 17, 14, 0.9);
}

.guest-lightbox img {
  max-width: min(1100px, 94vw);
  max-height: 88vh;
  object-fit: contain;
  border-radius: 16px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.guest-lightbox-close {
  position: fixed;
  top: 18px;
  right: 22px;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}

body.lightbox-open {
  overflow: hidden;
}


/* =========================================================
   MOBILE RESPONSIVE VERSION
   Applies only to screens 768px wide or smaller.
   Desktop styling remains unchanged.
   ========================================================= */
@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .content-wrap,
  .header-inner {
    width: min(100% - 28px, 100%);
  }

  /* Compact mobile header */
  .site-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 2000;
  }

  body {
    padding-top: 70px;
  }

  .header-inner {
    min-height: 70px;
    position: relative;
  }

  .brand-logo {
    width: 112px;
    height: 48px;
  }

  .brand-text {
    display: block;
    font-size: 9px;
    letter-spacing: 1px;
    white-space: nowrap;
  }

  .nav-toggle {
    display: flex !important;
    width: 44px;
    height: 44px;
    padding: 10px;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    border: 1px solid rgba(38, 49, 44, 0.14);
    border-radius: 12px;
    background: rgba(255, 253, 248, 0.94);
  }

  .nav-toggle span {
    width: 22px;
    margin: 0;
  }

  /* Hidden by default; opens as a compact dropdown */
  .main-nav {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    padding: 12px !important;
    gap: 2px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: rgba(255, 253, 248, 0.98) !important;
    border: 1px solid rgba(38, 49, 44, 0.12) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 48px rgba(38, 49, 44, 0.18) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    z-index: 1100 !important;
  }

  .main-nav.open {
    display: flex !important;
  }

  .main-nav a {
    width: 100%;
    padding: 12px 14px !important;
    text-align: left;
    border-radius: 10px;
  }

  .main-nav a:not(.button):hover,
  .main-nav a:not(.button):focus-visible {
    background: rgba(255, 122, 26, 0.08);
  }

  .main-nav .button {
    width: 100%;
    margin-top: 4px;
    min-height: 46px;
  }

  /* Mobile hero */
  .hero-section {
    min-height: 640px !important;
    align-items: center !important;
  }

  .hero-section::before {
    background-position: 62% center !important;
  }

  .hero-section::after {
    background:
      linear-gradient(
        90deg,
        rgba(18, 26, 22, 0.82) 0%,
        rgba(18, 26, 22, 0.58) 55%,
        rgba(18, 26, 22, 0.22) 100%
      ) !important;
  }

  .hero-copy {
    width: calc(100% - 36px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 64px 0 52px !important;
    text-align: left !important;
  }

  .hero-copy .eyebrow {
    font-size: 10px !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 12px;
  }

  .hero-copy h1 {
    max-width: 340px !important;
    font-size: clamp(38px, 11vw, 54px) !important;
    line-height: 0.98 !important;
    letter-spacing: -1.5px !important;
    margin: 0 0 18px !important;
  }

  .hero-copy p:not(.eyebrow) {
    max-width: 330px !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    margin: 0 0 24px !important;
  }

  .hero-actions {
    display: grid !important;
    width: min(100%, 330px);
    gap: 10px !important;
    margin-top: 22px !important;
  }

  .hero-actions .button {
    width: 100%;
    min-height: 50px;
  }

  /* Tour and activity sections */
  .tours-section {
    padding: 54px 0 !important;
  }

  .tours-section h2,
  .intro-block h2,
  .booking h2 {
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.08 !important;
  }

  .intro-lead {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin-bottom: 28px !important;
  }

  .tours-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .tour-card {
    width: 100%;
    border-radius: 18px !important;
  }

  .card-slider {
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
  }

  .card-slider img,
  .slider-track img {
    height: 100% !important;
  }

  .tour-card h3 {
    font-size: 22px !important;
  }

  .tour-card p {
    font-size: 15px !important;
  }

  .tour-card .button {
    width: calc(100% - 40px);
    min-height: 50px;
    align-self: center !important;
  }

  .slider-button {
    width: 42px !important;
    height: 42px !important;
    background: rgba(0, 0, 0, 0.52) !important;
    color: #fff !important;
    border-radius: 50% !important;
  }

  /* About and booking */
  .intro-block {
    padding: 58px 0 !important;
  }

  .intro-block .content-wrap {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .intro-highlights article {
    padding: 20px !important;
  }

  .booking {
    padding: 58px 0 !important;
  }

  .guest-adventures {
    padding: 58px 0 !important;
  }

  .guest-adventures-heading {
    margin-bottom: 24px;
  }

  .guest-adventures-heading h2 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }

  .guest-adventures-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 175px;
    gap: 10px;
  }

  .guest-media,
  .guest-media-wide,
  .guest-media-tall {
    grid-column: span 1;
    grid-row: span 1;
    border-radius: 14px;
  }

  .guest-media:first-child,
  .guest-media:nth-child(5) {
    grid-column: span 2;
  }

  .booking .button {
    width: 100%;
    max-width: 360px;
    min-height: 52px;
  }

  footer {
    text-align: center;
  }

  .footer-inner {
    justify-content: center !important;
    flex-direction: column;
    gap: 6px !important;
  }
}

@media (max-width: 420px) {
  .brand-text {
    display: none !important;
  }

  .hero-section {
    min-height: 600px !important;
  }

  .hero-copy h1 {
    font-size: clamp(34px, 10.5vw, 44px) !important;
  }
}


/* Keep the header Book Now button consistent with all orange primary buttons */
.main-nav .button-primary{
  background:var(--accent)!important;
  color:#fff!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  min-height:46px!important;
  padding:11px 18px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.main-nav .button-primary:hover,
.main-nav .button-primary:focus-visible{
  background:var(--accent-dark)!important;
  color:#fff!important;
}

/* =========================================================
   Tour artwork frame fix — 2026-08-07
   The organic silhouette is a real PNG overlay, not a CSS mask.
   The live slider stays rectangular underneath the transparent
   center of the artwork frame so every slide remains functional.
   ========================================================= */
#tours.tours-section {
  background: #fffaf0 !important;
  background-image: none !important;
}

#tours .tour-card .card-slider,
#tours .tour-card:nth-child(even) .card-slider,
#activities .tour-card .card-slider,
#activities .tour-card:nth-child(even) .card-slider {
  position: relative;
  overflow: hidden !important;
  -webkit-mask: none !important;
  mask: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  isolation: isolate;
}

#tours .tour-card .card-slider::after,
#activities .tour-card .card-slider::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: 3;
  pointer-events: none;
  background-image: url("assets/images/adventure-frame-hd-01.png");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

#tours .tour-card:nth-child(4n + 2) .card-slider::after,
#activities .tour-card:nth-child(4n + 2) .card-slider::after {
  background-image: url("assets/images/adventure-frame-hd-02.png");
}

#tours .tour-card:nth-child(4n + 3) .card-slider::after,
#activities .tour-card:nth-child(4n + 3) .card-slider::after {
  background-image: url("assets/images/adventure-frame-hd-03.png");
}

#tours .tour-card:nth-child(4n) .card-slider::after,
#activities .tour-card:nth-child(4n) .card-slider::after {
  /* The previous fourth frame had a straight rectangular lower edge.
     Reuse the broad organic brush instead of introducing a boxy silhouette. */
  background-image: url("assets/images/adventure-frame-hd-01.png");
  transform: scaleX(-1);
}

/* Image-led adventures get a wider canvas. This keeps the editorial rhythm
   varied while giving scenery and action photography room to breathe. */
@media (min-width: 861px) {
  #tours .tour-card:nth-child(4n) .card-slider,
  #activities .tour-card:nth-child(4n) .card-slider {
    grid-column: 1 / 10;
    height: 465px;
  }

  #tours .tour-card:nth-child(4n) h3,
  #tours .tour-card:nth-child(4n) > p,
  #tours .tour-card:nth-child(4n) > .button,
  #activities .tour-card:nth-child(4n) h3,
  #activities .tour-card:nth-child(4n) > p,
  #activities .tour-card:nth-child(4n) > .button {
    grid-column: 10 / 13;
  }

  #tours .tour-card:not(:nth-child(4n)) .card-slider,
  #activities .tour-card:not(:nth-child(4n)) .card-slider {
    height: 445px;
  }
}

#tours .tour-card .slider-track,
#activities .tour-card .slider-track {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
}

#tours .tour-card .slider-track img,
#activities .tour-card .slider-track img {
  display: block;
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#tours .tour-card .slider-button,
#activities .tour-card .slider-button {
  z-index: 5 !important;
}

@media (max-width: 860px) {
  #tours .tour-card,
  #tours .tour-card:nth-child(even),
  #activities .tour-card,
  #activities .tour-card:nth-child(even) {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #tours .tour-card .card-slider,
  #tours .tour-card:nth-child(even) .card-slider,
  #activities .tour-card .card-slider,
  #activities .tour-card:nth-child(even) .card-slider {
    width: 100% !important;
    aspect-ratio: 1.42 / 1 !important;
    min-height: 0 !important;
  }
}

/* =========================================================
   Wide painterly photography — 2026-08-08
   Only the two approved real brush artworks are used here.
   Their raster silhouettes are enlarged inside the frame so more
   of every photograph remains visible without redrawing the edge.
   ========================================================= */
#tours .tour-card .card-slider::after,
#activities .tour-card .card-slider::after {
  background-image: url("assets/images/adventure-brush-wide-01.png") !important;
}

#tours .tour-card:nth-child(4n + 2) .card-slider::after,
#activities .tour-card:nth-child(4n + 2) .card-slider::after {
  background-image: url("assets/images/adventure-brush-wide-02.png") !important;
  transform: none;
}

#tours .tour-card:nth-child(4n + 3) .card-slider::after,
#activities .tour-card:nth-child(4n + 3) .card-slider::after {
  background-image: url("assets/images/adventure-brush-wide-03.png") !important;
  transform: none;
}

#tours .tour-card:nth-child(4n) .card-slider::after,
#activities .tour-card:nth-child(4n) .card-slider::after {
  background-image: url("assets/images/adventure-brush-wide-04.png") !important;
  transform: none;
}

@media (min-width: 861px) {
  #tours .tour-card .card-slider,
  #activities .tour-card .card-slider,
  #tours .tour-card:nth-child(4n) .card-slider,
  #activities .tour-card:nth-child(4n) .card-slider {
    grid-column: 4 / 13 !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  #tours .tour-card:nth-child(even) .card-slider,
  #activities .tour-card:nth-child(even) .card-slider {
    grid-column: 1 / 10 !important;
  }

  #tours .tour-card h3,
  #tours .tour-card > p,
  #tours .tour-card > .button,
  #activities .tour-card h3,
  #activities .tour-card > p,
  #activities .tour-card > .button,
  #tours .tour-card:nth-child(4n) h3,
  #tours .tour-card:nth-child(4n) > p,
  #tours .tour-card:nth-child(4n) > .button,
  #activities .tour-card:nth-child(4n) h3,
  #activities .tour-card:nth-child(4n) > p,
  #activities .tour-card:nth-child(4n) > .button {
    grid-column: 1 / 4 !important;
  }

  #tours .tour-card:nth-child(even) h3,
  #tours .tour-card:nth-child(even) > p,
  #tours .tour-card:nth-child(even) > .button,
  #activities .tour-card:nth-child(even) h3,
  #activities .tour-card:nth-child(even) > p,
  #activities .tour-card:nth-child(even) > .button {
    grid-column: 10 / 13 !important;
  }

  #tours .tour-card,
  #activities .tour-card {
    min-height: 500px;
    padding-top: 1.8rem;
    padding-bottom: .7rem;
  }

  #tours .tour-card .slider-track img,
  #activities .tour-card .slider-track img {
    object-position: center center !important;
  }
}

@media (max-width: 860px) {
  #tours .tour-card .card-slider,
  #tours .tour-card:nth-child(even) .card-slider,
  #activities .tour-card .card-slider,
  #activities .tour-card:nth-child(even) .card-slider {
    aspect-ratio: 1.72 / 1 !important;
  }
}

/* =========================================================
   V7 — centered composition + clear booking hierarchy
   Keep the approved V5 brush sizing; only the booking CTA and
   price hierarchy from V6 are retained.
   ========================================================= */
#tours .tour-card > p:has(strong),
#activities .tour-card > p:has(strong) {
  min-width: 0 !important;
  padding: .35rem .15rem !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #707872 !important;
  font-size: .78rem !important;
}

#tours .tour-card > p:has(strong)::before,
#activities .tour-card > p:has(strong)::before {
  inset: .35rem .15rem auto !important;
  color: #737b76 !important;
}

#tours .tour-card > .button,
#activities .tour-card > .button {
  min-height: 44px !important;
  margin-top: .35rem !important;
  padding: .72rem 1.15rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--accent) !important;
  box-shadow: 0 10px 22px rgba(217, 95, 8, .18) !important;
  color: #fff !important;
  font-size: .88rem !important;
  font-weight: 800 !important;
}

#tours .tour-card > .button:hover,
#tours .tour-card > .button:focus-visible,
#activities .tour-card > .button:hover,
#activities .tour-card > .button:focus-visible {
  background: var(--accent-dark) !important;
  color: #fff !important;
}

/* Restored panoramic About segment with the approved local-guide artwork. */
.intro-block {
  position: relative;
  overflow: hidden;
}

.intro-block .content-wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .9fr);
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
}

.intro-block::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  background: url("assets/images/about-local-guide-background.webp?v=20260808-1") center right / cover no-repeat;
  opacity: 1;
  pointer-events: none;
}

.intro-block .intro-highlights article {
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

@media (min-width: 1081px) {
  .intro-block {
    min-height: 578px;
    display: flex;
    align-items: center;
  }

  .intro-block .content-wrap {
    width: min(1120px, calc(100% - 3rem));
    grid-template-columns: minmax(0, 1.3fr) minmax(390px, .9fr);
    gap: clamp(2.25rem, 4vw, 5rem);
  }

  .intro-block .intro-highlights {
    gap: 1rem;
  }

  .intro-block .intro-highlights article {
    min-height: 0;
    padding: 1.35rem 1.5rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 14px 35px rgba(38, 49, 44, .12);
  }
}

@media (max-width: 1080px) {
  .intro-block .content-wrap {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr);
  }

  .intro-highlights {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0;
  }
}

@media (max-width: 700px) {
  .intro-block .content-wrap {
    grid-template-columns: 1fr;
  }

  .intro-highlights {
    grid-template-columns: 1fr;
  }

  .intro-block::after {
    width: 100%;
    background: linear-gradient(rgba(247, 248, 243, .76), rgba(247, 248, 243, .76)),
      url("assets/images/about-local-guide-background.webp?v=20260808-1") 72% center / cover no-repeat;
    opacity: 1;
  }

  .intro-block .intro-highlights article {
    background: rgba(255, 255, 255, .94);
  }
}

/* Mobile price hierarchy: keep prices visible but visually secondary. */
@media (max-width: 860px) {
  #tours .tour-card > p:has(strong),
  #activities .tour-card > p:has(strong) {
    position: static;
    min-width: 0 !important;
    min-height: 0;
    margin: .1rem 0 .45rem !important;
    padding: .15rem 0 !important;
    cursor: default;
  }

  #tours .tour-card > p:has(strong) strong,
  #activities .tour-card > p:has(strong) strong {
    display: inline !important;
    visibility: visible !important;
    opacity: .58 !important;
    transform: none !important;
    color: #43504a !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
  }

  #tours .tour-card > p:has(strong)::before,
  #activities .tour-card > p:has(strong)::before {
    content: none !important;
    display: none !important;
  }
}

/* =========================================================
   DESTINATION ARCHITECTURE — homogeneous MUDRUN identity,
   destination-specific visual personality.
   ========================================================= */
.nav-destinations{position:relative}
.destinations-toggle{display:inline-flex;align-items:center;gap:.35rem;background:transparent;color:#6d706b;padding:.8rem .5rem;font-size:14px}
.destinations-toggle:hover,.destinations-toggle:focus-visible{color:var(--accent-dark)}
.destinations-toggle span{transition:transform .2s ease}.destinations-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.destinations-menu{position:absolute;top:calc(100% + .6rem);left:50%;min-width:210px;padding:.55rem;background:#fffdf8;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 45px rgba(38,49,44,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-6px);transition:.18s ease;z-index:1200}
.destinations-menu.open,.nav-destinations:focus-within .destinations-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.destinations-menu a{display:block;padding:.68rem .8rem;border-radius:10px;color:#344039!important}.destinations-menu a:hover{background:rgba(255,122,26,.08);color:var(--accent-dark)!important}
.destination-network{padding:76px 0;background:#fffaf0}
.destination-network h2{margin:.5rem 0 .8rem;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1;color:#20312c}
.destination-network-lead{max-width:760px;color:#66706b;margin:0 0 2rem}
.destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.destination-tile{position:relative;min-height:235px;padding:1.2rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:22px;color:#fff!important;box-shadow:0 15px 36px rgba(25,42,35,.12);isolation:isolate;background:#27483d}
.destination-tile::before{content:"";position:absolute;inset:0;z-index:-2;background:center/cover no-repeat}
.destination-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 34%,rgba(8,18,14,.82) 100%)}
.destination-tile span{font-family:"DM Serif Display",Georgia,serif;font-size:2rem;line-height:1}.destination-tile small{margin-top:.35rem;font-size:.82rem;color:rgba(255,255,255,.86)}
.destination-tile.boca::before{background-image:url("assets/images/four-wheeler-2.jpg")}.destination-tile.punta::before{background-image:url("assets/images/isla-saona-1.jpg")}.destination-tile.puerto::before{background-image:url("assets/images/puerto-plata-cable-car-27-charcos-1.jpg")}.destination-tile.samana::before{background-image:url("assets/images/samana-autentica-5.jpg")}.destination-tile.santo::before{background-image:url("assets/images/city-tour-santo-domingo-1.jpg")}.destination-tile.bayaguana::before{background-image:url("assets/images/safari-bayaguana-4.jpg")}.destination-tile.constanza::before{background-image:linear-gradient(135deg,#668276,#294c43)}.destination-tile.jarabacoa::before{background-image:url("assets/images/rafting-in-jarabacoa-2.jpg")}

/* Destination pages */
.destination-page{--dest:#ff7a1a;--dest-dark:#d95f08;--dest-soft:#fff0e2;--dest-ink:#27312d;background:#fffdf8}
.destination-page .site-header{background:rgba(248,245,236,.97)}
.destination-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;background:#25362f}
.destination-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--dest-hero) center/cover no-repeat}
.destination-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,20,16,.78) 0%,rgba(10,20,16,.45) 52%,rgba(10,20,16,.12) 100%)}
.destination-hero .content-wrap{padding:100px 0 62px}
.destination-badge{display:inline-flex;padding:.38rem .7rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.destination-hero h1{max-width:780px;margin:.75rem 0 .45rem;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(4rem,8vw,7rem);font-weight:400;line-height:.88}
.destination-hero .tagline{max-width:680px;margin:.8rem 0 0;font-size:clamp(1.15rem,2.2vw,1.7rem);color:rgba(255,255,255,.94)}
.destination-hero .button{margin-top:1.6rem;background:var(--dest);color:#fff}
.destination-intro{padding:54px 0;background:var(--dest-soft)}
.destination-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center}
.destination-intro h2,.destination-offers h2,.destination-coming h2{margin:.4rem 0 .8rem;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2.35rem,4vw,4rem);font-weight:400;line-height:1;color:var(--dest-ink)}
.destination-intro p,.destination-offers .lead,.destination-coming p{color:#626c67}
.destination-promise{padding:1.25rem 1.35rem;border-left:4px solid var(--dest);background:#fff;border-radius:16px;box-shadow:0 12px 30px rgba(38,49,44,.08)}
.destination-offers{padding:72px 0;background:#fffdf8}
.destination-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:1.8rem}
.destination-offer{overflow:hidden;border-radius:20px;background:#fff;border:1px solid rgba(38,49,44,.10);box-shadow:0 16px 36px rgba(38,49,44,.09)}
.destination-offer-media{height:220px;background:linear-gradient(135deg,var(--dest-soft),#f7f4eb) center/cover no-repeat}
.destination-offer-body{padding:1.25rem}
.destination-offer h3{margin:.1rem 0 .55rem;font-family:"DM Serif Display",Georgia,serif;font-size:1.8rem;font-weight:400;line-height:1.05}
.destination-offer p{margin:.35rem 0;color:#66706b;font-size:.93rem}.destination-offer .price{color:var(--dest-dark);font-weight:800}.destination-offer .button{margin-top:.8rem;padding:.78rem 1.1rem;background:var(--dest);color:#fff}
.destination-coming{padding:80px 0;text-align:center;background:linear-gradient(135deg,var(--dest-soft),#fffdf8)}
.destination-coming .content-wrap{max-width:760px}.destination-coming .button{margin-top:1rem;background:var(--dest);color:#fff}
.destination-service-strip{padding:26px 0;background:var(--dest-dark);color:#fff}.destination-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center;font-size:.9rem;font-weight:700}
.destination-footer-note{padding:44px 0;background:#f2f3ef}.destination-footer-note p{max-width:800px;margin:0 auto;text-align:center;color:#5f6964}

.theme-boca{--dest:#ff9d18;--dest-dark:#d87900;--dest-soft:#fff2d7;--dest-hero:url("assets/images/four-wheeler-2.jpg")}
.theme-punta{--dest:#18b7b4;--dest-dark:#087e82;--dest-soft:#def8f5;--dest-hero:url("assets/images/isla-saona-1.jpg")}
.theme-puerto{--dest:#2677d8;--dest-dark:#174d9a;--dest-soft:#e2efff;--dest-hero:url("assets/images/puerto-plata-cable-car-27-charcos-1.jpg")}
.theme-samana{--dest:#1f9a72;--dest-dark:#12684d;--dest-soft:#e3f5ec;--dest-hero:url("assets/images/samana-autentica-5.jpg")}
.theme-santo{--dest:#b66a34;--dest-dark:#7a421e;--dest-soft:#f7eadf;--dest-hero:url("assets/images/city-tour-santo-domingo-1.jpg")}
.theme-bayaguana{--dest:#4c8d42;--dest-dark:#315e2c;--dest-soft:#e9f3e5;--dest-hero:url("assets/images/safari-bayaguana-4.jpg")}
.theme-constanza{--dest:#73998d;--dest-dark:#45685f;--dest-soft:#e8f0ed;--dest-hero:linear-gradient(135deg,#638a7e,#213f37)}
.theme-jarabacoa{--dest:#d95532;--dest-dark:#a6341a;--dest-soft:#fae8e2;--dest-hero:url("assets/images/rafting-in-jarabacoa-2.jpg")}

@media(max-width:900px){.destination-grid{grid-template-columns:repeat(2,1fr)}.destination-offer-grid{grid-template-columns:repeat(2,1fr)}.destination-intro-grid{grid-template-columns:1fr}.destination-service-grid{grid-template-columns:repeat(2,1fr)}.nav-destinations{width:100%}.destinations-toggle{width:100%;justify-content:space-between;padding:12px 14px}.destinations-menu{position:static;display:none;min-width:0;margin:0 .5rem .4rem;padding:.3rem;border:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;background:rgba(255,122,26,.04)}.destinations-menu.open{display:block;transform:none}.destinations-menu a{padding:.55rem .7rem!important}}
@media(max-width:620px){.destination-grid{grid-template-columns:1fr}.destination-tile{min-height:190px}.destination-offer-grid{grid-template-columns:1fr}.destination-service-grid{grid-template-columns:1fr 1fr}.destination-hero{min-height:520px}.destination-hero .content-wrap{padding:74px 0 54px}.destination-offer-media{height:200px}}


/* =========================================================
   Shared navigation refinement — 2026-08-27
   Keeps Destinations easy to select on desktop and identical
   across the home page and every geographical page.
   ========================================================= */
@media (min-width: 901px) {
  .nav-destinations {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding-bottom: .65rem;
    margin-bottom: -.65rem;
  }

  /* Invisible bridge removes the hover dead-zone between the button and dropdown. */
  .nav-destinations::after {
    content: "";
    position: absolute;
    left: -12px;
    right: -12px;
    top: 100%;
    height: 16px;
  }

  .destinations-toggle {
    min-height: 44px;
    padding: .7rem .55rem;
  }

  .destinations-menu {
    top: calc(100% + .15rem) !important;
    padding: .65rem !important;
  }

  .destinations-menu.open,
  .nav-destinations:focus-within .destinations-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }

  .destinations-menu a {
    min-height: 42px;
    display: flex !important;
    align-items: center;
  }
}


/* =========================================================
   V4 shared navigation — click-stable destinations menu
   Header/footer are shared across every page.
   ========================================================= */
.destinations-menu {
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
@media (min-width: 901px) {
  .nav-destinations:hover .destinations-menu:not(.open) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .destinations-menu.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%,0) !important;
  }
}


/* =========================================================
   V5 — Stable click navigation + unified square-card system
   2026-08-26
   Keeps the MUDRUN global identity while allowing every
   destination page to keep its own accent color and personality.
   ========================================================= */

/* DESTINATIONS MENU: CLICK ONLY.
   No hover bridge, no focus-within auto-open, no disappearing menu. */
.nav-destinations{
  position:relative;
}

.destinations-toggle{
  cursor:pointer;
  user-select:none;
}

.destinations-menu{
  display:block;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate(-50%, 4px) !important;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}

.destinations-menu.open{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate(-50%, 0) !important;
}

/* Explicitly neutralize older hover/focus rules. */
.nav-destinations:hover .destinations-menu:not(.open),
.nav-destinations:focus-within .destinations-menu:not(.open){
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate(-50%, 4px) !important;
}

.destinations-menu a{
  min-height:42px;
  display:flex;
  align-items:center;
}

/* ---------------------------------------------------------
   INDEX: replace painterly/brush presentation with practical
   clean cards while preserving sliders, prices and WhatsApp CTAs.
   --------------------------------------------------------- */
#tours .tours-grid,
#activities .tours-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  margin-top:2rem !important;
}

#tours .tour-card,
#activities .tour-card,
#tours .tour-card:nth-child(even),
#activities .tour-card:nth-child(even){
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(38,49,44,.10) !important;
  border-radius:22px !important;
  box-shadow:0 16px 40px rgba(38,49,44,.10) !important;
  isolation:auto !important;
}

#tours .tour-card::before,
#tours .tour-card::after,
#activities .tour-card::before,
#activities .tour-card::after{
  content:none !important;
  display:none !important;
}

#tours .tour-card .card-slider,
#activities .tour-card .card-slider,
#tours .tour-card:nth-child(even) .card-slider,
#activities .tour-card:nth-child(even) .card-slider{
  order:1 !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  grid-column:auto !important;
  grid-row:auto !important;
}

#tours .tour-card .card-slider::after,
#activities .tour-card .card-slider::after{
  content:none !important;
  display:none !important;
  background-image:none !important;
}

#tours .tour-card .slider-track,
#activities .tour-card .slider-track,
#tours .tour-card .slider-track img,
#activities .tour-card .slider-track img{
  height:100% !important;
}

#tours .tour-card .slider-track img,
#activities .tour-card .slider-track img{
  object-fit:cover !important;
  object-position:center !important;
}

#tours .tour-card h3,
#activities .tour-card h3,
#tours .tour-card:nth-child(even) h3,
#activities .tour-card:nth-child(even) h3{
  order:2 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:auto !important;
  margin:1.2rem 1.2rem .65rem !important;
  font-family:"DM Serif Display",Georgia,serif !important;
  font-size:clamp(1.65rem,2.2vw,2.15rem) !important;
  line-height:1.02 !important;
}

#tours .tour-card h3::after,
#activities .tour-card h3::after{
  width:48px !important;
  margin-top:.55rem !important;
}

#tours .tour-card > p:not(:has(strong)),
#activities .tour-card > p:not(:has(strong)),
#tours .tour-card:nth-child(even) > p:not(:has(strong)),
#activities .tour-card:nth-child(even) > p:not(:has(strong)){
  order:3 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  max-width:none !important;
  margin:0 1.2rem .8rem !important;
  font-size:.92rem !important;
  line-height:1.5 !important;
}

#tours .tour-card > p:has(strong),
#activities .tour-card > p:has(strong),
#tours .tour-card:nth-child(even) > p:has(strong),
#activities .tour-card:nth-child(even) > p:has(strong){
  order:4 !important;
  position:relative !important;
  grid-column:auto !important;
  grid-row:auto !important;
  margin:0 1.2rem .7rem !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  min-width:0 !important;
}

#tours .tour-card > p:has(strong)::before,
#activities .tour-card > p:has(strong)::before{
  content:none !important;
  display:none !important;
}

#tours .tour-card > p:has(strong) strong,
#activities .tour-card > p:has(strong) strong{
  display:inline !important;
  visibility:visible !important;
  opacity:.72 !important;
  transform:none !important;
  color:#46534d !important;
  font-size:.9rem !important;
  font-weight:700 !important;
}

#tours .tour-card > .button,
#activities .tour-card > .button,
#tours .tour-card:nth-child(even) > .button,
#activities .tour-card:nth-child(even) > .button{
  order:5 !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:flex-start !important;
  margin:auto 1.2rem 1.25rem !important;
  min-height:46px !important;
  padding:.72rem 1.15rem !important;
  border-radius:999px !important;
  background:var(--accent) !important;
  color:#fff !important;
  box-shadow:none !important;
}

#tours .tour-card > .button::after,
#activities .tour-card > .button::after{
  content:" →" !important;
}

/* ---------------------------------------------------------
   GEOGRAPHIC PAGES: common card grammar, unique destination tone.
   --------------------------------------------------------- */
.destination-offer-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}

.destination-offer{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid color-mix(in srgb, var(--dest) 15%, transparent) !important;
  box-shadow:0 16px 38px rgba(38,49,44,.10) !important;
}

.destination-offer-media{
  width:100%;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  background-color:var(--dest-soft) !important;
}

.destination-offer-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:1.25rem 1.25rem 1.35rem !important;
}

.destination-offer h3{
  font-size:1.85rem !important;
}

.destination-offer .button{
  align-self:flex-start;
  margin-top:auto !important;
  background:var(--dest) !important;
  color:#fff !important;
}

/* Destination personality comes from color, hero and small accents,
   not from changing the global component language. */
.destination-page .section-label{
  color:var(--dest-dark) !important;
}

.destination-page .destination-offer h3::after{
  content:"";
  display:block;
  width:44px;
  height:3px;
  margin-top:.55rem;
  border-radius:99px;
  background:var(--dest);
}

.destination-page .destination-promise{
  border-left-color:var(--dest) !important;
}

/* Tablet */
@media (max-width:980px){
  #tours .tours-grid,
  #activities .tours-grid,
  .destination-offer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile dropdown becomes an intentional accordion. */
@media (max-width:900px){
  .destinations-menu{
    position:static !important;
    display:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    margin:.15rem .35rem .5rem !important;
    padding:.3rem !important;
    background:rgba(255,122,26,.045) !important;
  }

  .destinations-menu.open{
    display:block !important;
    transform:none !important;
  }

  .nav-destinations:hover .destinations-menu:not(.open),
  .nav-destinations:focus-within .destinations-menu:not(.open){
    display:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }
}

/* Phone */
@media (max-width:640px){
  #tours .tours-grid,
  #activities .tours-grid,
  .destination-offer-grid{
    grid-template-columns:1fr !important;
  }

  #tours .tour-card .card-slider,
  #activities .tour-card .card-slider,
  .destination-offer-media{
    aspect-ratio:1 / 1 !important;
  }
}


/* =========================================================
   V6 — Shared shell parity + compact destination service cards
   Header/menu/footer on destination pages now mirror the index.
   ========================================================= */

/* ---------- SAME HEADER AS INDEX ---------- */
.destination-page .site-header{
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  background:rgba(248,245,236,.96) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  border-bottom:1px solid rgba(38,49,44,.12) !important;
}

.destination-page .header-inner{
  width:min(1180px, calc(100% - 32px)) !important;
  min-height:78px !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
}

.destination-page .brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}

.destination-page .brand-logo,
.destination-page .brand img{
  width:150px !important;
  height:58px !important;
  object-fit:contain !important;
}

.destination-page .brand-text{
  display:block;
  color:#6d756f !important;
  font-size:12px !important;
  text-transform:uppercase !important;
  letter-spacing:1.4px !important;
  line-height:normal !important;
}

.destination-page .main-nav{
  display:flex;
  align-items:center;
  gap:18px !important;
  flex-wrap:nowrap !important;
  font-size:14px !important;
}

.destination-page .main-nav > a:not(.button),
.destination-page .destinations-toggle{
  color:#6d706b !important;
  padding:.8rem .5rem !important;
}

.destination-page .main-nav .button-primary{
  min-height:46px !important;
  padding:11px 18px !important;
  background:#ff7a1a !important;
  color:#fff !important;
  border-radius:999px !important;
  box-shadow:none !important;
}

/* Dropdown keeps the same shell styling but remains click-controlled. */
.destination-page .destinations-menu{
  top:calc(100% + 10px) !important;
  min-width:330px !important;
  padding:10px !important;
  border-radius:18px !important;
  background:#173234 !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 18px 48px rgba(20,34,31,.24) !important;
}

.destination-page .destinations-menu a{
  color:#f7f5ee !important;
  border-radius:10px !important;
}

.destination-page .destinations-menu a:hover,
.destination-page .destinations-menu a:focus-visible{
  background:rgba(255,122,26,.16) !important;
  color:#fff !important;
}

/* ---------- SAME SOCIAL STRIP + FOOTER AS INDEX ---------- */
.destination-page .social-contact{
  background:linear-gradient(135deg,#f7f3e8 0%,#edf5ef 100%) !important;
  border-top:1px solid rgba(19,62,62,.09) !important;
}

.destination-page .footer-social{
  padding-top:2.25rem !important;
  padding-bottom:2.1rem !important;
  text-align:center !important;
}

.destination-page footer{
  padding:30px 0 !important;
  border-top:1px solid rgba(38,49,44,.12) !important;
  background:linear-gradient(rgba(22,53,55,.94),rgba(17,43,47,.95)),url("assets/images/los-haitises-1.jpg") center/cover no-repeat !important;
  color:#fff !important;
  font-size:14px !important;
}

.destination-page .footer-inner{
  width:min(1180px, calc(100% - 32px)) !important;
  margin:0 auto !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:20px !important;
  flex-wrap:wrap !important;
}

/* ---------- COMPACT SERVICE CARDS ---------- */
.destination-offers{
  padding:60px 0 68px !important;
}

.destination-offer-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-top:1.5rem !important;
}

.destination-offer{
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  min-height:0 !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(38,49,44,.10) !important;
  box-shadow:0 10px 26px rgba(38,49,44,.08) !important;
}

.destination-offer-media{
  width:100% !important;
  height:160px !important;
  aspect-ratio:auto !important;
  background-position:center !important;
  background-size:cover !important;
}

.destination-offer-body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
  padding:.95rem 1rem 1rem !important;
}

.destination-offer h3{
  margin:0 0 .45rem !important;
  font-size:1.38rem !important;
  line-height:1.05 !important;
}

.destination-page .destination-offer h3::after{
  width:34px !important;
  height:2px !important;
  margin-top:.45rem !important;
}

.destination-offer p{
  margin:.28rem 0 !important;
  font-size:.82rem !important;
  line-height:1.42 !important;
}

.destination-offer .price{
  margin-top:.45rem !important;
  font-size:.82rem !important;
}

.destination-offer .button{
  align-self:flex-start !important;
  min-height:38px !important;
  margin-top:auto !important;
  padding:.58rem .85rem !important;
  border-radius:999px !important;
  font-size:.78rem !important;
}

/* Cards without a supplied photograph still keep the same compact height. */
.destination-offer-media:not([style]){
  position:relative;
  background:
    radial-gradient(circle at 24% 24%, rgba(255,255,255,.72), transparent 24%),
    linear-gradient(135deg,var(--dest-soft),#f7f4eb) !important;
}

.destination-offer-media:not([style])::after{
  content:"MUDRUN";
  position:absolute;
  right:12px;
  bottom:10px;
  color:var(--dest-dark);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.15em;
  opacity:.45;
}

/* Responsive compact cards */
@media (max-width:1100px){
  .destination-offer-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:820px){
  .destination-offer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .destination-offer-media{
    height:150px !important;
  }
}

/* Match index mobile header behavior precisely. */
@media (max-width:768px){
  .destination-page{
    padding-top:70px !important;
  }

  .destination-page .site-header{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:2000 !important;
  }

  .destination-page .header-inner{
    width:min(100% - 28px,100%) !important;
    min-height:70px !important;
    position:relative !important;
  }

  .destination-page .brand-logo,
  .destination-page .brand img{
    width:112px !important;
    height:48px !important;
  }

  .destination-page .brand-text{
    font-size:9px !important;
    letter-spacing:1px !important;
    white-space:nowrap !important;
  }

  .destination-page .nav-toggle{
    display:flex !important;
    width:44px !important;
    height:44px !important;
    padding:10px !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:5px !important;
    border:1px solid rgba(38,49,44,.14) !important;
    border-radius:12px !important;
    background:rgba(255,253,248,.94) !important;
  }

  .destination-page .main-nav{
    display:none !important;
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:14px !important;
    right:14px !important;
    width:auto !important;
    padding:12px !important;
    gap:2px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    background:rgba(255,253,248,.98) !important;
    border:1px solid rgba(38,49,44,.12) !important;
    border-radius:18px !important;
    box-shadow:0 18px 48px rgba(38,49,44,.18) !important;
  }

  .destination-page .main-nav.open{
    display:flex !important;
  }

  .destination-page .main-nav > a,
  .destination-page .destinations-toggle{
    width:100% !important;
    padding:12px 14px !important;
    text-align:left !important;
  }

  .destination-page .destinations-menu{
    min-width:0 !important;
    margin:.15rem .35rem .5rem !important;
    background:rgba(255,122,26,.05) !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .destination-page .destinations-menu a{
    color:#46504b !important;
  }

  .destination-page .main-nav .button-primary{
    width:100% !important;
    margin-top:4px !important;
  }

  .destination-page .footer-inner{
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    text-align:center !important;
  }
}

@media (max-width:560px){
  .destination-offer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .destination-offer-media{
    height:125px !important;
  }

  .destination-offer-body{
    padding:.78rem .8rem .85rem !important;
  }

  .destination-offer h3{
    font-size:1.12rem !important;
  }

  .destination-offer p{
    font-size:.75rem !important;
  }

  .destination-offer .price{
    font-size:.75rem !important;
  }

  .destination-offer .button{
    min-height:36px !important;
    padding:.5rem .68rem !important;
    font-size:.72rem !important;
  }
}

@media (max-width:390px){
  .destination-offer-grid{
    grid-template-columns:1fr !important;
  }

  .destination-offer-media{
    height:165px !important;
  }
}


/* =========================================================
   V7 — truly compact cards
   Match the lighter visual footprint the user approved on
   the Constanza page. Applies to home service cards AND
   geographic destination service cards.
   ========================================================= */

/* HOME — smaller, denser service cards */
#tours .tours-grid,
#activities .tours-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-top:1.35rem !important;
}

#tours .tour-card,
#activities .tour-card,
#tours .tour-card:nth-child(even),
#activities .tour-card:nth-child(even){
  border-radius:16px !important;
  box-shadow:0 8px 22px rgba(38,49,44,.08) !important;
}

#tours .tour-card .card-slider,
#activities .tour-card .card-slider,
#tours .tour-card:nth-child(even) .card-slider,
#activities .tour-card:nth-child(even) .card-slider{
  height:175px !important;
  aspect-ratio:auto !important;
}

#tours .tour-card h3,
#activities .tour-card h3,
#tours .tour-card:nth-child(even) h3,
#activities .tour-card:nth-child(even) h3{
  margin:.9rem .95rem .45rem !important;
  font-size:1.42rem !important;
  line-height:1.03 !important;
}

#tours .tour-card h3::after,
#activities .tour-card h3::after{
  width:34px !important;
  height:2px !important;
  margin-top:.4rem !important;
}

#tours .tour-card > p:not(:has(strong)),
#activities .tour-card > p:not(:has(strong)),
#tours .tour-card:nth-child(even) > p:not(:has(strong)),
#activities .tour-card:nth-child(even) > p:not(:has(strong)){
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  margin:0 .95rem .5rem !important;
  font-size:.79rem !important;
  line-height:1.4 !important;
}

#tours .tour-card > p:has(strong),
#activities .tour-card > p:has(strong){
  margin:0 .95rem .45rem !important;
}

#tours .tour-card > p:has(strong) strong,
#activities .tour-card > p:has(strong) strong{
  font-size:.8rem !important;
}

#tours .tour-card > .button,
#activities .tour-card > .button,
#tours .tour-card:nth-child(even) > .button,
#activities .tour-card:nth-child(even) > .button{
  min-height:36px !important;
  margin:auto .95rem .95rem !important;
  padding:.52rem .78rem !important;
  font-size:.73rem !important;
}

/* DESTINATION PAGES — compact service cards */
.destination-offers{
  padding:48px 0 56px !important;
}

.destination-offer-grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:1.25rem !important;
}

.destination-offer{
  border-radius:15px !important;
  box-shadow:0 8px 20px rgba(38,49,44,.07) !important;
}

.destination-offer-media{
  height:125px !important;
  aspect-ratio:auto !important;
}

.destination-offer-body{
  padding:.75rem .8rem .8rem !important;
}

.destination-offer h3{
  margin:0 0 .35rem !important;
  font-size:1.08rem !important;
  line-height:1.05 !important;
}

.destination-page .destination-offer h3::after{
  width:28px !important;
  height:2px !important;
  margin-top:.35rem !important;
}

.destination-offer p{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
  margin:.18rem 0 !important;
  font-size:.71rem !important;
  line-height:1.36 !important;
}

.destination-offer .price{
  display:block !important;
  -webkit-line-clamp:unset !important;
  overflow:visible !important;
  margin-top:.32rem !important;
  font-size:.72rem !important;
  font-weight:700 !important;
}

.destination-offer .button{
  min-height:34px !important;
  margin-top:.55rem !important;
  padding:.45rem .62rem !important;
  font-size:.68rem !important;
}

/* Keep headings roomy even though cards are compact. */
.destination-offers > .content-wrap{
  width:min(1220px,calc(100% - 32px)) !important;
}

/* Responsive */
@media (max-width:1180px){
  #tours .tours-grid,
  #activities .tours-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .destination-offer-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media (max-width:900px){
  #tours .tours-grid,
  #activities .tours-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .destination-offer-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:640px){
  #tours .tours-grid,
  #activities .tours-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  #tours .tour-card .card-slider,
  #activities .tour-card .card-slider{
    height:135px !important;
  }

  #tours .tour-card h3,
  #activities .tour-card h3{
    font-size:1.1rem !important;
    margin:.72rem .72rem .35rem !important;
  }

  #tours .tour-card > p:not(:has(strong)),
  #activities .tour-card > p:not(:has(strong)){
    margin:0 .72rem .4rem !important;
    font-size:.7rem !important;
    -webkit-line-clamp:3 !important;
  }

  #tours .tour-card > p:has(strong),
  #activities .tour-card > p:has(strong){
    margin:0 .72rem .35rem !important;
  }

  #tours .tour-card > .button,
  #activities .tour-card > .button{
    margin:auto .72rem .72rem !important;
    min-height:33px !important;
    padding:.43rem .58rem !important;
    font-size:.66rem !important;
  }

  .destination-offer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .destination-offer-media{
    height:112px !important;
  }
}

@media (max-width:390px){
  #tours .tours-grid,
  #activities .tours-grid,
  .destination-offer-grid{
    grid-template-columns:1fr !important;
  }

  #tours .tour-card .card-slider,
  #activities .tour-card .card-slider,
  .destination-offer-media{
    height:170px !important;
  }
}
