/* Taxi service sections. Everything is scoped under .tx so the same markup
   renders inside the main theme (taxi-service.php) and on the standalone ads
   landing page (taxi-lp.php), which inlines this file and loads nothing else. */
.tx{--tx-brand:#ff681a;--tx-brand-dark:#e2540b;--tx-ink:#111330;--tx-text:#3d4152;--tx-muted:#6b7080;--tx-line:#e6e8ee;--tx-soft:#f6f7fb;--tx-wa:#1fa855;--tx-call:#0b63ce;color:var(--tx-text);font-size:16px;line-height:1.6}
:where(.tx) *,:where(.tx) *::before,:where(.tx) *::after{box-sizing:border-box}
:where(.tx) h1,:where(.tx) h2,:where(.tx) h3{color:var(--tx-ink);line-height:1.25;margin:0 0 12px;font-weight:700}
:where(.tx) h2{font-size:28px}
:where(.tx) h3{font-size:19px}
:where(.tx) p{margin:0 0 14px}
:where(.tx) a{text-decoration:none}
:where(.tx) ul,:where(.tx) ol{list-style:none;margin:0;padding:0}
:where(.tx) svg{flex:none;width:1.15em;height:1.15em;fill:currentColor;vertical-align:-0.2em}
.tx-wrap{max-width:1140px;margin:0 auto;padding:0 16px}
.tx-sec{padding:48px 0}
.tx-sec--soft{background:var(--tx-soft)}
.tx-head{max-width:720px;margin:0 auto 28px;text-align:center}
.tx-kicker{display:block;color:var(--tx-brand-dark);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.tx-head p{color:var(--tx-muted);margin:0}

/* buttons */
.tx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border:0;border-radius:10px;font-weight:700;font-size:16px;line-height:1.2;color:#fff;cursor:pointer;text-align:center}
.tx-btn:hover,.tx-btn:focus{color:#fff;filter:brightness(.93)}
.tx-btn--call{background:var(--tx-call)}
.tx-btn--wa{background:var(--tx-wa)}
.tx-btn--brand{background:var(--tx-brand-dark)}
.tx-btn--block{display:flex;width:100%}
.tx-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* hero */
.tx-hero{background:linear-gradient(135deg,#111330 0%,#1d2260 62%,#31224f 100%);color:#e9ebf7;padding:36px 0 40px}
.tx-hero__in{max-width:760px}
.tx-hero h1{color:#fff;font-size:30px;margin-bottom:12px}
.tx-hero__lead{font-size:17px;color:#d9dcf0;margin-bottom:18px}
.tx-ticks{display:grid;gap:8px;margin-bottom:22px}
.tx-ticks li{display:flex;gap:10px;align-items:flex-start;color:#eef0fb}
.tx-ticks svg{color:#ffb27d;margin-top:.2em}
.tx-hero .tx-btns{max-width:580px}
.tx-btns--hero{grid-template-columns:1fr}
.tx-btns--hero .tx-btn{min-height:54px;font-size:17px}
.tx-hero__quote{margin:18px 0 0;max-width:580px;padding-left:12px;border-left:3px solid #ffb27d;font-size:14.5px;line-height:1.5;color:#e4e7f8}
.tx-hero__quote span{display:block;margin-top:2px;font-size:13px;color:#b9bedc}

/* trust strip */
.tx-trust{background:#fff;border-bottom:1px solid var(--tx-line)}
.tx-trust ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:18px 0}
.tx-trust li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--tx-ink);font-weight:600}
.tx-trust svg{color:var(--tx-brand-dark);width:1.4em;height:1.4em}
.tx-trust small{display:block;font-weight:400;color:var(--tx-muted);font-size:13px}

/* reviews: one swipeable row on a phone, a grid from tablet width up */
.tx-sec--tight{padding:36px 0}
.tx-reviews{display:grid;grid-auto-flow:column;grid-auto-columns:86%;align-items:start;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.tx-review{scroll-snap-align:start;background:#fff;border:1px solid var(--tx-line);border-radius:12px;padding:16px;display:flex;flex-direction:column}
.tx .tx-review__q{flex:1;margin:0 0 12px;font-size:15.5px;line-height:1.55;color:var(--tx-ink)}
.tx .tx-review__by{margin:0;font-size:13.5px;line-height:1.4;color:var(--tx-muted)}
.tx-review__by strong{display:block;font-size:14.5px;color:var(--tx-ink)}

/* cards */
.tx-grid{display:grid;gap:18px}
.tx-card{background:#fff;border:1px solid var(--tx-line);border-radius:12px;padding:16px;display:flex;flex-direction:column}
.tx .tx-car__img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin-bottom:14px;background:#eef0f4}
.tx-card h3{margin-bottom:10px}
.tx-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;font-size:14.5px;color:var(--tx-muted);margin-bottom:12px}
.tx-specs li{display:flex;gap:8px;align-items:center}
.tx-specs svg{color:var(--tx-brand-dark)}
.tx-card__for{font-size:14.5px;margin-bottom:14px;flex:1}
.tx-card .tx-btn{min-height:44px;font-size:15px;padding:10px 8px}

/* service + route cards */
.tx-svc h3{display:flex;gap:10px;align-items:center}
.tx-svc h3 svg{color:var(--tx-brand-dark);width:1.3em;height:1.3em}
.tx-svc p{font-size:15px;margin-bottom:0}
.tx-route{scroll-margin-top:80px}
.tx-route__meta{display:flex;flex-wrap:wrap;gap:6px 8px;margin-bottom:10px}
.tx-chip{display:inline-flex;align-items:center;gap:6px;background:var(--tx-soft);border:1px solid var(--tx-line);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;color:var(--tx-ink)}
.tx-route p{font-size:15px;flex:1}
.tx-note{font-size:13.5px;color:var(--tx-muted);text-align:center;margin:18px auto 0;max-width:760px}

/* fares */
.tx-fare{display:grid;gap:18px}
.tx-list li{position:relative;padding-left:28px;margin-bottom:9px;font-size:15.5px}
.tx-list li::before{content:"";position:absolute;left:4px;top:.5em;width:10px;height:10px;border-radius:50%;background:var(--tx-brand)}
.tx-ask{max-width:560px;margin:24px auto 0;text-align:center}
.tx-ask strong{color:var(--tx-ink)}

/* steps */
.tx-steps{counter-reset:tx;display:grid;gap:16px}
.tx-steps li{counter-increment:tx;position:relative;background:#fff;border:1px solid var(--tx-line);border-radius:12px;padding:18px 16px 16px 62px}
.tx-steps li::before{content:counter(tx);position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--tx-ink);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.tx-steps strong{display:block;color:var(--tx-ink);font-size:17px;margin-bottom:2px}
.tx-steps span{font-size:15px}

/* faq */
.tx-faq{max-width:820px;margin:0 auto}
.tx-faq details{background:#fff;border:1px solid var(--tx-line);border-radius:10px;margin-bottom:10px}
.tx-faq summary{cursor:pointer;padding:14px 44px 14px 16px;font-weight:700;color:var(--tx-ink);position:relative;list-style:none}
.tx-faq summary::-webkit-details-marker{display:none}
.tx-faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--tx-brand-dark);font-weight:400}
.tx-faq details[open] summary::after{content:"–"}
.tx-faq details p{padding:0 16px 14px;margin:0;font-size:15.5px}

/* closing call to action */
.tx-cta{background:var(--tx-ink);color:#dfe2f3;text-align:center}
.tx-cta h2{color:#fff}
.tx-cta p{max-width:620px;margin:0 auto 20px}
.tx-cta .tx-btns{max-width:440px;margin:0 auto}

@media (min-width:600px){
  .tx-grid--3,.tx-grid--2{grid-template-columns:1fr 1fr}
  .tx-trust ul{grid-template-columns:repeat(4,1fr)}
  .tx-steps{grid-template-columns:repeat(3,1fr)}
  .tx-btns--hero{grid-template-columns:1fr 1fr}
  .tx-reviews{grid-auto-columns:46%}
}
@media (min-width:900px){
  .tx-sec{padding:68px 0}
  .tx-sec--tight{padding:48px 0}
  .tx-reviews{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,1fr);align-items:stretch;overflow:visible;padding-bottom:0}
  :where(.tx) h2{font-size:34px}
  .tx-hero{padding:56px 0 60px}
  .tx-hero h1{font-size:42px}
  .tx-grid--3{grid-template-columns:repeat(3,1fr)}
  .tx-fare{grid-template-columns:1fr 1fr;gap:28px}
}

/* main-site page: the theme's menu bar hangs over the first section */
.tx--site .tx-hero{padding-top:36px}
@media (min-width:992px){.tx--site .tx-hero{padding-top:118px}}
