/* WIB Zgłoszenia — style formularza.
   Zakres skopiowany 1:1 ze szkolenia/styles-v2.css (sekcja enroll/form).
   Zmienne (--navy-700, --turq-500, --border-300, --r-control, ...) pochodzą
   z globalnego CSS Bricks (Theme Styles / Custom CSS) i są dostępne site-wide. */

.wib-enroll { --wib-fallback: 0; }

/* Komunikaty (sukces / błąd) */
.wib-form-msg { padding:16px 18px; border-radius:12px; font-size:15px; line-height:1.5; margin-bottom:20px; }
.wib-form-msg--ok   { background:#E1F4F5; border:1px solid #9CD9DD; color:#1D5B60; }
.wib-form-msg--err  { background:#FDECEA; border:1px solid #F3C7C2; color:#8A2A24; }
.wib-form-msg--warn { background:#FFF1DC; border:1px solid #F2A43A; color:#8A4A08; }

/* Honeypot — poza ekranem */
.wib-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

/* Atrybut hidden musi wygrać z display:grid/flex kart i .form-grid */
.wib-enroll [hidden] { display:none !important; }

/* Layout */
.enroll-layout { display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
.enroll-form-col { min-width:0; }

/* Baner kursu */
.form-course-banner { display:flex; align-items:center; gap:18px; background:var(--navy-900); border-radius:var(--r-feature,20px); padding:22px 26px; margin-bottom:28px; }
.form-course-banner .fcb-icon { width:48px; height:48px; border-radius:var(--r-md,10px); background:rgba(80,184,192,0.16); border:1px solid rgba(80,184,192,0.35); display:inline-flex; align-items:center; justify-content:center; color:var(--turq-300); flex-shrink:0; }
.form-course-banner .fcb-icon svg { width:24px; height:24px; }
.fcb-label { font-size:12px; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.55); }
.fcb-title { font-family:var(--font-heading); font-size:19px; font-weight:700; color:#fff; margin:2px 0 0; }
.fcb-meta { margin-left:auto; text-align:right; font-size:13px; color:rgba(255,255,255,0.65); flex-shrink:0; }
.fcb-meta strong { display:block; font-family:var(--font-heading); font-size:16px; color:var(--turq-300); }

/* Karty */
.form-card { background:var(--white); border:1px solid var(--border-200); border-radius:var(--r-feature,20px); padding:28px; margin-bottom:20px; position:relative; }
.form-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.form-card-title { font-family:var(--font-heading); font-size:18px; font-weight:700; letter-spacing:-0.01em; color:var(--navy-900); display:flex; align-items:center; gap:12px; }
.form-card-num { width:30px; height:30px; border-radius:var(--r-pill,999px); background:var(--navy-700); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:14px; font-weight:800; flex-shrink:0; }
.form-card-remove { background:none; border:0; cursor:pointer; color:var(--ink-400); display:inline-flex; align-items:center; gap:6px; font-family:inherit; font-size:13px; font-weight:600; padding:6px 8px; border-radius:var(--r-sm,6px); transition:color .18s ease, background .18s ease; }
.form-card-remove:hover { color:#B4362F; background:#FDECEA; }
.form-card-remove svg { width:14px; height:14px; }

/* Pola */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { display:flex; flex-direction:column; gap:7px; }
.form-field.col-span { grid-column:1 / -1; }
.form-label { font-size:14px; font-weight:600; color:var(--ink-800); }
.form-label .req { color:var(--turq-700); margin-left:2px; }
.form-label .hint { font-weight:400; color:var(--ink-600); font-size:13px; }
.form-input, .form-textarea { width:100%; height:48px; background:var(--white); border:1px solid var(--border-300); border-radius:var(--r-control,8px); padding:0 15px; font-family:inherit; font-size:15.5px; color:var(--ink-950); transition:border-color .18s ease, box-shadow .18s ease; }
.form-textarea { height:auto; min-height:104px; padding:13px 15px; line-height:1.55; resize:vertical; }
.form-input::placeholder, .form-textarea::placeholder { color:var(--ink-400); }
.form-input:focus, .form-textarea:focus { outline:none; border-color:var(--turq-500); box-shadow:0 0 0 3px rgba(80,184,192,0.2); }
.form-input.is-invalid { border-color:#D9534F; box-shadow:0 0 0 3px rgba(217,83,79,0.15); }
.form-divider { height:1px; background:var(--border-200); margin:24px 0; border:0; }

/* Dodaj osobę */
.add-person { width:100%; height:56px; border:1.5px dashed var(--border-300); background:var(--white); border-radius:var(--r-feature,20px); color:var(--navy-700); font-family:var(--font-heading); font-weight:700; font-size:15.5px; display:inline-flex; align-items:center; justify-content:center; gap:10px; cursor:pointer; margin-bottom:28px; transition:border-color .18s ease, background .18s ease, color .18s ease; }
.add-person:hover { border-color:var(--turq-500); background:var(--turq-50); color:var(--turq-700); }
.add-person svg { width:20px; height:20px; }

/* Zgody */
.consent { display:flex; align-items:flex-start; gap:12px; font-size:14.5px; line-height:1.5; color:var(--ink-700); cursor:pointer; }
.consent input { position:absolute; opacity:0; width:0; height:0; }
.consent .opt-box { margin-top:1px; }
.consent-strong { font-weight:600; color:var(--ink-800); }
.opt-box { flex-shrink:0; width:20px; height:20px; border:1.5px solid var(--border-300); border-radius:var(--r-xs,4px); background:var(--white); display:inline-flex; align-items:center; justify-content:center; transition:border-color .18s ease, background .18s ease; }
.opt-box svg { width:12px; height:12px; opacity:0; transform:scale(0.6); transition:opacity .18s ease, transform .18s ease; color:#fff; }
.consent input:checked ~ .opt-box { background:var(--navy-700); border-color:var(--navy-700); }
.consent input:checked ~ .opt-box svg { opacity:1; transform:scale(1); }
.consent input:focus-visible ~ .opt-box { box-shadow:0 0 0 3px rgba(80,184,192,0.3); }
.consent input.is-invalid ~ .opt-box { border-color:#D9534F; background:#FFF5F4; box-shadow:0 0 0 3px rgba(217,83,79,0.15); }
.consent input.is-invalid ~ .consent-copy { color:#B32D2E; }
.consent .hint { color:var(--ink-600); font-size:13px; }

.form-note { font-size:14px; line-height:1.6; color:var(--ink-600); background:var(--navy-50); border:1px solid var(--border-200); border-radius:var(--r-md,10px); padding:16px 18px; margin:0 0 22px; }
.wib-terms-link { color:var(--turq-700); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.wib-terms-link:hover { color:var(--navy-700); }

/* Radio pills */
.radio-inline { display:flex; flex-wrap:wrap; gap:10px; }
.shipping-ksef-note { margin:12px 0 0; color:var(--ink-600); font-size:13px; line-height:1.5; }
.radio-pill { position:relative; }
.radio-pill input { position:absolute; opacity:0; width:0; height:0; }
.radio-pill span { display:inline-flex; align-items:center; height:44px; padding:0 20px; border:1px solid var(--border-300); border-radius:var(--r-pill,999px); font-size:14.5px; font-weight:600; color:var(--ink-700); cursor:pointer; transition:all .18s ease; }
.radio-pill input:checked ~ span { background:var(--navy-700); border-color:var(--navy-700); color:#fff; }
.radio-pill input:focus-visible ~ span { box-shadow:0 0 0 3px rgba(80,184,192,0.3); }

.legal-text { font-size:12.5px; line-height:1.65; color:var(--ink-600); margin:0; }
.help-line { display:flex; align-items:center; gap:10px; margin-top:18px; padding:14px 18px; background:var(--turq-50); border:1px solid var(--turq-100); border-radius:var(--r-md,10px); font-size:14px; color:var(--ink-700); }
.help-line svg { width:18px; height:18px; color:var(--turq-700); flex-shrink:0; }
.help-line a { color:var(--turq-700); font-weight:600; }

/* Przyciski (skopiowane ze styles-v2.css, scoped pod .wib-enroll) */
.wib-enroll .btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; height:48px; padding:0 24px; border:1px solid transparent; cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:16px; line-height:1; border-radius:var(--r-control,8px); white-space:nowrap; text-decoration:none; transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.wib-enroll .btn:hover { transform:translateY(-1px); }
.wib-enroll .btn:active { transform:translateY(0); }
.wib-enroll .btn:focus-visible { outline:none; box-shadow:0 0 0 4px rgba(80,184,192,0.28); }
.wib-enroll .btn > svg { width:18px; height:18px; flex-shrink:0; }
.wib-enroll .btn-lg { height:54px; padding:0 28px; font-size:17px; }
.wib-enroll .btn-block { width:100%; }
.wib-enroll .btn-primary { background:var(--navy-700); color:#fff; border-color:var(--navy-700); }
.wib-enroll .btn-primary:hover { background:var(--navy-900); border-color:var(--navy-900); color:#fff; }
.wib-enroll .btn-primary:active { background:var(--navy-950); }
.wib-enroll .btn-primary:disabled { opacity:.6; cursor:default; transform:none; }
.wib-enroll .btn-secondary { background:var(--white); color:var(--navy-700); border-color:var(--border-300); }
.wib-enroll .btn-secondary:hover { background:var(--navy-50); border-color:var(--navy-700); }

/* Podsumowanie */
.summary-card { background:var(--white); border:1px solid var(--border-200); border-radius:var(--r-feature,20px); padding:26px; position:sticky; top:104px; }
.summary-title { font-family:var(--font-heading); font-size:17px; font-weight:700; color:var(--navy-900); margin:0 0 18px; }
.summary-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--border-200); font-size:14.5px; }
.summary-row-label { color:var(--ink-600); }
.summary-row-value { font-weight:700; color:var(--navy-900); }
.summary-total { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:18px 0 16px; }
.summary-total-label { font-family:var(--font-heading); font-size:15px; font-weight:700; color:var(--navy-900); }
.summary-total-value { display:flex; flex-direction:column; align-items:flex-end; text-align:right; font-family:var(--font-heading); font-size:26px; line-height:1.05; font-weight:800; letter-spacing:-0.02em; color:var(--navy-900); }
.summary-total-amount { white-space:nowrap; }
.summary-total-vat { margin-top:5px; font-family:var(--font-body); font-size:13px; line-height:1.3; font-weight:600; letter-spacing:0; color:var(--ink-600); }
.summary-actions { display:flex; flex-direction:column; gap:10px; }
.summary-secure { display:flex; align-items:center; gap:8px; justify-content:center; margin-top:14px; font-size:12.5px; color:var(--ink-600); }
.summary-secure svg { width:14px; height:14px; color:var(--turq-600); }

/* Ekran podziękowań (po zapisie) */
.wib-thanks { max-width:560px; margin:24px auto; text-align:center; background:var(--white); border:1px solid var(--border-200); border-radius:var(--r-feature,20px); padding:56px 44px; box-shadow:0 18px 44px -18px rgba(0,31,71,0.28); }
.wib-thanks-icon { display:inline-flex; align-items:center; justify-content:center; width:76px; height:76px; border-radius:var(--r-pill,999px); background:var(--turq-100); color:var(--turq-700); margin-bottom:26px; }
.wib-thanks-icon svg { width:38px; height:38px; }
.wib-thanks-title { font-family:var(--font-heading); font-size:clamp(28px,3vw,34px); font-weight:800; letter-spacing:-0.02em; color:var(--navy-900); margin:0 0 8px; }
.wib-thanks-lead { font-size:18px; color:var(--ink-700); margin:0 0 26px; }
.wib-thanks-text { font-size:15px; color:var(--ink-600); margin:0 0 16px; }
.wib-thanks-contact { display:flex; flex-direction:column; align-items:center; gap:6px; padding-top:22px; border-top:1px solid var(--border-200); }
.wib-thanks-name { font-family:var(--font-heading); font-size:17px; font-weight:700; color:var(--navy-900); }
.wib-thanks-link { font-size:15px; font-weight:600; color:var(--turq-700); text-decoration:none; }
.wib-thanks-link:hover { text-decoration:underline; }

@media (max-width:1024px) {
	.enroll-layout { grid-template-columns:1fr; }
	.summary-card { position:static; max-width:460px; }
}
@media (max-width:640px) {
	.wib-thanks { padding:40px 24px; }
}
@media (max-width:640px) {
	.form-grid { grid-template-columns:1fr; }
	.form-course-banner { flex-wrap:wrap; }
	.fcb-meta { margin-left:0; text-align:left; width:100%; }
}
