.cal{background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:18px 18px 16px}
.cal__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.cal__month{font-family:'Clash Grotesk','DM Sans',sans-serif;font-size:16px;font-weight:600;letter-spacing:-.005em;color:var(--ink);margin:0}
.cal__nav{display:flex;gap:2px}
.cal__nav button{width:26px;height:26px;background:transparent;border:1px solid var(--rule);color:var(--ink);border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-size:16px;line-height:1;transition:border-color .15s ease}
.cal__nav button:hover{border-color:var(--ink)}
.cal__dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.cal__dow span{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:4px 0}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal__day{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--ink-3);background:transparent;border:1px solid transparent;border-radius:2px;position:relative;cursor:default}
.cal__day--in{color:var(--ink);cursor:pointer}
.cal__day--avail{color:var(--ink);background:color-mix(in oklch, var(--teal) 6%, var(--paper-raised));border-color:color-mix(in oklch, var(--teal) 20%, var(--rule))}
.cal__day--avail:hover{border-color:var(--teal)}
.cal__day--avail::after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--teal)}
.cal__day--sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.cal__day--sel::after{background:#fff}
.cal__slots{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule)}
.cal__slots-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.cal__slots-head p{margin:0;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--ink);font-weight:500}
.cal__slots-head span{font-family:'DM Sans',sans-serif;font-size:16px;color:var(--ink-3);letter-spacing:.02em}
.cal__slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.cal__slot{padding:8px 4px;text-align:center;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:500;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule);border-radius:2px;cursor:pointer;transition:border-color .15s ease,background .15s ease;font-variant-numeric:tabular-nums}
.cal__slot:hover{border-color:var(--ink)}
.cal__slot--sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.cal__foot{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.cal__foot .btn{width:100%}
.cal__foot small{font-family:'DM Sans',sans-serif;font-size:16px;color:var(--ink-3);line-height:1.4;text-align:center}
.cal__meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--ink-3)}
.cal__meta b{color:var(--ink);font-weight:600;margin-right:4px}
@media (max-width:520px){
  .cal__slots-grid{grid-template-columns:repeat(3,1fr)}
}
.cal-scroll-note{display:none;margin:10px 0 0;text-align:center;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
