/* ==========================================================================
   Kreator e-Deklaracji POZ — spójny z designem AD-MED (propozycja 1).
   Korzysta z globalnych zmiennych :root z child-theme/admed.css.
   ========================================================================== */

[x-cloak] { display: none !important; }

.admed-edekl {
	--edekl-radius: var(--radius-lg, 1rem);
	max-width: 880px;
	margin: 0 auto;
	font-family: "Nunito Sans", system-ui, sans-serif;
	color: var(--ink, #1a1a2e);
	scroll-margin-top: 130px; /* odstęp przy auto-przewijaniu — kreator nie chowa się pod sticky header */
}
.admed-edekl *,
.admed-edekl *::before,
.admed-edekl *::after { box-sizing: border-box; }

.admed-edekl h1,
.admed-edekl h2,
.admed-edekl h3 { font-family: "Sora", system-ui, sans-serif; color: var(--navy, #2B2E84); }

.admed-edekl__title { font-size: 1.5rem; text-align: center; margin: 0 0 1.5rem; }

/* Etykieta bieżącego kroku — tylko mobile (desktop ma nazwy w stepperze) */
.admed-edekl__step-current { display: none; text-align: center; margin: .25rem 0 0; color: var(--navy, #2B2E84); font-size: .95rem; }
.admed-edekl__step-current span { color: var(--ink-muted, #718096); }

/* ---------- Stepper ---------- */
.admed-edekl__steps {
	display: flex;
	gap: .5rem;
	margin-bottom: 2rem;
}
.admed-edekl__step {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .4rem;
	padding: .25rem;
	text-align: center;
	border-top: 3px solid var(--border, #e2e8f0);
	color: var(--ink-muted, #718096);
	transition: color var(--transition, .25s), border-color var(--transition, .25s);
}
.admed-edekl__step.is-clickable { cursor: pointer; }
.admed-edekl__step-num {
	display: grid;
	place-items: center;
	width: 32px; height: 32px;
	border-radius: 50%;
	background: var(--border-light, #edf2f7);
	color: var(--ink-muted, #718096);
	font-weight: 800;
	font-size: .9rem;
}
.admed-edekl__step-label { font-size: .8rem; font-weight: 600; line-height: 1.2; }
.admed-edekl__step.is-active { border-color: var(--navy, #2B2E84); color: var(--navy, #2B2E84); }
.admed-edekl__step.is-active .admed-edekl__step-num { background: var(--navy, #2B2E84); color: #fff; }
.admed-edekl__step.is-done { border-color: var(--green, #4BAB3D); color: var(--green, #4BAB3D); }
.admed-edekl__step.is-done .admed-edekl__step-num { background: var(--green, #4BAB3D); color: #fff; }

/* ---------- Panel / karta kroku ---------- */
.admed-edekl__panel {
	background: var(--white, #fff);
	border: 1px solid var(--border, #e2e8f0);
	border-radius: var(--edekl-radius);
	box-shadow: var(--shadow-md, 0 4px 16px rgba(43,46,132,.08));
	padding: 2rem;
	position: relative;
	overflow: hidden;
}
.admed-edekl__panel::before {
	content: "";
	position: absolute; top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, var(--navy, #2B2E84), var(--green, #4BAB3D));
}
.admed-edekl__panel h2 { font-size: 1.25rem; margin: 0 0 .35rem; }
.admed-edekl__panel h3 { font-size: 1rem; margin: 1.25rem 0 .5rem; }
.admed-edekl__lead { color: var(--ink-light, #4a5568); margin: 0 0 1.5rem; font-size: .95rem; }

/* ---------- Pola formularza ---------- */
.admed-edekl__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem 1.25rem;
}
.admed-edekl__field { display: flex; flex-direction: column; }
.admed-edekl__field--wide { grid-column: 1 / -1; }
.admed-edekl__field--sm { }
.admed-edekl__field--check { grid-column: 1 / -1; justify-content: center; }
.admed-edekl__field label { font-weight: 700; font-size: .85rem; margin-bottom: .35rem; color: var(--ink, #1a1a2e); }

.admed-edekl__field input,
.admed-edekl__field select,
.admed-edekl select {
	width: 100%;
	padding: .7rem .85rem;
	border: 1.5px solid var(--border, #e2e8f0);
	border-radius: var(--radius-md, .75rem);
	font: inherit;
	font-size: .95rem;
	background: var(--white, #fff);
	transition: border-color var(--transition, .25s), box-shadow var(--transition, .25s);
}
.admed-edekl__field input:focus,
.admed-edekl__field select:focus,
.admed-edekl select:focus {
	outline: none;
	border-color: var(--navy, #2B2E84);
	box-shadow: 0 0 0 3px rgba(43, 46, 132, .12);
}
.admed-edekl__field input.is-error { border-color: #d23; box-shadow: 0 0 0 3px rgba(221,51,51,.10); }
.admed-edekl select:disabled { background: var(--bg, #f7f9fc); color: var(--ink-muted, #718096); cursor: not-allowed; }

.admed-edekl__hint { font-size: .78rem; color: var(--ink-muted, #718096); margin-top: .3rem; }
.admed-edekl__error-msg { display: block; font-size: .78rem; font-weight: 700; color: #d23; margin-top: .3rem; }
.admed-edekl__hint.is-error,
.is-error + .admed-edekl__hint { color: #d23; }

.admed-edekl__phone { display: flex; align-items: stretch; }
.admed-edekl__prefix {
	display: grid; place-items: center;
	padding: 0 .85rem;
	background: var(--bg, #f7f9fc);
	border: 1.5px solid var(--border, #e2e8f0);
	border-right: 0;
	border-radius: var(--radius-md, .75rem) 0 0 var(--radius-md, .75rem);
	font-weight: 700; color: var(--ink-light, #4a5568);
}
.admed-edekl__phone input { border-radius: 0 var(--radius-md, .75rem) var(--radius-md, .75rem) 0; }

/* ---------- Wybór typu ---------- */
.admed-edekl__types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.admed-edekl__type-card {
	display: flex; flex-direction: column; justify-content: center; gap: .4rem;
	padding: 1.5rem 1.25rem;
	border: 2px solid var(--border, #e2e8f0);
	border-radius: var(--edekl-radius);
	cursor: pointer;
	transition: all var(--transition, .25s);
	text-align: left;
}
.admed-edekl__type-card:hover { border-color: var(--navy-light, #3d41a0); transform: translateY(-2px); box-shadow: var(--shadow-md, 0 4px 16px rgba(43,46,132,.08)); }
.admed-edekl__type-card.is-active { border-color: var(--navy, #2B2E84); background: rgba(43, 46, 132, .04); }
.admed-edekl__type-card input { position: absolute; opacity: 0; pointer-events: none; }
.admed-edekl__type-title { font-family: "Sora", sans-serif; font-weight: 700; color: var(--navy, #2B2E84); }
.admed-edekl__type-desc { font-size: .85rem; color: var(--ink-light, #4a5568); }

/* ---------- Checkboxy / zgody ---------- */
.admed-edekl__checkbox {
	display: flex; align-items: center; gap: .65rem;
	padding: .65rem 0;
	cursor: pointer; font-size: .9rem; line-height: 1.4;
}
.admed-edekl__checkbox input { margin: 0; width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--orange, #EE7103); }
/* etykiety wieloliniowe lub z błędem pod spodem → checkbox przy pierwszej linii */
.admed-edekl__required,
.admed-edekl__statement,
.admed-edekl__consent-row .admed-edekl__checkbox { align-items: flex-start; }
/* etykieta + błąd w kolumnie: błąd ląduje POD tekstem, wyrównany z nim */
.admed-edekl__checkbox-body { display: flex; flex-direction: column; }
.admed-edekl__checkbox-body .admed-edekl__error-msg { margin-top: .15rem; }
.admed-edekl__required { font-weight: 700; }
.admed-edekl__statement { margin-top: 1.25rem; padding: .85rem 1rem; background: var(--bg, #f7f9fc); border-radius: var(--radius-md, .75rem); }
.admed-edekl__checkbox.is-error { outline: 2px solid #d23; outline-offset: 2px; border-radius: var(--radius-md, .75rem); }
.admed-edekl__consents { margin-top: 1.5rem; border-top: 1px solid var(--border-light, #edf2f7); padding-top: 1rem; }
.admed-edekl__consents h2 { margin-top: 0; }
.admed-edekl__consent-row { padding: .15rem 0; }
.admed-edekl__expand {
	display: inline; background: none; border: 0; padding: 0 0 0 .35rem;
	color: var(--orange, #EE7103); font: inherit; font-weight: 700; cursor: pointer; white-space: nowrap;
}
.admed-edekl__expand:hover { text-decoration: underline; }
.admed-edekl__expanded {
	margin: .1rem 0 .5rem 1.65rem; /* wcięcie ≈ szerokość checkboxa + odstęp */
	padding: .65rem .85rem;
	background: var(--bg, #f7f9fc);
	border-radius: var(--radius-sm, .5rem);
	font-size: .82rem; color: var(--ink-light, #4a5568); line-height: 1.5;
}
.admed-edekl__channels { margin-top: 1rem; padding-top: .75rem; border-top: 1px dashed var(--border, #e2e8f0); }
.admed-edekl__channels-prompt { font-size: .85rem; font-weight: 700; color: var(--ink, #1a1a2e); margin: 0 0 .35rem; }

/* ---------- Personel ---------- */
.admed-edekl__staff { margin-top: 1.75rem; border-top: 1px solid var(--border-light, #edf2f7); padding-top: 1.25rem; }
.admed-edekl__role { margin-bottom: 1rem; }
.admed-edekl__role-detail {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 1.25rem;
	margin: .5rem 0 0 1.7rem;
	padding: 1rem 1.25rem;
	background: var(--bg, #f7f9fc);
	border-radius: var(--radius-md, .75rem);
}

/* ---------- Opiekun ---------- */
.admed-edekl__guardian { padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px dashed var(--border, #e2e8f0); }
.admed-edekl__guardian:last-of-type { border-bottom: 0; margin-bottom: 0; }
.admed-edekl__guardian-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .75rem; }

/* ---------- Podsumowanie ---------- */
.admed-edekl__summary-card {
	border: 1px solid var(--border, #e2e8f0);
	border-radius: var(--radius-md, .75rem);
	padding: 1.25rem 1.5rem;
	margin-bottom: 1rem;
}
.admed-edekl__summary-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .5rem; }
.admed-edekl__summary-head h3 { margin: 0; }
.admed-edekl__summary-card p { margin: .25rem 0; font-size: .92rem; }
.admed-edekl__muted { color: var(--ink-muted, #718096); font-size: .85rem; }
/* Grupa rola+powód: ciasno wewnątrz, odstęp PO grupie (nie przed „Powód"). */
.admed-edekl__summary-role { margin-bottom: 1rem; }
.admed-edekl__summary-role:last-child { margin-bottom: 0; }
.admed-edekl__summary-role p { margin: .1rem 0; }
.admed-edekl__preview-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1rem 0; padding-top: 1rem; border-top: 1px dashed var(--border, #e2e8f0); }
.admed-edekl__preview-row .admed-edekl__hint { margin: 0; }

/* ---------- Linki / przyciski ---------- */
.admed-edekl__link { background: none; border: 0; color: var(--orange, #EE7103); font-weight: 700; cursor: pointer; padding: .25rem 0; font: inherit; font-weight: 700; }
.admed-edekl__link:hover { color: var(--orange-dark, #d46503); text-decoration: underline; }
.admed-edekl__link-danger { background: none; border: 0; color: #d23; cursor: pointer; font: inherit; font-weight: 700; }

.admed-edekl__actions { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.admed-edekl__btn {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--orange, #EE7103);
	color: #fff;
	border: 0;
	padding: .85rem 1.75rem;
	border-radius: var(--radius-md, .75rem);
	font: inherit; font-weight: 800;
	cursor: pointer;
	transition: background var(--transition, .25s), transform var(--transition, .25s);
}
.admed-edekl__btn:hover:not(:disabled) { background: var(--orange-dark, #d46503); transform: translateY(-1px); }
.admed-edekl__btn:disabled { opacity: .45; cursor: not-allowed; }
.admed-edekl__btn--ghost { background: transparent; color: var(--navy, #2B2E84); border: 1.5px solid var(--border, #e2e8f0); }
.admed-edekl__btn--ghost:hover:not(:disabled) { background: var(--bg, #f7f9fc); border-color: var(--navy, #2B2E84); }

/* ---------- Stany ---------- */
.admed-edekl__loading { text-align: center; padding: 2rem; color: var(--ink-muted, #718096); }
.admed-edekl__errors { list-style: none; padding: 1rem 1.25rem; margin: 1rem 0 0; background: #fde8e8; border: 1px solid #f5b5b5; border-radius: var(--radius-md, .75rem); color: #a11; font-size: .9rem; }
.admed-edekl__errors li { margin: .15rem 0; }

.admed-edekl__done { text-align: center; padding: 3rem 2rem; background: var(--white,#fff); border: 1px solid var(--border, #e2e8f0); border-radius: var(--edekl-radius); box-shadow: var(--shadow-md, 0 4px 16px rgba(43,46,132,.08)); }
.admed-edekl__done-icon { width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 50%; background: var(--green, #4BAB3D); color: #fff; font-size: 2rem; display: grid; place-items: center; }
.admed-edekl__done h2 { margin: 0 0 .5rem; }
.admed-edekl__done p { color: var(--ink-light, #4a5568); margin: 0 0 1.5rem; }

/* honeypot */
.admed-edekl__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* ==========================================================================
   Responsywność
   ========================================================================== */
@media (max-width: 768px) {
	.admed-edekl__panel { padding: 1.5rem 1.25rem; }
	.admed-edekl__grid { grid-template-columns: 1fr; }
	.admed-edekl__role-detail { grid-template-columns: 1fr; margin-left: 0; }
	.admed-edekl__types { grid-template-columns: 1fr; }
	.admed-edekl__step-label { display: none; }   /* na mobile numery w stepperze… */
	.admed-edekl__step-current { display: block; }  /* …a nazwa kroku pod spodem */
	.admed-edekl__steps { gap: .35rem; }
	.admed-edekl__title { font-size: 1.25rem; }
}
@media (max-width: 480px) {
	.admed-edekl__panel { padding: 1.25rem 1rem; border-radius: var(--radius-md, .75rem); }
	.admed-edekl__actions { flex-direction: column-reverse; }
	.admed-edekl__btn, .admed-edekl__btn--ghost { width: 100%; }
	.admed-edekl__step-num { width: 28px; height: 28px; font-size: .8rem; }
}
