/* Modern native-taxi visual system shared by all regional child themes. */
body.dbs-design-city-taxi {
	--regional-accent: #ff6b5e;
	--dbs-gold: #ff6b5e;
	--dbs-gold-deep: #e8564b;
	--dbs-midnight: #3b4047;
	--dbs-midnight-2: #565c64;
	--dbs-blue: #3b4047;
	--dbs-cloud: #f7f7f2;
	--dbs-ink: #181a1f;
	--dbs-muted: #68707d;
	--dbs-line: #e5e3da;
	--dbs-radius: 18px;
	--dbs-radius-lg: 28px;
}

/* Astra full-width reset for the custom homepage. */
body.dbs-design-city-taxi.dbs-taxi-home-enabled .site-content,
body.dbs-design-city-taxi.dbs-taxi-home-enabled .site-content > .ast-container,
body.dbs-design-city-taxi.dbs-taxi-home-enabled #primary,
body.dbs-design-city-taxi.dbs-taxi-home-enabled .content-area,
body.dbs-design-city-taxi.dbs-taxi-home-enabled .site-main {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}
body.dbs-design-city-taxi.dbs-taxi-home-enabled .site-content > .ast-container { display: block !important; }
body.dbs-design-city-taxi .dbs-taxi-main { display: block; overflow: hidden; width: 100%; max-width: none; }
body.dbs-design-city-taxi .dbs-taxi-container { box-sizing: border-box; margin-inline: auto; max-width: 1240px; padding-inline: 28px; width: 100%; }

/* The uploaded logo is the only header brand identity on every page. */
body.dbs-design-city-taxi .site-header .site-title,
body.dbs-design-city-taxi .site-header .site-description {
	display: none !important;
}

/* Compact single-line desktop header; mobile keeps Astra's native menu behavior. */
@media (min-width: 922px) {
	body.dbs-design-city-taxi .ast-primary-header-bar,
	body.dbs-design-city-taxi .site-primary-header-wrap {
		min-height: 72px;
	}
	body.dbs-design-city-taxi .site-branding,
	body.dbs-design-city-taxi .ast-site-identity {
		padding-block: 5px;
	}
	body.dbs-design-city-taxi .custom-logo-link img,
	body.dbs-design-city-taxi img.custom-logo {
		height: auto !important;
		max-height: 54px !important;
		max-width: 235px !important;
		width: auto !important;
	}
	body.dbs-design-city-taxi .main-header-menu {
		align-items: center;
		display: flex;
		flex-wrap: nowrap;
		white-space: nowrap;
	}
	body.dbs-design-city-taxi .main-header-menu > .menu-item > .menu-link {
		font-size: clamp(.72rem, .78vw, .88rem);
		padding-inline: clamp(8px, .85vw, 15px);
		white-space: nowrap;
	}
	body.dbs-design-city-taxi .site-header-primary-section-right,
	body.dbs-design-city-taxi .ast-builder-menu-1 {
		min-width: 0;
	}
}

@media (max-width: 921px) {
	body.dbs-design-city-taxi .custom-logo-link img,
	body.dbs-design-city-taxi img.custom-logo {
		height: auto !important;
		max-height: 48px !important;
		max-width: 190px !important;
		width: auto !important;
	}
}

.dbs-design-city-taxi .site-header,
.dbs-design-city-taxi .ast-primary-header-bar,
.dbs-design-city-taxi .dbs-taxi-trust-bar,
.dbs-design-city-taxi .dbs-taxi-final-cta { background: #ff6b5e !important; color: #101114; }

.dbs-design-city-taxi .site-title a,
.dbs-design-city-taxi .site-description,
.dbs-design-city-taxi .main-header-menu > .menu-item > .menu-link,
.dbs-design-city-taxi .ast-header-account-wrap .ast-header-account-type-icon,
.dbs-design-city-taxi .ast-header-woo-cart { color: #101114 !important; }

.dbs-design-city-taxi .main-header-menu > .menu-item > .menu-link:hover,
.dbs-design-city-taxi .main-header-menu > .current-menu-item > .menu-link { color: #000 !important; }

.dbs-design-city-taxi .dbs-taxi-hero {
	background: radial-gradient(circle at var(--taxi-x, 18%) var(--taxi-y, 20%), rgba(0,123,255,.34), transparent 30%), linear-gradient(120deg,#ffffff 0%,#f3f2ec 68%,#ff6b5e 68%,#ff6b5e 100%) !important;
	border-bottom: 8px solid #ff6b5e;
	min-height: 590px;
	display: block;
	isolation: isolate;
	overflow: hidden;
}
.dbs-design-city-taxi .dbs-taxi-hero-grid { align-items: center; gap:clamp(36px,6vw,78px); grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); min-height:590px; padding-block:64px; position:relative; z-index:2; }

.dbs-design-city-taxi .dbs-taxi-hero::before {
	background-image: linear-gradient(45deg,#ff6b5e 25%,transparent 25%),linear-gradient(-45deg,#ff6b5e 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ff6b5e 75%),linear-gradient(-45deg,transparent 75%,#ff6b5e 75%);
	background-position: 0 0,0 12px,12px -12px,-12px 0;
	background-size: 24px 24px;
	height: 12px;
	inset: auto 0 0;
	mask-image: none;
	opacity: .95;
	z-index: 3;
}

.dbs-design-city-taxi .dbs-taxi-hero::after { background:transparent !important; content:"TAXI"; color:rgba(59,64,71,.07); inset:auto -2vw 1vw auto !important; width:auto !important; right:-2vw; bottom:1vw; font-size:clamp(8rem,22vw,23rem); font-weight:1000; height:auto !important; left:auto !important; line-height:.7; }
.dbs-design-city-taxi .dbs-taxi-hero-media { filter:grayscale(.15) saturate(.7) contrast(.95); opacity:.08; }
.dbs-design-city-taxi .dbs-taxi-hero-copy { order: 1; position: relative; z-index: 4; }
.dbs-design-city-taxi .dbs-taxi-hero-card { order:2; background:#fff; border:4px solid #ff6b5e; border-radius:22px; box-shadow:14px 14px 0 rgba(0,123,255,.92),0 24px 55px rgba(59,64,71,.16); color:#3b4047; transform:none; position:relative; z-index:4; }
.dbs-design-city-taxi .dbs-taxi-hero-card::after { border-color:#dedbd0; }
.dbs-design-city-taxi .dbs-taxi-hero-card-top,.dbs-design-city-taxi .dbs-taxi-hero-card dt { color:#72777e; }
.dbs-design-city-taxi .dbs-taxi-airport-code strong,.dbs-design-city-taxi .dbs-taxi-hero-card dd { color:#3b4047; }
.dbs-design-city-taxi .dbs-taxi-route-line i { border-color:#b8bbc0; }
.dbs-design-city-taxi .dbs-taxi-hero-card dl>div { border-color:#e4e2da; }
.dbs-design-city-taxi .dbs-taxi-hero h1 { color:#34383e; font-size:clamp(3rem,5.4vw,5.35rem); letter-spacing:-.055em; text-transform:uppercase; text-wrap:balance; }
.dbs-design-city-taxi .dbs-taxi-hero-text { color:#5f656d; max-width:650px; }
.dbs-design-city-taxi .dbs-taxi-hero-points li { color:#555b63; }
.dbs-design-city-taxi .dbs-taxi-hero-points .dbs-icon { color:#2d9c6f; }
.dbs-design-city-taxi .dbs-taxi-eyebrow,.dbs-design-city-taxi .dbs-taxi-kicker { color:#b58e00 !important; }
.dbs-design-city-taxi .dbs-taxi-eyebrow span { background:#b58e00; }
.dbs-design-city-taxi .dbs-taxi-button-ghost { background:#fff; border-color:#c9c8c1; color:#3b4047 !important; }
.dbs-design-city-taxi .dbs-taxi-button { border-radius: 10px; box-shadow: 5px 5px 0 rgba(255,255,255,.95); overflow: hidden; position: relative; }
.dbs-design-city-taxi .dbs-taxi-button-primary { background: #ff6b5e !important; color: #101114 !important; }
.dbs-design-city-taxi .dbs-taxi-button-primary:hover { background: #3297ff !important; box-shadow: 2px 2px 0 #fff; transform: translate(3px,3px); }
.dbs-design-city-taxi .dbs-taxi-button::after { background: linear-gradient(110deg,transparent 30%,rgba(255,255,255,.72) 50%,transparent 70%); content:""; inset:0; position:absolute; transform:translateX(-130%); }
.dbs-design-city-taxi .dbs-taxi-button:hover::after { transform:translateX(130%); transition:transform .65s ease; }

.dbs-design-city-taxi .dbs-taxi-service-grid { border: 0; gap: 20px; }
.dbs-design-city-taxi .dbs-taxi-service-card,.dbs-design-city-taxi .dbs-taxi-fleet-card,.dbs-design-city-taxi .dbs-taxi-review-card { border: 1px solid #e5e3da; border-radius: 18px; box-shadow: 0 16px 45px rgba(16,17,20,.09); }
.dbs-design-city-taxi .dbs-taxi-service-card:hover,.dbs-design-city-taxi .dbs-taxi-fleet-card:hover { border-color:#ff6b5e; box-shadow:0 20px 50px rgba(16,17,20,.14),0 5px 0 #ff6b5e; transform:translateY(-6px); }
.dbs-design-city-taxi .dbs-taxi-booking-shell,.dbs-design-city-taxi .dbs-taxi-fleet-card { border-color:#101114; box-shadow:9px 9px 0 #ff6b5e; }
.dbs-design-city-taxi .dbs-taxi-final-cta h2,.dbs-design-city-taxi .dbs-taxi-final-cta p { color:#101114; }
.dbs-design-city-taxi .dbs-taxi-trust-bar { clear: both; position: relative; z-index: 5; }
.dbs-design-city-taxi .dbs-taxi-booking-section { clear: both; position: relative; z-index: 1; }
.dbs-design-city-taxi .dbs-taxi-trust-bar { background:#fff !important; border-bottom:5px solid #ff6b5e; }
.dbs-design-city-taxi .dbs-taxi-booking-section { background:linear-gradient(180deg,#f1f0ea,#fff 60%); }
.dbs-design-city-taxi .dbs-home-routes { background:#fff; padding-block:58px 64px; }
.dbs-design-city-taxi .dbs-home-routes .dbs-taxi-section-heading { margin-bottom:28px; }
.dbs-design-city-taxi .dbs-home-route-grid { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.dbs-design-city-taxi .dbs-home-route-grid a { align-items:center; background:#f3f2ec; border:1px solid #dedbd0; border-radius:14px; color:#34383e; display:grid; gap:3px; grid-template-columns:auto 1fr; padding:16px; text-decoration:none; transition:.22s ease; }
.dbs-design-city-taxi .dbs-home-route-grid a:hover { background:#fff; border-color:#ff6b5e; box-shadow:0 9px 0 rgba(0,123,255,.78); transform:translateY(-4px); }
.dbs-design-city-taxi .dbs-home-route-grid span { align-items:center; background:#ff6b5e; border-radius:8px; display:flex; font-size:.7rem; font-weight:950; grid-row:1/3; height:42px; justify-content:center; width:42px; }
.dbs-design-city-taxi .dbs-home-route-grid strong { font-size:.9rem; line-height:1.25; }
.dbs-design-city-taxi .dbs-home-route-grid small { color:#72777e; }
.dbs-design-city-taxi .dbs-taxi-services,.dbs-design-city-taxi .dbs-taxi-fleet,.dbs-design-city-taxi .dbs-taxi-destinations { background:#fff; }
.dbs-design-city-taxi .dbs-taxi-process { background:#ecebe5; color:#3b4047; }
.dbs-design-city-taxi .dbs-taxi-process .dbs-taxi-section-heading h2,.dbs-design-city-taxi .dbs-taxi-process-grid h3 { color:#34383e; }
.dbs-design-city-taxi .dbs-taxi-process-grid li { background:#fff; border-color:#dedbd0; box-shadow:0 14px 38px rgba(59,64,71,.08); }
.dbs-design-city-taxi .dbs-taxi-process-grid li>span { color:rgba(181,142,0,.2); }
.dbs-design-city-taxi .dbs-taxi-process-grid p { color:#68707d; }
.dbs-design-city-taxi .dbs-taxi-process-grid .dbs-taxi-icon-box { background:#eaf4ff; border-color:#8bc2ff; }
.dbs-design-city-taxi .dbs-motion-item { visibility:visible; }

/* Regional Airport Transfers and Taxi Service pages. */
.dbs-design-city-taxi .dbs-regional-page { color:#181a1f; margin-inline:auto; max-width:1240px; padding:38px 28px 80px; }
.dbs-design-city-taxi .dbs-regional-hero { background:linear-gradient(120deg,#f0efe9 0%,#fff 72%,#ff6b5e 72%); border:1px solid #dfddd4; border-radius:28px; color:#34383e; overflow:hidden; padding:clamp(46px,7vw,88px); position:relative; }
.dbs-design-city-taxi .dbs-regional-hero::after { color:rgba(0,123,255,.08); content:"TAXI"; font-size:clamp(7rem,20vw,16rem); font-weight:1000; line-height:.7; position:absolute; right:-2rem; bottom:-1rem; }
.dbs-design-city-taxi .dbs-regional-hero > * { max-width:760px; position:relative; z-index:1; }
.dbs-design-city-taxi .dbs-regional-kicker { color:#c99f00; font-size:.76rem; font-weight:900; letter-spacing:.14em; margin:0 0 14px; text-transform:uppercase; }
.dbs-design-city-taxi .dbs-regional-hero .dbs-regional-kicker { color:#ff6b5e; }
.dbs-design-city-taxi .dbs-regional-hero h1 { color:#34383e; font-size:clamp(2.6rem,6vw,5.6rem); letter-spacing:-.055em; line-height:.93; margin:0 0 24px; text-transform:uppercase; }
.dbs-design-city-taxi .dbs-regional-hero p:not(.dbs-regional-kicker) { color:#5f656d; font-size:clamp(1.05rem,1.6vw,1.28rem); line-height:1.7; }
.dbs-design-city-taxi .dbs-regional-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.dbs-design-city-taxi .dbs-regional-actions a,.dbs-design-city-taxi .dbs-regional-cta>a { background:#ff6b5e; border:2px solid #ff6b5e; border-radius:9px; color:#101114; font-weight:900; padding:14px 22px; text-decoration:none; }
.dbs-design-city-taxi .dbs-regional-actions a+ a { background:#fff; border-color:#b9bbc0; color:#3b4047; }
.dbs-design-city-taxi .dbs-regional-section { padding-block:clamp(54px,7vw,88px); }
.dbs-design-city-taxi .dbs-regional-section h2 { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.04em; line-height:1.05; margin:0 0 18px; }
.dbs-design-city-taxi .dbs-regional-section>p:not(.dbs-regional-kicker) { color:#68707d; font-size:1.08rem; max-width:820px; }
.dbs-design-city-taxi .dbs-regional-route-grid,.dbs-design-city-taxi .dbs-regional-feature-grid { display:grid; gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px; }
.dbs-design-city-taxi .dbs-regional-route-card,.dbs-design-city-taxi .dbs-regional-feature-grid article { background:#fff; border:1px solid #e5e3da; border-radius:18px; box-shadow:0 14px 38px rgba(16,17,20,.08); padding:26px; transition:.25s ease; }
.dbs-design-city-taxi .dbs-regional-route-card:hover { border-color:#ff6b5e; box-shadow:0 18px 44px rgba(16,17,20,.13),0 5px 0 #ff6b5e; transform:translateY(-5px); }
.dbs-design-city-taxi .dbs-regional-route-card>span { background:#ff6b5e; border-radius:999px; color:#101114; display:inline-block; font-size:.72rem; font-weight:950; padding:5px 10px; }
.dbs-design-city-taxi .dbs-regional-route-card h3,.dbs-design-city-taxi .dbs-regional-feature-grid h3 { font-size:1.25rem; margin:17px 0 10px; }
.dbs-design-city-taxi .dbs-regional-route-card p,.dbs-design-city-taxi .dbs-regional-feature-grid p { color:#68707d; font-size:.94rem; }
.dbs-design-city-taxi .dbs-regional-route-card a { color:#101114; font-weight:900; text-decoration:none; }
.dbs-design-city-taxi .dbs-regional-split { align-items:center; background:#f4f3ed; border-radius:24px; display:grid; gap:50px; grid-template-columns:1.1fr .9fr; padding:clamp(38px,6vw,70px); }
.dbs-design-city-taxi .dbs-regional-split ol { list-style:none; margin:0; padding:0; }
.dbs-design-city-taxi .dbs-regional-split li { align-items:center; border-bottom:1px solid #d9d6ca; display:flex; gap:18px; padding:16px 0; }
.dbs-design-city-taxi .dbs-regional-split li strong { color:#c99f00; font-size:1.4rem; }
.dbs-design-city-taxi .dbs-regional-link-panel { display:grid; gap:10px; }
.dbs-design-city-taxi .dbs-regional-link-panel a { background:#fff; border-radius:10px; color:#101114; font-weight:900; padding:16px 18px; text-decoration:none; }
.dbs-design-city-taxi .dbs-regional-faq { display:grid; gap:12px; margin-top:28px; }
.dbs-design-city-taxi .dbs-regional-faq details { background:#fff; border:1px solid #e5e3da; border-radius:12px; padding:18px 22px; }
.dbs-design-city-taxi .dbs-regional-faq summary { cursor:pointer; font-weight:900; }
.dbs-design-city-taxi .dbs-regional-cta { align-items:center; background:#565c64; border-bottom:8px solid #ff6b5e; border-radius:24px; color:#fff; display:flex; gap:30px; justify-content:space-between; padding:clamp(34px,5vw,58px); }
.dbs-design-city-taxi .dbs-regional-cta span { color:#ff6b5e; font-size:.75rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.dbs-design-city-taxi .dbs-regional-cta h2 { color:#fff; margin:8px 0; }
.dbs-design-city-taxi .dbs-regional-cta p { color:#d8d8d4; margin:0; }

/* Progressive motion: elements remain visible when JavaScript is unavailable. */
.dbs-motion-ready .dbs-taxi-hero-copy { animation:taxi-enter-left .75s cubic-bezier(.2,.8,.2,1) both; }
.dbs-motion-ready .dbs-taxi-hero-card { animation:taxi-enter-right .85s .12s cubic-bezier(.2,.8,.2,1) both,taxi-float 5s 1.1s ease-in-out infinite; }
.dbs-motion-ready .dbs-motion-item { opacity:0; transform:translateY(28px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1); }
.dbs-motion-ready .dbs-motion-item.is-visible { opacity:1; transform:none; }
.dbs-motion-ready .dbs-motion-item:nth-child(2){transition-delay:.08s}.dbs-motion-ready .dbs-motion-item:nth-child(3){transition-delay:.16s}.dbs-motion-ready .dbs-motion-item:nth-child(4){transition-delay:.24s}

@keyframes taxi-enter-left { from{opacity:0;transform:translateX(-42px)} to{opacity:1;transform:none} }
@keyframes taxi-enter-right { from{opacity:0;transform:translateX(42px) scale(.96)} to{opacity:1;transform:none} }
@keyframes taxi-float { 0%,100%{translate:0 0} 50%{translate:0 -8px} }

@media(max-width:900px){.dbs-design-city-taxi .dbs-taxi-hero-grid{grid-template-columns:1fr;min-height:auto}.dbs-design-city-taxi .dbs-taxi-hero-copy{order:1}.dbs-design-city-taxi .dbs-taxi-hero-card{order:2;box-shadow:8px 8px 0 #ff6b5e}.dbs-design-city-taxi .dbs-taxi-service-grid{grid-template-columns:1fr 1fr}.dbs-design-city-taxi .dbs-home-route-grid,.dbs-design-city-taxi .dbs-regional-route-grid,.dbs-design-city-taxi .dbs-regional-feature-grid{grid-template-columns:1fr 1fr}.dbs-design-city-taxi .dbs-regional-split{grid-template-columns:1fr}}
@media(max-width:620px){.dbs-design-city-taxi .dbs-taxi-container,.dbs-design-city-taxi .dbs-regional-page{padding-inline:18px}.dbs-design-city-taxi .dbs-taxi-service-grid,.dbs-design-city-taxi .dbs-home-route-grid,.dbs-design-city-taxi .dbs-regional-route-grid,.dbs-design-city-taxi .dbs-regional-feature-grid{grid-template-columns:1fr}.dbs-design-city-taxi .dbs-taxi-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.dbs-design-city-taxi .dbs-taxi-hero-card{box-shadow:5px 5px 0 #ff6b5e}.dbs-design-city-taxi .dbs-regional-hero{background:linear-gradient(145deg,#f0efe9 0%,#fff 88%,#ff6b5e 88%);padding:38px 24px}.dbs-design-city-taxi .dbs-regional-cta{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.dbs-motion-ready .dbs-taxi-hero-copy,.dbs-motion-ready .dbs-taxi-hero-card{animation:none}.dbs-motion-ready .dbs-motion-item{opacity:1;transform:none;transition:none}.dbs-design-city-taxi .dbs-taxi-button::after{display:none}}
