/* TaxiBT App 1.10.4: shared production/preview layout, isolated banner styles. */
.taxibt-shell{--ink:#101111;--surface:#191a1a;--panel:#202121;--line:#343636;--muted:#b3b6b2;--paper:#f5f4ed;--radius:24px;container:none;min-height:100vh;min-height:100dvh}
.taxibt-shell .main-wrap{min-width:0;width:100%;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.taxibt-shell .main-content{width:100%;min-width:0;margin:0 auto;flex:1}
.taxibt-shell .taxibt-sr-only{position:absolute!important;inset:auto!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.taxibt-shell .tbapp-hero-grid{min-width:0;align-items:stretch}
.taxibt-shell .tbapp-hero,.taxibt-shell .tbapp-info-panel{box-sizing:border-box;min-width:0;float:none;max-width:100%;writing-mode:horizontal-tb;text-align:left}
.taxibt-shell .tbapp-hero{display:flex;flex-direction:column;justify-content:center;min-height:333px;background:var(--yellow);color:#181818;overflow:hidden;padding:30px 32px;border:0;border-radius:24px;position:relative}
.taxibt-shell .tbapp-hero-body{width:100%;min-width:0;display:flex;flex-direction:column;position:relative;z-index:1}
.taxibt-shell #taxibt-hero-title{position:relative;display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%;height:auto;min-height:0;margin:0 0 19px;padding:0;color:#181818;font-family:Inter,Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(32px,3.2vw,44px);line-height:1.15;letter-spacing:-1.4px;word-break:normal;white-space:normal;text-transform:none;text-shadow:none;transform:none;animation:none}
.taxibt-shell #taxibt-hero-title>.tbapp-hero-type-line{position:static;display:block;grid-area:1/1;min-width:0;width:auto;max-width:none;height:auto;margin:0;padding:0;white-space:normal;word-break:normal;overflow-wrap:anywhere;writing-mode:horizontal-tb;font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit}
.taxibt-shell #taxibt-hero-title>.tbapp-hero-type-measure{visibility:hidden;pointer-events:none;user-select:none}
.taxibt-shell .tbapp-hero-body>p{font-family:Inter,Arial,Helvetica,sans-serif;font-size:12px;line-height:1.7;color:#353019;max-width:330px;margin:0 0 24px;padding:0}
.taxibt-shell .tbapp-hero-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0}
.taxibt-shell .tbapp-hero-actions>.action{width:100%;min-width:0;max-width:100%;margin:0;min-height:51px;height:auto;display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 10px;border-radius:11px;white-space:normal;text-align:center;line-height:1.4;font-size:12px;text-transform:none;letter-spacing:0;writing-mode:horizontal-tb}
.taxibt-shell .tbapp-hero-actions>.action>span{min-width:0;line-height:inherit}
.taxibt-shell .tbapp-hero-actions>.action>svg{display:block;position:static;width:18px;height:18px;flex:0 0 18px;margin:0;fill:none;stroke:currentColor}
.taxibt-shell .tbapp-hero-no{display:none}
.taxibt-shell .tbapp-split{min-width:0;align-items:start}
.taxibt-shell .tbapp-info-panel{display:block;width:100%;position:relative;background:var(--yellow);color:#202020;border:0;border-radius:24px;padding:28px;overflow:hidden}
.taxibt-shell .tbapp-info-panel-heading{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:13px;margin:0 0 16px;padding:0}
.taxibt-shell .tbapp-info-panel-heading>svg{position:static;display:block;width:38px;height:38px;max-width:none;min-width:0;margin:0;padding:8px;stroke:#292514;fill:none;stroke-width:1.7;border:1px solid #8d7b2a;border-radius:10px}
.taxibt-shell .tbapp-info-panel .tbapp-info-panel-heading>h2{display:block;float:none;position:static;width:auto;min-width:0;max-width:none;height:auto;margin:0;padding:0;font-family:Inter,Arial,Helvetica,sans-serif;font-size:22px;font-weight:650;line-height:1.3;letter-spacing:-.6px;white-space:normal;word-break:normal;overflow-wrap:anywhere;text-transform:none;writing-mode:horizontal-tb;color:#202020}
.taxibt-shell .tbapp-info-panel>p{display:block;position:static;float:none;max-width:none;margin:0 0 18px;padding:0;color:#403a20;font-size:12px;line-height:1.8}
.taxibt-shell .tbapp-info-panel .step-list{display:grid;grid-template-columns:minmax(0,1fr);gap:19px;margin:20px 0;padding:0}
.taxibt-shell .tbapp-info-panel .step{display:flex;align-items:flex-start;gap:12px;min-width:0;font-size:11px;line-height:1.7;color:#302b18}
.taxibt-shell .tbapp-info-panel .step>span{display:block;min-width:0;flex:1;overflow-wrap:anywhere}
.taxibt-shell .tbapp-info-panel .step:before{width:25px;height:25px;flex:0 0 25px}
.taxibt-shell .tbapp-info-panel .step b{display:block;font-size:12px;line-height:1.5;margin:0 0 3px}
.taxibt-shell .tbapp-info-panel>.action{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;gap:10px;min-height:48px;line-height:1.4;font-size:13px;white-space:normal;margin:20px 0 0;padding:13px;border-radius:11px}
.taxibt-shell .view{scroll-margin-top:18px}
/* Only opacity changes: the viewport/navigation never gains a transformed ancestor. */
.taxibt-shell .view.is-entering{animation:taxibtScreenEnter .2s ease-out both}
@keyframes taxibtScreenEnter{from{opacity:.5}to{opacity:1}}
.taxibt-shell .taxibt-notification-copy{min-width:0}
.taxibt-shell .taxibt-notification-actions{min-height:48px}
@media(max-width:1100px){.taxibt-shell .tbapp-split{grid-template-columns:minmax(0,1.45fr) minmax(230px,1fr)}.taxibt-shell .tbapp-info-panel{padding:24px}.taxibt-shell .tbapp-info-panel .tbapp-info-panel-heading>h2{font-size:20px}}
@media(max-width:820px){
  .taxibt-shell .main-content{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}
  .taxibt-shell .mobile-nav{position:fixed!important;inset:auto 0 0!important;width:100%;max-width:none;display:flex!important;align-items:center;justify-content:space-around;gap:3px;height:auto;min-height:77px;margin:0!important;padding:8px 12px max(9px,env(safe-area-inset-bottom,0px));z-index:80;transform:none!important;animation:none!important;transition:none!important;background:#1b1b1b;border-top:1px solid #444;box-shadow:0 -8px 24px #0002;backdrop-filter:none;overflow:hidden;isolation:isolate}
  .taxibt-shell .mobile-nav>button,.taxibt-shell .mobile-nav>a{flex:1 1 0;min-width:0;max-width:80px;position:relative;pointer-events:auto}
  .taxibt-shell .mobile-nav .call-nav{flex:0 0 53px;max-width:53px}
}
@media(max-width:600px){
  .taxibt-shell .tbapp-hero-grid,.taxibt-shell .tbapp-split{grid-template-columns:minmax(0,1fr);gap:16px}
  .taxibt-shell .tbapp-hero{padding:25px 22px;min-height:347px;border-radius:21px}
  .taxibt-shell #taxibt-hero-title{font-size:clamp(30px,8.5vw,40px);letter-spacing:-1.1px;line-height:1.15}
  .taxibt-shell .tbapp-hero-actions>.action{font-size:11px;padding:11px 8px}
  .taxibt-shell .tbapp-info-panel{padding:23px 20px;border-radius:19px}
  .taxibt-shell .tbapp-info-panel .tbapp-info-panel-heading>h2{font-size:21px;line-height:1.3}
}
@media(max-width:359px){.taxibt-shell .tbapp-hero{padding:23px 19px}.taxibt-shell #taxibt-hero-title{font-size:30px}.taxibt-shell .tbapp-hero-actions>.action{font-size:10px;gap:5px}.taxibt-shell .tbapp-hero-actions>.dark>svg:last-child{display:none}.taxibt-shell .tbapp-info-panel .tbapp-info-panel-heading>h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){.taxibt-shell .view.is-entering{animation:none}}

/* TaxiBT App 1.10.5: service text has the same weight on mobile and desktop. */
.taxibt-shell .presence-v2 #taxibt-service-message{font-weight:700;font-synthesis:weight}
/* App 1.10.6: remove only the site-wide footer; the App SAL panel remains. */
body.taxibt-app-page #taxibt-legal-footer,
body.taxibt-app-page #taxibt-legal-footer-template,
.taxibt-shell #taxibt-legal-footer{display:none!important}

/* Booking help deliberately has no .step, .wide, .action or generated counters. */
.taxibt-shell #taxibt-booking-help{box-sizing:border-box;display:block;position:relative;float:none;clear:none;width:100%;min-width:0;max-width:100%;height:auto;margin:0;padding:26px;border:0;border-radius:23px;background:var(--yellow);color:#242111;overflow:hidden;align-self:start;text-align:left;font-family:Inter,Arial,Helvetica,sans-serif;writing-mode:horizontal-tb;isolation:isolate}
.taxibt-shell #taxibt-booking-help::before,.taxibt-shell #taxibt-booking-help::after,.taxibt-shell #taxibt-booking-help *::before,.taxibt-shell #taxibt-booking-help *::after{content:none!important;display:none!important}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__header{display:grid;grid-template-columns:36px minmax(0,1fr);gap:13px;align-items:center;margin:0 0 15px;padding:0;min-width:0}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__icon{display:grid;place-items:center;position:static;width:36px;height:36px;padding:0;margin:0;border:1px solid #8d7b2a;border-radius:10px;color:#302914}
.taxibt-shell #taxibt-booking-help svg{position:static;display:block;flex:none;width:19px;height:19px;max-width:none;min-width:0;margin:0;padding:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.taxibt-shell #taxibt-booking-help h2{position:static;display:block;float:none;width:auto;height:auto;min-width:0;max-width:none;margin:0;padding:0;font:650 22px/1.3 Inter,Arial,Helvetica,sans-serif;color:#242111;letter-spacing:-.6px;text-transform:none;white-space:normal;word-break:normal;overflow-wrap:anywhere;transform:none}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__intro{display:block;position:static;float:none;min-width:0;width:auto;max-width:none;margin:0;padding:0;font:400 12px/1.75 Inter,Arial,Helvetica,sans-serif;color:#494022;letter-spacing:0;white-space:normal;text-transform:none}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__steps{display:grid;grid-template-columns:minmax(0,1fr);gap:19px;list-style:none;counter-reset:none;position:static;float:none;min-width:0;width:100%;max-width:none;height:auto;margin:23px 0;padding:0}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;position:static;float:none;width:100%;min-width:0;max-width:100%;height:auto;margin:0;padding:0;list-style:none;border:0;background:transparent;counter-increment:none;transform:none}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__step::marker{content:''}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__number{display:grid;place-items:center;position:static;float:none;inset:auto;width:30px;height:30px;margin:0;padding:0;border:1px solid #8d7b2a;border-radius:10px;font:650 10px/1 Inter,Arial,Helvetica,sans-serif;letter-spacing:.4px;color:#393018;background:#ffed9a38;transform:none}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__copy{display:block;position:static;float:none;inset:auto;width:auto;min-width:0;max-width:100%;height:auto;margin:0;padding:0;transform:none}
.taxibt-shell #taxibt-booking-help h3{display:block;position:static;float:none;margin:0 0 5px;padding:0;width:auto;max-width:none;min-width:0;font:700 13px/1.45 Inter,Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;color:#292312;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__copy p{display:block;position:static;float:none;inset:auto;width:auto;max-width:none;min-width:0;height:auto;margin:0;padding:0;font:400 12px/1.7 Inter,Arial,Helvetica,sans-serif;letter-spacing:0;white-space:normal;word-break:normal;overflow-wrap:anywhere;text-transform:none;color:#494022;transform:none}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__call{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;float:none;width:100%;min-width:0;max-width:100%;min-height:49px;height:auto;margin:0;padding:13px 10px;border:1px solid #242424;border-radius:11px;background:#242424;color:#fff;text-decoration:none;font:650 14px/1.4 Inter,Arial,Helvetica,sans-serif;letter-spacing:0;white-space:normal;transform:none}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__call span{display:block;position:static;min-width:0;float:none;font:inherit;color:inherit;white-space:normal;overflow-wrap:anywhere}
.taxibt-shell #taxibt-booking-help .taxibt-booking-help__call:focus-visible{outline:2px solid #242424;outline-offset:3px}
@media(max-width:1100px){.taxibt-shell #taxibt-booking-help{padding:23px}.taxibt-shell #taxibt-booking-help h2{font-size:20px}}
@media(max-width:600px){.taxibt-shell #taxibt-booking-help{padding:23px 20px;border-radius:19px}.taxibt-shell #taxibt-booking-help h2{font-size:21px}}
@media(max-width:359px){.taxibt-shell #taxibt-booking-help{padding:22px 18px}.taxibt-shell #taxibt-booking-help h2{font-size:19px}.taxibt-shell #taxibt-booking-help .taxibt-booking-help__step{column-gap:10px}}

/* 1.11.4: keep all three header actions inside very narrow phones. */
@media(max-width:359px){.taxibt-shell .topbar{gap:8px}.taxibt-shell .topbar .header-actions{gap:6px}.taxibt-shell .topbar .header-actions .icon-button{width:34px;height:34px;flex:0 0 34px;padding:6px}}
