/* Dogadani — shell for LangSystem portal + rejestracja */

body.sp-portal-page {
	background: #f5f6f7 !important;
	color: var(--ink, #151515);
}

body.sp-portal-page .dg-header,
body.sp-portal-page .dg-footer,
body.sp-portal-page .dg-theme-toggle-wrap,
body.sp-portal-page .theme-controller {
	display: none !important;
}

body.sp-portal-page {
	--ls-navy: #151515;
	--ls-navy-soft: #2a2a2a;
	--ls-navy-deep: #0f0f0f;
	--ls-gold: #f07654;
	--ls-gold-dim: rgba(240, 118, 84, 0.28);
	--ls-white: #ffffff;
	--ls-cream: #f7f7f7;
	--ls-muted: #60666c;
	--ls-surface: #f5f6f7;
	--ls-radius-lg: 8px;
	--ls-shadow-md: 0 10px 28px rgba(20, 20, 20, 0.08);
	--ls-font-body: "Outfit", "Segoe UI", sans-serif;

	--pi-bg: #f5f6f7;
	--pi-surface: #ffffff;
	--pi-surface2: #f7f7f7;
	--pi-card-bg: #ffffff;
	--pi-border: #e5e5e5;
	--pi-text: #151515;
	--pi-muted: #60666c;
	--pi-accent: #f07654;
	--pi-accent-soft: rgba(240, 118, 84, 0.18);
	--pi-primary-grad: linear-gradient(135deg, #f07654 0%, #dc5d39 100%);
	--pi-radius: 8px;
	--pi-shadow: 0 10px 28px rgba(20, 20, 20, 0.08);
	--pi-glass: rgba(255, 255, 255, 0.96);
	--pi-glass-border: #e5e5e5;
}

.sp-portal {
	padding: 1.25rem 0 2.5rem;
	min-height: 60vh;
}

.sp-portal__inner {
	max-width: var(--max, 1320px);
	margin: 0 auto;
	padding: 0 1.25rem;
	width: 100%;
	box-sizing: border-box;
}

.sp-portal__article {
	margin: 0;
	max-width: none;
	width: 100%;
}

.sp-portal__article > h1,
.sp-portal__article .entry-title,
.sp-portal .page-title {
	display: none !important;
}

/* Match Dogadani content width (header / sections = 1120px + 1.25rem gutters) */
body.sp-portal-page .pi-frontend,
body.sp-portal-page .pi-family-hub,
body.sp-portal-page .pi-teacher-hub.pi-frontend,
body.sp-portal-page .pi-teacher-subjects.pi-frontend,
body.sp-portal-page .pi-auth-prompt,
body.sp-portal-page .pi-registration-wrap,
body.sp-portal-page .ls-reg {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

body.sp-portal-page .ls-login .pi-auth-box,
body.sp-portal-page .ls-login__card {
	max-width: 440px;
	width: 100%;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}

body.sp-portal-page .ls-login__title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	font-weight: 700;
	color: var(--ink, #151515);
	text-align: left;
}

body.sp-portal-page .ls-login__lead,
body.sp-portal-page .ls-login .pi-auth-lead {
	text-align: left;
	color: var(--mute, #60666c);
}

body.sp-portal-page .ls-login__hint {
	text-align: left;
	color: var(--mute, #60666c);
}

body.sp-portal-page .pi-login-form[hidden] {
	display: none !important;
}

body.sp-portal-page .pi-auth-box {
	max-width: 440px;
	margin-left: auto;
	margin-right: auto;
}

/* Rejestracja + umowa: pełna szerokość treści portalu */
body.sp-portal-page .pi-auth-box--wide,
body.sp-portal-page .ls-reg__card,
body.sp-portal-page .pi-agreement-gate .pi-auth-box,
body.sp-portal-page .ls-reg .sp-login__box,
body.sp-portal-page .pi-agreement-gate .sp-login__box {
	max-width: none;
	width: 100%;
	text-align: left;
	padding: 1.6rem 1.5rem 1.45rem;
	box-sizing: border-box;
}

body.sp-portal-page .ls-reg .sp-login__box h2,
body.sp-portal-page .pi-agreement-gate .sp-login__box h2,
body.sp-portal-page .ls-reg__title {
	margin: 0 0 0.35rem;
	font-size: clamp(1.35rem, 2.2vw, 1.7rem);
	line-height: 1.25;
	font-weight: 700;
	color: var(--ink, #151515);
	text-align: left;
}

body.sp-portal-page .ls-reg__lead,
body.sp-portal-page .ls-reg .sp-login__lead,
body.sp-portal-page .pi-agreement-gate .pi-auth-lead,
body.sp-portal-page .pi-agreement-gate .sp-login__lead {
	text-align: left;
	margin: 0 0 1.15rem;
	max-width: 48rem;
	color: var(--mute, #60666c);
}

body.sp-portal-page .ls-reg__section {
	margin: 0 0 1.2rem;
}

body.sp-portal-page .ls-reg__section-title {
	margin: 0 0 0.7rem;
	font-size: 0.95rem;
	font-weight: 650;
	color: var(--ink, #202428);
}

body.sp-portal-page .ls-reg__langs {
	margin-top: 1rem;
}

body.sp-portal-page .ls-reg__langs-legend,
body.sp-portal-page .ls-reg__sibling-langs .ls-reg__langs-legend {
	color: var(--ink, #202428);
	font-weight: 650;
}

body.sp-portal-page .ls-reg__lang-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

body.sp-portal-page .ls-reg__lang-face {
	border: 1.5px solid rgba(32, 36, 40, 0.14);
	border-radius: 10px;
	background: #fff;
}

body.sp-portal-page .ls-reg__lang-input:checked + .ls-reg__lang-face {
	border-color: var(--coral, #f07654);
	background: rgba(240, 118, 84, 0.08);
	box-shadow: 0 0 0 1px rgba(240, 118, 84, 0.22);
}

body.sp-portal-page .ls-reg__lang-name {
	color: var(--ink, #151515);
}

body.sp-portal-page .ls-reg__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem 1rem;
}

body.sp-portal-page .ls-reg__grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.sp-portal-page .ls-reg__field--span2 {
	grid-column: span 2;
}

body.sp-portal-page .ls-reg__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-top: 0.25rem;
}

body.sp-portal-page .ls-reg__actions .pi-btn,
body.sp-portal-page .ls-reg__actions .sp-btn {
	width: auto !important;
	min-width: 16rem;
}

body.sp-portal-page .ls-reg__msg {
	flex: 1 1 14rem;
	margin: 0;
	text-align: left;
	min-height: 0;
}

body.sp-portal-page .ls-reg__msg-ok {
	display: inline-block;
	padding: 0.55rem 0.75rem;
	border-radius: 8px;
	background: #e8f8ef;
	color: #0f7a3a;
	font-weight: 650;
}

body.sp-portal-page .ls-reg-modal__box {
	border: 1px solid rgba(32, 36, 40, 0.1);
}

body.sp-portal-page .ls-reg-modal__btn {
	background: linear-gradient(135deg, #f07654 0%, #dc5d39 100%) !important;
	border-color: transparent !important;
}

body.sp-portal-page .pi-agreement-scroll {
	max-height: min(52vh, 480px);
}

@media (max-width: 900px) {
	body.sp-portal-page .ls-reg__grid--3 {
		grid-template-columns: 1fr 1fr;
	}

	body.sp-portal-page .ls-reg__field--span2 {
		grid-column: span 1;
	}
}

@media (max-width: 640px) {
	body.sp-portal-page .ls-reg__grid,
	body.sp-portal-page .ls-reg__grid--3,
	body.sp-portal-page .ls-reg__lang-cards {
		grid-template-columns: 1fr;
	}

	body.sp-portal-page .ls-reg__field--span2 {
		grid-column: auto;
	}

	body.sp-portal-page .ls-reg__actions .pi-btn,
	body.sp-portal-page .ls-reg__actions .sp-btn {
		width: 100% !important;
		min-width: 0;
	}
}

/* Soften LangSystem cards to Dogadani radius */
body.sp-portal-page .pi-fe-card,
body.sp-portal-page .pi-auth-box,
body.sp-portal-page .pi-stat-card,
body.sp-portal-page .pi-fe-tabs button {
	border-radius: 8px !important;
}

body.sp-portal-page .pi-fe-tabs button.is-active,
body.sp-portal-page .pi-btn-primary {
	background: linear-gradient(135deg, #f07654 0%, #dc5d39 100%) !important;
	border-color: transparent !important;
}

body.sp-portal-page .sp-field__control .pi-field-input {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0.45rem 0 !important;
	min-height: 0 !important;
	width: 100%;
}

body.sp-portal-page .ls-reg__hint {
	margin: 0.25rem 0 0;
	font-size: 0.78rem;
	color: var(--mute, #60666c);
}

body.sp-portal-page .pi-req {
	color: var(--coral, #f07654);
}

body.sp-portal-page .ls-reg__siblings {
	margin: 0.5rem 0 1.1rem;
	padding: 1rem 1.05rem 0.9rem;
	border: 1px solid rgba(32, 36, 40, 0.12);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.55);
}

body.sp-portal-page .ls-reg__siblings-title {
	margin: 0 0 0.2rem;
	font-size: 1rem;
	font-weight: 650;
	color: var(--ink, #202428);
}

body.sp-portal-page .ls-reg__siblings-lead {
	margin: 0 0 0.75rem;
	font-size: 0.84rem;
	line-height: 1.45;
	color: var(--mute, #60666c);
}

body.sp-portal-page .ls-reg__sibling-row {
	padding: 0.75rem 0.8rem;
	border: 1px dashed rgba(32, 36, 40, 0.16);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
}

body.sp-portal-page .ls-reg__sibling-remove {
	color: #b42318;
}

body.sp-portal-page .ls-reg__add-sibling {
	margin-top: 0.7rem;
	border-color: rgba(240, 118, 84, 0.45);
	color: var(--ink, #202428);
	border-radius: 8px;
}

body.sp-portal-page .ls-reg__add-sibling:hover:not(:disabled) {
	border-color: var(--coral, #f07654);
	color: var(--coral, #f07654);
}

body.sp-portal-page .ls-reg__phone-prefix {
	color: var(--mute, #60666c);
	font-weight: 650;
}

body.sp-portal-page .ls-reg__notify-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
	margin: 0 0 1rem;
}

body.sp-portal-page .ls-reg__sms-phone-field {
	max-width: 22rem;
}

body.sp-portal-page .ls-reg__phone {
	display: flex;
	align-items: center;
	gap: 0.2rem;
}

@media (max-width: 720px) {
	body.sp-portal-page .ls-reg__notify-grid {
		grid-template-columns: 1fr;
	}

	body.sp-portal-page .ls-reg__sms-phone-field {
		max-width: none;
	}
}
