.calendar-label{font-size:12px;margin:18px 0 10px}.calendar{border:1px solid var(--line);background:#fffdfa;padding:15px;margin-bottom:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-toolbar strong{font-family:var(--serif);font-weight:500;font-size:17px;letter-spacing:1px}.calendar-toolbar button{border:1px solid var(--line);background:transparent;width:30px;height:30px;font-size:22px;line-height:1}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week{font-size:10px;text-align:center;color:var(--muted);margin-bottom:8px}.calendar-day{position:relative;min-width:0;min-height:58px;padding:7px 1px;border:1px solid transparent;background:#f3f1eb;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.calendar-day>span{font-family:Georgia,serif;font-size:17px;line-height:1.4}.calendar-day>small{font-size:8px;white-space:nowrap;letter-spacing:0}.calendar-day:hover:enabled{border-color:var(--gold)}.calendar-day:disabled{background:#faf9f6;color:#aaa89f;opacity:1}.calendar-day.past>span{color:#b9b6ad}.calendar-day.past>small{color:#b9b6ad}.calendar-day.has-booking{background:#f1e6d7;color:#846038}.calendar-day.selected{background:var(--ink);border-color:var(--ink);color:white}.calendar-day i{position:absolute;top:4px;right:4px;width:4px;height:4px;border-radius:50%;background:var(--gold)}.calendar-day.selected i{background:#e4d3ae}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:9px;color:var(--muted);margin-top:15px}.calendar-legend>span{display:flex;gap:5px;align-items:center}.calendar-legend i{width:8px;height:8px;display:block}.legend-free{background:#edece5;border:1px solid #c8c6b9}.legend-booked{background:#f1e6d7;border:1px solid #bc9b70}.legend-closed{background:#f5f4f0;border:1px solid #dfddd6}.calendar-help{font-size:10px;color:var(--muted);line-height:1.8;margin-top:10px}.selected-date{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.selected-date strong{font-size:12px;font-weight:500}.selected-date>span{font-size:10px;color:var(--gold);white-space:nowrap}.calendar-times button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px}.calendar-times button span{font-size:13px;line-height:1.5}.calendar-times button small{font-size:9px;line-height:1.5}.calendar-times button:disabled{opacity:1}.calendar-times .slot-booked{background:#f1e6d7;border-color:#e0cfb7;color:#846038}.calendar-times .slot-short,.calendar-times .slot-past{background:#f7f6f3;color:#aaa69c;border-color:#e8e5dd}.calendar-times .slot-available{border-color:#c9c7bb}.calendar-times .slot-available small{color:var(--muted)}.calendar-times .slot-available.selected small{color:#e5e6dd}@media(max-width:680px){.calendar{padding:10px}.calendar-grid,.calendar-week{gap:3px}.calendar-day{min-height:52px}.calendar-day>span{font-size:16px}.calendar-day>small{font-size:8px}.calendar-toolbar{margin-bottom:12px}.calendar-legend{gap:10px}.calendar-times{grid-template-columns:repeat(3,1fr)}}
