.calendar-section{padding:15px 0 65px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.calendar-toolbar h2{font-size:28px;margin-bottom:8px}.calendar-toolbar p{font-size:14px;margin:0}.week-controls{display:flex;gap:8px;flex-wrap:wrap}.week-controls .btn{padding:10px 16px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);min-height:260px}.day-column{padding:16px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;background:var(--white)}.day-title{font-size:14px;font-weight:700;display:block;margin-bottom:18px}.day-empty{font-size:13px;color:var(--muted)}.session-slot{display:block;width:100%;background:#e9e1d4;color:var(--ink);border:1px solid #c4b69e;padding:12px 9px;text-align:left;margin-bottom:12px;cursor:pointer;font-size:14px;overflow-wrap:anywhere}.session-slot strong,.session-slot span{display:block}.session-slot span{font-size:12px;margin-top:6px}.session-slot:hover{border-color:#79684c;background:#e0d2be}.slot-details{font-size:12px;line-height:1.5;margin-bottom:10px}.slot-status{font-size:12px;text-transform:uppercase;letter-spacing:.05em}.slot-remove{background:none;border:0;text-decoration:underline;cursor:pointer;padding:5px 0;font-size:13px;color:#6b4433}.calendar-footer{display:flex;justify-content:space-between;align-items:start;gap:25px;padding:25px 0}.calendar-footer p{font-size:14px;max-width:650px}.request-panel{padding:35px;background:#fffdf8;border:1px solid var(--line);margin-bottom:65px}.request-panel h2{font-size:32px}.calendar-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.calendar-form label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}.calendar-form input,.calendar-form select,.calendar-form textarea{width:100%;border:1px solid #bcb3a4;background:#fffdf8;color:#25241f;padding:12px;font:16px 'DM Sans',sans-serif;min-height:48px;border-radius:0}.calendar-form input:focus,.calendar-form select:focus,.calendar-form textarea:focus{outline:2px solid #977d55;outline-offset:2px}.calendar-form .full,.form-note{grid-column:1/-1}.form-note{font-size:14px;margin:0}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.error-message{color:#8a3322;background:#f7e8e0;padding:15px;margin-bottom:20px}.success-message{color:#344432;background:#e6e9dc;padding:15px;margin-bottom:20px}.request-item{padding:25px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.request-item h3{font-size:23px;margin-bottom:10px}.request-item p{font-size:15px;margin-bottom:12px}.request-item a{text-decoration:underline}.request-actions{display:flex;gap:12px;flex-wrap:wrap}.request-actions .btn{padding:10px 18px}button:disabled{opacity:.6;cursor:wait}.request-panel .notice{margin-bottom:25px}#booking-success{margin-bottom:65px}@media(max-width:1050px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:720px){.calendar-toolbar,.calendar-footer{flex-direction:column;align-items:start}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-column{min-height:150px;padding:16px}.calendar-form{grid-template-columns:1fr}.request-panel{padding:24px}.calendar-toolbar h2{font-size:24px}.session-slot{padding:14px 12px}.session-slot span,.slot-details{font-size:14px}}@media(max-width:380px){.week-grid{grid-template-columns:1fr}}@media print{.week-controls,.calendar-form,.request-actions,.slot-remove{display:none}}
