/* Shared theme – components recreated from the live Travia Pro markup/CSS, made responsive with flex/grid.
   Every colour/font comes from tokens (custom properties) so sites only change sites/{site}.php. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:400 var(--fs-body)/var(--lh-body) var(--font-body);color:var(--color-text);background:var(--color-page-bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-heading);text-decoration:none;transition:color .3s}
a:hover{color:var(--color-primary)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-heading);font-weight:700;line-height:1.2;margin:0 0 .6em}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}h5{font-size:var(--fs-h5)}h6{font-size:var(--fs-h6)}
.container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto;position:relative}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{opacity:.8}

/* ---------- icons (inline SVG masks; no icon font needed) ---------- */
.ico{display:inline-block;width:1em;height:1em;vertical-align:-.15em;margin-right:.45em;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.ico-mail{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 4h20v16H2zm2 2v.5l8 5 8-5V6zm16 2.8-8 5-8-5V18h16z'/%3E%3C/svg%3E")}
.ico-phone{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E")}
.ico-clock{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-1 3v6l5 3 1-1.7-4-2.3V7z'/%3E%3C/svg%3E")}
.ico-pin{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E")}
.ico-money{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 6h20v12H2zm2 2v8h16V8zm8 1.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5z'/%3E%3C/svg%3E")}
.ico-check{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 16.2-4.2-4.2L3.4 13.4 9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E")}
.ico-facebook{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8V6c0-.8.2-1.3 1.4-1.3H17V1.2C16.7 1.1 15.6 1 14.4 1 11.8 1 10 2.6 10 5.5V8H7v3.6h3V22h4V11.6h3l.5-3.6z'/%3E%3C/svg%3E")}
.ico-google,.ico-review,.ico-link{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 17.3 6.2 3.7-1.6-7 5.4-4.7-7.2-.6L12 2 9.2 8.7 2 9.3l5.4 4.7-1.6 7z'/%3E%3C/svg%3E")}
.ico-whatsapp{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.4 5 5.1-1.3A10 10 0 1 0 12 2zm5.3 14c-.2.6-1.3 1.2-1.8 1.2s-1 .2-3.4-.7a11.6 11.6 0 0 1-4.6-4.2c-.4-.5-1-1.6-1-2.9 0-1.3.7-2 1-2.3.3-.3.6-.3.8-.3h.6c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .6l-.4.6-.4.4c-.1.2-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.4 2.4 1.5.3.1.5.1.6-.1l.9-1.1c.2-.3.4-.2.7-.1l1.9.9c.3.1.5.2.5.3.1.2.1.8-.1 1.4z'/%3E%3C/svg%3E")}

/* shark GIF: home slider background only (inline style from partials/hero.php), covered by the slides, as live */

/* ---------- header (transparent over hero, live: absolute, z-index 9) ---------- */
.site-header{position:absolute;inset:0 0 auto;z-index:20;color:#fff}
.topbar{background:var(--color-topbar-bg);padding:10px 0;font-size:15px}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.topbar a{color:#fff;margin-right:25px}.topbar a:hover{color:var(--color-primary)}
.topbar .social a{margin:0 0 0 12px}
.header__inner{display:flex;align-items:center;justify-content:space-between}
.logo{padding:var(--header-pad) 0}.logo img{height:var(--logo-height);width:auto}
.sitenav ul{list-style:none;margin:0;padding:0;font:400 var(--fs-nav) var(--font-nav);text-transform:capitalize}
.sitenav>ul{display:flex}
.sitenav li{position:relative}
.sitenav a{display:block;padding:38px 20px;color:var(--nav-color);font-weight:var(--nav-weight);text-decoration:none}
/* Bold without layout shift: an invisible bold copy (data-text) reserves the bold width in every state. */
.sitenav>ul>li>a{display:inline-flex;flex-direction:column;align-items:center}
.sitenav>ul>li>a::after{content:attr(data-text);height:0;overflow:hidden;visibility:hidden;font-weight:var(--nav-weight-active);user-select:none;pointer-events:none;speak:never}
.sitenav a:hover,.sitenav a:focus-visible{color:var(--nav-color-hover);font-weight:var(--nav-weight-active)}
.sitenav li.current>a,.sitenav a[aria-current="page"]{color:var(--nav-color-current);font-weight:var(--nav-weight-active)}
.sitenav a:focus-visible{outline:2px solid #fff;outline-offset:-10px;border-radius:4px}
.sitenav li ul{display:none;position:absolute;min-width:180px;background:var(--color-nav-dropdown-bg)}
.sitenav li:hover>ul,.sitenav li:focus-within>ul{display:block}
.sitenav li ul a{padding:10px 12px}
/* Desktop nav size (24 Oct 2026, Carla: "menu text bigger on desktop"): 15px -> 16px above the 979px breakpoint only;
   mobile keeps --fs-nav (15px). 980-1199px: tighter side padding so the bigger text still fits next to the logo on one line. */
@media (min-width:980px){.sitenav ul{font-size:var(--fs-nav-desktop)}}
@media (min-width:980px) and (max-width:1199px){.sitenav>ul>li>a{padding-left:14px;padding-right:14px}.sitenav>ul>li.has-mega>a{padding-right:4px}}
.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.nav-toggle span:not(.sr-only){display:block;width:26px;height:3px;margin:5px 0;background:#fff}

/* ---------- hero ---------- */
.hero{position:relative;background:#fff center/cover no-repeat;color:#fff}
.hero--slider{height:var(--hero-height);min-height:var(--hero-min);max-height:900px;overflow:hidden}
.hero__slide{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity .5s ease;display:flex;align-items:center}
.hero__slide.is-active{opacity:1;z-index:1}
.hero__slide::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.15))}
.hero__caption{position:relative;text-align:center}
.hero__kicker{font:400 15px var(--font-nav);text-transform:uppercase;letter-spacing:3px;margin:0 0 10px}
.hero__title{font:700 var(--fs-hero)/1.1 var(--font-display);color:#fff;text-transform:uppercase;margin:0 0 30px}
.hero__dots{position:absolute;z-index:2;bottom:30px;left:0;right:0;display:flex;justify-content:center;gap:8px}
.hero__dots button{width:12px;height:12px;border-radius:50%;border:1px solid #fff;background:#fff;opacity:.7;cursor:pointer;padding:0}
.hero__dots button.is-active{background:var(--color-primary);border-color:var(--color-primary);opacity:1}
.hero--inner{height:var(--inner-hero-height);display:flex;align-items:flex-end;justify-content:center;text-align:center;background-color:#123}
.hero--inner::before{content:"";position:absolute;inset:0;background:var(--hero-overlay,rgba(0,0,0,.25))}
.hero__inner{position:relative;padding-bottom:40px}
.hero__page-title{display:inline-block;margin:0;padding:10px 20px;font:400 var(--fs-page-title) var(--font-heading);color:#fff;background:rgba(var(--color-primary-rgb),.4)}
.hero__sub{margin:10px 0 0}
.crumbs{display:block;width:max-content;margin:0 auto;padding:10px 20px;font:400 16px var(--font-nav);color:#fff;background:rgba(var(--color-primary-rgb),.4)}
.crumbs a{color:#fff}.crumbs a:hover{color:var(--color-accent)}

/* ---------- buttons ---------- */
.btn{display:inline-block;font:700 15px var(--font-nav);text-transform:uppercase;transition:all .5s ease;cursor:pointer;border:1px solid transparent}
.btn--primary{background:var(--color-primary);color:#fff;padding:var(--btn-pad)}               /* live a.morebutton */
.btn--primary:hover{background:var(--color-button-hover);color:#fff}
.btn--pill{background:var(--color-primary);color:#fff;padding:var(--btn-pill-pad);border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:400} /* live a.buttonstyle1 */
.btn--pill:hover{background:#1d1d1d;color:#fff}
.btn--outline{color:#fff;border-color:#fff;border-radius:29px;padding:var(--btn-pill-pad)}       /* live .button (slider) */
.btn--outline:hover{color:var(--color-primary);border-color:var(--color-primary)}
.btn-image img{width:100%;max-width:270px;height:auto}

/* ---------- sections ---------- */
.section{padding:var(--space-section) 0}
.content-area .section{padding:var(--space-content) 0}
.section-kicker{font:700 var(--fs-kicker) var(--font-heading);color:var(--color-primary);text-align:center;text-transform:uppercase;letter-spacing:2px;margin:0 0 10px}
.section-title{text-align:center}
.section-title--underlined{position:relative;padding-bottom:25px;margin-bottom:25px}
.section-title--underlined::after{content:"";position:absolute;left:50%;bottom:0;width:100px;transform:translateX(-50%);border-bottom:5px solid var(--color-primary)}
.prose{max-width:100%}.prose .section-title{text-align:left}
.prose p{margin:0 0 1em}.prose ul,.prose ol{padding-left:1.3em}
.prose img{margin:1em 0}

/* ---------- tour cards (live .tours-list) ---------- */
.section--tours>.container{--container:var(--container-cards)}
.tour-grid{display:grid;gap:var(--card-gap);margin-top:var(--space-6);align-items:stretch;
  grid-template-columns:repeat(auto-fill,minmax(max(min(100%,var(--card-min)),calc((100% - (var(--card-cols-max) - 1) * var(--card-gap)) / var(--card-cols-max))),1fr))}
.tour-card{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--card-radius);overflow:hidden;isolation:isolate;box-shadow:var(--card-shadow);transition:box-shadow var(--transition),transform var(--transition)}
.tour-card:hover,.tour-card:focus-within{box-shadow:var(--card-shadow-hover);transform:translateY(var(--card-lift))}
.tour-card__media{position:relative;overflow:hidden;aspect-ratio:var(--card-media-ratio);background:#eef4f8;border-radius:var(--card-radius) var(--card-radius) 0 0}
.tour-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}
.tour-card__bar{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:16px 20px;background:var(--color-primary);transform:translateY(100%);opacity:0;transition:transform .4s,opacity .1s .3s}
.tour-card:hover .tour-card__media img,.tour-card:focus-within .tour-card__media img{transform:scale(1.04)}
.tour-card:hover .tour-card__bar,.tour-card:focus-within .tour-card__bar{transform:none;opacity:1;transition:transform .4s,opacity .1s}
@media (hover:none){.tour-card__bar{transform:none;opacity:1}.tour-card .tour-card__media img{transform:none}.tour-card:hover{transform:none}}
@media (prefers-reduced-motion:reduce){.tour-card,.tour-card__media img{transition:none}.tour-card:hover,.tour-card:focus-within{transform:none}}
.tour-card__btn{color:#fff;font:700 15px var(--font-body);text-transform:uppercase;border:1px solid #fff;border-radius:999px;padding:6px 14px}
.tour-card__btn:hover,.tour-card__btn:focus-visible{color:var(--color-accent);border-color:var(--color-accent)}
.tour-card__body{display:flex;flex-direction:column;flex:1;padding:var(--card-pad)}
.tour-card__title{font-size:var(--fs-h4);line-height:1.25;text-transform:uppercase;margin:0 0 12px}
.tour-card__title a{color:var(--color-heading)}.tour-card__title a:hover{color:var(--color-primary)}
.tour-card__meta{display:flex;justify-content:space-between;align-items:baseline;gap:6px 14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #eef0f2}
.tour-card__duration{font:400 15px/1 var(--font-body);color:var(--color-muted);text-transform:uppercase;white-space:nowrap}
.tour-card__duration .ico{color:var(--color-accent)}
.tour-card__price{font:400 15px/1 var(--font-body);color:var(--color-muted);white-space:nowrap}
.tour-card__price strong{font:700 var(--fs-price)/1 var(--font-heading);color:var(--color-heading);font-variant-numeric:tabular-nums}
.tour-card__price small{font-size:14px}
.tour-card__stars{display:flex;gap:2px;margin:12px 0 0;color:var(--color-accent);font-size:15px}
.tour-card__stars .ico{margin:0}.tour-card__stars .is-off{opacity:.25}
.tour-card__summary{margin:10px 0 0;font-size:15px;line-height:1.55;flex:1}
.ico-star{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.94 6.1 6.56.9-4.8 4.6 1.2 6.6L12 17.6l-5.9 3.1 1.2-6.6-4.8-4.6 6.56-.9z'/%3E%3C/svg%3E")}
@media (max-width:600px){.tour-grid{grid-template-columns:1fr;gap:24px}}

/* ---------- single tour ---------- */
.tour-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px}
.core-details{list-style:none;margin:0 0 20px;padding:20px 0;border-bottom:1px solid #c1c1c1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px 20px;font:400 17px var(--font-heading);color:#4e4e4e;letter-spacing:1px}
.core-details .ico{color:var(--color-primary);font-size:22px}
.tabs__list{display:flex;flex-wrap:wrap;gap:4px}
.tabs__list button{font:inherit;color:var(--color-heading);background:var(--color-tab-bg);border:1px solid transparent;border-bottom:4px solid var(--color-tab-border);padding:12px 18px;cursor:pointer}
.tabs__list button[aria-selected=true]{background:#fff;border-color:var(--color-primary);border-bottom-width:4px}
.tabs__pane .section{padding:25px 0}.tabs__pane .container{width:100%}
.book-box{position:sticky;top:20px;padding:20px;border:1px solid var(--color-border);text-align:center}
.book-box__price{font:700 var(--fs-price) var(--font-heading);color:var(--color-heading)}
.book-box .btn-image{display:block;margin:0 auto 10px}
.book-box__help{font-size:14px}

/* ---------- gallery (live .galitem / fancybox) ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.gallery__item{position:relative;overflow:hidden;display:block;aspect-ratio:4/3}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 32px var(--font-nav);color:#fff;background:rgba(var(--color-primary-rgb),.8);opacity:0;transition:opacity .4s}
.gallery__item:hover img{transform:scale(1.08)}.gallery__item:hover .gallery__overlay{opacity:1}
.lightbox{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.lightbox img{max-width:92vw;max-height:90vh}

/* ---------- FAQ / CTA ---------- */
.faq{border-bottom:1px solid var(--color-border);padding:12px 0}
.faq summary{cursor:pointer;font:700 18px var(--font-heading);color:var(--color-heading)}
.faq[open] summary{color:var(--color-primary)}
.faq__a{padding-top:10px}
.section--cta{text-align:center;background:#f6f9fb}

/* ---------- footer (3 balanced columns; per Carla 23 Oct 2026) ---------- */
.site-footer{position:relative;background:var(--color-footer-bg);color:var(--color-footer-text);font:400 15px/1.6 var(--font-nav)}
.footer__cols{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px 6%;padding:56px 0 40px}
.footer__h{font:400 var(--fs-footer-h)/1.2 var(--font-heading);color:#fff;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid rgba(var(--color-primary-rgb),.8);display:inline-block}
.footer__list{list-style:none;margin:0;padding:0}
.footer__list li{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px}
.footer__list .ico{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;color:var(--color-primary)}
.site-footer a{color:#d6d6d6;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--color-primary)}
.footer__links li{margin:0 0 4px}
.footer__links a{display:inline-flex;align-items:center;gap:10px;padding:4px 0;font-weight:300}
.footer__links a::before{content:"";width:6px;height:6px;border-top:2px solid var(--color-primary);border-right:2px solid var(--color-primary);transform:rotate(45deg)}
.footer__tagline{margin:0 0 18px}
.footer__social{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0}
.footer__social a{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #333;border-radius:50%;color:#fff}
.footer__social a:hover,.footer__social a:focus-visible{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.footer__social .ico{margin:0;width:18px;height:18px}
.copyright{background:var(--color-copyright-bg)}
.copyright__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 30px;padding:22px 0;font-weight:500;font-size:14px}
.copyright a{color:var(--color-primary)}
.to-top{position:fixed;right:20px;bottom:20px;z-index:50;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary);color:#fff!important;font-size:22px;box-shadow:0 4px 14px rgba(0,0,0,.25);opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}
.to-top.is-visible{opacity:1;transform:none}.to-top:hover{background:var(--color-button-hover)}
@media (max-width:979px){.footer__cols{grid-template-columns:1fr 1fr}.footer__cols>:first-child{grid-column:1/-1}}
@media (max-width:600px){.footer__cols{grid-template-columns:1fr;gap:32px;padding:40px 0 28px}.copyright__inner{flex-direction:column;align-items:flex-start;gap:6px}}
.ico-mobile{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 1h10a2 2 0 0 1 2 2v18a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2zm0 3v14h10V4zm5 15.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z'/%3E%3C/svg%3E")}

/* ---------- testimonials band (bg = sites/{key}.php sections.testimonials.bg) ---------- */
.testimonials{position:relative;color:#fff;background:#0b2233 var(--testimonials-bg,none) center/cover no-repeat}
.testimonials::before{content:"";position:absolute;inset:0;background:var(--testimonials-overlay,rgba(0,0,0,.6))}
.testimonials>.container{position:relative}
.testimonials__kicker{color:var(--color-primary)}.testimonials__title{color:#fff}
.testimonials__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px;margin-top:30px}
.testimonial{margin:0;padding:26px 22px;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(2px)}
.testimonial__avatar{display:block;width:90px;height:90px;margin:0 auto 16px;border-radius:50%;object-fit:cover;border:3px solid #fff;background:#cfd8de}
.testimonial__avatar--initial{display:flex;align-items:center;justify-content:center;font:700 34px var(--font-heading);color:#fff;background:var(--color-primary)}
.testimonial__quote{margin:0 0 12px;font-style:italic}.testimonial__quote p{margin:0}
.testimonial__name{font:700 17px var(--font-heading);text-transform:uppercase;letter-spacing:1px}.testimonial__name a{color:#fff}

/* ---------- blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-card-gap)}
.post-card{display:flex;flex-direction:column;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.post-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#eef4f8}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.post-card:hover .post-card__media img{transform:scale(1.04)}
.post-card__body{display:flex;flex-direction:column;gap:10px;padding:20px;flex:1}
.post-card__title{margin:0;font-size:var(--fs-h4)}.post-card__title a{color:var(--color-heading)}
.post-card__excerpt{margin:0;flex:1}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;color:var(--color-muted);font-size:14px}
.btn--sm{padding:8px 16px;font-size:14px;align-self:flex-start}
.btn--outline-dark{border:1px solid var(--color-heading);color:var(--color-heading);background:#fff}.btn--outline-dark:hover{background:var(--color-heading);color:#fff}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}
.pagination a,.pagination span{min-width:40px;padding:8px 12px;text-align:center;border:1px solid var(--color-border)}
.pagination span{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.post{max-width:860px}.post__featured{margin:20px 0}.post__featured img{width:100%;height:auto}
.post__tags a{display:inline-block;margin:4px 6px 4px 0;padding:3px 10px;border:1px solid var(--color-border);font-size:14px}
.wp-caption{margin:1em 0}.wp-caption figcaption{font-size:14px;color:var(--color-muted)}
.center{text-align:center}

/* ---------- click-to-load map ---------- */
.map-ctl{position:relative;margin:20px 0;min-height:320px;background:#cfe6f3}
.map-ctl__preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#cfe6f3 center/cover no-repeat}
.map-ctl__card{display:flex;gap:14px;max-width:440px;padding:20px 22px;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.15)}
.map-ctl__card address{font-style:normal;margin:4px 0 0}
.map-ctl__pin{flex:0 0 28px;width:28px;height:28px;color:#d93025;margin:2px 0 0}
.map-ctl__actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.map-ctl iframe{display:block;width:100%;height:420px;border:0}
.map-ctl.is-loaded{min-height:0}

/* ---------- responsive (live breakpoints: 1169 / 979 / 767 / 479) ---------- */
@media (max-width:979px){
  :root{--fs-hero:44px;--fs-h1:34px;--fs-h2:28px;--inner-hero-height:320px}
  .nav-toggle{display:block}
  .sitenav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(0,0,0,.92)}
  .sitenav.is-open{display:block}
  .sitenav>ul{flex-direction:column}
  .sitenav a{padding:12px 20px}
  .sitenav li ul{position:static;display:block;background:none;padding-left:15px}
  .tour-layout{grid-template-columns:1fr}
}
@media (max-width:767px){
  :root{--fs-hero:32px;--hero-min:420px;--space-section:45px;--inner-hero-height:260px}
  .topbar{font-size:13px}.topbar .social{display:none}
}
@media (max-width:479px){
  :root{--fs-hero:26px;--logo-height:38px}
}

.skip-link{position:absolute;left:-9999px;top:0;z-index:10001;background:var(--color-primary);color:#fff;padding:8px 14px}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
/* Contact block (replaces old WP contact widgets inside imported content) */
.contact-info{margin:1em auto;max-width:640px;text-align:left}
.contact-info__about{margin:0 0 .8em}
.contact-info__list{list-style:none;padding:0!important;margin:0;display:grid;gap:.55em}
.contact-info__list li{display:flex;gap:.8em;align-items:baseline;flex-wrap:wrap}
.contact-info__label{min-width:7.5em;font-weight:700;color:#0b2c3d}
.contact-info__list li>:not(.contact-info__label){flex:1 1 16em}
/* Text intro followed by a tour grid (/tour/, /shark-tours/, /whale-watching-tours/ …): one comfortable gap, not two section paddings (Carla 24 Oct 2026) */
.prose>:last-child,.prose>.entry-content>:last-child{margin-bottom:0}
.prose .clear:empty{display:block;height:0;margin:0}
.content-area .section--text+.section--tours{padding-top:0}
.content-area .section--text:has(+.section--tours){padding-bottom:40px}
@media (max-width:600px){.content-area .section--text:has(+.section--tours){padding-bottom:24px}}
.content-area .section--text+.section--tours .tour-grid:first-child{margin-top:0}
.prose p:has(+.clear:last-child),.prose p:has(+.clear+.clear:last-child){margin-bottom:0}
/* Legacy WP column shortcodes (one_half/one_third/one_fourth...) and the home "Our Services" boxes:
   on live these sit side by side as cards; without this they stacked as plain text. (sweep, 24 Oct 2026) */
.prose :has(>.one_half,>.one_third,>.one_fourth,>.two_third,>.three_fourth){display:flex;flex-wrap:wrap;gap:30px}
.prose :has(>.one_half,>.one_third,>.one_fourth,>.two_third,>.three_fourth)>:not(.one_half,.one_third,.one_fourth,.two_third,.three_fourth){flex:0 0 100%;margin-bottom:0}
.prose :has(>.one_fourth)>p:empty,.prose :has(>.one_fourth)>.clear:empty{display:none}
.prose .one_half{flex:1 1 calc(50% - 15px);min-width:260px}
.prose .one_third{flex:1 1 calc(33.333% - 20px);min-width:240px}
.prose .one_fourth{flex:1 1 calc(25% - 23px);min-width:220px}
.prose .two_third{flex:2 1 calc(66.666% - 10px);min-width:260px}
.prose .three_fourth{flex:3 1 calc(75% - 8px);min-width:260px}
.prose .section_title_small{margin:0;text-align:center;color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.prose .section_title_small+.section_title{margin-top:6px;text-align:center}
.prose .services-box{height:100%;padding:28px 22px;text-align:center;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.08);border-radius:4px}
.prose .ser-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--color-primary);position:relative}
.prose .ser-icon i{position:absolute;inset:14px;background:#fff;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.prose .fa-heart-o{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C.9 8.4 3 4.5 6.7 4.5c2.1 0 3.6 1.2 5.3 3.2 1.7-2 3.2-3.2 5.3-3.2 3.7 0 5.8 3.9 4.3 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E")}
.prose .fa-anchor{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='5' r='2.5'/%3E%3Cpath d='M12 7.5V21M7 11h10M4 14c0 4 4 7 8 7s8-3 8-7'/%3E%3C/svg%3E")}
.prose .fa-suitcase{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V4h6v3'/%3E%3C/svg%3E")}
.prose .fa-life-ring{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M5.6 5.6l3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6'/%3E%3C/svg%3E")}
.prose .ser-desc h5{margin:0 0 10px;text-transform:uppercase;letter-spacing:.05em}
.prose .ser-desc p{font-size:14px;margin:0 0 16px}
.prose .ser-desc a{display:inline-block;padding:7px 16px;font-size:12px;text-transform:uppercase;color:#fff;background:var(--color-primary);text-decoration:none;border-radius:2px}
.testimonial__avatar{object-position:50% 18%}
/* Legacy portfolio grid (/gallery/ "photobooth"): on live a 4-column thumbnail grid with the caption on hover;
   without this every photo stacked full width. Images are the original files, only displayed smaller. (sweep, 24 Oct 2026) */
.prose #mixitup{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}
.prose #mixitup .holderwrap a{position:relative;display:block;overflow:hidden;aspect-ratio:4/3}
.prose #mixitup img{width:100%;height:100%;object-fit:cover;display:block;margin:0;transition:transform .3s}
.prose #mixitup .overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .3s}
.prose #mixitup span{position:absolute;inset:auto 0 0;padding:10px;opacity:0;transition:opacity .3s}
.prose #mixitup h3{margin:0;font-size:14px;color:#fff;text-transform:uppercase}
.prose #mixitup a:hover .overlay,.prose #mixitup a:hover span,.prose #mixitup a:focus-visible span{opacity:1}
.prose #mixitup a:hover img{transform:scale(1.05)}
@media (max-width:900px){.prose #mixitup{grid-template-columns:repeat(2,1fr);gap:10px}}
/* /gallery/ second grid: 4 across (2 on mobile) so 16 photos make tidy rows; no double padding after the intro text (24 Oct 2026) */
.gallery{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}}
.content-area .section--text+.section--gallery{padding-top:0}
.prose .markdown>:last-child{margin-bottom:0}
