/* Southtax v1.1 corrective visual layer. Central brand tokens are defined in Content Core.
   Intentionally late-enqueued; avoids scattered Elementor global pink overrides. */
:root{--st-navy:var(--st-site-primary,#202530);--st-gold:var(--st-site-accent,#FFC000);--st-white:#fff;--st-ink:var(--st-site-primary,#202530);--st-hover:var(--st-site-hover,#FFC000);--st-dark-on-gold:#202530;--st-ease:cubic-bezier(.22,.61,.36,1)}
body{background:var(--st-surface,#fff);color:var(--st-ink,#202530);overflow-x:clip}
.st-shell{width:min(calc(100% - clamp(32px,5vw,72px)),var(--st-container,1240px));margin-inline:auto}
.st-topbar{background:var(--st-navy,#202530);color:#fff}
.st-topbar :is(span,a),.st-topbar .st-topbar__contact a{color:#fff}
.st-topbar a:hover,.st-topbar a:focus-visible{color:var(--st-gold,#ffc000)}
.st-feature__heading h2,.st-section-head h2,.st-new-card h3,.st-feature h3,.st-page-banner h1{color:var(--st-navy,#202530)}
.st-section-head{max-width:720px}
.st-section-head h2{line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}
.st-section-lead{line-height:1.7}
.st-section,.st-feature{padding-block:clamp(48px,5vw,var(--st-section-space,80px))}
.st-section-kicker,.st-feature__kicker{color:#8a6400;letter-spacing:.12em}
.st-button,.st-button--gold,.st-header__cta,.st-mobile-nav__cta,.st-enquiry-submit,.st-promo .st-button,
.st-home-main .st-hero__actions .st-button,.st-floating-dock .st-dock-book,
.elementor a.elementor-button,.elementor button.elementor-button,
.elementor .elementor-button-wrapper .elementor-button{
 background:var(--st-gold,#FFC000);color:var(--st-dark-on-gold,#202530);border:1px solid var(--st-gold,#FFC000);
 border-radius:12px;box-shadow:0 5px 16px rgba(19,28,43,.10);text-decoration:none;
 transition:transform .22s var(--st-ease),box-shadow .22s var(--st-ease),filter .22s var(--st-ease),color .22s var(--st-ease),border-color .22s var(--st-ease)
}
.st-button:hover,.st-button--gold:hover,.st-header__cta:hover,.st-enquiry-submit:hover,.st-promo .st-button:hover,
.st-home-main .st-hero__actions .st-button:hover,.elementor a.elementor-button:hover,
.elementor .elementor-button-wrapper .elementor-button:hover{
 background:var(--st-gold,#FFC000);color:var(--st-dark-on-gold,#202530);border-color:var(--st-gold,#FFC000);
 transform:translateY(-2px);box-shadow:0 11px 26px rgba(17,29,45,.22);filter:brightness(1.01)
}
.st-button:focus-visible,.st-enquiry-submit:focus-visible,.st-feature__link:focus-visible,
.st-floating-dock a:focus-visible,.st-backtop:focus-visible,.elementor a.elementor-button:focus-visible{outline:3px solid var(--st-gold,#FFC000);outline-offset:4px}
.st-button:active,.st-enquiry-submit:active{transform:translateY(0);box-shadow:none}
.st-button:disabled,.st-enquiry-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.st-booknow-pulse{animation:st-booking-pulse var(--st-pulse-duration,3000ms) ease-out infinite}
@keyframes st-booking-pulse{0%,56%,100%{box-shadow:0 5px 16px rgba(19,28,43,.1),0 0 0 0 rgba(255,192,0,.31)}73%{box-shadow:0 6px 16px rgba(19,28,43,.12),0 0 0 11px rgba(255,192,0,0)}}
/* Global button pulse is disabled in the settings through the generated inline style below. */
.st-header .st-header__cta{background:var(--st-gold,#FFC000);color:var(--st-dark-on-gold,#202530)}
.st-footer{background:var(--st-footer-bg,#202530);color:var(--st-footer-text,#fff);padding-top:clamp(86px,9vw,126px)}
.st-footer :is(p,a,li,.st-footer__bottom,.st-footer__bottom span){color:var(--st-footer-text,#fff)}
.st-footer a:hover,.st-footer a:focus-visible{color:var(--st-gold,#FFC000)}
.st-footer__grid{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)) minmax(0,1.15fr);gap:clamp(20px,3.3vw,56px)}
.st-footer__company p{max-width:300px;line-height:1.8}
.st-footer__brand img{width:min(205px,100%);height:auto;background:#fff;padding:7px;border-radius:10px}
.st-footer__grid h2{color:#fff;margin-bottom:19px;font-size:1.03rem}
.st-footer__contact p{overflow-wrap:anywhere;margin-bottom:15px}
.st-footer__legal{display:flex;gap:16px 30px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.17);margin-top:46px;padding-top:22px;font-size:.84rem}
.st-footer__bottom{border-color:rgba(255,255,255,.18);margin-top:28px;gap:18px}
/* pre-footer accessible overlapping booking cards */
.st-before-footer{position:relative;z-index:2;transform:translateY(50%);margin-top:-32px;pointer-events:none}
.st-before-footer__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,22px);pointer-events:auto}
.st-before-footer__card{display:flex;align-items:center;gap:12px;min-height:116px;background:#fff;color:var(--st-navy,#202530);border:1px solid #e5e9ee;padding:clamp(14px,2vw,23px);border-radius:18px;box-shadow:0 18px 45px rgba(15,22,35,.13);text-decoration:none;min-width:0;transition:transform .22s,box-shadow .22s}
.st-before-footer__card:hover{color:var(--st-navy,#202530);transform:translateY(-4px);box-shadow:0 24px 48px rgba(15,22,35,.18)}
.st-before-footer__card span:nth-child(2){display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.st-before-footer__card strong{font-size:.99rem;line-height:1.3}
.st-before-footer__card small{font-size:.78rem;color:#505b68;line-height:1.5}
.st-before-footer__card>span:last-child{margin-left:auto}
.st-before-footer__icon{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:12px;background:var(--st-gold,#ffc000);color:#202530;font-size:1.35rem}
/* original About content restored from verified live text with added real services */
.st-about-extra{font-size:.97rem;line-height:1.75;color:#3f4b5b;margin:17px 0}
.st-about-benefits{padding-left:20px;margin:0 0 24px;display:grid;gap:7px;color:#26313e;line-height:1.5}
.st-about-benefits li::marker{color:#ba8c00}
/* Promotion: enforce readable golden CTA in all interactive states */
.st-promo{background:var(--st-navy,#202530);color:#fff}
.st-promo__layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(210px,.45fr);align-items:center;gap:clamp(25px,5vw,76px)}
.st-promo .st-section-head{max-width:820px}
.st-promo .st-section-head h2{font-size:clamp(1.75rem,3.3vw,3.5rem);line-height:1.17;letter-spacing:-.03em;color:#fff;overflow-wrap:anywhere}
.st-promo .st-section-lead{color:#fff;line-height:1.8}
.st-promo .st-section-kicker{color:var(--st-gold,#ffc000)}
.st-promo .st-button{justify-self:center;align-self:center;text-align:center;white-space:normal;padding:17px 26px;min-height:54px;font-weight:800;width:min(100%,265px)}
/* Current theme About and testimonials: consistent proportions */
.st-about-media img{max-width:100%;height:auto;object-fit:cover}
.st-new-card,.st-fleet-card,.st-service-card{transition:transform .25s var(--st-ease),box-shadow .25s var(--st-ease);height:100%}
.st-new-card:hover,.st-fleet-card:hover,.st-service-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(32,37,48,.12)}
/* Slider: native horizontal scroll snap, no third-party carousel dependencies */
.st-gallery-note{margin:0 auto 22px;text-align:center;color:#5b6472;font-size:.85rem;max-width:690px}
.st-slider{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:clamp(7px,1vw,14px);align-items:center}
.st-slider-track{display:grid;grid-auto-columns:calc((100% - 42px)/var(--st-slides,4));grid-auto-flow:column;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;-ms-overflow-style:none;padding:8px 0;scroll-behavior:smooth}
.st-slider-track::-webkit-scrollbar{display:none;width:0;height:0}
.st-slider-track figure{min-width:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;margin:0;padding:16px 10px;background:#fff;border:1px solid #e1e7ee;border-radius:14px;scroll-snap-align:start;min-height:158px}
.st-slider-track figure img{display:block;width:100%;height:94px;object-fit:contain;filter:none;border-radius:0}
.st-slider-track figure figcaption{font-size:.78rem;line-height:1.45;color:#444d5a;text-align:center;margin-top:9px}
.st-slider>button{display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;height:42px;width:42px;border-radius:50%;background:var(--st-navy,#202530);border:0;color:#fff;font-size:0;line-height:0;cursor:pointer;transition:background .2s,color .2s}
.st-slider>button::before{content:"";display:block;width:10px;height:10px;flex:none;border:solid currentColor;border-width:2px 2px 0 0;transform:rotate(45deg);margin-right:4px}
.st-slider>button.st-slider-prev::before{transform:rotate(225deg);margin-right:0;margin-left:4px}
.st-slider>button:hover{background:var(--st-gold,#ffc000);color:var(--st-navy,#202530)}
.st-slider>button:focus-visible{outline:3px solid var(--st-gold,#ffc000);outline-offset:3px}
/* Desktop quick-contact dock sits vertically at the left; tablet/phone use a bottom row. */
.st-floating-dock{position:fixed;top:50%;bottom:auto;left:clamp(8px,1.2vw,20px);right:auto;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;gap:10px;padding:8px;background:rgba(255,255,255,.98);border:1px solid #e5e9ee;border-radius:28px;box-shadow:0 10px 40px rgba(11,19,28,.23)}
.st-dock-item{display:grid;place-items:center;width:47px;height:47px;flex:none;border-radius:50%;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.11);transition:transform .2s,filter .2s}
.st-dock-item svg{width:22px;height:22px;display:block;fill:currentColor}
.st-dock-item:hover{color:#fff;transform:translateY(-3px);filter:brightness(1.08)}
.st-dock-phone{background:#0875d9}.st-dock-whatsapp{background:#17a85c}.st-dock-email{background:#df3541}
.st-floating-dock .st-dock-book{background:var(--st-gold,#ffc000);color:var(--st-navy,#202530)}
.st-floating-dock .st-dock-book:hover{color:var(--st-navy,#202530)}
.st-backtop{position:fixed;z-index:899;bottom:24px;right:22px;display:flex;align-items:center;justify-content:center;padding:0;line-height:0;box-sizing:border-box;width:44px;height:44px;color:#fff;background:var(--st-navy,#202530);border:1px solid rgba(255,255,255,.25);border-radius:50%;box-shadow:0 6px 20px rgba(8,18,32,.18);cursor:pointer;transition:background .2s,transform .2s,color .2s}
.st-backtop[hidden]{display:none}
.st-backtop--left{right:auto;left:22px}
.st-backtop svg{display:block;flex:none;margin:0;width:22px;height:22px;fill:currentColor}
.st-backtop:hover{background:var(--st-gold,#ffc000);color:var(--st-navy,#202530);transform:translateY(-3px)}
/* Scrolling reveal: normal content visible by default. The JS adds this only after observer setup. */
.st-reveal-ready{opacity:0;transform:translate3d(0,20px,0);transition:opacity var(--st-duration,260ms) var(--st-ease),transform var(--st-duration,260ms) var(--st-ease);transition-delay:var(--st-delay,0ms)}
.st-reveal-ready[data-st-effect='fade-in']{transform:none}
.st-reveal-ready[data-st-effect='scale']{transform:scale(.972)}
.st-reveal-ready.st-reveal-visible{opacity:1;transform:none}
/* Form: outer text + two-column inner grid desktop / single-column phone */
.st-enquiry-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(20px,3.5vw,60px)}
.st-enquiry-intro{align-self:center}
.st-enquiry-intro__detail{margin-top:18px;max-width:36ch;line-height:1.75;color:#3f4b59}
.st-enquiry-form{gap:13px;padding:clamp(19px,2vw,30px);min-width:0}
.st-enquiry-form .st-enquiry-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;align-items:end}
.st-enquiry-form .st-field{min-width:0;gap:5px}
.st-enquiry-form .st-field label,.st-enquiry-form .st-return-choice legend{font-size:.84rem;line-height:1.35;color:#202530}
.st-enquiry-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){border:1px solid #cfd6df;border-radius:8px;min-height:44px;padding:10px 12px;background:#fff;color:#202530;font-size:.92rem;line-height:1.35}
.st-enquiry-form :is(input,select,textarea):focus{border-color:#b88d00;box-shadow:0 0 0 3px rgba(255,192,0,.16);outline:0}
.st-enquiry-form :is(input,select,textarea):focus-visible{outline:2px solid #9c7400;outline-offset:1px}
.st-enquiry-form .st-return-choice{align-self:stretch;min-width:0;padding:5px 0;border-bottom:0;margin:0;display:flex;gap:9px;justify-content:center}
.st-enquiry-form .st-return-choice legend{margin:0;padding-bottom:7px}
.st-enquiry-form .st-return-choice label{font-size:.82rem;gap:5px;white-space:nowrap}
.st-enquiry-form .st-return-choice input{accent-color:#202530}
.st-enquiry-form .st-return-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#f5f7fa;padding:12px;border-radius:10px}
.st-enquiry-form .st-return-fields[hidden]{display:none}
.st-enquiry-form .st-enquiry-submit{align-self:start;min-width:190px}
.st-enquiry-form .st-enquiry-help{font-size:.75rem;line-height:1.55}
.st-enquiry-form .st-enquiry-error{font-size:.87rem}
/* Label icons (SVG-free, decorative only) positioned at label edge, not inside inputs. */
@media(max-width:1120px){.st-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.st-promo__layout{grid-template-columns:minmax(0,1fr)}.st-promo .st-section-head{text-align:center;margin-inline:auto}.st-slider-track{grid-auto-columns:calc((100% - 14px)/2)}}
/* At tablet widths, convert the dock to a compact bottom row and lift Back to Top above it. */
@media(max-width:1024px){.st-floating-dock{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);flex-direction:row;border-radius:50px;max-width:calc(100vw - 24px)}.st-backtop{bottom:max(94px,calc(94px + env(safe-area-inset-bottom)))}}
@media(max-width:900px){.st-enquiry-layout{grid-template-columns:minmax(0,1fr);gap:22px}.st-enquiry-intro{text-align:center;max-width:660px;margin:auto}.st-enquiry-intro__detail{max-width:none}.st-enquiry-form{width:min(100%,740px);margin-inline:auto}.st-before-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.st-before-footer__card{padding:14px;gap:8px}.st-before-footer__icon{width:38px;height:38px}}
@media(max-width:680px){.st-shell,.st-section .st-shell{width:min(calc(100% - 32px),var(--st-container,1240px))}.st-topbar{display:none}.st-promo{padding-block:56px}.st-promo .st-section-head h2{font-size:clamp(1.75rem,7vw,2.25rem)}.st-promo .st-button{width:min(100%,340px)}.st-enquiry-form .st-enquiry-field-grid{grid-template-columns:1fr;gap:12px}.st-enquiry-form .st-return-fields{grid-template-columns:1fr}.st-enquiry-form .st-return-choice{flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:10px 16px}.st-before-footer{transform:translateY(35%);margin-top:-12px}.st-before-footer__grid{grid-template-columns:1fr;max-width:420px;margin-inline:auto}.st-before-footer__card{min-height:80px}.st-footer{padding-top:clamp(180px,31vw,235px)}.st-footer__grid{grid-template-columns:1fr;gap:26px}.st-footer__grid h2{margin-bottom:11px}.st-footer__bottom{flex-direction:column}.st-slider-track{grid-auto-columns:calc((100% - 0px)/1);gap:10px}.st-slider{grid-template-columns:36px minmax(0,1fr) 36px;gap:5px}.st-slider>button{width:36px;height:36px}.st-slider-track figure img{height:110px}.st-floating-dock{bottom:max(9px,env(safe-area-inset-bottom));gap:7px;padding:7px;border-radius:40px}.st-dock-item{height:42px;width:42px}.st-backtop{bottom:max(79px,calc(79px + env(safe-area-inset-bottom)));right:12px;height:41px;width:41px}.st-backtop--left{right:auto;left:12px}.st-floating-dock[data-hide-mobile='1']{display:none}.st-enquiry-form .st-enquiry-submit{width:100%}}
@media(max-width:380px){.st-dock-item{height:38px;width:38px}.st-dock-item svg{height:19px;width:19px}.st-before-footer__card{min-height:76px}.st-enquiry-form{padding:15px}}
@media(prefers-reduced-motion:reduce){.st-reveal-ready,.st-reveal-ready.st-reveal-visible{opacity:1;transform:none;transition:none}.st-booknow-pulse{animation:none}.st-slider-track{scroll-behavior:auto}.st-before-footer__card:hover,.st-new-card:hover,.st-fleet-card:hover,.st-service-card:hover{transform:none}}

/* Elementor Kit may have a legacy magenta accent. In active Southtax layouts the
   site token is authoritative. Set Elementor Site Settings global Accent to
   #FFC000 too, so editor and frontend remain synchronized. */
body[class*="elementor-kit-"]{--e-global-color-accent:var(--st-gold,#FFC000)}
@media(max-width:680px){html.st-input-focused .st-floating-dock{visibility:hidden;pointer-events:none}}
