/* ============================================================
   247 Taxis — shared styles
   Footer + booking modal. These appear on EVERY page, so edit
   them here once and the change applies site-wide.
   ============================================================ */

/* ===== Brand palette & fonts (single source of truth) ===== */
:root{
  --ink: #141414;
  --ink-soft: #3d3d3d;
  --muted: #6b6b6b;
  --line: #e7e3dc;
  --paper: #faf8f4;
  --paper-2: #f2efe8;
  --white: #ffffff;
  --orange: #f36a1c;
  --orange-ink: #d4540c;
  --yellow: #ffc400;
  --green: #46be3c;
  --blue: #1bb4ee;
  --pink: #e8457a;
  --pink-dark: #2d0d1a;
}

/* ===== Footer ===== */
footer.site{background:var(--ink);color:#fff;padding:64px 0 30px;}
footer.site .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;}
footer.site .brandcol img{height:42px;margin-bottom:16px;}
footer.site .brandcol p{color:#a8a5a0;font-size:15px;max-width:34ch;line-height:1.55;}
footer.site .foot-contact{margin-top:18px;display:flex;flex-direction:column;gap:6px;}
footer.site .foot-contact a{font-family:var(--font-display);font-weight:700;font-size:18px;color:#fff;}
footer.site .foot-contact span{color:#86837e;font-size:13.5px;line-height:1.5;max-width:32ch;}
footer.site .foot-social{display:flex;gap:10px;margin-top:20px;}
footer.site .foot-social a{width:42px;height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#cbc8c3;transition:background .18s,color .18s,border-color .18s,transform .18s;}
footer.site .foot-social a:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px);}
footer.site .foot-col h5{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#86837e;margin-bottom:14px;font-weight:700;}
footer.site .foot-col a{display:block;color:#cbc8c3;padding:6px 0;font-weight:500;font-size:15px;}
footer.site .foot-col a:hover{color:#fff;}
footer.site .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);color:#86837e;font-size:14px;}
footer.site .foot-legal{display:flex;gap:22px;}
footer.site .foot-legal a{color:#86837e;}
footer.site .foot-legal a:hover{color:#fff;}
@media(max-width:900px){footer.site .foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){footer.site .foot-grid{grid-template-columns:1fr;}}

/* ===== Booking modal ===== */
.book-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;font-family:var(--font-body);}
.book-modal.open{display:flex;}
.book-modal__backdrop{position:fixed;inset:0;background:rgba(12,12,12,.62);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease;}
.book-modal.open .book-modal__backdrop{opacity:1;}
.book-modal__panel{position:relative;background:#fff;border-radius:20px;width:min(940px,96vw);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);transform:translateY(18px) scale(.98);opacity:0;transition:transform .28s cubic-bezier(.4,.05,.2,1),opacity .28s ease;}
.book-modal.open .book-modal__panel{transform:none;opacity:1;}
.book-modal__stripe{display:flex;height:5px;flex:none;}
.book-modal__stripe span{flex:1;}
.book-modal__stripe span:nth-child(1){background:var(--orange);}.book-modal__stripe span:nth-child(2){background:var(--yellow);}.book-modal__stripe span:nth-child(3){background:var(--green);}.book-modal__stripe span:nth-child(4){background:var(--blue);}
.book-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 15px 20px;border-bottom:1px solid var(--line);flex:none;}
.book-modal__title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;}
.book-modal__title .d{width:8px;height:8px;border-radius:50%;background:var(--orange);}
.book-modal__close{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .15s,border-color .15s;}
.book-modal__close:hover{background:var(--paper-2);}
.book-modal__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;}
.book-modal__body iframe{width:100%;border:0;display:block;min-height:760px;}
.book-modal__loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:var(--muted);font-weight:600;font-size:15px;}
.book-modal__spin{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--orange);border-radius:50%;animation:bmspin .7s linear infinite;}
@keyframes bmspin{to{transform:rotate(360deg);}}
body.book-lock{overflow:hidden;}
@media(max-width:600px){.book-modal{padding:0;}.book-modal__panel{width:100%;height:100%;max-height:100%;border-radius:0;}}
