/* Lift booking pages in the website's v5 look (liftgym.au: lift-website src/styles/tokens.css and global.css, 23 Oct 2026).
   Loaded after booking.css on the stand-alone pages only (<body class="lb-page lb-skin">); a WordPress embed of the widget keeps
   booking.css's dark look. Like every page of the website: a black header-lite (wordmark, tap to call), a dark hero with the gold
   spotlight, the booking itself on paper, a black footer-lite (address, phone, privacy).
   booking.css draws everything from its --lb-* colours; this file maps them to the site's tokens (copied below under the site's own
   names, so a token change is one edit here) and adds the site's shapes: pill buttons in brushed gold, 12px controls, 16px cards,
   the 13px eyebrow with its short gold rule, black ticks on gold tiles, and the free-session mark (16px gold, black tick, 1px #8B6829
   edge: 3:1 or better on paper, light and dark, WCAG 1.4.11) on the calendar's class days.
   Fonts: Inter 400/500/700 and Gelasio 400 + italic, the same @fontsource 5.3.0 woff2 files the website uses, served from this
   folder (no Google Fonts). Both are under the SIL Open Font License 1.1. */

@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Gelasio;font-style:normal;font-weight:400;font-display:swap;src:url(gelasio-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Gelasio;font-style:italic;font-weight:400;font-display:swap;src:url(gelasio-latin-400-italic.woff2) format("woff2")}
/* Local fonts resized to Inter's and Gelasio's metrics, shown until they load, so the text doesn't move when they swap in (the site's). */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Helvetica");size-adjust:107.06%;ascent-override:90.49%;descent-override:22.56%;line-gap-override:0%}
@font-face{font-family:"Gelasio Fallback";src:local("Georgia"),local("Georgia Regular");size-adjust:100%;ascent-override:93%;descent-override:34%;line-gap-override:0%}
@font-face{font-family:"Gelasio Fallback";font-style:italic;src:local("Georgia Italic"),local("Georgia-Italic");size-adjust:100%;ascent-override:93%;descent-override:34%;line-gap-override:0%}

/* ---------------------------------------------------------------- the site's tokens (subset, same names and values) */
.lb-skin{
 --c-black:#050505;--c-night:#0d0d0c;--c-surface:#151412;--c-surface-2:#1b1916;--c-ink:#f7f6f1;--c-muted:#b9b6ae;--c-line-dark:rgba(255,255,255,.1);
 --gold-fill:#d5b45e;--gold-fill-hi:#e3c878;--gold-fill-lo:#c9a64f;--gold-label:#17150f;--gold-on-dark:#e1c46f;--gold-deco-dark:#caa24d;
 --gold-text-paper:#7a5b22;--gold-link-paper:#6e511c;--gold-deco-paper:#8b6829;--c-edge-gold:rgba(225,196,111,.28);--c-outline-gold:rgba(219,197,156,.36);--c-outline-label:#dbc59c;
 --c-paper:#f2ede3;--c-light:#fffdf8;--c-paper-ink:#11110f;--c-paper-muted:#5e5b54;--c-line-light:rgba(17,17,15,.14);--c-input-line:rgba(17,17,15,.55);
 --c-highlight:#fbf4e3;--c-highlight-line:#d9c38d;--c-danger:#9b2c1f;--c-danger-bg:#f7e3df;
 --font-body:"Inter","Inter Fallback",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --font-display:"Gelasio","Gelasio Fallback",Georgia,"Times New Roman",serif;
 --r-xs:6px;--r-sm:12px;--r-md:16px;--r-pill:999px;--tap:44px;--btn-h:52px;
 --elev-1:0 1px 2px rgba(17,17,15,.06),0 10px 28px rgba(17,17,15,.08);
 --spotlight:radial-gradient(70% 420px at 50% -10%,rgba(202,162,77,.14),transparent 70%);
 --gold-material:linear-gradient(180deg,var(--gold-fill-hi) 0%,var(--gold-fill) 52%,var(--gold-fill-lo) 100%);
 --gold-shadow-dark:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(0,0,0,.12),0 10px 24px -8px rgba(0,0,0,.55);
 --gold-shadow-paper:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(0,0,0,.12),0 10px 24px -10px rgba(20,18,12,.35);
 --ease-out:cubic-bezier(.16,1,.3,1);--t-fast:140ms;--t-ui:220ms;
 --gutter:clamp(1rem,.5rem + 2.5vw,2rem);--column:640px;
 /* Side padding that keeps a full-width band's content in the 640px column (100% = the band's own width). */
 --band:max(var(--gutter),calc((100% - var(--column)) / 2));
 --tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317150F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
@media (prefers-reduced-motion:reduce){.lb-skin{--t-fast:0ms;--t-ui:0ms}}

/* ---------------------------------------------------------------- booking.css's colours on dark (header, hero, footer) */
.lb-skin,.lb-skin .lb-hero,.lb-skin .hc-hero{
 --lb-bg:var(--c-night);--lb-input:#0b0b0a;--lb-surface:var(--c-surface);--lb-raised:var(--c-surface-2);--lb-ink:var(--c-ink);--lb-muted:var(--c-muted);
 --lb-line:var(--c-line-dark);--lb-edge:#6e695a;--lb-gold:var(--gold-deco-dark);--lb-gold-soft:var(--gold-on-dark);--lb-btn:var(--gold-fill);--lb-btn-ink:var(--gold-label);
 --lb-outline-ink:var(--c-outline-label);--lb-outline-line:var(--c-outline-gold);--lb-sans:var(--font-body);--lb-serif:var(--font-display);
}
/* ---------------------------------------------------------------- and on paper (everything in <main> below the hero) */
.lb-skin main,.lb-skin .lift-booking,.lb-skin .lift-thanks,.lb-skin .lift-health{
 --lb-bg:var(--c-paper);--lb-input:var(--c-light);--lb-surface:var(--c-light);--lb-raised:var(--c-highlight);--lb-ink:var(--c-paper-ink);--lb-muted:var(--c-paper-muted);
 --lb-line:var(--c-line-light);--lb-edge:var(--c-input-line);--lb-gold:var(--gold-deco-paper);--lb-gold-soft:var(--gold-link-paper);
 --lb-btn:var(--gold-fill);--lb-btn-ink:var(--gold-label);--lb-outline-ink:var(--c-paper-ink);--lb-outline-line:var(--gold-deco-paper);
 --lb-picked-line:var(--gold-deco-paper);--lb-few:var(--gold-text-paper);--lb-danger:var(--c-danger);--lb-danger-fill:var(--c-danger-bg);--lb-danger-line:#d7a49b;
 --lb-notice:var(--c-highlight);--lb-note-ink:var(--c-paper-ink);--lb-closed-ink:#8a867d;--lb-open-fill:var(--c-light);--lb-dash:rgba(17,17,15,.28);
 --lb-placeholder:#6f6c65;--lb-btn-fill:transparent;--lb-chip-line:var(--c-highlight-line);--lb-chip-fill:var(--c-highlight);
 --lb-ticket-line:var(--gold-deco-paper);--lb-ticket-fill:var(--c-light);--lb-ticket-glow:var(--elev-1);--lb-option-fill:var(--c-light);--lb-option-ink:var(--c-paper-ink);
 --lb-heading-gold:var(--c-paper-ink);--lb-rail-end:rgba(139,104,41,.22);--lb-sans:var(--font-body);--lb-serif:var(--font-display);
 --lb-select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236E511C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------- page: header-lite, bands, footer-lite */
.lb-skin{display:flex;flex-direction:column;min-height:100vh;background:var(--c-black);color:var(--lb-ink);font:400 17px/1.65 var(--font-body);
 -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
.lb-skin main{flex:1 0 auto;max-width:none;margin:0;padding:0 0 clamp(48px,8vw,80px);background:var(--c-paper);color:var(--lb-ink)}
.lb-skin .lb-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

.lb-site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px var(--band);background:var(--c-black);border-bottom:1px solid var(--c-line-dark)}
.lb-brand{display:inline-flex;align-items:center;min-height:var(--tap)}
.lb-brand img{display:block;width:120px;height:auto}
.lb-skin .lb-call{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:0 2px;color:var(--c-ink);font:600 15px/1 var(--font-body);text-decoration:none;
 font-variant-numeric:tabular-nums;white-space:nowrap}
.lb-skin .lb-call .lb-icon{color:var(--gold-on-dark)}
.lb-skin .lb-call:hover{color:var(--gold-on-dark)}

/* The dark hero: full width, its content in the column. */
.lb-skin .lb-hero,.lb-skin .hc-hero{margin:0 0 clamp(28px,5vw,44px);padding:clamp(20px,4vw,40px) var(--band) clamp(32px,6vw,56px);background:var(--spotlight),var(--c-night);color:var(--lb-ink)}
/* Below the hero, everything sits in the same column on paper. */
.lb-skin .lb-body{padding:0 var(--band)}
.lb-skin .lift-thanks>:not(.lb-hero),.lb-skin .lift-health>:not(.lb-hero):not(.hc-hero){margin-left:var(--band);margin-right:var(--band)}
/* While the health check loads, its status line stands in for the hero. */
.lb-skin .lift-health>.lb-status:first-child{margin-top:32px}

.lb-skin .lb-back{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);margin:0 0 6px;color:var(--c-muted)!important;font:500 15px/1.3 var(--font-body);text-decoration:none}
.lb-skin .lb-back .lb-icon{transition:transform var(--t-fast) var(--ease-out)}
.lb-skin .lb-back:hover{color:var(--c-ink)!important}
.lb-skin .lb-back:hover .lb-icon{transform:translateX(-3px)}

/* The eyebrow: 13px, a short gold rule before it (the thank-you hero's gold tick gives way to it). */
.lb-skin .lb-eyebrow{display:flex;align-items:center;gap:12px;margin:14px 0 16px;color:var(--lb-gold-soft);font:700 13px/1.3 var(--font-body);letter-spacing:.16em;text-transform:uppercase}
.lb-skin .lb-eyebrow::before{content:"";flex:none;width:36px;height:1px;border-radius:0;background:var(--lb-gold)}
.lb-skin :is(.lb-hero,.hc-hero) :is(h1,.lb-title){margin:0 0 16px;font:400 clamp(2.25rem,1.55rem + 3.1vw,3.5rem)/1.06 var(--font-display);letter-spacing:-.03em;color:var(--lb-ink);
 text-wrap:balance;font-variant-numeric:lining-nums}
.lb-skin :is(.lb-hero,.hc-hero) h1 em{font-style:italic;color:var(--gold-on-dark)}
.lb-skin .lb-intro,.lb-skin .lb-lede{max-width:34em;color:var(--c-muted);font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.6}
.lb-skin .lb-lede{margin:0}
.lb-skin .lb-points{color:var(--lb-ink)}
/* C25: online booking starts at 13, so parents of younger children call. */
.lb-skin .lb-parents{margin:14px 0 0;color:var(--c-muted);font-size:15px}
.lb-skin .lb-parents a{display:inline-block;padding:6px 0;color:var(--gold-on-dark);font-weight:700}

.lb-site-foot{padding:28px var(--band) 36px;background:var(--c-black);border-top:1px solid var(--c-edge-gold);color:var(--c-muted);font-size:14px;line-height:1.6}
.lb-site-foot p{margin:0 0 4px}
.lb-site-foot strong{color:var(--c-ink);font-weight:700}
.lb-skin .lb-site-foot a{display:inline-block;padding:8px 0;color:var(--gold-on-dark);text-underline-offset:3px}

/* ---------------------------------------------------------------- the booking on paper */
.lb-skin .lift-booking{margin:0}
.lb-skin .lb-step>legend,.lb-skin .lb-dayname,.lb-skin .lb-cal-month,.lb-skin .lb-qs-title,.lb-skin .lb-panel h2,.lb-skin .lb-section h2{letter-spacing:-.015em;font-variant-numeric:lining-nums}
.lb-skin .lb-step>legend{font-size:clamp(1.375rem,1.22rem + .7vw,1.625rem)}
.lb-skin :is(.lb-cal,.lb-qs,.lb-panel){border-radius:var(--r-md)}
.lb-skin .lift-booking .lb-next{border-radius:var(--r-sm);border-color:var(--c-highlight-line);min-height:var(--btn-h)}
.lb-skin .lift-booking .lb-next:hover{border-color:var(--gold-deco-paper)}
.lb-skin .lb-cal-nav{background:var(--c-light)}
.lb-skin .lb-cal-nav:hover{border-color:var(--c-paper-ink)}
/* Class days: a light tile with the free-session mark; the chosen day in ink, its mark still gold. */
.lb-skin .lb-cal-day{gap:3px;font-variant-numeric:tabular-nums}
.lb-skin .lb-cal-day.is-open:hover{border-color:var(--c-paper-ink)}
.lb-skin .lb-cal-day.is-today::before{top:3px;width:12px}
.lb-skin .lb-cal-day.is-selected{background:var(--c-paper-ink);border-color:var(--c-paper-ink);color:var(--c-ink)}
.lb-skin .lb-cal-day.is-selected::before{background:var(--gold-fill)}
.lb-skin .lb-cal-dot,.lb-skin .lb-cal-key-dot,.lb-skin .lb-cal-day.is-selected .lb-cal-dot{position:static;flex:none;width:16px;height:16px;border-radius:50%;
 background:no-repeat center/11px 11px var(--tick),var(--gold-fill);box-shadow:inset 0 0 0 1px var(--gold-deco-paper)}
.lb-skin .lb-cal-key{gap:10px}
/* Times and taps: 12px controls; the chosen one gets a thicker gold edge and a black tick on a gold tile (not colour alone). */
.lb-skin .lb-time{border-radius:var(--r-sm);font-variant-numeric:tabular-nums}
.lb-skin .lb-time:hover,.lb-skin .lb-chip:hover{border-color:var(--c-paper-ink)}
.lb-skin .lb-time.is-picked::after{content:"";top:8px;right:8px;width:20px;height:20px;border-radius:var(--r-xs);background:no-repeat center/13px 13px var(--tick),var(--gold-fill)}
.lb-skin .lb-grid-tight .lb-time.is-picked::after{top:4px;right:4px;width:16px;height:16px;background-size:10px 10px}
.lb-skin .lb-chip.is-picked::before{content:"";display:inline-block;width:16px;height:16px;margin-right:8px;border-radius:4px;background:no-repeat center/10px 10px var(--tick),var(--gold-fill)}
.lb-skin :is(.lb-field input,.lb-field textarea,.lb-qs select,.lift-health .lb-field select){border-radius:var(--r-sm)}
.lb-skin .lb-chosen{border:1px solid var(--c-highlight-line)}
.lb-skin .lb-check input{accent-color:var(--gold-link-paper)}

/* Buttons: pills; the main one in brushed gold (the site's .btn--gold), the rest outlined. */
.lb-skin .lb-btn{gap:10px;min-height:var(--btn-h);padding:12px 24px;border-radius:var(--r-pill);font:700 16px/1.2 var(--font-body);letter-spacing:.005em;-webkit-tap-highlight-color:transparent;
 transition:transform var(--t-fast) var(--ease-out),background-position var(--t-ui) var(--ease-out),border-color var(--t-ui) var(--ease-out),color var(--t-ui) var(--ease-out)}
.lb-skin .lb-btn:hover{border-color:var(--lb-ink)}
.lb-skin .lb-btn:active{transform:scale(.98);transition-duration:80ms}
.lb-skin .lb-primary,.lb-skin .lb-primary:hover{border-color:transparent;color:var(--gold-label)!important;background:var(--gold-material);background-size:100% 140%;box-shadow:var(--gold-shadow-paper)}
.lb-skin .lb-primary{background-position:0 100%}
.lb-skin .lb-primary:hover{background-position:0 0}
.lb-skin .lb-panel-actions{margin-top:18px}

/* ---------------------------------------------------------------- thank-you pages */
.lb-skin .lb-ticket{border-radius:var(--r-md)}
.lb-skin .lb-ticket-label,.lb-skin .hc-num{color:var(--gold-text-paper)}
/* The booked time in Gelasio, like the site's prices. */
.lb-skin .lb-ticket-time{font:400 clamp(2.75rem,2.2rem + 2.6vw,3.75rem)/1.05 var(--font-display);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.lb-skin .lb-ticket-day{font-variant-numeric:lining-nums}
/* What to bring: black ticks on gold tiles. */
.lb-skin .lb-checklist li{padding:12px 14px 12px 50px;border-radius:var(--r-sm)}
.lb-skin .lb-checklist li::before{left:14px;margin-top:-11px;width:22px;height:22px;border:0;border-radius:var(--r-xs);background:no-repeat center/14px 14px var(--tick),var(--gold-fill)}
.lb-skin .lb-checklist li::after{content:none}
.lb-skin .lb-before p{color:var(--lb-muted)}
.lb-skin .lb-checklist+p{margin-top:16px}
