/* Limanaki skin. Navy, cream and gold, taken from the mockup.
   Overrides tokens and module chrome only — no module CSS is edited. */

:root{
  --brand:#14375F;
  --brand-dark:#0E2843;
  --brand-2:#C9A24A;
  --gold:#C9A24A;
  --bg:#F7F0E1;
  --bg-2:#FFFFFF;
  --surface:#FFFFFF;
  --border:#E3D8C2;
  --text:#14375F;
  --text-2:#6B7A8C;
  --font-head:'Cormorant Garamond',Georgia,serif;
  --font-body:'Jost',system-ui,sans-serif;
  --radius:14px;
  --radius-lg:20px;
}

*{ -webkit-tap-highlight-color:transparent; box-sizing:border-box; }
/* `overflow-x: hidden` here makes the body a scroll container on iOS Safari,
   which kills vertical scrolling and momentum. `clip` contains the overflow
   without creating a scroller, so the page still scrolls normally. */
html{ -webkit-text-size-adjust:100%; overflow-x:clip; max-width:100%; }
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:16px; line-height:1.5; font-weight:400;
  overflow-x:clip; max-width:100%; overscroll-behavior-x:contain;
}
input,select,textarea{ font-size:16px; font-family:var(--font-body); }
img{ max-width:100%; }

/* ---------- boot ---------- */
.lim-boot{ min-height:100vh; display:grid; place-content:center; gap:16px; text-align:center; padding:24px; }
.lim-boot-name{
  display:block; font-family:var(--font-head); font-size:38px; font-weight:700;
  letter-spacing:6px; color:var(--brand);
}
.lim-boot-sub{
  display:block; font-size:11px; letter-spacing:5px; color:var(--gold); margin-top:4px;
}
.lim-boot-msg{ color:var(--text-2); font-size:14px; }

/* ---------- shell in Limanaki colours ---------- */
.lp-shell-top{ background:var(--brand); border-bottom:0; }
.lp-shell-heading{
  font-family:var(--font-head); font-weight:700; font-size:19px; letter-spacing:3px;
  text-transform:uppercase; color:#fff; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis; min-width:0;
}
.lp-shell-top button, .lp-shell-top a{ color:#fff; }
.lp-shell-brand{ background:var(--brand); color:#fff; font-family:var(--font-head); letter-spacing:3px; }
.lp-shell-bottom{ background:var(--brand); border-top:0; }
.lp-shell-bi{ color:rgba(255,255,255,.62); }
.lp-shell-bi.on,.lp-shell-ni.on{ color:var(--gold); }
.lp-shell-bi-label{ font-size:10px; letter-spacing:1px; text-transform:uppercase; }
/* margin:auto on a flex item switches off stretch and lets content set the
   width — the bug that clipped the last build on a phone. */
.lp-shell-body{ padding:16px; width:100%; max-width:900px; margin:0 auto; min-width:0; }
.lp-shell-main{ min-width:0; }

/* The bug button lands on the last nav tab unless it is lifted. */
.lp-bug-fab{ bottom:calc(84px + env(safe-area-inset-bottom)) !important; }
@media (min-width:768px){ .lp-bug-fab{ bottom:20px !important; } }
body.kitchen .lp-bug-fab{ bottom:20px !important; }

/* ---------- module chrome ---------- */
.lp-ly-card,.lp-ly-look,.lp-booking-slot,.lp-cc-field{
  background:var(--surface); border:1px solid var(--border);
}
.lp-booking-slot.on{ background:var(--brand); border-color:var(--brand); color:#fff; }
.lp-pay-demo{ border-color:var(--gold); }

@media (min-width:768px){
  .lp-shell-body{ padding:28px; }
}
