/* Things to do templates (template-build-2026-11-10): the kind of day (/best-places-for/...) and that kind at a place (/activities/...).
   Only what Webflow classes cannot express: counts, empty fields, hovers, the breakpoints (991 and 767, as direction B). */
.tp-root{font-family:Poppins,sans-serif}
.tp-root [hidden]{display:none!important}
.tp-btno,.tp-btn,.tk-btn{column-gap:0}
.tp-btno > svg,.tp-btn > svg,.tk-btn > svg{margin-right:8px}
.tp-root .w-dyn-bind-empty,.tp-root img[src=""],.tp-root img:not([src]){display:none}
.tp-root img{filter:saturate(1.175) contrast(1.03) brightness(1.01)}
.tp-root .tq-map__img{filter:none}
.tp-root a:hover{text-decoration:none}
/* the bar's search box */
.tp-bform{position:relative;display:flex;align-items:center;height:36px;border:1px solid #e1e7ee;border-radius:999px;background:#f6f9fc;padding:0 12px 0 34px}
.tp-bform svg{position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;fill:#5a6876}
.tp-bin{width:100%;border:0;background:transparent;font:inherit;font-size:14px;color:#0b2a4a;outline:0;min-width:0}
.tp-bin::placeholder{color:#5a6876}
.tp-bform .tf-pop{left:auto;right:0;width:min(440px,92vw);top:calc(100% + 6px)}
/* buttons */
.tp-btno:hover{background-color:#d9571a;color:#fff}
.tp-btn:hover{border-color:#0055a5;color:#0055a5}
.tk-btn:hover{background-color:rgba(255,255,255,.18);color:#fff}
.tk-btn.on{background:#fff;color:#d9571a}
.tk-btn.on .tk-btn__h{fill:currentColor}
.tf-go:hover .tf-go__i,.tk-ego:hover .tf-go__i,.tq-door__a:hover .tf-go__i{transform:translateX(3px)}
.tf-go__i{transition:transform .15s}
/* the hero: crumbs on navy */
.tk-hero .tp-crumbs{color:rgba(255,255,255,.7)}
.tk-hero .tp-crumb,.tk-hero .tp-crumbp{color:#fff}
.tk-hero .tp-cs{color:rgba(255,255,255,.45)}
.tk-hero .tp-cnow{color:rgba(255,255,255,.7)}
.tk-hs.tk-solo{grid-row:span 2}
.tk-pics:not(:has(.tk-hs)) .tk-big{grid-column:1/-1}
/* where it's best */
.tk-epl:not(:has(> :nth-child(3))){grid-template-columns:1.6fr 1fr}
.tk-epl:not(:has(> :nth-child(2))){grid-template-columns:1fr;height:250px}
.tk-epics:has(.w-dyn-empty){display:none}
.tk-ep img,.tk-hs img,.tp-x__ph img,.tq-pt img{transition:transform .5s}
.tk-ep:hover img,.tk-hs:hover img,.tp-x:hover .tp-x__ph img,.tq-pt:hover img{transform:scale(1.04)}
.tk-tlink:has(.w-dyn-bind-empty),.tp-btno:has(.w-dyn-bind-empty){display:none}
.tk-tlink{column-gap:0}.tk-tlink > svg{margin-right:7px}
.tk-acts .tk-btn{padding-left:12px;padding-right:12px}
.tk-mapt{text-decoration:none}
.tk-tlink:hover{background-color:#ffe7d5}
.tk-eheart .tf-heart{position:static;border:1px solid #e1e7ee;box-shadow:none}
.tk-ei:first-child .tk-entry{border-top-color:#e1e7ee}
.tk-maps{display:grid;gap:6px;border-radius:14px;overflow:hidden;height:calc(100vh - 170px);max-height:720px;min-height:420px}
.tk-maps.m2{grid-template-rows:1.6fr 1fr}.tk-maps.m3{grid-template-rows:1.5fr 1fr .9fr}
.tk-wm{display:block;width:100%;height:100%;min-height:0;background:#d6e7f4}
.tk-wm .land{fill:#f4efe6;stroke:#e3dccf;stroke-width:.4}
.tk-wm .pl{fill:#0b2a4a;font-family:Poppins,sans-serif;font-weight:600;paint-order:stroke;stroke:#fff;stroke-linejoin:round}
.tk-wm circle{fill:#0b2a4a;stroke:#fff}
.tk-wm a:hover circle{fill:#f26a21}
.tk-trip h2{font-size:17px;margin:0 0 8px;color:#0b2a4a}
.tk-triprow{display:flex;flex-wrap:wrap;gap:8px}
.tk-triprow a{display:flex;align-items:center;gap:9px;background:#fff;border-radius:10px;padding:5px 13px 5px 5px;color:#0b2a4a;font-size:13.5px}
.tk-triprow img{width:46px;height:40px;border-radius:7px;object-fit:cover}
.tk-triprow b{display:block;font-size:13px;font-weight:600;line-height:1.2}
/* tours: as the front page's rail */
.tp-tours .tf-stars:has(.w-dyn-bind-empty){display:none}
.tp-tours .tf-facts .tp-size::before{content:"";display:inline-block;width:10px}
/* kind tiles: columns by count */
.tp-xgrid[data-n="1"]{grid-template-columns:1fr}.tp-xgrid[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-xgrid[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.tp-xgrid[data-n="1"] .tp-xi > .tp-x{flex-direction:row;align-items:center;gap:20px}
.tp-xgrid[data-n="1"] .tp-x__ph{flex:0 0 min(46%,620px)}
.tp-xgrid[data-n="1"] .tp-x__h{font-size:22px;font-weight:700}
.tp-xi > .tp-x{width:100%}
.tp-x__a::after{content:"";position:absolute;inset:0;z-index:1}
.tp-cap2 a{position:relative;z-index:2}
.tp-bni:last-child .tf-sep,.tf-bni:last-child .tf-sep{display:none}
/* that kind at a place */
/* r8: the map is the pair's own, else the place's own (the second picture in the holder) */
.tq-pics:not(:has(.tq-map img:not(.w-dyn-bind-empty):not([src=""]))) .tq-placew{grid-row:span 2}
.tq-map:not(:has(img:not(.w-dyn-bind-empty):not([src=""]))){display:none}
.tq-map img:not(.w-dyn-bind-empty):not([src=""]) ~ img{display:none}
.tq-days svg{width:18px;height:18px;fill:#f26a21;flex:none;margin-top:1px}
.tq-days small{display:block;color:#5a6876;font-size:12.5px}
.tq-days a{color:#0055a5;font-weight:600}
.tq-spotl[data-n="1"]{grid-template-columns:1fr}
.tq-spotl[data-n="1"] .tf-card{flex-direction:row}
.tq-spotl[data-n="1"] .tf-card__ph{flex:0 0 46%;aspect-ratio:auto;height:300px}
.tq-spotl[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tq-spotl[data-n="3"] > *{grid-column:span 2}
.tq-spotl[data-n="3"] > :last-child:nth-child(3n+2),.tq-spotl[data-n="3"] > :nth-last-child(2):nth-child(3n+1){grid-column:span 3}
.tq-spotl[data-n="3"] > :last-child:nth-child(3n+1){grid-column:1/-1}
.tq-spotl[data-n="3"] .tf-card__ph{aspect-ratio:auto;height:clamp(170px,15vw,250px)}
.tq-pwall[data-n="1"]{grid-template-columns:minmax(0,520px)}.tq-pwall[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.tq-pwall[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.tq-pwall[data-n="1"] .tq-pt,.tq-pwall[data-n="2"] .tq-pt,.tq-pwall[data-n="3"] .tq-pt{aspect-ratio:16/10}
.tq-pt__txt.has-cap,.tq-pt:not(:has(.tq-es__cap)) .tq-pt__txt{padding-bottom:13px}
.tq-pt__txt .tq-es__cap{position:static;margin-top:3px;padding:0}
.tq-rt p{margin:0 0 10px}.tq-rt ul{margin:0 0 10px;padding-left:18px}.tq-rt li{margin-bottom:6px}
.tq-rt h3{font-size:16px;margin:14px 0 4px;color:#0b2a4a}
.tq-g:has(.tq-rt:empty){display:none}
.tq-guide .tq-g:nth-child(n+5){grid-column:span 1}
@media (max-width:1240px){.tp-tours{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-tours > :nth-child(n+7),.tp-tours .tf-ri:nth-child(n+7){display:none}}
@media (max-width:991px){
  .tk-best{grid-template-columns:minmax(0,1fr) 320px}
  .tk-map{top:72px}
  .tk-maps{height:calc(100vh - 120px)}
  .tp-xgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tq-pwall{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tp-bsearch{display:none}
}
@media (max-width:767px){
  .tf-sech:has(.tf-go){flex-wrap:wrap;gap:2px 12px}
  .tp-tours,.tq-spotl,.tp-xgrid{display:flex;overflow-x:auto;gap:11px;margin-inline:calc(clamp(16px,2.6vw,40px) * -1);padding-inline:clamp(16px,2.6vw,40px);padding-bottom:4px;scroll-snap-type:x proximity;scrollbar-width:none;scroll-padding-inline:clamp(16px,2.6vw,40px)}
  .tp-tours::-webkit-scrollbar,.tq-spotl::-webkit-scrollbar,.tp-xgrid::-webkit-scrollbar{display:none}
  .tp-tours .tf-ri,.tq-spotl > *,.tp-xi{flex:0 0 74%;max-width:310px;scroll-snap-align:start;display:flex!important}
  .tp-xi{flex-basis:56%}
  .tq-pi > .tq-pt{width:100%;aspect-ratio:1/1.1}
  .tq-spotl[data-n="1"] > *{flex-basis:100%;max-width:none}
  .tq-spotl[data-n="1"] .tf-card{flex-direction:column}
  .tq-spotl[data-n="1"] .tf-card__ph,.tq-spotl[data-n="3"] .tf-card__ph{flex:none;height:auto;aspect-ratio:16/10.4}
  .tp-xgrid[data-n="1"] .tp-xi{flex-basis:100%;max-width:none}
  .tp-xgrid[data-n="1"] .tp-xi > .tp-x{flex-direction:column;align-items:stretch;gap:0}
  .tp-xgrid[data-n="1"] .tp-x__ph{flex:none}
  .tp-xgrid[data-n="1"] .tp-x__h{font-size:16px;font-weight:600}
  .tp-xgrid[data-n="2"] .tp-xi{flex-basis:66%}
  .tp-crumbs{flex-wrap:nowrap;white-space:nowrap;margin-bottom:6px;position:relative;padding-right:40px;min-height:30px;font-size:13.5px}
  .tp-crumb,.tp-cs,.tp-cnow{display:none}
  .tp-crumbp{gap:6px;font-weight:500;min-height:30px;min-width:0}
  .tp-crumbp .tf-in{overflow:hidden;text-overflow:ellipsis}
  .tp-crumbp__i{display:block}
  .tp-csearch{display:grid;place-items:center;position:absolute;right:0;top:0;width:34px;height:30px;color:#0b2a4a}
  .tk-hero .tp-csearch{color:#fff}
  .tk-hero{display:flex;flex-direction:column-reverse;min-height:0}
  .tk-pics{display:block;padding:0;height:240px;position:relative}
  .tk-pics > .tf-contents{display:none}
  .tk-big{height:100%}
  .tk-hero__t{padding:13px 16px 17px}
  .tk-h1{font-size:32px;margin-top:2px}
  .tk-hero .tp-crumbs{margin-bottom:4px}
  .tk-lead{font-size:14px}
  .tk-acts{margin-top:12px}
  .tk-acts .tp-btno{width:100%}
  .tk-acts .tk-btn{flex:1}
  .tk-best{display:flex;flex-direction:column-reverse;gap:12px;padding-top:14px;padding-bottom:22px}
  .tk-map{position:static;width:100%}
  .tk-mapt{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:44px;background:#eef4fa;border-radius:11px;color:#0b2a4a;font-weight:600;font-size:14px}
  .tk-mapin{display:none;margin-top:8px}
  .tk-map.open .tk-mapin{display:block}
  .tk-maps{height:auto;max-height:none;min-height:0;grid-template-rows:none!important}
  .tk-maps .tk-wm{height:210px}
  .tk-bh2{font-size:23px}
  .tk-entry{padding-top:15px;padding-bottom:17px}
  .tk-eh3{font-size:20px}
  .tk-epl{display:flex;overflow-x:auto;height:200px;gap:6px;margin-inline:calc(clamp(16px,2.6vw,40px) * -1);padding-inline:clamp(16px,2.6vw,40px);scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:clamp(16px,2.6vw,40px)}
  .tk-epl::-webkit-scrollbar{display:none}
  .tk-epi{flex:0 0 78%;scroll-snap-align:start}
  .tk-epl:not(:has(> :nth-child(2))) .tk-epi{flex-basis:100%}
  .tk-efoot{flex-direction:column;align-items:stretch;gap:8px}
  .tk-ego{justify-content:space-between;height:44px;padding:0 16px;border:1px solid #cdd8e3;border-radius:10px}
  .tk-tlink{justify-content:center;height:44px}
  .tq-top{padding-top:6px}
  .tq-grid{display:flex;flex-direction:column-reverse;gap:14px}
  .tq-pics{display:flex;height:230px;min-height:0;overflow-x:auto;gap:5px;margin-inline:calc(clamp(16px,2.6vw,40px) * -1);scroll-snap-type:x mandatory;scrollbar-width:none}
  .tq-pics::-webkit-scrollbar{display:none}
  .tq-pics > .tq-big,.tq-pics > .tq-placew,.tq-pics > .tq-map{flex:0 0 86%;border-radius:0;scroll-snap-align:start}
  .tq-h1{font-size:30px}
  .tq-lead{font-size:15px}
  .tq-acts .tp-btno{width:100%}
  .tq-acts .tp-btn{flex:1}
  .tq-guide{grid-template-columns:1fr;gap:18px}
  .tq-door{padding-bottom:24px}
}
/* r4: a section whose list is empty drops out; the written guide at the page's reading size */
[data-tf="spots"]:not(:has(.w-dyn-item)),[data-tf="else"]:not(:has(.w-dyn-item)),[data-tf="moredo"]:not(:has(.w-dyn-item)),[data-tf="also"]:not(:has(.w-dyn-item)),[data-tf="fam"]:not(:has(.w-dyn-item)),[data-tf="tours"]:not(:has(.w-dyn-item)){display:none}
.tq-rt,.tq-rt p,.tq-rt li{font-size:15px;line-height:1.55;color:#34424e}
.tq-rt a{color:#0055a5}
/* r5: a tour rating reads "5.0 (34)" (its three parts sit in one row without the gap) */
.tp-tours .tf-stars{column-gap:0}.tp-tours .tf-stars > svg{margin-right:4px}
/* r6: More in a group from Neptune's group rows; a place with no places to go shows its first picture or the place's photo */
.tp-goes .tq-rt,.tp-goes .tq-rt p{display:inline;margin:0;font-size:13px;line-height:1.35;color:#5a6876}
.tp-goes .tq-rt a{color:#0055a5;position:relative;z-index:2}
.tk-entry:has(.tk-epics .w-dyn-empty) .tk-epf,.tk-entry:not(:has(.tk-epics .w-dyn-item)) .tk-epf{display:block}
.tk-epf img.w-dyn-bind-empty{display:none}
@media (max-width:767px){.tk-epf{height:200px}}
/* r7: the group tiles' "Best in" reads on one line; hearts on kind tiles show on hover, as the mockup's */
.tp-goes .w-richtext:before,.tp-goes .w-richtext:after{content:none;display:none}
.tp-goes .tq-rt > *{display:inline;margin:0}
.tp-goes a{text-decoration:none}
.tp-x .tf-heart{opacity:0;transition:opacity .15s}
.tp-x:hover .tf-heart,.tp-x .tf-heart.on,.tp-x .tf-heart:focus-visible{opacity:1}
@media (hover:none){.tp-x .tf-heart{opacity:1}}
/* r8: a tour with no price drops its price line; the bar marks Kinds of day here, as the mockup's; the words of a "go" link sit at
   their own spacing; a rating's number in bold; on a phone the places somewhere else are a 2-by-2 wall, as the mockup's */
.tp-root .tf-price:has(.w-dyn-bind-empty){display:none}
.tp-root [data-tf="bar-kinds"]{color:#0055a5;border-bottom-color:#0055a5;font-weight:600}
.tp-root .tf-go{column-gap:0}.tp-root .tf-go > .tf-go__i{margin-left:6px}
.tp-tours .tf-stars > .tf-in{font-weight:600;color:#0b2a4a}
@media (max-width:767px){
  .tq-pwall,.tq-pwall[data-n="2"],.tq-pwall[data-n="3"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .tq-pwall[data-n="1"]{grid-template-columns:1fr}
  .tq-pwall .tq-pt,.tq-pwall[data-n="2"] .tq-pt,.tq-pwall[data-n="3"] .tq-pt{aspect-ratio:1/1.1}
  .tq-pwall[data-n="1"] .tq-pt,.tq-pwall[data-n="3"] .tq-pi:first-child .tq-pt{aspect-ratio:16/10}
  .tq-pwall[data-n="3"] .tq-pi:first-child{grid-column:1/-1}
}

/* r9, round B (gen_b.py): a place, a spot, all excursions at a place, a cruise port. As direction B's style.css for vPlace, vSpot,
   vTours and vSailingsTo; breakpoints 1240, 991 and 767 as there. */
.tp-root [data-tf="bar-cur"]{color:#0055a5;border-bottom-color:#0055a5;font-weight:600}
.tp-root .tf-bar__a:hover{color:#0055a5}
[data-tf="alike"]:not(:has(.w-dyn-item)),[data-tf="next"]:not(:has(.w-dyn-item)),[data-tf="else"]:not(:has(.w-dyn-item)),[data-tf="kn-more"]:not(:has(.w-dyn-item)),[data-tf="sail"]:not(:has(.w-dyn-item)){display:none}
.tv-sea:has(.w-dyn-bind-empty),.tv-where:has(.w-dyn-bind-empty),.tv-xfrom:has(.w-dyn-bind-empty),.tp-root .tf-t__from:has(.w-dyn-bind-empty),.tv-ks:has(.w-dyn-bind-empty),.tc-season:has(.w-dyn-bind-empty),.tc-ga:has(.tc-gav.w-dyn-bind-empty),.tc-b:has(.tc-p.w-dyn-bind-empty),.tc-hours:has(.w-dyn-bind-empty),.ts-f:has(.ts-dd.w-dyn-bind-empty),.tv-kb:has(.w-dyn-bind-empty),.ts-sb:has(.w-dyn-bind-empty),.ts-w:has(.w-dyn-bind-empty){display:none}
.tp-root .tq-rt > :first-child{margin-top:0}
.tp-root details > summary{list-style-position:inside}
.tp-root summary.tv-sum{display:list-item}
.tv-sum > *{display:inline}
.tv-det[open] > .tv-sum{margin-bottom:4px}
/* a place */
.tv-nava:hover{color:#0055a5;border-bottom-color:#0055a5}
.tv-gal .tk-ep{border-radius:0}
.tv-gal .tv-gi > .tk-ep,.tv-gal .w-dyn-item.tv-gi{height:100%}
.tv-gal[data-n="3"] .tv-gi:first-child{grid-row:span 2}
.tv-gal[data-n="2"]{grid-template-columns:2.1fr 1fr}
.tv-gal[data-n="1"]{grid-template-columns:2.1fr 1fr}.tv-gal[data-n="1"] .tv-gi{grid-row:span 2}
.tv-gal[data-n="0"]{grid-template-columns:1fr}
.tv-gmain .tp-fill,.tv-gal .tk-ep img{transition:transform .5s}
.tv-gal .tk-ep:hover img{transform:scale(1.04)}
.tv-lead .w-richtext p{margin:0;font-size:16px;line-height:1.55;color:#34424e}
.tv-lead .w-richtext p + p{margin-top:8px}
.tv-door:hover{text-decoration:none}.tv-door:hover .tv-doorb{text-decoration:underline}
.tv-intro .tq-days{margin-top:0}
.tp-root .tv-todo{grid-template-columns:repeat(5,minmax(0,1fr))}
.tp-root .tv-todo[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.tp-root .tv-todo[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.tp-root .tv-todo[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tp-root .tv-todo[data-n="1"]{grid-template-columns:1fr}
.tv-todo .tp-x__b{padding-top:8px}
.tv-go.nomap{grid-template-columns:1fr}
.tv-pin{position:absolute;z-index:2;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%}
.tv-pin:hover{background:rgba(242,106,33,.35);box-shadow:0 0 0 2px #f26a21}
.tv-mapin .tv-map__img{filter:none!important}
.tv-golist .tf-line{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tv-know{scroll-margin-top:190px}
.tv-knmain .w-richtext h3{margin:0 0 5px;color:#0b2a4a;font-size:17px;font-weight:700;line-height:1.2}
.tv-knmain .w-richtext h3 a{color:#0b2a4a;text-decoration:none}
.tv-knmain .w-richtext p{margin:0;font-size:14.5px;line-height:1.55;color:#34424e}
.tv-knmain .w-richtext p + h3,.tv-knmain .w-richtext figure + h3{margin-top:18px}
.tv-knmain .w-richtext figure,.tv-knmain .w-richtext figcaption,.tv-kbt .w-richtext figure,.tv-dett .w-richtext figure{display:none}
.tv-kb + .tv-kb{margin-top:18px}
.tv-kbt .w-richtext p,.tv-kbt .w-richtext li,.tv-dett .w-richtext p{margin:0;font-size:14.5px;line-height:1.55;color:#34424e}
.tv-kbt .w-richtext ul{margin:0;padding-left:18px}.tv-kbt .w-richtext li + li{margin-top:6px}
.tv-dett .w-richtext p + p{margin-top:8px}
.tv-mb:hover{border-color:#0055a5;text-decoration:none}
.tv-ship{scroll-margin-top:190px}
.tv-faqt .w-richtext > details{border-top:1px solid #e1e7ee;padding:10px 0;margin:0}
.tv-faqt .w-richtext > details p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:#34424e}
.tv-faqt .w-richtext h3{margin:0;padding:10px 0;border-top:1px solid #e1e7ee;font-size:14.5px;font-weight:500;color:#0b2a4a}
.tv-faq .tv-det{margin-top:0;padding-bottom:10px}
.tp-root .tf-pwall[data-n="1"]{grid-template-columns:minmax(0,520px)}
.tp-root .tf-pwall[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tp-root .tf-pwall[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.tp-root .tf-pwall[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.tp-root .tf-pwall[data-n="1"] .tf-pi,.tp-root .tf-pwall[data-n="2"] .tf-pi,.tp-root .tf-pwall[data-n="3"] .tf-pi{aspect-ratio:16/10}
/* a spot */
.ts-pic .tp-fill{transition:transform .5s}
.ts-rt .w-richtext p{margin:0 0 10px;font-size:15px;line-height:1.6;color:#34424e}
.ts-rt .w-richtext ul{margin:0;padding-left:18px}.ts-rt .w-richtext li{margin-bottom:5px;font-size:14.5px;line-height:1.5;color:#34424e}
.ts-sb + .ts-sb{margin-top:18px}
.ts-act:hover{text-decoration:none;background:#dfeaf6}
.ts-facts .ts-f:last-child{border-bottom:0}
.ts-map .ts-map__img{filter:none!important}
.ts-noline .tf-line{display:none}
.ts-wa:hover{text-decoration:underline}
/* all excursions at a place */
.tx-open{display:none}
.tx-form{display:grid;row-gap:11px}
.tx-fld{display:block;margin:0}
.tx-fld > span{display:block;font-size:12.5px;font-weight:600;color:#0b2a4a;margin-bottom:3px}
.tx-fld select{width:100%;height:42px;padding:0 10px;border:1px solid #cdd8e3;border-radius:9px;background:#fff;font:inherit;font-size:14px;color:#26343f}
.tx-fld select:focus{outline:2px solid #0055a5;outline-offset:-1px}
.tx-clear{color:#0055a5;font-weight:600;font-size:13.5px;text-decoration:none}
.tx-ttop .tx-fld{display:flex;align-items:center;column-gap:8px}
.tx-ttop .tx-fld > span{margin:0}
.tx-ttop select{width:180px}
.tx-grid .tf-ri{display:flex}.tx-grid .tf-card{width:100%}
/* a cruise port */
.tc-row:hover{border-color:#0055a5;text-decoration:none}
.tc-home .tc-hrows:not(:has(.tc-row)){display:none}
.tc-ga .tc-gat .tf-w{font-weight:600}
@media (max-width:1240px){.tv-todo .tp-xi{min-width:0}}
@media (max-width:991px){
  .tp-root .tv-todo{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tv-map{top:72px}
  .tx-tl{grid-template-columns:200px minmax(0,1fr);column-gap:16px}
  .tx-side{top:72px}
  .tc-row{grid-template-columns:1fr 1fr 170px}
  .tc-rs{grid-column:1/-1;grid-row:2}
}
@media (max-width:767px){
  .tv-top{display:flex;flex-direction:column}
  .tv-top > .tp-crumbs{order:-2;padding-top:8px;margin-bottom:8px}
  .tv-gal{order:-1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;column-gap:5px;height:248px;min-height:0;margin-left:calc(clamp(16px,2.6vw,40px) * -1);margin-right:calc(clamp(16px,2.6vw,40px) * -1);border-radius:0;scrollbar-width:none}
  .tv-gal::-webkit-scrollbar{display:none}
  .tv-gal > .tv-gmain,.tv-gal .tv-gi{flex:0 0 88%;scroll-snap-align:start;grid-row:auto!important}
  .tv-gal[data-n="0"] > .tv-gmain{flex-basis:100%}
  .tv-h{display:block;margin:12px 0 0}
  .tv-h1{font-size:36px}
  .tv-w{font-size:13.5px}
  .tv-sea{margin-left:0;flex-basis:100%}
  .tv-a{margin-top:11px}
  .tv-a .tp-btno{flex:1 1 100%}
  .tv-a .tp-btn{flex:1}
  .tv-nav{top:56px;margin:11px calc(clamp(16px,2.6vw,40px) * -1) 0;padding-left:clamp(16px,2.6vw,40px);padding-right:clamp(16px,2.6vw,40px);column-gap:18px;scrollbar-width:none}
  .tv-nav::-webkit-scrollbar{display:none}
  .tv-intro{display:block;padding-top:13px}
  .tv-lead .w-richtext p{font-size:15px}
  .tv-doors{margin-top:11px;padding-left:12px;row-gap:3px}
  .tv-door{min-height:34px;font-size:13.5px}
  .tv-intro .tq-days{margin-top:10px}
  .tp-root .tv-todo{display:flex}
  .tv-todo .tp-xi[hidden]{display:flex!important}
  .tv-more{display:none!important}
  .tv-go{display:block}
  .tv-map{position:static;margin-bottom:12px}
  .tv-golist{display:flex;overflow-x:auto;column-gap:11px;margin-left:calc(clamp(16px,2.6vw,40px) * -1);margin-right:calc(clamp(16px,2.6vw,40px) * -1);padding:0 clamp(16px,2.6vw,40px) 4px;scroll-snap-type:x proximity;scroll-padding-inline:clamp(16px,2.6vw,40px);scrollbar-width:none}
  .tv-golist::-webkit-scrollbar{display:none}
  .tv-golist .tf-ri{flex:0 0 74%;max-width:310px;scroll-snap-align:start;display:flex!important}
  .tv-kn{display:block}.tv-knside{margin-top:16px}.tv-kn2{display:block}.tv-faq{margin-top:20px}
  .tv-knowh{font-size:22px}
  .tv-knmore{display:flex;overflow-x:auto;column-gap:9px;margin-left:calc(clamp(16px,2.6vw,40px) * -1);margin-right:calc(clamp(16px,2.6vw,40px) * -1);padding-left:clamp(16px,2.6vw,40px);padding-right:clamp(16px,2.6vw,40px);scroll-snap-type:x proximity;scroll-padding-inline:clamp(16px,2.6vw,40px);scrollbar-width:none}
  .tv-knmore::-webkit-scrollbar{display:none}
  .tv-mb{flex:0 0 76%;scroll-snap-align:start}
  .tp-root .tf-pwall{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:6px;row-gap:6px}
  .tp-root .tf-pwall .tf-pi{aspect-ratio:1/1.1}
  .tp-root .tf-pwall[data-n="5"] .tf-pi:first-child,.tp-root .tf-pwall[data-n="3"] .tf-pi:first-child{grid-column:1/-1;aspect-ratio:16/10}
  .tp-root .tf-pwall[data-n="1"]{grid-template-columns:1fr}.tp-root .tf-pwall[data-n="1"] .tf-pi{aspect-ratio:16/10}
  .ts-grid{display:flex;flex-direction:column;row-gap:0;padding-bottom:8px}
  .ts-l,.ts-r{display:contents}
  .ts-pic{order:0;margin-left:calc(clamp(16px,2.6vw,40px) * -1);margin-right:calc(clamp(16px,2.6vw,40px) * -1);border-radius:0;aspect-ratio:16/11}
  .ts-t{order:1;padding-top:13px}
  .ts-side{order:2;margin-top:16px}
  .ts-story{order:3;margin-top:18px}
  .ts-h1{font-size:29px}
  .ts-h2{font-size:20px}
  .ts-rt .w-richtext p{font-size:14.5px}
  .ts-a .tp-btno{flex:1 1 100%}.ts-a .tp-btn{flex:1}
  .ts-pin{width:18px;height:18px;margin:-9px 0 0 -9px;border-width:2px;box-shadow:0 0 0 2px rgba(255,255,255,.85)}
  .ts-ehgo{position:static;display:inline-flex;margin-top:2px}
  .tx-h1{font-size:29px}.tx-p{font-size:14px}
  .tx-tl{display:block}
  .tx-side{position:static;margin-bottom:12px}
  .tx-open{display:flex;width:100%}
  .tx-form{display:none;margin-top:10px;grid-template-columns:1fr 1fr;column-gap:9px;row-gap:9px}
  .tx-side.open .tx-form{display:grid}
  .tx-ttop{justify-content:stretch}
  .tx-ttop .tx-fld{width:100%}
  .tx-ttop select{flex:1;width:auto}
  .tx-grid{grid-template-columns:1fr;row-gap:10px}
  .tx-grid .tf-card{display:grid;grid-template-columns:116px minmax(0,1fr)}
  .tx-grid .tf-card__ph{aspect-ratio:auto;height:100%;min-height:128px}
  .tx-grid .tf-card__ph img{position:absolute;top:0;right:0;bottom:0;left:0}
  .tx-grid .tf-tcard__b{padding:9px 11px 10px}
  .tx-grid .tf-card__h{font-size:14px}
  .tx-grid .tf-heart{width:30px;height:30px;top:6px;left:6px}
  .tx-grid .tf-cam{top:auto;bottom:28px;right:6px;width:22px;height:22px}
  .tx-grid .tf-ttag{font-size:11px;padding:3px 8px}
  .tx-grid .tf-price__b{font-size:16px}
  .tc-h1{font-size:29px}
  .tc-grid{grid-template-columns:1fr;row-gap:18px}
  .tc-a .tp-btno{flex:1 1 100%}.tc-a .tp-btn{flex:1}
  .tc-row{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:6px}
  .tc-rd{grid-row:2;grid-column:1}
  .tc-rs{grid-column:1/-1;grid-row:3}
  .tc-rp{grid-column:2;grid-row:1/span 2;max-width:130px;margin-left:auto;font-size:13px}
}
/* r10 (the E1 look, 2026-11-10): rails keep their start, the excursions' cards as the tour lists', the filter button, the current tab */
.tv-todo,.tv-golist,.tv-knmore,.tv-gal,.tp-tours,.tp-xgrid{overflow-anchor:none}
.tx-grid .tf-stars:has(.w-dyn-bind-empty){display:none}
.tx-grid .tf-stars{column-gap:0}
.tx-grid .tf-stars > svg{margin-right:4px}
.tx-grid .tf-stars > .tf-in{font-weight:600;color:#0b2a4a}
.tx-grid .tf-facts .tp-size::before{content:"";display:inline-block;width:10px}
.tx-open svg{display:block;width:16px;height:16px;fill:currentColor;flex:none}
@media (max-width:991px){
  .tp-root .tf-tabs:has([data-tf="tab-cur"],[data-cur]) .tf-tab:first-child{color:#55636f;font-weight:500}
  .tp-root .tf-tab[data-tf="tab-cur"],.tp-root .tf-tab[data-cur]{color:#0055a5;font-weight:600}
}
@media (max-width:767px){
  .tp-root .tv-top{padding-top:0}
  .tp-root .ts-top,.tp-root .tx-top,.tp-root .tc-top{padding-top:8px}
  .tp-root .ts-pic{align-self:stretch}
  .tp-root .tx-open{display:flex;align-items:center;justify-content:center;column-gap:7px;width:100%;min-height:44px;padding:0 16px;background:#fff;color:#0b2a4a;font-weight:600;font-size:14px;border:1px solid #cdd8e3;border-radius:10px;text-decoration:none}
  .tp-root .tx-open:hover{border-color:#0055a5;color:#0055a5}
  .tx-grid .tf-ri{flex:none;width:100%;max-width:none;min-width:0}
}
/* r11 (B3, 2026-11-10): the phone's If you like as the mockup (the 4-column tablet rule no longer reaches the phone), the questions'
   marker inside the margin, the excursions' facts on one line each, a sailing's day here, the days panel's price */
@media (min-width:768px) and (max-width:991px){
  .tp-root .tf-pwall:not([data-n="1"]):not([data-n="2"]):not([data-n="3"]){grid-template-columns:repeat(4,minmax(0,1fr))}
}
.tc-rs .tc-b1{margin-bottom:2px}
.tc-row{cursor:pointer}
.tf-cr-price{margin:0 0 10px;font-size:14px;line-height:1.45;color:#34424e}
.tf-cr-price b{font-size:18px;font-weight:700;color:#0b2a4a}
@media (max-width:767px){
  .tx-grid .tf-facts{flex-wrap:wrap;row-gap:2px}
  .tx-grid .tf-facts > .tf-in,.tx-grid .tf-facts > .tp-size{white-space:nowrap}
}
/* r12 (round C, 2026-11-10): one tour, as vTour */
.tr-price:has(.w-dyn-bind-empty),.tr-f:has(.w-dyn-bind-empty),.tr-lead.w-dyn-bind-empty{display:none}
.tp-root .tr-pic .tf-cam{z-index:2}
@media (max-width:1240px){
  .tp-root .tr-top{grid-template-columns:minmax(0,1fr) 300px}
  .tp-root .tr-pic{grid-column:1/-1;aspect-ratio:16/7}
}
@media (max-width:991px){ .tp-root .tr-buy{top:72px} }
@media (max-width:767px){
  .tp-root .tr-wrap{padding-top:8px}
  .tp-root .tr-top{display:block}
  .tp-root .tr-pic{margin-left:calc(clamp(16px,2.6vw,40px) * -1);margin-right:calc(clamp(16px,2.6vw,40px) * -1);border-radius:0;aspect-ratio:16/11}
  .tp-root .tr-t{padding-top:13px}
  .tp-root .tr-h1{font-size:25px}
  .tp-root .tr-a .tp-btn{flex:1}
  .tp-root .tr-buy{position:static;margin-top:15px;box-shadow:none;background-color:#f6f9fc}
}
/* r13 (round C, the F2 look): the tour's crumbs show the phone's back link only on a phone; its rating reads "5.0 (6) reviews" */
@media (min-width:768px){ .tp-root .tp-crumbs .tf-contents .tp-crumbp{display:none} }
.tp-root .tr-rate .tf-stars{column-gap:0}
.tp-root .tr-rate .tf-stars > svg{margin-right:4px}
.tp-root .tr-rate .tf-stars > .tf-in{font-weight:600;color:#0b2a4a}
.tp-root .tr-go{column-gap:6px}
