/* Taxi in Lisbon final coded UI. Background contains photography only, never a screenshot. */
:root{--til-final-navy:#0F172A;--til-final-yellow:#FBBF24;--til-final-blue:#2563EB;--til-final-green:#25D366;--til-final-border:#e2e8f0}
body.home{background:#F8FAFC!important;color:var(--til-final-navy)}
.site-header{background:#fff!important;color:var(--til-final-navy)!important;position:relative;z-index:40}
.site-header .header-book{background:var(--til-final-blue)!important;color:#fff!important;border:0!important;border-radius:999px!important;box-shadow:0 8px 22px #2563eb33!important}
.site-header .nav-toggle{border:1px solid #d7dfe8!important;border-radius:50%!important;background:#fff!important}
.site-header .nav-toggle span{background:#0F172A!important}
.home-hero.til-final-hero{position:relative!important;isolation:isolate!important;background:var(--til-final-navy)!important;background-image:none!important;padding:0!important;overflow:visible!important;color:#fff!important}
.til-final-hero-background{position:absolute;z-index:-2;top:0;left:0;right:0;height:350px;background-image:url('../images/lisbon-wide-hero-final.jpg');background-position:right center;background-size:cover;background-repeat:no-repeat}
.til-final-hero:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:350px;background:linear-gradient(90deg,rgba(15,23,42,.95) 0%,rgba(15,23,42,.4) 60%,transparent 100%);pointer-events:none}
.home-hero.til-final-hero .til-final-hero-grid{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:min(100% - 32px,1140px)!important;max-width:1140px!important;padding:0!important;margin:auto!important}
.home-hero.til-final-hero .til-final-hero-copy{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;justify-content:flex-start!important;min-height:370px!important;padding:40px 0 85px!important;margin:0!important;background:none!important;background-image:none!important;overflow:visible!important;width:100%!important;max-width:100%!important}
.home-hero.til-final-hero .til-final-hero-copy:before,.home-hero.til-final-hero .til-final-hero-copy:after{content:none!important}
.home-hero.til-final-hero .til-final-hero-copy h1{margin:0 0 9px!important;font-size:clamp(19px,3.05vw,44px)!important;white-space:nowrap!important;line-height:1.18!important;font-weight:850!important;letter-spacing:-.035em!important;text-align:left!important;color:#fff!important;max-width:100%!important;text-shadow:0 2px 8px #0004}
.home-hero.til-final-hero .til-final-hero-copy h1 em{color:var(--til-final-yellow)!important;font-style:normal!important}
.home-hero.til-final-hero .til-final-hero-copy .hero-lead{font-size:clamp(11px,1.65vw,19px)!important;white-space:nowrap!important;font-weight:650!important;line-height:1.4!important;color:#fff!important;text-align:left!important;margin:0 0 18px!important}
.home-hero.til-final-hero .til-final-hero-copy .hero-whatsapp{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;background:#078b50!important;color:#fff!important;border:2px solid #d3ffe2!important;border-radius:999px!important;padding:12px 20px!important;box-shadow:0 0 18px #25d36666!important;font-size:clamp(14px,2.6vw,20px)!important;white-space:nowrap!important;max-width:100%!important;text-decoration:none!important}
.home-hero.til-final-hero .til-final-hero-copy .hero-whatsapp svg{width:30px!important;height:30px!important;flex-shrink:0!important}
.home-hero.til-final-hero .hero-booking{position:relative!important;z-index:5!important;margin:-50px 0 0!important;padding:0!important;width:100%!important;background:none!important;background-image:none!important;border:0!important;box-shadow:none!important}
.home-hero.til-final-hero .home-booking-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin:0 0 12px!important;padding:6px!important;background:#0d2542!important;border:1px solid #d6ad47!important;border-radius:24px!important;box-shadow:0 10px 25px #0003!important}
.home-hero.til-final-hero .home-booking-tabs button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:0!important;min-height:90px!important;padding:9px 5px!important;background:transparent!important;color:#fff!important;border:0!important;border-radius:16px!important;box-shadow:none!important;font-size:clamp(10px,2.6vw,16px)!important;line-height:1.2!important;font-weight:800!important;text-align:center!important;white-space:normal!important}
.home-hero.til-final-hero .home-booking-tabs button[aria-selected=true]{background:var(--til-final-yellow)!important;color:var(--til-final-navy)!important}
.home-hero.til-final-hero .home-booking-tabs .service-tab-icon{color:var(--til-final-yellow)!important;display:grid!important;place-items:center!important;width:32px!important;height:32px!important}
.home-hero.til-final-hero .home-booking-tabs .service-tab-icon svg{width:30px!important;height:30px!important}
.home-hero.til-final-hero .home-booking-tabs button[aria-selected=true] .service-tab-icon{color:var(--til-final-navy)!important}
.home-hero.til-final-hero .booking-card{background:#fff!important;background-image:none!important;color:var(--til-final-navy)!important;border:1px solid var(--til-final-border)!important;border-radius:24px!important;padding:24px 20px!important;margin:0!important;box-shadow:0 10px 25px #0002!important;overflow:visible!important}
.home-hero.til-final-hero .booking-card[hidden]{display:none!important}
.home-hero.til-final-hero .tbm-form-heading h2{font-size:clamp(26px,5vw,42px)!important;color:var(--til-final-navy)!important;line-height:1.15!important;font-weight:850!important;margin:0 0 17px!important}
.home-hero.til-final-hero .tbm-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px!important;padding:5px!important;border:1px solid #e2e8f0!important;border-radius:999px!important;margin:0 0 20px!important;background:#fff!important}
.home-hero.til-final-hero .tbm-steps li{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-width:0!important;font-size:clamp(9px,2vw,13px)!important;font-weight:750!important;color:#64748b!important;border:0!important;background:none!important;padding:3px!important}
.home-hero.til-final-hero .tbm-steps li.active{color:#1740df!important}
.home-hero.til-final-hero .tbm-steps li span{display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:50%!important;background:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important;font-size:12px!important}
.home-hero.til-final-hero .tbm-steps li.active span{background:var(--til-final-blue)!important;color:#fff!important;border-color:var(--til-final-blue)!important}
.home-hero.til-final-hero .tbm-pro-form label{color:#102946!important;font-size:14px!important;font-weight:750!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-field{display:flex!important;align-items:center!important;min-height:54px!important;border:1px solid #dce2eb!important;border-radius:14px!important;background:#fff!important;padding:0 12px!important;margin:7px 0 0!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-field-icon{display:grid!important;place-items:center!important;flex:0 0 25px!important;width:25px!important;height:25px!important;margin-right:10px!important;color:#d5a000!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-field-icon svg{width:22px!important;height:22px!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-field input{border:0!important;box-shadow:none!important;min-width:0!important;width:100%!important;background:transparent!important;color:var(--til-final-navy)!important;min-height:50px!important;padding:5px!important}
.home-hero.til-final-hero .tbm-pro-form input[type=date],.home-hero.til-final-hero .tbm-pro-form input[type=time],.home-hero.til-final-hero .tbm-pro-form select{background:#fff!important;border:1px solid #dce2eb!important;border-radius:14px!important;min-height:54px!important;color:var(--til-final-navy)!important;padding:10px!important;max-width:100%!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-pro-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-pro-btn{background:var(--til-final-yellow)!important;color:var(--til-final-navy)!important;border:0!important;border-radius:16px!important;font-weight:800!important;min-height:55px!important}
.home-hero.til-final-hero .tbm-first-extras{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:16px!important;padding:15px!important}
.home-hero.til-final-hero .tbm-first-extra{display:flex!important;align-items:center!important;gap:12px!important;padding:12px!important;background:#fff!important;border-radius:12px!important;border:1px solid #e2e8f0!important;margin:8px 0!important}
.home-hero.til-final-hero .tbm-first-extra input{accent-color:#2563EB!important}
@media(min-width:1000px){.til-final-hero-background,.til-final-hero:before{height:390px}.home-hero.til-final-hero .til-final-hero-copy{min-height:410px!important;padding-top:65px!important}}
@media(max-width:600px){
 .til-final-hero-background,.til-final-hero:before{height:255px!important}
 .til-final-hero-background{background-position:right center!important;background-size:cover!important}
 .home-hero.til-final-hero .til-final-hero-grid{width:calc(100% - 28px)!important}
 .home-hero.til-final-hero .til-final-hero-copy{min-height:270px!important;padding:23px 0 72px!important;max-width:100%!important;gap:0!important}
 .home-hero.til-final-hero .til-final-hero-copy h1{font-size:clamp(12px,3.55vw,22px)!important;white-space:nowrap!important;letter-spacing:-.045em!important;line-height:1.25!important;margin:0 0 8px!important}
 .home-hero.til-final-hero .til-final-hero-copy .hero-lead{font-size:clamp(10px,2.65vw,15px)!important;white-space:nowrap!important;margin:0 0 15px!important;letter-spacing:-.025em!important}
 .home-hero.til-final-hero .til-final-hero-copy .hero-whatsapp{padding:10px 13px!important;gap:8px!important;font-size:clamp(13px,3.3vw,17px)!important}
 .home-hero.til-final-hero .til-final-hero-copy .hero-whatsapp svg{width:25px!important;height:25px!important}
 .home-hero.til-final-hero .hero-booking{margin-top:-50px!important}
 .home-hero.til-final-hero .home-booking-tabs button{min-height:79px!important;padding:8px 2px!important}
 .home-hero.til-final-hero .booking-card{padding:20px 15px!important}
 .home-hero.til-final-hero .tbm-pro-form .tbm-pro-grid{gap:9px!important}
 .home-hero.til-final-hero .tbm-steps li span{flex-basis:30px!important;width:30px!important;height:30px!important}
 .home-hero.til-final-hero .tbm-steps li{font-size:9px!important}
}
@media(max-width:370px){.home-hero.til-final-hero .til-final-hero-copy h1{font-size:21px!important}.home-hero.til-final-hero .booking-card{padding:18px 12px!important}.home-hero.til-final-hero .tbm-steps li span{flex-basis:27px!important;width:27px!important;height:27px!important}}

/* UI polish: location action and semantic pickup/dropoff icons. */
.home-hero.til-final-hero .tbm-pro-form .tbm-use-location{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 gap:8px!important;background:#0F172A!important;color:#fff!important;
 border:1px solid #0F172A!important;border-radius:12px!important;
 padding:10px 14px!important;min-height:42px!important;font-weight:750!important;
 box-shadow:0 5px 14px rgba(15,23,42,.16)!important;
}
.home-hero.til-final-hero .tbm-pro-form .tbm-use-location svg{width:18px;height:18px;flex:none;stroke:currentColor}
.home-hero.til-final-hero .tbm-pro-form .tbm-use-location:hover{background:#1e293b!important;color:#fff!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-use-location:focus-visible{outline:3px solid #FBBF24!important;outline-offset:3px!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-use-location:disabled{opacity:.6!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-field:has(input[name="pickup_location"]) .tbm-field-icon{color:#2563EB!important}
.home-hero.til-final-hero .tbm-pro-form .tbm-field:has(input[name="dropoff_location"]) .tbm-field-icon{color:#EF4444!important}
