/* Taxitics Cinematic v3.1 — responsive motion, editorial rhythm and native carousels.
 * Scoped to theme classes. Booking price/security logic remains in the separate plugin.
 */
:root {
  --taxi-type-hero:38px;--taxi-type-section:24px;--taxi-type-lead:18px;
  --taxi-type-body:16px;--taxi-type-caption:14px;
  --taxi-space:clamp(16px,2.2vw,32px);
  --taxi-easing:cubic-bezier(.22,.82,.23,1);
}
html, body{max-width:100%;}
body{font-size:var(--taxi-type-body);}
/* Smooth proximity snapping lets long forms, focus, map gestures and touch remain usable. */
.taxi-snap{
  height:100svh;overflow-x:hidden;overflow-y:auto;
  scroll-snap-type:y proximity;scroll-behavior:smooth;
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
}
.taxi-screen{
  height:auto;min-height:100svh;overflow:hidden;
  scroll-snap-align:start;scroll-snap-stop:normal;
}
/* Animated scene elements arrive in depth, then settle slowly; no harsh jump cuts. */
.taxi-js .taxi-depth{
  opacity:.67;filter:none;
  transform:translate3d(0,clamp(14px,3vw,30px),0) scale(.975);
  transition:opacity 1.05s ease,transform 1.26s var(--taxi-easing);
  will-change:transform,opacity;
}
.taxi-js .taxi-screen.is-current .taxi-depth{
  opacity:1;filter:none;transform:translate3d(0,0,0) scale(1);
}
.taxi-screen:not(.taxi-book){min-height:100svh;}
.taxi-eyebrow{font-size:14px;letter-spacing:.12em;line-height:1.5;}
.taxi-discover h2,.taxi-section-heading h2,.taxi-about h2,
.taxi-reviews h2,.taxi-journal h2,.taxi-finale h2,
.taxi-entry__heading{font-size:var(--taxi-type-hero);line-height:1.17;letter-spacing:-.028em;}
.taxi-discover p:not(.taxi-eyebrow),.taxi-section-heading>p:not(.taxi-eyebrow),
.taxi-about__text>p:not(.taxi-eyebrow),.taxi-reviews__intro,.taxi-journal__intro,
.taxi-finale__content>p:not(.taxi-eyebrow){font-size:18px;line-height:1.65;letter-spacing:0;}
.taxi-header__right,.taxi-policy-trigger{font-size:14px;}
.taxi-credit{font-size:14px;line-height:1.4;letter-spacing:0;}
.taxi-credit strong{font-weight:800;}
.taxi-text-link,.taxi-btn{font-size:16px;}
/* Truly transparent logo asset; a diffuse glow replaces opaque white cards. */
.taxi-header__brand{width:142px;min-height:45px;border-radius:999px;padding:6px 16px;
  border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.91);
  box-shadow:0 5px 22px rgba(0,0,0,.14);}
.taxi-header__brand img{width:100%;max-height:45px;object-fit:contain;mix-blend-mode:normal;}
.taxi-entry__logo-wrap{height:auto;width:min(440px,84vw);min-height:140px;margin:0 auto 15px;}
.taxi-entry__logo-wrap::before{content:"";position:absolute;z-index:-1;inset:-75% -50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.92) 0%,rgba(255,255,255,.56) 34%,rgba(255,255,255,0) 71%);
  filter:blur(12px);pointer-events:none;}
.taxi-entry__logo{width:100%;max-width:420px;height:auto;max-height:150px;object-fit:contain;
  padding:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;
  filter:drop-shadow(0 2px 5px rgba(255,255,255,.40));}
.taxi-entry__heading{max-width:840px;margin:0 auto;text-wrap:balance;text-shadow:0 4px 24px rgba(0,13,26,.55);}
.taxi-entry__heading em{font-size:24px;display:inline-block;margin-top:9px;font-weight:650;line-height:1.4;}
.taxi-entry__content{width:min(950px,94vw);}
.taxi-credit--intro{padding:0 14px;}
/* Balanced intro + about; full-screen does not mean giant paragraph text. */
.taxi-discover__content{width:100%;max-width:1440px;margin:auto;padding:clamp(105px,13vh,150px) clamp(36px,6vw,90px) 96px;
  grid-template-columns:48% 52%;gap:clamp(14px,2vw,30px);box-sizing:border-box;min-height:100svh;height:auto;}
.taxi-discover__text{max-width:540px;}
.taxi-discover h2{max-width:560px;margin:14px 0 20px;}
.taxi-discover p:not(.taxi-eyebrow){max-width:520px;}
.taxi-discover__highlights{margin-top:34px;}
.taxi-discover__visual{height:min(55vh,540px);}
.taxi-about{grid-template-columns:45% 55%;}
.taxi-about__text{padding:120px clamp(38px,6vw,98px) 95px;align-items:flex-start;}
.taxi-about h2{margin:8px 0 17px;}
.taxi-about__text>p:not(.taxi-eyebrow){max-width:570px;}
.taxi-about__big-word{font-size:clamp(100px,15vw,235px);}
/* Booking: no independently scrollable card, no clipped Geoapify map. Natural page flow. */
.taxi-book{height:auto!important;min-height:100svh;overflow:visible!important;
  scroll-snap-align:start;scroll-snap-stop:normal;}
.taxi-book__layout{
  height:auto;min-height:100svh;max-width:1880px;width:100%;box-sizing:border-box;
  padding:clamp(93px,11vh,118px) clamp(18px,3.4vw,60px) 82px;
  gap:16px;display:flex;flex-direction:column;
}
.taxi-section-heading{max-width:900px;margin:0 auto 2px;text-align:center;}
.taxi-section-heading h2{font-size:38px;margin:4px 0 9px;}
.taxi-section-heading>p:not(.taxi-eyebrow){max-width:730px;margin:auto;}
.taxi-book__shell{
  width:100%;height:auto;min-height:0;flex:0 0 auto;
  overflow:visible!important;background:#fff;border-radius:23px;
  padding:0;box-sizing:border-box;box-shadow:0 20px 70px #0004;
}
.taxi-book__content{height:auto;max-height:none;overflow:visible!important;padding:clamp(12px,2vw,26px);}
.taxi-book__content .txbe-widget{box-shadow:none;max-width:none;margin:0;padding:clamp(12px,1.5vw,20px);
  border-radius:14px;}
.taxi-book__content .txbe-google-map{height:clamp(230px,29vh,335px);min-height:220px;}
.taxi-book__content .txbe-mode-tabs{margin:13px 0;}
.taxi-book__content .txbe-widget .txbe-widget-title{margin-bottom:11px;}
.taxi-book__content .txbe-widget .txbe-widget-copy strong{font-size:18px;}
.taxi-book__content .txbe-km-search-fields{gap:12px;}
.taxi-book__note{font-size:14px;text-align:center;margin:0;}
.taxi-book>.taxi-credit{position:absolute;bottom:12px;}
/* Reviews retain the official Trustindex output. Common native markup becomes a horizontal row. */
.taxi-reviews{height:auto;min-height:100svh;overflow:hidden;display:flex;align-items:center;
  justify-content:center;text-align:center;}
.taxi-reviews__inner{max-width:none;width:100%;min-height:100svh;box-sizing:border-box;
  padding:clamp(98px,13vh,135px) clamp(20px,4vw,65px) 86px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;}
.taxi-reviews h2{margin:10px 0 12px;max-width:920px;}
.taxi-reviews__intro{margin:0 auto 20px;max-width:740px;}
.taxi-carousel-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px;
  margin:0 auto 10px;}
.taxi-carousel-caption{font-size:14px;font-weight:750;letter-spacing:.08em;}
.taxi-carousel-actions,.taxi-journal__actions{display:flex;gap:10px;align-items:center;}
.taxi-carousel-arrow{width:42px;height:42px;min-width:42px;border:1px solid rgba(12,51,50,.28);
  border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:#0a3040;font-size:20px;font-weight:750;cursor:pointer;
  transition:transform .2s,background .2s,border-color .2s;}
.taxi-carousel-arrow:hover{background:#f7ad32;border-color:#f7ad32;transform:translateY(-2px);}
.taxi-carousel-arrow:disabled{opacity:.35;cursor:not-allowed;transform:none;}
.taxi-reviews__widget{display:block;max-height:none;height:auto;width:100%;max-width:none;
  padding:18px;border-radius:21px;overflow:visible;background:rgba(255,255,255,.97);}
.taxi-reviews__widget [class*="ti-reviews-container-wrapper"],
.taxi-reviews__widget .taxi-trustindex-viewport{max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x proximity;scroll-behavior:smooth;overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.taxi-reviews__widget .taxi-trustindex-track{display:flex!important;flex-wrap:nowrap!important;
  width:max-content!important;max-width:none!important;gap:12px!important;transform:none!important;}
.taxi-reviews__widget .taxi-trustindex-track>.ti-review-item,
.taxi-reviews__widget .taxi-trustindex-track>[class*="ti-review-item"]{
  position:relative!important;box-sizing:border-box!important;
  flex:0 0 clamp(180px,calc((100vw - 190px) / 5),320px)!important;
  min-width:0!important;width:clamp(180px,calc((100vw - 190px) / 5),320px)!important;
  scroll-snap-align:start;margin:0!important;
}
.taxi-reviews__widget iframe{max-width:100%;}
/* Blog carousel: 5 whole covers and half of the next one on wide screens. */
.taxi-journal{height:auto;min-height:100svh;overflow:hidden;}
.taxi-journal__inner{width:100%;max-width:none;box-sizing:border-box;height:auto;min-height:100svh;
  padding:clamp(100px,13vh,138px) clamp(20px,3vw,60px) 78px;justify-content:center;}
.taxi-journal__head{align-items:center;gap:22px;margin:0 0 19px;}
.taxi-journal h2{margin:4px 0 8px;}
.taxi-journal__intro{color:#4a626b;margin:0;}
.taxi-journal__actions{align-self:flex-end;flex:none;}
.taxi-carousel-counter{font-size:14px;font-weight:800;color:#095a43;letter-spacing:.03em;white-space:nowrap;margin-right:10px;}
.taxi-journal__carousel{position:relative;max-width:100%;width:100%;min-height:0;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;
  padding:3px 0 14px;}
.taxi-journal__track{--taxi-gap:16px;display:flex;flex-wrap:nowrap;gap:var(--taxi-gap);
  width:max-content;min-width:100%;align-items:stretch;}
.taxi-journal__track>.taxi-post-card,
.taxi-journal__track>.taxi-journal__more{
  width:calc((100vw - clamp(40px,6vw,120px) - 5 * 16px) / 5.5);
  flex:0 0 calc((100vw - clamp(40px,6vw,120px) - 5 * 16px) / 5.5);
  min-width:190px;max-width:340px;scroll-snap-align:start;
}
.taxi-journal__track>.taxi-post-card{display:flex;overflow:hidden;flex-direction:column;
  height:auto;min-height:0;box-shadow:0 9px 25px #072c2917;
  transition:transform .3s,box-shadow .3s;}
.taxi-journal__track>.taxi-post-card:hover{transform:translateY(-4px);}
.taxi-post-card__image{height:auto!important;aspect-ratio:16/9;flex:0 0 auto;
  position:relative;overflow:hidden;}
.taxi-post-card__image img{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center;}
.taxi-post-card__corner{width:27px;height:27px;right:8px;top:8px;font-size:16px;z-index:2;}
.taxi-post-card__copy{flex:1 1 auto;padding:10px 12px 14px;display:flex;flex-direction:column;gap:9px;min-width:0;}
.taxi-post-card__meta{position:static!important;left:auto!important;top:auto!important;
  display:flex;justify-content:space-between;gap:6px;align-items:center;
  padding:0!important;margin:0;font-size:12px!important;letter-spacing:.01em;}
.taxi-post-card__meta span:last-child{white-space:nowrap;}
.taxi-post-card h3{font-size:16px!important;font-weight:760;line-height:1.35;
  margin:0!important;padding:0!important;max-width:100%;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.taxi-journal__more{border-radius:20px;padding:20px;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:12px;text-decoration:none;
  color:#092b38;background:linear-gradient(145deg,#f8ca52,#f4ab2b);box-sizing:border-box;min-height:0;}
.taxi-journal__more-icon{width:54px;height:54px;display:grid;place-items:center;
  border-radius:100%;background:#fff;font-size:27px;}
.taxi-journal__more span:not(.taxi-journal__more-icon){font-size:14px;}
.taxi-journal__more strong{font-size:24px;line-height:1.2;}
.taxi-journal__more small{font-size:14px;}
.taxi-journal__hint{display:flex;justify-content:space-between;align-items:center;
  gap:20px;margin:12px 0 0;font-size:14px;font-weight:750;letter-spacing:.04em;color:#41705f;}
.taxi-journal__hint a{font-size:14px;color:#067250;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;}
.taxi-post-card__fallback-title{font-size:14px!important;line-height:1.15!important;
  top:38%!important;max-height:34%;overflow:hidden;}
.taxi-finale__content{align-items:center;text-align:center;}
.taxi-finale h2{font-size:38px;line-height:1.17;}
/* A healthy desktop chapter may grow if OS text scaling is increased. */
.taxi-journal__inner,.taxi-reviews__inner{overflow:visible;}
@media(max-width:1200px){
  .taxi-journal__track>.taxi-post-card,.taxi-journal__track>.taxi-journal__more{
    width:calc((100vw - 90px) / 3.4);flex-basis:calc((100vw - 90px) / 3.4);max-width:360px;}
  .taxi-reviews__widget .taxi-trustindex-track>.ti-review-item,
  .taxi-reviews__widget .taxi-trustindex-track>[class*="ti-review-item"]{
    flex-basis:calc((100vw - 130px) / 3)!important;width:calc((100vw - 130px) / 3)!important;}
}
@media(max-width:850px){
  .taxi-site-header{min-height:64px;padding:7px 16px;}
  .taxi-header__brand{width:114px;padding:5px 12px;}
  .taxi-discover__content{grid-template-columns:1fr;padding:100px 6vw 78px;
    justify-items:center;gap:22px;text-align:center;}
  .taxi-discover__text{max-width:640px;}
  .taxi-discover h2,.taxi-discover p:not(.taxi-eyebrow){max-width:640px;}
  .taxi-discover__actions,.taxi-discover__highlights{justify-content:center;}
  .taxi-discover__visual{height:28vh;width:min(480px,84vw);transform:none;}
  .taxi-about{display:flex;flex-direction:column;}
  .taxi-about__visual{height:28vh;min-height:190px;flex:0 0 auto;}
  .taxi-about__text{padding:26px 8vw 85px;flex:1;align-items:center;text-align:center;}
  .taxi-about__text .taxi-btn{align-self:center;}
  .taxi-book__layout{padding:83px 14px 70px;gap:12px;}
  .taxi-book__content{padding:10px;}
  .taxi-reviews__inner,.taxi-journal__inner{padding:93px 20px 73px;}
  .taxi-journal__track>.taxi-post-card,.taxi-journal__track>.taxi-journal__more{
    width:calc((100vw - 74px) / 2.35);flex-basis:calc((100vw - 74px) / 2.35);min-width:175px;}
  .taxi-reviews__widget .taxi-trustindex-track>.ti-review-item,
  .taxi-reviews__widget .taxi-trustindex-track>[class*="ti-review-item"]{
    flex-basis:calc((100vw - 80px) / 2.3)!important;width:calc((100vw - 80px) / 2.3)!important;}
}
@media(max-width:580px){
  :root{--taxi-type-hero:24px;--taxi-type-section:24px;--taxi-type-lead:18px;}
  .taxi-snap{scroll-snap-type:y proximity;}
  .taxi-screen{height:auto;min-height:100svh;}
  .taxi-js .taxi-depth{filter:none;transform:translate3d(0,19px,0) scale(.985);
    transition:transform .9s var(--taxi-easing),opacity .9s ease;}
  .taxi-entry__logo-wrap{width:min(320px,87vw);min-height:120px;height:auto;}
  .taxi-entry__logo{width:100%;height:auto;max-height:118px;}
  .taxi-entry__heading{font-size:24px;line-height:1.26;}
  .taxi-entry__heading em{font-size:18px;}
  .taxi-eyebrow{font-size:14px!important;letter-spacing:.1em;}
  .taxi-discover__content{padding:90px 22px 80px;gap:16px;}
  .taxi-discover h2,.taxi-section-heading h2,.taxi-about h2,.taxi-reviews h2,.taxi-journal h2,.taxi-finale h2{font-size:24px!important;line-height:1.23;}
  .taxi-discover p:not(.taxi-eyebrow),.taxi-section-heading>p:not(.taxi-eyebrow),
  .taxi-about__text>p:not(.taxi-eyebrow),.taxi-reviews__intro,.taxi-journal__intro,
  .taxi-finale__content>p:not(.taxi-eyebrow){font-size:16px!important;line-height:1.58;}
  .taxi-discover__highlights{margin-top:16px;}
  .taxi-discover__visual{height:min(23vh,220px);width:min(88vw,380px);}
  .taxi-about__visual{height:23vh;min-height:130px;}
  .taxi-about__text{padding:16px 25px 84px;}
  .taxi-book__layout{padding:76px 8px 72px;}
  .taxi-book__content{padding:5px;}
  .taxi-book__shell{border-radius:15px;}
  .taxi-book__content .txbe-widget{padding:10px;}
  .taxi-book__content .txbe-google-map{height:260px!important;min-height:230px;}
  .taxi-book__note{font-size:14px;}
  .taxi-reviews__inner,.taxi-journal__inner{padding:78px 14px 72px;}
  .taxi-reviews__widget{padding:10px;}
  .taxi-reviews__intro{margin-bottom:12px;}
  .taxi-carousel-caption{font-size:14px;letter-spacing:0;}
  .taxi-journal__head{flex-direction:column;align-items:flex-start;text-align:left;gap:12px;margin-bottom:13px;}
  .taxi-journal__actions{align-self:stretch;justify-content:flex-end;}
  .taxi-journal__track>.taxi-post-card,.taxi-journal__track>.taxi-journal__more{
    width:calc((100vw - 44px) / 1.2);flex-basis:calc((100vw - 44px) / 1.2);min-width:0;max-width:none;}
  .taxi-journal__grid .taxi-post-card{flex-direction:column;max-height:none;}
  .taxi-post-card__meta{font-size:12px!important;position:static!important;}
  .taxi-post-card h3{font-size:16px!important;}
  .taxi-journal__hint{font-size:14px;flex-direction:column;align-items:flex-start;gap:8px;}
  .taxi-reviews__widget .taxi-trustindex-track>.ti-review-item,
  .taxi-reviews__widget .taxi-trustindex-track>[class*="ti-review-item"]{
    flex-basis:calc((100vw - 45px) / 1.2)!important;width:calc((100vw - 45px) / 1.2)!important;}
  .taxi-credit{font-size:11px;line-height:1.35;}
  .taxi-btn{font-size:14px;}
  .taxi-finale h2{font-size:38px!important;}
}
@media(max-height:750px) and (min-width:850px){
 .taxi-book__layout{padding-top:87px;padding-bottom:62px;}
 .taxi-book__content .txbe-google-map{height:250px;min-height:210px;}
 .taxi-reviews__inner,.taxi-journal__inner{padding-top:92px;padding-bottom:67px;}
 .taxi-journal__head{margin-bottom:12px;}
}
@media(prefers-reduced-motion:reduce){
 .taxi-snap,.taxi-journal__carousel,.taxi-trustindex-viewport{scroll-behavior:auto!important;}
 .taxi-js .taxi-depth{opacity:1!important;filter:none!important;transform:none!important;}
 .taxi-carousel-arrow:hover{transform:none;}
}
