/* Blue Express — restaurant logo tiles and cross-links between tours, places and food */
.eat-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(135deg,#e9f6f2,#f8ead3);color:var(--ocean,#063B46);text-align:center;padding:16px;overflow:hidden}
.eat-tile-emoji{font-size:2.4rem;line-height:1}
.eat-tile-name{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:1.05rem;line-height:1.2;max-width:90%}
.eat-hero .eat-tile-emoji{font-size:3.4rem}
.eat-hero .eat-tile-name{font-size:1.6rem}
/* when a real logo/photo is available eat-logos.js swaps it in */
.eat-tile.has-logo{background:#fff;padding:0}
.eat-tile.has-logo img{width:100%;height:100%;object-fit:contain;padding:14px;background:#fff}
.eat-tile.has-photo img{width:100%;height:100%;object-fit:cover;padding:0}
.eat-tile.has-logo .eat-tile-emoji,.eat-tile.has-logo .eat-tile-name{display:none}

.make-a-day{margin:36px 0 10px;padding:24px;border-radius:18px;background:var(--ocean,#063B46);color:#e7f4f3}
.make-a-day h2{color:#fff;margin:6px 0 8px}
.make-a-day p{color:#cfe4e2;margin:0 0 16px;max-width:60ch}
.make-a-day .kicker{color:var(--sun,#F4B942)}
.make-a-day-actions{display:flex;flex-wrap:wrap;gap:10px}
.make-a-day-actions .btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}

.eat-pairing{margin:48px 0 10px}
.eat-pairing-intro{color:var(--muted,#5D7071);max-width:62ch}
.eat-pairing-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}
@media(min-width:720px){.eat-pairing-grid{grid-template-columns:repeat(3,1fr)}}
.eat-pairing .location-card{height:100%;transition:transform .2s ease,box-shadow .2s ease}
.eat-pairing .location-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(6,59,70,.12)}
.eat-pairing-more{margin-top:14px}
.eat-pairing-more a{color:var(--lagoon,#0D7880);font-weight:700}
.eat-pairing .kicker{color:var(--lagoon,#0D7880)}
/* restaurant page header logo (new design) */
.eat-hero-card .eat-hero-logo{flex:none;width:96px;height:96px;border-radius:16px;padding:8px;gap:0}
.eat-hero-card .eat-hero-logo .eat-tile-emoji{font-size:2.6rem}
.eat-hero-card .eat-hero-logo.has-logo img{padding:6px;border-radius:12px}
.eat-hero-card .eat-hero-logo.has-photo img{padding:0;border-radius:12px}
/* WhatsApp / Email send choice on booking forms */
.bk-send{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.bk-send .btn{flex:1 1 220px;gap:10px}
.btn-whatsapp{background:#25D366;color:#073b1f}
.btn-whatsapp:hover{background:#1fb758}
.btn-email{background:var(--ocean,#063B46);color:#fff}
.btn-email:hover{background:#0a5466}
.bk-send .btn[aria-busy="true"]{opacity:.75}
.bk-send-note{margin:10px 0 0;font-size:.85rem;color:var(--muted,#5D7071)}
/* keep the dark text-shading layer above the welcome photo, and the text above both */
.hero picture,.hero .hero-bg{z-index:0}
.hero::before{z-index:1}
.hero .wrap{position:relative;z-index:2}
/* Google review links */
.footer-review{margin:12px 0 10px}
.footer-review a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:inherit}
.trust-link.trust-google{display:inline-flex;align-items:center;gap:6px;margin-left:16px}
/* Live availability on booking forms */
.avail-note{margin:8px 0 0;font-size:.88rem;font-weight:600;line-height:1.5}
.avail-note:empty{display:none}
.avail-note.is-open{color:#1f7a4d}
.avail-note.is-limited{color:#a35a00}
.avail-note.is-full{color:#b3261e}
.avail-alt{border:1px solid currentColor;background:#fff;color:inherit;border-radius:999px;padding:3px 10px;margin:4px 2px 0;font:inherit;font-size:.82rem;cursor:pointer}
.slot-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:10px}
.slot-picker .slot{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 6px;border:1.5px solid var(--line,#d6e3e2);border-radius:12px;background:#fff;color:var(--ink,#173033);font:inherit;cursor:pointer}
.slot-picker .slot span{font-size:.78rem;color:var(--muted,#5D7071)}
.slot-picker .slot:hover:not(:disabled){border-color:var(--lagoon,#0D7880)}
.slot-picker .slot[aria-pressed="true"]{border-color:var(--lagoon,#0D7880);background:#e6f4f3;box-shadow:inset 0 0 0 1px var(--lagoon,#0D7880)}
.slot-picker .slot:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
/* Header on smaller screens: menu button always top-right, never under the logo.
   (.site-nav prefix wins over the general .btn rule that was re-showing "Book a tour") */
@media (max-width:1023px){
  .site-nav{grid-template-columns:minmax(0,1fr) auto auto}
  .site-nav .mobile-toggle{grid-column:3;grid-row:1;justify-self:end}
  .site-nav .nav-cta{display:inline-flex;grid-column:2;grid-row:1;padding:10px 16px;font-size:.88rem}
  .site-nav .brand{grid-column:1;grid-row:1;min-width:0}
}
@media (max-width:599px){
  .site-nav{grid-template-columns:minmax(0,1fr) auto}
  .site-nav .nav-cta{display:none}
  .site-nav .mobile-toggle{grid-column:2}
}
@media (max-width:1023px){ .site-nav .navlinks{background:#fffdf8} }  /* fully opaque so the headline can't show through */

/* Explore dropdown in the main menu */
.nav-drop{position:relative}
.nav-drop>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:6px 2px;color:var(--ink);font-size:.9rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.nav-drop>summary::-webkit-details-marker{display:none}
.nav-drop>summary::after{content:"▾";font-size:.75em;transition:transform .2s}
.nav-drop[open]>summary::after{transform:rotate(180deg)}
.nav-drop>summary:hover,.nav-drop>summary:focus-visible,.nav-drop.is-current>summary{color:var(--lagoon);border-bottom-color:currentColor}
.nav-drop-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);z-index:60;display:grid;min-width:250px;padding:8px;background:#fffdf8;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(6,59,70,.16)}
.site-nav .nav-drop-panel a{display:flex;min-height:42px;padding:9px 12px;border-radius:10px;border-bottom:0;font-size:.92rem;white-space:nowrap}
.site-nav .nav-drop-panel a:hover,.site-nav .nav-drop-panel a:focus-visible,.site-nav .nav-drop-panel a[aria-current="page"]{background:#eef8f7;color:var(--lagoon)}
@media (max-width:1023px){
  .site-nav .navlinks{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto}
  .nav-drop{width:100%}
  .nav-drop>summary{width:100%;min-height:48px;padding:12px 14px;border-bottom:0;border-radius:11px;font-size:.98rem}
  .nav-drop.is-current>summary{background:#eef8f7}
  .nav-drop-panel{position:static;transform:none;min-width:0;padding:2px 0 6px 12px;border:0;border-left:2px solid var(--mist);border-radius:0;box-shadow:none;background:transparent;margin-left:14px}
  .site-nav .nav-drop-panel a{min-height:44px;font-size:.95rem}
}

/* Shop / market cards */
.shop-grid{margin-top:8px}
@media(min-width:720px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
.shop-card{display:flex;flex-direction:column;scroll-margin-top:90px}
.shop-card .body{display:flex;flex-direction:column;flex:1}
.shop-card h3{margin:6px 0 8px}
.shop-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:4px 0 16px;font-size:.88rem}
.shop-meta dt{font-weight:700;color:var(--ocean)}
.shop-meta dd{margin:0;color:var(--muted)}
.shop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.shop-actions .btn{padding:10px 14px;font-size:.88rem}
.buy-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:720px){.buy-grid{grid-template-columns:repeat(3,1fr)}}
.buy-item{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.buy-item>span{font-size:1.8rem;line-height:1}
.buy-item strong{color:var(--ocean)}
.buy-item p{margin:4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}

/* Map page */
.map-layout{display:grid;grid-template-columns:1fr;gap:20px;margin-top:26px}
@media(min-width:900px){.map-layout{grid-template-columns:minmax(300px,380px) 1fr;align-items:start}.map-stage{position:sticky;top:90px;order:2}.map-side{order:1}}
@media(max-width:899px){.map-stage{order:-1}}
.map-frame-wrap{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--mist);aspect-ratio:4/3}
@media(min-width:900px){.map-frame-wrap{aspect-ratio:auto;height:min(68vh,620px)}}
.map-frame-wrap iframe{width:100%;height:100%;border:0;display:block}
.map-now{display:grid;gap:2px;margin:12px 0 6px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.map-now strong{color:var(--ocean)}
.map-now span{color:var(--muted);font-size:.9rem}
.map-chips{display:flex;flex-wrap:wrap;gap:8px}
.map-chip{border:1px solid var(--line);background:#fff;color:var(--ocean);border-radius:999px;padding:8px 14px;font:600 .88rem var(--font-body,inherit);cursor:pointer;min-height:40px}
.map-chip.is-on{background:var(--ocean);color:#fff;border-color:var(--ocean)}
.map-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
@media(min-width:900px){.map-list{max-height:calc(68vh - 60px);overflow-y:auto;padding-right:4px}}
.map-item{background:#fff;border:1px solid var(--line);border-radius:14px;scroll-margin-top:90px}
.map-item.is-active{border-color:var(--lagoon);box-shadow:0 0 0 2px rgba(13,120,128,.18)}
.map-pick{display:flex;gap:12px;align-items:flex-start;width:100%;padding:12px 14px 6px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.map-pick strong{display:block;color:var(--ocean)}
.map-pick small{display:block;color:var(--muted);line-height:1.45;margin-top:2px}
.map-emoji{font-size:1.4rem;line-height:1.2}
.map-links{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 14px 12px 50px;font-size:.85rem}
.map-links a{color:var(--lagoon);font-weight:700;text-decoration:none}
.map-links a:hover{text-decoration:underline}
.tag-row{display:flex;flex-wrap:wrap}

/* Trust badges */
.bx-trust{list-style:none;margin:18px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bx-trust li{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.84rem;font-weight:600;color:var(--ocean)}
.trust-wrap{padding-top:18px}
/* Good to know */
.gtk{margin:48px 0 10px}
.gtk-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:860px){.gtk-grid{grid-template-columns:repeat(3,1fr)}}
.gtk-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.gtk-card h3{margin:0 0 10px;font-size:1.1rem}
.gtk-card ul,.gtk-card ol{margin:0;padding-left:20px;line-height:1.6;color:var(--ink)}
.gtk-card li{margin-bottom:6px}
.gtk-card p{color:var(--muted);line-height:1.6}
/* FAQ accordion */
.faq{margin:44px 0 10px}
.faq-list{display:grid;gap:10px;margin-top:16px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px}
.faq-item summary{list-style:none;cursor:pointer;padding:16px 46px 16px 18px;font-weight:700;color:var(--ocean);position:relative;min-height:48px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--lagoon)}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{margin:0;padding:0 18px 16px;color:var(--muted);line-height:1.6}
.faq-more{margin-top:14px;color:var(--muted)}
.faq-more a,.guide-callout a{color:var(--lagoon);font-weight:700}
.guide-callout{background:var(--mist);border-radius:14px;padding:14px 16px;margin:20px 0;line-height:1.5}
/* Tour finder */
.finder{background:linear-gradient(135deg,#eef8f7,#fff7de);border:1px solid var(--line);border-radius:22px;padding:24px;margin:10px 0 40px}
.finder h2{margin:6px 0 14px}
.finder-label{font-weight:700;color:var(--ocean);margin:14px 0 8px}
.finder-opts{display:flex;flex-wrap:wrap;gap:8px}
.finder-opts button{border:1px solid var(--line);background:#fff;color:var(--ocean);border-radius:999px;padding:10px 14px;font:600 .9rem var(--font-body,inherit);cursor:pointer;min-height:44px}
.finder-opts button[aria-pressed="true"]{background:var(--ocean);color:#fff;border-color:var(--ocean)}
.finder-result{margin-top:18px;background:#fff;border-radius:16px;padding:18px;border:2px solid var(--lagoon)}
.finder-result h3{margin:0 0 6px}
.finder-result p{margin:0 0 10px;color:var(--muted);line-height:1.55}
.finder-note{font-weight:600;color:var(--ocean)!important}
.finder-actions{display:flex;flex-wrap:wrap;gap:10px}
/* Guide article */
.guide{max-width:760px;margin-top:20px;line-height:1.7}
.guide h2{margin:36px 0 10px;font-size:clamp(1.5rem,3vw,2rem)}
.guide ul{padding-left:22px}
.guide li{margin-bottom:8px}
.guide a{color:var(--lagoon);font-weight:600}
.guide-lead{font-size:1.15rem;color:var(--ink)}
.guide-toc{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin:18px 0}
.guide-toc strong{color:var(--ocean);margin-right:4px}
@media(max-width:600px){.bx-trust{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.bx-trust::-webkit-scrollbar{display:none}.bx-trust li{flex:none}}
.field-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--muted);line-height:1.4}
/* Real guests section */
.guests .guests-head{max-width:640px;margin-bottom:22px}
.guests .guests-head h2{margin:6px 0 8px}
.guests .guests-head p{color:var(--muted);margin:0}
.guests-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:760px){.guests-grid{grid-template-columns:2fr 3fr;align-items:start}}
.guest-photo{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.guest-photo img{display:block;width:100%;height:auto}
@media(min-width:760px){.guest-photo.tall img{aspect-ratio:3/4;object-fit:cover}}
.guest-photo figcaption{padding:12px 16px 14px;color:var(--muted);font-size:.9rem}
.guests-cta{border-top:1px solid var(--line);padding:16px}
.guests-cta p{margin:0 0 10px}
.guests-actions{display:flex;flex-wrap:wrap;gap:8px}
.guests-actions .btn{padding:10px 14px;font-size:.88rem}
/* Roger, review, award, team */
.bx-roger-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
@media(min-width:860px){.bx-roger-grid{grid-template-columns:3fr 2fr}}
.bx-roger-text h2{margin:6px 0 12px}
.bx-roger-text p{line-height:1.7}
.bx-award{margin:0;text-align:center}
.bx-award img{width:min(260px,70%);height:auto;filter:drop-shadow(0 14px 24px rgba(6,59,70,.18))}
.bx-award figcaption{margin-top:10px;font-weight:700;color:var(--ocean);font-size:.9rem}
.bx-review{margin:28px 0 0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;max-width:820px}
.bx-stars{color:#E8A317;font-size:1.2rem;letter-spacing:2px}
.bx-review blockquote{margin:8px 0 10px;font-family:"Playfair Display",Georgia,serif;font-size:1.15rem;line-height:1.55;color:var(--ink)}
.bx-review blockquote p{margin:0}
.bx-review figcaption{color:var(--muted);font-weight:600;font-size:.9rem}
.bx-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.bx-review-actions .btn{padding:9px 14px;font-size:.86rem}
.bx-team{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:760px){.bx-team{grid-template-columns:repeat(3,1fr)}}
.bx-member{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.bx-member>img,.bx-member-ph{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.bx-member-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--mist)}
.bx-member-ph img{width:96px;height:96px;object-fit:contain;opacity:.85}
.bx-member-ph span{font-weight:700;color:var(--lagoon);font-size:.85rem}
.bx-member>div{padding:16px 18px}
.bx-member h3{margin:0}
.bx-role{margin:2px 0 8px;color:var(--lagoon);font-weight:700;font-size:.88rem}
.bx-member p{line-height:1.55}
/* Film + fruit */
.bx-film-head{max-width:640px;margin-bottom:20px}
.bx-film-head h2{margin:6px 0 8px}
.bx-film-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:860px){.bx-film-grid{grid-template-columns:2fr 1fr}}
.bx-film-video{position:relative;border-radius:20px;overflow:hidden;background:#0a2a30;aspect-ratio:16/9}
.bx-film-video video{width:100%;height:100%;object-fit:cover;display:block}
.bx-film-toggle{position:absolute;left:14px;bottom:14px;border:0;border-radius:999px;padding:10px 16px;background:rgba(255,255,255,.92);color:var(--ocean);font:700 .88rem var(--font-body,inherit);cursor:pointer;min-height:44px}
.bx-film-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(min-width:860px){.bx-film-photos{grid-template-columns:1fr}}
.bx-film-photos img{width:100%;height:100%;max-height:300px;object-fit:cover;border-radius:16px;display:block}
/* Real photo gallery + strips */
.bx-real{margin-bottom:48px}
.bx-real h2{margin:6px 0 8px}
.bx-real-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
@media(min-width:760px){.bx-real-grid{grid-template-columns:repeat(4,1fr)}}
.bx-real-item{margin:0;position:relative;border-radius:14px;overflow:hidden;background:var(--mist)}
.bx-real-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.bx-real-item figcaption{position:absolute;left:8px;bottom:8px;background:rgba(6,59,70,.82);color:#fff;font-size:.78rem;font-weight:600;padding:4px 9px;border-radius:999px}
.bx-strip{margin:44px 0 10px}
.bx-strip h2{margin:6px 0 14px}
.bx-strip-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.bx-strip-row figure{margin:0;scroll-snap-align:start}
.bx-strip-row img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}
.bx-strip-row figcaption{margin-top:6px;font-size:.85rem;color:var(--muted);font-weight:600}
@media(min-width:860px){.bx-film-video{aspect-ratio:auto;height:440px}.bx-film-photos img{height:213px;max-height:none}}
/* Latest news */
.bx-news-card{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}
@media(min-width:760px){.bx-news-card{grid-template-columns:minmax(0,2fr) minmax(0,3fr);padding:22px 28px 22px 22px}}
.bx-news-photo{margin:0}
.bx-news-photo img{width:100%;max-height:520px;object-fit:cover;object-position:center 30%;border-radius:16px;display:block}
.bx-news-text h2{margin:4px 0 10px}
.bx-news-date{margin:4px 0 0;color:var(--muted);font-weight:600;font-size:.9rem}
.bx-news-quote{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:1.2rem;line-height:1.55;color:var(--ink)}
.bx-news-quote p{margin:0}
.bx-news-by{margin:10px 0 16px;color:var(--lagoon);font-weight:700}
.bx-news-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(min-width:760px){.bx-team{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}}
/*bx:pvclock*/
.pv-clock{margin:2px 0 8px;font-size:.95rem;line-height:1.35;opacity:.92}
.pv-clock strong{font-size:1.15rem;letter-spacing:.01em}
.pv-clock #pvDayNight{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75;margin-left:4px}
/*/bx:pvclock*/
/*bx:tour*/
.tour-head{background:var(--paper);padding:34px 0 10px}
.tour-head .crumb{font-size:.88rem;color:var(--muted);text-decoration:none}
.tour-head .crumb:hover{color:var(--lagoon)}
.tour-head .kicker{display:flex;margin-top:14px;color:var(--lagoon)}
.tour-head h1{font-family:var(--font-display);color:var(--ocean);font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.05;margin:8px 0 10px}
.tour-head .lead{max-width:760px;color:var(--ink);font-size:1.08rem;line-height:1.6;margin:0}
.tour-proof{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0;color:var(--muted);font-size:.92rem}
.tour-proof span{display:inline-flex;align-items:center;gap:6px}
.tour-proof .ic{color:var(--lagoon)}
.tour-gallery{display:grid;gap:8px;margin:22px 0 0;border-radius:var(--r-lg);overflow:hidden}
.tour-gallery figure{margin:0;overflow:hidden;background:var(--mist)}
.tour-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.tour-gallery figure:hover img{transform:scale(1.03)}
@media(max-width:759px){.tour-gallery{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--r)}.tour-gallery figure{scroll-snap-align:start;height:250px;border-radius:var(--r)}}
@media(min-width:760px){.tour-gallery{grid-template-columns:2fr 1fr 1fr;grid-template-rows:200px 200px}.tour-gallery figure:first-child{grid-row:1/3}}
@media(min-width:1100px){.tour-gallery{grid-template-rows:230px 230px}}
.tour-layout{display:grid;gap:34px;margin:34px 0 10px;align-items:start}
@media(min-width:960px){.tour-layout{grid-template-columns:minmax(0,1fr) 360px;gap:48px}}
.tour-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 30px;padding:0;list-style:none}
@media(min-width:700px){.tour-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tour-facts li{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.tour-facts .ic{flex:none;color:var(--lagoon);margin-top:2px}
.tour-facts small{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.tour-facts strong{display:block;color:var(--ocean);font-size:.95rem;line-height:1.3}
.tour-sec{margin:0 0 34px}
.tour-sec h2{font-family:var(--font-display);color:var(--ocean);font-size:1.7rem;margin:0 0 12px}
.tour-sec>p{color:var(--ink);line-height:1.7;margin:0}
.tour-steps{list-style:none;margin:6px 0 0;padding:0;position:relative}
.tour-steps:before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:linear-gradient(var(--aqua),var(--lagoon))}
.tour-steps li{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:0 0 22px}
.tour-steps .dot{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--aqua);display:grid;place-items:center;color:var(--lagoon);position:relative;z-index:1}
.tour-steps .tstep{display:grid;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
@media(min-width:620px){.tour-steps .tstep.has-img{grid-template-columns:minmax(0,1fr) 150px}}
.tour-steps h3{margin:0 0 4px;color:var(--ocean);font-size:1.08rem}
.tour-steps p{margin:0;color:var(--muted);line-height:1.6}
.tour-steps img{width:100%;height:110px;object-fit:cover;border-radius:var(--r-sm);display:block}
.tour-note{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.93rem;background:var(--mist);border-radius:var(--r-sm);padding:12px 14px;margin:2px 0 0}
.tour-note .ic{flex:none;color:var(--lagoon);margin-top:1px}
.tour-inc{display:grid;gap:14px}
@media(min-width:620px){.tour-inc{grid-template-columns:1fr 1fr}}
.tour-inc div{border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 8px;background:#fff}
.tour-inc h3{margin:0 0 10px;font-size:1rem;color:var(--ocean)}
.tour-inc ul{list-style:none;margin:0;padding:0}
.tour-inc li{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;line-height:1.45;color:var(--ink);font-size:.95rem}
.tour-inc .yes .ic{color:#1f9d6a;flex:none;margin-top:1px}
.tour-inc .no .ic{color:var(--muted);flex:none;margin-top:1px}
.tour-book{align-self:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px}
@media(min-width:960px){.tour-book{position:sticky;top:96px}}
@media(max-width:959px){.tour-book{order:-1}}
.tour-book .from{color:var(--muted);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.tour-book .price{font-family:var(--font-display);color:var(--ocean);font-size:2.4rem;line-height:1.1;margin:2px 0 4px}
.tour-book .sub{color:var(--muted);font-size:.9rem;margin:0 0 18px;line-height:1.45}
.tour-book .btn{width:100%;margin:0 0 10px}
.tour-book ul{list-style:none;margin:10px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.tour-book li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--ink);margin:0 0 9px;line-height:1.4}
.tour-book li .ic{flex:none;color:#1f9d6a;margin-top:1px}
.tour-book .award{display:flex;gap:10px;align-items:center;margin-top:12px;padding:12px;border-radius:var(--r-sm);background:var(--sand);font-size:.85rem;color:var(--ocean);font-weight:600;line-height:1.35}
.tour-book .award .ic{flex:none;color:#b7791f}
/*/bx:tour*/
/*bx:icons*/
/* Icon colours: one brand tone per meaning */
:root{--ic-water:#0D7880;--ic-nature:#2F8A57;--ic-food:#D4553A;--ic-gold:#C4870F;--ic-trust:#1C8F62;--ic-travel:#0B5A6B}
svg.ei{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;flex:none}
.ei-water{color:var(--ic-water)}.ei-nature{color:var(--ic-nature)}.ei-food{color:var(--ic-food)}
.ei-gold{color:var(--ic-gold)}.ei-trust{color:var(--ic-trust)}.ei-travel{color:var(--ic-travel)}
/* Stand-alone icons sit on a soft tinted tile */
:is(.eat-tile-emoji,.map-emoji,.buy-item>span,.info-icon,.feature-strip .emoji,.access-callout .icon,.bx-trust li>span,.tour-facts li>.ic){--tone:var(--ic-travel)}
:is(.eat-tile-emoji,.map-emoji,.buy-item>span,.info-icon,.feature-strip .emoji,.access-callout .icon,.bx-trust li>span):has(.ei-water){--tone:var(--ic-water)}
:is(.eat-tile-emoji,.map-emoji,.buy-item>span,.info-icon,.feature-strip .emoji,.access-callout .icon,.bx-trust li>span):has(.ei-nature){--tone:var(--ic-nature)}
:is(.eat-tile-emoji,.map-emoji,.buy-item>span,.info-icon,.feature-strip .emoji,.access-callout .icon,.bx-trust li>span):has(.ei-food){--tone:var(--ic-food)}
:is(.eat-tile-emoji,.map-emoji,.buy-item>span,.info-icon,.feature-strip .emoji,.access-callout .icon,.bx-trust li>span):has(.ei-gold){--tone:var(--ic-gold)}
:is(.eat-tile-emoji,.map-emoji,.buy-item>span,.info-icon,.feature-strip .emoji,.access-callout .icon,.bx-trust li>span):has(.ei-trust){--tone:var(--ic-trust)}
:is(.eat-tile-emoji,.map-emoji,.buy-item>span,.info-icon,.feature-strip .emoji,.access-callout .icon){display:inline-grid;place-items:center;flex:none;font-size:0;line-height:1;border-radius:14px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 16%,#fff),color-mix(in srgb,var(--tone) 7%,#fff));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tone) 18%,transparent)}
.eat-tile-emoji{width:64px;height:64px;border-radius:18px}.eat-tile-emoji svg.ei{width:32px;height:32px;stroke-width:1.6}
.eat-hero .eat-tile-emoji{width:76px;height:76px}.eat-hero .eat-tile-emoji svg.ei{width:38px;height:38px}
.eat-hero-card .eat-hero-logo .eat-tile-emoji{width:58px;height:58px}
.map-emoji{width:36px;height:36px;border-radius:11px}.map-emoji svg.ei{width:19px;height:19px}
.buy-item>span{width:46px;height:46px}.buy-item>span svg.ei{width:23px;height:23px}
.info-icon,.feature-strip .emoji,.access-callout .icon{width:46px;height:46px}
:is(.info-icon,.feature-strip .emoji,.access-callout .icon) svg.ei{width:23px;height:23px}
.bx-trust li>span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--tone) 14%,#fff)}
.bx-trust li>span svg.ei{width:14px;height:14px}
.tour-facts li>.ic{box-sizing:content-box;padding:8px;border-radius:11px;background:color-mix(in srgb,currentColor 12%,#fff)}
.tour-steps .dot .ic{width:18px;height:18px}
.floating-book svg.ei,.btn svg.ei{color:inherit}
.hero .fact svg.ei,.hero-facts svg.ei{color:var(--cream,#FFE6A3)}
.make-a-day svg.ei,.site-footer svg.ei,.booking-section svg.ei{color:inherit}
/*/bx:icons*/
/*bx:whyus*/
.bx-whyus{padding-top:0}
.bx-whyus .wrap{display:grid;gap:18px}
.bx-whyus .trust-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.bx-whyus .access-callout{max-width:860px;margin:0 auto}
/*/bx:whyus*/
/*bx:planner*/
.pdp{display:grid;gap:24px;margin-top:18px}
@media(min-width:960px){.pdp{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}.pdp-out{position:sticky;top:90px}}
.pdp-form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm)}
.pdp-h{display:flex;align-items:center;gap:10px;font-size:1.35rem;margin:0 0 14px}
.pdp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.pdp-grid label,.pdp-interests legend{display:block;font-weight:700;font-size:.88rem;color:var(--ocean);margin-bottom:5px}
.pdp-grid .opt{font-weight:400;color:var(--muted)}
.pdp-grid input,.pdp-grid select{width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;font:inherit;background:#fff}
.pdp-interests{border:0;padding:0;margin:18px 0 6px}
.pdp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pdp-chip input{position:absolute;opacity:0;pointer-events:none}
.pdp-chip span{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:.9rem;background:#fff;transition:background .15s,border-color .15s}
.pdp-chip input:checked+span{background:var(--ocean);border-color:var(--ocean);color:#fff}
.pdp-chip input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}
.pdp-check{display:flex;gap:8px;align-items:center;margin:12px 0 16px;font-size:.95rem}
.pdp-go{width:100%}
.pdp-fine{font-size:.82rem;color:var(--muted);margin:10px 0 0}
.pdp-countdown{background:var(--ocean);color:#fff;border-radius:var(--r-lg);padding:16px 20px;margin-bottom:14px}
.pdp-cd-label{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin-bottom:6px}
.pdp-cd-row{display:flex;gap:16px;flex-wrap:wrap}
.pdp-cd-u b{font-family:var(--font-display);font-size:2rem;font-variant-numeric:tabular-nums;line-height:1}
.pdp-cd-u small{margin-left:4px;opacity:.85}
.pdp-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
@media(min-width:620px){.pdp-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pdp-summary div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.pdp-k{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.pdp-summary strong{font-size:1.1rem;color:var(--ocean)}
.pdp-timeline{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.pdp-timeline li{display:grid;grid-template-columns:64px 36px minmax(0,1fr);gap:10px;padding:12px 16px;border-top:1px solid var(--line);align-items:start}
.pdp-timeline li:first-child{border-top:0}
.pdp-time{font-weight:700;color:var(--ocean);font-variant-numeric:tabular-nums;padding-top:6px}
.pdp-ic{width:34px;height:34px;border-radius:50%;background:var(--mist,#e8f6f4);color:var(--ocean);display:flex;align-items:center;justify-content:center}
.pdp-timeline strong{display:block}
.pdp-timeline small{color:var(--muted);font-size:.8rem}
.pdp-timeline p{margin:3px 0 0;font-size:.9rem;color:var(--ink)}
.pdp-timeline li.is-back{background:#fff8e6}
.pdp-note{font-size:.9rem;margin:12px 0 0}
.pdp-warn{background:#fff8e6;border:1px solid #f1d9a0;border-radius:var(--r);padding:12px 14px;margin-bottom:14px;font-size:.92rem}
.pdp-msg{color:var(--muted)}
.pdp-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}
.pdp-promise{display:grid;gap:16px;margin:44px 0 10px}
@media(min-width:760px){.pdp-promise{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pdp-promise>div{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.pdp-promise h3{margin:8px 0 4px;font-size:1.05rem}
.pdp-promise p{margin:0;color:var(--muted);font-size:.92rem}
.pdp-promise svg{color:var(--ocean)}
.pdp-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#063B46,#0D7880);color:#fff;border-radius:var(--r-lg);padding:20px 22px;margin:26px 0}
.pdp-cta h3{margin:0 0 4px;color:#fff}.pdp-cta p{margin:0;opacity:.9}
.fleet{display:grid;gap:14px;margin-top:14px}
@media(min-width:760px){.fleet{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fleet>div{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.fleet h3{margin:8px 0 4px;font-size:1.05rem}.fleet p{margin:0;color:var(--muted);font-size:.92rem}.fleet svg{color:var(--ocean)}
/*/bx:planner*/
/*bx:romance*/
.bx-rom-hero-grid{display:grid;gap:26px;align-items:center}
@media(min-width:860px){.bx-rom-hero-grid{grid-template-columns:1.1fr .9fr}}
.bx-rom-hero-photo{margin:0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.bx-rom-hero-photo img{width:100%;height:auto;display:block}
.bx-rom-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.bx-rom-section{margin:0 0 44px}
.bx-rom-section h2{margin:6px 0 10px}
.bx-rom-grid{display:grid;gap:14px;margin-top:18px}
@media(min-width:700px){.bx-rom-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.bx-rom-grid{grid-template-columns:repeat(3,1fr)}}
.bx-rom-card{background:var(--paper,#fff);border:1px solid var(--line);border-radius:16px;padding:18px 18px 14px;box-shadow:var(--shadow-sm)}
.bx-rom-card h3{margin:0 0 6px;font-size:1.08rem}
.bx-rom-card p{margin:0;color:var(--muted)}
@media(min-width:760px){.bx-rom-photos{grid-template-columns:repeat(3,1fr)}}
.bx-rom-steps ol{padding-left:1.2em;line-height:1.6}
.bx-rom-band{display:grid;gap:22px;align-items:center;background:var(--paper,#fff);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-sm)}
@media(min-width:800px){.bx-rom-band{grid-template-columns:.9fr 1.1fr;padding:22px}}
.bx-rom-band h2{margin:6px 0 8px}
.bx-rom-band-img{width:100%;height:auto;border-radius:16px;display:block}
.bx-latest-video{margin:16px 0 4px;border-radius:16px;overflow:hidden;background:#000;max-width:760px}
.bx-latest-video video{width:100%;height:auto;display:block}
.bx-latest-video figcaption{background:var(--mist);padding:8px 12px;font-size:.85rem;font-weight:600}
/*/bx:romance*/
/*bx:pacific*/
/* Sand-drawing-inspired line pattern (original design) */
.detail-hero{background-image:url("../img/sand-on-dark.svg"),linear-gradient(120deg,var(--ocean),#0a5560);background-size:480px 480px,auto}
.site-footer{background-image:url("../img/sand-on-dark.svg");background-size:480px 480px}
.booking-section{background-image:url("../img/sand-on-dark.svg"),linear-gradient(180deg,var(--ocean),#073f49);background-size:480px 480px,auto}
.make-a-day{background-image:url("../img/sand-on-dark.svg");background-size:480px 480px}
.pdp-cta{background-image:url("../img/sand-on-dark.svg"),linear-gradient(120deg,#063B46,#0D7880);background-size:480px 480px,auto}
.section.alt{background-image:url("../img/sand-on-light.svg");background-size:480px 480px}
.finder{background-image:url("../img/sand-on-light.svg"),linear-gradient(135deg,#eef8f7,#fff7de);background-size:480px 480px,auto}
.cruise-hero{background-image:url("../img/sand-on-light.svg"),linear-gradient(135deg,#e9f8f7,#f8fbf6);background-size:480px 480px,auto}
html[data-theme="dark"] .section.alt{background-image:url("../img/sand-on-dark.svg")}
html[data-theme="dark"] .finder{background-image:url("../img/sand-on-dark.svg"),linear-gradient(135deg,#14302f,#2a2a1e)}
/* Sand drawings across the whole page, light and dark */
body{background-image:url("../img/sand-page-light.svg");background-size:480px 480px;background-repeat:repeat}
main,.detail-main,.section:not(.alt):not(.booking-section){background-color:transparent}
html[data-theme="dark"] body{background-image:url("../img/sand-page-dark.svg");background-size:480px 480px;background-repeat:repeat}
html[data-theme="dark"] main,html[data-theme="dark"] .detail-main,html[data-theme="dark"] .section:not(.alt):not(.booking-section){background-color:transparent}
/* Frosted glass over the pattern */
.section.alt .step,.finder-opts button,.pdp-promise>div{background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}
.aside-card{-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}
.detail-hero .kicker,.make-a-day .kicker{text-shadow:0 1px 8px rgba(0,0,0,.25)}
html[data-theme="dark"] .section.alt .step,html[data-theme="dark"] .finder-opts button,html[data-theme="dark"] .pdp-promise>div{background:rgba(20,40,45,.7)}
@media (prefers-reduced-transparency:reduce){.section.alt .step,.finder-opts button,.pdp-promise>div,.aside-card{-webkit-backdrop-filter:none;backdrop-filter:none}}
/*/bx:pacific*/
/*bx:logo*/
.brand-logo{background:#fff;border-radius:12px;padding:3px 7px;box-sizing:content-box;box-shadow:0 0 0 1px rgba(6,59,70,.08),0 4px 12px rgba(6,59,70,.10)}
html[data-theme="dark"] .site-header .brand-logo{background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 6px 18px rgba(0,0,0,.38)}
/*/bx:logo*/
