/* Terminy — rezerwacja krok po kroku (v242) */
.tm{max-width:980px;margin:0 auto;}
.tm-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 26px;counter-reset:k;flex-wrap:wrap;}
.tm-steps li{flex:1 1 0;min-width:120px;display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:var(--r-pill);background:var(--paper-2);color:var(--text-dim);font-size:13.5px;font-weight:600;}
.tm-steps li .n{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--card);border:1px solid var(--line);font-family:var(--mono);font-size:12px;flex-shrink:0;}
.tm-steps li.on{background:var(--ink);color:var(--paper);}
.tm-steps li.on .n{background:var(--amber-bright);color:#241C05;border-color:transparent;}
.tm-steps li.done .n{background:var(--green);color:#fff;border-color:transparent;}
[data-theme="dark"] .tm-steps li.on{background:#2A3441;}
.tm-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow-card-lg);}
@media (max-width:560px){.tm-panel{padding:20px 16px;}}
.tm-h{font-family:var(--display);font-size:21px;margin:0 0 6px;}
.tm-sub{color:var(--text-dim);font-size:14.5px;margin:0 0 20px;}
.tm-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media (max-width:820px){.tm-choices{grid-template-columns:1fr;}}
.tm-choice{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:20px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--card);transition:border-color .15s,transform .15s,box-shadow .15s;}
.tm-choice:hover,.tm-choice:focus-visible{border-color:var(--amber);transform:translateY(-2px);box-shadow:var(--shadow-card);}
.tm-choice .ic{font-size:28px;line-height:1;}
.tm-choice b{font-family:var(--display);font-size:16.5px;color:var(--fg);}
.tm-choice span{font-size:13.5px;color:var(--text-dim);}
.tm-back{all:unset;cursor:pointer;color:var(--steel);font-weight:600;font-size:14px;margin-bottom:16px;display:inline-block;}
.tm-back:hover{text-decoration:underline;}
.tm-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:26px;align-items:start;}
@media (max-width:820px){.tm-grid{grid-template-columns:1fr;}}
.tm-cal{border:1px solid var(--line);border-radius:var(--r-md);padding:14px;}
.tm-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.tm-cal-head b{font-family:var(--display);font-size:16px;text-transform:capitalize;}
.tm-cal-head button{all:unset;cursor:pointer;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--fg);}
.tm-cal-head button:disabled{opacity:.3;cursor:default;}
.tm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.tm-cal-grid .dn{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;color:var(--text-faint);text-align:center;padding:4px 0;}
.tm-day{all:unset;box-sizing:border-box;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;font-size:14px;color:var(--text-faint);position:relative;}
.tm-day.av{cursor:pointer;background:rgba(62,143,92,0.12);color:var(--fg);font-weight:700;border:1.5px solid rgba(62,143,92,0.35);}
.tm-day.av:hover,.tm-day.av:focus-visible{background:rgba(62,143,92,0.22);}
.tm-day.av small{font-size:9.5px;font-weight:600;color:var(--green);line-height:1;margin-top:2px;}
.tm-day.full{background:rgba(192,57,43,0.08);color:var(--text-dim);}
.tm-day.sel{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important;}
.tm-day.sel small{color:#fff!important;}
.tm-day.today::after{content:'';position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--amber);}
.tm-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--text-dim);margin-top:12px;}
.tm-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;vertical-align:-2px;margin-right:5px;}
.tm-hours{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;}
.tm-hour{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;padding:12px 6px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-family:var(--mono);font-weight:700;font-size:15px;color:var(--fg);}
.tm-hour:hover,.tm-hour:focus-visible{border-color:var(--green);background:rgba(62,143,92,0.08);}
.tm-hour.sel{background:var(--green);border-color:var(--green);color:#fff;}
.tm-empty{padding:18px;border:1px dashed var(--line);border-radius:var(--r-md);color:var(--text-dim);font-size:14.5px;}
.tm-alt{margin-top:18px;padding:14px 16px;border-radius:var(--r-md);background:rgba(246,193,85,0.12);border:1px solid rgba(226,160,48,0.3);font-size:14px;}
.tm-alt button{all:unset;cursor:pointer;color:var(--steel);font-weight:700;text-decoration:underline;}
.tm-trainings{display:flex;flex-direction:column;gap:12px;}
.tm-tr{border:1.5px solid var(--line);border-radius:var(--r-md);padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:center;}
.tm-tr.hl{border-color:var(--amber);}
.tm-tr h4{margin:0;font-family:var(--display);font-size:16px;}
.tm-tr .meta{font-size:13.5px;color:var(--text-dim);grid-column:1/2;}
.tm-tr .seats{grid-column:1/2;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim);}
.tm-tr .bar{flex:1;max-width:180px;height:7px;border-radius:9px;background:var(--paper-2);overflow:hidden;}
.tm-tr .bar i{display:block;height:100%;background:var(--green);}
.tm-tr .act{grid-column:2/3;grid-row:1/4;}
@media (max-width:560px){.tm-tr{grid-template-columns:1fr;}.tm-tr .act{grid-column:1;grid-row:auto;}}
.tm-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:var(--r-pill);background:var(--amber-bright);color:#241C05;font-weight:700;font-size:14.5px;box-shadow:var(--shadow-amber);}
.tm-btn:hover{background:#FFD37A;}
.tm-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;}
.tm-btn.sec{background:transparent;border:1.5px solid var(--line);color:var(--fg);box-shadow:none;}
.tm-btn.red{background:var(--red);color:#fff;box-shadow:none;}
.tm-btn.green{background:var(--green);color:#fff;box-shadow:none;}
.tm-summary{border-radius:var(--r-md);background:var(--paper-2);padding:14px 18px;margin-bottom:20px;font-size:14.5px;}
.tm-summary b{font-family:var(--display);}
.tm-form .form-row{margin-bottom:14px;}
.tm-form input,.tm-form textarea,.tm-form select{width:100%;box-sizing:border-box;}
.tm-form .req::after{content:' *';color:var(--red);}
.tm-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--text-muted);margin:6px 0 18px;}
.tm-consent input{width:auto;margin-top:3px;}
.tm-err{display:none;padding:12px 16px;border-radius:var(--r-sm);background:rgba(192,57,43,0.1);color:var(--red);border:1px solid rgba(192,57,43,0.3);font-size:14px;margin-bottom:14px;}
.tm-err.show{display:block;}
.tm-ok{text-align:center;padding:10px 0;}
.tm-ok .big{font-size:52px;line-height:1;margin-bottom:10px;}
.tm-ok .nr{display:inline-block;font-family:var(--mono);font-size:18px;font-weight:700;background:var(--paper-2);padding:8px 16px;border-radius:var(--r-sm);margin:8px 0 16px;letter-spacing:1px;}
.tm-ok table{margin:0 auto 18px;text-align:left;font-size:15px;border-collapse:collapse;}
.tm-ok td{padding:5px 10px;}
.tm-ok td:first-child{color:var(--text-dim);}
.tm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.tm-loading{padding:30px;text-align:center;color:var(--text-dim);}
.tm-loading::before{content:'';display:block;width:30px;height:30px;margin:0 auto 12px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--amber);animation:tmspin .8s linear infinite;}
@keyframes tmspin{to{transform:rotate(360deg);}}
.tm-radio{display:grid;gap:8px;margin-bottom:16px;}
.tm-radio label{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:center;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:14.5px;color:var(--fg);}
.tm-radio label:has(input:checked){border-color:var(--amber);background:rgba(246,193,85,0.1);}
.tm-radio input{width:auto;margin:0;}
.tm-note{font-size:13px;color:var(--text-dim);margin-top:4px;}
.tm-grid>*{min-width:0;}
.tm-cal-grid>*{min-width:0;}
@media (max-width:560px){
  .tm-cal{padding:10px;}
  .tm-cal-grid{gap:3px;}
  .tm-day{font-size:13px;border-radius:8px;}
  .tm-day.av small{font-size:8.5px;}
  .tm-hours{grid-template-columns:repeat(3,1fr);}
  .tm-steps li{min-width:0;flex:1 1 40%;padding:8px 10px;font-size:12.5px;}
}
