/* ==========================================================================
   MisterFare — supporting public pages (Round 7)
   About, Services, Vehicles, Contact, Reviews, Routes, Route detail,
   What's On, Blog, Terms, Privacy, 404, Universities, Quote.
   Loaded only by those pages (includes/mf-content.php). Calm editorial layer
   on top of mf.css: light page heads, one Ask Mister band, reading-width
   legal text. Several templates print their own <style> later in the page,
   so overrides of those classes carry an "html body" prefix.
   ========================================================================== */

body{
  --c-navy:#1B2A5E;--c-blue:#2A3F9D;--c-fill:#CF4416;--c-fill-h:#B63A10;--c-ink:#16204A;--c-muted:#5B6478;--c-text:#2B3247;
  --c-line:#E4E7EF;--c-soft:#F5F7FC;--c-tint:#FFF5F0;--c-ring:#E7EAF4;--c-sh:0 4px 16px rgba(20,27,52,.06);--c-r:16px;
  --c-max:1160px;--c-read:760px;
}

/* ── Editorial page head (template pages: Routes, Blog, Terms, Privacy, Quote) */
html body .page-hero{background:linear-gradient(180deg,#F3F5FB 0%,#fff 100%);border-bottom:1px solid var(--c-line);
  padding:36px max(24px,calc((100% - var(--c-max))/2)) 30px;text-align:left}
html body:has(.legal-body) .page-hero{padding-inline:max(24px,calc((100% - var(--c-read))/2))}
html body .page-hero .breadcrumb{justify-content:flex-start;margin:0 0 10px;font-size:13px}
html body .page-hero h1{font:700 clamp(32px,4vw,46px)/1.08 var(--mf-serif);color:var(--c-ink);margin:0 0 10px;letter-spacing:-.012em}
html body .page-hero h1 em{color:var(--mf-orange-text,#C2410C);font-style:italic}
html body .page-hero p{color:var(--c-muted);font-size:17px;line-height:1.55;margin:0;max-width:680px}
/* What's On prints its head inside the section; align its crumbs with the heading */
html body .sec-inner>.breadcrumb{justify-content:flex-start}

/* ── Calm replacement for dark navy CTA strips ──────────────────────────── */
.mfc-help{padding:28px 0 64px}
.mfc-help .mf-wrap{max-width:var(--c-max)}
.mfc-help-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:20px 28px;align-items:center;
  background:linear-gradient(180deg,#F3F5FB,#fff);border:1px solid var(--c-line);border-radius:20px;padding:26px 30px;box-shadow:var(--c-sh)}
.mfc-help-who{display:flex;align-items:center;gap:16px}
.mfc-help-who .mf-mister{flex-shrink:0;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c-fill)}
.mfc-help-who h2{font:700 clamp(22px,2.4vw,27px)/1.2 var(--mf-serif);color:var(--c-ink);margin:0 0 4px}
.mfc-help-who p{margin:0;color:var(--c-muted);font-size:15px;line-height:1.5}
.mfc-help-prompts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mfc-help-prompts button{width:100%;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid var(--c-line);border-radius:12px;background:#fff;
  color:var(--c-blue);font:600 14px/1.3 var(--mf-font);text-align:start;cursor:pointer}
.mfc-help-prompts button:hover{border-color:#B9C2DA}
.mfc-help-prompts .mf-ic{flex-shrink:0;color:var(--c-fill)}
.mfc-help-actions{display:flex;flex-direction:column;gap:8px;min-width:190px}
.mfc-help-card:not(:has(.mfc-help-prompts)){grid-template-columns:minmax(0,1fr) auto}
.mfc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:10px;border:1px solid #D5DAE6;background:#fff;
  color:var(--c-navy);font:700 14.5px var(--mf-font);text-decoration:none;white-space:nowrap}
.mfc-btn:hover{border-color:var(--c-navy);background:var(--c-soft)}
.mfc-btn--primary{background:var(--c-fill);border-color:var(--c-fill);color:#fff;box-shadow:0 8px 18px rgba(207,68,22,.22)}
.mfc-btn--primary:hover{background:var(--c-fill-h);border-color:var(--c-fill-h)}
.mfc-help-prompts button:focus-visible,.mfc-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--c-ring),0 0 0 5px var(--c-navy)}
/* any remaining mf_cta_band() on these pages renders light too */
.mf-cta{background:linear-gradient(180deg,#F3F5FB,#fff);color:var(--c-ink);border:1px solid var(--c-line);box-shadow:var(--c-sh)}
.mf-cta h2{color:var(--c-ink)}
.mf-cta p{color:var(--c-muted)}

/* ── About: how booking works ─────────────────────────────────────────── */
.mfc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:none}
.mfc-steps li{background:#fff;border:1px solid var(--c-line);border-radius:var(--c-r);padding:22px;box-shadow:var(--c-sh)}
.mfc-step-n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--c-navy);color:#fff;font:700 14px var(--mf-font);margin-bottom:12px}
.mfc-steps strong{display:block;font:700 17px/1.3 var(--mf-font);color:var(--c-ink);margin-bottom:6px}
.mfc-steps p{margin:0;color:var(--c-muted);font-size:14.5px;line-height:1.55}
.mfc-steps-sec{padding-top:8px}

/* ── Legal pages: reading width and comfortable type ───────────────────── */
html body .legal-body{max-width:var(--c-read);margin:0 auto;font-size:16.5px;line-height:1.75;color:var(--c-text)}
html body .legal-body h2,html body .legal-body h3{font-family:var(--mf-serif);color:var(--c-ink);line-height:1.25;letter-spacing:-.005em}
html body .legal-body h2{font-size:23px;margin:40px 0 10px;padding-top:6px}
html body .legal-body h3{font-size:18.5px;margin:26px 0 8px}
html body .legal-body p{margin:0 0 14px}
html body .legal-body ul,html body .legal-body ol{margin:0 0 16px;padding-inline-start:22px}
html body .legal-body li{margin:0 0 6px}
html body .legal-body a{color:var(--c-navy);text-decoration:underline;text-underline-offset:2px}
html body .legal-body table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px;display:block;overflow-x:auto}
html body .legal-body th,html body .legal-body td{border:1px solid var(--c-line);padding:10px 12px;text-align:start;vertical-align:top}
html body .legal-body th{background:var(--c-soft);color:var(--c-ink)}
html body .legal-updated{color:var(--c-muted);font-size:14px}

/* ── Reviews: honest count + calm zero-state ───────────────────────────── */
html body .rev-wrap{max-width:var(--c-max)}
html body .rev-hero{text-align:left;padding-top:8px}
html body .rev-hero h1{font:700 clamp(32px,4vw,44px)/1.1 var(--mf-serif);color:var(--c-ink);margin:0 0 8px}
.rev-count{display:inline-flex;align-items:center;min-height:30px;padding:2px 12px;border-radius:999px;background:var(--c-soft);border:1px solid var(--c-line);
  color:var(--c-ink);font:700 13px var(--mf-font);margin:0 0 6px}
html body .rev-submit-note{background:var(--c-soft);border:1px solid var(--c-line);border-radius:12px;color:var(--c-muted);text-align:left}
html body .td-rev-empty{background:#fff;border:1px dashed #C9D0E2;border-radius:var(--c-r);padding:32px 24px;text-align:center}
html body .td-rev-empty-icon{width:60px;height:60px;margin:0 auto 12px;border-radius:50%;background:var(--c-soft);color:var(--c-navy);display:flex;align-items:center;justify-content:center;font-size:0}
/* the template's empty-state glyph is a star (☆); show a neutral speech mark instead */
html body .td-rev-empty-icon:not(:has(svg))::before{content:"";width:28px;height:28px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") center/contain no-repeat}
html body .td-rev-empty-h{font:700 18px/1.35 var(--mf-font);color:var(--c-ink);margin:0 0 6px}
html body .td-rev-empty-p{color:var(--c-muted);margin:0;font-size:14.5px}

/* ── Routes listing ────────────────────────────────────────────────────── */
html body .rtab-bar{padding-inline:max(24px,calc((100% - var(--c-max))/2));background:#fff}
html body .route-card{border:1px solid var(--c-line);border-radius:var(--c-r);box-shadow:var(--c-sh);padding:18px}
html body .route-card:hover{border-color:#C9D0E2;box-shadow:0 8px 22px rgba(20,27,52,.09)}
html body .route-card .rc-visual{margin:-18px -18px 14px;border-radius:15px 15px 0 0}
html body .route-card .rc-type-pill{display:table;margin:0 0 8px}
/* From → To reads as one line */
html body .route-card .rf,html body .route-card .ra,html body .route-card .rt{display:inline;font:700 16px/1.35 var(--mf-font);color:var(--c-ink);margin:0}
html body .route-card .ra{color:var(--c-fill);margin:0 4px}
html body .route-card .rmeta{margin-top:8px;color:var(--c-muted);font-size:13px}
html body .route-card .rp{font:800 19px/1.2 var(--mf-font);color:var(--c-ink);margin-top:10px}
html body .route-card .rc-book-btn{display:inline-flex;align-items:center;min-height:40px;margin-top:12px;padding:0 16px;border-radius:10px;background:var(--c-fill);color:#fff;font:700 13.5px var(--mf-font)}
html body .route-card .rc-book-btn:hover{background:var(--c-fill-h);text-decoration:none}

/* ── Route detail: light editorial head (matches the booking family) ───── */
html body .td-hero{background:linear-gradient(180deg,#F3F5FB 0%,#fff 100%);color:var(--c-ink);border-bottom:1px solid var(--c-line);padding:36px 0 34px}
html body .td-hero-overlay{display:none}
html body .td-hero-inner{max-width:var(--c-max)}
html body .td-hero.has-img .td-hero-inner>*{max-width:560px}
html body .td-hero.has-img .td-hero-img{left:auto;right:max(24px,calc((100% - var(--c-max))/2 + 24px));top:32px;bottom:32px;width:min(40%,500px);height:auto;
  border-radius:18px;box-shadow:0 18px 40px rgba(20,27,52,.16)}
html[dir=rtl] body .td-hero.has-img .td-hero-img{right:auto;left:max(24px,calc((100% - var(--c-max))/2 + 24px))}
html body .td-hero .breadcrumb{justify-content:flex-start}
html body .td-hero .breadcrumb,html body .td-hero .breadcrumb a{color:var(--c-muted)}
html body .td-title{font:700 clamp(30px,3.6vw,44px)/1.1 var(--mf-serif);color:var(--c-ink)}
html body .td-ep-label{opacity:1;color:var(--c-muted)}
html body .td-ep-name{color:var(--c-ink)}
html body .td-arrow{opacity:1;color:var(--c-fill)}
html body .td-meta-chip{background:#fff;border:1px solid var(--c-line);color:var(--c-ink)}
html body .td-from-label{opacity:1;color:var(--c-muted)}
html body .td-min-price{color:var(--c-ink)}
html body .td-book-btn{background:var(--c-fill);border-radius:10px;min-height:46px;display:inline-flex;align-items:center;box-shadow:0 8px 18px rgba(207,68,22,.22)}
html body .td-book-btn:hover{background:var(--c-fill-h)}

/* ── 404 ───────────────────────────────────────────────────────────────── */
html body .err-wrap{max-width:720px;margin:0 auto;padding:64px 24px 72px;text-align:center}
html body .err-num{color:#E4E7EF}
html body .err-title{font-family:var(--mf-serif);color:var(--c-ink)}
html body .err-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.err-ask{display:inline-flex;align-items:center;gap:10px;margin:22px auto 0;min-height:48px;padding:6px 18px 6px 6px;border-radius:999px;border:1px solid var(--c-line);
  background:#fff;color:var(--c-navy);font:700 14.5px var(--mf-font);cursor:pointer;box-shadow:var(--c-sh)}
.err-ask .mf-mister{box-shadow:0 0 0 2px var(--c-fill)}

/* ── Contact ───────────────────────────────────────────────────────────── */
html body .corp-box{background:var(--c-soft);border:1px solid var(--c-line);border-radius:14px}
html body .corp-box h4{color:var(--c-ink)}

/* ── Mobile ────────────────────────────────────────────────────────────── */
@media (max-width:900px){
  .mfc-help-card,.mfc-help-card:not(:has(.mfc-help-prompts)){grid-template-columns:minmax(0,1fr)}
  .mfc-help-actions{flex-direction:row;flex-wrap:wrap;min-width:0}
  .mfc-help-actions .mfc-btn{flex:1 1 180px}
  .mfc-steps{grid-template-columns:minmax(0,1fr)}
  html body .td-hero.has-img .td-hero-img{display:none}
  html body .td-hero.has-img .td-hero-inner>*{max-width:none}
}
@media (max-width:640px){
  html body .page-hero{padding:24px 16px 22px}
  html body .page-hero p{font-size:15.5px}
  .mfc-help{padding:16px 0 40px}
  .mfc-help-card{padding:20px 16px;border-radius:16px}
  .mfc-help-who{align-items:flex-start}
  .mfc-help-who .mf-mister{width:52px;height:52px}
  html body .legal-body{font-size:16px;line-height:1.7}
  html body .legal-body h2{font-size:21px;margin-top:32px}
  html body .td-hero{padding:24px 0 26px}
  html body .err-wrap{padding:40px 16px 56px}
  html body .rtab-bar{padding-inline:16px}
}

/* ── Final polish F3: single vehicle-class showcase (Fleet) ─────────────── */
.mfc-vclass{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:#fff;border:1px solid var(--c-line);border-radius:20px;box-shadow:0 10px 32px rgba(20,27,52,.08);overflow:hidden}
.mfc-vclass-art{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:340px;padding:32px;color:#fff;
  background:radial-gradient(120% 90% at 85% 0%,rgba(241,90,36,.28) 0%,rgba(241,90,36,0) 55%),linear-gradient(160deg,#22336F 0%,#16204A 100%)}
.mfc-vclass-ic{position:absolute;top:32px;left:32px;width:104px;height:104px;border-radius:28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.mfc-vclass-kicker{font:700 12px/1 var(--mf-font);letter-spacing:.14em;text-transform:uppercase;color:#FFB59A}
.mfc-vclass-art strong{font:700 clamp(28px,3vw,38px)/1.1 var(--mf-serif)}
.mfc-vclass-body{padding:32px 36px;display:flex;flex-direction:column;gap:18px}
.mfc-vclass-body h3{font:700 26px/1.2 var(--mf-serif);color:var(--c-ink);margin:0}
.mfc-vclass-desc{margin:0;color:var(--c-muted);font-size:16px;line-height:1.6;max-width:620px}
.mfc-vclass-cap{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.mfc-vclass-cap li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:14px 16px;border:1px solid var(--c-line);border-radius:14px;background:var(--c-soft)}
.mfc-vclass-cap .mf-ic{grid-row:1/3;color:var(--c-fill)}
.mfc-vclass-cap strong{font:800 18px/1.2 var(--mf-font);color:var(--c-ink)}
.mfc-vclass-cap span{font-size:13px;line-height:1.35;color:var(--c-muted)}
.mfc-vclass-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:18px;border-top:1px solid var(--c-line)}
.mfc-vclass-price small{display:block;font:600 13px var(--mf-font);color:var(--c-muted)}
.mfc-vclass-price strong{display:block;font:800 32px/1.1 var(--mf-font);color:var(--c-ink);margin:2px 0}
.mfc-vclass-price span{display:block;font-size:13px;color:var(--c-muted)}
.mfc-vclass-actions{display:flex;flex-direction:column;gap:8px;min-width:240px}
.mfc-vclass-actions .mf-mister{width:26px;height:26px;box-shadow:0 0 0 2px var(--c-fill)}
@media (max-width:900px){
  .mfc-vclass{grid-template-columns:minmax(0,1fr)}
  .mfc-vclass-art{min-height:190px;padding:22px}
  .mfc-vclass-ic{top:22px;left:22px;width:72px;height:72px;border-radius:20px}
  .mfc-vclass-ic .mf-ic{width:44px;height:44px}
  .mfc-vclass-body{padding:22px 18px}
  .mfc-vclass-cap{grid-template-columns:minmax(0,1fr)}
  .mfc-vclass-actions{min-width:0;width:100%}
}
