/* Kept · booking */
.bk{padding:clamp(32px,5vw,64px) 0 var(--sec);background:linear-gradient(var(--mist) 0 260px,#fff 260px)}
.bk__in{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.bk__h{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:1.6rem}
.prog{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;counter-reset:p}
.prog li{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--muted);padding-top:12px;border-top:3px solid var(--line)}
.prog li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;border:1.5px solid var(--line);font:600 .75rem var(--f-m);flex:none}
.prog li[aria-current=step]{color:var(--ink);border-color:var(--zest)}
.prog li[aria-current=step] span{background:var(--zest);border-color:var(--zest);color:var(--ink)}
.prog li.is-done{color:var(--deep);border-color:var(--deep)}
.prog li.is-done span{background:var(--deep);border-color:var(--deep);color:#fff}
@media (max-width:640px){.prog li{font-size:0;gap:0}.prog li span{font-size:.75rem}}
.bk__form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3.4vw,40px)}
.step__h{font-size:clamp(1.6rem,2.6vw,2.2rem);margin-bottom:1.2rem}
.step__h:focus{outline:none}
.step__nav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.bk__extras{margin:.2rem 0 .3rem}
.bk__cleaner{display:flex;align-items:center;gap:1rem;background:var(--mist);border-radius:14px;padding:12px;margin-top:1rem}
.bk__cleaner p{margin:0;flex:1}
.ava--sm{width:56px;aspect-ratio:1;font-size:1.2rem;border-radius:12px;flex:none}
.cal{border:1px solid var(--line);border-radius:16px;padding:16px;max-width:520px;margin:1rem 0 1.4rem}
.cal__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cal__top .xbtn{font-size:1.4rem;line-height:1}
.cal__top .xbtn:disabled{opacity:.3;cursor:not-allowed}
.cal__m{margin:0;font:650 1.15rem var(--f-d)}
.cal__wk,.cal__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal__wk span{font:500 .7rem var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0}
.cal__d{width:100%;aspect-ratio:1;min-height:40px;border:1.5px solid transparent;border-radius:12px;background:var(--mist);font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}
.cal__d:hover:not(:disabled){border-color:var(--euc)}
.cal__d:disabled{background:none;color:#8A9993;text-decoration:line-through;cursor:not-allowed}
.cal__d.is-on{background:var(--deep);color:#fff}
.slots__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.slot{position:relative}
.slot input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.slot span{display:flex;flex-direction:column;gap:.15rem;padding:14px;border:1.5px solid var(--line);border-radius:14px;font-size:.9rem;color:var(--muted);height:100%}
.slot b{font:650 1.05rem var(--f-d);color:var(--ink)}
.slot em{font-style:normal;font:500 .7rem var(--f-m);letter-spacing:.06em;text-transform:uppercase;margin-top:.3rem;color:var(--euc-ink)}
.slot input:checked+span{border-color:var(--deep);background:var(--mist);box-shadow:inset 0 0 0 1px var(--deep)}
.slot input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.slot input:disabled+span{opacity:.5;text-decoration:line-through}
.slot input:disabled{cursor:not-allowed}
@media (max-width:560px){.slots__g{grid-template-columns:1fr}}
.repeat{background:var(--mist);border-radius:14px;padding:16px 18px;margin-top:.4rem}
.repeat__h{display:flex;gap:.5rem;align-items:center;font-weight:600;margin:0 0 .6rem}
.repeat__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.repeat__l li{background:#fff;border-radius:999px;padding:.25rem .7rem;font:500 .82rem var(--f-m)}
.repeat__l li:last-child{background:none;color:var(--muted)}
.review{margin:0 0 1.4rem;border-top:1px solid var(--line)}
.review div{display:grid;grid-template-columns:120px 1fr auto;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.review dt{font:500 .76rem var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:.2rem}
.review dd{margin:0}
.review button{background:none;border:0;cursor:pointer;font-size:.92rem;padding:0}
@media (max-width:520px){.review div{grid-template-columns:1fr auto}.review dt{grid-column:1/-1}}
.bk__side{position:sticky;top:100px;display:grid;gap:16px}
.bsum{background:var(--deep);color:#fff;border-radius:22px;padding:26px;--focus:#FFB48A}
.bsum__k{color:#B9D3C8;margin:0 0 .4rem}
.bsum__what{font:600 1.05rem var(--f-d);margin:0 0 .6rem}
.bsum .price{margin:0}
.bsum .price small{color:#C3D6CD}
.bsum__meta{color:#B9D3C8;margin:.3rem 0 1rem}
.bsum__l{list-style:none;margin:0 0 1rem;padding:1rem 0 0;border-top:1px solid #3A5A51;display:grid;gap:.5rem;font-size:.95rem}
.bsum__l li{display:flex;gap:.5rem;align-items:flex-start}
.bsum .note{color:#B9D3C8;margin:0}
.bside__trust{border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:.7rem}
.bside__trust p{display:flex;gap:.6rem;margin:0;font-size:.94rem;align-items:flex-start}
.bside__trust .ic{color:var(--euc-ink);margin-top:.15em}
@media (max-width:960px){.bk__in{grid-template-columns:1fr}.bk__side{position:static;order:-1}.bside__trust{display:none}}
