﻿/* boat-styles-v3.css — VanDutch 40 boat page; scoped under .vandutch-40-page */
    .uk-slideshow>div {
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
      display: none;
    }

    /* Radius, chrome, spacing, and type scale (consistent across the page) */
    .vandutch-40-page {
      --vd40-font-heading: "Manrope", system-ui, sans-serif;
      --vd40-font-text: "Inter", system-ui, sans-serif;
      /* Page canvas — reused behind gallery grid gaps so seams aren’t bright white */
      --vd40-page-canvas: #f1f5f9;
      background: var(--vd40-page-canvas);
      font-family: var(--vd40-font-text);
      -webkit-font-smoothing: antialiased;
      --vd40-card-radius: 18px;
      --vd40-inner-radius: 10px;
      --vd40-box-border: 1px solid rgba(31, 63, 110, 0.1);
      /* Layered, soft elevation — reads on gray canvas without heavy “float” */
      --vd40-box-shadow:
        0 1px 2px rgba(15, 33, 71, 0.05),
        0 5px 14px rgba(26, 54, 93, 0.06),
        0 14px 36px rgba(26, 54, 93, 0.05);
      --vd40-cta-shadow:
        0 1px 2px rgba(29, 53, 87, 0.12),
        0 4px 14px rgba(29, 53, 87, 0.22);
      --vd40-cta-shadow-hover:
        0 2px 6px rgba(29, 53, 87, 0.14),
        0 8px 22px rgba(29, 53, 87, 0.28);
      --vd40-chip-shadow:
        0 1px 2px rgba(15, 33, 71, 0.04),
        0 3px 10px rgba(26, 54, 93, 0.06);
      --vd40-chip-shadow-hover:
        0 2px 4px rgba(15, 33, 71, 0.06),
        0 6px 16px rgba(26, 54, 93, 0.09);
      --vd40-meeting-bg: #f4f6f9;
      --vd40-section-gap: 28px;
      /* Standard-ish scale: hero < section < body */
      --vd40-font-hero: 40px;
      --vd40-font-section: 24px;
      --vd40-font-tab: 17px;
      --vd40-font-body: 16px;
      --vd40-font-body-secondary: 15px;
      --vd40-font-cta: 18px;
      --vd40-font-cta-tabrow: 15px;
      --vd40-font-accordion-body: 16px;
      --vd40-included-li-pad-y: 6px;
      --vd40-font-spec-row: 15px;
      /* Space between gallery tiles — gutters use page canvas (never black) */
      --vd40-gallery-gap: 8px;
      /* Rates — match styles1.css / vandutch-40-boat1 reference */
      --vd40-rate-title: #1f3f6e;
      --vd40-rate-subtitle: #a9a9a9;
      --vd40-rate-row-border: #ececec;
      --vd40-rate-price: #7ed321;
    }

    /* Static mosaic — no UIkit slideshow (breaks multi-img grid) */
    .vandutch-40-page .vd40-gallery-panel {
      border-radius: var(--vd40-card-radius) !important;
      overflow: hidden;
    }

    .vandutch-40-page .boat-gallery,
    .vandutch-40-page .bottom-gallery {
      background: transparent;
    }

    .vandutch-40-page .vd40-hero .vd40-title-row h1 {
      margin: 0;
      text-align: left !important;
      font-family: var(--vd40-font-heading);
      font-size: var(--vd40-font-hero);
      font-weight: 700;
      color: #1f3f6e;
      letter-spacing: 0;
      line-height: 1.15;
    }

    .vandutch-40-page .included-box.vd40-included>h3,
    .vandutch-40-page .meeting-section h2,
    .vandutch-40-page .rates-section .rate-card h3,
    .vandutch-40-page h3.accordion-title {
      font-family: var(--vd40-font-heading);
    }

    .vandutch-40-page .vd40-inc-text,
    .vandutch-40-page .meeting-item,
    .vandutch-40-page .rates-section .time,
    .vandutch-40-page .rates-section .price-row,
    .vandutch-40-page .rates-section .note,
    .vandutch-40-page .accordion-content,
    .vandutch-40-page .accordion-content .uk-list li,
    .vandutch-40-page .review-card p,
    .vandutch-40-page .boat-specs-bar .spec-item,
    .vandutch-40-page .boat-tabs a,
    .vandutch-40-page .vd40-check-avail,
    .vandutch-40-page .availability-btn {
      font-family: var(--vd40-font-text);
    }

    .vandutch-40-page .vd40-tabs-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 10px 12px;
      margin-bottom: var(--vd40-section-gap);
    }

    .vandutch-40-page .vd40-tabs-row .boat-tabs {
      margin-bottom: 0;
      flex: 1 1 auto;
      min-width: 0;
      gap: 10px;
    }

    .vandutch-40-page .boat-tabs a {
      font-size: var(--vd40-font-tab);
      font-weight: 600;
      line-height: 1.3;
      padding: 12px 34px;
      min-height: 46px;
      box-sizing: border-box;
      border-radius: 999px;
    }

    .vandutch-40-page .vd40-hero .vd40-tabs-row {
      margin-top: 16px;
    }

    /* White content cards — same border + shadow everywhere */
    .vandutch-40-page .included-box.vd40-included,
    .vandutch-40-page .boat-specs-bar,
    .vandutch-40-page .rates-section .rate-card,
    .vandutch-40-page .accordion-item {
      border-radius: var(--vd40-card-radius) !important;
      border: var(--vd40-box-border) !important;
      box-shadow: var(--vd40-box-shadow) !important;
      background: #fff !important;
    }

    /* Same gallery grid as vandutch-40-boat1-old.html / styles1.css */
    .vandutch-40-page .boat-layout {
      display: grid !important;
      grid-template-columns: 2fr 1fr;
      gap: 20px;
      align-items: start;
      margin-bottom: var(--vd40-section-gap) !important;
    }

    .vandutch-40-page .boat-gallery {
      display: grid !important;
      grid-template-columns: 2fr 1fr;
      grid-template-rows: 150px 150px 150px;
      gap: var(--vd40-gallery-gap);
      margin-bottom: 0;
      min-height: 0;
    }

    .vandutch-40-page .boat-gallery .big {
      grid-row: span 2;
    }

    /* Lagoon 45: pic-3 removed — wrapper spans right column rows 1–2 so inner img can fill full height */
    .vandutch-40-page.lagoon-45-no-pic3 .boat-gallery > img#img1.big {
      grid-column: 1 !important;
      grid-row: 1 / 3 !important;
    }

    .vandutch-40-page.lagoon-45-no-pic3 .boat-gallery > .lagoon-gallery-right {
      grid-column: 2 !important;
      grid-row: 1 / 3 !important;
      position: relative;
      min-height: 0;
      align-self: stretch;
      overflow: hidden;
      border-radius: var(--vd40-inner-radius);
    }

    .vandutch-40-page.lagoon-45-no-pic3 .boat-gallery > .lagoon-gallery-right img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      min-height: 0;
      object-fit: cover;
      display: block;
    }

    .vandutch-40-page.lagoon-45-no-pic3 .boat-gallery .bottom-gallery {
      grid-row: 3;
    }

    .vandutch-40-page .bottom-gallery {
      grid-column: 1 / span 2;
      display: grid !important;
      grid-template-columns: 1fr 1fr 1fr;
      gap: var(--vd40-gallery-gap);
      min-height: 0;
    }

    .vandutch-40-page .boat-gallery img,
    .vandutch-40-page .bottom-gallery img {
      width: 100%;
      height: 100%;
      min-height: 0;
      display: block;
      border-radius: var(--vd40-inner-radius);
      border: none !important;
      outline: none !important;
      box-shadow: none !important;
      object-fit: cover;
    }

    /* Desktop: all specs in one horizontal row; labels stay on one line, scroll if needed */
    .vandutch-40-page .boat-specs-bar {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: flex-start;
      gap: 12px 20px;
      margin-bottom: var(--vd40-section-gap);
      padding: 16px 20px !important;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    .vandutch-40-page .boat-specs-bar .spec-item {
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      flex: 0 0 auto;
      font-size: var(--vd40-font-spec-row);
      font-weight: 600;
      line-height: 1.3;
      color: #1f3f6e;
    }

    .vandutch-40-page .boat-specs-bar .spec-item img {
      width: 30px;
      height: 30px;
      flex-shrink: 0;
      object-fit: contain;
    }

    .vandutch-40-page .boat-specs-bar .spec-item span {
      white-space: nowrap;
    }

    /* Meeting Point: same border + shadow, light gray fill */
    .vandutch-40-page .meeting-section {
      border-radius: var(--vd40-card-radius) !important;
      border: var(--vd40-box-border) !important;
      box-shadow: var(--vd40-box-shadow) !important;
      background: var(--vd40-meeting-bg) !important;
      margin-bottom: var(--vd40-section-gap);
      padding: 32px 28px !important;
    }

    .vandutch-40-page .rates-section .price-row {
      border-radius: var(--vd40-inner-radius);
    }

    /* Gallery block — light frame + shadow (not black) */
    .vandutch-40-page .boat-layout > .vd40-gallery-shell {
      border-radius: var(--vd40-card-radius) !important;
      border: 0px solid rgba(31, 63, 110, 0.08) !important;
      box-shadow: none !important;
      overflow: hidden;
      background: transparent
    }

    .vandutch-40-page .vd40-gallery-shell .vd40-gallery-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 10;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.92);
      box-shadow: 0 2px 10px rgba(15, 33, 71, 0.15);
      border: 1px solid rgba(31, 63, 110, 0.12);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      color: #1f3f6e;
      font-size: 22px;
      line-height: 1;
    }

    .vandutch-40-page .vd40-gallery-shell .vd40-gallery-nav-prev {
      left: 10px;
    }

    .vandutch-40-page .vd40-gallery-shell .vd40-gallery-nav-next {
      right: 10px;
    }

    /* Both “Check Availability” links — same primary CTA (identical sizing) */
    .vandutch-40-page .vd40-check-avail,
    .vandutch-40-page .availability-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      padding: 18px 42px;
      min-height: 56px;
      border-radius: 999px;
      font-size: var(--vd40-font-cta);
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: 0;
      text-decoration: none !important;
      white-space: nowrap;
      max-width: 100%;
      background: #1d3557 !important;
      color: #fff !important;
      border: 1px solid rgba(255, 255, 255, 0.22) !important;
      box-shadow:
        var(--vd40-cta-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
      transition: background 0.2s ease, box-shadow 0.2s ease;
    }

    .vandutch-40-page .vd40-check-avail {
      flex: 0 0 auto;
      align-self: center;
    }

    .vandutch-40-page .vd40-check-avail:hover,
    .vandutch-40-page .availability-btn:hover {
      background: #264a73 !important;
      color: #fff !important;
      box-shadow:
        var(--vd40-cta-shadow-hover),
        inset 0 1px 0 rgba(255, 255, 255, 0.16);
    }

    .vandutch-40-page .included-box.vd40-included ul.vd40-included-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .vandutch-40-page .vd40-included-list li {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: var(--vd40-included-li-pad-y) 0;
      border: none;
    }

    .vandutch-40-page .vd40-inc-icon {
      flex: 0 0 32px;
      width: 32px;
      height: 32px;
      color: #1f3f6e;
    }

    .vandutch-40-page .vd40-inc-icon img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
    }

    .vandutch-40-page .vd40-inc-text {
      color: #8b97a8;
      font-size: var(--vd40-font-body);
      line-height: 1.55;
    }

    .vandutch-40-page .included-box.vd40-included {
      padding: 28px 26px !important;
    }

    .vandutch-40-page .included-box.vd40-included>h3 {
      font-size: var(--vd40-font-section) !important;
      font-weight: 700;
      color: #1f3f6e;
      margin-bottom: 14px;
    }

    .vandutch-40-page .meeting-section h2 {
      font-size: var(--vd40-font-section) !important;
      font-weight: 700;
      color: #1a365d;
      margin-bottom: 20px;
    }

    .vandutch-40-page .meeting-item {
      font-size: var(--vd40-font-body);
      line-height: 1.5;
      color: #1f3f6e;
      font-weight: 500;
    }

    .vandutch-40-page .meeting-item strong {
      font-weight: 700;
    }

    /* Two cards per row — same as styles1.css .rates-section */
    .vandutch-40-page .rates-section {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: var(--vd40-section-gap) !important;
      align-items: stretch !important;
      margin-top: 0 !important;
      margin-bottom: var(--vd40-section-gap);
    }

    .vandutch-40-page .rates-section .rate-card {
      padding: 28px 26px !important;
      min-width: 0;
    }

    .vandutch-40-page .rates-section .rate-card h3 {
      font-size: var(--vd40-font-section) !important;
      font-weight: 700 !important;
      color: var(--vd40-rate-title) !important;
      text-align: center !important;
      margin: 0 0 6px 0 !important;
    }

    /* Global stylesheet forces 150px min-height — leaves a big empty gap when few price rows */
    .vandutch-40-page .rates-section .price-rows {
      min-height: 0 !important;
    }

    .vandutch-40-page .rates-section .time {
      font-size: var(--vd40-font-body);
      font-weight: 600;
      color: var(--vd40-rate-subtitle);
      text-align: center;
      margin: 0 0 16px 0;
      min-height: 0;
    }

    .vandutch-40-page .rates-section .price-row {
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      font-size: var(--vd40-font-body);
      font-weight: 600;
      color: var(--vd40-rate-title);
      border: 2px solid var(--vd40-rate-row-border) !important;
      border-radius: var(--vd40-inner-radius) !important;
      padding: 10px 18px !important;
      margin-bottom: 10px !important;
      box-sizing: border-box;
    }

    .vandutch-40-page .rates-section .price-row:last-child {
      margin-bottom: 0;
    }

    .vandutch-40-page .rates-section .price-row b {
      color: var(--vd40-rate-price) !important;
      font-weight: 700 !important;
    }

    .vandutch-40-page .rates-section .price-row .request {
      color: var(--vd40-rate-price) !important;
    }

    .vandutch-40-page .rates-section .note {
      font-size: var(--vd40-font-body-secondary);
      line-height: 1.65;
      color: #5a6570;
      text-align: left;
      margin-top: 16px;
    }

    /* Legacy uk-table rates: inner grid = 2 cards per row (outer #rates spans full width) */
    .vandutch-40-page .rates-section.vd-legacy-rates .vd-legacy-rates-inner {
      grid-column: 1 / -1;
      width: 100%;
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: var(--vd40-section-gap) !important;
      align-items: stretch;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .vd-legacy-rates-inner > .uk-clearfix {
      border-radius: var(--vd40-card-radius) !important;
      border: var(--vd40-box-border) !important;
      box-shadow: var(--vd40-box-shadow) !important;
      background: #fff !important;
      padding: 28px 26px !important;
      margin-bottom: 0 !important;
      box-sizing: border-box;
      width: 100% !important;
      min-width: 0;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table {
      font-size: var(--vd40-font-body);
      margin: 0 !important;
      width: 100%;
      background: transparent !important;
      border-collapse: separate;
      border-spacing: 0;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table thead tr {
      display: block;
      width: 100%;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table thead th {
      border: none !important;
      padding: 0 0 12px 0 !important;
      vertical-align: top;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table thead th:first-child {
      display: block;
      width: 100% !important;
      text-align: center !important;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table thead th .uk-h3,
    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table thead th h3 {
      font-size: var(--vd40-font-section) !important;
      font-weight: 700 !important;
      color: var(--vd40-rate-title) !important;
      margin: 0 0 6px 0 !important;
      text-align: center !important;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table thead th span[style*="font-weight"] {
      font-size: var(--vd40-font-body) !important;
      color: var(--vd40-rate-subtitle) !important;
      font-weight: 600 !important;
      display: block;
      text-align: center;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table thead th:nth-child(2) {
      display: none !important;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table tbody {
      display: block;
      width: 100%;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table tbody tr {
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      width: 100% !important;
      box-sizing: border-box !important;
      border: 2px solid var(--vd40-rate-row-border) !important;
      border-radius: var(--vd40-inner-radius) !important;
      padding: 10px 18px !important;
      margin-bottom: 10px !important;
      font-size: var(--vd40-font-body);
      font-weight: 600;
      color: var(--vd40-rate-title);
      background: transparent !important;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table tbody tr:last-child {
      margin-bottom: 0 !important;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table tbody td {
      border: none !important;
      padding: 0 !important;
      display: block;
      flex: 1 1 auto;
      font-size: var(--vd40-font-body);
      vertical-align: middle;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table tbody td:last-child {
      text-align: right !important;
      flex: 0 0 auto;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-table tbody td .uk-text-success {
      color: var(--vd40-rate-price) !important;
      font-weight: 700 !important;
    }

    .vandutch-40-page .rates-section.vd-legacy-rates .uk-clearfix {
      margin-bottom: 0;
    }

    .vandutch-40-page .availability-btn-wrap {
      box-sizing: border-box;
      margin: var(--vd40-section-gap) 0 !important;
      text-align: center;
    }

    .vandutch-40-page .boat-extra {
      margin-top: var(--vd40-section-gap);
    }

    .vandutch-40-page .boat-extra .accordion-item {
      margin-bottom: var(--vd40-section-gap) !important;
    }

    .vandutch-40-page .boat-extra .accordion-item:last-child {
      margin-bottom: 0 !important;
    }

    .vandutch-40-page h3.accordion-title {
      font-size: var(--vd40-font-section) !important;
    }

    .vandutch-40-page .accordion-content {
      font-size: var(--vd40-font-accordion-body);
      line-height: 1.55;
    }

    .vandutch-40-page .accordion-content .uk-list li {
      font-size: var(--vd40-font-accordion-body);
    }

    /*
      Boat Overview uses uk-text-center; plain centering leaves bullets on the margin while text centers.
      Center the whole list block; keep list text left-aligned inside so markers stay next to copy.
    */
    .vandutch-40-page .accordion-content.uk-text-center ul.uk-list {
      display: inline-block;
      margin: 0.75rem auto 0;
      text-align: left;
      max-width: min(100%, 40rem);
      vertical-align: top;
    }

    .vandutch-40-page .accordion-content.uk-text-center ul.uk-list li {
      text-align: left;
    }

    .vandutch-40-page .review-card p {
      font-size: var(--vd40-font-body);
      line-height: 1.55;
    }

    .vandutch-40-page .stars {
      font-size: 24px;
    }

    @media (max-width: 768px) {

      .vandutch-40-page {
        --vd40-font-hero: 36px;
        --vd40-font-section: 20px;
        --vd40-font-tab: 17px;
        --vd40-font-body: 16px;
        --vd40-font-body-secondary: 15px;
        --vd40-font-cta: 18px;
        --vd40-font-cta-tabrow: 15px;
        --vd40-font-accordion-body: 16px;
        --vd40-section-gap: 20px;
        --vd40-included-li-pad-y: 6px;
        --vd40-gallery-gap: 6px;
        --vd40-card-radius: 16px;
        --vd40-inner-radius: 9px;
        --vd40-box-shadow:
          0 1px 2px rgba(15, 33, 71, 0.05),
          0 3px 10px rgba(26, 54, 93, 0.06),
          0 10px 26px rgba(26, 54, 93, 0.05);
        --vd40-cta-shadow:
          0 1px 2px rgba(29, 53, 87, 0.1),
          0 3px 12px rgba(29, 53, 87, 0.2);
        --vd40-cta-shadow-hover:
          0 2px 5px rgba(29, 53, 87, 0.12),
          0 6px 18px rgba(29, 53, 87, 0.26);
        --vd40-chip-shadow:
          0 1px 2px rgba(15, 33, 71, 0.04),
          0 2px 8px rgba(26, 54, 93, 0.05);
        --vd40-chip-shadow-hover:
          0 2px 4px rgba(15, 33, 71, 0.05),
          0 5px 14px rgba(26, 54, 93, 0.08);
      }

      .vandutch-40-page .uk-container.uk-container-center.scroll-class {
        padding-left: 16px;
        padding-right: 16px;
      }

      .vandutch-40-page .uk-grid.uk-margin-large {
        margin-bottom: 0 !important;
      }

      .vandutch-40-page .uk-clearfix > .uk-width-1-1 > .uk-grid.uk-flex {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
      }

      .vandutch-40-page .included-box.vd40-included>h3,
      .vandutch-40-page .meeting-section h2,
      .vandutch-40-page .rates-section .rate-card h3,
      .vandutch-40-page h3.accordion-title {
        font-size: var(--vd40-font-section) !important;
      }

      /* Tabs first, then CTA (matches mobile design) */
      .vandutch-40-page .vd40-tabs-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin-bottom: 16px !important;
      }

      .vandutch-40-page .vd40-check-avail,
      .vandutch-40-page .availability-btn {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
        font-size: var(--vd40-font-cta);
        font-weight: 700;
        padding: 20px 28px;
        min-height: 58px;
        line-height: 1.35;
        max-width: 100%;
      }

      /* No horizontal scroll: 2×2 grid so all section links are visible */
      .vandutch-40-page .vd40-tabs-row .boat-tabs {
        width: 100%;
        margin-bottom: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        overflow: visible;
        padding-bottom: 0;
        min-width: 0;
      }

      .vandutch-40-page .boat-tabs a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 50px;
        padding: 16px 22px;
        font-size: var(--vd40-font-tab);
        font-weight: 600;
        line-height: 1.3;
        text-align: center;
        box-sizing: border-box;
        border-radius: 999px;
        hyphens: auto;
        -webkit-hyphens: auto;
      }

      .vandutch-40-page .included-box.vd40-included {
        padding: 18px 16px 14px !important;
      }

      .vandutch-40-page .included-box.vd40-included>h3 {
        margin-bottom: 8px !important;
      }

      .vandutch-40-page .vd40-included-list li:last-child {
        padding-bottom: 0 !important;
      }

      .vandutch-40-page .vd40-inc-text {
        font-size: var(--vd40-font-body);
      }

      .vandutch-40-page .boat-layout {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-bottom: 16px !important;
      }

      /* Mobile gallery: full-width hero → 2-up row → 3 thumbnails (readable, not squeezed) */
      .vandutch-40-page .boat-gallery {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: minmax(200px, 58vw) minmax(100px, 28vw) auto !important;
        gap: var(--vd40-gallery-gap) !important;
        align-content: start;
      }

      .vandutch-40-page .boat-gallery .big {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        width: 100%;
        max-height: 78vw;
        object-fit: cover;
      }

      .vandutch-40-page .boat-gallery > img#img2 {
        grid-column: 1;
        grid-row: 2;
        min-height: 96px;
      }

      .vandutch-40-page .boat-gallery > img#img3 {
        grid-column: 2;
        grid-row: 2;
        min-height: 96px;
      }

      .vandutch-40-page.lagoon-45-no-pic3 .boat-gallery > .lagoon-gallery-right {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        position: relative;
        min-height: max(96px, 28vw);
      }

      .vandutch-40-page.lagoon-45-no-pic3 .boat-gallery > .lagoon-gallery-right img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        max-height: none !important;
      }

      .vandutch-40-page .boat-gallery .bottom-gallery {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: var(--vd40-gallery-gap) !important;
      }

      .vandutch-40-page .bottom-gallery img {
        aspect-ratio: 1;
        min-height: 0;
        max-height: 28vw;
        height: auto !important;
      }

      .vandutch-40-page .vd40-gallery-shell .vd40-gallery-nav {
        width: 40px;
        height: 40px;
        font-size: 17px;
        top: 22%;
        box-shadow: 0 2px 12px rgba(15, 33, 71, 0.12);
      }

      .vandutch-40-page .vd40-gallery-shell .vd40-gallery-nav-prev {
        left: 8px;
      }

      .vandutch-40-page .vd40-gallery-shell .vd40-gallery-nav-next {
        right: 8px;
      }

      /* Specs card: single column, spaced rows — avoids cramped 2-col overlap on narrow screens */
      .vandutch-40-page .boat-specs-bar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        row-gap: 14px !important;
        column-gap: 0 !important;
        padding: 16px 16px !important;
        text-align: left !important;
        align-content: start;
      }

      .vandutch-40-page .boat-specs-bar .spec-item:nth-child(n + 5) {
        grid-column: auto !important;
      }

      .vandutch-40-page .boat-specs-bar .spec-item {
        display: flex !important;
        flex-direction: row;
        flex: none !important;
        width: 100%;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 12px;
        font-size: var(--vd40-font-body);
        font-weight: 600;
        line-height: 1.45;
        color: #1f3f6e;
        min-width: 0;
      }

      .vandutch-40-page .boat-specs-bar .spec-item img {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px;
        flex-shrink: 0;
        object-fit: contain;
        opacity: 0.88;
        margin-top: 1px;
      }

      .vandutch-40-page .boat-specs-bar .spec-item span {
        flex: 1 1 auto;
        min-width: 0;
        white-space: normal;
      }

      .vandutch-40-page .meeting-section {
        padding: 18px 16px !important;
        text-align: left;
        background: var(--vd40-meeting-bg) !important;
      }

      .vandutch-40-page .meeting-section h2 {
        text-align: center;
      }

      .vandutch-40-page .meeting-item {
        justify-content: flex-start;
        text-align: left;
        align-items: center;
      }

      .vandutch-40-page .meeting-item img {
        width: 28px;
        height: auto;
        flex-shrink: 0;
        margin-top: 2px;
      }

      .vandutch-40-page .rates-section {
        grid-template-columns: 1fr !important;
      }

      .vandutch-40-page .rates-section.vd-legacy-rates .vd-legacy-rates-inner {
        grid-template-columns: 1fr !important;
      }

      .vandutch-40-page .rates-section .rate-card {
        padding: 18px 16px !important;
      }

      .vandutch-40-page .rates-section .time {
        margin-bottom: 8px !important;
      }

      .vandutch-40-page .rates-section .note {
        margin-top: 8px !important;
        line-height: 1.45 !important;
      }

      /* Legacy uk-table rates + additional-information: avoid horizontal scroll trap, wrap long labels */
      .vandutch-40-page .uk-width-small-10-10 {
        min-width: 0;
        max-width: 100%;
      }

      .vandutch-40-page #rates.vd-legacy-rates {
        min-width: 0;
        width: 100%;
        max-width: 100%;
      }

      .vandutch-40-page #rates .uk-overflow-container {
        overflow-x: visible !important;
        max-width: 100%;
      }

      .vandutch-40-page #rates .vd-legacy-rates-inner > .uk-clearfix {
        min-width: 0 !important;
        box-sizing: border-box;
      }

      .vandutch-40-page #rates.vd-legacy-rates .uk-table tbody tr {
        flex-wrap: wrap;
        row-gap: 6px;
      }

      .vandutch-40-page #rates.vd-legacy-rates .uk-table tbody td {
        min-width: 0;
      }

      .vandutch-40-page #rates.vd-legacy-rates .uk-table tbody td:first-child {
        flex: 1 1 calc(100% - 96px);
        overflow-wrap: anywhere;
        word-break: break-word;
      }

      .vandutch-40-page #rates.vd-legacy-rates .uk-table tbody td:last-child {
        flex: 0 0 auto;
        margin-left: auto;
        text-align: right !important;
      }

      .vandutch-40-page #additional-information.meeting-section {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
      }

      .vandutch-40-page #additional-information h2 {
        text-align: left !important;
      }

      .vandutch-40-page #additional-information .uk-list-bullet {
        padding-left: 1.35em;
      }

      .vandutch-40-page #additional-information .uk-list-bullet li {
        overflow-wrap: anywhere;
        word-break: break-word;
      }

      .vandutch-40-page .availability-btn-wrap {
        margin: var(--vd40-section-gap) 0 !important;
        padding: 0;
      }

      .vandutch-40-page .accordion-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
      }

      .vandutch-40-page h3.accordion-title {
        padding-left: 16px !important;
        padding-right: 16px !important;
      }

      /* Mobile hero: title (prominent) + nav chips + CTA */
      .vandutch-40-page .vd40-hero {
        background: linear-gradient(165deg, #fbfcfe 0%, #f3f5f9 100%);
        border: 1px solid rgba(31, 63, 110, 0.09);
        border-radius: 18px;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.88) inset,
          0 1px 2px rgba(15, 33, 71, 0.05),
          0 8px 24px rgba(26, 54, 93, 0.08);
        padding: 22px 16px 18px;
        margin-bottom: 18px;
      }

      .vandutch-40-page .vd40-hero .vd40-title-row {
        padding: 0 2px;
      }

      .vandutch-40-page .vd40-hero .vd40-title-row h1 {
        font-size: clamp(1.85rem, 6.5vw, 2.35rem);
        text-align: center !important;
        letter-spacing: 0;
        color: #183458;
        line-height: 1.15;
      }

      .vandutch-40-page .vd40-hero .vd40-tabs-row {
        gap: 10px;
        margin-bottom: 0 !important;
      }

      .vandutch-40-page .vd40-hero .vd40-tabs-row .boat-tabs {
        gap: 12px !important;
      }

      .vandutch-40-page .vd40-hero .boat-tabs a {
        padding: 16px 26px;
        min-height: 50px;
        background: #fff;
        border: 1px solid rgba(31, 63, 110, 0.13) !important;
        color: #1c3a62;
        box-shadow: var(--vd40-chip-shadow);
        font-size: var(--vd40-font-tab);
        font-weight: 600;
        letter-spacing: 0;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
      }

      .vandutch-40-page .vd40-hero .boat-tabs a:hover {
        border-color: rgba(31, 63, 110, 0.28) !important;
        box-shadow: var(--vd40-chip-shadow-hover);
      }

    }

    @media (min-width: 769px) {

      .vandutch-40-page {
        --vd40-font-cta: 19px;
        --vd40-font-cta-tabrow: 16px;
        --vd40-font-tab: 18px;
      }

      .vandutch-40-page .vd40-check-avail,
      .vandutch-40-page .availability-btn {
        padding: 20px 56px;
        min-height: 58px;
        font-size: var(--vd40-font-cta);
      }

      /* Desktop hero: title + divider + 4 chips + Check Availability */
      .vandutch-40-page .vd40-hero {
        background: linear-gradient(165deg, #fbfcfe 0%, #f4f6fa 45%, #eef1f7 100%);
        border: 1px solid rgba(31, 63, 110, 0.09);
        border-radius: 20px;
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.92) inset,
          0 1px 3px rgba(15, 33, 71, 0.05),
          0 10px 32px rgba(26, 54, 93, 0.08);
        padding: 26px 32px 24px;
        margin-bottom: var(--vd40-section-gap);
      }

      .vandutch-40-page .vd40-hero .vd40-title-row h1 {
        font-size: clamp(2rem, 2.75vw, 2.5rem);
        font-weight: 700;
        letter-spacing: 0;
        color: #183458;
        line-height: 1.15;
      }

      .vandutch-40-page .vd40-hero .vd40-tabs-row {
        align-items: center;
        gap: 14px 20px;
        margin-top: 18px;
        margin-bottom: 0 !important;
      }

      .vandutch-40-page .vd40-hero .vd40-tabs-row .boat-tabs {
        gap: 12px;
      }

      .vandutch-40-page .vd40-hero .boat-tabs a {
        padding: 15px 40px;
        min-height: 50px;
        background: #fff;
        border: 1px solid rgba(31, 63, 110, 0.14) !important;
        color: #1c3a62 !important;
        box-shadow: var(--vd40-chip-shadow);
        font-size: var(--vd40-font-tab);
        font-weight: 600;
        letter-spacing: 0;
        text-decoration: none !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
      }

      .vandutch-40-page .vd40-hero .boat-tabs a:hover {
        border-color: rgba(31, 63, 110, 0.32) !important;
        color: #152d4d !important;
        box-shadow: var(--vd40-chip-shadow-hover);
      }

    }

    .uk-slideshow>.uk-active {
      display: grid;
      position: relative;
    }
