/* ==========================================================================
   MISTERFARE — CUSTOMER DESIGN SYSTEM  (assets/mf/mf.css)
   --------------------------------------------------------------------------
   Derived from the approved MisterFare design reference. Loaded on every
   customer-facing page AFTER the legacy stylesheets (new_site style.css and
   assets/css/shared.css), so it re-skins existing markup without touching
   any booking, pricing or form logic. Admin never loads this file.

   Colour balance: ~70% white / light neutral · ~20% navy · ~10% orange.
   Navy anchors (headings, footer, key panels). Orange is for CTAs and
   highlights only. Photography carries the colour.

   Sections
     1  Tokens                       7  Footer
     2  Base + typography            8  Mobile bottom nav + Ask Mister
     3  Layout primitives            9  Page-level components (hero, cards…)
     4  Buttons, badges, forms      10  Legacy bridge — marketing family
     5  Header + navigation         11  Legacy bridge — booking family
     6  Drawer                      12  Responsive, RTL, motion, print
   ========================================================================== */

/* 1 · TOKENS ============================================================= */
:root{
  --mf-navy:#1B2A5E; --mf-navy-900:#131F47; --mf-navy-700:#25387A;
  --mf-navy-50:#F3F5FA; --mf-navy-100:#E7EAF4; --mf-navy-200:#CFD5E8;
  --mf-orange:#F15A24;                 /* brand accent (decorative, borders, icons) */
  --mf-orange-fill:#CF4416;            /* white-text button fill — 4.68:1 (AA) */
  --mf-orange-fill-h:#B63A10;
  --mf-orange-text:#C2410C;            /* orange text on white — 5.18:1 */
  --mf-orange-50:#FEEDE6; --mf-orange-100:#FDDCCD;
  --mf-ink:#141B34; --mf-text:#2B3247; --mf-muted:#5B6478; --mf-faint:#8A92A6;
  --mf-line:#E4E7EF; --mf-line-2:#EEF0F5;
  --mf-bg:#FFFFFF; --mf-bg-soft:#F7F8FB;
  --mf-ok:#157A4A; --mf-ok-50:#E6F5EC; --mf-warn:#8A5A00; --mf-warn-50:#FFF5DB; --mf-err:#B42318; --mf-err-50:#FDECEA;
  --mf-r-sm:8px; --mf-r:12px; --mf-r-lg:16px; --mf-r-xl:22px; --mf-r-pill:999px;
  --mf-sh-1:0 1px 2px rgba(20,27,52,.06),0 1px 3px rgba(20,27,52,.05);
  --mf-sh-2:0 6px 20px rgba(20,27,52,.08);
  --mf-sh-3:0 18px 44px rgba(20,27,52,.14);
  --mf-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --mf-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --mf-max:1200px; --mf-gutter:20px;
  --mf-header-h:72px; --mf-bnav-h:64px;
  --mf-safe-b:env(safe-area-inset-bottom,0px);
  --mf-focus:0 0 0 3px #fff,0 0 0 5px var(--mf-navy);
  /* legacy tokens re-pointed so old components inherit the new palette */
  --navy:#1B2A5E; --navy-dark:#131F47; --orange:#CF4416; --orange-dark:#C2410C; --orange-h:#B63A10;
  --orange-tint:#FEEDE6; --orange-pale:#FEEDE6; --navy-tint:#E7EAF4;
  --cream:#FFFFFF; --gray-500:#5B6478; --gray-600:#4A5268; --gray-700:#2B3247; --text:#2B3247;
  --radius:12px; --shadow:var(--mf-sh-2); --shadow-lg:var(--mf-sh-3);
}

/* 2 · BASE ================================================================ */
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--mf-header-h) + 12px)}
body{font-family:var(--mf-font);font-size:16px;line-height:1.6;color:var(--mf-text);background:var(--mf-bg);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.mf-locked{overflow:hidden}
h1,h2,h3,h4{line-height:1.2;letter-spacing:-.01em}
h1,h2,.mf-serif{font-family:var(--mf-serif);font-weight:600}
a{color:inherit}
img,svg,video{max-width:100%}
:focus-visible{outline:none;box-shadow:var(--mf-focus);border-radius:6px}
::selection{background:var(--mf-orange-100)}
.mf-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mf-skip{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--mf-navy);color:#fff;padding:10px 16px;border-radius:var(--mf-r-sm);font-weight:700;text-decoration:none}
.mf-skip:focus{top:12px}
.mf-ic{flex-shrink:0;display:inline-block;vertical-align:middle}

/* 3 · LAYOUT ============================================================== */
.mf-wrap{max-width:var(--mf-max);margin-inline:auto;padding-inline:var(--mf-gutter);width:100%;box-sizing:border-box}
.mf-section{padding-block:56px}
.mf-section--soft{background:var(--mf-bg-soft)}
.mf-section--tight{padding-block:36px}
.mf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.mf-head h2{font-size:clamp(24px,3.2vw,32px);margin:0}
.mf-head p{margin:6px 0 0;color:var(--mf-muted);max-width:620px}
.mf-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-orange-text);margin-bottom:8px}
.mf-kicker::before{content:"";width:18px;height:2px;border-radius:2px;background:var(--mf-orange)}
.mf-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--mf-navy);text-decoration:none;white-space:nowrap}
.mf-link:hover{color:var(--mf-orange-text)}
.mf-link .mf-ic{transition:transform .15s}
.mf-link:hover .mf-ic{transform:translateX(3px)}
.mf-grid{display:grid;gap:20px}
.mf-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mf-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mf-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
main#mf-main{display:block}

/* 4 · BUTTONS · BADGES · FORMS =========================================== */
.mf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;
  border-radius:10px;border:1.5px solid transparent;font:700 15px/1.2 var(--mf-font);text-decoration:none;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;white-space:nowrap}
.mf-btn--primary{background:var(--mf-orange-fill);color:#fff;box-shadow:0 6px 16px rgba(207,68,22,.22)}
.mf-btn--primary:hover{background:var(--mf-orange-fill-h);color:#fff;transform:translateY(-1px)}
.mf-btn--secondary{background:#fff;color:var(--mf-navy);border-color:var(--mf-navy-200)}
.mf-btn--secondary:hover{border-color:var(--mf-navy);color:var(--mf-navy)}
.mf-btn--navy{background:var(--mf-navy);color:#fff}
.mf-btn--navy:hover{background:var(--mf-navy-700);color:#fff}
.mf-btn--ghost{background:transparent;color:var(--mf-navy);padding-inline:10px}
.mf-btn--light{background:#fff;color:var(--mf-navy)}
.mf-btn--sm{min-height:42px;padding:0 16px;font-size:14px}
.mf-btn--block{width:100%}
.mf-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:transparent;border:0;color:var(--mf-navy);cursor:pointer;text-decoration:none;transition:background .15s}
.mf-iconbtn:hover{background:var(--mf-navy-50)}
.mf-circle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  border:1.5px solid var(--mf-orange);color:var(--mf-orange-text);background:#fff;flex-shrink:0;transition:.15s}
a:hover>.mf-circle,.mf-circle:hover{background:var(--mf-orange-fill);border-color:var(--mf-orange-fill);color:#fff}
.mf-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;line-height:1;padding:7px 10px;border-radius:var(--mf-r-pill);
  background:var(--mf-navy-50);color:var(--mf-navy);white-space:nowrap}
.mf-badge--orange{background:var(--mf-orange-50);color:var(--mf-orange-text)}
.mf-badge--ok{background:var(--mf-ok-50);color:var(--mf-ok)}
.mf-badge--warn{background:var(--mf-warn-50);color:var(--mf-warn)}
.mf-badge--err{background:var(--mf-err-50);color:var(--mf-err)}
.mf-badge-dot{position:absolute;top:4px;inset-inline-end:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--mf-orange-fill);
  color:#fff;font:700 11px/18px var(--mf-font);text-align:center;box-shadow:0 0 0 2px #fff}
.mf-price{display:flex;flex-direction:column;line-height:1.2}
.mf-price small{font-size:12px;color:var(--mf-muted);font-weight:600}
.mf-price strong{font-size:20px;font-weight:800;color:var(--mf-navy)}
.mf-price--request strong{font-size:15px;color:var(--mf-navy)}
.mf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.mf-field label,.mf-label{font-size:13px;font-weight:600;color:var(--mf-text)}
.mf-input,.mf-field input,.mf-field select,.mf-field textarea{width:100%;min-height:48px;box-sizing:border-box;padding:12px 14px;border:1.5px solid var(--mf-line);
  border-radius:10px;background:#fff;color:var(--mf-ink);font:500 15px/1.3 var(--mf-font);transition:border-color .15s,box-shadow .15s}
.mf-field textarea{min-height:120px;resize:vertical}
.mf-input:focus,.mf-field input:focus,.mf-field select:focus,.mf-field textarea:focus{outline:none;border-color:var(--mf-navy);box-shadow:0 0 0 3px var(--mf-navy-100)}
.mf-alert{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:var(--mf-r);font-size:14.5px;line-height:1.5;border:1px solid transparent}
.mf-alert--ok{background:var(--mf-ok-50);color:#0E5A36;border-color:#BFE3CC}
.mf-alert--err{background:var(--mf-err-50);color:#8A1C12;border-color:#F5C2BC}
.mf-alert--info{background:var(--mf-navy-50);color:var(--mf-navy);border-color:var(--mf-navy-100)}
.mf-empty{text-align:center;padding:40px 24px;border:1.5px dashed var(--mf-line);border-radius:var(--mf-r-lg);background:var(--mf-bg-soft)}
.mf-empty .mf-ic{color:var(--mf-faint);margin-bottom:10px}
.mf-empty h3{font-size:18px;margin:0 0 6px;font-family:var(--mf-font);font-weight:700}
.mf-empty p{margin:0 auto 18px;max-width:460px;color:var(--mf-muted);font-size:14.5px}

/* 5 · HEADER ============================================================== */
.mf-header{position:sticky;top:0;z-index:600;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--mf-line-2);transition:box-shadow .2s}
.mf-header.is-scrolled{box-shadow:0 4px 18px rgba(20,27,52,.07)}
.mf-header-row{display:flex;align-items:center;gap:20px;min-height:var(--mf-header-h)}
.mf-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.mf-logo-mark{display:inline-flex}
.mf-logo-text{display:flex;flex-direction:column;line-height:1}
.mf-logo-name{font:800 24px/1 var(--mf-font);letter-spacing:-.035em;color:var(--mf-navy)}
.mf-logo-name span{color:var(--mf-orange)}
.mf-logo-tag{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mf-muted);margin-top:4px;white-space:nowrap}
.mf-logo--dark .mf-logo-name{color:#fff}
.mf-logo--dark .mf-logo-tag{color:rgba(255,255,255,.6)}
.mf-logo--dark .mf-logo-mark path:first-child{stroke:#fff}
.mf-nav{flex:1;min-width:0}
.mf-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:2px}
.mf-nav a,.mf-more-btn{display:inline-flex;align-items:center;gap:4px;padding:10px 11px;border-radius:8px;font:600 14px/1.2 var(--mf-font);
  color:var(--mf-text);text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap;position:relative}
.mf-nav a:hover,.mf-more-btn:hover{color:var(--mf-navy);background:var(--mf-navy-50)}
.mf-nav a.is-on,.mf-more-btn.is-on{color:var(--mf-navy)}
.mf-nav a.is-on::after,.mf-more-btn.is-on::after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:2px;border-radius:2px;background:var(--mf-orange)}
.mf-more{position:relative}
.mf-more-menu,.mf-locale-menu{position:absolute;top:calc(100% + 10px);inset-inline-end:0;min-width:240px;background:#fff;border:1px solid var(--mf-line);
  border-radius:var(--mf-r);box-shadow:var(--mf-sh-3);padding:8px;z-index:700}
.mf-more-menu a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-weight:600;font-size:14.5px;color:var(--mf-text)}
.mf-more-menu a .mf-ic{color:var(--mf-muted)}
.mf-more-menu a:hover,.mf-more-menu a[aria-current]{background:var(--mf-navy-50);color:var(--mf-navy)}
.mf-utils{display:flex;align-items:center;gap:4px;margin-inline-start:auto}
.mf-locale{position:relative}
.mf-locale-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 10px;border-radius:var(--mf-r-pill);border:1px solid var(--mf-line);
  background:#fff;color:var(--mf-text);font:600 13px/1 var(--mf-font);cursor:pointer}
.mf-locale-btn:hover{border-color:var(--mf-navy-200)}
.mf-locale-group+.mf-locale-group{border-top:1px solid var(--mf-line-2);margin-top:6px;padding-top:6px}
.mf-locale-h{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mf-faint);padding:6px 10px}
.mf-locale-menu a,.mf-locale-menu button,.mf-drawer-locale a,.mf-drawer-locale button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;
  padding:10px;border-radius:8px;border:0;background:none;font:600 14px/1.2 var(--mf-font);color:var(--mf-text);text-decoration:none;cursor:pointer;text-align:start}
.mf-locale-menu a:hover,.mf-locale-menu button:hover{background:var(--mf-navy-50)}
.mf-locale-menu .is-on,.mf-drawer-locale .is-on{color:var(--mf-orange-text)}
.mf-locale-menu form,.mf-drawer-locale form{margin:0}
.mf-utils .mf-btn{margin-inline-start:8px}
.mf-menu-btn{display:none}

/* 6 · DRAWER ============================================================== */
.mf-drawer,.mf-ask{position:fixed;inset:0;z-index:1200}
.mf-drawer-scrim,.mf-ask-scrim{position:absolute;inset:0;background:rgba(19,31,71,.45);opacity:0;transition:opacity .18s}
.mf-drawer.is-open .mf-drawer-scrim,.mf-ask.is-open .mf-ask-scrim{opacity:1}
.mf-drawer-panel{position:absolute;top:0;bottom:0;inset-inline-end:0;width:min(380px,88vw);background:#fff;display:flex;flex-direction:column;gap:16px;
  padding:16px 16px calc(20px + var(--mf-safe-b));overflow-y:auto;transform:translateX(100%);transition:transform .2s ease}
[dir=rtl] .mf-drawer-panel{transform:translateX(-100%)}
.mf-drawer.is-open .mf-drawer-panel{transform:none}
.mf-drawer-head{display:flex;align-items:center;justify-content:space-between}
.mf-drawer-nav{display:flex;flex-direction:column}
.mf-drawer-nav a{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 6px;border-bottom:1px solid var(--mf-line-2);
  font-weight:600;font-size:16px;color:var(--mf-ink);text-decoration:none}
.mf-drawer-nav a .mf-ic:first-child{color:var(--mf-navy)}
.mf-drawer-nav a span{flex:1}
.mf-drawer-nav a[aria-current]{color:var(--mf-orange-text)}
.mf-drawer-chev{color:var(--mf-faint)}
[dir=rtl] .mf-drawer-chev{transform:scaleX(-1)}
.mf-drawer-foot{display:flex;flex-direction:column;gap:12px;margin-top:auto}
.mf-drawer-locale{border:1px solid var(--mf-line);border-radius:var(--mf-r);padding:6px}

/* 7 · FOOTER ============================================================== */
.mf-footer{background:var(--mf-navy-900);color:rgba(255,255,255,.72);padding:56px 0 24px;margin-top:0}
.mf-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.mf-footer-brand p{font-size:14px;line-height:1.7;margin:16px 0;max-width:320px}
.mf-footer-contact{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;text-decoration:none;font-size:14px}
.mf-footer-col h2{font:700 12px/1 var(--mf-font);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:6px 0 16px}
.mf-footer-col a{display:block;padding:6px 0;font-size:14px;color:rgba(255,255,255,.72);text-decoration:none}
.mf-footer-col a:hover,.mf-footer-contact:hover{color:#fff;text-decoration:underline}
.mf-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;font-size:13px;color:rgba(255,255,255,.5)}
.ats-media-credits,.media-credits{font-size:12px;color:var(--mf-muted);background:var(--mf-bg-soft);padding:12px var(--mf-gutter);text-align:center;line-height:1.6}
.ats-media-credits a,.media-credits a{color:inherit}

/* 8 · MOBILE BOTTOM NAV + ASK MISTER ===================================== */
.mf-bnav{display:none}
.mf-mister{display:block;border-radius:50%;object-fit:cover;background:var(--mf-navy)}
.mf-ask-fab{position:fixed;inset-inline-end:24px;bottom:24px;z-index:500;display:inline-flex;align-items:center;gap:10px;padding:5px 18px 5px 5px;
  border-radius:var(--mf-r-pill);background:#fff;border:1px solid var(--mf-line);box-shadow:var(--mf-sh-3);font:700 14.5px/1 var(--mf-font);
  color:var(--mf-navy);cursor:pointer;transition:transform .15s,box-shadow .15s}
[dir=rtl] .mf-ask-fab{padding:5px 5px 5px 18px}
.mf-ask-fab:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(20,27,52,.18)}
.mf-ask-fab .mf-mister{box-shadow:0 0 0 2px var(--mf-orange)}
.mf-ask-panel{position:absolute;inset-inline-end:24px;bottom:24px;width:min(420px,calc(100vw - 32px));max-height:min(640px,calc(100vh - 48px));
  background:#fff;border-radius:var(--mf-r-xl);box-shadow:0 30px 80px rgba(20,27,52,.3);display:flex;flex-direction:column;overflow:hidden;
  transform:translateY(16px);opacity:0;transition:transform .2s,opacity .2s}
.mf-ask.is-open .mf-ask-panel{transform:none;opacity:1}
.mf-ask-head{display:flex;align-items:center;gap:12px;padding:16px 12px 16px 18px;border-bottom:1px solid var(--mf-line-2)}
.mf-ask-head h2{font-size:20px;margin:0}
.mf-ask-head p{margin:2px 0 0;font-size:13px;color:var(--mf-muted)}
.mf-ask-head .mf-iconbtn{margin-inline-start:auto}
.mf-ask-head .mf-mister{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--mf-orange)}
.mf-ask-body{padding:18px;overflow-y:auto;background:var(--mf-bg-soft);flex:1}
.mf-ask-bubble{background:#fff;border:1px solid var(--mf-line);border-radius:4px 16px 16px 16px;padding:12px 14px;font-size:14.5px;color:var(--mf-ink);margin-bottom:14px;max-width:92%}
.mf-ask-suggest{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mf-ask-suggest a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border-radius:var(--mf-r);border:1px solid var(--mf-line);
  background:#fff;color:var(--mf-navy);font-weight:600;font-size:14.5px;text-decoration:none}
.mf-ask-suggest a span{flex:1}
.mf-ask-suggest a .mf-ic:first-child{color:var(--mf-orange-text)}
.mf-ask-suggest a:hover{border-color:var(--mf-navy-200);box-shadow:var(--mf-sh-1)}
.mf-ask-form{display:flex;gap:8px;padding:14px 14px 4px;border-top:1px solid var(--mf-line-2);background:#fff}
.mf-ask-form input{flex:1;min-width:0;min-height:48px;padding:0 16px;border:1.5px solid var(--mf-line);border-radius:var(--mf-r-pill);font:500 15px var(--mf-font);color:var(--mf-ink)}
.mf-ask-form input:focus{outline:none;border-color:var(--mf-navy);box-shadow:0 0 0 3px var(--mf-navy-100)}
.mf-ask-send{width:48px;height:48px;border-radius:50%;border:0;background:var(--mf-navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.mf-ask-send:hover{background:var(--mf-navy-700)}
.mf-ask-note{margin:0;padding:6px 18px calc(14px + var(--mf-safe-b));font-size:12px;color:var(--mf-muted);background:#fff}

/* 9 · PAGE COMPONENTS ===================================================== */
/* Page hero (inner pages) — light, photographic where a real image exists */
.mf-pagehero{background:linear-gradient(180deg,var(--mf-navy-50),#fff);border-bottom:1px solid var(--mf-line-2);padding:40px 0 36px}
.mf-crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--mf-muted);margin-bottom:12px}
.mf-crumbs a{color:var(--mf-muted);text-decoration:none}
.mf-crumbs a:hover{color:var(--mf-navy);text-decoration:underline}
.mf-pagehero h1{font-size:clamp(30px,4.4vw,44px);margin:0 0 10px}
.mf-pagehero p{font-size:17px;color:var(--mf-muted);margin:0;max-width:640px}

/* Homepage hero */
.mf-hero{position:relative;color:#fff;background:var(--mf-navy-900);overflow:hidden;isolation:isolate}
.mf-hero-media{position:absolute;inset:0;z-index:-2}
.mf-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.mf-hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(19,31,71,.92) 0%,rgba(19,31,71,.78) 34%,rgba(19,31,71,.25) 64%,rgba(19,31,71,.05) 100%),
             linear-gradient(0deg,rgba(19,31,71,.55) 0%,rgba(19,31,71,0) 40%)}
[dir=rtl] .mf-hero::before{background:linear-gradient(270deg,rgba(19,31,71,.92) 0%,rgba(19,31,71,.78) 34%,rgba(19,31,71,.25) 64%,rgba(19,31,71,.05) 100%),linear-gradient(0deg,rgba(19,31,71,.55) 0%,rgba(19,31,71,0) 40%)}
.mf-hero-inner{padding:84px 0 128px;max-width:620px}
.mf-hero h1{color:#fff;font-size:clamp(38px,5.6vw,64px);line-height:1.04;margin:0 0 18px;letter-spacing:-.02em}
.mf-hero h1 em{display:block;font-style:italic;color:#FF8A5B}
.mf-hero p{font-size:clamp(16px,1.6vw,19px);color:rgba(255,255,255,.88);margin:0 0 26px;max-width:540px}
.mf-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.mf-hero-points li{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);padding:8px 12px;border-radius:var(--mf-r-pill);backdrop-filter:blur(4px)}
.mf-hero-credit{position:absolute;inset-inline-end:12px;bottom:8px;font-size:11px;color:rgba(255,255,255,.7)}

/* Journey search panel */
.mf-search{position:relative;z-index:5;margin-top:-84px;background:#fff;border-radius:var(--mf-r-xl);box-shadow:var(--mf-sh-3);border:1px solid var(--mf-line-2);overflow:hidden}
.mf-tabs{display:flex;gap:6px;padding:14px 14px 0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--mf-line-2)}
.mf-tabs::-webkit-scrollbar{display:none}
.mf-tab{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:12px 14px 14px;border:0;background:none;font:700 14px/1 var(--mf-font);
  color:var(--mf-muted);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;border-radius:8px 8px 0 0}
.mf-tab:hover{color:var(--mf-navy);background:var(--mf-navy-50)}
.mf-tab[aria-selected=true]{color:var(--mf-navy);border-bottom-color:var(--mf-orange)}
.mf-tab[aria-selected=true] .mf-ic{color:var(--mf-orange-text)}
.mf-tabpanel{padding:20px}
.mf-search-row{display:grid;grid-template-columns:1.25fr 1.25fr 1fr .8fr auto;gap:12px;align-items:end}
.mf-search-row .mf-btn{min-height:52px}
.mf-search-note{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:13px;color:var(--mf-muted)}
.mf-search-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mf-search-intro p{margin:0;color:var(--mf-text);max-width:640px}

/* Service tiles (image-led, hierarchy-aware) */
.mf-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.mf-tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);overflow:hidden;text-decoration:none;
  transition:transform .18s,box-shadow .18s,border-color .18s;min-width:0}
.mf-tile:hover{transform:translateY(-3px);box-shadow:var(--mf-sh-2);border-color:var(--mf-navy-100)}
.mf-tile-media{aspect-ratio:4/3;background:var(--mf-navy-50);overflow:hidden;position:relative}
.mf-tile-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.mf-tile:hover .mf-tile-media img{transform:scale(1.04)}
.mf-tile-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--mf-navy);
  background:radial-gradient(circle at 70% 20%,#fff 0,var(--mf-navy-50) 60%)}
.mf-tile-icon .mf-ic{width:40px;height:40px;stroke-width:1.5}
.mf-tile-body{display:flex;align-items:flex-end;gap:10px;padding:14px 14px 16px;flex:1}
.mf-tile-body div{flex:1;min-width:0}
.mf-tile h3{font:700 15.5px/1.3 var(--mf-font);color:var(--mf-ink);margin:0 0 4px}
.mf-tile p{font-size:13px;line-height:1.45;color:var(--mf-muted);margin:0}
.mf-tile .mf-ic-go{color:var(--mf-orange-text);flex-shrink:0}
[dir=rtl] .mf-tile .mf-ic-go,[dir=rtl] .mf-link .mf-ic,[dir=rtl] .mf-btn .mf-ic,[dir=rtl] .mf-circle .mf-ic{transform:scaleX(-1)}

.mf-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mf-tile-media--short{aspect-ratio:auto;height:96px}
.mf-tour-grid{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.mf-route--more .mf-route-media{position:relative}
.prod-tile .mf-link{margin-top:4px}

/* Feature split (Student Arrival etc.) */
.mf-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:0;background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-xl);overflow:hidden;box-shadow:var(--mf-sh-1)}
.mf-feature-media{position:relative;min-height:380px;background:var(--mf-navy-50)}
.mf-feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mf-feature-body{padding:44px 44px 40px;display:flex;flex-direction:column;justify-content:center}
.mf-feature-body h2{font-size:clamp(28px,3.4vw,38px);margin:0 0 14px}
.mf-feature-body>p{color:var(--mf-text);font-size:16.5px;margin:0 0 20px}
.mf-checks{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.mf-checks li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--mf-text)}
.mf-checks li .mf-ic{color:var(--mf-ok);margin-top:2px}
.mf-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Concierge band (Ask Mister on desktop) */
.mf-concierge{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--mf-navy);color:#fff;border-radius:var(--mf-r-xl);padding:32px 36px;position:relative;overflow:hidden}
.mf-concierge::after{content:"";position:absolute;inset-inline-end:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(241,90,36,.28),transparent 70%)}
.mf-concierge h2{color:#fff;font-size:clamp(24px,2.8vw,30px);margin:0 0 6px}
.mf-concierge p{margin:0;color:rgba(255,255,255,.8)}
.mf-concierge .mf-mister{box-shadow:0 0 0 3px var(--mf-navy),0 0 0 5px var(--mf-orange)}
.mf-concierge-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.mf-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--mf-r-pill);border:1px solid rgba(255,255,255,.28);
  color:#fff;font-size:13.5px;font-weight:600;text-decoration:none;background:rgba(255,255,255,.06)}
.mf-chip:hover{background:rgba(255,255,255,.14)}
.mf-chip--light{border-color:var(--mf-line);color:var(--mf-navy);background:#fff}
.mf-chip--light:hover{border-color:var(--mf-navy-200);background:var(--mf-navy-50)}

/* Steps */
.mf-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:mfstep;list-style:none;padding:0;margin:0}
.mf-steps li{position:relative;padding:22px 20px;background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg)}
.mf-steps li::before{counter-increment:mfstep;content:counter(mfstep);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
  background:var(--mf-navy-50);color:var(--mf-navy);font-weight:800;font-size:15px;margin-bottom:12px}
.mf-steps h3{font:700 16px/1.3 var(--mf-font);margin:0 0 6px}
.mf-steps p{margin:0;font-size:14px;color:var(--mf-muted)}
.mf-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.mf-value{display:flex;gap:14px;align-items:flex-start}
.mf-value .mf-vic{width:44px;height:44px;border-radius:12px;background:var(--mf-orange-50);color:var(--mf-orange-text);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.mf-value h3{font:700 15.5px/1.3 var(--mf-font);margin:2px 0 4px}
.mf-value p{margin:0;font-size:14px;color:var(--mf-muted)}

/* Route/product rows */
.mf-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mf-route{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);overflow:hidden;text-decoration:none;transition:.18s}
.mf-route:hover{box-shadow:var(--mf-sh-2);transform:translateY(-2px)}
.mf-route-media{aspect-ratio:16/9;background:var(--mf-navy-50);overflow:hidden}
.mf-route-media img,.mf-route-media .ats-card-panel{width:100%;height:100%;object-fit:cover;display:block}
.mf-route-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.mf-route-body h3{font:700 15.5px/1.35 var(--mf-font);margin:0 0 4px;color:var(--mf-ink)}
.mf-route-price{font-size:14px;font-weight:700;color:var(--mf-navy)}
.mf-route-price.is-request{color:var(--mf-muted);font-weight:600}

/* Reviews summary */
.mf-reviews-empty{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:24px 28px;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);background:#fff}
.mf-reviews-empty .mf-count{font:600 36px/1 var(--mf-serif);color:var(--mf-navy)}
.mf-reviews-empty h3{font:700 16px/1.35 var(--mf-font);margin:0 0 4px}
.mf-reviews-empty p{margin:0;color:var(--mf-muted);font-size:14px}

/* Final CTA */
.mf-cta{position:relative;overflow:hidden;border-radius:var(--mf-r-xl);background:var(--mf-navy);color:#fff;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.mf-cta h2{color:#fff;font-size:clamp(26px,3.2vw,34px);margin:0 0 6px}
.mf-cta p{margin:0;color:rgba(255,255,255,.82)}

/* Account shell */
.mf-account{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding-block:32px 56px;align-items:start}
.mf-account-side{position:sticky;top:calc(var(--mf-header-h) + 16px);background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);padding:18px}
.mf-account-user{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid var(--mf-line-2)}
.mf-account-av{width:44px;height:44px;border-radius:50%;background:var(--mf-navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0}
.mf-account-user strong{display:block;color:var(--mf-ink);font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.mf-account-user div span{display:block;color:var(--mf-muted);font-size:12.5px;overflow-wrap:anywhere}
.mf-account-nav{display:flex;flex-direction:column;gap:2px}
.mf-account-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:10px;color:var(--mf-text);font-weight:600;font-size:14.5px;text-decoration:none}
.mf-account-nav a .mf-ic{color:var(--mf-muted)}
.mf-account-nav a:hover{background:var(--mf-navy-50)}
.mf-account-nav a[aria-current]{background:var(--mf-orange-50);color:var(--mf-orange-text)}
.mf-account-nav a[aria-current] .mf-ic{color:var(--mf-orange-text)}
.mf-account-nav hr{border:0;border-top:1px solid var(--mf-line-2);margin:8px 0}
.mf-account-main h1{font-size:clamp(26px,3vw,32px);margin:0 0 18px}

/* Auth */
.mf-auth,main#mf-main.mf-auth{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - var(--mf-header-h))}
.mf-auth-media{position:relative;background:var(--mf-navy-900);overflow:hidden;color:#fff}
.mf-auth-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.mf-auth-media-copy{position:relative;padding:56px;display:flex;flex-direction:column;justify-content:flex-end;height:100%;box-sizing:border-box}
.mf-auth-media-copy h2{color:#fff;font-size:clamp(28px,3vw,40px);margin:0 0 10px}
.mf-auth-media-copy p{color:rgba(255,255,255,.85);margin:0;max-width:420px}
.mf-auth-panel{display:flex;align-items:center;justify-content:center;padding:48px 24px;background:#fff}
.mf-auth-card{width:100%;max-width:420px}
.mf-auth-card h1{font-size:32px;margin:0 0 6px}
.mf-auth-card>p{color:var(--mf-muted);margin:0 0 24px}
.mf-auth-card form{display:flex;flex-direction:column;gap:16px}
.mf-auth-alt{text-align:center;color:var(--mf-muted);font-size:14.5px;margin-top:22px}
.mf-auth-alt a{color:var(--mf-orange-text);font-weight:700}
.mf-or{display:flex;align-items:center;gap:12px;color:var(--mf-faint);font-size:13px;margin:6px 0}
.mf-or::before,.mf-or::after{content:"";flex:1;height:1px;background:var(--mf-line)}

/* Booking cards in account */
.mf-bk{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);background:#fff;text-decoration:none;transition:.15s}
.mf-bk:hover{box-shadow:var(--mf-sh-2)}
.mf-bk-ic{width:48px;height:48px;border-radius:12px;background:var(--mf-navy-50);color:var(--mf-navy);display:inline-flex;align-items:center;justify-content:center}
.mf-bk h3{font:700 15.5px/1.3 var(--mf-font);margin:0 0 4px;color:var(--mf-ink)}
.mf-bk p{margin:0;font-size:13px;color:var(--mf-muted)}
.mf-bk-side{text-align:end;display:flex;flex-direction:column;gap:6px;align-items:flex-end}

/* ==========================================================================
   10 · LEGACY BRIDGE — MARKETING FAMILY (new_site/assets/css/style.css)
   The page templates keep their markup; this restyles it into the system.
   ========================================================================== */
body .site-header,body .mobile-drawer,footer:not([class]),body .review-banner{display:none!important}
.sec{padding:48px 20px}
.sec-gray{background:var(--mf-bg-soft)}
.sec-head{max-width:680px;margin:0 auto 28px}
.sec-head-row{max-width:var(--mf-max);text-align:start}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--mf-orange-text)}
.eyebrow::before{background:var(--mf-orange)}
.sec-h{font-family:var(--mf-serif);font-weight:600;color:var(--mf-ink);font-size:clamp(26px,3.2vw,34px);letter-spacing:-.01em}
.sec-sub{color:var(--mf-muted);font-size:16px}
.see-all{color:var(--mf-navy);font-size:14px}
.see-all:hover{color:var(--mf-orange-text);text-decoration:none}
.btn{border-radius:10px;font-size:15px;min-height:48px;padding:0 22px;justify-content:center}
.btn-orange{background:var(--mf-orange-fill);box-shadow:0 6px 16px rgba(207,68,22,.22);color:#fff}
.btn-orange:hover{background:var(--mf-orange-fill-h);transform:translateY(-1px)}
.btn-navy{background:var(--mf-navy);color:#fff;border-radius:10px}
.btn-outline-w{border-radius:10px}
/* inner-page hero used by the marketing templates */
.hero{background:linear-gradient(180deg,var(--mf-navy-50) 0%,#fff 100%);color:var(--mf-ink);padding:56px 20px 48px;text-align:start;border-bottom:1px solid var(--mf-line-2)}
.hero::after{display:none}
.hero-inner{max-width:var(--mf-max);margin:0 auto}
.hero h1{color:var(--mf-ink);font-size:clamp(32px,4.6vw,48px);max-width:820px}
.hero p{color:var(--mf-muted);margin:0 0 24px;max-width:640px;font-size:17px}
.page-kicker{background:var(--mf-orange-50);color:var(--mf-orange-text);letter-spacing:.1em}
.hero .btn-outline-w{color:var(--mf-navy);border-color:var(--mf-navy-200)}
.hero-search{max-width:none;border:1px solid var(--mf-line);box-shadow:var(--mf-sh-3);border-radius:var(--mf-r-xl)}
.search-tab{background:var(--mf-navy-50);color:var(--mf-navy);min-height:40px}
.search-tab.on{background:var(--mf-navy);box-shadow:none}
.field label{font-size:12px;letter-spacing:.06em;color:var(--mf-muted)}
.field input,.field select,.field textarea{min-height:48px;border:1.5px solid var(--mf-line);background:#fff;border-radius:10px;font-size:15px;color:var(--mf-ink);box-sizing:border-box}
.field textarea{padding:12px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mf-navy);box-shadow:0 0 0 3px var(--mf-navy-100)}
/* cards */
.svc-card,.carousel-card,.tour-card,.event-card,.trust-item,.review-card,.journal-card,.faq-item,.prod-tile,.uni-chip,.price-card,.booking-form{
  border:1px solid var(--mf-line);box-shadow:none;border-radius:var(--mf-r-lg)}
.svc-card:hover,.carousel-card:hover,.tour-card:hover,.event-card:hover,.journal-card:hover,.prod-tile:hover{box-shadow:var(--mf-sh-2);transform:translateY(-3px)}
.svc-card{align-items:flex-start;text-align:start;padding:24px}
.svc-icon{background:var(--mf-navy-50)!important;border-radius:12px}
.svc-icon svg{stroke:var(--mf-navy)!important}
.svc-card.full{background:var(--mf-navy)}
.svc-name,.carousel-title,.uni-name,.event-card .nm{color:var(--mf-ink)}
.carousel-price,.uni-cta,.feat-link,.prod-tile-cta,.tc2-btn-ghost{color:var(--mf-orange-text)}
.tour-name,.tc2-name,.feat-h,.prod-tile-h,.timeline-title,.wk-intro-h{font-family:var(--mf-serif);color:var(--mf-ink);font-weight:600}
.tc2-name{font-size:19px}
.tc2-desc{font-size:14px;color:var(--mf-muted)}
.tc2-cat{color:var(--mf-orange-text);background:var(--mf-orange-50);border-color:transparent;font-size:11px;letter-spacing:.08em}
.tc2-foot{border-top-color:var(--mf-line-2)}
.tc2-price-amt{font-size:20px;color:var(--mf-navy)}
.tc2-price-req{font-size:14px;color:var(--mf-navy);font-weight:700}
.tc2-btn{min-height:42px;padding:0 16px;font-size:14px}
.tc2-btn-ghost{text-decoration:none;font-size:14px;padding:10px 4px}
.tc2-btn-ghost:hover{text-decoration:underline}
.rv-badge{font-size:12.5px}
.rv-badge.rv-none{background:var(--mf-bg-soft);color:var(--mf-muted);border-color:var(--mf-line)}
.tour-img img,.tc2-img img{transition:transform .4s}
.tour-card:hover .tour-img img{transform:scale(1.04)}
.carousel{padding-bottom:18px}
.carousel-card-wrap{flex:0 0 300px;max-width:300px}
.carousel-card-wrap .tour-card{border:1px solid var(--mf-line);border-radius:var(--mf-r-lg)}
.feat-visual,.prod-tile-img{border:0}
.feat-visual{border-radius:var(--mf-r-xl)}
.feat-h{font-size:clamp(28px,3.4vw,36px)}
.feat-p,.prod-tile-p,.wk-intro-p,.detail-text{color:var(--mf-text);font-size:16px}
.events-hero{background:var(--mf-navy);border-radius:var(--mf-r-xl)}
.trust-item .ic{background:var(--mf-orange-50)}
.trust-item .ic svg{stroke:var(--mf-orange-text)}
.trust-item p{color:var(--mf-ink)}
.home-rev-empty,.td-rev-empty{background:var(--mf-bg-soft);border:1.5px dashed var(--mf-line);border-radius:var(--mf-r-lg)}
.home-rev-empty-icon,.td-rev-empty-icon{display:none}
/* detail pages */
.crumb-bar{background:#fff;border-bottom:1px solid var(--mf-line-2)}
.crumb-inner{font-size:13px}
.crumb-current{color:var(--mf-ink)}
.detail-hero{border-radius:0}
.detail-hero-overlay{background:linear-gradient(0deg,rgba(19,31,71,.85) 0%,rgba(19,31,71,.15) 60%,transparent 100%)}
.check-list li::before{color:var(--mf-ok)}
.check-list li,.cross-list li{font-size:15px;color:var(--mf-text);border-bottom-color:var(--mf-line-2)}
.faq-list{gap:10px}
.faq-item{padding:0;overflow:hidden}
.faq-item summary{padding:18px 20px;font-size:15.5px;color:var(--mf-ink);min-height:44px}
.faq-item summary::after{color:var(--mf-navy);font-size:22px}
.faq-item p{padding:0 20px 18px;margin:0;font-size:15px;color:var(--mf-text)}
.faq-item[open]{border-color:var(--mf-navy-200)}
.timeline-num{background:var(--mf-navy)!important;box-shadow:none!important}
.timeline-step:nth-child(even) .timeline-num{background:var(--mf-orange-fill)!important}
.timeline-desc{font-size:15px;color:var(--mf-text)}
.notify-chip{background:var(--mf-orange-50);color:var(--mf-orange-text)}
.booking-form{box-shadow:var(--mf-sh-2)}
.price-card{box-shadow:var(--mf-sh-2)}
.uni-chip:hover{border-color:var(--mf-navy-200);box-shadow:var(--mf-sh-1)}
.package-card.featured{border:2px solid var(--mf-orange)}
.popular-tag{background:var(--mf-orange-fill)}
.journal-title{color:var(--mf-ink)}
.stars .star.filled{fill:#F5AF18;stroke:#F5AF18}
.ats-card-panel{background:linear-gradient(135deg,#E7EAF4 0%,#F3F5FA 100%)!important;color:var(--mf-navy)!important}
.ats-card-panel>span:first-child{background:linear-gradient(115deg,rgba(255,255,255,.55) 0 38%,transparent 38%)!important}
.ats-card-panel>span[aria-hidden="true"][style*="font-size:26px"]{display:none}
.ats-card-panel>span[style*="bottom:0"]{background:var(--mf-orange)!important}
.ats-card-panel>span[style*="opacity:.78"]{opacity:1!important;color:var(--mf-muted)}

/* ==========================================================================
   11 · LEGACY BRIDGE — BOOKING FAMILY (assets/css/shared.css)
   ========================================================================== */
body .topbar,body .navbar,body .mobile-menu{display:none!important}
/* WhatsApp float only renders when a real number is configured; keep it clear of Ask Mister */
.wa-float{bottom:92px!important}
.page-hero{background:linear-gradient(180deg,var(--mf-navy-50) 0%,#fff 100%);padding:44px 24px 40px;border-bottom:1px solid var(--mf-line-2)}
.page-hero h1{font-family:var(--mf-serif);font-weight:600;color:var(--mf-ink);font-size:clamp(30px,4.4vw,44px);letter-spacing:-.01em}
.page-hero h1 em{color:var(--mf-orange-text);font-style:italic}
.page-hero p{color:var(--mf-muted);font-size:17px;max-width:640px}
.breadcrumb{color:var(--mf-muted)}
.breadcrumb a{color:var(--mf-muted)}
.breadcrumb a:hover{color:var(--mf-navy)}
.breadcrumb span{color:var(--mf-faint)}
.sec-inner{max-width:var(--mf-max)}
.sec-h em{color:var(--mf-orange-text);font-style:italic}
.btn-primary,.sbtn,.nav-cta,.mm-cta{background:var(--mf-orange-fill);border-radius:10px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;color:#fff}
.btn-primary:hover,.sbtn:hover{background:var(--mf-orange-fill-h)}
.btn-navy{border-radius:10px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.btn-white{border-radius:10px;color:var(--mf-orange-text)}
.fg label{font-size:12px;letter-spacing:.06em;color:var(--mf-muted)}
.fg input,.fg select,.fg textarea{height:auto;min-height:48px;border:1.5px solid var(--mf-line);border-radius:10px;font-size:15px;color:var(--mf-ink);font-family:var(--mf-font)}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--mf-navy);box-shadow:0 0 0 3px var(--mf-navy-100)}
.fg select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235B6478' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-inline-end:36px}
[dir=rtl] .fg select{background-position:left 14px center}
.bpanel,.sc,.rc,.fcard,.tc,.sd-price-box{border:1px solid var(--mf-line);border-radius:var(--mf-r-lg)}
.bpanel{box-shadow:var(--mf-sh-3)}
.btab.on{color:var(--mf-navy);border-bottom-color:var(--mf-orange)}
.sc:hover,.rc:hover,.fcard:hover{border-color:var(--mf-navy-200);box-shadow:var(--mf-sh-2)}
.sc::after{background:var(--mf-orange)}
.sc-icon,.wi{background:var(--mf-navy-50);border-color:transparent;color:var(--mf-navy)}
.sc-name,.wt,.fname,.rf,.tc-name,.sd-h{color:var(--mf-ink)}
.sc-price,.fprice,.sd-price-val{color:var(--mf-navy)}
.rbadge{background:var(--mf-orange-50);color:var(--mf-orange-text)}
.ra{color:var(--mf-orange-text)}
.fbook-btn{border-radius:10px;min-height:44px}
.fbook-btn:hover{background:var(--mf-orange-fill)}
.cta-strip{background:var(--mf-navy);border-radius:0}
.cta-strip .btn-white{color:var(--mf-navy)}
.tp{border-color:var(--mf-line)}
footer .footer-grid,footer .footer-bottom{display:none}
.ats-cookie-banner{z-index:1300!important;border:1px solid var(--mf-line)!important;border-radius:var(--mf-r-lg)!important;box-shadow:var(--mf-sh-3)!important}
.acb-text{color:var(--mf-text)!important}
.acb-btn{min-height:44px;border-radius:10px!important;font-size:14px!important}
.acb-accept{background:var(--mf-orange-fill)!important;border-color:var(--mf-orange-fill)!important}
.acb-reject{border-color:var(--mf-line)!important;color:var(--mf-navy)!important}

/* ==========================================================================
   12 · RESPONSIVE · RTL · MOTION · PRINT
   ========================================================================== */
@media (max-width:1440px){
  .mf-logo-tag{display:none}
  .mf-locale-btn span{display:none}
  .mf-locale-btn{width:40px;padding:0;justify-content:center}
  .mf-locale-btn .mf-ic:last-child{display:none}
}
@media (max-width:1180px){
  .mf-nav a,.mf-more-btn{padding:10px 8px;font-size:13.5px}
  .mf-nav a.is-on::after,.mf-more-btn.is-on::after{left:8px;right:8px}
  .mf-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mf-tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mf-search-row{grid-template-columns:1fr 1fr 1fr 1fr}
  .mf-search-row .mf-btn{grid-column:1/-1}
}
@media (max-width:1023px){
  .mf-nav,.mf-locale,.mf-hide-md{display:none!important}
  .mf-menu-btn{display:inline-flex}
  .mf-footer-grid{grid-template-columns:1fr 1fr}
  .mf-footer-brand{grid-column:1/-1}
  .mf-feature{grid-template-columns:1fr}
  .mf-feature-media{min-height:260px}
  .mf-steps,.mf-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mf-routes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mf-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mf-concierge{grid-template-columns:auto 1fr}
  .mf-concierge>.mf-btn{grid-column:1/-1;justify-self:start}
  .mf-account{grid-template-columns:minmax(0,1fr)}
  .mf-account-side,.mf-account-main{min-width:0}
  .mf-account-side{position:static;padding:12px;border-radius:var(--mf-r)}
  .mf-account{gap:16px;padding-block:16px 40px}
  .mf-account-user{padding-bottom:10px;margin-bottom:8px}
  .mf-account-nav{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:6px}
  .mf-account-nav::-webkit-scrollbar{display:none}
  .mf-account-nav a{flex:0 0 auto;min-height:40px;padding:0 12px;border:1px solid var(--mf-line);border-radius:var(--mf-r-pill);font-size:14px}
  .mf-account-nav a .mf-ic{width:18px;height:18px}
  .mf-account-nav hr{display:none}
  .mf-auth{grid-template-columns:1fr}
  .mf-auth-media{display:none}
}
@media (max-width:767px){
  :root{--mf-header-h:60px;--mf-gutter:16px}
  body{font-size:15.5px;padding-bottom:calc(var(--mf-bnav-h) + var(--mf-safe-b))}
  .mf-logo-tag{display:none}
  .mf-logo-name{font-size:20px}
  .mf-logo-mark svg{width:28px;height:28px}
  .mf-hide-sm{display:none!important}
  .mf-header-row{gap:8px}
  .mf-section{padding-block:40px}
  .mf-hero-inner{padding:48px 0 112px}
  .mf-hero::before{background:linear-gradient(180deg,rgba(19,31,71,.55) 0%,rgba(19,31,71,.86) 70%,rgba(19,31,71,.92) 100%)}
  .mf-hero-points{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
  .mf-hero-points::-webkit-scrollbar{display:none}
  .mf-hero-points li{font-size:12.5px;padding:7px 10px;flex:0 0 auto}
  .mf-hero h1{font-size:38px}
  .mf-search{margin-top:-72px;border-radius:var(--mf-r-lg)}
  .mf-tab{padding:10px 10px 12px;font-size:13px}
  .mf-tabpanel{padding:16px}
  .mf-search-row{grid-template-columns:1fr 1fr}
  .mf-search-row .mf-field:nth-child(-n+2){grid-column:1/-1}
  .mf-tiles,.mf-tiles--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mf-tour-grid{grid-template-columns:1fr!important}
  .mf-tile-body{padding:12px}
  .mf-tile h3{font-size:14.5px}
  .mf-tile p{display:none}
  .mf-feature-body{padding:26px 20px 24px}
  .mf-steps,.mf-values,.mf-routes,.mf-grid-2,.mf-grid-3,.mf-grid-4{grid-template-columns:1fr}
  .mf-concierge{grid-template-columns:1fr;padding:26px 22px;text-align:start}
  .mf-reviews-empty{grid-template-columns:1fr;text-align:start}
  .mf-cta{padding:28px 22px}
  .mf-footer{padding:40px 0 24px}
  .mf-footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .mf-pagehero{padding:28px 0 24px}
  .mf-pagehero p{font-size:15.5px}
  .mf-bk{grid-template-columns:auto 1fr}
  .mf-bk-side{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;text-align:start}
  .mf-ask-fab{display:none}
  .ats-cookie-banner{bottom:calc(var(--mf-bnav-h) + var(--mf-safe-b) + 10px)!important;left:10px!important;right:10px!important;padding:14px!important;gap:10px!important}
  .acb-text{flex:0 0 auto!important;font-size:13px!important}
  .wa-float{bottom:calc(var(--mf-bnav-h) + var(--mf-safe-b) + 14px)!important}
  /* bottom nav */
  .mf-bnav{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#fff;border-top:1px solid var(--mf-line);
    box-shadow:0 -6px 20px rgba(20,27,52,.06);padding-bottom:var(--mf-safe-b)}
  .mf-bnav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);height:var(--mf-bnav-h);align-items:end}
  .mf-bnav li{display:flex;justify-content:center}
  .mf-bnav a,.mf-bnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:var(--mf-bnav-h);
    padding:0 2px 6px;color:var(--mf-muted);text-decoration:none;background:none;border:0;cursor:pointer;font:600 11px/1.1 var(--mf-font)}
  .mf-bnav a.is-on{color:var(--mf-navy)}
  .mf-bnav a.is-on .mf-ic{color:var(--mf-orange-text)}
  .mf-bnav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mf-bnav-mister button{position:relative;justify-content:flex-end;color:var(--mf-navy);font-weight:700}
  .mf-bnav-avatar{position:absolute;top:-22px;left:50%;transform:translateX(-50%);width:58px;height:58px;border-radius:50%;background:#fff;padding:3px;
    box-shadow:0 6px 16px rgba(20,27,52,.18);box-sizing:border-box}
  .mf-bnav-avatar .mf-mister{width:52px;height:52px;box-shadow:0 0 0 2px var(--mf-orange)}
  .mf-bnav-mister .mf-bnav-label{background:var(--mf-orange-fill);color:#fff;padding:3px 8px;border-radius:var(--mf-r-pill);font-size:10.5px}
  .mf-ask-panel{inset:auto 0 0 0;width:100%;max-height:88vh;border-radius:var(--mf-r-xl) var(--mf-r-xl) 0 0}
  /* legacy marketing family */
  .sec{padding:36px 16px}
  .hero{padding:32px 16px 28px}
  .hero h1{font-size:30px}
  .hero p{font-size:15.5px}
  .carousel{margin:0 -16px;padding:4px 16px 16px}
  .carousel-card-wrap{flex-basis:272px;max-width:272px}
  /* booking family */
  .page-hero{padding:28px 16px 24px;text-align:start}
  .page-hero h1{font-size:30px}
  .breadcrumb{justify-content:flex-start}
  .btn-navy{margin-left:0}
}
@media (max-width:380px){
  .mf-tab .mf-ic{display:none}
  .mf-footer-grid{grid-template-columns:1fr}
}
@media (min-width:768px){ .mf-only-sm{display:none!important} }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media print{
  .mf-header,.mf-bnav,.mf-ask,.mf-ask-fab,.mf-drawer,.mf-footer{display:none!important}
  body{padding:0}
}

/* Inline icons that replaced legacy emoji (mf_emoji_to_icons) */
.mf-emo{width:1.05em;height:1.05em;vertical-align:-.16em;margin-inline-end:.15em;color:currentColor;opacity:.9}

/* ── Tour / product detail (app/Views/Public/tours/show.php) ──────────────
   The template's own <style> loads after this file, hence body.mf prefix. */
body.mf .tdh{padding:56px 0 48px;background:var(--mf-navy-900)}
body.mf .tdh-overlay{background:linear-gradient(90deg,rgba(19,31,71,.9) 0%,rgba(19,31,71,.6) 55%,rgba(19,31,71,.25) 100%)}
body.mf .tdh-inner{max-width:var(--mf-max);padding:0 var(--mf-gutter)}
body.mf .tdh-title{color:#fff;font-family:var(--mf-serif);font-weight:600;font-size:clamp(32px,4.6vw,52px);letter-spacing:-.015em}
body.mf .tdh-type-pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:11.5px;letter-spacing:.1em;padding:6px 12px}
body.mf .tdh-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:7px 12px;border-radius:var(--mf-r-pill);font-size:13px}
body.mf .tdh-min-price{color:#fff;font-size:24px;font-weight:800}
body.mf .tdh-cta,body.mf .btn-book-tour,body.mf .mobile-book-btn{background:var(--mf-orange-fill);border-radius:10px;min-height:48px;font-weight:700}
body.mf .tdh-cta:hover,body.mf .btn-book-tour:hover{background:var(--mf-orange-fill-h)}
body.mf .tdh .breadcrumb,body.mf .tdh .breadcrumb a{color:rgba(255,255,255,.75);justify-content:flex-start}
body.mf .td-layout{grid-template-columns:minmax(0,1fr) 360px;gap:40px}
body.mf .sec-inner{max-width:var(--mf-max);margin:0 auto}
body.mf .td-sidebar{top:calc(var(--mf-header-h) + 20px)}
body.mf .tour-book-cta{border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);box-shadow:var(--mf-sh-2);text-align:start;padding:24px}
body.mf .tour-price-from .price-amount,body.mf .tsc-amount{color:var(--mf-navy);font-size:22px}
body.mf .tour-price-note{font-size:13px;color:var(--mf-muted);margin:12px 0 0;line-height:1.5}
.mf-journey-h{border-bottom:1px solid var(--mf-line-2);padding-bottom:14px;margin-bottom:16px}
.mf-journey-h .mf-kicker{margin-bottom:4px}
.mf-journey-h h2{font-size:24px;margin:0;line-height:1.2}
.mf-side-ask{display:flex;align-items:center;gap:10px;width:100%;margin-top:14px;padding:10px 12px;border:1px solid var(--mf-line);border-radius:var(--mf-r);
  background:var(--mf-bg-soft);color:var(--mf-navy);font:600 14px/1.3 var(--mf-font);cursor:pointer;text-align:start}
.mf-side-ask:hover{border-color:var(--mf-navy-200);background:#fff}
body.mf .td-section-h{font-family:var(--mf-serif);font-weight:600;color:var(--mf-ink);font-size:24px}
body.mf .td-section-h .mf-emo{display:none}
body.mf .tg-tab.active{background:var(--mf-navy);border-color:var(--mf-navy)}
body.mf .tg-tab{min-height:40px}
body.mf .tg-main{border-radius:var(--mf-r-lg)}
body.mf .tg-thumb.active{border-color:var(--mf-orange)}
body.mf .tg-nav{width:44px;height:44px;background:rgba(19,31,71,.55)}
@media (max-width:900px){
  body.mf .td-layout{grid-template-columns:1fr}
  body.mf .td-sidebar{position:static}
}
@media (max-width:767px){
  body.mf .tdh{padding:32px 0 28px}
  body.mf .tdh-title{font-size:32px}
  body.mf .tdh-overlay{background:linear-gradient(180deg,rgba(19,31,71,.6),rgba(19,31,71,.88))}
  /* the product's own booking bar sits directly above the bottom navigation */
  body.mf .mobile-book-bar{bottom:calc(var(--mf-bnav-h) + var(--mf-safe-b))!important;padding:10px 16px 28px!important;box-shadow:0 -6px 18px rgba(20,27,52,.08);border-top:1px solid var(--mf-line)}
  body.mf .mobile-book-btn{min-height:48px;padding:0 16px;font-size:15px}
  body.mf{padding-bottom:calc(var(--mf-bnav-h) + var(--mf-safe-b) + 92px)}
}
/* an emoji that was the sole content of an icon box becomes a proper-size icon */
[class*="ico"]>.mf-emo:only-child,[class*="icon"]>.mf-emo:only-child,.wi>.mf-emo,.fimg>.mf-emo,.sd-visual>.mf-emo{width:26px;height:26px;margin:0;opacity:1;color:var(--mf-navy)}
.sd-visual>.mf-emo,.fimg>.mf-emo{width:48px;height:48px;stroke-width:1.4}
/* Booking-flow page heads (book.php etc.) — light, compact */
.mf-flowhero{background:linear-gradient(180deg,var(--mf-navy-50),#fff);border-bottom:1px solid var(--mf-line-2);padding:28px 20px 24px}
.mf-flowhero .breadcrumb{justify-content:flex-start;margin-bottom:8px}
.mf-flowhero h1{font-size:clamp(28px,3.4vw,38px);margin:0}
.mf-flowhero h1 em{color:var(--mf-orange-text)!important;font-style:italic!important}

/* ── Auth pages (customer/login.php, customer/register.php) ─────────────── */
.mf-authpage .login-box{width:100%;max-width:420px}
.mf-authpage .login-logo{display:none}
.mf-authpage .login-box h1{font-size:34px;margin:0 0 6px}
.mf-authpage .login-box p.sub{color:var(--mf-muted);margin:0 0 24px;font-size:15.5px}
.mf-authpage .form-row{margin-bottom:16px}
.mf-authpage .form-row label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--mf-text)}
.mf-authpage .form-row input{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid var(--mf-line);border-radius:10px;font:500 15px var(--mf-font);color:var(--mf-ink);box-sizing:border-box}
.mf-authpage .form-row input:focus{outline:none;border-color:var(--mf-navy);box-shadow:0 0 0 3px var(--mf-navy-100)}
.mf-authpage .btn-primary{width:100%;min-height:50px;background:var(--mf-orange-fill);color:#fff;border:0;border-radius:10px;font:700 16px var(--mf-font);cursor:pointer;margin-top:4px}
.mf-authpage .btn-primary:hover{background:var(--mf-orange-fill-h)}
.mf-authpage .alert-err{background:var(--mf-err-50);color:#8A1C12;border:1px solid #F5C2BC;padding:12px 14px;border-radius:var(--mf-r);margin-bottom:16px;font-size:14px}
.mf-authpage .login-footer{text-align:center;margin-top:20px;font-size:14.5px;color:var(--mf-muted)}
.mf-authpage .login-footer a{color:var(--mf-orange-text);font-weight:700;text-decoration:none}
.mf-authpage .oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:10px;font-weight:700;margin-bottom:10px;text-decoration:none}
.mf-authpage .oauth-btn-google{background:#fff;color:#3c4043;border:1px solid var(--mf-line)}
.mf-authpage .oauth-btn-apple{background:#000;color:#fff}
.mf-authpage .oauth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--mf-faint);font-size:13px}
.mf-authpage .oauth-divider::before,.mf-authpage .oauth-divider::after{content:"";flex:1;height:1px;background:var(--mf-line)}
.mf-authpage .guest-checkout-link{display:block;text-align:center;border:1.5px dashed var(--mf-line);color:var(--mf-navy);padding:13px;border-radius:10px;font-weight:700;font-size:14.5px;margin-top:16px;text-decoration:none}
.mf-authpage .guest-checkout-link:hover{border-color:var(--mf-navy-200);background:var(--mf-bg-soft)}
.mf-auth-forgot{margin:12px 0 0;text-align:end;font-size:14px}
.mf-auth-forgot a{color:var(--mf-navy);font-weight:600}
.mf-auth-media-copy .mf-mister{margin-bottom:16px;box-shadow:0 0 0 3px rgba(255,255,255,.2),0 0 0 5px var(--mf-orange)}

/* ==========================================================================
   13 · PAGE-FAMILY COMPONENTS (service / product / listing pages)
   ========================================================================== */
.mf-phero{background:linear-gradient(180deg,var(--mf-navy-50) 0%,#fff 78%);border-bottom:1px solid var(--mf-line-2)}
.mf-phero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:40px 48px}
.mf-phero-copy h1{font-size:clamp(34px,4.4vw,52px);line-height:1.06;color:var(--mf-ink);margin:0 0 16px;letter-spacing:-.02em}
.mf-phero-sub{font-size:18px;color:var(--mf-muted);margin:0 0 26px;max-width:560px}
.mf-phero-points{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:10px}
.mf-phero-points li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--mf-text)}
.mf-phero-points .mf-ic{color:var(--mf-orange-text);margin-top:2px}
.mf-phero-media{position:relative;aspect-ratio:4/3;border-radius:var(--mf-r-xl);overflow:hidden;background:var(--mf-navy-50);box-shadow:var(--mf-sh-3)}
.mf-phero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mf-phero-media .mf-tile-icon .mf-ic{width:72px;height:72px;stroke-width:1.2}
.mf-phero-aside{align-self:stretch;display:flex;align-items:center}
.mf-phero-aside>*{width:100%}

.mf-info{display:grid;gap:18px}
.mf-info--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mf-info--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mf-info--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mf-info-card{background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);padding:22px}
.mf-info-card .mf-vic{width:44px;height:44px;border-radius:12px;background:var(--mf-orange-50);color:var(--mf-orange-text);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}
.mf-info-card h3{font:700 16.5px/1.3 var(--mf-font);color:var(--mf-ink);margin:0 0 6px}
.mf-info-card p{font-size:14.5px;line-height:1.65;color:var(--mf-muted);margin:0}

/* product cards (airports, routes, packages, event types) */
.mf-cards{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.mf-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);overflow:hidden;transition:box-shadow .18s,transform .18s;min-width:0}
.mf-card:hover{box-shadow:var(--mf-sh-2);transform:translateY(-2px)}
.mf-card-media{aspect-ratio:16/10;background:var(--mf-navy-50);overflow:hidden;position:relative}
.mf-card-media img,.mf-card-media .ats-card-panel{width:100%;height:100%;object-fit:cover;display:block}
.mf-card-media .mf-badge{position:absolute;top:12px;inset-inline-start:12px}
.mf-card-body{display:flex;flex-direction:column;gap:8px;padding:18px;flex:1}
.mf-card-body h3{font-family:var(--mf-serif);font-weight:600;font-size:20px;color:var(--mf-ink);margin:0}
.mf-card-body p{font-size:14.5px;line-height:1.6;color:var(--mf-muted);margin:0}
.mf-card-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--mf-line-2);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mf-card-price{display:flex;flex-direction:column;line-height:1.2}
.mf-card-price small{font-size:12px;color:var(--mf-muted);font-weight:600}
.mf-card-price strong{font-size:20px;color:var(--mf-navy)}
.mf-card-price.is-request strong{font-size:15px}
.mf-card--muted .mf-card-media{filter:saturate(.75)}

/* request form */
.mf-requestwrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
.mf-request{background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-xl);padding:26px;box-shadow:var(--mf-sh-2)}
.mf-request-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mf-span-2{grid-column:span 2}.mf-span-4{grid-column:1/-1}
.mf-request [aria-invalid=true]{border-color:var(--mf-err)!important;box-shadow:0 0 0 3px var(--mf-err-50)!important}
.mf-request-err{margin:16px 0 0}
.mf-request-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;flex-wrap:wrap}
.mf-request-foot p{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13.5px;color:var(--mf-muted);max-width:420px}
.mf-next{background:var(--mf-bg-soft);border:1px solid var(--mf-line);border-radius:var(--mf-r-xl);padding:24px}
.mf-next h3{font:700 17px/1.3 var(--mf-font);margin:0 0 14px;color:var(--mf-ink)}
.mf-next ol{list-style:none;counter-reset:mfn;margin:0;padding:0;display:grid;gap:14px}
.mf-next li{counter-increment:mfn;display:grid;grid-template-columns:30px 1fr;gap:12px;font-size:14.5px;color:var(--mf-text)}
.mf-next li::before{content:counter(mfn);width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--mf-line);color:var(--mf-navy);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.mf-next .mf-side-ask{margin-top:18px;background:#fff}

/* list chips (universities) */
.mf-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mf-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 16px;background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r);
  font-weight:600;font-size:15px;color:var(--mf-ink);text-decoration:none}
.mf-list a .mf-ic{color:var(--mf-orange-text)}
.mf-list a:hover{border-color:var(--mf-navy-200);box-shadow:var(--mf-sh-1)}
.mf-note{font-size:13.5px;color:var(--mf-muted);margin:16px 0 0}
.mf-prose{max-width:760px;font-size:16.5px;line-height:1.75;color:var(--mf-text)}
.mf-prose p{margin:0 0 14px}
.mf-prose a{color:var(--mf-orange-text);font-weight:600}

@media (max-width:1023px){
  .mf-phero-grid{grid-template-columns:1fr;gap:28px}
  .mf-phero-media{aspect-ratio:16/9}
  .mf-cards,.mf-info--3,.mf-info--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mf-requestwrap{grid-template-columns:1fr}
  .mf-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .mf-phero-grid{padding-block:24px 28px}
  .mf-phero-copy h1{font-size:34px}
  .mf-phero-sub{font-size:16px}
  .mf-cards,.mf-info--2,.mf-info--3,.mf-info--4,.mf-list{grid-template-columns:1fr}
  .mf-request{padding:18px}
  .mf-request-grid{grid-template-columns:1fr 1fr}
  .mf-request-grid .mf-span-2{grid-column:1/-1}
  .mf-request-foot .mf-btn{width:100%}
}
.mf-quick{background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-xl);box-shadow:var(--mf-sh-3);padding:24px;display:flex;flex-direction:column;gap:14px}
.mf-quick h2{font-size:22px;margin:0 0 2px}
.mf-quick-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mf-quick-note{margin:0;font-size:13px;color:var(--mf-muted);line-height:1.5}
.mf-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mf-card-media--icon{aspect-ratio:auto;height:120px}
.mf-pkg-hours{font:600 44px/1 var(--mf-serif);color:var(--mf-navy)}
.mf-pkg-hours span{font:600 15px var(--mf-font);color:var(--mf-muted)}
@media (max-width:1023px){.mf-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.mf-cards--4{grid-template-columns:1fr}}
.mf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:-6px 0 24px}
.mf-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.mf-chips::-webkit-scrollbar{display:none}
.mf-chip--light{flex:0 0 auto;min-height:40px}
.mf-chip.is-on{background:var(--mf-navy);border-color:var(--mf-navy);color:#fff}
.mf-search-in{position:relative;flex:0 1 320px;min-width:220px;color:var(--mf-muted)}
.mf-search-in .mf-ic{position:absolute;inset-inline-start:14px;top:50%;transform:translateY(-50%);pointer-events:none}
.mf-search-in input{width:100%;min-height:44px;padding:0 14px 0 42px;border:1.5px solid var(--mf-line);border-radius:var(--mf-r-pill);font:500 15px var(--mf-font);color:var(--mf-ink);box-sizing:border-box}
[dir=rtl] .mf-search-in input{padding:0 42px 0 14px}
.mf-search-in input:focus{outline:none;border-color:var(--mf-navy);box-shadow:0 0 0 3px var(--mf-navy-100)}
.mf-filter-empty{color:var(--mf-muted);text-align:center;padding:24px 0}
.mf-tour-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:1180px){.mf-tour-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:767px){.mf-tour-grid--3{grid-template-columns:1fr!important}.mf-search-in{flex:1 1 100%}.mf-toolbar{flex-direction:column;align-items:stretch}}
.mf-filterable>[hidden]{display:none!important}
.mf-toolbar>*{min-width:0;max-width:100%}

/* ── Contact / help (contact.php keeps its own <style>, hence html body) ── */
.mf-askcard{background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-xl);box-shadow:var(--mf-sh-3);padding:28px;text-align:center}
.mf-askcard .mf-mister{margin:0 auto 14px;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--mf-orange)}
.mf-askcard h2{font-size:26px;margin:0 0 8px}
.mf-askcard p{color:var(--mf-muted);margin:0 0 20px}
html body .contact-grid{gap:28px}
/* overnight QA: 1fr 1fr could not shrink below the form at tablet widths (37px overflow at 820px) — stack up to 900px */
@media (max-width:900px){html body .contact-grid{grid-template-columns:minmax(0,1fr)}}
html body .ci-card,html body .corp-box,html body .contact-form{border:1px solid var(--mf-line);border-radius:var(--mf-r-lg);box-shadow:none;background:#fff}
html body .contact-form{box-shadow:var(--mf-sh-2);padding:28px}
html body .ci-icon{background:var(--mf-navy-50);border:0;border-radius:12px;color:var(--mf-navy)}
html body .ci-val{color:var(--mf-ink)}
html body .form-title{font-family:var(--mf-serif);font-weight:600;font-size:26px;color:var(--mf-ink)}
html body .corp-box{background:var(--mf-bg-soft)}
html body .faq-item{border:1px solid var(--mf-line);border-radius:var(--mf-r)}
html body .faq-q{font-size:15.5px;color:var(--mf-ink);min-height:48px}
html body .faq-a{font-size:15px;color:var(--mf-text)}
html body .success-box{border:1px solid #BFE3CC;background:var(--mf-ok-50);border-radius:var(--mf-r-lg)}
html body .error-box{border-radius:var(--mf-r)}
html body .contact-form button[type=submit],html body .cf-submit{background:var(--mf-orange-fill);border-radius:10px;min-height:50px}
[role=dialog]:focus{outline:none;box-shadow:none}
.mf-glance{background:#fff;border:1px solid var(--mf-line);border-radius:var(--mf-r-xl);box-shadow:var(--mf-sh-3);padding:28px}
.mf-glance-ic{width:60px;height:60px;border-radius:16px;background:var(--mf-navy-50);color:var(--mf-navy);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}
.mf-glance ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.mf-glance li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--mf-ink);font-weight:500}
.mf-glance li .mf-ic{color:var(--mf-orange-text);margin-top:1px}

/* ── Tour category pages (service-category.php has its own <style>) ── */
html body .cat-nav-pill{border:1px solid var(--mf-line);color:var(--mf-navy);background:#fff;min-height:40px;border-radius:var(--mf-r-pill)}
html body .cat-nav-pill.active{background:var(--mf-navy);border-color:var(--mf-navy);color:#fff}
html body .cat-nav-pill .mf-emo{display:none}
html body .scat-h1{font-family:var(--mf-serif);font-weight:600;color:var(--mf-ink);font-size:clamp(30px,4vw,42px)}
html body .scat-tours-g .tc-name{font-family:var(--mf-serif);font-weight:600;font-size:19px;color:var(--mf-ink)}
.mf-glance-ic{display:flex}.mf-glance .mf-kicker{display:flex}

/* ==========================================================================
   RTL fixes — overnight QA 2026-10-06. Every rule is scoped to [dir=rtl];
   LTR (English) rendering is unchanged.
   ========================================================================== */
/* Directional icons (arrow, back, chevron-right) point the reading way. */
[dir=rtl] svg.mf-ic:has(>path[d^="M5 12h14M13"]),[dir=rtl] svg.mf-ic:has(>path[d^="M19 12H5M11"]),[dir=rtl] svg.mf-ic:has(>path[d^="m9 6 6 6"]){transform:scaleX(-1)}
/* Route detail From → To: the endpoints swap sides, so the arrow must too. */
[dir=rtl] .td-arrow{display:inline-block;transform:scaleX(-1)}
/* Booking progress: the connector line runs back toward the previous step. */
[dir=rtl] .mfb-progress li::before{right:auto;left:50%}
/* Arabic script: no tracking (it breaks cursive joining), taller line boxes
   for marks, and the UI sans for headings (Fraunces has no Arabic glyphs). */
html[dir=rtl] body,html[dir=rtl] body *{letter-spacing:0!important}
html[dir=rtl] :is(h1,h2,h3,.mf-serif){font-family:var(--mf-font);line-height:1.3!important}
html[dir=rtl] .r2-copy h1{font-size:44px}
@media (max-width:640px){html[dir=rtl] .r2-copy h1{font-size:30px}}
html[dir=rtl] .r2-chips{flex-wrap:wrap;row-gap:8px;max-width:620px}
@media (min-width:1024px){html[dir=rtl] .r2-copy{top:70px}html[dir=rtl] .r2-copy h1{margin-bottom:10px}html[dir=rtl] .r2-copy p{margin-bottom:14px}}

/* Accessibility — overnight QA 2026-10-06 (axe colour-contrast). Same hues, darker text. */
html body .pill-pickup{color:#166534}
html body .pill-dropoff{color:#92400E}
html body .sec-inner>.breadcrumb span{color:var(--mf-muted)}

/* ── Final polish F1: one header on every public page ─────────────────────
   The approved homepage header (mf-home.css: 1440px row, 32px inset, 80px
   tall, tagline shown, 13.5px nav) was scoped to pages that load
   mf-home.css with body.mf. The markup is the shared mf_header() everywhere,
   so the same measurements are applied here without body/page scoping.
   Values are identical to the homepage rules, so the homepage is unchanged. */
.mf-header .mf-header-row.mf-wrap{max-width:1440px;padding-inline:32px;min-height:80px}
.mf-header .mf-logo-tag{display:block}
.mf-header .mf-nav a,.mf-header .mf-more-btn{font-size:13.5px;padding:10px 10px}
@media (max-width:767px){
  .mf-header .mf-header-row.mf-wrap{min-height:60px;padding-inline:16px}
  .mf-header .mf-logo-tag{display:none}
}

/* ── Final touch-up: desktop floating Ask Mister never covers content ─────
   ≥768px only (below that it is already hidden; the bottom-nav Ask Mister is
   unchanged). The pill (≈150px wide, 24px in) sat over card text, prices and
   CTAs near the right edge. It becomes the round Mister avatar alone, tucked
   into the 16px corner gutter; the "Ask Mister" label stays as the button's
   accessible name. Same artwork, same action. */
@media (min-width:768px){
  .mf-ask-fab{inset-inline-end:16px;bottom:16px;padding:4px;gap:0}
  [dir=rtl] .mf-ask-fab{padding:4px}
  .mf-ask-fab>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
}
