/* =========================================================
   KRBN — kontakt / rezerwacja (Calendly), ceny netto, stopka
   1. Netto + VAT  2. Sekcja rezerwacji  3. Modal rezerwacji  4. Zdanie przejściowe  5. Stopka
   Jedna ścieżka konwersji: CTA → rozmowa 20 min (Calendly). Bez formularza.
   ========================================================= */

/* ---------- 1. NETTO + VAT ---------- */
.net{display:inline-block;margin-left:.6em;font:600 11px/1 var(--font);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);vertical-align:baseline;white-space:nowrap}
.plan__price{flex-wrap:wrap;row-gap:6px}
.plan__price .net{margin-left:.15em}
.plan__addon-p .net{margin-left:.5em;color:var(--fg-2)}
.cday__price .net{margin-left:0}
.vat{margin-top:clamp(20px,2.4vw,32px);max-width:var(--measure);font-size:13px;line-height:1.5;color:var(--fg-2)}
.cday__ask{margin-top:var(--gap-cta)}

/* ---------- 2. SEKCJA REZERWACJI ---------- */
.book{padding-block:var(--sp-sec)}
.book .label{margin-bottom:var(--gap-label)}
.book__h{max-width:12em;margin:0 0 clamp(48px,6vw,88px)}
.book__grid{display:grid;gap:clamp(40px,6vw,64px)}
.book__side{min-width:0}
.book__p{max-width:var(--measure);font-size:var(--fs-lead);line-height:1.5}
.book__p2{max-width:var(--measure);margin-top:14px;font-size:var(--fs-body);line-height:1.5;color:var(--fg-2)}

.book__cap{display:grid;gap:12px;margin-top:var(--gap-cta);padding-top:22px;border-top:1px solid var(--fg)}
.book__free{display:flex;align-items:center;gap:12px;font:600 13px/1.2 var(--font);letter-spacing:.1em;text-transform:uppercase}
.book__cap-k{margin-top:6px;font:600 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}
.book__cap-row{display:flex;align-items:center;gap:14px}
.book__cap-n{font:600 13px/1.2 var(--font);letter-spacing:.1em;text-transform:uppercase}
.sec--light .cap{--cap-c:var(--dark)}
.sec--light .avail__dot{background:var(--dark);box-shadow:0 0 0 3px var(--signal)}

.book__q{margin-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.book__q li{display:flex;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small);line-height:1.4;color:var(--fg-2)}
.book__q span{font:600 11px/1 var(--font);letter-spacing:.12em;color:var(--fg-3)}

.book__info{margin-top:clamp(24px,2.6vw,32px);border-top:1px solid var(--line)}
.book__info div{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}
.book__info dt{min-width:6.5em;font:600 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}
.book__info dd{margin:0;font-size:var(--fs-small);line-height:1.4}
.book__mail{border-bottom:1px solid var(--fg-3);padding-bottom:1px;transition:border-color .3s}
.book__mail:hover{border-color:var(--fg)}

.book__cal{min-width:0}
.book__cal-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--fg)}
.book__cal-t{font-family:var(--font-display);font-size:clamp(1.375rem,1.8vw,1.75rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}
.book__tag,.bk__tag{font:600 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}

/* rama kalendarza — wspólna dla sekcji i modala */
.book__frame{position:relative;min-height:520px;border:1px solid var(--line);border-top:0}
.book__iframe{display:block;width:100%;height:780px;border:0;background:transparent}
.book__frame.is-loading::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.55}
.book__frame.is-loading::after{content:"Ładowanie kalendarza";position:absolute;left:24px;top:24px;font:600 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}
.book__ph{display:grid;align-content:center;gap:16px;min-height:520px;padding:clamp(28px,4vw,56px)}
.book__ph-k{font:600 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}
.book__ph-t{max-width:20em;font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}
.book__ph-p{max-width:28em;font-size:var(--fs-body);line-height:1.5;color:var(--fg-2)}
.book__ph a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--fg-3);transition:text-decoration-color .3s}
.book__ph a:hover{text-decoration-color:currentColor}

@media (min-width:1024px){
  .book__grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(48px,6vw,104px);align-items:start}
  .book__side{position:sticky;top:112px}
}
@media (max-width:719px){
  .book__frame{margin-inline:calc(var(--gutter)*-1);border-inline:0}
  .book__cal-head{padding-bottom:14px}
  .book__iframe{height:820px}
}

/* ---------- 3. MODAL REZERWACJI ---------- */
.bk{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none}
.bk[hidden]{display:none}
.bk__backdrop{position:absolute;inset:0;background:rgba(8,8,8,.7);opacity:0;pointer-events:auto;transition:opacity .32s ease}
.bk.is-open .bk__backdrop{opacity:1}
.bk__panel{
  --fg:var(--paper);--fg-2:rgba(243,241,235,.66);--fg-3:rgba(243,241,235,.4);--line:rgba(243,241,235,.16);
  position:relative;pointer-events:auto;width:min(600px,100%);max-height:calc(100vh - 48px);max-height:calc(100svh - 48px);overflow-y:auto;overscroll-behavior:contain;
  padding:clamp(28px,3.4vw,44px);background:var(--dark);color:var(--paper);border:1px solid rgba(243,241,235,.16);outline:none;
  opacity:0;transform:translate3d(0,16px,0);
  transition:opacity .4s var(--ease),transform .4s var(--ease),width .45s var(--ease);
}
.bk.is-open .bk__panel{opacity:1;transform:none}
.bk.is-closing .bk__backdrop{transition-duration:.18s}
.bk.is-closing .bk__panel{transition:opacity .16s ease,transform .16s ease}
.bk__panel > *{position:relative;z-index:1}
.bk__panel > .bk__grid{position:absolute;z-index:0;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(243,241,235,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(243,241,235,.045) 1px,transparent 1px);
  background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}
.bk__x{position:absolute!important;top:16px;right:16px;z-index:3;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(243,241,235,.22);color:var(--paper);cursor:pointer;transition:border-color .3s,background-color .3s}
.bk__x:hover{border-color:rgba(243,241,235,.6);background:rgba(243,241,235,.06)}
.bk__x span{position:relative;width:14px;height:14px}
.bk__x span::before,.bk__x span::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor}
.bk__x span::before{transform:rotate(45deg)}.bk__x span::after{transform:rotate(-45deg)}

.bk__label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 56px var(--gap-label) 0;font:600 12px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:rgba(243,241,235,.64)}
.bk__ctx{padding:.45em .7em;border:1px solid rgba(243,241,235,.28);font-size:10.5px;letter-spacing:.12em;color:var(--paper)}
.bk__h{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:700;line-height:.98;letter-spacing:-.035em;margin:0 0 var(--gap-head)}
.bk__p{max-width:26em;font-size:var(--fs-body);line-height:1.5;color:rgba(243,241,235,.66)}
.bk__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:clamp(24px,3vw,32px);padding-top:20px;border-top:1px solid rgba(243,241,235,.16)}
.bk__free{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--paper)}
.bk__act{margin-top:var(--gap-cta)}

/* stany: intro → kalendarz */
.bk__s2{display:none}
.bk__panel[data-state="book"]{width:min(980px,100%)}
.bk__panel[data-state="book"] .bk__s1{display:none}
.bk__panel[data-state="book"] .bk__s2{display:block;animation:bk-in .35s var(--ease) both}
@keyframes bk-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.bk__s2head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 16px;margin:0 56px 18px 0}
.bk__s2t{font-family:var(--font-display);font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;outline:none}
.bk .book__frame{min-height:480px;margin-inline:0;border:1px solid rgba(243,241,235,.16)}
.bk .book__iframe{height:720px}
.bk .book__ph{min-height:420px}

@media (max-width:719px){
  .bk{padding:0 0 0;align-items:flex-end}
  .bk__panel,.bk__panel[data-state="book"]{width:100%;max-height:calc(100vh - 12px);max-height:calc(100svh - 12px);padding:26px 20px calc(24px + env(safe-area-inset-bottom));transform:translate3d(0,22px,0)}
  .bk.is-open .bk__panel{transform:none}
  .bk__x{top:12px;right:12px}
  .bk__act .btn{width:100%}
  .bk .book__frame{margin-inline:-20px;border-inline:0}
  .bk .book__iframe{height:760px}
}

html.bk-open{overflow:hidden;padding-right:var(--sbw,0px)}
html.bk-open .nav{padding-right:var(--sbw,0px)}

/* ---------- 4. ZDANIE PRZEJŚCIOWE (#kontakt) ---------- */
.cta__in{display:block}
.cta__actions{margin-top:var(--gap-cta)}

/* ---------- 5. STOPKA ---------- */
.site-foot{padding-top:clamp(56px,7vw,96px)}
.site-foot__row{display:grid;gap:28px 40px;padding-bottom:clamp(40px,5vw,64px)}
.site-foot__k{font:600 12px/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}
.site-foot__col{display:grid;gap:10px;align-content:start}
.site-foot__link{width:fit-content;font:500 clamp(1rem,.5vw + .9rem,1.125rem)/1.3 var(--font);color:var(--fg);border-bottom:1px solid var(--line);padding-bottom:3px;transition:border-color .3s}
.site-foot__link:hover{border-color:var(--signal)}
.site-foot__link[hidden]{display:none}
.site-foot .cta__mark{padding-top:0}
@media (min-width:900px){
  .site-foot__row{grid-template-columns:1.2fr 1fr 1fr;align-items:start}
}
