/* Koszyk w stylu panelu klienta (Tabler). Tylko to, czego Tabler nie ma. */
:root {
	--jdm-turkus: #1eb1b4;
	--jdm-turkus-dark: #147476;
}

/* Przyciski glowne jak w panelu (client_panel/dist/css/jdm.css) */
.btn-primary {
	background-color: #ffd73c;
	border-color: #ffd73c;
	color: #343f44;
	box-shadow: 5px 5px 10px 0 rgb(0 0 0 / 6%);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.disabled, .btn-primary:disabled {
	background-color: #e3be2e;
	border-color: #e3be2e;
	color: #343f44;
}
a:not(.btn):not(.nav-link):not(.dropdown-item) {
	color: var(--jdm-turkus-dark);
}

/* Uzywane przez skrypty koszyka (addClass/removeClass 'hide') */
.hide {
	display: none !important;
}

/* Naglowek */
.navbar-jdm {
	background-color: var(--jdm-turkus);
	box-shadow: inset -10px -10px 10px 0 #00000012;
	min-height: 3.75rem;
}
.navbar-jdm .navbar-brand img {
	height: 30px;
}
.navbar-jdm .nav-link,
.navbar-jdm .nav-link:hover,
.navbar-jdm .nav-link:focus {
	color: #fff;
	font-weight: 600;
}
.navbar-jdm .nav-cart-id {
	opacity: .85;
	cursor: copy;
}
/* Przelacznik jezyka jak na jdm.pl (nav.css .nav-lang) */
.nav-lang {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	padding: .3rem .55rem;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .03em;
	white-space: nowrap;
	text-decoration: none;
	border: 1px solid;
	border-radius: 6px;
	transition: color .2s, border-color .2s;
}
.nav-lang .icon {
	width: 1rem;
	height: 1rem;
}
.navbar-jdm .nav-lang {
	color: rgb(255 255 255 / 85%) !important;
	border-color: rgb(255 255 255 / 35%);
}
.navbar-jdm .nav-lang:hover {
	color: #fff !important;
	border-color: rgb(255 255 255 / 70%);
}
.navbar-jdm .nav-register-text {
	color: rgb(255 255 255 / 85%);
	font-size: .875rem;
}
@media (max-width: 767.98px) {
	.navbar-jdm .nav-register-text,
	.navbar-jdm .cart-id-label-full {
		display: none;
	}
}

/* Kroki zamowienia: waskie i wysrodkowane zamiast na cala szerokosc */
.cart-steps {
	max-width: 36rem;
	margin: 0 auto 2rem;
}
.cart-steps .steps {
	--tblr-steps-color: var(--jdm-turkus);
}
/* odstep etykiety od kolka z numerem */
.cart-steps .step-item {
	padding-top: calc(var(--tblr-steps-dot-size) + .5rem);
}

/* Wiersz pozycji koszyka */
.cart-item + .cart-item {
	border-top: 1px dashed var(--tblr-border-color);
}
.cart-item-price {
	font-weight: 700;
	white-space: nowrap;
}
.cart-item-meta {
	color: var(--tblr-secondary);
	font-size: .8125rem;
}
.cart-item-period {
	max-width: 11rem;
}

/* Karty pakietow (pusty koszyk / brak hostingu) */
.plan-picker {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
	gap: 1rem;
}
.plan-card {
	position: relative;
	text-align: center;
}
.plan-card-featured {
	border-color: var(--jdm-turkus);
	box-shadow: 0 0 0 1px var(--jdm-turkus);
}
.plan-badge {
	position: absolute;
	top: -.75rem;
	left: 50%;
	transform: translateX(-50%);
}
.plan-price-amount {
	font-size: 1.5rem;
	font-weight: 700;
}

/* Lista zalet */
.quick-benefits {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.25rem;
	color: var(--tblr-secondary);
}
.quick-benefits .icon {
	color: var(--jdm-turkus);
}

/* Stopka */
.footer-jdm {
	border-top: 1px solid var(--tblr-border-color);
}
.navbar-jdm .nav-cart-id {
	white-space: nowrap;
}

/* item/hosting.tpl - wybor domeny (hosting.js ustawia .card-checked) */
.card-select.card-checked {
	border-color: var(--jdm-turkus);
	box-shadow: 0 0 0 1px var(--jdm-turkus);
}
.card-toggle {
	display: none;
	margin-top: 1rem;
}
.card-checked .card-toggle {
	display: block;
}

/* register.tpl */
.form-modern.account-locked .gated {
	opacity: .55;
	filter: blur(3px);
	pointer-events: none;
	user-select: none;
}
.form-modern .gated {
	transition: opacity .25s, filter .25s;
}
.legal-form-toggle {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .75rem;
}
.legal-toggle-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .75rem 1rem;
	background: var(--tblr-bg-surface);
	border: 1px solid var(--tblr-border-color);
	border-radius: var(--tblr-border-radius);
	color: var(--tblr-secondary);
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, color .15s;
}
.legal-toggle-btn:hover {
	border-color: var(--jdm-turkus);
	color: var(--jdm-turkus-dark);
}
.legal-toggle-btn.active {
	border-color: var(--jdm-turkus);
	background: rgb(30 177 180 / 8%);
	color: var(--jdm-turkus-dark);
	box-shadow: 0 0 0 1px var(--jdm-turkus);
}
.legal-form-toggle.is-invalid .legal-toggle-btn {
	border-color: var(--tblr-danger);
}
.password-checklist {
	list-style: none;
	padding: 0;
	margin: .5rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem 1rem;
}
.password-checklist li {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .8125rem;
	color: var(--tblr-secondary);
}
.password-checklist li .dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border: 2px solid var(--tblr-border-color);
	border-radius: 50%;
	flex-shrink: 0;
}
.password-checklist li.met {
	color: var(--tblr-green);
}
.password-checklist li.met .dot {
	border-color: var(--tblr-green);
	background-color: var(--tblr-green);
}
.password-checklist li.met .dot::after {
	content: '';
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) translate(-1px, -1px);
}
.form-control.is-invalid ~ .email-live-help {
	display: none;
}
/* kontener intlTelInput (customContainer w new_client.js) */
.jdm-iti-phone {
	display: block;
	width: 100%;
}

/* domain_pricing.tpl - naglowki sortowania DataTables jak .table-sort Tablera */
#domain_pricing th.sorting,
#domain_pricing th.sorting_asc,
#domain_pricing th.sorting_desc {
	cursor: pointer;
	white-space: nowrap;
}
#domain_pricing th.sorting::after,
#domain_pricing th.sorting_asc::after,
#domain_pricing th.sorting_desc::after {
	display: inline-flex;
	width: 1rem;
	height: 1rem;
	margin-inline-start: .25rem;
	vertical-align: bottom;
	content: "";
	background: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'><path d='M5 7l3 -3l3 3'/><path d='M5 10l3 3l3 -3'/></svg>");
	mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'><path d='M5 7l3 -3l3 3'/><path d='M5 10l3 3l3 -3'/></svg>");
}
#domain_pricing th.sorting_asc::after {
	-webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 10l3 -3l3 3'/></svg>");
	mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 10l3 -3l3 3'/></svg>");
}
#domain_pricing th.sorting_desc::after {
	-webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>");
	mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>");
}
#domain_pricing th.sorting_asc,
#domain_pricing th.sorting_desc {
	color: var(--tblr-body-color);
}
#domain_pricing tr.tld-featured td {
	font-weight: 600;
}
/* cart.tpl: podsumowanie przypiete przy przewijaniu */
.cart-totals-sticky {
	top: 1rem;
	z-index: 1;
}

/* hint.tpl - ikona (i) z wyjasnieniem */
.btn-hint {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0 .125rem;
	border: 0;
	background: none;
	color: var(--tblr-secondary);
	vertical-align: -.2em;
	cursor: help;
}
.btn-hint .icon {
	width: 1.05rem;
	height: 1.05rem;
}
.btn-hint:hover, .btn-hint:focus-visible {
	color: var(--jdm-turkus-dark);
}
.popover {
	--tblr-popover-max-width: 20rem;
	font-size: .8125rem;
}

/* cart_totals.tpl - co dalej */
.cart-next-steps {
	margin: 0;
	padding-inline-start: 1.1rem;
	color: var(--tblr-secondary);
	font-size: .8125rem;
}
.cart-next-steps li + li {
	margin-top: .35rem;
}
.cart-next-steps li.done {
	text-decoration: line-through;
	opacity: .7;
}

/* item/hosting.tpl */
#hosting_setup .card-title .badge {
	width: 1.5rem;
	height: 1.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	padding: 0;
}
#hosting_setup .card-select .form-check-label {
	cursor: pointer;
}

/* cart_items.tpl - migracja wyrozniona */
.cart-migration {
	background: rgb(30 177 180 / 6%);
	border-inline-start: 3px solid var(--jdm-turkus);
}
.cart-migration.is-added {
	background: none;
}
.migration-avatar {
	background: rgb(30 177 180 / 14%);
	color: var(--jdm-turkus-dark);
}

/* register.tpl - krok Twoje dane */
.details-gate-note {
	display: none;
}
.form-modern.account-locked .details-gate-note {
	display: block;
}
.details-login-bar {
	border-inline-start: 3px solid var(--jdm-turkus);
}
.register-order .card-actions {
	display: flex;
	align-items: center;
}

/* tom-select (wybor kraju): wysokosc jak pozostale pola */
.ts-wrapper.form-select {
	min-height: calc(1.4285714em + 1.125rem + 2px);
	display: flex;
	align-items: center;
}
.ts-wrapper.form-select .ts-control {
	width: 100%;
}
.ts-wrapper.single .ts-control {
	flex-wrap: nowrap;
}
.ts-wrapper.single.dropdown-active .ts-control > .item {
	display: none;
}
