/* v5 "Midnight Aegean": one blue-hour photo series, champagne accents, glass surfaces and quiet motion.
   Loaded after design.css; only the guest kiosk is restyled, hotel and admin panels keep design.css. */
body[data-mode="kiosk"]{
  --bg:#08141b;--bg2:#0c1c25;--card:rgba(17,35,45,.74);--card2:rgba(255,244,226,.06);--raise:rgba(255,244,226,.1);
  --line:rgba(236,214,178,.13);--line2:rgba(236,214,178,.26);
  --ink:#f5ede1;--ink2:#e2d8c9;--muted:#a8b4b6;--faint:#6f8085;
  --gold:#d9b47a;--gold-hi:#f4e0b6;--gold-lo:#a9814a;--gold-grad:linear-gradient(135deg,#f6e3bb 0%,#dcb67b 48%,#b68a4f 100%);
  --gold-ink:#1d1509;--sea:#6fb0b8;--night:#08141b;
  --acc:#d9b47a;--acc2:#d9b47a;--acc-ink:#1d1509;--acc-soft:rgba(217,180,122,.12);
  --ok:#7fc6a4;--danger:#e39686;--r:1.1rem;--r-sm:.75rem;--pill:999px;
  --shadow:0 1.6rem 3.4rem -1.8rem rgba(0,0,0,.75);
  --ease:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;
  background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;
}
html[data-mode="kiosk"]{background:#08141b}
body[data-mode="kiosk"] ::selection{background:rgba(217,180,122,.35)}
body[data-mode="kiosk"] button{transition:transform .35s var(--ease),background-color .35s var(--ease),border-color .35s var(--ease),box-shadow .45s var(--ease),color .3s,opacity .3s}
body[data-mode="kiosk"] button:active:not(:disabled){transform:scale(.97)}
body[data-mode="kiosk"] button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body[data-mode="kiosk"] .muted{color:var(--muted)}
body[data-mode="kiosk"] a{color:var(--gold)}

/* ── Page canvas: each journey sits on its own blue-hour photograph ── */
body[data-mode="kiosk"]{--backdrop:url("/v5/hero.webp")}
body[data-mode="kiosk"][data-flow="transfer"]{--backdrop:url("/v5/saver-transfer.webp")}
body[data-mode="kiosk"][data-flow="yacht"]{--backdrop:url("/v5/saver-yacht.webp")}
body[data-mode="kiosk"][data-flow="rental"]{--backdrop:url("/v5/saver-rental.webp")}
body[data-mode="kiosk"][data-flow="concierge"]{--backdrop:url("/v5/saver-concierge.webp")}
body[data-mode="kiosk"] .k-page{position:relative;isolation:isolate;background:transparent;animation:none}
body[data-mode="kiosk"] .k-page:before,body[data-mode="kiosk"] .k-page:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}
body[data-mode="kiosk"] .k-page:before{background:var(--backdrop) center 30%/cover no-repeat;transform:scale(1.03);animation:lx-drift 38s ease-in-out infinite alternate}
@media (orientation:landscape){
  body[data-mode="kiosk"]{--backdrop:url("/v5/wide-hotel.webp")}
  body[data-mode="kiosk"][data-flow="transfer"]{--backdrop:url("/v5/wide-transfer.webp")}
  body[data-mode="kiosk"][data-flow="yacht"]{--backdrop:url("/v5/wide-yacht.webp")}
  body[data-mode="kiosk"][data-flow="rental"]{--backdrop:url("/v5/wide-rental.webp")}
  body[data-mode="kiosk"][data-flow="concierge"]{--backdrop:url("/v5/wide-concierge.webp")}
}
body[data-mode="kiosk"] .k-page:after{background:
  radial-gradient(120% 60% at 50% 0%,rgba(8,20,27,.15),transparent 70%),
  linear-gradient(180deg,rgba(8,20,27,.5) 0%,rgba(8,20,27,.84) 24rem,rgba(8,20,27,.95) 40rem,#08141b 100%)}
@keyframes lx-drift{to{transform:scale(1.03) translate3d(-1.2%,-.8%,0)}}

body[data-mode="kiosk"] .k-wrap{width:min(100% - 2*var(--gut),70rem)}
body[data-mode="kiosk"] .k-top{padding:1.4rem 0 1.1rem;border-bottom:1px solid var(--line)}
body[data-mode="kiosk"] .k-back{height:3.4rem;padding:0 1.25rem 0 .9rem;border-radius:var(--pill);background:rgba(255,244,226,.07);border:1px solid var(--line2);color:var(--ink);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body[data-mode="kiosk"] .k-back .k-ico{transition:transform .4s var(--ease)}
body[data-mode="kiosk"] .k-back:active .k-ico{transform:translateX(-.25rem)}
body[data-mode="kiosk"] .k-mini b{color:var(--ink);font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
body[data-mode="kiosk"] .k-mini small{color:var(--gold);font-size:.56rem;letter-spacing:.32em;text-transform:uppercase}
body[data-mode="kiosk"] .k-mini img{width:3rem;height:3rem;filter:drop-shadow(0 .4rem .8rem rgba(0,0,0,.4))}
body[data-mode="kiosk"] .k-langs{position:relative;padding:.3rem;gap:.15rem;border-radius:var(--pill);background:rgba(255,244,226,.06);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body[data-mode="kiosk"] .k-langs button{min-width:2.9rem;height:2.6rem;border:0;border-radius:var(--pill);color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.12em}
body[data-mode="kiosk"] .k-langs button.on{background:var(--gold-grad);color:var(--gold-ink);box-shadow:0 .5rem 1.2rem -.6rem rgba(217,180,122,.7)}

/* Progress: a single hairline that fills with gold */
body[data-mode="kiosk"] .k-steps{margin:1.3rem 0 .2rem;gap:.4rem}
body[data-mode="kiosk"] .k-steps span{color:var(--faint);font-size:.62rem;letter-spacing:.16em;font-weight:700}
body[data-mode="kiosk"] .k-steps span:before{height:2px;border-radius:2px;background:rgba(255,244,226,.12);background-image:var(--gold-grad);background-size:0% 100%;background-repeat:no-repeat;transition:background-size .9s var(--ease)}
body[data-mode="kiosk"] .k-steps span.done{color:var(--muted)}
body[data-mode="kiosk"] .k-steps span.done:before,body[data-mode="kiosk"] .k-steps span.on:before{background-color:rgba(255,244,226,.12);background-size:100% 100%;box-shadow:none}
body[data-mode="kiosk"] .k-steps span.on{color:var(--gold-hi)}
body[data-mode="kiosk"] #app[data-enter] .k-steps span.on:before{animation:lx-fill .9s var(--ease) .15s both}
@keyframes lx-fill{from{background-size:0% 100%}}

/* Headings */
body[data-mode="kiosk"] .k-head{padding:2.6rem 0 1.5rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line)}
body[data-mode="kiosk"] .k-kicker{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;display:flex;align-items:center;gap:.8rem}
body[data-mode="kiosk"] .k-kicker:before{content:"";width:2.2rem;height:1px;background:var(--gold-grad)}
body[data-mode="kiosk"] .k-head h1,body[data-mode="kiosk"] .k-menu-head h1,body[data-mode="kiosk"] .k-done h1{
  font-family:var(--serif);font-weight:500;font-size:clamp(3.3rem,7.8vw,5.6rem);line-height:.95;letter-spacing:-.03em;color:var(--ink);margin:.7rem 0 .8rem;text-wrap:balance}
body[data-mode="kiosk"] .k-head p{color:var(--muted);font-size:.98rem;line-height:1.7;max-width:58ch}
body[data-mode="kiosk"] .k-sec{margin-top:2.2rem}
body[data-mode="kiosk"] .k-sec-t h2,body[data-mode="kiosk"] .k-sub{color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.26em}
body[data-mode="kiosk"] .k-sec-t span{color:var(--faint)}

/* ── Surfaces ── */
body[data-mode="kiosk"] .k-box,body[data-mode="kiosk"] .k-card,body[data-mode="kiosk"] .k-tour,body[data-mode="kiosk"] .k-pier,body[data-mode="kiosk"] .k-veh,body[data-mode="kiosk"] .k-svcgrid button,body[data-mode="kiosk"] .k-extra,body[data-mode="kiosk"] .k-ticket{
  background:linear-gradient(180deg,rgba(25,46,57,.82),rgba(14,29,38,.86));border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,244,226,.06);color:var(--ink)}
body[data-mode="kiosk"] .k-card.on,body[data-mode="kiosk"] .k-tour.on,body[data-mode="kiosk"] .k-pier.on,body[data-mode="kiosk"] .k-veh.on,body[data-mode="kiosk"] .k-svcgrid button.on{
  border-color:rgba(217,180,122,.75);box-shadow:0 0 0 1px rgba(217,180,122,.55),0 1.8rem 3.6rem -1.8rem rgba(217,180,122,.38),inset 0 1px 0 rgba(255,244,226,.1)}
body[data-mode="kiosk"] .k-card:disabled,body[data-mode="kiosk"] .k-veh:disabled{opacity:.3;filter:grayscale(.6)}
body[data-mode="kiosk"] .k-card .ph,body[data-mode="kiosk"] .k-tour .ph{filter:none;transition:transform 1.2s var(--ease)}
body[data-mode="kiosk"] .k-card,body[data-mode="kiosk"] .k-tour{overflow:hidden}
body[data-mode="kiosk"] .k-card.on .ph,body[data-mode="kiosk"] .k-tour.on .ph{transform:scale(1.05)}
body[data-mode="kiosk"] .k-card .ph:after{background:linear-gradient(180deg,transparent 55%,rgba(10,22,29,.65))}
body[data-mode="kiosk"] .k-card .bd{padding:1.15rem 1.3rem 1.35rem}
body[data-mode="kiosk"] .k-card .bd b,body[data-mode="kiosk"] .k-tour .bd b{font-family:var(--serif);font-size:1.85rem;font-weight:600;line-height:1;color:var(--ink)}
body[data-mode="kiosk"] .k-card .bd small,body[data-mode="kiosk"] .k-tour .bd p{color:var(--muted)}
body[data-mode="kiosk"] .k-tag{background:rgba(8,20,27,.62);color:var(--gold-hi);border:1px solid rgba(217,180,122,.35);border-radius:var(--pill);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);letter-spacing:.14em}
body[data-mode="kiosk"] .k-spec{background:rgba(255,244,226,.06);border:1px solid var(--line);border-radius:var(--pill);color:var(--ink2);font-size:.7rem}

/* Selection tick: gold seal that pops in */
body[data-mode="kiosk"] .k-tick{width:2.3rem;height:2.3rem;border-radius:50%;background:rgba(8,20,27,.5);border:1px solid rgba(255,244,226,.45);color:transparent;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body[data-mode="kiosk"] .on>.k-tick,body[data-mode="kiosk"] .on .k-tick,body[data-mode="kiosk"] .k-veh.on .k-tick{background:var(--gold-grad);border-color:transparent;color:var(--gold-ink);animation:lx-pop .55s var(--spring) both;box-shadow:0 .6rem 1.4rem -.5rem rgba(217,180,122,.8)}
body[data-mode="kiosk"] .k-tour .k-tick,body[data-mode="kiosk"] .k-veh .k-tick{background:rgba(255,244,226,.06);border-color:var(--line2)}
@keyframes lx-pop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}

/* Route tiles */
body[data-mode="kiosk"] .k-tile{min-height:13rem;border-radius:var(--r);border:1px solid var(--line);filter:none;background-size:cover;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s,background-size 1.2s var(--ease)}
body[data-mode="kiosk"] .k-tile:before{background:linear-gradient(180deg,rgba(8,20,27,.05) 25%,rgba(8,20,27,.88))}
body[data-mode="kiosk"] .k-tile b{font-family:var(--serif);font-size:2.1rem;font-weight:500;color:#fff}
body[data-mode="kiosk"] .k-tile small{color:rgba(245,237,225,.75)}
body[data-mode="kiosk"] .k-tile.on{border-color:rgba(217,180,122,.8);box-shadow:0 0 0 1px rgba(217,180,122,.6),0 1.8rem 3.6rem -1.8rem rgba(217,180,122,.45)}
body[data-mode="kiosk"] .k-tile .k-badge{background:var(--gold-grad);color:var(--gold-ink);border-radius:var(--pill)}

/* Controls */
body[data-mode="kiosk"] .k-chip,body[data-mode="kiosk"] .k-seg button,body[data-mode="kiosk"] .k-add,body[data-mode="kiosk"] .k-days button,body[data-mode="kiosk"] .k-times button,body[data-mode="kiosk"] .k-cal-d button{
  border-radius:var(--pill);background:rgba(255,244,226,.05);border:1px solid var(--line);color:var(--ink)}
body[data-mode="kiosk"] .k-days button{border-radius:1rem}
body[data-mode="kiosk"] .k-cal-d button{border-radius:50%;aspect-ratio:1;border-color:transparent}
body[data-mode="kiosk"] .k-cal-d button.today{border-color:var(--line2)}
body[data-mode="kiosk"] .k-chip.on,body[data-mode="kiosk"] .k-seg button.on,body[data-mode="kiosk"] .k-cal-d button.sel,body[data-mode="kiosk"] .k-days button.on,body[data-mode="kiosk"] .k-times button.on{
  background:var(--gold-grad);border-color:transparent;color:var(--gold-ink);box-shadow:0 .7rem 1.6rem -.8rem rgba(217,180,122,.8)}
body[data-mode="kiosk"] .k-seg button.on .k-ico{color:var(--gold-ink)}
body[data-mode="kiosk"] .k-days button.on small,body[data-mode="kiosk"] .k-days button.on em{color:rgba(29,21,9,.7)}
body[data-mode="kiosk"] .k-cal-d button:disabled,body[data-mode="kiosk"] .k-times button:disabled{color:var(--faint);opacity:.45;background:transparent}
body[data-mode="kiosk"] .k-cal-h button,body[data-mode="kiosk"] .k-step .ctl button,body[data-mode="kiosk"] .k-extra .ctl button,body[data-mode="kiosk"] .k-qty button{
  border-radius:50%;background:rgba(255,244,226,.07);border:1px solid var(--line2);color:var(--ink)}
body[data-mode="kiosk"] .k-step .ctl b,body[data-mode="kiosk"] .k-extra .ctl b,body[data-mode="kiosk"] .k-qty b{font-family:var(--serif);font-size:2.2rem;font-weight:500;color:var(--ink)}
body[data-mode="kiosk"] .k-step label,body[data-mode="kiosk"] .k-cal-w span{color:var(--gold);letter-spacing:.2em}
body[data-mode="kiosk"] .k-cal-h strong{font-family:var(--serif);font-size:1.6rem;font-weight:600}
body[data-mode="kiosk"] .k-seg{background:rgba(255,244,226,.04);border:1px solid var(--line);border-radius:var(--pill);padding:.3rem}
body[data-mode="kiosk"] .k-seg button{border-color:transparent;background:transparent}
body[data-mode="kiosk"] .fieldbox,body[data-mode="kiosk"] .k-phone select{background:rgba(255,244,226,.05);border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--ink)}
body[data-mode="kiosk"] .fieldbox.on,body[data-mode="kiosk"] .fieldbox:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,180,122,.15)}
body[data-mode="kiosk"] .fieldbox::placeholder{color:var(--faint)}
body[data-mode="kiosk"] .k-field span{color:var(--gold);letter-spacing:.2em}
body[data-mode="kiosk"] .k-note{background:rgba(255,244,226,.04);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted)}
body[data-mode="kiosk"] .k-price,body[data-mode="kiosk"] .k-car .cls{color:var(--gold)}
body[data-mode="kiosk"] .k-svcgrid .ic,body[data-mode="kiosk"] .k-extra .ic{border-radius:50%;background:rgba(217,180,122,.12);color:var(--gold);border:1px solid rgba(217,180,122,.25)}
body[data-mode="kiosk"] .k-svcgrid button.on .ic{background:var(--gold-grad);color:var(--gold-ink)}
body[data-mode="kiosk"] .k-pier .rad{border-color:var(--line2)}
body[data-mode="kiosk"] .k-pier.on .rad{border-color:var(--gold)}
body[data-mode="kiosk"] .k-pier.on .rad:after{background:var(--gold)}

/* Keyboard */
body[data-mode="kiosk"] .keys{background:rgba(12,26,34,.92);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body[data-mode="kiosk"] .key{background:rgba(255,244,226,.08);border:1px solid var(--line);color:var(--ink);border-radius:.7rem}
body[data-mode="kiosk"] .key.fn{background:rgba(217,180,122,.14);color:var(--gold-hi)}

/* ── Primary action: champagne pill with a slow sheen ── */
body[data-mode="kiosk"] .k-dock{background:linear-gradient(180deg,rgba(8,20,27,0),rgba(8,20,27,.88) 35%,rgba(8,20,27,.97));backdrop-filter:none}
body[data-mode="kiosk"] .k-dock-in{border-top:1px solid var(--line);padding-top:1.2rem}
body[data-mode="kiosk"] #app[data-enter] .k-dock-in{animation:lx-up .8s var(--ease) .25s both}
body[data-mode="kiosk"] .k-sum small{color:var(--gold);letter-spacing:.24em}
body[data-mode="kiosk"] .k-sum b{color:var(--ink);font-weight:600}
body[data-mode="kiosk"] .k-go{position:relative;overflow:hidden;height:4.6rem;min-width:15.5rem;padding:0 2.2rem;border-radius:var(--pill);background:var(--gold-grad);color:var(--gold-ink);font-size:.95rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 1.3rem 2.6rem -1.2rem rgba(217,180,122,.75),inset 0 1px 0 rgba(255,255,255,.55)}
body[data-mode="kiosk"] .k-go:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:lx-sheen 5.5s var(--ease) 1.2s infinite}
body[data-mode="kiosk"] .k-go .k-ico{transition:transform .45s var(--ease)}
body[data-mode="kiosk"] .k-go:active:not(:disabled) .k-ico{transform:translateX(.35rem)}
body[data-mode="kiosk"] .k-go:disabled{background:rgba(255,244,226,.06);color:var(--faint);box-shadow:inset 0 0 0 1px var(--line)}
body[data-mode="kiosk"] .k-go:disabled:after{display:none}
body[data-mode="kiosk"] .k-alt{height:4.6rem;border-radius:var(--pill);background:rgba(255,244,226,.05);border:1px solid var(--line2);color:var(--ink)}
@keyframes lx-sheen{0%{left:-60%}35%,100%{left:130%}}

/* ── Welcome ── */
body[data-mode="kiosk"] .k-welcome{overflow:hidden;background-color:#08141b;background-image:none!important;isolation:isolate}
body[data-mode="kiosk"] .k-welcome:after{content:"";position:absolute;inset:0;z-index:-2;background:var(--hero,url("/v5/hero.webp")) center/cover no-repeat;animation:lx-settle 6s cubic-bezier(.22,1,.36,1) both}
@media (orientation:landscape){body[data-mode="kiosk"] .k-welcome:after{background-image:var(--hero-l,url("/v5/wide-hotel.webp"))}}
body[data-mode="kiosk"] .k-welcome:before{z-index:-1;background:linear-gradient(180deg,rgba(8,20,27,.72) 0%,rgba(8,20,27,.08) 30%,rgba(8,20,27,.2) 55%,rgba(8,20,27,.94) 84%)}
@keyframes lx-kb{from{transform:scale(1)}to{transform:scale(1.1) translate3d(-1.5%,-1%,0)}}
body[data-mode="kiosk"] .k-emblem{width:4.8rem;height:4.8rem;animation:lx-fade 1.4s var(--ease) both;filter:drop-shadow(0 .8rem 1.6rem rgba(0,0,0,.5))}
body[data-mode="kiosk"] .k-word b{font-family:var(--serif);font-size:clamp(2.8rem,7.4vw,5rem);font-weight:500;letter-spacing:.16em;color:#fff;animation:lx-track 1.8s var(--ease) .15s both}
body[data-mode="kiosk"] .k-word small{color:var(--gold-hi);letter-spacing:.42em;animation:lx-fade 1.6s var(--ease) .5s both}
body[data-mode="kiosk"] .k-word small:before,body[data-mode="kiosk"] .k-word small:after{background:var(--gold-grad)}
body[data-mode="kiosk"] .k-hello{font-family:var(--serif);font-size:clamp(3rem,7.4vw,5rem);font-weight:500;line-height:1;color:#fff;animation:lx-up 1.2s var(--ease) .5s both}
body[data-mode="kiosk"] .k-hello span{font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;color:rgba(245,237,225,.7)}
body[data-mode="kiosk"] .k-lang{width:min(100%,48rem);gap:.7rem;margin-top:2.2rem}
body[data-mode="kiosk"] .k-lang button{height:5.8rem;border-radius:1.4rem;background:rgba(8,20,27,.5);border:1px solid rgba(236,214,178,.24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:lx-up 1s var(--ease) both}
body[data-mode="kiosk"] .k-lang button:nth-child(1){animation-delay:.7s}
body[data-mode="kiosk"] .k-lang button:nth-child(2){animation-delay:.78s}
body[data-mode="kiosk"] .k-lang button:nth-child(3){animation-delay:.86s}
body[data-mode="kiosk"] .k-lang button:nth-child(4){animation-delay:.94s}
body[data-mode="kiosk"] .k-lang button b{font-family:var(--serif);font-size:1.75rem;font-weight:500}
body[data-mode="kiosk"] .k-lang button small{color:rgba(245,237,225,.62)}
body[data-mode="kiosk"] .k-lang button i{background:transparent;border:1px solid rgba(217,180,122,.5);color:var(--gold-hi)}
body[data-mode="kiosk"] .k-lang button:active{background:var(--gold-grad);border-color:transparent;color:var(--gold-ink)}
body[data-mode="kiosk"] .k-lang button:active small{color:rgba(29,21,9,.7)}
body[data-mode="kiosk"] .k-lang button:active i{border-color:rgba(29,21,9,.4);color:var(--gold-ink)}
@keyframes lx-track{from{opacity:0;letter-spacing:.42em;filter:blur(6px)}to{opacity:1}}

/* ── Service menu ── */
body[data-mode="kiosk"] .k-menu-page .k-top{border-color:var(--line)}
body[data-mode="kiosk"] .k-menu-head{min-height:0;padding:2.6rem 0 1.4rem;margin-top:0;background:none;border-radius:0;color:var(--ink);overflow:visible}
body[data-mode="kiosk"] .k-menu-head:before{display:none}
body[data-mode="kiosk"] .k-menu-head .k-kicker{color:var(--gold)}
body[data-mode="kiosk"] .k-menu-head p{color:var(--muted)}
body[data-mode="kiosk"] .k-menu-ornament{display:none}
body[data-mode="kiosk"] .k-svc{gap:.9rem;margin-top:.6rem}
body[data-mode="kiosk"] .k-svc button{aspect-ratio:3/4;min-height:16rem;border-radius:1.5rem;border:1px solid var(--line);box-shadow:var(--shadow);padding:1.6rem;filter:none;background-size:110%;background-position:center;transition:background-size 1.4s var(--ease),transform .45s var(--ease),border-color .4s}
body[data-mode="kiosk"] .k-svc button:active{background-size:118%}
body[data-mode="kiosk"] .k-svc button:before{background:linear-gradient(180deg,rgba(8,20,27,.35) 0%,rgba(8,20,27,0) 28%,rgba(8,20,27,.2) 52%,rgba(8,20,27,.94))}
body[data-mode="kiosk"] .k-svc small{color:var(--gold-hi);left:1.6rem;top:1.5rem;letter-spacing:.34em}
body[data-mode="kiosk"] .k-svc b{font-family:var(--serif);font-size:clamp(2.2rem,4.4vw,3rem);font-weight:500;color:#fff;max-width:calc(100% - 3.4rem)}
body[data-mode="kiosk"] .k-svc span{color:rgba(245,237,225,.78);font-size:.84rem}
body[data-mode="kiosk"] .k-svc i{width:3.3rem;height:3.3rem;border-radius:50%;background:var(--gold-grad);color:var(--gold-ink);box-shadow:0 .8rem 1.6rem -.7rem rgba(217,180,122,.8);transition:transform .5s var(--ease)}
body[data-mode="kiosk"] .k-svc button:active i{transform:translateX(.3rem)}
body[data-mode="kiosk"] .k-strip{margin:1.4rem 0 2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body[data-mode="kiosk"] .k-strip div{border-color:var(--line);color:var(--muted)}
body[data-mode="kiosk"] .k-strip .k-ico{color:var(--gold)}
body[data-mode="kiosk"] .k-cartbar{background:rgba(217,180,122,.1);border:1px solid rgba(217,180,122,.35);border-radius:var(--pill);color:var(--ink)}
body[data-mode="kiosk"] .k-cartbar .k-ico{color:var(--gold)}
body[data-mode="kiosk"] .k-cartbar button{background:var(--gold-grad);color:var(--gold-ink)}

/* ── Fleet ── */
body[data-mode="kiosk"] .k-veh{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;gap:1.4rem;padding:1rem 1.4rem 1rem 1rem;min-height:12.5rem}
body[data-mode="kiosk"] .k-veh .ext{grid-row:1 / span 2;aspect-ratio:3/2;border-radius:.8rem;background:#0b1820;overflow:hidden}
body[data-mode="kiosk"] .k-veh .ext img{transition:transform 1.2s var(--ease)}
body[data-mode="kiosk"] .k-veh.on .ext img{transform:scale(1.05)}
body[data-mode="kiosk"] .k-veh .int{grid-column:2;grid-row:2;width:100%;height:7.8rem;border-radius:.7rem}
body[data-mode="kiosk"] .k-veh .int img{filter:none}
body[data-mode="kiosk"] .k-veh .int em{background:rgba(8,20,27,.7);color:var(--gold-hi);border-radius:var(--pill);font-size:.56rem}
body[data-mode="kiosk"] .k-veh b{font-family:var(--serif);font-size:2.1rem;font-weight:600;color:var(--ink)}
body[data-mode="kiosk"] .k-car .ph{background-color:#0b1820}

/* ── Summary, done, idle ── */
body[data-mode="kiosk"] .k-ticket{overflow:hidden}
body[data-mode="kiosk"] .k-ticket-h{background:linear-gradient(120deg,rgba(217,180,122,.18),rgba(217,180,122,.04));border-bottom:1px solid rgba(217,180,122,.25);color:var(--ink)}
body[data-mode="kiosk"] .k-ticket-h small,body[data-mode="kiosk"] .k-ticket-h em{color:var(--gold)}
body[data-mode="kiosk"] .k-line{border-color:var(--line)}
body[data-mode="kiosk"] .k-line .n{background:rgba(217,180,122,.12);color:var(--gold-hi);border:1px solid rgba(217,180,122,.3)}
body[data-mode="kiosk"] .k-line dt{color:var(--faint)}
body[data-mode="kiosk"] .k-line dd,body[data-mode="kiosk"] .k-line h3{color:var(--ink)}
body[data-mode="kiosk"] .k-tot{background:rgba(217,180,122,.08);border-top:1px solid rgba(217,180,122,.25)}
body[data-mode="kiosk"] .k-tot b{font-family:var(--serif);font-size:2.6rem;font-weight:500;color:var(--gold-hi)}
body[data-mode="kiosk"] .k-contact span{color:var(--gold)}
body[data-mode="kiosk"] .k-picked div{border-color:var(--line)}
body[data-mode="kiosk"] .k-picked i{background:var(--gold-grad);color:var(--gold-ink)}
body[data-mode="kiosk"] .k-up .pr b{color:var(--gold-hi)}
body[data-mode="kiosk"] .k-add{background:rgba(217,180,122,.1);border-color:rgba(217,180,122,.4);color:var(--gold-hi)}
body[data-mode="kiosk"] .k-check{width:6.5rem;height:6.5rem;background:var(--gold-grad);color:var(--gold-ink);box-shadow:0 0 0 .9rem rgba(217,180,122,.1),0 0 0 1.9rem rgba(217,180,122,.05);animation:lx-pop .9s var(--spring) .1s both}
body[data-mode="kiosk"] .k-check .k-ico path{stroke-dasharray:24;stroke-dashoffset:24;animation:lx-draw .7s var(--ease) .6s forwards}
@keyframes lx-draw{to{stroke-dashoffset:0}}
body[data-mode="kiosk"] .k-ref{background:rgba(255,244,226,.05);border:1px dashed rgba(217,180,122,.5);border-radius:var(--r-sm);color:var(--gold-hi);font-family:var(--serif);font-size:2rem;letter-spacing:.14em}
body[data-mode="kiosk"] .k-done p{color:var(--muted)}
body[data-mode="kiosk"] .k-idle{background:rgba(5,13,18,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
body[data-mode="kiosk"] .k-idle div{background:linear-gradient(180deg,rgba(25,46,57,.95),rgba(14,29,38,.97));border:1px solid var(--line2);border-radius:1.6rem;color:var(--ink);animation:lx-up .6s var(--ease) both}
body[data-mode="kiosk"] .k-idle .ring{border-color:var(--gold);color:var(--gold-hi);font-family:var(--serif)}
body[data-mode="kiosk"] .k-empty{background:#08141b;color:var(--ink)}

/* ── Screensaver: curtain reveal, settle-to-sharp, kinetic title, scene rail ── */
body[data-mode="kiosk"] .k-saver{background:#08141b}
body[data-mode="kiosk"] .k-slide{opacity:1;z-index:0;visibility:hidden;background:var(--p) center/cover no-repeat;transition:none;transform:none;filter:none;animation:none;will-change:clip-path,transform}
@media (orientation:landscape){body[data-mode="kiosk"] .k-slide{background-image:var(--l)}}
body[data-mode="kiosk"] .k-slide.prev{visibility:visible;z-index:1}
body[data-mode="kiosk"] .k-slide.on{visibility:visible;z-index:2;animation:lx-curtain 1.7s cubic-bezier(.77,0,.18,1) both,lx-settle 9s cubic-bezier(.22,1,.36,1) both}
@keyframes lx-curtain{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes lx-settle{from{transform:scale(1.07)}to{transform:scale(1)}}
body[data-mode="kiosk"] .k-saver:after{z-index:3;background:
  linear-gradient(90deg,rgba(8,20,27,.88) 0%,rgba(8,20,27,.55) 32%,rgba(8,20,27,0) 62%),
  linear-gradient(180deg,rgba(8,20,27,.55) 0%,rgba(8,20,27,0) 22%,rgba(8,20,27,0) 62%,rgba(8,20,27,.85) 100%)}
body[data-mode="kiosk"] .k-glow{position:absolute;z-index:4;inset:-20%;pointer-events:none;mix-blend-mode:screen;opacity:.5;
  background:radial-gradient(40% 35% at 30% 70%,rgba(217,160,90,.28),transparent 70%),radial-gradient(30% 30% at 80% 20%,rgba(111,176,184,.16),transparent 70%);
  animation:lx-glow 16s ease-in-out infinite alternate}
@keyframes lx-glow{to{transform:translate3d(8%,-6%,0) rotate(6deg)}}
body[data-mode="kiosk"] .k-saver-in{z-index:5;padding:calc(3rem + env(safe-area-inset-top)) clamp(1.6rem,4.5vw,4.5rem) calc(3rem + env(safe-area-inset-bottom))}
body[data-mode="kiosk"] .k-lockup b{font-family:var(--serif);letter-spacing:.16em;font-size:2.2rem;font-weight:500}
body[data-mode="kiosk"] .k-lockup small{color:var(--gold-hi)}
body[data-mode="kiosk"] .k-clock b{font-family:var(--serif);font-weight:400;font-size:3.4rem}
body[data-mode="kiosk"] .k-saver-main{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,20rem);align-items:end;gap:3rem}
body[data-mode="kiosk"] .k-saver-body{margin:0}
body[data-mode="kiosk"] .k-saver-num{display:flex;align-items:center;gap:1rem;color:var(--gold-hi);font-size:.74rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;animation:lx-fade 1s var(--ease) .2s both}
body[data-mode="kiosk"] .k-saver-num b{font-family:var(--serif);font-size:1.6rem;font-weight:500;letter-spacing:.04em;color:#fff}
body[data-mode="kiosk"] .k-saver-num i{width:3.2rem;height:1px;background:var(--gold-grad);transform-origin:left;animation:lx-line 1.2s var(--ease) .3s both}
@keyframes lx-line{from{transform:scaleX(0)}}
body[data-mode="kiosk"] .k-saver-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(4rem,9.5vw,8.5rem);line-height:.92;letter-spacing:-.025em;max-width:10ch;margin:1.2rem 0 1.4rem;animation:none;text-shadow:0 .6rem 3rem rgba(0,0,0,.35)}
body[data-mode="kiosk"] .k-saver-body h2 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
body[data-mode="kiosk"] .k-saver-body h2 .w>span{display:inline-block;animation:lx-word 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes lx-word{from{transform:translate3d(0,105%,0) rotate(4deg);opacity:0}to{transform:none;opacity:1}}
body[data-mode="kiosk"] .k-saver-body p{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.6;max-width:34ch;color:rgba(245,237,225,.82);animation:lx-up 1.2s var(--ease) .75s both}
body[data-mode="kiosk"] .k-touch{display:inline-flex;align-items:center;gap:1.1rem;height:4.4rem;margin-top:2.2rem;padding:0 2rem 0 1.4rem;border-radius:var(--pill);background:rgba(8,20,27,.35);border:1px solid rgba(217,180,122,.45);color:#fff;font-size:1rem;font-weight:600;letter-spacing:.06em;box-shadow:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:lx-up 1.2s var(--ease) .95s both}
body[data-mode="kiosk"] .k-touch i{position:relative;width:.9rem;height:.9rem;border-radius:50%;background:var(--gold);animation:none}
body[data-mode="kiosk"] .k-touch i:before,body[data-mode="kiosk"] .k-touch i:after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);animation:lx-ring 2.6s cubic-bezier(.2,.6,.3,1) infinite}
body[data-mode="kiosk"] .k-touch i:after{animation-delay:1.3s}
@keyframes lx-ring{from{transform:scale(1);opacity:.9}to{transform:scale(4.2);opacity:0}}
body[data-mode="kiosk"] .k-rail{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;animation:lx-fade 1.2s var(--ease) .4s both}
body[data-mode="kiosk"] .k-rail li{position:relative;display:flex;align-items:baseline;gap:1rem;padding:.85rem 0;color:rgba(245,237,225,.45);transition:color .8s var(--ease)}
body[data-mode="kiosk"] .k-rail li small{font-size:.66rem;font-weight:700;letter-spacing:.24em;color:inherit}
body[data-mode="kiosk"] .k-rail li span{font-family:var(--serif);font-size:1.45rem;line-height:1.1}
body[data-mode="kiosk"] .k-rail li em{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(245,237,225,.16);overflow:hidden}
body[data-mode="kiosk"] .k-rail li.on{color:#fff}
body[data-mode="kiosk"] .k-rail li.on small{color:var(--gold-hi)}
body[data-mode="kiosk"] .k-rail li.on em:after{content:"";position:absolute;inset:0;background:var(--gold-grad);transform-origin:left;animation:lx-progress 8s linear both}
@keyframes lx-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (orientation:portrait),(max-width:760px){
  body[data-mode="kiosk"] .k-saver:after{background:linear-gradient(180deg,rgba(8,20,27,.6) 0%,rgba(8,20,27,0) 22%,rgba(8,20,27,.1) 48%,rgba(8,20,27,.94) 86%)}
  body[data-mode="kiosk"] .k-saver-main{grid-template-columns:1fr;gap:2rem}
  body[data-mode="kiosk"] .k-rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}
  body[data-mode="kiosk"] .k-rail li{flex-direction:column;gap:.35rem;padding:0 0 .8rem}
  body[data-mode="kiosk"] .k-rail li span{font-size:.95rem}
}

/* ── Screen entrance choreography (only when the screen changes) ── */
@keyframes lx-up{from{opacity:0;transform:translate3d(0,1.4rem,0)}to{opacity:1;transform:none}}
@keyframes lx-fade{from{opacity:0}to{opacity:1}}
body[data-mode="kiosk"] #app[data-enter] .k-top{animation:lx-fade .7s var(--ease) both}
body[data-mode="kiosk"] #app[data-enter] .k-head>*,body[data-mode="kiosk"] #app[data-enter] .k-menu-head>div>*{animation:lx-up .9s var(--ease) both}
body[data-mode="kiosk"] #app[data-enter] .k-head>:nth-child(2),body[data-mode="kiosk"] #app[data-enter] .k-menu-head>div>:nth-child(2){animation-delay:.07s}
body[data-mode="kiosk"] #app[data-enter] .k-head>:nth-child(3),body[data-mode="kiosk"] #app[data-enter] .k-menu-head>div>:nth-child(3){animation-delay:.14s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-svc,.k-grid2,.k-grid3,.k-stack,.k-fleet,.k-svcgrid,.k-split)>*{animation:lx-up .9s var(--ease) both;animation-delay:.18s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-svc,.k-grid2,.k-grid3,.k-stack,.k-fleet,.k-svcgrid,.k-split)>:nth-child(2){animation-delay:.24s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-svc,.k-grid2,.k-grid3,.k-stack,.k-fleet,.k-svcgrid,.k-split)>:nth-child(3){animation-delay:.3s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-svc,.k-grid2,.k-grid3,.k-stack,.k-fleet,.k-svcgrid,.k-split)>:nth-child(4){animation-delay:.36s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-svc,.k-grid2,.k-grid3,.k-stack,.k-fleet,.k-svcgrid,.k-split)>:nth-child(5){animation-delay:.42s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-svc,.k-grid2,.k-grid3,.k-stack,.k-fleet,.k-svcgrid,.k-split)>:nth-child(6){animation-delay:.48s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-svc,.k-grid2,.k-grid3,.k-stack,.k-fleet,.k-svcgrid,.k-split)>:nth-child(n+7){animation-delay:.54s}
body[data-mode="kiosk"] #app[data-enter] :is(.k-sec,.k-strip,.k-ticket,.k-cartbar){animation:lx-up .9s var(--ease) .4s both}
body[data-mode="kiosk"] #app[data-enter] .k-done>*{animation:lx-up 1s var(--ease) both}
body[data-mode="kiosk"] #app[data-enter] .k-done>:nth-child(2){animation-delay:.35s}
body[data-mode="kiosk"] #app[data-enter] .k-done>:nth-child(3){animation-delay:.45s}
body[data-mode="kiosk"] #app[data-enter] .k-done>:nth-child(n+4){animation-delay:.55s}
body[data-mode="kiosk"] #app[data-enter] .k-done>.k-check{animation:lx-pop .9s var(--spring) .1s both}

@media(max-width:640px){
  body[data-mode="kiosk"] .k-svc button{min-height:12rem;padding:1.1rem;border-radius:1.1rem}
  body[data-mode="kiosk"] .k-svc b{font-size:1.9rem;max-width:100%}
  body[data-mode="kiosk"] .k-veh{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem;padding:.8rem}
  body[data-mode="kiosk"] .k-veh .int{height:6rem}
  body[data-mode="kiosk"] .k-go{min-width:0;padding:0 1.5rem;letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){
  body[data-mode="kiosk"] *,body[data-mode="kiosk"] *:before,body[data-mode="kiosk"] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body[data-mode="kiosk"] .k-menu-head h1{max-width:16ch}
body[data-mode="kiosk"] .k-car .ph{background-size:cover;background-position:center}

/* Concierge services: photo tiles from the same blue-hour series */
body[data-mode="kiosk"] .k-svcgrid button{position:relative;isolation:isolate;overflow:hidden;min-height:11.5rem;padding:1.15rem;background-color:#0b1820;background-size:cover;background-position:center;color:#fff;font-weight:600;font-size:1.05rem;justify-content:space-between;transition:transform .45s var(--ease),border-color .4s,box-shadow .45s var(--ease),background-size 1.2s var(--ease)}
body[data-mode="kiosk"] .k-svcgrid button:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,20,27,.25) 0%,rgba(8,20,27,.05) 35%,rgba(8,20,27,.9) 100%)}
body[data-mode="kiosk"] .k-svcgrid .ic{background:rgba(8,20,27,.55);border-color:rgba(217,180,122,.45);color:var(--gold-hi);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body[data-mode="kiosk"] .k-svcgrid button.on .ic{animation:lx-pop .55s var(--spring) both}
body[data-mode="kiosk"] .k-rail{padding:.6rem 1.4rem;background:rgba(8,20,27,.58);border:1px solid var(--line);border-radius:1.2rem;backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1)}
body[data-mode="kiosk"] .k-rail li:last-child em{display:none}
body[data-mode="kiosk"] .k-rail li:last-child.on em{display:block;background:transparent}
