/* Kalendarz na /uslugi/: ten sam komponent i rytm co w sekcji kontaktowej strony głównej. */
body.post-type-archive-usluga #kontakt {
  --fg: #F4F2FA;
  --fg-muted: rgba(244,242,250,.68);
  --fg-faint: rgba(244,242,250,.52);
  --line: rgba(244,242,250,.16);
  --line-strong: rgba(244,242,250,.32);
  --paper: var(--ink-950);
  --paper-2: rgba(255,255,255,.06);
  --paper-3: rgba(255,255,255,.04);
  --imp: #8C7BFF;
  position: relative;
  z-index: 3;
  display: grid;
  align-items: center;
  min-height: 0;
  padding-block: clamp(64px,9vh,104px);
  color: var(--fg);
}
html[data-nogl] body.post-type-archive-usluga #kontakt { background: var(--ink-950) }

body.post-type-archive-usluga #kontakt .rx {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: clamp(30px,5vh,64px);
  width: 100%;
  align-content: center;
}
body.post-type-archive-usluga .rx-pick,
body.post-type-archive-usluga .rx-done {
  grid-area: 1/1;
  transition: opacity .5s var(--ease-out), transform .55s var(--spring);
}
body.post-type-archive-usluga .rx-pick { display: grid; gap: clamp(28px,4vw,80px) }
@media (min-width:1000px) {
  body.post-type-archive-usluga .rx-pick {
    grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
    align-items: start;
  }
}
body.post-type-archive-usluga .rx-head { display:grid; gap:clamp(14px,2.2vh,26px); align-content:start }
body.post-type-archive-usluga #kontakt h2 {
  margin: 0;
  max-width: 18ch;
  font-family: var(--font-display);
  font-size: clamp(2rem,.9rem + 2.4vw,3.5rem);
  font-variation-settings: 'wght' 760,'wdth' 92,'opsz' 96;
  letter-spacing: -.045em;
  line-height: .94;
  overflow-wrap: break-word;
  hyphens: auto;
  text-wrap: balance;
}
body.post-type-archive-usluga #kontakt h2 em {
  font-style: normal;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
body.post-type-archive-usluga .rx-lead {
  margin: 0;
  max-width: 34ch;
  color: var(--fg-muted);
  font-size: clamp(1rem,.92rem + .5vw,1.32rem);
  line-height: 1.45;
  text-wrap: pretty;
}
body.post-type-archive-usluga .rx-cal {
  display: grid;
  gap: clamp(18px,2.8vh,30px);
  align-content: start;
  container-type: inline-size;
}
body.post-type-archive-usluga .rx-days {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(112px,1fr));
  gap: clamp(10px,1.2vw,16px);
}
body.post-type-archive-usluga .rx-day,
body.post-type-archive-usluga .rx-slot { position:relative; display:block; cursor:pointer }
body.post-type-archive-usluga .rx-day input,
body.post-type-archive-usluga .rx-slot input { position:absolute; width:0; height:0; opacity:0 }
body.post-type-archive-usluga .rx-day span {
  display: grid;
  gap: 3px;
  justify-items: start;
  padding: clamp(14px,1.9vh,20px) clamp(14px,1.4vw,20px);
  border-radius: var(--r-md);
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px var(--line);
  transition: background var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--spring);
}
body.post-type-archive-usluga .rx-day b {
  color: var(--fg-faint);
  font: 600 var(--fs-xs)/1 var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}
body.post-type-archive-usluga .rx-day i {
  color: var(--fg);
  font-style: normal;
  font-family: var(--font-display);
  font-size: clamp(1.25rem,1rem + .8vw,1.7rem);
  font-variation-settings: 'wght' 720,'wdth' 94;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.03em;
  line-height: 1;
}
body.post-type-archive-usluga .rx-day small { color:var(--fg-faint); font-size:var(--fs-xs) }
body.post-type-archive-usluga .rx-day:hover span,
body.post-type-archive-usluga .rx-slot:hover span { background:rgba(255,255,255,.12); transform:translateY(-2px) }
body.post-type-archive-usluga .rx-day input:checked + span {
  color: #fff;
  background: var(--grad-cta);
  background-size: 200% 100%;
  box-shadow: var(--shadow-lift);
}
body.post-type-archive-usluga .rx-day input:checked + span i { color:#fff }
body.post-type-archive-usluga .rx-day input:checked + span b,
body.post-type-archive-usluga .rx-day input:checked + span small { color:rgba(255,255,255,.78) }
body.post-type-archive-usluga .rx-day input:focus-visible + span,
body.post-type-archive-usluga .rx-slot input:focus-visible + span { outline:2.5px solid var(--imp); outline-offset:3px }
body.post-type-archive-usluga .rx-day--full { cursor:not-allowed }
body.post-type-archive-usluga .rx-day--full span { background:transparent; opacity:.45 }
body.post-type-archive-usluga .rx-day--full:hover span { background:transparent; transform:none }

body.post-type-archive-usluga .rx-slots {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(10px,1.1vw,14px);
  min-height: 52px;
  align-items: center;
}
body.post-type-archive-usluga .rx-slot span {
  display: grid;
  place-items: center;
  min-height: 52px;
  padding: 0 clamp(20px,2.2vw,30px);
  border-radius: var(--r-full);
  color: var(--fg);
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px var(--line);
  font: 700 clamp(1rem,.92rem + .4vw,1.2rem)/1 var(--font-display);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  transition: background var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), color var(--dur-2) var(--ease);
}
body.post-type-archive-usluga .rx-slot input:checked + span {
  color: #fff;
  background: var(--grad-cta);
  background-size: 200% 100%;
  box-shadow: var(--shadow-lift);
}
body.post-type-archive-usluga .rx-foot { display:grid; gap:clamp(14px,2vh,24px); align-items:end }
body.post-type-archive-usluga .rx-foot .rx-chosen { grid-column:1/-1 }
@container (min-width:620px) {
  body.post-type-archive-usluga .rx-foot { grid-template-columns:minmax(240px,1fr) auto; column-gap:clamp(20px,2.6vw,40px) }
}
body.post-type-archive-usluga .rx-chosen { display:grid; gap:5px; margin:0 }
body.post-type-archive-usluga .rx-chosen span,
body.post-type-archive-usluga .cal-mail span {
  color: var(--fg-faint);
  font: 600 var(--fs-xs)/1 var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.post-type-archive-usluga .rx-chosen b {
  font-family: var(--font-display);
  font-size: clamp(1.2rem,1rem + .8vw,1.7rem);
  font-variation-settings: 'wght' 720,'wdth' 94;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.03em;
  white-space: nowrap;
}
body.post-type-archive-usluga .cal-mail { display:grid; gap:6px }
body.post-type-archive-usluga .cal-mail input {
  height: 54px;
  padding: 0 2px;
  border: 0;
  outline: none;
  color: var(--fg);
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 -1.5px 0 var(--fg);
  font-family: var(--font-display);
  font-size: clamp(1.1rem,1rem + .6vw,1.5rem);
  letter-spacing: -.02em;
}
body.post-type-archive-usluga .cal-mail input::placeholder { color:var(--fg-faint) }
body.post-type-archive-usluga .cal-mail input:focus { box-shadow:inset 0 -2.5px 0 var(--imp) }
body.post-type-archive-usluga .rx-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: fit-content;
  height: 60px;
  padding: 0 clamp(22px,2.4vw,34px);
  border: 0;
  border-radius: var(--r-full);
  color: #fff;
  background: var(--grad-cta);
  background-size: 200% 100%;
  box-shadow: var(--shadow-lift);
  cursor: pointer;
  font: 600 clamp(1rem,.94rem + .4vw,1.2rem)/1 var(--font-text);
  white-space: nowrap;
  transition: background-position var(--dur-3) var(--ease-out), transform .4s var(--spring), box-shadow .4s var(--ease);
}
body.post-type-archive-usluga .rx-cta:hover {
  color: #fff;
  background-position: 100% 0;
  transform: translateY(-3px);
  box-shadow: 0 22px 60px -24px var(--imp);
}
body.post-type-archive-usluga .rx-cta svg { width:22px; height:22px; transition:transform .4s var(--spring) }
body.post-type-archive-usluga .rx-cta:hover svg { transform:translateX(5px) }
body.post-type-archive-usluga .rx-note { margin:0; max-width:60ch; color:var(--fg-faint); font-size:var(--fs-sm); text-wrap:pretty }

body.post-type-archive-usluga .rx-done {
  display: grid;
  gap: clamp(14px,2.4vh,26px);
  align-content: center;
  justify-items: start;
  visibility: hidden;
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
}
body.post-type-archive-usluga .rx-when {
  margin: 0;
  color: transparent;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: var(--font-display);
  font-size: clamp(2.4rem,1.2rem + 5vw,6rem);
  font-variation-settings: 'wght' 780,'wdth' 92;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.045em;
  line-height: .9;
}
body.post-type-archive-usluga .rx-mail { margin:0; color:var(--fg-muted); font:500 var(--fs-sm)/1.4 var(--font-mono); letter-spacing:.08em }
body.post-type-archive-usluga .rx-next { display:grid; max-width:74ch; margin:clamp(4px,1vh,12px) 0 0; padding:0; list-style:none }
body.post-type-archive-usluga .rx-next li {
  display: grid;
  grid-template-columns: minmax(8em,auto) minmax(0,1fr);
  gap: var(--s-5);
  align-items: baseline;
  padding: clamp(12px,1.9vh,20px) 0;
  border-top: 1px solid var(--line);
  color: var(--fg-muted);
  font-size: var(--fs-sm);
  line-height: 1.45;
}
body.post-type-archive-usluga .rx-next b { color:var(--fg); font-family:var(--font-display); font-size:clamp(1rem,.92rem + .4vw,1.25rem) }
body.post-type-archive-usluga .rx-after { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-5); margin-top:clamp(4px,1vh,12px) }
body.post-type-archive-usluga #kontakt .again,
body.post-type-archive-usluga .rx-alt { color:var(--fg-muted) }
/* Wysokosc celu dotyku: strona glowna ma to w home.css, archiwum uslug laduje
   page.css i zostawalo 28 px. */
body.post-type-archive-usluga #kontakt .again,
body.post-type-archive-usluga .rx-alt { min-height:44px; display:inline-flex; align-items:center }
body.post-type-archive-usluga #kontakt .rx[data-state="done"] .rx-pick { visibility:hidden; opacity:0; transform:translateY(-14px); pointer-events:none }
body.post-type-archive-usluga #kontakt .rx[data-state="done"] .rx-done { visibility:visible; opacity:1; transform:none; pointer-events:auto }

@media (max-width:999px) {
  body.post-type-archive-usluga #kontakt {
    padding-top: clamp(56px,8vh,76px);
    padding-bottom: calc(clamp(56px,8vh,76px) + env(safe-area-inset-bottom));
  }
}
@media (max-height:700px) {
  body.post-type-archive-usluga #kontakt .rx { gap:clamp(16px,2.6vh,26px) }
  body.post-type-archive-usluga .rx-pick { gap:clamp(20px,2.6vw,40px) }
  body.post-type-archive-usluga .rx-head { gap:clamp(10px,1.6vh,16px) }
  body.post-type-archive-usluga .rx-cal { gap:clamp(12px,1.8vh,18px) }
  body.post-type-archive-usluga .rx-foot { gap:clamp(12px,1.8vw,20px) }
  body.post-type-archive-usluga #kontakt h2 { font-size:clamp(1.7rem,4.8vh,2.8rem) }
  body.post-type-archive-usluga .rx-lead { font-size:.94rem }
  body.post-type-archive-usluga .rx-note { font-size:var(--fs-xs) }
  body.post-type-archive-usluga .rx-day span { padding:11px 14px }
  body.post-type-archive-usluga .rx-slot span { min-height:46px; padding:0 20px }
  body.post-type-archive-usluga .rx-slots { min-height:46px }
  body.post-type-archive-usluga .rx-cta { height:52px }
  body.post-type-archive-usluga .cal-mail input { height:46px }
}
