:root {
  --tmx-ink: #08090b;
  --tmx-ink-2: #15171b;
  --tmx-gold: #ffd000;
  --tmx-gold-light: #ffe875;
  --tmx-red: #ffd000;
  --tmx-cream: #f7f7f2;
  --tmx-soft: #f3f4f6;
  --tmx-white: #fff;
  --tmx-muted: #676b73;
  --tmx-border: #e3e4e8;
  --tmx-success: #147a4c;
  --tmx-error: #b42318;
  --tmx-shadow: 0 20px 60px rgba(16,17,19,.10);
  --tmx-shadow-sm: 0 12px 30px rgba(16,17,19,.08);
  --tmx-radius: 24px;
  --tmx-radius-sm: 14px;
  --tmx-container: 1240px;
  --tmx-transition: 180ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--tmx-ink);
  background: var(--tmx-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--tmx-red); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
h1, h2, h3, h4 { margin: 0 0 .65em; line-height: 1.12; letter-spacing: -.035em; }
h1 { font-size: clamp(2.5rem, 6vw, 5.3rem); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
p { margin: 0 0 1.2em; }
.screen-reader-text { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tmx-container { width: min(calc(100% - 40px), var(--tmx-container)); margin-inline: auto; }
.tmx-skip-link { position: fixed; top: -100px; left: 20px; z-index: 9999; background: var(--tmx-white); color: var(--tmx-ink); padding: 12px 18px; border-radius: 8px; box-shadow: var(--tmx-shadow-sm); }
.tmx-skip-link:focus { top: 20px; }

/* Buttons */
.tmx-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 13px 24px; border: 1px solid var(--tmx-ink);
  border-radius: 999px; background: var(--tmx-ink); color: var(--tmx-white);
  font-weight: 750; line-height: 1.1; transition: transform var(--tmx-transition), background var(--tmx-transition), color var(--tmx-transition), border-color var(--tmx-transition);
}
.tmx-button:hover { transform: translateY(-2px); background: var(--tmx-red); border-color: var(--tmx-red); color: var(--tmx-white); }
.tmx-button--accent { background: var(--tmx-red); border-color: var(--tmx-red); }
.tmx-button--accent:hover { background: var(--tmx-gold); border-color: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-button--ghost { background: rgba(255,255,255,.05); color: var(--tmx-white); border-color: rgba(255,255,255,.45); }
.tmx-button--ghost:hover { background: var(--tmx-white); color: var(--tmx-ink); border-color: var(--tmx-white); }
.tmx-button--small { min-height: 42px; padding: 10px 18px; font-size: .9rem; }
.tmx-button--wide { width: 100%; }
.tmx-text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 750; color: var(--tmx-ink); }
.tmx-text-link svg { transition: transform var(--tmx-transition); }
.tmx-text-link:hover svg { transform: translateX(4px); }

/* Header */
.tmx-site-header { position: relative; z-index: 100; background: var(--tmx-white); }
.tmx-topbar { background: var(--tmx-ink); color: #d9dadd; font-size: .78rem; }
.tmx-topbar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.tmx-topbar span, .tmx-topbar__contacts { display: flex; align-items: center; gap: 10px; }
.tmx-topbar svg { color: var(--tmx-gold); width: 15px; height: 15px; }
.tmx-topbar__contacts { gap: 22px; }
.tmx-topbar a:hover { color: var(--tmx-gold-light); }
.tmx-nav-wrap { position: relative; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(16,17,19,.07); }
.tmx-navbar { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.tmx-brand { display: block; flex: 0 0 auto; }
.tmx-brand img, .tmx-brand .custom-logo { width: 178px; height: auto; max-height: 64px; object-fit: contain; }
.tmx-primary-nav { display: flex; align-items: center; gap: 26px; }
.tmx-menu { display: flex; align-items: center; gap: clamp(16px, 2vw, 28px); margin: 0; padding: 0; list-style: none; }
.tmx-menu li { position: relative; }
.tmx-menu > li > a { display: block; padding: 30px 0; color: var(--tmx-ink); font-size: .93rem; font-weight: 680; white-space: nowrap; }
.tmx-menu > li.current-menu-item > a, .tmx-menu > li.current_page_item > a { color: var(--tmx-red); }
.tmx-menu .sub-menu { position: absolute; top: calc(100% - 8px); left: -18px; min-width: 230px; margin: 0; padding: 12px; list-style: none; background: var(--tmx-white); border: 1px solid var(--tmx-border); border-radius: 14px; box-shadow: var(--tmx-shadow-sm); opacity: 0; visibility: hidden; transform: translateY(8px); transition: var(--tmx-transition); }
.tmx-menu li:hover > .sub-menu, .tmx-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.tmx-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 8px; font-size: .9rem; }
.tmx-menu .sub-menu a:hover { background: var(--tmx-soft); }
.tmx-nav-actions { display: flex; align-items: center; gap: 12px; }
.tmx-language { width: 42px; height: 42px; border: 1px solid var(--tmx-border); border-radius: 50%; display: grid; place-items: center; font-size: .78rem; font-weight: 800; }
.tmx-menu-toggle { display: none; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; color: var(--tmx-white); background: var(--tmx-ink); }
.tmx-menu-toggle__close { display: none; }
.tmx-menu-toggle[aria-expanded="true"] .tmx-menu-toggle__open { display: none; }
.tmx-menu-toggle[aria-expanded="true"] .tmx-menu-toggle__close { display: inline-flex; }

/* Hero */
.tmx-hero { position: relative; min-height: 760px; overflow: hidden; color: var(--tmx-white); background: var(--tmx-ink); }
.tmx-hero__media { position: absolute; inset: 0; background: url('../images/hero.webp') center 48% / cover no-repeat; transform: scale(1.015); }
.tmx-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,11,13,.95) 0%, rgba(10,11,13,.78) 46%, rgba(10,11,13,.32) 100%), linear-gradient(0deg, rgba(10,11,13,.5), transparent 50%); }
.tmx-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(390px,.72fr); align-items: center; gap: clamp(40px,6vw,90px); padding-block: 78px; }
.tmx-hero__content { max-width: 760px; }
.tmx-eyebrow { margin: 0 0 20px; color: var(--tmx-gold-light); text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; font-weight: 850; }
.tmx-eyebrow--dark { color: #9a6b10; }
.tmx-hero h1 { max-width: 800px; text-wrap: balance; }
.tmx-hero__lead, .tmx-page-hero__lead { max-width: 720px; color: rgba(255,255,255,.78); font-size: clamp(1.05rem,1.5vw,1.3rem); line-height: 1.6; }
.tmx-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.tmx-hero__proof { display: flex; flex-wrap: wrap; gap: 20px; margin: 34px 0 0; padding: 0; list-style: none; color: rgba(255,255,255,.8); font-size: .87rem; }
.tmx-hero__proof li { display: flex; align-items: center; gap: 8px; }
.tmx-hero__proof svg { color: var(--tmx-gold-light); }
.tmx-hero-form, .tmx-booking-panel, .tmx-contact-form-wrap { padding: clamp(24px,3vw,36px); border: 1px solid rgba(255,255,255,.18); border-radius: var(--tmx-radius); background: rgba(255,255,255,.97); color: var(--tmx-ink); box-shadow: var(--tmx-shadow); }
.tmx-form-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.tmx-form-heading > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,208,0,.20); color: var(--tmx-red); }
.tmx-form-heading p { margin: 0; color: var(--tmx-muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tmx-form-heading h2 { margin: 3px 0 0; font-size: 1.35rem; letter-spacing: -.02em; }

/* Forms */
.tmx-booking-form, .tmx-contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.tmx-booking-form--compact { gap: 11px; }
.tmx-field { min-width: 0; }
.tmx-field--full { grid-column: 1 / -1; }
.tmx-field label { display: block; margin: 0 0 6px; font-size: .78rem; font-weight: 750; color: #42454b; }
.tmx-field input, .tmx-field select, .tmx-field textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #d9dbe0; border-radius: 10px; background: var(--tmx-white); color: var(--tmx-ink); outline: none; transition: border-color var(--tmx-transition), box-shadow var(--tmx-transition); }
.tmx-field textarea { min-height: 130px; resize: vertical; }
.tmx-field input:focus, .tmx-field select:focus, .tmx-field textarea:focus { border-color: var(--tmx-gold); box-shadow: 0 0 0 3px rgba(212,162,59,.18); }
.tmx-consent label { display: flex; align-items: flex-start; gap: 9px; font-weight: 500; line-height: 1.45; }
.tmx-consent input { width: 18px; min-height: 18px; height: 18px; margin-top: 2px; flex: 0 0 18px; }
.tmx-consent a { text-decoration: underline; }
.tmx-form-disclaimer { margin: 10px 0 0; color: var(--tmx-muted); font-size: .72rem; line-height: 1.45; text-align: center; }
.tmx-honeypot { position: absolute!important; left: -9999px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.tmx-form-notice { margin-bottom: 18px; padding: 13px 15px; border-radius: 10px; font-size: .88rem; }
.tmx-form-notice--success { background: #eaf7f0; color: var(--tmx-success); border: 1px solid #badfca; }
.tmx-form-notice--error { background: #fff0ee; color: var(--tmx-error); border: 1px solid #f0c0ba; }

/* Common sections */
.tmx-section { padding-block: clamp(72px,9vw,120px); }
.tmx-section--soft { background: var(--tmx-cream); }
.tmx-section--dark { background: var(--tmx-ink); color: var(--tmx-white); }
.tmx-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 44px; }
.tmx-section-heading h2 { max-width: 780px; margin-bottom: 0; }
.tmx-section-heading > p { max-width: 520px; color: var(--tmx-muted); }
.tmx-section-heading--light > p { color: rgba(255,255,255,.65); }
.tmx-section-heading--center { justify-content: center; text-align: center; }
.tmx-section-heading--center > div { max-width: 850px; }
.tmx-card-grid { display: grid; gap: 24px; }
.tmx-card-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tmx-card-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }

/* Trust */
.tmx-trust-strip { border-bottom: 1px solid var(--tmx-border); background: var(--tmx-white); }
.tmx-trust-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.tmx-trust-grid > div { min-height: 124px; padding: 26px 24px; display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-content: center; border-right: 1px solid var(--tmx-border); }
.tmx-trust-grid > div:first-child { border-left: 1px solid var(--tmx-border); }
.tmx-trust-grid svg { grid-row: 1/3; align-self: center; width: 28px; height: 28px; color: var(--tmx-gold); }
.tmx-trust-grid strong { font-size: .95rem; }
.tmx-trust-grid span { color: var(--tmx-muted); font-size: .77rem; line-height: 1.4; }

/* Cards */
.tmx-service-card, .tmx-post-card, .tmx-fleet-card, .tmx-destination-feature { overflow: hidden; border: 1px solid var(--tmx-border); border-radius: var(--tmx-radius); background: var(--tmx-white); box-shadow: 0 1px 0 rgba(16,17,19,.02); transition: transform var(--tmx-transition), box-shadow var(--tmx-transition); }
.tmx-service-card:hover, .tmx-post-card:hover, .tmx-fleet-card:hover, .tmx-destination-feature:hover { transform: translateY(-5px); box-shadow: var(--tmx-shadow-sm); }
.tmx-service-card__image, .tmx-post-card__image { display: block; aspect-ratio: 3/2; overflow: hidden; background: var(--tmx-soft); }
.tmx-service-card__image img, .tmx-post-card__image img, .tmx-fleet-card > img, .tmx-destination-feature > img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.tmx-service-card:hover img, .tmx-post-card:hover img, .tmx-fleet-card:hover img, .tmx-destination-feature:hover img { transform: scale(1.035); }
.tmx-service-card__body, .tmx-post-card__body, .tmx-fleet-card > div, .tmx-destination-feature > div { padding: 26px; }
.tmx-service-card h2, .tmx-service-card h3, .tmx-post-card h2, .tmx-fleet-card h2, .tmx-destination-feature h2 { font-size: 1.45rem; }
.tmx-service-card p, .tmx-post-card p, .tmx-fleet-card p, .tmx-destination-feature p { color: var(--tmx-muted); }
.tmx-label { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: var(--tmx-soft); color: var(--tmx-muted); font-size: .72rem; font-weight: 700; }
.tmx-post-card__meta { margin-bottom: 8px!important; color: #8a8d92!important; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.tmx-fleet-card > img, .tmx-destination-feature > img { aspect-ratio: 3/2; }

/* Destinations */
.tmx-destination-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.tmx-destination-card { position: relative; min-height: 320px; padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: var(--tmx-radius); background: linear-gradient(145deg,#202226,#151619); color: var(--tmx-white); }
.tmx-destination-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 80% 10%,rgba(212,162,59,.2),transparent 42%); opacity: 0; transition: opacity var(--tmx-transition); }
.tmx-destination-card:hover { color: var(--tmx-white); border-color: rgba(212,162,59,.55); }
.tmx-destination-card:hover::before { opacity: 1; }
.tmx-destination-card__number { position: absolute; top: 24px; left: 26px; color: var(--tmx-gold-light); font-size: .78rem; letter-spacing: .14em; }
.tmx-destination-card h3, .tmx-destination-card p, .tmx-destination-card__arrow { position: relative; }
.tmx-destination-card p { color: rgba(255,255,255,.62); font-size: .9rem; }
.tmx-destination-card__arrow { width: 44px; height: 44px; display: grid; place-items: center; margin-top: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }

/* Split, checks, process */
.tmx-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(40px,7vw,90px); }
.tmx-split--media .tmx-split__image { position: relative; }
.tmx-split__image img { width: 100%; border-radius: var(--tmx-radius); aspect-ratio: 3/2; object-fit: cover; }
.tmx-image-badge { position: absolute; right: 18px; bottom: 18px; padding: 9px 13px; border-radius: 999px; background: rgba(16,17,19,.86); color: var(--tmx-white); font-size: .72rem; backdrop-filter: blur(8px); }
.tmx-split__content > p:not(.tmx-eyebrow) { color: var(--tmx-muted); font-size: 1.05rem; }
.tmx-section--dark .tmx-split__content > p:not(.tmx-eyebrow) { color: rgba(255,255,255,.68); }
.tmx-check-list { margin: 24px 0 30px; padding: 0; list-style: none; display: grid; gap: 13px; }
.tmx-check-list li { display: flex; align-items: flex-start; gap: 11px; }
.tmx-check-list svg { margin-top: 3px; color: var(--tmx-gold); }
.tmx-process-grid { counter-reset: steps; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.tmx-process-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.tmx-process-grid li { min-height: 250px; padding: 28px; border: 1px solid var(--tmx-border); border-radius: var(--tmx-radius); background: var(--tmx-white); }
.tmx-process-grid li > span { display: inline-flex; margin-bottom: 44px; color: var(--tmx-gold); font-size: .75rem; font-weight: 850; letter-spacing: .13em; }
.tmx-process-grid h3 { font-size: 1.25rem; }
.tmx-process-grid p { color: var(--tmx-muted); font-size: .9rem; }

/* FAQ */
.tmx-faq-preview { background: var(--tmx-cream); }
.tmx-faq-layout { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr); gap: clamp(40px,7vw,90px); align-items: start; }
.tmx-faq-intro { position: sticky; top: 120px; }
.tmx-faq-intro p:not(.tmx-eyebrow) { color: var(--tmx-muted); }
.tmx-accordion details { border-top: 1px solid #d8d4ca; }
.tmx-accordion details:last-child { border-bottom: 1px solid #d8d4ca; }
.tmx-accordion summary { padding: 23px 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; list-style: none; font-weight: 750; font-size: 1.05rem; }
.tmx-accordion summary::-webkit-details-marker { display: none; }
.tmx-accordion summary span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(16,17,19,.06); }
.tmx-accordion details[open] summary span svg { transform: rotate(90deg); }
.tmx-accordion details > div { padding: 0 48px 21px 0; color: var(--tmx-muted); }

/* Page hero and breadcrumbs */
.tmx-page-hero { overflow: hidden; background: var(--tmx-ink); color: var(--tmx-white); }
.tmx-page-hero--simple { padding-block: 48px 82px; background: radial-gradient(circle at 85% 10%,rgba(212,162,59,.18),transparent 32%), var(--tmx-ink); }
.tmx-page-hero--simple h1 { max-width: 900px; font-size: clamp(2.6rem,5vw,4.9rem); }
.tmx-page-hero--landing { padding-block: 30px 78px; }
.tmx-page-hero__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(400px,.8fr); gap: clamp(42px,7vw,90px); align-items: center; }
.tmx-page-hero__content h1 { font-size: clamp(2.7rem,5vw,5rem); }
.tmx-page-hero__image { position: relative; }
.tmx-page-hero__image::before { content: ''; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid rgba(212,162,59,.38); border-radius: var(--tmx-radius); }
.tmx-page-hero__image img { position: relative; width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--tmx-radius); }
.tmx-breadcrumbs { margin-bottom: 38px; color: rgba(255,255,255,.56); font-size: .76rem; }
.tmx-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tmx-breadcrumbs li { display: flex; align-items: center; gap: 8px; }
.tmx-breadcrumbs a:hover { color: var(--tmx-gold-light); }
.tmx-benefits-bar { border-bottom: 1px solid var(--tmx-border); background: var(--tmx-white); }
.tmx-benefits-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.tmx-benefits-grid > div { min-height: 88px; padding: 20px; display: flex; align-items: center; gap: 10px; border-right: 1px solid var(--tmx-border); font-size: .82rem; font-weight: 700; }
.tmx-benefits-grid > div:first-child { border-left: 1px solid var(--tmx-border); }
.tmx-benefits-grid svg { color: var(--tmx-gold); }

/* Content */
.tmx-content-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.58fr); gap: clamp(42px,7vw,90px); align-items: start; }
.tmx-prose { font-size: 1.05rem; }
.tmx-prose--narrow { max-width: 840px; }
.tmx-prose h2 { margin-top: 1.5em; font-size: clamp(1.8rem,3vw,2.6rem); }
.tmx-prose h2:first-child { margin-top: 0; }
.tmx-prose h3 { margin-top: 1.5em; }
.tmx-prose p, .tmx-prose li { color: #4f535a; }
.tmx-prose a { color: var(--tmx-red); text-decoration: underline; }
.tmx-prose blockquote { margin: 2em 0; padding: 22px 28px; border-left: 4px solid var(--tmx-gold); background: var(--tmx-cream); }
.tmx-prose img { border-radius: var(--tmx-radius-sm); }
.tmx-info-panel, .tmx-article-cta { margin-top: 46px; padding: 30px; border-radius: var(--tmx-radius); background: var(--tmx-cream); }
.tmx-info-panel h2, .tmx-article-cta h2 { margin-top: 0; font-size: 1.55rem; }
.tmx-sticky-card { position: sticky; top: 120px; padding: 28px; border: 1px solid var(--tmx-border); border-radius: var(--tmx-radius); background: var(--tmx-white); box-shadow: var(--tmx-shadow-sm); }
.tmx-sticky-card h2 { font-size: 1.6rem; }
.tmx-sticky-card > p:not(.tmx-eyebrow) { color: var(--tmx-muted); }
.tmx-contact-line { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--tmx-border); }
.tmx-contact-line > svg { color: var(--tmx-red); }
.tmx-contact-line span { display: flex; flex-direction: column; font-weight: 760; }
.tmx-contact-line small { color: var(--tmx-muted); font-weight: 600; }
.tmx-related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tmx-related-card { display: grid; grid-template-columns: 48px 1fr 24px; gap: 15px; align-items: start; padding: 24px; border: 1px solid var(--tmx-border); border-radius: var(--tmx-radius-sm); transition: var(--tmx-transition); }
.tmx-related-card:hover { border-color: var(--tmx-gold); transform: translateY(-3px); box-shadow: var(--tmx-shadow-sm); }
.tmx-related-card > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; background: var(--tmx-cream); color: var(--tmx-gold); }
.tmx-related-card h3 { margin-bottom: 6px; font-size: 1.05rem; }
.tmx-related-card p { margin: 0; color: var(--tmx-muted); font-size: .8rem; }
.tmx-related-card > svg { align-self: center; }

/* Value, reviews, contact */
.tmx-value-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 28px; }
.tmx-value-grid > div, .tmx-simple-card { padding: 24px; border: 1px solid var(--tmx-border); border-radius: var(--tmx-radius-sm); background: var(--tmx-white); }
.tmx-value-grid > div > span { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 12px; background: var(--tmx-cream); color: var(--tmx-gold); }
.tmx-value-grid h3, .tmx-simple-card h3 { font-size: 1.18rem; }
.tmx-review-card { padding: 28px; border: 1px solid var(--tmx-border); border-radius: var(--tmx-radius); background: var(--tmx-white); }
.tmx-review-card > svg { color: var(--tmx-gold); width: 32px; height: 32px; }
.tmx-stars { margin: 16px 0; color: var(--tmx-gold); letter-spacing: .1em; }
.tmx-review-card__text { color: var(--tmx-muted); }
.tmx-review-card__author { margin-top: 18px; font-weight: 780; color: var(--tmx-ink)!important; }
.tmx-contact-grid { display: grid; grid-template-columns: minmax(290px,.72fr) minmax(0,1.28fr); gap: clamp(40px,7vw,80px); align-items: start; }
.tmx-contact-card { display: grid; grid-template-columns: 48px 1fr 22px; gap: 14px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--tmx-border); }
.tmx-contact-card > svg:first-child { width: 44px; height: 44px; padding: 11px; border-radius: 12px; background: var(--tmx-cream); color: var(--tmx-red); }
.tmx-contact-card span { display: flex; min-width: 0; flex-direction: column; }
.tmx-contact-card small { color: var(--tmx-muted); }
.tmx-contact-card strong { overflow-wrap: anywhere; }
.tmx-service-area, .tmx-aside-note { margin-top: 28px; padding: 24px; border-radius: var(--tmx-radius-sm); background: var(--tmx-cream); }
.tmx-service-area p, .tmx-aside-note p { color: var(--tmx-muted); }
.tmx-booking-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.55fr); gap: clamp(38px,6vw,70px); align-items: start; }
.tmx-booking-panel, .tmx-contact-form-wrap { border-color: var(--tmx-border); }
.tmx-booking-aside .tmx-sticky-card { top: 120px; }
.tmx-legal-warning { margin-top: 40px; padding: 22px; border: 1px solid #f0c78a; border-radius: 12px; background: #fff7e8; color: #725016; }

/* Blog/article */
.tmx-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.tmx-empty-state { grid-column: 1/-1; padding: 60px 30px; border: 1px dashed var(--tmx-border); border-radius: var(--tmx-radius); text-align: center; }
.tmx-empty-state p { color: var(--tmx-muted); }
.tmx-pagination, .nav-links { margin-top: 40px; display: flex; justify-content: center; gap: 8px; }
.tmx-pagination .page-numbers, .nav-links .page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--tmx-border); border-radius: 50%; }
.tmx-pagination .current, .nav-links .current { background: var(--tmx-ink); color: var(--tmx-white); border-color: var(--tmx-ink); }
.tmx-article-hero { padding-block: 48px 58px; background: var(--tmx-ink); color: var(--tmx-white); }
.tmx-article-hero h1 { font-size: clamp(2.5rem,5vw,4.6rem); }
.tmx-article-image { margin-top: -1px; padding-top: 32px; }
.tmx-article-image img { width: 100%; max-height: 680px; object-fit: cover; border-radius: var(--tmx-radius); }

/* CTA */
.tmx-cta-section { padding-block: clamp(62px,8vw,100px); background: var(--tmx-ink); }
.tmx-cta-box { min-height: 260px; padding: clamp(30px,5vw,60px); display: flex; align-items: center; justify-content: space-between; gap: 40px; border: 1px solid rgba(255,255,255,.12); border-radius: 32px; background: radial-gradient(circle at 85% 20%,rgba(212,162,59,.22),transparent 32%), linear-gradient(135deg,#202226,#111214); color: var(--tmx-white); }
.tmx-cta-box h2 { max-width: 800px; margin-bottom: 0; font-size: clamp(2rem,4vw,3.5rem); }
.tmx-cta-box__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }

/* Footer */
.tmx-site-footer { padding-top: 70px; background: #0b0c0e; color: rgba(255,255,255,.68); }
.tmx-footer-grid { display: grid; grid-template-columns: 1.25fr .8fr .8fr 1.1fr; gap: 46px; padding-bottom: 54px; }
.tmx-site-footer h2 { color: var(--tmx-white); font-size: .95rem; letter-spacing: .01em; }
.tmx-footer-brand img { width: 175px; margin-bottom: 20px; filter: drop-shadow(0 4px 12px rgba(0,0,0,.25)); }
.tmx-footer-brand p { max-width: 370px; font-size: .86rem; }
.tmx-footer-socials { display: flex; flex-wrap: wrap; gap: 14px; font-size: .8rem; }
.tmx-footer-links { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; font-size: .84rem; }
.tmx-site-footer a:hover { color: var(--tmx-gold-light); }
.tmx-footer-contact > a { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; color: var(--tmx-white); font-size: .85rem; }
.tmx-footer-contact svg { color: var(--tmx-gold); }
.tmx-footer-contact p { margin-top: 20px; font-size: .78rem; }
.tmx-footer-bottom { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.1); font-size: .72rem; }
.tmx-footer-bottom p { margin: 0; }

/* Mobile actions/cookie/error */
.tmx-mobile-actions { display: none; }
.tmx-cookie { position: fixed; z-index: 500; left: 20px; bottom: 20px; max-width: 480px; padding: 18px; border-radius: 16px; background: var(--tmx-white); box-shadow: var(--tmx-shadow); border: 1px solid var(--tmx-border); }
.tmx-cookie p { margin: 0 0 12px; color: var(--tmx-muted); font-size: .78rem; }
.tmx-error-page { min-height: 70vh; display: grid; place-items: center; padding-block: 80px; text-align: center; }
.tmx-error-page .tmx-container { max-width: 760px; }
.tmx-error-code { margin: 0; color: var(--tmx-gold); font-size: clamp(6rem,16vw,12rem); font-weight: 900; line-height: .8; }
.tmx-error-page .tmx-hero__actions { justify-content: center; }

/* WordPress */
.alignwide { width: min(100%, 1100px); margin-inline: auto; }
.alignfull { width: 100vw; margin-left: calc(50% - 50vw); }
.wp-block-image figcaption { color: var(--tmx-muted); font-size: .8rem; }

@media (max-width: 1120px) {
  .tmx-primary-nav { gap: 16px; }
  .tmx-menu { gap: 15px; }
  .tmx-menu > li > a { font-size: .84rem; }
  .tmx-nav-actions .tmx-button { display: none; }
  .tmx-hero__grid { grid-template-columns: minmax(0,1fr) minmax(350px,.72fr); gap: 38px; }
  .tmx-destination-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .tmx-footer-contact { grid-column: 1/-1; }
}

@media (max-width: 900px) {
  body { padding-bottom: 66px; }
  .tmx-topbar__contacts a:first-child { display: none; }
  .tmx-menu-toggle { display: inline-flex; }
  .tmx-primary-nav { position: fixed; z-index: 120; inset: 118px 0 0; display: none; flex-direction: column; align-items: stretch; padding: 26px 24px 90px; overflow-y: auto; background: var(--tmx-white); }
  .tmx-primary-nav.is-open { display: flex; }
  .tmx-menu { flex-direction: column; align-items: stretch; gap: 0; }
  .tmx-menu > li { border-bottom: 1px solid var(--tmx-border); }
  .tmx-menu > li > a { padding: 17px 2px; font-size: 1.05rem; }
  .tmx-menu .sub-menu { position: static; min-width: 0; padding: 0 0 12px 15px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .tmx-nav-actions { margin-top: 18px; justify-content: space-between; }
  .tmx-nav-actions .tmx-button { display: inline-flex; }
  .tmx-hero { min-height: auto; }
  .tmx-hero__overlay { background: linear-gradient(90deg,rgba(10,11,13,.93),rgba(10,11,13,.72)); }
  .tmx-hero__grid { grid-template-columns: 1fr; padding-block: 64px; }
  .tmx-hero__content { max-width: 780px; }
  .tmx-hero-form { max-width: 660px; }
  .tmx-trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-trust-grid > div:nth-child(3) { border-left: 1px solid var(--tmx-border); }
  .tmx-card-grid--3, .tmx-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-page-hero__grid, .tmx-split, .tmx-content-layout, .tmx-contact-grid, .tmx-booking-layout { grid-template-columns: 1fr; }
  .tmx-page-hero__image { max-width: 720px; }
  .tmx-page-hero__image::before { display: none; }
  .tmx-benefits-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-benefits-grid > div:nth-child(3) { border-left: 1px solid var(--tmx-border); }
  .tmx-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-faq-layout { grid-template-columns: 1fr; }
  .tmx-faq-intro, .tmx-sticky-card { position: static; }
  .tmx-related-grid { grid-template-columns: 1fr; }
  .tmx-cta-box { flex-direction: column; align-items: flex-start; }
  .tmx-cta-box__actions { justify-content: flex-start; }
  .tmx-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-footer-contact { grid-column: auto; }
  .tmx-mobile-actions { position: fixed; z-index: 300; bottom: 0; left: 0; right: 0; height: 66px; display: grid; grid-template-columns: repeat(3,1fr); background: var(--tmx-white); border-top: 1px solid var(--tmx-border); box-shadow: 0 -8px 24px rgba(16,17,19,.08); }
  .tmx-mobile-actions a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--tmx-ink); font-size: .68rem; font-weight: 750; }
  .tmx-mobile-actions a:nth-child(2) { background: #edf8f1; }
  .tmx-mobile-actions a:nth-child(3) { background: var(--tmx-red); color: var(--tmx-white); }
  .tmx-mobile-actions svg { width: 19px; height: 19px; }
  .tmx-cookie { bottom: 82px; }
}

@media (max-width: 640px) {
  .tmx-container { width: min(calc(100% - 28px), var(--tmx-container)); }
  .tmx-topbar__inner { justify-content: center; }
  .tmx-topbar__contacts { display: none; }
  .tmx-navbar { min-height: 76px; }
  .tmx-brand img, .tmx-brand .custom-logo { width: 148px; }
  .tmx-primary-nav { inset: 110px 0 0; }
  h1 { font-size: clamp(2.35rem,12vw,3.55rem); }
  h2 { font-size: clamp(1.85rem,9vw,2.7rem); }
  .tmx-hero__grid { padding-block: 48px; }
  .tmx-hero__actions, .tmx-cta-box__actions { flex-direction: column; align-items: stretch; }
  .tmx-hero__actions .tmx-button, .tmx-cta-box__actions .tmx-button { width: 100%; }
  .tmx-hero__proof { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .tmx-hero-form, .tmx-booking-panel, .tmx-contact-form-wrap { padding: 20px; border-radius: 18px; }
  .tmx-booking-form, .tmx-contact-form { grid-template-columns: 1fr; }
  .tmx-field { grid-column: 1/-1; }
  .tmx-trust-grid, .tmx-benefits-grid { grid-template-columns: 1fr; }
  .tmx-trust-grid > div, .tmx-benefits-grid > div { border-left: 1px solid var(--tmx-border); }
  .tmx-card-grid--2, .tmx-card-grid--3, .tmx-post-grid, .tmx-destination-grid, .tmx-process-grid, .tmx-process-grid--3, .tmx-value-grid { grid-template-columns: 1fr; }
  .tmx-section-heading { align-items: flex-start; flex-direction: column; }
  .tmx-section { padding-block: 68px; }
  .tmx-page-hero--simple { padding-block: 32px 62px; }
  .tmx-page-hero--landing { padding-block: 24px 58px; }
  .tmx-page-hero__grid { gap: 32px; }
  .tmx-breadcrumbs { margin-bottom: 26px; }
  .tmx-process-grid li { min-height: 0; }
  .tmx-process-grid li > span { margin-bottom: 22px; }
  .tmx-destination-card { min-height: 250px; }
  .tmx-related-card { grid-template-columns: 44px 1fr; }
  .tmx-related-card > svg { display: none; }
  .tmx-cta-box { padding: 28px; border-radius: 22px; }
  .tmx-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .tmx-footer-bottom { flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 18px; }
  .tmx-cookie { left: 14px; right: 14px; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; transition-duration: .01ms!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; }
}

/* =========================================================
   Taxi Maroc 1.0 — black / yellow conversion system
   ========================================================= */
:root {
  --tmx-ink: #08090b;
  --tmx-ink-2: #15171b;
  --tmx-gold: #ffd000;
  --tmx-gold-light: #ffe875;
  --tmx-red: #ffd000;
  --tmx-cream: #f7f7f2;
  --tmx-soft: #f1f2f4;
  --tmx-white: #fff;
  --tmx-muted: #646872;
  --tmx-border: #e2e3e6;
  --tmx-shadow: 0 24px 70px rgba(0,0,0,.14);
  --tmx-shadow-sm: 0 14px 36px rgba(0,0,0,.10);
}

::selection { background: var(--tmx-gold); color: var(--tmx-ink); }
a:hover { color: #9a7600; }
.tmx-eyebrow { color: var(--tmx-gold); }
.tmx-eyebrow--dark { color: #806100; }
.tmx-section--dark .tmx-eyebrow { color: var(--tmx-gold); }

.tmx-button { border-color: var(--tmx-ink); background: var(--tmx-ink); color: var(--tmx-white); }
.tmx-button:hover { border-color: var(--tmx-gold); background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-button--accent { border-color: var(--tmx-gold); background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-button--accent:hover { border-color: #ffe15c; background: #ffe15c; color: var(--tmx-ink); }
.tmx-button--outline { border-color: rgba(255,255,255,.42); background: transparent; color: var(--tmx-white); }
.tmx-button--outline:hover { border-color: var(--tmx-gold); background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-button--ghost { border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.04); color: var(--tmx-white); }
.tmx-button--ghost:hover { border-color: var(--tmx-white); background: var(--tmx-white); color: var(--tmx-ink); }

/* Header and retained identity */
.tmx-topbar { background: #151515; color: rgba(255,255,255,.76); }
.tmx-topbar__inner { min-height: 38px; }
.tmx-topbar svg, .tmx-topbar strong { color: var(--tmx-gold); }
.tmx-topbar__promo { text-align: center; letter-spacing: .04em; }
.tmx-nav-wrap { background: #050607; border-bottom-color: rgba(255,255,255,.08); }
.tmx-navbar { min-height: 92px; }
.tmx-brand__link { display: inline-flex; align-items: center; gap: 13px; color: var(--tmx-white); }
.tmx-brand__link:hover { color: var(--tmx-white); }
.tmx-brand img, .tmx-brand .custom-logo, .tmx-brand__logo { width: 72px; height: 72px; max-height: 72px; object-fit: contain; }
.tmx-brand__wordmark { display: flex; flex-direction: column; line-height: 1.15; }
.tmx-brand__wordmark strong { color: var(--tmx-gold); font-size: 1.22rem; letter-spacing: .04em; }
.tmx-brand__wordmark small { margin-top: 5px; color: rgba(255,255,255,.66); font-size: .68rem; }
.tmx-menu > li > a { color: rgba(255,255,255,.9); }
.tmx-menu > li > a:hover, .tmx-menu > li.current-menu-item > a, .tmx-menu > li.current_page_item > a { color: var(--tmx-gold); }
.tmx-menu .sub-menu { border-color: #2b2d31; background: #111316; color: var(--tmx-white); }
.tmx-menu .sub-menu a:hover { background: #25282d; color: var(--tmx-gold); }
.tmx-language { border-color: rgba(255,208,0,.55); color: var(--tmx-gold); }
.tmx-language:hover { background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-menu-toggle { border: 1px solid rgba(255,208,0,.55); background: #111316; color: var(--tmx-gold); }
.tmx-checker-stripe { height: 10px; background-color: var(--tmx-gold); background-image: linear-gradient(45deg,#090a0c 25%,transparent 25%),linear-gradient(-45deg,#090a0c 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#090a0c 75%),linear-gradient(-45deg,transparent 75%,#090a0c 75%); background-size: 20px 20px; background-position: 0 0,0 10px,10px -10px,-10px 0; }

/* Hero */
.tmx-hero { min-height: 750px; }
.tmx-hero__overlay { background: linear-gradient(90deg,rgba(4,5,6,.96) 0%,rgba(4,5,6,.86) 45%,rgba(4,5,6,.42) 100%),linear-gradient(0deg,rgba(4,5,6,.58),transparent 52%); }
.tmx-hero h1 { font-size: clamp(3rem,6vw,5.75rem); }
.tmx-hero__content { max-width: 800px; }
.tmx-hero__proof svg { color: var(--tmx-gold); }
.tmx-hero-form { border-color: rgba(255,208,0,.34); background: rgba(255,255,255,.985); }
.tmx-hero-estimator { padding: clamp(20px,2.6vw,32px); }
.tmx-page-hero--simple { background: radial-gradient(circle at 85% 12%,rgba(255,208,0,.18),transparent 34%),var(--tmx-ink); }
.tmx-page-hero--landing, .tmx-page-hero--pricing { padding-block: 30px 82px; background: radial-gradient(circle at 90% 15%,rgba(255,208,0,.13),transparent 31%),var(--tmx-ink); }
.tmx-page-hero__image::before { border-color: rgba(255,208,0,.5); }
.tmx-source-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.tmx-source-pills span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.04); font-size: .75rem; }
.tmx-source-pills svg { color: var(--tmx-gold); }

/* Reusable estimator */
.tmx-section--simulator { background: linear-gradient(180deg,#fff,#f7f7f2); }
.tmx-price-simulator { padding: clamp(24px,4vw,44px); border: 1px solid var(--tmx-border); border-radius: 28px; background: var(--tmx-white); box-shadow: var(--tmx-shadow); }
.tmx-hero-form .tmx-price-simulator { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.tmx-simulator-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.tmx-simulator-heading > span, .tmx-card-icon, .tmx-fleet-card__icon { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 50px; border-radius: 14px; background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-simulator-heading p { margin: 0; color: var(--tmx-muted); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tmx-simulator-heading h2 { margin: 3px 0 0; font-size: clamp(1.35rem,2vw,1.85rem); letter-spacing: -.025em; }
.tmx-price-simulator--compact .tmx-simulator-heading { margin-bottom: 20px; }
.tmx-price-simulator--compact .tmx-simulator-heading > span { width: 44px; height: 44px; flex-basis: 44px; }
.tmx-price-simulator--compact .tmx-simulator-heading h2 { font-size: 1.35rem; }
.tmx-simulator-form { display: grid; grid-template-columns: minmax(170px,1fr) 48px minmax(170px,1fr) minmax(145px,.55fr) minmax(185px,.72fr); gap: 12px; align-items: end; }
.tmx-price-simulator--compact .tmx-simulator-form { grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr); }
.tmx-price-simulator--compact .tmx-field--trip, .tmx-price-simulator--compact .tmx-field--submit { grid-column: 1 / -1; }
.tmx-simulator-form .tmx-field label { font-size: .74rem; }
.tmx-simulator-form select { min-height: 52px; padding-right: 36px; }
.tmx-swap-route { width: 48px; height: 52px; display: grid; place-items: center; padding: 0; border: 1px solid var(--tmx-border); border-radius: 12px; background: #f7f7f2; color: var(--tmx-ink); transition: var(--tmx-transition); }
.tmx-price-simulator--compact .tmx-swap-route { width: 42px; }
.tmx-swap-route:hover { border-color: var(--tmx-gold); background: var(--tmx-gold); }
.tmx-simulator-status { min-height: 24px; margin-top: 14px; color: var(--tmx-muted); font-size: .84rem; }
.tmx-price-results { margin-top: 8px; padding-top: 24px; border-top: 1px solid var(--tmx-border); }
.tmx-results-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.tmx-results-heading h3 { margin: 0; font-size: 1.35rem; }
.tmx-results-heading p { max-width: 520px; margin: 0; color: var(--tmx-muted); font-size: .78rem; text-align: right; }
.tmx-price-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.tmx-price-card { position: relative; min-width: 0; padding: 20px; border: 1px solid var(--tmx-border); border-radius: 16px; background: #fff; }
.tmx-price-card--available { border-top: 4px solid var(--tmx-gold); }
.tmx-price-card--confirm { border-top: 4px solid #e39700; background: #fffaf0; }
.tmx-price-card--quote { border-top: 4px solid #a5a8af; background: #f8f8f8; }
.tmx-price-card__icon { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 14px; border-radius: 10px; background: #111316; color: var(--tmx-gold); font-size: .55rem; }
.tmx-price-card h4 { min-height: 42px; margin-bottom: 10px; font-size: .95rem; letter-spacing: -.01em; }
.tmx-price-card__status { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #f0f1f2; color: #555962; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.tmx-price-card--available .tmx-price-card__status { background: #fff3aa; color: #5f4a00; }
.tmx-price-card--confirm .tmx-price-card__status { background: #ffe5b3; color: #744900; }
.tmx-price-card__amount { display: block; margin: 16px 0 4px; font-size: clamp(1.55rem,2.4vw,2.15rem); line-height: 1; overflow-wrap: anywhere; }
.tmx-price-card p { min-height: 48px; margin: 9px 0 16px; color: var(--tmx-muted); font-size: .72rem; line-height: 1.45; }
.tmx-price-card .tmx-button { min-height: 42px; padding-inline: 12px; font-size: .76rem; }
.tmx-result-source { margin: 16px 0 0; color: var(--tmx-muted); font-size: .72rem; text-align: right; }
.tmx-price-disclaimer { margin: 18px 0 0; padding: 13px 15px; border-left: 4px solid var(--tmx-gold); background: #fff9d8; color: #665200; font-size: .74rem; line-height: 1.5; }
.tmx-simulator-alternative { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--tmx-border); color: var(--tmx-muted); font-size: .8rem; }
.tmx-simulator-alternative a { display: inline-flex; align-items: center; gap: 8px; color: var(--tmx-ink); font-weight: 800; }
.tmx-simulator-alternative a:hover { color: #806100; }
.tmx-route-directory { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--tmx-border); }
.tmx-route-directory__header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.tmx-route-directory__header h3 { margin: 0; font-size: 1.2rem; }
.tmx-route-search { width: min(100%,360px); }
.tmx-route-search input { width: 100%; min-height: 44px; padding: 10px 13px; border: 1px solid var(--tmx-border); border-radius: 10px; }
.tmx-route-list { display: flex; flex-wrap: wrap; gap: 8px; max-height: 360px; overflow: auto; padding-right: 6px; }
.tmx-route-pill { padding: 8px 11px; border: 1px solid var(--tmx-border); border-radius: 999px; background: #fff; color: var(--tmx-ink); font-size: .73rem; }
.tmx-route-pill:hover { border-color: var(--tmx-gold); background: #fff7c2; }

/* New conversion components */
.tmx-card-icon { width: 44px; height: 44px; margin: -48px 0 20px; position: relative; z-index: 2; border: 4px solid var(--tmx-white); border-radius: 14px; }
.tmx-service-card__body { position: relative; }
.tmx-service-card--directory h2 { font-size: 1.45rem; }
.tmx-route-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.tmx-route-card { position: relative; min-height: 190px; display: flex; flex-direction: column; padding: 24px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: linear-gradient(145deg,#17191d,#0d0e10); color: var(--tmx-white); transition: var(--tmx-transition); }
.tmx-route-card:hover { transform: translateY(-4px); border-color: var(--tmx-gold); color: var(--tmx-white); }
.tmx-route-card__icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 26px; border-radius: 12px; background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-route-card__cities { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 1.08rem; }
.tmx-route-card__cities b { color: var(--tmx-gold); }
.tmx-route-card small { margin-top: 7px; padding-right: 36px; color: rgba(255,255,255,.58); }
.tmx-route-card__arrow { position: absolute; right: 20px; bottom: 20px; color: var(--tmx-gold); }
.tmx-fleet-mini-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 24px 0 30px; }
.tmx-fleet-mini-grid span { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--tmx-border); border-radius: 12px; background: #fff; }
.tmx-fleet-mini-grid svg { color: #806100; }
.tmx-city-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.tmx-city-grid a { display: grid; grid-template-columns: 42px 1fr 22px; align-items: center; gap: 13px; padding: 18px; border: 1px solid var(--tmx-border); border-radius: 14px; background: #fff; transition: var(--tmx-transition); }
.tmx-city-grid a:hover { transform: translateY(-3px); border-color: var(--tmx-gold); color: var(--tmx-ink); box-shadow: var(--tmx-shadow-sm); }
.tmx-city-grid a > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #fff4aa; color: #705600; }
.tmx-cta-box p:not(.tmx-eyebrow) { max-width: 720px; margin-top: 14px; color: rgba(255,255,255,.64); }
.tmx-cta-phone { display: inline-flex; align-items: center; gap: 8px; padding: 10px 0; color: var(--tmx-gold); font-weight: 800; }
.tmx-action-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }

/* Landing content */
.tmx-local-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 40px; }
.tmx-local-card { padding: 24px; border: 1px solid var(--tmx-border); border-radius: 16px; background: var(--tmx-cream); }
.tmx-local-card > span { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 12px; background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-local-card h2 { margin-top: 0; font-size: 1.25rem; }
.tmx-local-card .tmx-check-list { margin-bottom: 0; }
.tmx-landing-aside { border-top: 5px solid var(--tmx-gold); }

/* Destination directory */
.tmx-location-card { display: block; padding: 26px; border: 1px solid var(--tmx-border); border-radius: 18px; background: #fff; transition: var(--tmx-transition); }
.tmx-location-card:hover { transform: translateY(-4px); border-color: var(--tmx-gold); color: var(--tmx-ink); box-shadow: var(--tmx-shadow-sm); }
.tmx-location-card > span, .tmx-airport-card > span, .tmx-simple-card > span { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 13px; background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-location-card h3 { font-size: 1.35rem; }
.tmx-location-card p, .tmx-airport-card p { color: var(--tmx-muted); }
.tmx-location-card b, .tmx-airport-card b { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; }
.tmx-airport-card { display: block; transition: var(--tmx-transition); }
.tmx-airport-card:hover { transform: translateY(-4px); border-color: var(--tmx-gold); color: var(--tmx-ink); box-shadow: var(--tmx-shadow-sm); }

/* Fleet */
.tmx-fleet-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
.tmx-fleet-card { display: grid; grid-template-columns: minmax(220px,.9fr) minmax(0,1.1fr); }
.tmx-fleet-card__image { position: relative; min-height: 100%; overflow: hidden; }
.tmx-fleet-card__image img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.tmx-fleet-card__image > span { position: absolute; left: 18px; bottom: 18px; padding: 8px 12px; border-radius: 999px; background: var(--tmx-gold); color: var(--tmx-ink); font-weight: 900; }
.tmx-fleet-card__body { padding: 28px; }
.tmx-fleet-card__icon { width: 46px; height: 46px; margin-bottom: 20px; }
.tmx-fleet-card__body small { color: #806100; font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }

/* Booking */
.tmx-booking-steps { border-bottom: 1px solid var(--tmx-border); background: #fff; }
.tmx-booking-steps__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.tmx-booking-steps__grid > div { min-height: 100px; display: grid; grid-template-columns: 42px 1fr; grid-template-rows: auto auto; align-content: center; column-gap: 13px; padding: 18px 24px; border-right: 1px solid var(--tmx-border); }
.tmx-booking-steps__grid > div:first-child { border-left: 1px solid var(--tmx-border); }
.tmx-booking-steps__grid span { grid-row: 1 / 3; width: 42px; height: 42px; display: grid; place-items: center; align-self: center; border-radius: 50%; background: var(--tmx-gold); font-weight: 900; }
.tmx-booking-steps__grid small { color: var(--tmx-muted); }
.tmx-selected-route { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid #ead46e; border-radius: 12px; background: #fff9d6; }
.tmx-selected-route > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 11px; background: var(--tmx-gold); }
.tmx-selected-route div { display: flex; flex-direction: column; min-width: 0; }
.tmx-selected-route small { color: var(--tmx-muted); }
.tmx-selected-route strong { overflow-wrap: anywhere; }
.tmx-selected-route b { font-size: 1.15rem; }
.tmx-confirmation-note { display: flex; gap: 14px; margin-top: 22px; padding: 20px; border-radius: 14px; background: #111316; color: #fff; }
.tmx-confirmation-note > span { color: var(--tmx-gold); }
.tmx-confirmation-note p { margin: 4px 0 0; color: rgba(255,255,255,.65); font-size: .78rem; }

/* Pricing explanation */
.tmx-rule-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 30px; }
.tmx-rule-grid > div { padding: 22px; border: 1px solid var(--tmx-border); border-radius: 14px; background: #fff; }
.tmx-rule-grid > div > span { display: inline-grid; min-width: 42px; height: 42px; place-items: center; margin-bottom: 16px; padding-inline: 8px; border-radius: 10px; background: var(--tmx-gold); color: var(--tmx-ink); font-weight: 900; }
.tmx-rule-grid h3 { margin-bottom: 8px; font-size: 1.05rem; }
.tmx-rule-grid p { margin: 0; font-size: .86rem; }
.tmx-data-note { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--tmx-border); }
.tmx-data-note p { margin: 5px 0 0; color: var(--tmx-muted); font-size: .78rem; }

/* Contact and footer identity */
.tmx-contact-card > svg:first-child, .tmx-contact-line > svg { color: var(--tmx-ink); background: var(--tmx-gold); }
.tmx-contact-line > svg { width: 34px; height: 34px; padding: 8px; border-radius: 9px; }
.tmx-service-area > span { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 16px; border-radius: 12px; background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-small-note { font-size: .78rem; }
.tmx-footer-brand__identity { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.tmx-footer-brand__identity img { width: 78px; margin: 0; }
.tmx-footer-brand__identity div { display: flex; flex-direction: column; }
.tmx-footer-brand__identity strong { color: var(--tmx-gold); font-size: 1.05rem; }
.tmx-footer-brand__identity small { color: rgba(255,255,255,.58); font-size: .69rem; }
.tmx-site-footer { padding-top: 0; }
.tmx-site-footer > .tmx-checker-stripe { margin-bottom: 68px; }

/* Miscellaneous */
.tmx-empty-state { padding: 56px; border: 1px solid var(--tmx-border); border-radius: 22px; background: var(--tmx-cream); text-align: center; }
.tmx-empty-state > span { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 16px; background: var(--tmx-gold); }
.tmx-empty-state p { max-width: 660px; margin-inline: auto; color: var(--tmx-muted); }
.tmx-simple-card { transition: var(--tmx-transition); }
.tmx-simple-card:hover { border-color: var(--tmx-gold); box-shadow: var(--tmx-shadow-sm); }
.tmx-prose a { color: #806100; }
.tmx-form-heading > span { background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-field input:focus, .tmx-field select:focus, .tmx-field textarea:focus { border-color: #d2a900; box-shadow: 0 0 0 3px rgba(255,208,0,.22); }
.tmx-process-grid li > span { color: #806100; }
.tmx-section--dark .tmx-process-grid li { border-color: rgba(255,255,255,.13); background: #131518; }
.tmx-section--dark .tmx-process-grid h3 { color: #fff; }
.tmx-section--dark .tmx-process-grid p { color: rgba(255,255,255,.58); }
.tmx-cta-box { background: radial-gradient(circle at 85% 20%,rgba(255,208,0,.22),transparent 34%),linear-gradient(135deg,#1d1f23,#090a0c); }
.tmx-legal-warning { border-color: #e3c444; background: #fff9d8; color: #654f00; }

@media (max-width: 1180px) {
  .tmx-simulator-form { grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr); }
  .tmx-simulator-form .tmx-field--trip, .tmx-simulator-form .tmx-field--submit { grid-column: span 1; }
  .tmx-simulator-form .tmx-field--trip { grid-column: 1 / 2; }
  .tmx-simulator-form .tmx-field--submit { grid-column: 2 / 4; }
  .tmx-price-simulator--compact .tmx-field--trip, .tmx-price-simulator--compact .tmx-field--submit { grid-column: 1 / -1; }
  .tmx-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-fleet-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .tmx-primary-nav { inset: 140px 0 0; background: #08090b; color: #fff; }
  .tmx-menu > li { border-bottom-color: rgba(255,255,255,.12); }
  .tmx-menu > li > a { color: #fff; }
  .tmx-menu .sub-menu { background: transparent; }
  .tmx-nav-actions { align-items: center; }
  .tmx-route-card-grid, .tmx-city-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tmx-local-grid { grid-template-columns: 1fr; }
  .tmx-mobile-actions { height: 70px; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 1fr; background: #fff; }
  .tmx-mobile-actions a:nth-child(2), .tmx-mobile-actions a:nth-child(3) { background: transparent; color: var(--tmx-ink); }
  .tmx-mobile-actions a:last-child { background: var(--tmx-gold); color: var(--tmx-ink); }
  body { padding-bottom: 70px; }
}

@media (max-width: 720px) {
  .tmx-simulator-form, .tmx-price-simulator--compact .tmx-simulator-form { grid-template-columns: 1fr; }
  .tmx-simulator-form .tmx-field, .tmx-simulator-form .tmx-field--trip, .tmx-simulator-form .tmx-field--submit { grid-column: 1; }
  .tmx-swap-route, .tmx-price-simulator--compact .tmx-swap-route { width: 100%; height: 42px; }
  .tmx-swap-route svg { transform: rotate(90deg); }
  .tmx-results-heading { align-items: flex-start; flex-direction: column; }
  .tmx-results-heading p { text-align: left; }
  .tmx-price-grid { grid-template-columns: 1fr; }
  .tmx-price-card h4, .tmx-price-card p { min-height: 0; }
  .tmx-simulator-alternative, .tmx-route-directory__header { align-items: flex-start; flex-direction: column; }
  .tmx-route-search { width: 100%; }
  .tmx-route-card-grid, .tmx-city-grid, .tmx-rule-grid { grid-template-columns: 1fr; }
  .tmx-fleet-card { grid-template-columns: 1fr; }
  .tmx-fleet-card__image img { min-height: 250px; }
  .tmx-booking-steps__grid { grid-template-columns: 1fr; }
  .tmx-booking-steps__grid > div { border-left: 1px solid var(--tmx-border); border-bottom: 1px solid var(--tmx-border); }
  .tmx-source-pills { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .tmx-topbar__availability { font-size: .7rem; }
  .tmx-navbar { min-height: 80px; }
  .tmx-brand img, .tmx-brand .custom-logo, .tmx-brand__logo { width: 56px; height: 56px; }
  .tmx-brand__wordmark strong { font-size: .98rem; }
  .tmx-brand__wordmark small { display: none; }
  .tmx-primary-nav { inset: 128px 0 0; }
  .tmx-hero h1 { font-size: clamp(2.65rem,14vw,4rem); }
  .tmx-price-simulator { padding: 20px; border-radius: 20px; }
  .tmx-hero-form .tmx-price-simulator { padding: 0; }
  .tmx-route-list { max-height: 290px; }
  .tmx-selected-route { grid-template-columns: 40px 1fr; }
  .tmx-selected-route b { grid-column: 2; }
  .tmx-footer-brand__identity img { width: 64px; }
}


/* ===== v1.1.0: homepage slider, WhatsApp CTA and maintenance preview ===== */
.tmx-home-slider { position: relative; isolation: isolate; }
.tmx-home-slider__media { position: absolute; z-index: -2; inset: 0; overflow: hidden; background: var(--tmx-ink); }
.tmx-home-slider__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; opacity: 0; transform: scale(1.04); transition: opacity .7s ease, transform 6.5s ease; }
.tmx-home-slider__image.is-active { opacity: 1; transform: scale(1.01); }
.tmx-home-slider .tmx-hero__overlay { z-index: -1; }
.tmx-home-slider__content { min-width: 0; }
.tmx-home-slider__panels { display: grid; min-height: 440px; align-items: center; }
.tmx-home-slide { grid-area: 1 / 1; max-width: 800px; animation: tmx-slide-in .48s ease both; }
.tmx-home-slide[hidden] { display: none; }
.tmx-home-slide__title { max-width: 800px; margin: 0 0 22px; color: var(--tmx-white); font-size: clamp(3rem,6vw,5.75rem); line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.tmx-button--whatsapp { border-color: #25d366; background: #25d366; color: #07140b; }
.tmx-button--whatsapp:hover { border-color: #20bd5a; background: #20bd5a; color: #07140b; }
.tmx-home-slider__controls { display: flex; align-items: center; gap: 13px; margin-top: 26px; }
.tmx-slider-arrow { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(8,9,11,.34); color: var(--tmx-white); cursor: pointer; backdrop-filter: blur(8px); }
.tmx-slider-arrow:hover, .tmx-slider-arrow:focus-visible { border-color: var(--tmx-gold); background: var(--tmx-gold); color: var(--tmx-ink); }
.tmx-slider-arrow svg { width: 18px; height: 18px; }
.tmx-slider-arrow:first-child svg { transform: rotate(180deg); }
.tmx-slider-dots { display: flex; align-items: center; gap: 8px; }
.tmx-slider-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.46); cursor: pointer; transition: width .25s ease, background .25s ease; }
.tmx-slider-dots button.is-active { width: 34px; background: var(--tmx-gold); }
.tmx-whatsapp-float { position: fixed; z-index: 280; right: 24px; bottom: 24px; display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 18px; border-radius: 999px; background: #25d366; color: #07140b; box-shadow: 0 14px 38px rgba(0,0,0,.24); font-weight: 850; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.tmx-whatsapp-float:hover { color: #07140b; transform: translateY(-3px); box-shadow: 0 18px 44px rgba(0,0,0,.3); }
.tmx-whatsapp-float svg { width: 25px; height: 25px; }
#wpadminbar .tmx-maintenance-admin-bar > .ab-item { background: #b32d2e !important; color: #fff !important; font-weight: 700; }
@keyframes tmx-slide-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1080px) {
  .tmx-home-slider__panels { min-height: 360px; }
}
@media (max-width: 900px) {
  .tmx-home-slider__panels { min-height: 0; }
  .tmx-whatsapp-float { display: none; }
}
@media (max-width: 640px) {
  .tmx-home-slide__title { font-size: clamp(2.65rem,14vw,4rem); }
  .tmx-home-slider__controls { margin-top: 20px; }
  .tmx-slider-arrow { width: 40px; height: 40px; }
  .tmx-home-slider .tmx-hero__actions { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .tmx-home-slider__image, .tmx-home-slide { transition: none; animation: none; transform: none; }
}


.tmx-pricing-guides { padding-top: 0; }
.tmx-visual-card { background: #fff; border: 1px solid rgba(10,10,10,.08); border-radius: 24px; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,.08); }
.tmx-visual-card__image img { width: 100%; height: auto; display: block; aspect-ratio: 16 / 10; object-fit: cover; background: #f3f3f3; }
.tmx-visual-card__body { padding: 1.25rem 1.25rem 1.5rem; }
.tmx-visual-card__body h3 { margin: 0 0 .5rem; }
.tmx-visual-card__body p { margin: 0 0 1rem; color: var(--tmx-text-soft); }


.tmx-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.tmx-gallery-card { margin:0; border-radius:22px; overflow:hidden; background:#fff; border:1px solid rgba(10,10,10,.08); box-shadow:0 16px 40px rgba(0,0,0,.06); }
.tmx-gallery-card img { width:100%; height:100%; display:block; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 900px) { .tmx-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .tmx-gallery-grid { grid-template-columns:1fr; } }

/* =========================================================
   Taxi Maroc Premium v1.4.0 — page redesign
   Contact, pricing and fleet layouts
   ========================================================= */
:root {
  --tmx-v140-panel: #ffffff;
  --tmx-v140-soft: #f5f5f0;
  --tmx-v140-line: rgba(8,9,11,.10);
  --tmx-v140-yellow-soft: #fff4ad;
  --tmx-v140-dark-panel: #111316;
  --tmx-v140-green: #128c5b;
}

.tmx-v140-page { overflow: clip; }
.tmx-v140-page .tmx-breadcrumbs { padding-top: 0; color: rgba(255,255,255,.62); }
.tmx-v140-page .tmx-breadcrumbs a:hover { color: var(--tmx-gold); }
.tmx-v140-page h1 { text-wrap: balance; }
.tmx-v140-page h2 { text-wrap: balance; }
.tmx-v140-page .tmx-button { min-height: 52px; }
.tmx-button--outline { background: transparent; color: var(--tmx-ink); border-color: rgba(8,9,11,.18); }
.tmx-button--outline:hover { background: var(--tmx-ink); color: var(--tmx-white); border-color: var(--tmx-ink); }

/* Shared page hero */
.tmx-v140-hero {
  position: relative;
  padding-block: 30px clamp(68px,8vw,116px);
  background:
    radial-gradient(circle at 88% 10%, rgba(255,208,0,.20), transparent 31%),
    linear-gradient(135deg,#07080a 0%,#111318 60%,#08090b 100%);
  color: #fff;
}
.tmx-v140-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 8px;
  background: repeating-linear-gradient(90deg,var(--tmx-gold) 0 32px,#111 32px 64px);
}
.tmx-v140-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr);
  gap: clamp(46px,7vw,96px);
  align-items: center;
  margin-top: 34px;
}
.tmx-v140-hero__content { position: relative; z-index: 2; }
.tmx-v140-hero__content h1 { max-width: 820px; margin-bottom: 22px; font-size: clamp(2.75rem,5.4vw,5.6rem); letter-spacing: -.055em; }
.tmx-v140-hero__lead { max-width: 720px; margin: 0; color: rgba(255,255,255,.74); font-size: clamp(1.03rem,1.5vw,1.25rem); line-height: 1.7; }
.tmx-v140-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.tmx-v140-hero__visual { position: relative; min-width: 0; }
.tmx-v140-hero__visual::before {
  content:'';
  position:absolute;
  inset: 22px -22px -22px 22px;
  border: 1px solid rgba(255,208,0,.50);
  border-radius: 28px;
}
.tmx-v140-hero__visual::after {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:26px;
  background: linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28));
}
.tmx-v140-hero__visual > img { position:relative; z-index:1; width:100%; aspect-ratio: 16/11; object-fit:cover; border-radius:26px; box-shadow:0 30px 80px rgba(0,0,0,.32); }
.tmx-v140-proof-row { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:30px; color:rgba(255,255,255,.75); font-size:.82rem; }
.tmx-v140-proof-row span { display:flex; align-items:center; gap:8px; }
.tmx-v140-proof-row svg { color:var(--tmx-gold); }
.tmx-v140-hero-card,
.tmx-v140-image-label {
  position:absolute;
  z-index:3;
  right:-24px;
  bottom:-26px;
  display:flex;
  align-items:center;
  gap:14px;
  min-width:min(360px,85%);
  padding:18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(15,17,20,.94);
  color:#fff;
  box-shadow:0 22px 55px rgba(0,0,0,.30);
  backdrop-filter:blur(12px);
}
.tmx-v140-hero-card__icon,
.tmx-v140-image-label > span { width:46px; height:46px; display:grid; place-items:center; flex:0 0 46px; border-radius:13px; background:var(--tmx-gold); color:var(--tmx-ink); }
.tmx-v140-hero-card div,
.tmx-v140-image-label div { display:flex; min-width:0; flex:1; flex-direction:column; }
.tmx-v140-hero-card small,
.tmx-v140-image-label small { color:rgba(255,255,255,.58); font-size:.68rem; font-weight:800; letter-spacing:.10em; text-transform:uppercase; }
.tmx-v140-hero-card strong,
.tmx-v140-image-label strong { overflow-wrap:anywhere; font-size:.96rem; }
.tmx-v140-hero-card > a { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); color:var(--tmx-gold); }

/* Shared headings */
.tmx-v140-section-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr); gap:40px; align-items:end; margin-bottom:42px; }
.tmx-v140-section-heading h2 { margin-bottom:0; }
.tmx-v140-section-heading > p { margin:0; color:var(--tmx-muted); }
.tmx-v140-section-heading--light h2 { color:#fff; }
.tmx-v140-section-heading--light > p { color:rgba(255,255,255,.62); }
.tmx-v140-icon-badge { width:52px; height:52px; display:grid; place-items:center; flex:0 0 52px; border-radius:15px; background:var(--tmx-gold); color:var(--tmx-ink); }
.tmx-v140-inline-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-top:16px; color:var(--tmx-gold); font-weight:760; }
.tmx-v140-inline-link:hover { color:#fff; }

/* Contact */
.tmx-v140-contact-actions { position:relative; z-index:5; margin-top:-30px; }
.tmx-v140-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.tmx-v140-action-card {
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 24px;
  gap:15px;
  align-items:center;
  min-height:126px;
  padding:20px;
  border:1px solid var(--tmx-v140-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 45px rgba(8,9,11,.09);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.tmx-v140-action-card:hover { transform:translateY(-4px); border-color:var(--tmx-gold); color:var(--tmx-ink); box-shadow:0 24px 60px rgba(8,9,11,.13); }
.tmx-v140-action-card > span { width:52px; height:52px; display:grid; place-items:center; border-radius:15px; background:#111316; color:var(--tmx-gold); }
.tmx-v140-action-card--whatsapp > span { background:var(--tmx-v140-green); color:#fff; }
.tmx-v140-action-card div { display:flex; min-width:0; flex-direction:column; }
.tmx-v140-action-card small { color:var(--tmx-muted); font-size:.68rem; font-weight:800; letter-spacing:.10em; text-transform:uppercase; }
.tmx-v140-action-card strong { overflow-wrap:anywhere; font-size:1rem; }
.tmx-v140-action-card em { margin-top:5px; color:#806100; font-size:.76rem; font-style:normal; font-weight:740; }
.tmx-v140-action-card > svg { justify-self:end; color:#8b8e95; }
.tmx-v140-contact-main { padding-top:clamp(80px,9vw,124px); }
.tmx-v140-contact-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); gap:clamp(28px,5vw,64px); align-items:start; }
.tmx-v140-form-card { padding:clamp(24px,4vw,46px); border:1px solid var(--tmx-v140-line); border-radius:28px; background:#fff; box-shadow:0 22px 65px rgba(8,9,11,.08); }
.tmx-v140-section-intro { display:flex; gap:18px; align-items:flex-start; margin-bottom:28px; padding-bottom:26px; border-bottom:1px solid var(--tmx-v140-line); }
.tmx-v140-section-intro .tmx-eyebrow { margin-bottom:8px; }
.tmx-v140-section-intro h2 { margin-bottom:8px; font-size:clamp(1.8rem,3vw,2.7rem); }
.tmx-v140-section-intro p:last-child { margin:0; color:var(--tmx-muted); }
.tmx-v140-form { gap:18px; }
.tmx-v140-form .tmx-field label { display:block; margin-bottom:7px; color:#25272b; font-size:.79rem; font-weight:780; }
.tmx-v140-form input:not([type="checkbox"]),
.tmx-v140-form textarea,
.tmx-v140-form select { width:100%; min-height:52px; padding:13px 15px; border:1px solid #d7d9de; border-radius:12px; background:#fbfbfa; color:var(--tmx-ink); transition:border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.tmx-v140-form textarea { min-height:164px; resize:vertical; }
.tmx-v140-form input:focus,
.tmx-v140-form textarea:focus,
.tmx-v140-form select:focus { outline:none; border-color:#b18c00; background:#fff; box-shadow:0 0 0 4px rgba(255,208,0,.20); }
.tmx-v140-form-submit { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:4px; padding-top:20px; border-top:1px solid var(--tmx-v140-line); }
.tmx-v140-form-submit > span { display:flex; align-items:center; gap:8px; max-width:350px; color:var(--tmx-muted); font-size:.72rem; }
.tmx-v140-form-submit > span svg { color:#826700; }
.tmx-v140-contact-sidebar { display:grid; gap:18px; position:sticky; top:110px; }
.tmx-v140-side-card { padding:26px; border:1px solid var(--tmx-v140-line); border-radius:22px; background:#fff; box-shadow:0 12px 35px rgba(8,9,11,.05); }
.tmx-v140-side-card--dark { background:linear-gradient(145deg,#17191d,#090a0c); color:#fff; border-color:rgba(255,255,255,.10); box-shadow:0 22px 60px rgba(8,9,11,.18); }
.tmx-v140-side-card--dark h2 { margin-bottom:12px; font-size:clamp(1.55rem,2.6vw,2.25rem); }
.tmx-v140-side-card--dark > p:not(.tmx-eyebrow) { color:rgba(255,255,255,.64); }
.tmx-v140-side-card h3 { margin-top:16px; }
.tmx-v140-side-card > p:last-child { margin-bottom:0; color:var(--tmx-muted); }
.tmx-v140-address { padding:14px; border-radius:12px; background:var(--tmx-v140-soft); color:var(--tmx-ink)!important; }
.tmx-v140-note { padding:13px 14px; border-left:4px solid var(--tmx-gold); background:#fff9d9; color:#665200!important; font-size:.78rem; }
.tmx-v140-checks { display:grid; gap:13px; margin:16px 0 0; padding:0; list-style:none; }
.tmx-v140-checks li { display:flex; align-items:center; gap:11px; color:#383b41; font-size:.88rem; }
.tmx-v140-checks svg { width:34px; height:34px; padding:8px; border-radius:10px; background:var(--tmx-v140-yellow-soft); color:#725a00; }

/* Pricing */
.tmx-v140-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:34px; max-width:700px; }
.tmx-v140-stats > div { padding:16px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(255,255,255,.055); }
.tmx-v140-stats strong { display:block; color:var(--tmx-gold); font-size:1.35rem; line-height:1.1; }
.tmx-v140-stats span { display:block; margin-top:5px; color:rgba(255,255,255,.58); font-size:.68rem; line-height:1.35; }
.tmx-v140-simulator-section { background:linear-gradient(180deg,#f5f5f0 0%,#fff 100%); }
.tmx-v140-simulator-layout { display:grid; grid-template-columns:minmax(290px,.34fr) minmax(0,.66fr); gap:28px; align-items:start; }
.tmx-v140-simulator-guide { position:sticky; top:110px; padding:32px; border-radius:24px; background:#fff; border:1px solid var(--tmx-v140-line); box-shadow:0 16px 45px rgba(8,9,11,.06); }
.tmx-v140-simulator-guide h2 { font-size:clamp(1.85rem,3vw,2.65rem); }
.tmx-v140-step-list { display:grid; gap:19px; margin:28px 0; padding:0; list-style:none; }
.tmx-v140-step-list li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:13px; align-items:start; }
.tmx-v140-step-list b { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--tmx-gold); color:var(--tmx-ink); }
.tmx-v140-step-list div { display:flex; flex-direction:column; }
.tmx-v140-step-list strong { font-size:.92rem; }
.tmx-v140-step-list span { margin-top:3px; color:var(--tmx-muted); font-size:.76rem; line-height:1.5; }
.tmx-v140-source-note { display:flex; gap:11px; padding:15px; border-radius:14px; background:#111316; color:#fff; }
.tmx-v140-source-note > svg { flex:0 0 24px; color:var(--tmx-gold); }
.tmx-v140-source-note p { display:flex; flex-direction:column; margin:0; }
.tmx-v140-source-note span { margin-top:4px; color:rgba(255,255,255,.58); font-size:.71rem; line-height:1.45; }
.tmx-v140-source-date { margin:12px 0 0; color:var(--tmx-muted); font-size:.68rem; }
.tmx-v140-simulator-card { min-width:0; }
.tmx-v140-simulator-card .tmx-price-simulator { padding:clamp(24px,4vw,42px); border-radius:26px; box-shadow:0 22px 70px rgba(8,9,11,.10); }
.tmx-v140-simulator-card .tmx-simulator-heading h2 { font-size:clamp(1.7rem,3vw,2.5rem); }
.tmx-v140-simulator-card .tmx-simulator-form { grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr); gap:14px; }
.tmx-v140-simulator-card .tmx-field--trip,
.tmx-v140-simulator-card .tmx-field--submit { grid-column:auto; }
.tmx-v140-simulator-card .tmx-field--trip { grid-column:1/2; }
.tmx-v140-simulator-card .tmx-field--submit { grid-column:2/4; align-self:end; }
.tmx-v140-simulator-card .tmx-field select,
.tmx-v140-simulator-card .tmx-field input { min-height:52px; border-radius:12px; background:#fbfbfa; }
.tmx-v140-simulator-card .tmx-swap-route { align-self:end; width:52px; height:52px; border-radius:12px; }
.tmx-v140-simulator-card .tmx-price-grid { gap:12px; }
.tmx-v140-simulator-card .tmx-price-card { border-radius:18px; box-shadow:0 8px 22px rgba(8,9,11,.04); }
.tmx-v140-distance-section { padding-top:clamp(70px,8vw,110px); }
.tmx-v140-distance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.tmx-v140-distance-card { overflow:hidden; display:grid; grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr); border:1px solid var(--tmx-v140-line); border-radius:24px; background:#fff; box-shadow:0 16px 50px rgba(8,9,11,.07); }
.tmx-v140-distance-card > img { width:100%; height:100%; min-height:360px; object-fit:cover; background:#f1f1ed; }
.tmx-v140-distance-card > div { padding:28px; }
.tmx-v140-distance-card > div > span { width:46px; height:46px; display:grid; place-items:center; margin-bottom:18px; border-radius:13px; background:#111316; color:var(--tmx-gold); }
.tmx-v140-distance-card small { color:#806100; font-size:.67rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.tmx-v140-distance-card h3 { margin-top:5px; }
.tmx-v140-distance-card p { color:var(--tmx-muted); }
.tmx-v140-rules-section { background:#0d0f12; color:#fff; }
.tmx-v140-rule-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.tmx-v140-rule-grid article { min-height:220px; padding:24px; border:1px solid rgba(255,255,255,.10); border-radius:19px; background:linear-gradient(145deg,#181a1e,#111316); }
.tmx-v140-rule-grid b { min-width:54px; height:44px; display:inline-grid; place-items:center; padding:0 10px; border-radius:12px; background:var(--tmx-gold); color:#111; font-size:1rem; }
.tmx-v140-rule-grid h3 { margin-top:22px; color:#fff; }
.tmx-v140-rule-grid p { margin:0; color:rgba(255,255,255,.58); font-size:.83rem; }
.tmx-v140-cta-band { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:30px; padding:22px 24px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.05); }
.tmx-v140-cta-band > div { display:flex; align-items:center; gap:14px; }
.tmx-v140-cta-band > div > span { width:48px; height:48px; display:grid; place-items:center; border-radius:13px; background:var(--tmx-gold); color:#111; }
.tmx-v140-cta-band p { display:flex; flex-direction:column; margin:0; }
.tmx-v140-cta-band small { color:rgba(255,255,255,.55); }

/* Fleet */
.tmx-v140-fleet-badge { position:absolute; z-index:3; left:-24px; bottom:-24px; width:138px; height:138px; display:flex; align-items:center; justify-content:center; flex-direction:column; border:7px solid #0d0f12; border-radius:50%; background:var(--tmx-gold); color:#111; text-align:center; box-shadow:0 20px 50px rgba(0,0,0,.30); }
.tmx-v140-fleet-badge strong { font-size:2.4rem; line-height:1; }
.tmx-v140-fleet-badge span { max-width:95px; margin-top:5px; font-size:.65rem; font-weight:820; line-height:1.2; text-transform:uppercase; }
.tmx-v140-fleet-section { background:linear-gradient(180deg,#fff,#f7f7f2); }
.tmx-v140-vehicle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.tmx-v140-vehicle-card { overflow:hidden; display:grid; grid-template-columns:minmax(250px,.90fr) minmax(0,1.10fr); min-height:440px; border:1px solid var(--tmx-v140-line); border-radius:26px; background:#fff; box-shadow:0 18px 52px rgba(8,9,11,.07); transition:transform .2s ease,box-shadow .2s ease; }
.tmx-v140-vehicle-card:hover { transform:translateY(-5px); box-shadow:0 28px 70px rgba(8,9,11,.12); }
.tmx-v140-vehicle-card__media { position:relative; min-height:100%; overflow:hidden; background:#deded8; }
.tmx-v140-vehicle-card__media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.45)); pointer-events:none; }
.tmx-v140-vehicle-card__media img { width:100%; height:100%; min-height:440px; object-fit:cover; transition:transform .55s ease; }
.tmx-v140-vehicle-card:hover img { transform:scale(1.035); }
.tmx-v140-capacity { position:absolute; z-index:2; left:16px; bottom:16px; display:flex; align-items:center; gap:7px; padding:9px 12px; border-radius:999px; background:var(--tmx-gold); color:#111; font-size:.76rem; font-weight:850; }
.tmx-v140-vehicle-card__media > small { position:absolute; z-index:2; top:16px; left:16px; padding:7px 10px; border-radius:999px; background:rgba(13,15,18,.82); color:#fff; font-size:.64rem; font-weight:820; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
.tmx-v140-vehicle-card__body { display:flex; flex-direction:column; padding:28px; }
.tmx-v140-best-for { margin:0 0 7px!important; color:#806100!important; font-size:.68rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.tmx-v140-vehicle-card__body h2 { margin-bottom:12px; font-size:clamp(1.65rem,2.8vw,2.3rem); }
.tmx-v140-vehicle-card__body > p { color:var(--tmx-muted); }
.tmx-v140-vehicle-card__body ul { display:grid; gap:9px; margin:6px 0 24px; padding:0; list-style:none; }
.tmx-v140-vehicle-card__body li { display:flex; gap:9px; align-items:flex-start; color:#34363b; font-size:.82rem; }
.tmx-v140-vehicle-card__body li svg { width:20px; height:20px; padding:3px; border-radius:50%; background:var(--tmx-v140-yellow-soft); color:#695300; }
.tmx-v140-vehicle-card__body .tmx-button { margin-top:auto; }
.tmx-v140-gallery-section { background:#0d0f12; color:#fff; }
.tmx-v140-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:220px; gap:14px; }
.tmx-v140-gallery-item { margin:0; overflow:hidden; border-radius:18px; border:1px solid rgba(255,255,255,.10); background:#181a1e; }
.tmx-v140-gallery-item--wide { grid-column:span 2; }
.tmx-v140-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.tmx-v140-gallery-item:hover img { transform:scale(1.045); }
.tmx-v140-choice-section { background:#f7f7f2; }
.tmx-v140-choice-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:clamp(34px,7vw,90px); align-items:center; }
.tmx-v140-choice-copy > p:not(.tmx-eyebrow) { max-width:760px; color:var(--tmx-muted); font-size:1.05rem; }
.tmx-v140-choice-points { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:28px; }
.tmx-v140-choice-points > div { display:flex; flex-direction:column; padding:18px; border:1px solid var(--tmx-v140-line); border-radius:16px; background:#fff; }
.tmx-v140-choice-points span { width:40px; height:40px; display:grid; place-items:center; margin-bottom:18px; border-radius:11px; background:#111316; color:var(--tmx-gold); }
.tmx-v140-choice-points small { margin-top:4px; color:var(--tmx-muted); font-size:.68rem; }
.tmx-v140-choice-card { padding:34px; border:1px solid var(--tmx-v140-line); border-radius:26px; background:#fff; box-shadow:0 24px 65px rgba(8,9,11,.09); }
.tmx-v140-choice-card .tmx-v140-icon-badge { margin-bottom:22px; }
.tmx-v140-choice-card h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.tmx-v140-choice-card > p:not(.tmx-eyebrow) { color:var(--tmx-muted); }

/* Responsive refonte */
@media (max-width: 1120px) {
  .tmx-v140-hero__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.82fr); gap:46px; }
  .tmx-v140-action-grid { grid-template-columns:1fr 1fr; }
  .tmx-v140-action-card:last-child { grid-column:1/-1; }
  .tmx-v140-vehicle-grid { grid-template-columns:1fr; }
  .tmx-v140-vehicle-card { min-height:390px; }
  .tmx-v140-vehicle-card__media img { min-height:390px; }
  .tmx-v140-distance-grid { grid-template-columns:1fr; }
  .tmx-v140-rule-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .tmx-v140-hero { padding-bottom:86px; }
  .tmx-v140-hero__grid,
  .tmx-v140-contact-layout,
  .tmx-v140-simulator-layout,
  .tmx-v140-choice-layout { grid-template-columns:1fr; }
  .tmx-v140-hero__visual { max-width:760px; }
  .tmx-v140-hero__visual::before { display:none; }
  .tmx-v140-hero-card,
  .tmx-v140-image-label { right:16px; bottom:-22px; }
  .tmx-v140-contact-sidebar,
  .tmx-v140-simulator-guide { position:static; }
  .tmx-v140-contact-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tmx-v140-contact-sidebar .tmx-v140-side-card--dark { grid-column:1/-1; }
  .tmx-v140-section-heading { grid-template-columns:1fr; gap:14px; }
  .tmx-v140-stats { max-width:none; }
  .tmx-v140-simulator-guide { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 30px; }
  .tmx-v140-simulator-guide > .tmx-eyebrow,
  .tmx-v140-simulator-guide > h2 { grid-column:1/-1; }
  .tmx-v140-step-list { margin:0; }
  .tmx-v140-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tmx-v140-choice-points { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .tmx-v140-page .tmx-container { width:min(calc(100% - 28px),var(--tmx-container)); }
  .tmx-v140-hero { padding-top:22px; padding-bottom:74px; }
  .tmx-v140-hero__grid { margin-top:24px; gap:34px; }
  .tmx-v140-hero__content h1 { font-size:clamp(2.45rem,13vw,4.1rem); }
  .tmx-v140-hero__actions { display:grid; grid-template-columns:1fr; }
  .tmx-v140-hero__actions .tmx-button { width:100%; }
  .tmx-v140-proof-row { display:grid; }
  .tmx-v140-hero__visual > img { aspect-ratio:4/3; border-radius:20px; }
  .tmx-v140-hero-card,
  .tmx-v140-image-label { position:relative; right:auto; bottom:auto; width:calc(100% - 24px); min-width:0; margin:-28px auto 0; }
  .tmx-v140-fleet-badge { left:14px; bottom:14px; width:104px; height:104px; border-width:5px; }
  .tmx-v140-fleet-badge strong { font-size:1.85rem; }
  .tmx-v140-action-grid { grid-template-columns:1fr; }
  .tmx-v140-action-card:last-child { grid-column:auto; }
  .tmx-v140-contact-actions { margin-top:-18px; }
  .tmx-v140-action-card { min-height:108px; }
  .tmx-v140-form-card,
  .tmx-v140-simulator-guide,
  .tmx-v140-choice-card { padding:22px; border-radius:20px; }
  .tmx-v140-section-intro { flex-direction:column; }
  .tmx-v140-contact-sidebar { grid-template-columns:1fr; }
  .tmx-v140-contact-sidebar .tmx-v140-side-card--dark { grid-column:auto; }
  .tmx-v140-form-submit { align-items:flex-start; flex-direction:column; }
  .tmx-v140-form-submit .tmx-button { width:100%; }
  .tmx-v140-stats { grid-template-columns:1fr; }
  .tmx-v140-simulator-guide { display:block; }
  .tmx-v140-step-list { margin:24px 0; }
  .tmx-v140-simulator-card .tmx-simulator-form { grid-template-columns:1fr; }
  .tmx-v140-simulator-card .tmx-field--trip,
  .tmx-v140-simulator-card .tmx-field--submit { grid-column:auto; }
  .tmx-v140-simulator-card .tmx-swap-route { width:100%; }
  .tmx-v140-distance-card { grid-template-columns:1fr; }
  .tmx-v140-distance-card > img { min-height:0; aspect-ratio:16/10; }
  .tmx-v140-rule-grid { grid-template-columns:1fr; }
  .tmx-v140-rule-grid article { min-height:0; }
  .tmx-v140-cta-band { align-items:stretch; flex-direction:column; }
  .tmx-v140-cta-band .tmx-button { width:100%; }
  .tmx-v140-vehicle-card { grid-template-columns:1fr; min-height:0; }
  .tmx-v140-vehicle-card__media img { min-height:0; aspect-ratio:4/3; }
  .tmx-v140-gallery-grid { grid-template-columns:1fr; grid-auto-rows:240px; }
  .tmx-v140-gallery-item--wide { grid-column:auto; }
  .tmx-v140-choice-points { grid-template-columns:1fr 1fr; }
}

@media (max-width: 440px) {
  .tmx-v140-action-card { grid-template-columns:46px minmax(0,1fr) 18px; padding:16px; }
  .tmx-v140-action-card > span { width:46px; height:46px; }
  .tmx-v140-choice-points { grid-template-columns:1fr; }
  .tmx-v140-gallery-grid { grid-auto-rows:210px; }
}

/* Payment by card / TPE section */
.tmx-payment-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:center}
.tmx-payment-media{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:28px;padding:1rem;box-shadow:0 18px 40px rgba(15,23,42,.08)}
.tmx-payment-media img{display:block;width:100%;height:auto;border-radius:20px;object-fit:cover}
.tmx-payment-content h2{margin:.35rem 0 1rem}
.tmx-payment-content>p{max-width:68ch}
.tmx-payment-list{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:.9rem}
.tmx-payment-list li{display:flex;gap:.75rem;align-items:flex-start;color:var(--tmx-text)}
.tmx-payment-list svg{width:20px;height:20px;flex:none;color:var(--tmx-primary)}
.tmx-payment-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.5rem}
.tmx-footer-payment{margin:.75rem 0 0;padding:1rem 1.1rem;border-radius:16px;background:rgba(250,204,21,.12);border:1px solid rgba(250,204,21,.26)}
.tmx-footer-payment strong{display:block;margin-bottom:.35rem;color:#fff}
.tmx-footer-payment p{margin:0;color:rgba(255,255,255,.82)}
@media (max-width: 860px){.tmx-payment-grid{grid-template-columns:1fr}}
