@font-face{font-family:'New Black Typeface';src:url('/korpera/fonts/NewBlackTypeface-Regular.woff2') format('woff2'),url('/korpera/fonts/NewBlackTypeface-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'New Black Typeface';src:url('/korpera/fonts/NewBlackTypeface-SemiBold.woff2') format('woff2'),url('/korpera/fonts/NewBlackTypeface-SemiBold.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'New Black Typeface';src:url('/korpera/fonts/NewBlackTypeface-Bold.woff2') format('woff2'),url('/korpera/fonts/NewBlackTypeface-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
*{box-sizing:border-box}
body{margin:0;background:#f4f4f2;color:#111;font:16px/1.4 'New Black Typeface',system-ui,sans-serif}
body.center{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:#000}
body.center .btn{background:#fff;color:#000}
.logo{display:block;width:min(70vw,360px);height:auto;margin:0 auto 40px}
.btn,button{display:inline-block;background:#111;color:#fff;border:0;padding:14px 28px;font:inherit;cursor:pointer;text-decoration:none}
button:disabled{opacity:.4;cursor:not-allowed}

/* booking page */
.wrap{max-width:420px;margin:0 auto;padding:24px 16px 48px}
.wrap .logo{width:160px;margin-bottom:24px}
h1{font-size:1.2rem;margin:0 0 16px}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cal-head button{padding:6px 12px}
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.grid .dow{font-size:.75rem;color:#666}
.grid button.day{background:#fff;color:#111;border:1px solid #ddd;padding:10px 0}
.grid button.day.sel{background:#111;color:#fff}
.grid button.day:disabled{background:transparent;border-color:transparent;color:#aaa}
.times{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.times button{background:#fff;color:#111;border:1px solid #ddd;padding:10px 16px}
.times button.sel{background:#111;color:#fff}
form{display:grid;gap:12px;margin-top:16px}
input[type=text],input[type=email]{width:100%;padding:12px;border:1px solid #ccc;font:inherit}
.hp{position:absolute;left:-9999px}
.msg{margin-top:12px;min-height:1.4em}
.msg.err{color:#b00020}
.hidden{display:none}

/* duration step */
.durations{display:grid;gap:12px;margin-top:8px}
button.dur{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:#fff;color:#111;border:1px solid #111;padding:20px 22px;text-align:left;font:inherit;cursor:pointer;transition:background .15s,color .15s}
.dur-main{display:block}
.dur-main strong{display:block;font-size:1.15rem;font-weight:700;line-height:1.2}
.dur-main small{display:block;margin-top:4px;color:#666;font-size:.85rem;font-weight:400}
.dur-arrow{font-size:1.4rem;line-height:1;transition:transform .15s}
button.dur:hover,button.dur:focus-visible{background:#111;color:#fff;outline:none}
button.dur:hover small,button.dur:focus-visible small{color:#bbb}
button.dur:hover .dur-arrow,button.dur:focus-visible .dur-arrow{transform:translateX(4px)}
.textbtn{background:none;color:#666;border:0;padding:0;text-decoration:underline}
.times button:disabled{background:#ececec;color:#aaa;border-color:#e2e2e2;text-decoration:line-through;cursor:not-allowed}
.legend{color:#666;font-size:.8rem;margin:0 0 8px}
