/* Terminarz – formularz rezerwacji (styl senamed.pl: granat, szałwia, krem; Newsreader + Plus Jakarta Sans) */
.tmz{--ink:#0B4F70;--text:#2B3A42;--muted:#4A5B65;--faint:#7C8A93;--surface:#fff;--surface-2:#F5F1EB;--cream:#FAF6F2;--line:#EDE5DD;--line-strong:#DCD2C8;--accent:#0B4F70;--accent-deep:#093F59;--accent-soft:#EAF1F8;--accent-line:#C4D6E2;--sage:#8B9280;--sage-deep:#6B7262;--sage-soft:#DEDDCD;--ok:#56634A;--ok-soft:#ECEEE3;--warn:#8A5A1F;--warn-soft:#F7EFE7;--bad:#A8473D;--bad-soft:#F8E8E5;--side-a:#2F6C90;--side-b:#0B4F70;--side-c:#093F59;--r:11px;--rc:16px;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--text);font-size:14px;line-height:1.6;max-width:1110px;margin:0 auto;text-align:left;container-type:inline-size;container-name:tmz}
.tmz *,.tmz *::before,.tmz *::after{box-sizing:border-box}
.tmz h2,.tmz h3,.tmz h4{color:var(--ink);margin:0;font-family:inherit;text-transform:none;letter-spacing:normal}
.tmz h2.t,.tmz .mg-card h3,.tmz .ty-top h2{font-family:Newsreader,Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.005em}
.tmz button{font-family:inherit;font-size:inherit;color:inherit;line-height:1.3;text-transform:none;letter-spacing:normal;min-height:0;box-shadow:none;white-space:normal;word-break:normal;overflow-wrap:break-word}
.tmz input,.tmz textarea{font-family:inherit;font-size:14px;color:var(--ink)}
.tmz svg{width:16px;height:16px;flex:none}
.tmz :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tmz.tmz-host{container-type:normal;max-width:none;margin:0}
#tmz-app.tmz{margin-top:56px;margin-bottom:72px}
@media (max-width:760px){#tmz-app.tmz{margin-top:28px;margin-bottom:40px}}
.tmz .addcal .btn{white-space:normal;text-align:center;line-height:1.25;height:auto;min-height:40px;padding:8px 12px}
.tmz-loading{padding:40px;text-align:center;color:var(--muted)}
.tmz .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:48px;padding:0 22px;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s;text-decoration:none;color:var(--ink)}
.tmz .btn:hover{border-color:var(--accent-line);background:var(--surface);color:var(--ink)}
.tmz .btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.tmz .btn.pri:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}
.tmz .btn.danger{color:var(--bad);border-color:#E6C9C3}
.tmz .btn.sm{height:38px;padding:0 14px;font-size:13px}
.tmz .btn[disabled]{opacity:.45;cursor:not-allowed}
.tmz .btn.pri[disabled]:hover{background:var(--accent)}
.tmz .chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--surface-2);color:var(--muted)}
.tmz .chip.ok{background:var(--ok-soft);color:var(--ok)}
.tmz .chip.acc{background:var(--accent-soft);color:var(--accent)}
.tmz .chip.warn{background:var(--warn-soft);color:var(--warn)}
.tmz .chip.bad{background:var(--bad-soft);color:var(--bad)}
.tmz .box{border:1px solid var(--line);border-radius:var(--rc);padding:12px 14px;background:var(--surface-2);font-size:13px}
.tmz .sm{font-size:12.5px}.tmz .muted{color:var(--muted)}
.tmz .alert{border-radius:var(--rc);padding:12px 14px;font-size:13.5px;background:var(--bad-soft);color:var(--bad)}

/* layout */
.tmz-bk{display:grid;grid-template-columns:236px minmax(0,1fr);gap:18px;align-items:start}
@container tmz (max-width:820px){.tmz-bk{grid-template-columns:1fr}}
.tmz-side{position:relative;overflow:hidden;border-radius:var(--rc);padding:14px 12px;color:#fff;background:linear-gradient(165deg,var(--side-a) 0%,var(--side-b) 52%,var(--side-c) 100%);box-shadow:0 18px 40px -24px rgba(11,79,112,.55)}
.tmz-side .spine{position:absolute;right:-30px;bottom:-12px;width:210px;height:120px;opacity:.28;pointer-events:none}
.tmz-side ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;position:relative}
.tmz-side li{margin:0;padding:0}
.tmz .stp{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border-radius:10px;position:relative;border:0;background:none;color:#fff;text-align:left;width:100%;cursor:default}
.tmz .stp.can{cursor:pointer}
.tmz .stp .ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.35);color:rgba(255,255,255,.85);transition:background .2s}
.tmz .stp .ic svg{width:15px;height:15px}
.tmz .stp .lb{font-weight:500;font-size:13.5px;line-height:1.25;color:rgba(255,255,255,.75)}
.tmz .stp .lb small{display:block;font-size:11.5px;font-weight:400;color:rgba(255,255,255,.8);margin-top:2px}
.tmz .stp.cur{background:rgba(255,255,255,.14)}
.tmz .stp.cur .ic{background:#fff;color:var(--side-b);border-color:#fff}
.tmz .stp.cur .lb{color:#fff;font-weight:600}
.tmz .stp.done .ic{background:var(--sage);border-color:var(--sage);color:#fff}
.tmz .stp.done .lb{color:#fff}
.tmz .stp:hover{background:rgba(255,255,255,.08)}
.tmz .stp.cur:hover{background:rgba(255,255,255,.14)}
@container tmz (max-width:820px){
  .tmz-side ol{flex-direction:row;overflow-x:auto;gap:4px;scrollbar-width:none}
  .tmz-side ol::-webkit-scrollbar{display:none}
  .tmz .stp{grid-template-columns:1fr;justify-items:center;text-align:center;min-width:92px;padding:8px 4px}
  .tmz .stp .lb small{display:none}
  .tmz-side .spine{display:none}
}
.tmz-main{container-type:inline-size;container-name:tmzm;background:var(--surface);border:1px solid var(--line);border-radius:var(--rc);padding:24px 26px;box-shadow:0 18px 40px -32px rgba(11,79,112,.35);min-width:0;display:flex;flex-direction:column;gap:16px}
@container tmz (max-width:620px){.tmz-main{padding:18px 16px}}
.tmz .t{font-size:28px;line-height:1.2}
.tmz .sub{margin:4px 0 0;color:var(--muted);font-size:13.5px}
.tmz .foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:4px}
.tmz .foot .btn.pri,.tmz .foot .btn.danger{margin-left:auto}
.tmz .back{border:0;background:none;color:var(--muted);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 4px}
.tmz .anim{animation:tmzIn .25s ease-out}
@keyframes tmzIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* step 1 */
.tmz .svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tmz .svc{position:relative;display:flex;flex-direction:column;gap:10px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:var(--rc);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.tmz .svc:hover{border-color:var(--accent-line);background:var(--surface)}
.tmz .svc.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.tmz .svc .top{display:flex;align-items:center;gap:12px}
.tmz .dur{width:52px;height:52px;border-radius:50%;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;color:var(--ink);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}
.tmz .dur b{font-size:17px;font-weight:700}
.tmz .dur small{font-size:8.5px;font-weight:600;letter-spacing:.08em;margin-top:2px}
.tmz .svc h3{font-family:Newsreader,Georgia,serif;font-size:19px;font-weight:400;line-height:1.25}
.tmz .svc p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.tmz .svc .meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}
.tmz .svc .price{font-weight:600;color:var(--ink);font-size:15px}
.tmz .rad{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center;flex:none}
.tmz .sel .rad{border-color:var(--accent);background:var(--accent)}
.tmz .sel .rad::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.tmz .svc .img{display:block;margin:-16px -16px 2px;height:132px;border-radius:calc(var(--rc) - 1px) calc(var(--rc) - 1px) 0 0;background:var(--line) center/cover no-repeat}
.tmz .svc.has-img .flag{top:10px;right:10px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.tmz .svc .flag{position:absolute;top:-9px;right:12px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--sage-soft);color:var(--sage-deep);padding:2px 10px;border-radius:999px}
.tmz .agebox{border:1px solid var(--line);background:var(--cream);border-radius:var(--rc);padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.tmz .agebox h4{font-size:14px;font-weight:600}
.tmz .age.mode{flex-direction:row;align-items:center;gap:11px;padding:10px 16px 10px 12px;min-width:220px}
.tmz .age.mode .mi{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.tmz .age.mode .mi svg{width:18px;height:18px}
.tmz .age.mode>span:last-child{display:flex;flex-direction:column;gap:1px}
.tmz .age.mode.sel .mi{background:var(--accent);color:#fff}
.tmz .field .ages{margin-top:2px}
.tmz .ages{display:flex;gap:8px;flex-wrap:wrap}
.tmz .age{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 16px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);cursor:pointer;text-align:left}
.tmz .age b{font-weight:600;color:var(--ink)}
.tmz .age small{font-size:12px;color:var(--muted)}
.tmz .age.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}

/* step 2 */
.tmz .pts{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.tmz .pt{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:16px 10px 14px;border:1px solid var(--line);border-radius:var(--rc);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.tmz .pt:hover{border-color:var(--accent-line);background:var(--surface)}
.tmz .pt.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.tmz .pt .ph{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:20px;color:var(--ink);background:color-mix(in srgb,var(--c) 16%,#fff);box-shadow:0 0 0 3px #fff,0 0 0 5px color-mix(in srgb,var(--c) 70%,transparent);background-size:cover;background-position:center}
.tmz .pt b{font-weight:600;color:var(--ink);font-size:13.5px;line-height:1.3}
.tmz .pt small{font-size:12px;color:var(--muted);line-height:1.3}
.tmz .pt .sp{font-size:11px;font-weight:600;color:var(--sage-deep);background:var(--sage-soft);border-radius:999px;padding:1px 8px}
.tmz .pt.any .ph{background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--accent-line)}
.tmz .pt.any .ph svg{width:26px;height:26px}

/* step 3 */
.tmz .dt{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;align-items:start}
@container tmzm (max-width:640px){.tmz .dt{grid-template-columns:1fr}}
.tmz .mcal{border:1px solid var(--line);border-radius:var(--rc);padding:12px}
.tmz .mcal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tmz .mcal-h b{font-weight:600;color:var(--ink)}
.tmz .navb{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:grid;place-items:center;color:var(--ink);padding:0}
.tmz .navb[disabled]{opacity:.35;cursor:not-allowed}
.tmz .mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.tmz .mgrid .dn{font-size:10.5px;font-weight:600;color:var(--faint);letter-spacing:.06em;padding:4px 0}
.tmz .dc{height:38px;border-radius:var(--r);border:0;background:none;font-weight:500;color:var(--faint);position:relative;cursor:default;font-variant-numeric:tabular-nums;font-size:13px;padding:0}
.tmz .dc.av{background:var(--surface-2);color:var(--ink);font-weight:600;cursor:pointer}
.tmz .dc.av::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--sage);transform:translateX(-50%)}
.tmz .dc.av:hover{background:var(--accent-soft)}
.tmz .dc.sel{background:var(--accent);color:#fff}
.tmz .dc.sel::after{background:#fff}
.tmz .dc.today{box-shadow:inset 0 0 0 1.5px var(--accent-line)}
.tmz .slots-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.tmz .slots-h b{color:var(--ink);font-weight:600}
.tmz .slot-g{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:10px 0 6px}
.tmz .slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:7px}
.tmz .slot{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);cursor:pointer;line-height:1.2}
.tmz .slot b{font-weight:600;color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}
.tmz .slot small{font-size:11px;color:var(--muted)}
.tmz .slot:hover{border-color:var(--accent);background:var(--surface)}
.tmz .slot.sel{border-color:var(--accent);background:var(--accent)}
.tmz .slot.sel b,.tmz .slot.sel small{color:#fff}
.tmz .empty{padding:26px 14px;color:var(--muted);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--rc);font-size:13.5px}

/* step 4 */
.tmz .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@container tmzm (max-width:520px){.tmz .grid2{grid-template-columns:1fr}}
.tmz .field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0}
.tmz .field>span{font-size:12.5px;font-weight:600;color:var(--muted)}
.tmz .field>span b{color:var(--bad)}
.tmz .input{height:46px;border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;padding:0 11px;width:100%;min-width:0;margin:0;box-shadow:none}
.tmz textarea.input{height:auto;padding:9px 11px;line-height:1.5;resize:vertical}
.tmz .input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.tmz .input.err{border-color:var(--bad)}
.tmz .ferr{color:var(--bad);font-size:12px}
.tmz .check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;line-height:1.45;font-size:13.5px;margin:0}
.tmz .check input{accent-color:var(--accent);width:17px;height:17px;flex:none;margin:1px 0 0}
.tmz .check a{color:var(--accent)}
.tmz .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* step 5 */
.tmz .sum{display:grid;grid-template-columns:150px minmax(0,1fr);gap:9px 16px;margin:0;font-size:14px}
.tmz .sum dt{color:var(--muted);font-weight:400;margin:0}
.tmz .sum dd{margin:0;color:var(--ink);font-weight:500;min-width:0;overflow-wrap:anywhere}
@container tmzm (max-width:460px){.tmz .sum{grid-template-columns:1fr;gap:2px}.tmz .sum dd{margin-bottom:8px}}

/* thank-you */
.tmz-ov{position:fixed;inset:0;z-index:999999;display:flex;align-items:flex-start;justify-content:center;padding:max(16px,5vh) 16px 16px;background:rgba(9,63,89,.42);overflow-y:auto}
.tmz .ty{width:min(520px,100%);background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(11,79,112,.25);overflow:hidden;animation:tmzPop .3s ease-out}
@keyframes tmzPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.tmz .ty-top{background:linear-gradient(165deg,var(--side-a),var(--side-c));color:#fff;text-align:center;padding:26px 20px 22px}
.tmz .ty-top .okc{width:58px;height:58px;border-radius:50%;background:#fff;color:var(--sage-deep);display:grid;place-items:center;margin:0 auto 10px}
.tmz .ty-top .okc svg{width:28px;height:28px}
.tmz .ty-top h2{color:#fff;font-size:28px}
.tmz .ty-top p{margin:4px 0 0;color:rgba(255,255,255,.88);font-size:13.5px}
.tmz .ty-b{padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.tmz .when{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--rc);padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;font-size:13.5px;margin:0}
.tmz .when dt{color:var(--muted);margin:0;font-weight:400}.tmz .when dd{margin:0;font-weight:600;color:var(--ink)}
.tmz .sl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-weight:600;margin:0 0 8px}
.tmz .addcal{display:flex;gap:6px;flex-wrap:wrap}
.tmz .addcal .btn{flex:1;min-width:140px}
.tmz .ty-f{padding:12px 20px 16px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}

/* manage */
.tmz .mg{container-type:inline-size;container-name:tmzm;max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.tmz .mg-card{background:#fff;border:1px solid var(--line);border-radius:var(--rc);padding:22px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 40px -32px rgba(11,79,112,.35)}
.tmz .mg-card h3{font-size:22px}
.tmz .opt{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--accent);border-radius:var(--rc);cursor:pointer;text-align:left;background:var(--accent-soft);width:100%}
.tmz .opt .oi{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--accent);color:#fff}
.tmz .opt b{display:block;color:var(--ink);font-weight:600;font-size:15px}
.tmz .opt small{color:var(--muted);font-size:13px}
.tmz .linkish{border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0;font-size:13px;align-self:center}
.tmz .rsn{display:flex;flex-direction:column;gap:6px}
.tmz .rsn label{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;margin:0}
.tmz .rsn label.on{border-color:var(--accent);background:var(--accent-soft)}
.tmz .rsn input{accent-color:var(--accent);margin:0}
.tmz .center{text-align:center;align-items:center}
.tmz .tel{font-size:26px;font-family:Newsreader,Georgia,serif;color:var(--ink)}
