/*
Theme Name: MWS Pattaya Taxi Pro
Theme URI: https://www.mwstaxi.com/
Description: A high-performance, cleanly separated React-powered WordPress theme for MWS Pattaya Taxi. Version Pro with enhanced Post and Page typography.
Version: 2.0.0
Author: MWS Taxi
Author URI: https://www.mwstaxi.com/
License: All rights reserved
Text Domain: mwstaxipro
*/


/* =========================================================
   MWS Pattaya Taxi — Stylesheet
   Brand blue: #1E77BC
   ========================================================= */

:root {
  --brand: #1E77BC;
  --brand-dark: #155b91;
  --brand-soft: #e7f1fa;
  --brand-tint: #f4f9fd;
  --gold: oklch(0.78 0.13 80);
  --gold-soft: oklch(0.95 0.04 80);
  --ink: oklch(0.22 0.02 240);
  --ink-2: oklch(0.34 0.015 240);
  --body: oklch(0.46 0.012 240);
  --muted: oklch(0.62 0.008 240);
  --line: oklch(0.92 0.005 240);
  --line-2: oklch(0.86 0.006 240);
  --bg: oklch(0.985 0.004 240);
  --bg-2: #ffffff;
  --shadow-sm: 0 1px 2px rgba(20,33,61,.06), 0 1px 1px rgba(20,33,61,.04);
  --shadow-md: 0 8px 24px rgba(20,33,61,.08), 0 2px 6px rgba(20,33,61,.04);
  --shadow-lg: 0 24px 56px rgba(20,33,61,.12), 0 6px 16px rgba(20,33,61,.06);
  --r-sm: 8px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px;
  --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-display: "Sora", "Plus Jakarta Sans", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--font-body); color: var(--body);
  background: var(--bg); font-size: 16px; line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4 {
  font-family: var(--font-display); color: var(--ink); margin: 0;
  letter-spacing: -0.022em; text-wrap: balance; font-weight: 700;
}
p { margin: 0; text-wrap: pretty; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }

.mws-container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }

.primary,.ghost {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 18px; border-radius: 999px;
  font-weight: 700; font-size: 14px; letter-spacing: -0.01em;
  border: 1px solid transparent;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
  white-space: nowrap;
}
.primary { background: var(--brand); color: white; box-shadow: 0 6px 16px rgba(30,119,188,.28); }
.primary:hover { background: var(--brand-dark); transform: translateY(-1px); }
.primary.big { padding: 16px 24px; font-size: 15px; }
.ghost { background: white; color: var(--ink); border-color: var(--line-2); }
.ghost:hover { border-color: var(--brand); color: var(--brand); }
.ghost.big { padding: 16px 24px; font-size: 15px; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--brand);
}
.eyebrow.light { color: rgba(255,255,255,.85); }

/* Header */
.mws-utility { background: var(--ink); color: rgba(255,255,255,.85); font-size: 12.5px; }
.utility-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 8px 24px;
}
.utility-row strong { color: white; font-weight: 600; }
.utility-links { display: flex; gap: 18px; }
.utility-links a { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.85); }
.utility-links a:hover { color: white; }
.util-wa { color: #25D366 !important; }
.util-line { color: #06C755 !important; }

.mws-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.nav-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 24px; }
.brand img { height: 44px; width: auto; }
.nav-main { display: flex; gap: 28px; }
.nav-main a { font-size: 14px; font-weight: 600; color: var(--ink-2); padding: 6px 0; position: relative; }
.nav-main a:hover { color: var(--brand); }
.nav-main a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px;
  height: 2px; background: var(--brand); transform: scaleX(0); transform-origin: left;
  transition: transform .2s ease;
}
.nav-main a:hover::after { transform: scaleX(1); }
.nav-cta { display: flex; gap: 10px; }
.menu-btn { display: none; background: transparent; border: 1px solid var(--line-2); padding: 8px; border-radius: 10px; color: var(--ink); }
.mobile-menu {
  display: none; flex-direction: column; gap: 4px;
  padding: 16px 24px 22px; border-top: 1px solid var(--line); background: white;
}
.mobile-menu a { padding: 12px 4px; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--line); }
.mobile-menu .primary { margin-top: 10px; justify-content: center; }

/* Hero */
.hero { position: relative; overflow: hidden; padding: 24px 0 0; }
.hero-bg-shape {
  position: absolute; inset: 0;
  background:
    radial-gradient(50% 40% at 50% 0%, rgba(30,119,188,.14), transparent 70%),
    radial-gradient(40% 40% at 10% 30%, rgba(255,200,0,.08), transparent 70%),
    linear-gradient(180deg, var(--bg) 0%, white 100%);
  z-index: -1;
}
.hero-text {
  text-align: center; display: flex; flex-direction: column; align-items: center;
  gap: 20px; padding: 36px 0 24px;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--brand-soft); color: var(--brand-dark);
  padding: 7px 14px; border-radius: 999px;
  font-size: 12.5px; font-weight: 700; letter-spacing: -0.01em;
}
.hero-eyebrow svg { color: var(--gold); }
.hero-text h1 { 
    font-size: clamp(32px, 4vw, 52px); 
    max-width: 850px; 
    line-height: 1.2; 
    font-weight: 800; 
    margin: 0 auto; 
    letter-spacing: -0.022em; 
    word-spacing: 0.04em; 
    text-align: center;
}
.hero-text h1 em { font-style: normal; color: var(--brand); }
.hero-text h1 .hl { position: relative; display: inline-block; padding: 0 6px; }
.hero-text h1 .hl::before {
  content: ""; position: absolute; inset: auto -2px -2px; height: 16px;
  background: rgba(255,200,0,.35); z-index: -1; border-radius: 4px;
}

.hero-sub { font-size: 18px; color: var(--body); line-height: 1.6; max-width: 680px; margin: 0; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.hero-promise-row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.promise-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: white; border: 1px solid var(--line-2);
  padding: 8px 14px; border-radius: 999px;
  font-size: 13px; font-weight: 600; color: var(--ink-2);
}
.promise-chip svg { color: var(--brand); }

.hero-banner-wrap { padding: 0 24px; }
.hero-banner {
  position: relative;
  background: linear-gradient(180deg, rgba(30,119,188,.06) 0%, transparent 60%);
  border-radius: var(--r-xl); padding: 16px 0 8px;
  display: flex; align-items: center; justify-content: center;
}
.hero-banner .hero-img { width: 100%; max-width: 1000px; height: auto; filter: drop-shadow(0 30px 50px rgba(20,33,61,.14)); }
.hero-float-card {
  position: absolute; left: 4%; bottom: 22%;
  background: white; padding: 14px 18px; border-radius: var(--r-md);
  box-shadow: var(--shadow-md); border: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 2px; min-width: 150px;
}
.hfc-stars { display: flex; gap: 1px; color: var(--gold); }
.hero-float-card strong { font-family: var(--font-display); font-size: 22px; color: var(--ink); }
.hero-float-card span { font-size: 11.5px; color: var(--muted); font-weight: 600; }
.hero-float-badge {
  position: absolute; right: 4%; top: 14%;
  background: var(--ink); color: white; padding: 12px 16px;
  border-radius: var(--r-md); display: flex; align-items: center; gap: 10px; box-shadow: var(--shadow-md);
}
.hero-float-badge svg { color: var(--gold); }
.hero-float-badge strong { display: block; font-family: var(--font-display); font-size: 13px; }
.hero-float-badge span { display: block; font-size: 11px; color: rgba(255,255,255,.65); }
.hero-float-plane {
  position: absolute; left: 4%; top: 14%;
  background: white; padding: 12px 16px; border-radius: var(--r-md);
  display: flex; align-items: center; gap: 10px; box-shadow: var(--shadow-md); border: 1px solid var(--line);
}
.hero-float-plane svg { color: var(--brand); }
.hero-float-plane strong { display: block; font-family: var(--font-display); font-size: 13px; color: var(--ink); }
.hero-float-plane span { display: block; font-size: 11px; color: var(--muted); }
.hide-mobile { display: inline; }

/* Quote strip */
.quote-strip-wrap { position: relative; margin-top: 8px; padding-bottom: 56px; z-index: 2; }
.quote-strip {
  background: white; border-radius: var(--r-xl); box-shadow: var(--shadow-lg);
  border: 1px solid var(--line); padding: 22px 24px 18px; position: relative;
}
.quote-strip-head {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding-bottom: 16px; border-bottom: 1px dashed var(--line-2); margin-bottom: 16px;
}
.quote-strip-head h3 { font-size: 22px; font-weight: 700; margin-top: 4px; }
.quote-strip-head p { font-size: 13.5px; color: var(--muted); margin: 0; text-align: right; }
.quote-eyebrow {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--gold-soft); color: oklch(0.45 0.13 80);
  padding: 5px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
}
.quote-strip-body {
  display: grid;
  grid-template-columns: 1.4fr 32px 1.4fr 1fr 0.9fr 1fr auto;
  gap: 10px; align-items: end;
}
.qfield { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.qfield > span { font-size: 10.5px; font-weight: 700; color: var(--muted); letter-spacing: 0.06em; text-transform: uppercase; }
.qfield select,.qfield input {
  font: inherit; font-size: 14px; font-weight: 600; color: var(--ink);
  background: var(--bg); border: 1px solid var(--line-2); border-radius: var(--r-sm);
  padding: 12px 12px; outline: none; appearance: none; -webkit-appearance: none;
  background-image: linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position: calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size: 5px 5px,5px 5px; background-repeat: no-repeat;
  padding-right: 30px; width: 100%; min-width: 0;
}
.qfield input[type="date"],.qfield input[type="time"] { background-image: none; padding-right: 12px; }
.qfield select:focus,.qfield input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(30,119,188,.15); }
.swap-btn-inline {
  width: 32px; height: 42px; border-radius: var(--r-sm);
  background: var(--brand-soft); color: var(--brand);
  border: none; display: grid; place-items: center;
  transition: transform .2s ease; align-self: end;
}
.swap-btn-inline:hover { transform: rotate(180deg); background: var(--brand); color: white; }
.stepper {
  display: flex; align-items: center; gap: 0;
  background: var(--bg); border: 1px solid var(--line-2);
  border-radius: var(--r-sm); padding: 4px; height: 42px;
}
.stepper button { width: 28px; height: 32px; border-radius: var(--r-sm); border: none; background: transparent; color: var(--ink); display: grid; place-items: center; }
.stepper button:hover { background: var(--brand-soft); color: var(--brand); }
.stepper strong { flex: 1; text-align: center; font-size: 15px; font-weight: 700; color: var(--ink); }
.qfield-price .price-pill {
  background: var(--ink); border-radius: var(--r-sm); padding: 8px 12px;
  display: flex; flex-direction: column; min-height: 42px; justify-content: center;
}
.qfield-price .price-pill strong { font-family: var(--font-display); font-size: 18px; color: white; line-height: 1.05; }
.qfield-price .price-pill em { font-style: normal; font-size: 10.5px; color: var(--gold); font-weight: 700; }
.quote-cta { height: 42px; padding: 0 20px; align-self: end; white-space: nowrap; }
.quote-strip-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--line); flex-wrap: wrap;
}
.quote-trust { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; font-weight: 600; color: var(--ink-2); }
.quote-trust li { display: inline-flex; align-items: center; gap: 5px; }
.quote-trust svg { color: oklch(0.55 0.15 150); }

/* Trust bar */


/* Why MWS */
.why { padding: 64px 0; background: var(--bg); }
.section-head { max-width: 720px; margin: 0 auto 36px; text-align: center; }
.section-head.align-left { text-align: left; margin-left: 0; }
.section-head .eyebrow { margin-bottom: 12px; }
.section-head h2 { font-size: clamp(28px,3.4vw,44px); line-height: 1.1; font-weight: 700; margin-bottom: 12px; }
.section-head p { font-size: 17px; color: var(--body); }
.promise-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.promise-card {
  background: white; border-radius: var(--r-lg); border: 1px solid var(--line);
  padding: 28px; display: flex; flex-direction: column; gap: 10px;
  transition: transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.promise-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--brand-soft); }
.pc-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; margin-bottom: 6px; }
.pc-pain { font-size: 12px; font-weight: 700; color: oklch(0.55 0.18 25); text-transform: none; letter-spacing: 0; font-style: italic; }
.promise-card h3 { font-size: 22px; font-weight: 700; line-height: 1.2; }
.promise-card p { font-size: 15px; color: var(--body); line-height: 1.55; }

/* Promise show-more (mobile) */
.promise-showmore {
  display: none; margin: 24px auto 0; align-items: center; gap: 8px;
  padding: 14px 24px; background: white; border: 1.5px solid var(--brand);
  color: var(--brand); border-radius: 999px; font-family: var(--font-display);
  font-weight: 700; font-size: 14px; cursor: pointer;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.promise-showmore:hover { background: var(--brand); color: white; }
@media (max-width: 640px) {
  .promise-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .promise-grid .promise-card[data-index="2"],
  .promise-grid .promise-card[data-index="3"],
  .promise-grid .promise-card[data-index="4"],
  .promise-grid .promise-card[data-index="5"] { display: none; }
  .promise-grid.expanded .promise-card { display: flex; }
  .promise-card { padding: 18px; }
  .promise-card h3 { font-size: 17px; }
  .promise-card p { font-size: 13.5px; }
  .promise-showmore { display: inline-flex; }
}

/* Car gallery */
.cargallery { padding: 64px 0; background: var(--bg); }
.cargallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 40px;
}
.cg-card {
  border-radius: var(--r-md);
  overflow: hidden;
  background: white;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease;
}
.cg-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.cg-img-wrap {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--brand-soft);
}
.cg-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  transition: transform .4s ease;
}
.cg-card:hover .cg-img-wrap img { transform: scale(1.04); }
.cg-body {
  padding: 10px 12px 12px;
  display: flex; align-items: center;
}
.cg-type {
  display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: 0.09em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 99px;
  background: var(--brand-soft); color: var(--brand);
}
.cg-type-van  { background: oklch(0.92 0.04 240); color: oklch(0.32 0.10 250); }
.cg-type-suv  { background: oklch(0.93 0.04 50);  color: oklch(0.38 0.12 45);  }
.cg-type-mpv  { background: oklch(0.93 0.04 145); color: oklch(0.35 0.10 145); }
.cg-type-ev   { background: oklch(0.92 0.06 165); color: oklch(0.30 0.12 160); }
.cg-name {
  font-family: var(--font-display); font-size: 14px;
  font-weight: 700; color: var(--ink); line-height: 1.2;
}
.cg-pax {
  font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 4px;
}
.cargallery-note {
  margin-top: 28px; text-align: center;
  font-size: 13.5px; color: var(--muted); font-style: italic;
}
@media (max-width: 960px) {
  .cargallery-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}
@media (max-width: 480px) {
  .cargallery-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .cg-body { padding: 8px 10px 10px; }
  .cg-name { font-size: 12px; }
}

/* Routes table */
.routes { padding: 64px 0; background: white; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.route-table-wrap { background: white; border-radius: var(--r-xl); border: 1px solid var(--line); overflow: hidden; box-shadow: var(--shadow-md); }
.route-table { width: 100%; border-collapse: collapse; font-family: var(--font-body); }
.route-table thead { background: oklch(0.97 0.005 240); border-bottom: 1px solid var(--line); }
.route-table th { text-align: left; font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); padding: 16px 18px; }
.rt-th-eta,.rt-th-vehicle { text-align: center; }
.rt-th-price { text-align: right; }
.rt-row { border-bottom: 1px solid var(--line); transition: background .15s ease; }
.rt-row:last-child { border-bottom: none; }
.rt-row:hover { background: oklch(0.985 0.008 240); }
.route-table td { padding: 18px; vertical-align: middle; }
.rt-route-cell { display: flex; align-items: center; gap: 14px; }
.rt-route-icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; flex-shrink: 0; color: white; background: linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%); }
.rt-cat-airport { background: linear-gradient(135deg,oklch(0.48 0.16 250) 0%,oklch(0.30 0.12 260) 100%); }
.rt-cat-shopping { background: linear-gradient(135deg,oklch(0.55 0.18 25) 0%,oklch(0.38 0.14 20) 100%); }
.rt-cat-backpacker { background: linear-gradient(135deg,oklch(0.60 0.15 60) 0%,oklch(0.42 0.13 50) 100%); }
.rt-cat-city { background: linear-gradient(135deg,var(--brand) 0%,oklch(0.32 0.06 240) 100%); }
.rt-route-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rt-route-line { display: flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: 16px; font-weight: 700; color: var(--ink); letter-spacing: -0.01em; }
.rt-route-line svg { color: var(--brand); flex-shrink: 0; }
.rt-route-tag { display: inline-block; width: max-content; font-size: 10.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--brand); background: var(--brand-soft); padding: 3px 8px; border-radius: 999px; }
.rt-td-eta { text-align: center; white-space: nowrap; font-size: 14px; font-weight: 600; color: var(--ink-2); }
.rt-td-eta svg { color: var(--brand); vertical-align: -2px; margin-right: 4px; }
.rt-td-vehicle { text-align: center; font-size: 13px; font-weight: 600; color: var(--muted); }
.rt-td-price { text-align: right; white-space: nowrap; }
.rt-td-price strong { display: block; font-family: var(--font-display); font-size: 22px; font-weight: 800; color: var(--ink); line-height: 1.1; letter-spacing: -0.02em; }
.rt-td-price em { font-style: normal; font-size: 11px; font-weight: 600; color: var(--muted); }
.rt-td-book { width: 1%; white-space: nowrap; text-align: right; }
.rt-book-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--brand); color: white; font-size: 13.5px; font-weight: 700; padding: 10px 16px; border-radius: 999px; transition: background .15s ease,transform .15s ease,box-shadow .2s ease; box-shadow: 0 4px 12px rgba(30,119,188,.22); }
.rt-book-btn:hover { background: var(--brand-dark); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(30,119,188,.32); }
@media (max-width: 820px) {
  .route-table thead { display: none; }
  .route-table,.route-table tbody,.route-table tr,.route-table td { display: block; width: 100%; }
  .rt-row { padding: 18px; display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; }
  .route-table td { padding: 0; }
  .rt-td-route { grid-column: 1/-1; }
  .rt-td-eta { text-align: left; }
  .rt-td-vehicle { display: none; }
  .rt-td-price { text-align: right; }
  .rt-td-book { grid-column: 1/-1; }
  .rt-book-btn { width: 100%; justify-content: center; padding: 12px 16px; }
}
.routes-foot { text-align: center; margin-top: 28px; font-size: 14px; color: var(--muted); }

/* Fleet */
.fleet { padding: 64px 0; background: var(--bg); }
.fleet-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.fleet-card {
  background: white; border-radius: var(--r-lg); border: 1px solid var(--line);
  overflow: hidden; display: flex; flex-direction: column;
  transition: transform .25s ease,box-shadow .25s ease; position: relative;
}
.fleet-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.fleet-card.popular { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(30,119,188,.12); }
.fleet-tag { position: absolute; top: 14px; right: 14px; background: var(--brand); color: white; font-size: 10.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; z-index: 2; }
.fleet-image {
  aspect-ratio: 16/10;
  background:
    radial-gradient(60% 70% at 50% 90%,rgba(30,119,188,.18),transparent 70%),
    linear-gradient(180deg,oklch(0.97 0.008 240) 0%,oklch(0.93 0.018 230) 100%);
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center;
}
.fleet-image img { width: 92%; height: 92%; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(20,33,61,.18)); transition: transform .35s ease; }
.fleet-card:hover .fleet-image img { transform: scale(1.04) translateY(-2px); }
.fleet-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.fleet-title h3 { font-size: 19px; font-weight: 700; line-height: 1.2; }
.fleet-type { font-size: 12px; color: var(--brand); font-weight: 700; letter-spacing: 0.04em; }
.fleet-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px; background: var(--bg); border-radius: var(--r-sm); }
.fleet-stats > div span { display: block; font-size: 10.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
.fleet-stats > div strong { font-size: 13px; color: var(--ink); }
.fleet-bullets { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.fleet-bullets li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--ink-2); }
.fleet-bullets svg { color: oklch(0.55 0.15 150); flex-shrink: 0; margin-top: 3px; }
.fleet-foot { margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line-2); display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fleet-price span { display: block; font-size: 10px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
.fleet-price strong { font-family: var(--font-display); font-size: 22px; font-weight: 700; color: var(--ink); display: block; line-height: 1.1; }
.fleet-price em { font-style: normal; font-size: 10.5px; color: var(--muted); }
.fleet-foot .primary { padding: 10px 14px; font-size: 13px; }

/* How it works */
.how { padding: 64px 0; background: white; }
.how-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; counter-reset: step; }
.how-steps li { background: var(--bg); border-radius: var(--r-lg); padding: 28px 24px; position: relative; border: 1px solid var(--line); }
.step-num { font-family: var(--font-display); font-size: 38px; font-weight: 700; color: var(--brand); margin-bottom: 12px; line-height: 1; }
.how-steps h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.how-steps p { font-size: 14px; color: var(--body); line-height: 1.55; }
.step-link { position: absolute; right: -22px; top: 50%; transform: translateY(-50%); width: 26px; height: 2px; background: var(--brand); z-index: 1; }
.step-link::after { content: ""; position: absolute; right: -2px; top: -3px; width: 8px; height: 8px; border-right: 2px solid var(--brand); border-top: 2px solid var(--brand); transform: rotate(45deg); }

/* Reassure band */
.reassure { background: linear-gradient(135deg,var(--brand-dark) 0%,var(--brand) 100%); color: white; padding: 64px 0; position: relative; overflow: hidden; }
.reassure::before { content: ""; position: absolute; top: -30%; right: -10%; width: 500px; height: 500px; background: radial-gradient(circle,rgba(255,200,0,.14),transparent 70%); border-radius: 50%; }
.reassure-header { max-width: 1040px; margin: 0 auto 40px; text-align: center; position: relative; }
.reassure-header h2 { color: white; font-family: var(--font-display); font-size: clamp(32px,4.2vw,54px); line-height: 1.12; font-weight: 800; letter-spacing: -0.022em; margin: 14px 0 16px; text-wrap: balance; }
.reassure-header p { color: rgba(255,255,255,.88); font-size: 18px; line-height: 1.6; max-width: 760px; margin: 0 auto; }
.reassure-row { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; position: relative; }
.reassure-visual { position: relative; border-radius: var(--r-xl); overflow: hidden; background: white; box-shadow: 0 30px 60px rgba(0,0,0,.3); width: 100%; border: 4px solid rgba(255,255,255,.18); }
.reassure-visual img { width: 100%; height: auto; display: block; }
.reassure-visual-stat { position: absolute; left: 18px; bottom: 18px; background: rgba(20,33,61,.92); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.16); padding: 14px 20px; border-radius: var(--r-md); color: white; display: flex; flex-direction: column; gap: 2px; }
.reassure-visual-stat strong { font-family: var(--font-display); font-size: 30px; font-weight: 800; color: var(--gold); line-height: 1; letter-spacing: -0.02em; }
.reassure-visual-stat span { font-size: 13px; color: rgba(255,255,255,.82); font-weight: 600; }
.reassure-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; background: rgba(255,255,255,.06); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-xl); padding: 28px 32px; }
.reassure-list li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.reassure-list li:last-child { border-bottom: none; padding-bottom: 0; }
.reassure-list li:first-child { padding-top: 0; }
.rl-num { font-family: var(--font-display); font-size: 26px; font-weight: 800; color: var(--gold); letter-spacing: -0.02em; line-height: 1; padding-top: 2px; }
.rl-content { display: flex; flex-direction: column; gap: 4px; }
.reassure-list strong { font-family: var(--font-display); font-size: 17px; font-weight: 700; color: white; line-height: 1.3; letter-spacing: -0.01em; }
.reassure-list span { font-size: 14.5px; color: rgba(255,255,255,.82); line-height: 1.5; }

/* Reviews */
.reviews { padding: 64px 0; background: var(--bg); }
.review-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 40px; background: white; border-radius: var(--r-lg); border: 1px solid var(--line); padding: 24px; }
.rs-block { text-align: center; padding: 0 16px; border-right: 1px solid var(--line); }
.rs-block:last-child { border-right: none; }
.rs-num { font-family: var(--font-display); font-size: 38px; font-weight: 700; color: var(--ink); line-height: 1; }
.rs-stars { display: flex; gap: 2px; justify-content: center; margin-top: 6px; color: var(--gold); }
.rs-sub { font-size: 13px; color: var(--muted); margin-top: 4px; }
.review-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.review-card { background: white; border-radius: var(--r-lg); border: 1px solid var(--line); overflow: hidden; display: grid; grid-template-columns: 180px 1fr; gap: 0; transition: border-color .2s ease,box-shadow .2s ease; }
.review-card.active,.review-card:hover { border-color: var(--brand); box-shadow: var(--shadow-md); }
.r-photo { background: linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%); overflow: hidden; position: relative; }
.r-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.r-body { padding: 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.r-stars { display: flex; align-items: center; gap: 2px; color: var(--gold); }
.r-stars .r-date { margin-left: auto; font-size: 12px; color: var(--muted); font-weight: 600; }
.review-card h3 { font-size: 18px; font-weight: 700; line-height: 1.25; }
.review-card p { font-size: 14.5px; color: var(--body); line-height: 1.6; }
.review-card footer { display: flex; align-items: center; gap: 12px; padding-top: 12px; border-top: 1px solid var(--line); margin-top: auto; }
.r-avatar { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%); color: white; font-weight: 700; font-size: 14px; display: grid; place-items: center; }
.review-card footer strong { display: block; font-family: var(--font-display); font-size: 14px; color: var(--ink); }
.review-card footer span { display: block; font-size: 12px; color: var(--muted); }

/* FAQ */
.faq { padding: 64px 0; background: white; border-top: 1px solid var(--line); }
.faq-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 56px; align-items: start; }
.faq-side { position: sticky; top: 120px; }
.faq-side h2 { font-size: clamp(28px,3.2vw,40px); line-height: 1.1; margin: 12px 0 14px; font-weight: 700; }
.faq-side p { font-size: 16px; color: var(--body); margin-bottom: 22px; }
.faq-side a { color: var(--brand); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.faq-side-card { display: flex; flex-direction: column; gap: 6px; background: var(--brand-soft); border-radius: var(--r-lg); padding: 22px; color: var(--brand-dark); }
.faq-side-card svg { color: var(--brand); margin-bottom: 4px; }
.faq-side-card strong { font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--ink); }
.faq-side-card span { font-size: 13.5px; color: var(--ink-2); }
.faq-list { list-style: none; padding: 0; margin: 0; }
.faq-list li { border-bottom: 1px solid var(--line); }
.faq-list li:first-child { border-top: 1px solid var(--line); }
.faq-list button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; background: none; border: none; text-align: left; font-family: var(--font-display); font-size: 17px; font-weight: 700; color: var(--ink); cursor: pointer; }
.faq-list button:hover { color: var(--brand); }
.faq-list button svg { color: var(--brand); flex-shrink: 0; }
.faq-body { max-height: 0; overflow: hidden; transition: max-height .3s ease,padding .3s ease; }
.faq-list li.open .faq-body { max-height: 400px; padding-bottom: 20px; }
.faq-body p { font-size: 15px; color: var(--body); line-height: 1.65; }

/* Contact CTA */
.contact-cta { padding: 0 0 64px; }
.cta-card { background: linear-gradient(135deg,var(--ink) 0%,oklch(0.28 0.04 240) 100%); border-radius: var(--r-xl); padding: 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; color: white; position: relative; overflow: hidden; }
.cta-card::before { content: ""; position: absolute; top: -50%; right: -20%; width: 600px; height: 600px; background: radial-gradient(circle,rgba(30,119,188,.4),transparent 70%); }
.cta-copy { position: relative; }
.cta-copy h2 { color: white; font-size: clamp(28px,3vw,38px); line-height: 1.15; margin: 12px 0 12px; }
.cta-copy p { color: rgba(255,255,255,.78); font-size: 16px; }
.cta-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; position: relative; }
.cta-actions a { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); padding: 18px; border-radius: var(--r-md); color: white; transition: background .2s ease,transform .2s ease,border-color .2s ease; }
.cta-actions a:hover { background: rgba(255,255,255,.12); transform: translateY(-2px); border-color: rgba(255,255,255,.25); }
.cta-actions a span { display: block; font-size: 11.5px; color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.cta-actions a strong { font-family: var(--font-display); font-size: 16px; font-weight: 700; }
.cta-wa svg { color: #25D366; }
.cta-line svg { color: #06C755; }
.cta-phone svg { color: var(--gold); }
.cta-mail svg { color: oklch(0.75 0.12 250); }

/* Footer */
.site-footer { background: oklch(0.16 0.02 240); color: rgba(255,255,255,.7); padding: 64px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 48px; padding-bottom: 48px; }
.foot-brand img { height: 90px; width: auto; margin-bottom: 16px; }
.foot-brand p { font-size: 13.5px; line-height: 1.65; margin-bottom: 18px; color: rgba(255,255,255,.65); }
.foot-socials { display: flex; gap: 8px; }
.foot-socials a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.08); display: grid; place-items: center; color: white; }
.foot-socials a:hover { background: var(--brand); }
.site-footer h4 { font-family: var(--font-display); font-size: 14px; color: white; margin-bottom: 16px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; font-size: 13.5px; }
.site-footer ul a:hover { color: var(--brand); }
.foot-bottom { border-top: 1px solid rgba(255,255,255,.08); }
.foot-bottom-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; font-size: 12.5px; color: rgba(255,255,255,.55); }

/* Floating CTA */
.floating-cta { position: fixed; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 10px; z-index: 40; }
.floating-cta a { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; color: white; box-shadow: 0 8px 20px rgba(20,33,61,.25); transition: transform .2s ease; }
.floating-cta a:hover { transform: scale(1.06); }
.fc-wa { background: #25D366; }
.fc-call { background: var(--brand); }

/* Mobile sticky bar */
.mobile-sticky-bar {
  display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  padding: 10px 12px max(10px, env(safe-area-inset-bottom));
  background: rgba(255,255,255,.92); backdrop-filter: blur(14px);
  border-top: 1px solid var(--line); box-shadow: 0 -8px 30px rgba(20,33,61,.08); gap: 10px;
}
.msb-btn { flex: 1; display: flex; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; border-radius: 999px; color: white; transition: transform .15s ease, box-shadow .2s ease; }
.msb-wa { background: #25D366; box-shadow: 0 8px 20px rgba(37,211,102,.35); }
.msb-wa .msb-icon { background: white; color: #25D366; width: 38px; height: 38px; }
.msb-line { background: white; border: 2px solid #06C755; box-shadow: 0 8px 20px rgba(6,199,85,.25); }
.msb-line .msb-icon { background: #06C755; color: white; width: 38px; height: 38px; }
.msb-icon { border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
.msb-text { display: flex; flex-direction: column; line-height: 1.1; }
.msb-text span { font-size: 10.5px; font-weight: 600; }
.msb-text strong { font-family: var(--font-display); font-size: 16px; font-weight: 800; }
.msb-wa .msb-text span { color: rgba(255,255,255,.85); }
.msb-wa .msb-text strong { color: white; }
.msb-line .msb-text span { color: oklch(0.5 0.08 145); }
.msb-line .msb-text strong { color: #03894c; }
@media (max-width: 720px) {
  .mobile-sticky-bar { display: flex; }
  .floating-cta { display: none; }
  .site-footer { padding-bottom: 80px; }
}

/* Founder story */
.founder { padding: 64px 0; background: white; }
.founder-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 56px; align-items: center; }
.founder-visual { position: relative; border-radius: var(--r-xl); overflow: hidden; background: var(--brand-soft); max-width: 460px; width: 100%; justify-self: center; }
.founder-visual img { width: 100%; height: auto; display: block; }.founder-quote { position: absolute; left: 16px; right: 16px; bottom: 16px; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); padding: 14px 16px; border-radius: var(--r-md); display: flex; align-items: flex-start; gap: 10px; font-family: var(--font-display); font-weight: 600; font-size: 14px; color: var(--ink); line-height: 1.4; box-shadow: var(--shadow-md); }
.founder-quote svg { color: var(--gold); flex-shrink: 0; margin-top: 2px; }
.founder-copy { display: flex; flex-direction: column; gap: 14px; }
.founder-copy h2 { font-family: var(--font-display); font-size: clamp(26px,2.8vw,36px); line-height: 1.2; font-weight: 800; letter-spacing: -0.018em; }
.founder-lead { font-size: 17px; color: var(--ink-2); font-weight: 500; }
.founder-copy p { font-size: 15.5px; color: var(--body); line-height: 1.7; }
.founder-copy p strong { color: var(--ink); font-weight: 700; }
.founder-sign { display: flex; flex-direction: column; gap: 2px; padding-top: 14px; border-top: 1px solid var(--line); margin-top: 8px; }
.founder-sign strong { font-family: var(--font-display); font-size: 17px; font-weight: 700; color: var(--ink); }
.founder-sign span { font-size: 13px; color: var(--muted); }
.founder-extra { display: flex; flex-direction: column; gap: 14px; }
.founder-readmore {
  display: none; align-items: center; gap: 6px; background: none; border: none;
  padding: 0; color: var(--brand); font-family: var(--font-body); font-size: 14.5px;
  font-weight: 700; cursor: pointer; margin-top: -4px;
}
.founder-readmore svg { transition: transform .2s ease; }
.founder-readmore.open svg { transform: rotate(180deg); }
@media (max-width: 720px) {
  .founder-extra { display: none; }
  .founder-extra.visible { display: flex; }
  .founder-readmore { display: inline-flex; }
}

/* Responsive */
@media (max-width: 960px) {
  .nav-main { display: none; }
  .nav-cta .ghost { display: none; }
  .menu-btn { display: block; }
  .hero-text { padding-bottom: 24px; }
 .hero-text h1 { 
        font-size: clamp(26px, 6vw, 34px); 
        max-width: 95%; 
        margin: 0 auto; 
        line-height: 1.25; 
        text-align: center;
    }
  .quote-strip-body { grid-template-columns: 1fr 1fr; gap: 12px; }
  .swap-btn-inline { display: none; }
  .qfield-pax,.quote-cta { grid-column: 1/-1; }
  .quote-cta { justify-content: center; }
  .promise-grid { grid-template-columns: repeat(2,1fr); }
  .route-grid { grid-template-columns: repeat(2,1fr); }
  .fleet-grid { grid-template-columns: repeat(2,1fr); }
  .how-steps { grid-template-columns: repeat(2,1fr); }
  .step-link { display: none; }
  .review-grid { grid-template-columns: 1fr; }
  .review-card { grid-template-columns: 140px 1fr; }
  .review-stats { grid-template-columns: repeat(2,1fr); }
  .rs-block { border-right: none; padding: 12px; }
  .faq-grid { grid-template-columns: 1fr; gap: 36px; }
  .faq-side { position: static; }
  .cta-card { grid-template-columns: 1fr; padding: 40px; gap: 32px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .reassure-row { gap: 32px; }
  .founder-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 1024px) {
  .promise-grid { grid-template-columns: repeat(2,1fr); }
  .route-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 720px) {
  .utility-row { font-size: 11px; }
  .utility-links a { gap: 4px; }
  .utility-row > span { display: none; }
  .fleet-grid,.cta-actions { grid-template-columns: 1fr; }
  .how-steps { grid-template-columns: repeat(2,1fr); }
  .review-card { grid-template-columns: 1fr; }
  .r-photo { aspect-ratio: 16/9; }
  
  .quote-strip-body { grid-template-columns: 1fr; }
  .quote-strip-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  .quote-strip-head p { text-align: left; }
  .quote-strip-foot { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-grid { grid-template-columns: 1fr; }
  .foot-bottom-row { flex-direction: column; gap: 8px; text-align: center; }
  .hero-float-card,.hero-float-badge,.hero-float-plane { display: none; }
  .hide-mobile { display: none; }
  .reassure-row { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 640px) {
  .promise-grid { grid-template-columns: 1fr; }
  .route-grid { grid-template-columns: 1fr; }
}
@media (min-width: 961px) {
  .mobile-menu { display: none !important; }
  .menu-btn { display: none; }
}
@media (max-width: 960px) {
  .mobile-menu { display: flex; }
}

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) var(--reveal-delay, 0ms),
    transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal.in { opacity: 1; transform: translateY(0); }
.no-reveal .reveal { opacity: 1; transform: none; transition: none; }

/* Trust Badges / Social Review Section */
.trust-badges-sec {
  padding: 64px 0;
  background: white;
  border-top: 1px solid var(--line);
}
.badges-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 36px;
}
.badge-card {
  background: var(--bg);
  border: 1px solid var(--line-2);
  border-radius: var(--r-md);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.badge-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--badge-color, var(--brand));
}
.badge-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--badge-color, var(--brand));
}
.badge-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: white;
  display: grid;
  place-items: center;
  box-shadow: var(--shadow-sm);
  margin-bottom: 16px;
}
.badge-card h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--ink);
}
.badge-stars {
  display: flex;
  gap: 2px;
  color: var(--gold);
  margin-bottom: 10px;
}
.badge-rating {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ink-2);
  margin-bottom: 4px;
}
.badge-count {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 20px;
}
.badge-link {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--badge-color, var(--brand));
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap .15s ease;
}
.badge-card:hover .badge-link {
  gap: 8px;
}

@media (max-width: 960px) {
  .badges-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .badges-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .trust-badges-sec {
    padding: 48px 0;
  }
}
  

/* WordPress Post & Page Styling */
.mws-static-page { padding: 140px 0 80px; background: white; min-height: 70vh; }

.entry-header { margin-bottom: 40px; border-bottom: 1px solid var(--line); padding-bottom: 32px; text-align: center; }
.entry-header h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.15; font-family: var(--font-display); font-weight: 800; color: var(--ink); margin: 0; }
.entry-meta { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; font-size: 14px; color: var(--body); font-weight: 500; }
.entry-meta span { display: inline-flex; align-items: center; gap: 6px; }
.entry-content { font-size: 18px; color: var(--body); line-height: 1.8; font-family: var(--font-body); }
.entry-content > * { margin-bottom: 24px; }
.entry-content p { margin-bottom: 24px; }
.entry-content h2 { font-size: 32px; margin: 48px 0 24px; font-weight: 700; color: var(--ink); letter-spacing: -0.01em; }
.entry-content h3 { font-size: 24px; margin: 32px 0 16px; font-weight: 700; color: var(--ink); }
.entry-content ul, .entry-content ol { padding-left: 24px; margin-bottom: 32px; }
.entry-content li { margin-bottom: 12px; padding-left: 8px; }
.entry-content li::marker { color: var(--brand); font-weight: 700; }
.entry-content img { border-radius: var(--r-md); max-width: 100%; height: auto; box-shadow: var(--shadow-sm); margin: 32px 0; }
.entry-content figure { margin: 32px 0; }
.entry-content figcaption { text-align: center; font-size: 14px; color: oklch(0.6 0 0); margin-top: 12px; font-style: italic; }
.entry-content blockquote { border-left: 4px solid var(--brand); margin: 40px 0; padding: 24px 32px; background: var(--bg); border-radius: 0 var(--r-md) var(--r-md) 0; font-size: 20px; font-style: italic; color: var(--ink); line-height: 1.6; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content a { color: var(--brand); text-decoration: underline; text-underline-offset: 4px; font-weight: 600; transition: color 0.2s; }
.entry-content a:hover { color: var(--brand-dark); text-decoration-color: transparent; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; padding: 14px 24px; background: var(--brand) !important; color: white !important; font-weight: 700; border-radius: 999px !important; text-decoration: none !important; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 12px rgba(30,119,188,0.2) !important; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(30,119,188,0.3) !important; }
/* =========================================================
   MWS PATTAYA TAXI - ULTIMATE FULL WIDTH FIX
   ========================================================= */

/* 1. จัดกล่องนอกสุดให้กว้าง 100% และอยู่ตรงกลาง */
.wpcf7, .wpcf7-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.uacf7-form-wrapper-container {
    width: 100% !important;
    max-width: 1100px !important; /* ความกว้างสูงสุดในคอม */
    margin: 40px auto !important;
    padding: 50px !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 50px rgba(0,0,0,0.08) !important;
    border: 1px solid #e2e8f0 !important;
    box-sizing: border-box !important;
}

/* 2. บังคับให้ช่องกรอกข้อมูล กว้าง 100% เต็มกล่อง */
.uacf7-form-wrapper-container p {
    display: block !important;
    width: 100% !important;
    margin-bottom: 25px !important;
}

.wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
}

/* ล็อคเป้าหมาย Input ทุกตัวให้ขยายสุดขอบ */
span.wpcf7-form-control-wrap input.wpcf7-form-control,
span.wpcf7-form-control-wrap select.wpcf7-form-control,
span.wpcf7-form-control-wrap textarea.wpcf7-form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important; /* บังคับขั้นสุด */
    box-sizing: border-box !important;
    padding: 18px 24px !important;
    border-radius: 12px !important;
    border: 2px solid #cbd5e1 !important;
    background-color: #f8fafc !important;
    font-size: 16px !important;
    color: #0f172a !important;
}

/* เรืองแสงตอนคลิกพิมพ์ */
span.wpcf7-form-control-wrap input.wpcf7-form-control:focus,
span.wpcf7-form-control-wrap select.wpcf7-form-control:focus,
span.wpcf7-form-control-wrap textarea.wpcf7-form-control:focus {
    border-color: #2563eb !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15) !important;
}

/* 3. ปรับแต่ง Radio (AM/PM) */
.wpcf7-radio {
    display: flex !important;
    gap: 15px !important;
}
.wpcf7-list-item label {
    background: #f1f5f9 !important;
    padding: 10px 25px !important;
    border-radius: 50px !important;
    font-weight: bold !important;
}

/* 4. ปุ่มกด Booking Now สีฟ้า พรีเมียม ใหญ่อลังการ */
center {
    width: 100% !important;
    display: block !important;
}

input.wpcf7-submit {
    display: block !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 40px auto 0 !important;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    padding: 22px !important;
    border-radius: 50px !important;
    border: none !important;
    box-shadow: 0 15px 30px rgba(37, 99, 235, 0.3) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
}

input.wpcf7-submit:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 20px 40px rgba(37, 99, 235, 0.45) !important;
}

/* 5. มือถือ (Responsive) */
@media (max-width: 768px) {
    .uacf7-form-wrapper-container {
        padding: 25px !important;
    }
    input.wpcf7-submit {
        max-width: 100% !important;
    }
}

/* =========================================================
   GOOGLE MAP REVIEWS (MWS Taxis)
   ========================================================= */
.google-reviews {
    padding: 80px 0;
    background: #f8fafc;
}
.google-reviews .section-head {
    text-align: center;
    margin-bottom: 50px;
}
.google-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.gr-img-wrap {
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #ffffff;
    border: 1px solid #e2e8f0;
}
.gr-img-wrap:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
}
.gr-img-wrap img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Responsive */
@media (max-width: 992px) {
    .google-reviews-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 576px) {
    .google-reviews-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .google-reviews {
        padding: 50px 0;
    }
}
/* =========================================
   Dropdown Menu CSS (Services)
   ========================================= */
