body #page p {
	word-break: keep-all;
}

body.jl-form-page #page #app .jl-form-summary p,
body.jl-form-page #page #app .jl-form-summary span {
	overflow-wrap: anywhere;
	word-break   : break-word;
}

body #page #app #g2-summary-description,
body #page #app #g3-summary-description,
body #page #app #nz-summary-description,
body #page #app #np-summary-description,
body #page #app #pr-summary-description {
	text-align: justify;
}

body.jl-form-page #page #app {
	padding-bottom: 40px;
}

.jl-claim-hub {
	padding: 40px 0 70px;
}

@media screen and (max-width: 767px) {
	.jl-claim-hub {
		padding-left : 25px;
		padding-right: 25px;
	}
}

body #page #app .jl-claim-tile {
	display        : flex;
	flex-direction : column;
	align-items    : center;
	justify-content: center;
	min-height     : 140px;
	padding        : 28px 24px;
	border-radius  : 40px;
	background     : linear-gradient(180deg, #011C40 0%, #4198C1 100%);
	color          : #fff;
	text-align     : center;
	text-decoration: none;
	box-shadow     : 0 8px 18px rgba(1, 28, 64, 0.18);
	transition     : transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

body #page #app a.jl-claim-tile:hover,
body #page #app a.jl-claim-tile:focus {
	color          : #fff;
	text-decoration: none;
	transform      : translateY(-3px);
	box-shadow     : 0 12px 22px rgba(1, 28, 64, 0.28);
}

body #page #app .jl-claim-tile--inactive {
	cursor : default;
	opacity: 0.55;
}

body #page #app .jl-claim-tile-title,
body #page #app .jl-claim-tile-sub {
	display       : block;
	margin        : 0;
	color         : #fff;
	font-weight   : 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height   : 1.25;
}

body #page #app .jl-claim-tile-title {
	font-size: 18px;
}

body #page #app .jl-claim-tile-sub {
	margin-top    : 6px;
	font-size     : 12px;
	font-weight   : 600;
	letter-spacing: 0.03em;
}

.jl-hint {
	display   : block;
	font-size : 12px;
	color     : #63788C;
	margin-top: 4px;
}

/* Komunikat uploadu dowodu zakupu: pelna szerokosc, jedna linia na desktopie. */
body #page #app .proof-status {
	display       : inline-block;
	margin        : 0 0 15px 10px;
	vertical-align: middle;
	white-space   : nowrap;
}

@media screen and (max-width: 767px) {
	body #page #app .proof-status {
		white-space: normal;
	}
}

body #page #app .proof-status.error {
	color      : #e2586f;
	font-weight: 600;
}

/* Czerwona gwiazdka przy obowiazkowych zgodach (checkboxy). */
body.jl-form-page #page #app label[for$="-accept-prepare-kurier"]::after,
body.jl-form-page #page #app label[for$="-accept-terms-kurier"]::after,
body.jl-form-page #page #app label[for$="-accept-dhl"]::after,
body.jl-form-page #page #app label[for$="-accept-joinlabs-claims"]::after,
body.jl-form-page #page #app label[for$="-accept-prepare-osobiscie"]::after,
body.jl-form-page #page #app label[for$="-accept-terms-osobiscie"]::after,
body.jl-form-page #page #app label[for$="-confirm-submit"]::after,
body.jl-form-page #page #app label[for="kp-accept-legal"]::after,
body.jl-form-page #page #app label[for="np-diagnosis-agree"]::after,
body.jl-form-page #page #app label[for="pr-same-device"]::after,
body.jl-form-page #page #app label[for="pr-accept-cost"]::after {
	content    : " *";
	color      : #e2586f;
	font-weight: 700;
}

/* Tresc zgody w <p> nie moze lamac linii przed gwiazdka. */
body.jl-form-page #page #app label[for$="-accept-prepare-kurier"] p,
body.jl-form-page #page #app label[for$="-accept-terms-kurier"] p,
body.jl-form-page #page #app label[for$="-accept-dhl"] p,
body.jl-form-page #page #app label[for$="-accept-joinlabs-claims"] p,
body.jl-form-page #page #app label[for$="-accept-prepare-osobiscie"] p,
body.jl-form-page #page #app label[for$="-accept-terms-osobiscie"] p,
body.jl-form-page #page #app label[for$="-confirm-submit"] p,
body.jl-form-page #page #app label[for="kp-accept-legal"] p,
body.jl-form-page #page #app label[for="np-diagnosis-agree"] p,
body.jl-form-page #page #app label[for="pr-same-device"] p,
body.jl-form-page #page #app label[for="pr-accept-cost"] p {
	display: inline;
	margin : 0;
}

/*
 * Wiersze z polami formularza: flex zamiast floatow, zeby komunikat bledu
 * pod jednym polem (np. telefon) nie przesuwal kolejnych kolumn na prawa strone.
 */
body.jl-form-page #page #app .row:not([hidden]):has(> .form-group[class*="col-"]) {
	display    : flex;
	flex-wrap  : wrap;
	align-items: flex-start;
}

body.jl-form-page #page #app .row:not([hidden]):has(> .form-group[class*="col-"])::before,
body.jl-form-page #page #app .row:not([hidden]):has(> .form-group[class*="col-"])::after {
	display: none;
}

/* Atrybut hidden ma zawsze wygrywac z regulami display (sekcje warunkowe). */
body.jl-form-page #page #app .row[hidden] {
	display: none;
}

#g2-courier-dates {
	min-height: 56px;
}

#g2-courier-dates .g2-courier-dates-loader {
	display        : inline-flex;
	flex-direction : column;
	align-items    : center;
	justify-content: center;
	gap            : 10px;
	padding        : 8px 0;
}

#g2-courier-dates .g2-courier-dates-loader:before {
	content         : "";
	display         : block;
	width           : 36px;
	height          : 36px;
	border          : 3px solid #d0dbe6;
	border-top-color: #023859;
	border-radius   : 50%;
	animation       : g2-spin 0.8s linear infinite;
}

#g2-courier-dates .g2-courier-dates-loader-text {
	display  : block;
	font-size: 13px;
	color    : #63788C;
}

#g2-courier-dates .g2-courier-dates-msg {
	margin: 8px 0 0;
	color : #63788C;
}

@keyframes g2-spin {
	to {
		transform: rotate(360deg);
	}
}

#g2-courier-date-error:not([hidden]) {
	display   : block;
	text-align: center;
}

#g2-popup-warranty .popup-check_inner.check-repair {
	width     : 410px;
	max-width : calc(100% - 32px);
	height    : auto;
	max-height: 90vh;
	overflow  : auto;
	padding   : 4rem 2rem;
	text-align: left;
}

#g2-popup-warranty .close-popup {
	cursor: pointer;
}

#g2-popup-warranty #g2-warranty-understand {
	display     : block;
	margin-left : auto;
	margin-right: auto;
}

#app .custom-tooltip:hover::after {
	width: 150px;
}

#g2-delivery-options .choose-wrapper .btn,
#g2-courier-dates .btn-switch {
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

#g2-delivery-options .choose-wrapper.selected .btn,
#g2-courier-dates .btn-switch.btn-selected {
	background-color: #023859;
	box-shadow      : 0 0 0 3px #4198C1;
	transform       : translateY(-2px);
}

#g2-delivery-options .form-check-label.claim-btn.btn:hover span {
	color: #fff;
}

#g2-delivery-options .form-check-label.claim-btn.btn span,
#g2-delivery-options .form-check-label.claim-btn.btn:hover span,
#g3-delivery-options .form-check-label.claim-btn.btn span,
#g3-delivery-options .form-check-label.claim-btn.btn:hover span,
#nz-delivery-options .form-check-label.claim-btn.btn span,
#nz-delivery-options .form-check-label.claim-btn.btn:hover span {
	padding-right   : 0;
	background-image: none;
}

body #page #app #accordion[data-start]:not(.ui-accordion) {
	opacity   : 0;
	visibility: hidden;
	margin-top: -50px;
}

body #page #app #accordion.ui-accordion[data-start] {
	opacity   : 1;
	visibility: visible;
	margin-top: 0;
}

.g2-prep-video {
	position      : relative;
	width         : 770px;
	max-width     : 100%;
	height        : 0;
	margin        : 0 auto;
	padding-bottom: 56.25%;
	background    : #011c40;
}

.g2-prep-video iframe,
.g2-prep-video-poster {
	position: absolute;
	inset   : 0;
	width   : 100%;
	height  : 100%;
	border  : 0;
}

.g2-prep-video iframe {
	z-index: 1;
}

.g2-prep-video-poster {
	z-index   : 2;
	display   : block;
	padding   : 0;
	margin    : 0;
	background: #011c40;
	cursor    : pointer;
}

.g2-prep-video-poster-img {
	display   : block;
	width     : 100%;
	height    : 100%;
	object-fit: cover;
}

.g2-prep-video-play {
	position     : absolute;
	left         : 50%;
	top          : 50%;
	width        : 68px;
	height       : 48px;
	margin       : 0;
	background   : #023859;
	border-radius: 12px;
	transform    : translate( -50%, -50% );
}

.g2-prep-video-play::before {
	content     : '';
	position    : absolute;
	left        : 27px;
	top         : 14px;
	border-style: solid;
	border-width: 10px 0 10px 16px;
	border-color: transparent transparent transparent #fff;
}

.g2-prep-video.is-playing .g2-prep-video-poster {
	display: none;
}

#g2-dimensions-box[hidden],
#g3-dimensions-box[hidden],
#nz-dimensions-box[hidden],
#np-dimensions-box[hidden],
#pr-dimensions-box[hidden],
#kp-dimensions-box[hidden] {
	display: none !important;
}

#g2-dimensions-box {
	display        : flex;
	align-items    : center;
	justify-content: center;
	gap            : 16px;
	color          : #023859;
}

#g2-dimensions-box .g2-package-icon {
	display    : block;
	width      : 110px;
	height     : 110px;
	flex-shrink: 0;
}

#g2-dimensions-box .g2-dimensions-copy {
	margin     : 0;
	font-size  : 24px;
	font-weight: 600;
	line-height: 1.4;
	color      : #023859;
}

#g2-dimensions-box #g2-dimensions-value {
	display    : block;
	font-weight: 600;
}

#pr-dimensions-box {
	display        : flex;
	align-items    : center;
	justify-content: center;
	gap            : 16px;
	color          : #023859;
}

#pr-dimensions-box .g2-package-icon {
	display    : block;
	width      : 110px;
	height     : 110px;
	flex-shrink: 0;
}

#pr-dimensions-box .g2-dimensions-copy {
	margin     : 0;
	font-size  : 24px;
	font-weight: 600;
	line-height: 1.4;
	color      : #023859;
}

#pr-dimensions-box #pr-dimensions-value {
	display    : block;
	font-weight: 600;
}

#g2-acceptances-kurier .form-check-label p,
#g2-acceptances-osobiscie .form-check-label p,
label[for="g2-confirm-submit"] p,
#g3-acceptances-kurier .form-check-label p,
#g3-acceptances-osobiscie .form-check-label p,
label[for="g3-confirm-submit"] p {
	display: inline;
	margin : 0;
}

#g3-courier-dates {
	min-height: 56px;
}

#g3-courier-dates .g2-courier-dates-loader {
	display        : inline-flex;
	flex-direction : column;
	align-items    : center;
	justify-content: center;
	gap            : 10px;
	padding        : 8px 0;
}

#g3-courier-dates .g2-courier-dates-loader:before {
	content         : "";
	display         : block;
	width           : 36px;
	height          : 36px;
	border          : 3px solid #d0dbe6;
	border-top-color: #023859;
	border-radius   : 50%;
	animation       : g2-spin 0.8s linear infinite;
}

#g3-courier-dates .g2-courier-dates-loader-text {
	display  : block;
	font-size: 13px;
	color    : #63788C;
}

#g3-courier-dates .g2-courier-dates-msg {
	margin: 8px 0 0;
	color : #63788C;
}

#g3-courier-date-error:not([hidden]) {
	display   : block;
	text-align: center;
}

#g3-popup-age .popup-check_inner.check-repair,
#g3-popup-cert .popup-check_inner.check-repair,
#g3-popup-cert-before .popup-check_inner.check-repair {
	width     : 410px;
	max-width : calc(100% - 32px);
	height    : auto;
	max-height: 90vh;
	overflow  : auto;
	padding   : 4rem 2rem;
	text-align: left;
}

#g3-popup-age .close-popup,
#g3-popup-cert .close-popup,
#g3-popup-cert-before .close-popup {
	cursor: pointer;
}

#g3-popup-age #g3-age-understand,
#g3-popup-cert #g3-cert-understand,
#g3-popup-cert-before #g3-cert-before-understand {
	display     : block;
	margin-left : auto;
	margin-right: auto;
}

#g3-delivery-options .choose-wrapper .btn,
#g3-courier-dates .btn-switch {
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

#g3-delivery-options .choose-wrapper.selected .btn,
#g3-courier-dates .btn-switch.btn-selected {
	background-color: #023859;
	box-shadow      : 0 0 0 3px #4198C1;
	transform       : translateY(-2px);
}

#g3-delivery-options .form-check-label.claim-btn.btn:hover span {
	color: #fff;
}

#g3-dimensions-box {
	display        : flex;
	align-items    : center;
	justify-content: center;
	gap            : 16px;
	color          : #023859;
}

#g3-dimensions-box .g2-package-icon {
	display    : block;
	width      : 110px;
	height     : 110px;
	flex-shrink: 0;
}

#g3-dimensions-box .g2-dimensions-copy {
	margin     : 0;
	font-size  : 24px;
	font-weight: 600;
	line-height: 1.4;
	color      : #023859;
}

#g3-dimensions-box #g3-dimensions-value {
	display    : block;
	font-weight: 600;
}

.nz-nip-row {
	display    : flex;
	align-items: stretch;
	gap        : 10px;
}

.nz-nip-row #nz-seller-nip {
	flex     : 1 1 auto;
	min-width: 0;
}

#nz-nip-check {
	flex       : 0 0 auto;
	margin     : 0;
	padding    : 0 16px;
	min-height : 44px;
	font-size  : 13px;
	line-height: 1;
	white-space: nowrap;
}

#nz-step0-rest[hidden],
#nz-step0-actions[hidden] {
	display: none !important;
}

#nz-acceptances-kurier .form-check-label p,
#nz-acceptances-osobiscie .form-check-label p,
label[for="nz-confirm-submit"] p {
	display: inline;
	margin : 0;
}

#nz-courier-dates {
	min-height: 56px;
}

#nz-courier-dates .g2-courier-dates-loader {
	display        : inline-flex;
	flex-direction : column;
	align-items    : center;
	justify-content: center;
	gap            : 10px;
	padding        : 8px 0;
}

#nz-courier-dates .g2-courier-dates-loader:before {
	content         : "";
	display         : block;
	width           : 36px;
	height          : 36px;
	border          : 3px solid #d0dbe6;
	border-top-color: #023859;
	border-radius   : 50%;
	animation       : g2-spin 0.8s linear infinite;
}

#nz-courier-dates .g2-courier-dates-loader-text {
	display  : block;
	font-size: 13px;
	color    : #63788C;
}

#nz-courier-dates .g2-courier-dates-msg {
	margin: 8px 0 0;
	color : #63788C;
}

#nz-courier-date-error:not([hidden]) {
	display   : block;
	text-align: center;
}

#nz-popup-nip .popup-check_inner.check-repair {
	width     : 410px;
	max-width : calc(100% - 32px);
	height    : auto;
	max-height: 90vh;
	overflow  : auto;
	padding   : 4rem 2rem;
	text-align: left;
}

#nz-popup-nip .close-popup {
	cursor: pointer;
}

#nz-popup-nip #nz-nip-understand {
	display     : block;
	margin-left : auto;
	margin-right: auto;
}

#nz-claim-options .choose-wrapper .btn,
#nz-delivery-options .choose-wrapper .btn,
#nz-courier-dates .btn-switch {
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

#nz-claim-options .choose-wrapper.selected .btn,
#nz-delivery-options .choose-wrapper.selected .btn,
#nz-courier-dates .btn-switch.btn-selected {
	background-color: #023859;
	box-shadow      : 0 0 0 3px #4198C1;
	transform       : translateY(-2px);
}

#nz-delivery-options .form-check-label.claim-btn.btn:hover span {
	color: #fff;
}

#nz-dimensions-box {
	display        : flex;
	align-items    : center;
	justify-content: center;
	gap            : 16px;
	color          : #023859;
}

#nz-dimensions-box .g2-package-icon {
	display    : block;
	width      : 110px;
	height     : 110px;
	flex-shrink: 0;
}

#nz-dimensions-box .g2-dimensions-copy {
	margin     : 0;
	font-size  : 24px;
	font-weight: 600;
	line-height: 1.4;
	color      : #023859;
}

#nz-dimensions-box #nz-dimensions-value {
	display    : block;
	font-weight: 600;
}

#np-popup-ironing .popup-check_inner.check-repair {
	width     : 410px;
	max-width : calc(100% - 32px);
	height    : auto;
	max-height: 90vh;
	overflow  : auto;
	padding   : 4rem 2rem;
	text-align: left;
}

#np-popup-ironing .popup-content p {
	word-break: normal;
}

#np-popup-ironing .close-popup {
	cursor: pointer;
}

#np-popup-ironing #np-ironing-understand {
	display     : block;
	margin-left : auto;
	margin-right: auto;
}

#np-delivery-options .choose-wrapper .btn,
#np-invoice-options .choose-wrapper .btn,
#np-courier-dates .btn-switch {
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

#np-delivery-options .choose-wrapper.selected .btn,
#np-invoice-options .choose-wrapper.selected .btn,
#np-courier-dates .btn-switch.btn-selected {
	background-color: #023859;
	box-shadow      : 0 0 0 3px #4198C1;
	transform       : translateY(-2px);
}

#np-dimensions-box {
	display        : flex;
	align-items    : center;
	justify-content: center;
	gap            : 16px;
	color          : #023859;
}

#np-dimensions-box .g2-package-icon {
	display    : block;
	width      : 110px;
	height     : 110px;
	flex-shrink: 0;
}

#np-dimensions-box .g2-dimensions-copy {
	margin     : 0;
	font-size  : 24px;
	font-weight: 600;
	line-height: 1.4;
	color      : #023859;
}

#np-dimensions-box #np-dimensions-value {
	display    : block;
	font-weight: 600;
}

#g2-summary-contact,
#g3-summary-contact,
#nz-summary-contact,
#np-summary-contact,
#np-summary-invoice {
	white-space: pre-line;
}

#np-gus-status:not([hidden]) {
	display   : block;
	margin-top: 6px;
}

body #page #app .dashed-list ul {
	list-style-type: none;
	margin-left    : 15px;
	padding-left   : 0;
}

.pr-help-btn {
	display        : inline-flex;
	align-items    : center;
	justify-content: center;
	width          : 22px;
	height         : 22px;
	margin-left    : 8px;
	padding        : 0;
	border         : 1px solid #023859;
	border-radius  : 50%;
	background     : #fff;
	color          : #023859;
	font-weight    : 700;
	line-height    : 1;
	cursor         : pointer;
	vertical-align : middle;
	transition     : background-color 0.2s, color 0.2s;
}

/* Hover/focus: wypełnienie tłem zamiast zanikania ramki (nadpisuje button:hover ze style.css). */
.pr-help-btn:hover,
.pr-help-btn:focus,
.pr-help-btn:active {
	border-color: #023859;
}

.pr-help-btn:hover,
.pr-help-btn:focus-visible {
	background-color: #023859;
	color           : #fff;
}

.pr-details {
	border       : 2px solid #1a6ea8;
	border-radius: 18px;
	padding      : 18px 22px;
	margin-bottom: 14px;
}

.pr-hint-list {
	list-style  : disc;
	margin-left : 18px;
	padding-left: 0;
}

#pr-summary-contact,
#pr-summary-description,
#pr-summary-invoice,
#pr-prev-feedback {
	white-space: pre-line;
}

#pr-gus-status:not([hidden]) {
	display   : block;
	margin-top: 6px;
}

#pr-delivery-options .choose-wrapper .btn,
#pr-invoice-options .choose-wrapper .btn,
#pr-courier-dates .btn-switch {
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

#pr-delivery-options .choose-wrapper.selected .btn,
#pr-invoice-options .choose-wrapper.selected .btn,
#pr-courier-dates .btn-switch.btn-selected {
	background-color: #023859;
	box-shadow      : 0 0 0 3px #4198C1;
	transform       : translateY(-2px);
}

#pr-popup-token .popup-check_inner.check-repair,
#pr-popup-warranty .popup-check_inner.check-repair {
	width     : 410px;
	max-width : calc(100% - 32px);
	height    : auto;
	max-height: 90vh;
	overflow  : auto;
	padding   : 4rem 2rem;
	text-align: left;
}

#pr-popup-token .close-popup,
#pr-popup-warranty .close-popup {
	cursor: pointer;
}

#pr-popup-token .btn,
#pr-popup-warranty #pr-warranty-accept {
	display     : block;
	margin-left : auto;
	margin-right: auto;
}

.kp-serial-box {
	max-width    : 720px;
	margin       : 0 auto 24px;
	padding      : 18px 22px 22px;
	border       : 2px solid #1a6ea8;
	border-radius: 18px;
	text-align   : center;
}

.kp-serial-label,
.kp-serial-heading {
	word-break: normal;
}

.kp-serial-label {
	display    : block;
	margin     : 0 auto 8px;
	color      : #023859;
	font-weight: 600;
}

.kp-serial-heading {
	margin     : 0 0 14px;
	color      : #023859;
	font-size  : 22px;
	font-weight: 700;
	line-height: 1.3;
}

.kp-serial-input {
	text-transform: uppercase;
}

.kp-serial-help-img {
	display   : block;
	max-width : 100%;
	height    : auto;
	margin    : 8px auto 16px;
}

#kp-popup-serial-help .popup-check_inner.check-repair {
	width     : 410px;
	max-width : calc(100% - 32px);
	height    : auto;
	max-height: 90vh;
	overflow  : auto;
	padding   : 4rem 2rem;
	text-align: left;
}

#kp-popup-serial-help .popup-content p {
	word-break: normal;
}

#kp-popup-serial-help .close-popup {
	cursor: pointer;
}

#kp-popup-serial-help .btn {
	display     : block;
	margin-left : auto;
	margin-right: auto;
}

.kp-packages {
	display        : flex;
	flex-wrap      : wrap;
	justify-content: center;
	gap            : 28px;
	margin-top     : 10px;
}

.kp-package {
	position      : relative;
	display       : flex;
	flex          : 1 1 280px;
	flex-direction: column;
	max-width     : 420px;
	padding       : 8px 12px 18px;
	border        : 0;
	border-radius : 18px;
	cursor        : pointer;
	word-break    : normal;
}

.kp-package-input {
	position: absolute;
	width   : 1px;
	height  : 1px;
	margin  : -1px;
	padding : 0;
	overflow: hidden;
	clip    : rect(0, 0, 0, 0);
	border  : 0;
}

.kp-package-name {
	display         : block;
	padding         : 12px 16px;
	border-radius   : 10px;
	background-color: #113b4f;
	color           : #fff;
	font-size       : 18px;
	font-weight     : 700;
	letter-spacing  : 0.04em;
	text-align      : center;
	text-transform  : uppercase;
}

.kp-package.is-selected .kp-package-name {
	background-color: #023859;
	box-shadow      : 0 0 0 3px #4198C1;
}

.kp-package ul {
	margin      : 16px 0 18px;
	padding-left: 18px;
	color       : #023859;
	text-align  : left;
	list-style  : disc;
}

.kp-package li {
	margin-bottom: 6px;
	word-break   : normal;
}

.kp-package-price {
	margin-top : auto;
	padding-top: 12px;
	border-top : 2px solid #023859;
	color      : #023859;
	font-size  : 22px;
	font-weight: 700;
	text-align : center;
}

#kp-delivery-options .choose-wrapper .btn,
#kp-invoice-options .choose-wrapper .btn,
#kp-courier-dates .btn-switch {
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

#kp-delivery-options .choose-wrapper.selected .btn,
#kp-invoice-options .choose-wrapper.selected .btn,
#kp-courier-dates .btn-switch.btn-selected {
	background-color: #023859;
	box-shadow      : 0 0 0 3px #4198C1;
	transform       : translateY(-2px);
}

#kp-courier-dates {
	min-height: 56px;
}

#kp-courier-dates .g2-courier-dates-loader {
	display        : inline-flex;
	flex-direction : column;
	align-items    : center;
	justify-content: center;
	gap            : 10px;
	padding        : 8px 0;
}

#kp-courier-dates .g2-courier-dates-loader:before {
	content         : "";
	display         : block;
	width           : 36px;
	height          : 36px;
	border          : 3px solid #d0dbe6;
	border-top-color: #023859;
	border-radius   : 50%;
	animation       : g2-spin 0.8s linear infinite;
}

#kp-courier-dates .g2-courier-dates-loader-text {
	display  : block;
	font-size: 13px;
	color    : #63788C;
}

#kp-courier-dates .g2-courier-dates-msg {
	margin: 8px 0 0;
	color : #63788C;
}

#kp-courier-date-error:not([hidden]) {
	display   : block;
	text-align: center;
}

#kp-dimensions-box {
	display        : flex;
	align-items    : center;
	justify-content: center;
	gap            : 16px;
	color          : #023859;
}

#kp-dimensions-box .g2-package-icon {
	display    : block;
	width      : 110px;
	height     : 110px;
	flex-shrink: 0;
}

#kp-dimensions-box .g2-dimensions-copy {
	margin     : 0;
	font-size  : 24px;
	font-weight: 600;
	line-height: 1.4;
	color      : #023859;
	word-break : normal;
}

#kp-dimensions-box #kp-dimensions-value {
	display    : block;
	font-weight: 600;
}

#kp-summary-contact,
#kp-summary-invoice,
#kp-summary-description {
	white-space: pre-line;
}

#kp-gus-status:not([hidden]) {
	display   : block;
	margin-top: 6px;
}

#kp-popup-serial .popup-check_inner.check-repair {
	width     : 410px;
	max-width : calc(100% - 32px);
	height    : auto;
	max-height: 90vh;
	overflow  : auto;
	padding   : 4rem 2rem;
	text-align: left;
}

#kp-popup-serial .popup-content p {
	word-break: normal;
}

#kp-popup-serial .close-popup {
	cursor: pointer;
}

#kp-popup-serial #kp-serial-understand {
	display     : block;
	margin-left : auto;
	margin-right: auto;
}

body.jl-form-page #page #app .jl-form-submit-error {
	margin-top : 16px;
	color      : #b0413e;
	font-weight: 600;
	text-align : left;
	white-space: pre-line;
}

body.jl-form-page #page #app #finalScreen {
	display: none !important;
}

body.jl-form-page #page #app.jl-form-sent #finalScreen {
	display: block !important;
}

body.jl-form-page #page #app.jl-form-sent #accordion {
	display: none !important;
}

body.jl-form-page #page #app .form-check-label a[href*="regulamin"],
body.jl-form-page #page #app .form-check-label a[href*="polityka-prywatnosci"],
body.jl-form-page #page #app .form-check-label a[href*="regulamin"]:hover,
body.jl-form-page #page #app .form-check-label a[href*="regulamin"]:focus,
body.jl-form-page #page #app .form-check-label a[href*="polityka-prywatnosci"]:hover,
body.jl-form-page #page #app .form-check-label a[href*="polityka-prywatnosci"]:focus {
	font-weight     : 400;
	text-decoration : underline;
}

/* Wszystkie linki w formularzach i popupach są podkreślone (poza przyciskami .btn). */
body.jl-form-page #page #app .form-check-label a,
body.jl-form-page #page #app .step-wrapper a:not(.btn),
body.jl-form-page #page .popup-check a,
body.jl-form-page #page .popup-err a,
body.jl-form-page #page #app .form-check-label a:hover,
body.jl-form-page #page #app .form-check-label a:focus,
body.jl-form-page #page #app .step-wrapper a:not(.btn):hover,
body.jl-form-page #page #app .step-wrapper a:not(.btn):focus,
body.jl-form-page #page .popup-check a:hover,
body.jl-form-page #page .popup-check a:focus,
body.jl-form-page #page .popup-err a:hover,
body.jl-form-page #page .popup-err a:focus {
	text-decoration: underline;
}

body.jl-form-page #page #app .form-check-label a[href*="regulamin"] strong,
body.jl-form-page #page #app .form-check-label a[href*="regulamin"] b,
body.jl-form-page #page #app .form-check-label a[href*="polityka-prywatnosci"] strong,
body.jl-form-page #page #app .form-check-label a[href*="polityka-prywatnosci"] b {
	font-weight: inherit;
}

body.jl-form-page #page #app:not(.jl-form-sent) #accordion[data-finish] {
	opacity   : 1;
	margin-top: 0;
	display   : block;
}

body.jl-form-page .btn.btn-next.enabled:hover,
body.jl-form-page * .btn.btn-next.enabled:hover {
	background-image: url("../img/right-arrow-white.svg"), -webkit-gradient(linear, left top, right bottom, from(rgb(21, 72, 96)), to(rgb(21, 72, 96)));
	background-image: url("../img/right-arrow-white.svg"), linear-gradient(to bottom right, rgb(21, 72, 96), rgb(21, 72, 96));
}

body.jl-form-page .btn.btn-back:hover,
body.jl-form-page * .btn.btn-back:hover {
	opacity: 0.8;
}

/* Ekran końcowy: bez dodatkowego odstępu po prawej od przycisku „wstecz” (nadpisuje margin-right: 30px z style.css). */
body #finalScreen a.btn.btn-back,
body #finalScreen * a.btn.btn-back {
	margin-right: 0;
}

/* Przycisk "Przejdź do płatności" (link a.btn) – zawsze biały napis, bez podkreślenia. */
body.jl-form-page #page #app a.btn.btn-primary,
body.jl-form-page #page #app a.btn.btn-primary:visited,
body.jl-form-page #page #app a.btn.btn-primary:hover,
body.jl-form-page #page #app a.btn.btn-primary:focus,
body.jl-form-page #page #app a.btn.btn-primary:active {
	color           : #fff !important;
	background-color: #023859;
	text-decoration : none;
}

body.jl-form-page #page #app a.btn.btn-primary:hover,
body.jl-form-page #page #app a.btn.btn-primary:focus {
	background-color: #154860;
}

.jl-product-break {
	display    : block;
	clear      : both;
	width      : 100%;
	height     : 0;
	margin     : 0;
	padding    : 0;
	border     : 0;
	overflow   : hidden;
	line-height: 0;
	font-size  : 0;
}

@media screen and (max-width: 767px) {
	body.jl-form-page #page #app {
		padding-top: 10px;
	}

	body #page #app .jl-product-grid {
		/* Trzy kafelki w rzędzie; niepełny ostatni rząd jest wyśrodkowany. */
		display        : flex;
		flex-wrap      : wrap;
		justify-content: center;
		width          : 100%;
	}

	body #page #app .jl-product-grid > .device-type-wrap {
		flex      : 0 0 33.3333%;
		max-width : 33.3333%;
		margin    : 0 !important;
		padding   : 0 4px;
		box-sizing: border-box;
	}

	body #page #app .jl-product-grid > .device-type-wrap img {
		max-width : 100% !important;
		max-height: 80px !important;
	}

	body #page #app .jl-product-break {
		display: none;
	}
}

/*
 * Stopka zawsze na dole okna (bez sticky/fixed) na:
 * - stronie wyboru formularza (kafelki),
 * - ekranie podziękowania po wysłaniu zgłoszenia (#app.jl-form-sent).
 */
body.page-template-page-formularz-zgloszeniowy #page,
body.jl-form-page #page:has(#app.jl-form-sent) {
	display       : flex;
	flex-direction: column;
	min-height    : 100vh;
}

body.page-template-page-formularz-zgloszeniowy #page > #content,
body.jl-form-page #page:has(#app.jl-form-sent) > #content {
	flex     : 1 0 auto;
	width    : 100%;
	/* Szerokość jak w .container Bootstrapa (w kolumnie flex nie działa auto). */
	max-width: 100%;
}

@media (min-width: 768px) {
	body.page-template-page-formularz-zgloszeniowy #page > #content,
	body.jl-form-page #page:has(#app.jl-form-sent) > #content {
		max-width: 750px;
	}
}

@media (min-width: 992px) {
	body.page-template-page-formularz-zgloszeniowy #page > #content,
	body.jl-form-page #page:has(#app.jl-form-sent) > #content {
		max-width: 970px;
	}
}

@media (min-width: 1200px) {
	body.page-template-page-formularz-zgloszeniowy #page > #content,
	body.jl-form-page #page:has(#app.jl-form-sent) > #content {
		max-width: 1170px;
	}
}

body.page-template-page-formularz-zgloszeniowy #page > .site-footer,
body.jl-form-page #page:has(#app.jl-form-sent) > .site-footer {
	flex: 0 0 auto;
}

body.admin-bar.page-template-page-formularz-zgloszeniowy #page,
body.admin-bar.jl-form-page #page:has(#app.jl-form-sent) {
	min-height: calc(100vh - 32px);
}

@media screen and (max-width: 782px) {
	body.admin-bar.page-template-page-formularz-zgloszeniowy #page,
	body.admin-bar.jl-form-page #page:has(#app.jl-form-sent) {
		min-height: calc(100vh - 46px);
	}
}

/* Przycisk "Zaznacz wszystko" przy zgodach w kroku 2. */
body.jl-form-page .jl-select-all-btn {
	background     : transparent;
	border         : 0;
	padding        : 0;
	color          : inherit;
	font-weight    : 700;
	text-decoration: underline;
	cursor         : pointer;
}

body.jl-form-page .jl-select-all-btn:hover,
body.jl-form-page .jl-select-all-btn:focus {
	text-decoration: none;
}
