.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-views{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}.catalog-views>a{font-size:12px;color:var(--muted)}.view-switch{display:inline-flex;padding:4px;border:1px solid var(--line);background:#f3f4f6;border-radius:6px}.view-switch button{border:0;background:transparent;font-size:12px;padding:9px 18px;border-radius:4px;color:var(--muted)}.view-switch button[aria-pressed=true]{background:white;color:var(--ink);box-shadow:0 1px 4px #18202b15;font-weight:600}.course-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 17px;border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.course-actions>a:not(.button){font-size:11px;color:var(--muted)}.full-booking-label{font-size:11px;color:#a84700}.course-actions .button{font-size:10px;min-height:38px;padding:9px 12px}
.training-calendar{background:white;border:1px solid var(--line);padding:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.calendar-toolbar h2{font-size:27px;margin-top:7px}.calendar-controls{display:flex;gap:6px;align-items:center}.calendar-controls button{border:1px solid var(--line);min-height:38px;min-width:38px;padding:7px 10px;font-size:11px;background:white;border-radius:4px}.calendar-controls button:hover{background:#f3f4f6}.calendar-hint{font-size:12px;color:var(--muted);margin-bottom:22px}.calendar-grid{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left}.calendar-grid th{font-size:10px;color:var(--muted);font-weight:500;padding:10px 6px;background:#f3f4f6}.calendar-grid td{vertical-align:top;height:110px;padding:7px 4px;border:1px solid var(--line);overflow-wrap:anywhere}.calendar-grid time{font-size:11px;display:block;margin:0 3px 8px;color:var(--muted)}.calendar-grid .outside-month{background:#f8f9fa}.calendar-event{display:block;width:100%;text-align:left;background:#f0f3f7;border:0;border-left:3px solid #e57000;border-radius:2px;padding:8px 6px;color:var(--ink);line-height:1.45;margin-top:6px}.calendar-event:hover{background:#e6ebf1}.calendar-event strong{display:block;font-size:10px;font-weight:600;overflow-wrap:anywhere}.calendar-event small{display:block;font-size:9px;margin-top:5px;color:var(--muted)}.calendar-event.is-full{border-left-color:#919ba8;background:#f3f4f6}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:18px;font-size:10px;color:var(--muted)}.legend-own:before{content:"";display:inline-block;width:7px;height:7px;background:#e57000;margin-right:7px}.calendar-agenda{display:none}.calendar-agenda article{padding:16px 0;border-top:1px solid var(--line)}.calendar-agenda h3{font-size:13px;font-weight:600;line-height:1.5;letter-spacing:0;margin-bottom:10px}
.training-dialog{max-width:550px;width:calc(100% - 40px);padding:35px;border:1px solid var(--line);border-radius:8px;color:var(--ink);box-shadow:0 20px 80px #0003}.training-dialog::backdrop{background:#10192380}.training-dialog h2{font-size:29px;margin:16px 0 20px;padding-right:12px}.training-dialog>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:12px 0}.dialog-close{position:absolute;right:14px;top:12px;width:36px;height:36px;background:white;border:1px solid var(--line);border-radius:4px;font-size:22px}.dialog-actions{display:flex;flex-direction:column;align-items:stretch;gap:13px;margin:25px 0}.dialog-actions .text-link{align-self:flex-start}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;margin:32px 0}.booking-steps{display:flex;list-style:none;padding:0;margin:0 0 24px;border-bottom:1px solid var(--line);gap:0}.booking-steps li{flex:1;display:flex;align-items:center;gap:10px;font-size:12px;padding:0 0 16px;color:var(--muted);border-bottom:2px solid transparent}.booking-steps b{display:grid;place-items:center;width:25px;height:25px;background:#f3f4f6;font-size:11px;border-radius:50%}.booking-steps li[aria-current=step]{border-bottom-color:#e57000;color:var(--ink);font-weight:600}.booking-steps li[aria-current=step] b{background:#e57000}.booking-layout fieldset{border:0;padding:0;margin:0;min-width:0}.booking-layout legend{font-size:25px;letter-spacing:-.035em;line-height:1.2;margin:0 0 25px;font-weight:500;float:left;width:100%}.booking-layout legend+*{clear:both}.booking-layout .field{margin-top:16px}.booking-layout .form-grid{margin-top:0}.booking-summary{background:#f3f4f6;padding:30px;align-self:start;position:sticky;top:120px}.booking-summary h2{font-size:27px;margin:18px 0}.booking-summary>p{font-size:13px;color:var(--muted)}.booking-summary .price{font-size:26px;color:var(--ink);margin-top:25px}.booking-summary hr{border:0;border-top:1px solid var(--line);margin:25px 0}.summary-list{margin:0 0 24px}.summary-list dt{font-size:11px;font-weight:600;color:var(--muted);margin:17px 0 4px}.summary-list dd{font-size:14px;margin:0;overflow-wrap:anywhere}.booking-review{border-bottom:1px solid var(--line);margin-bottom:22px}.booking-success{padding:32px;border:1px solid #c5d3cd;background:#f4f8f6}.booking-success h2{font-size:29px;margin:14px 0 20px}.booking-success>p{font-size:13px}.booking-success .actions{flex-direction:column;align-items:flex-start}.booking-record{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.booking-record strong{font-size:15px;font-weight:600}.booking-record p,.booking-record small{font-size:12px;color:var(--muted)}#booking-list{margin-top:24px}#booking-error{font-size:12px;color:#a84700;padding:12px;background:#fff5ef}#inquiry-provider{margin-top:24px}.external-course{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}.external-course h2{font-size:29px;margin:17px 0}.external-course p{font-size:14px;color:var(--muted)}.external-course .actions{flex-direction:column;align-items:flex-start;margin:0;font-size:12px}
@media(max-width:1100px){.calendar-grid td{height:100px}.calendar-event strong{font-size:9px}.training-calendar{padding:15px}.booking-layout{gap:25px}.booking-summary{padding:24px}}
@media(max-width:700px){.catalog-views{flex-direction:column;align-items:stretch;gap:15px}.view-switch{align-self:flex-start}.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.calendar-toolbar h2{font-size:27px}.calendar-grid{display:none}.calendar-agenda{display:block}.calendar-event{padding:13px}.calendar-event strong{font-size:14px}.calendar-event small{font-size:11px}.training-dialog{padding:28px 23px}.training-dialog h2{font-size:26px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;grid-row:1}.booking-summary h2{font-size:24px}.booking-summary .price{font-size:23px}.booking-summary hr,#booking-storage-note{display:none}.booking-steps li{font-size:11px;gap:7px}.booking-layout legend{font-size:23px}.booking-record{flex-direction:column;align-items:flex-start;gap:15px}.external-course{grid-template-columns:1fr;gap:22px}.external-course h2{font-size:26px}.course-actions{gap:12px}.course-actions .button{min-height:42px}.calendar-controls button{min-height:42px}}
