/* JL Terminarz – widget na stronie (Poppins dziedziczony z motywu Kadence) */
.jl-book { --jl-accent:#2b7de0; --jl-accent-dark:#1b5fb3; --jl-ink:#1d1d1d; --jl-muted:#5f6368; --jl-line:#e3e6ea; --jl-bg:#f6f8fb; --jl-ok:#1e9e5a;
	max-width:1100px; margin:0 auto 48px; padding:0 20px; box-sizing:border-box; color:var(--jl-ink); }
.jl-book *, .jl-book *::before, .jl-book *::after { box-sizing:inherit; }
.jl-book__head { text-align:center; margin-bottom:22px; }
.jl-book__title { font-size:clamp(1.5rem, 2.4vw, 2rem); margin:0 0 8px; font-weight:700; }
.jl-book__intro { margin:0 auto; max-width:640px; color:var(--jl-muted); font-size:1rem; }
.jl-book__toggle { display:inline-block; margin-top:16px; background:var(--jl-accent); color:#fff; border:0; border-radius:10px; padding:14px 32px; font:inherit; font-weight:700; font-size:1.05rem; cursor:pointer; box-shadow:0 8px 20px rgba(43,125,224,.25); transition:background .15s, transform .1s; }
.jl-book__toggle:hover { background:var(--jl-accent-dark); }
.jl-book__toggle:active { transform:translateY(1px); }
.jl-book__toggle:focus-visible { outline:3px solid rgba(43,125,224,.4); outline-offset:2px; }
.jl-book.is-collapsed { margin-bottom:32px; }
.jl-book.is-collapsed .jl-book__head { margin-bottom:0; }
.jl-book__body[hidden] { display:none; }
.jl-book__body { background:#fff; margin-top:8px; border:1px solid var(--jl-line); border-radius:16px; padding:28px; box-shadow:0 10px 30px rgba(20,40,80,.06); }
.jl-book__loading, .jl-book__hint { color:var(--jl-muted); margin:0; }
.jl-book__error, .jl-book__empty { text-align:center; color:var(--jl-muted); margin:0; }
.jl-book__phone { font-weight:700; color:var(--jl-accent); text-decoration:none; font-size:1.15rem; }

.jl-step { padding:0 0 22px; }
.jl-step + .jl-step { border-top:1px solid var(--jl-line); padding-top:20px; }
.jl-step__t { display:flex; align-items:center; gap:10px; font-size:1.05rem; margin:0 0 14px; font-weight:600; }
.jl-step__t span { width:26px; height:26px; border-radius:50%; background:var(--jl-accent); color:#fff; font-size:.85rem; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.jl-step__t small { font-weight:400; color:var(--jl-muted); font-size:.9rem; margin-left:auto; }

.jl-days { display:flex; gap:10px; overflow-x:auto; padding:4px 2px 8px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; }
.jl-day { scroll-snap-align:start; flex:0 0 auto; min-width:86px; border:1.5px solid var(--jl-line); background:var(--jl-bg); border-radius:12px; padding:10px 8px; display:flex; flex-direction:column; align-items:center; gap:1px; cursor:pointer; font:inherit; color:inherit; transition:border-color .15s, background .15s; }
.jl-day:hover { border-color:var(--jl-accent); }
.jl-day.is-active { border-color:var(--jl-accent); background:#eaf2fd; }
.jl-day__wd { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:var(--jl-muted); }
.jl-day__num { font-size:1.5rem; font-weight:700; line-height:1.1; }
.jl-day__mo { font-size:.8rem; color:var(--jl-muted); }
.jl-day__n { font-size:.7rem; color:var(--jl-accent); font-weight:600; margin-top:4px; }

.jl-times { display:grid; grid-template-columns:repeat(auto-fill, minmax(88px, 1fr)); gap:8px; }
.jl-time { border:1.5px solid var(--jl-line); background:#fff; border-radius:10px; padding:10px 6px; font:inherit; font-weight:600; font-size:.95rem; cursor:pointer; color:inherit; transition:all .15s; }
.jl-time:hover { border-color:var(--jl-accent); color:var(--jl-accent); }
.jl-time.is-active { background:var(--jl-accent); border-color:var(--jl-accent); color:#fff; }

.jl-form { max-width:560px; }
.jl-form__chosen { margin:0 0 14px; padding:10px 14px; background:#eaf2fd; border-radius:10px; font-size:.95rem; }
.jl-form__row { margin-bottom:12px; }
.jl-form__row label { display:block; font-size:.85rem; font-weight:600; margin-bottom:4px; }
.jl-form input, .jl-form textarea { width:100%; border:1.5px solid var(--jl-line); border-radius:10px; padding:11px 13px; font:inherit; font-size:1rem; background:#fff; color:inherit; }
.jl-form input:focus, .jl-form textarea:focus { outline:none; border-color:var(--jl-accent); box-shadow:0 0 0 3px rgba(43,125,224,.18); }
.jl-form textarea { resize:vertical; }
.jl-form__hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.jl-form__err { color:#b3261e; font-weight:600; margin:0 0 10px; font-size:.9rem; }
.jl-submit { display:inline-block; background:var(--jl-accent); color:#fff; border:0; border-radius:10px; padding:13px 26px; font:inherit; font-weight:700; font-size:1rem; cursor:pointer; transition:background .15s, transform .1s; }
.jl-submit:hover { background:var(--jl-accent-dark); }
.jl-submit:active { transform:translateY(1px); }
.jl-submit[disabled] { opacity:.6; cursor:wait; }
.jl-form__legal { margin:12px 0 0; font-size:.75rem; color:var(--jl-muted); }

.jl-book__done { text-align:center; padding:20px 0; }
.jl-book__check { width:64px; height:64px; border-radius:50%; background:#e8f7ee; color:var(--jl-ok); font-size:34px; line-height:64px; margin:0 auto 12px; font-weight:700; }
.jl-book__done h3 { margin:0 0 8px; }
.jl-book__done p { margin:0 0 6px; }

@media (max-width:640px) {
	.jl-book { padding:0 12px; }
	.jl-book__body { padding:18px 14px; border-radius:12px; }
	.jl-step__t small { margin-left:0; flex-basis:100%; }
	.jl-step__t { flex-wrap:wrap; }
	.jl-times { grid-template-columns:repeat(3, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .jl-book * { transition:none !important; } }

/* ---- day strip with arrows (1.4.0) ---- */
.jl-days-wrap { position:relative; display:flex; align-items:center; gap:8px; }
.jl-days { flex:1; min-width:0; scrollbar-width:thin; }
.jl-days__nav { flex:0 0 auto; width:38px; height:38px; border-radius:50%; border:1.5px solid var(--jl-line); background:#fff; font-size:22px; line-height:1; cursor:pointer; color:var(--jl-accent); display:flex; align-items:center; justify-content:center; transition:all .15s; }
.jl-days__nav:hover { background:var(--jl-accent); border-color:var(--jl-accent); color:#fff; }
.jl-day.is-off { opacity:.45; cursor:not-allowed; background:#f1f3f6; border-color:#e6e9ee; color:#8a8f98; }
.jl-day.is-off .jl-day__num { color:#9aa0a8; }
.jl-day.is-off .jl-day__n { color:#9aa0a8; font-weight:500; }
.jl-day.is-off:hover { border-color:#e6e9ee; }
@media (max-width:640px) { .jl-days__nav { display:none; } }
.jl-form__consent { display:flex !important; gap:8px; align-items:flex-start; font-size:.8rem !important; font-weight:400 !important; color:var(--jl-muted); margin-top:8px; line-height:1.4; }
.jl-form__consent input { width:auto !important; margin-top:2px; accent-color:var(--jl-accent); }
.jl-form__legal a { color:var(--jl-accent); }
