/* PDN Warsztat Booking – blok wyboru terminu
   Zmienne pozwalają dopasować kolory do brandu bez grzebania w regułach. */
.pdn-booking {
	--pdn-navy: #1f2a5a;
	--pdn-navy-dark: #182148;
	--pdn-text: #26324b;
	--pdn-muted: #6b7690;
	--pdn-border: #e3e8f0;
	--pdn-radius: 12px;
	--pdn-open-bg: #d8f1ef;
	--pdn-open-text: #14615c;
	--pdn-low-bg: #fdf3e3;
	--pdn-low-text: #b06a12;
	--pdn-low-border: #f0c98a;
	--pdn-closed-bg: #eef0f4;
	--pdn-closed-text: #9aa3b5;

	color: var(--pdn-text);
	font-size: 16px;
}

.pdn-booking__heading {
	margin: 0 0 4px;
	font-size: 26px;
	font-weight: 800;
	color: var(--pdn-navy);
}

.pdn-booking__sub {
	margin: 0 0 20px;
	color: var(--pdn-muted);
}

/* --- Karty terminów ------------------------------------------------ */
.pdn-terms {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pdn-term {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	border: 1.5px solid var(--pdn-border);
	border-radius: var(--pdn-radius);
	background: #fff;
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.pdn-term:hover:not(.pdn-term--closed) {
	border-color: var(--pdn-navy);
}

.pdn-term.is-selected {
	border: 2px solid var(--pdn-navy);
	box-shadow: 0 4px 14px rgba(31, 42, 90, .10);
	padding: 15px 17px; /* kompensacja grubszej ramki */
}

.pdn-term--low:not(.is-selected) {
	background: #fffaf1;
	border-color: var(--pdn-low-border);
}

.pdn-term--closed {
	background: var(--pdn-closed-bg);
	cursor: not-allowed;
	color: var(--pdn-closed-text);
}

/* natywny input ukryty, ale dostępny dla klawiatury/czytników */
.pdn-term__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.pdn-term__radio {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	border: 2px solid #c3cbdb;
	border-radius: 50%;
	background: #fff;
	position: relative;
}

.pdn-term.is-selected .pdn-term__radio {
	border-color: var(--pdn-navy);
}

.pdn-term.is-selected .pdn-term__radio::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: var(--pdn-navy);
}

.pdn-term__input:focus-visible + .pdn-term__radio {
	outline: 2px solid var(--pdn-navy);
	outline-offset: 2px;
}

.pdn-term__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.pdn-term__date {
	font-weight: 700;
	font-size: 17px;
	color: inherit;
}

.pdn-term:not(.pdn-term--closed) .pdn-term__date {
	color: var(--pdn-navy);
}

.pdn-term__time {
	font-size: 14px;
	color: var(--pdn-muted);
}

.pdn-term--closed .pdn-term__time {
	color: inherit;
}

/* --- Badge ---------------------------------------------------------- */
.pdn-badge {
	margin-left: auto;
	flex-shrink: 0;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.pdn-badge--open {
	background: var(--pdn-open-bg);
	color: var(--pdn-open-text);
}

.pdn-badge--low {
	background: var(--pdn-low-bg);
	color: var(--pdn-low-text);
	border: 1px solid var(--pdn-low-border);
}

.pdn-badge--closed {
	background: #e2e6ee;
	color: var(--pdn-closed-text);
}

/* --- Kontakt / select / podsumowanie -------------------------------- */
.pdn-booking__contact {
	margin: 14px 0 0;
	font-size: 14px;
	color: var(--pdn-muted);
}

.pdn-booking__contact a {
	color: var(--pdn-text);
	text-decoration: underline;
}

.pdn-hidden-attrs {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.pdn-selected {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--pdn-border);
	font-size: 14px;
	color: var(--pdn-muted);
}

.pdn-selected__value {
	display: block;
	margin-top: 2px;
	font-size: 16px;
	color: var(--pdn-text);
}

/* --- Cena i przycisk ------------------------------------------------- */
.pdn-booking .single_variation .woocommerce-variation-price .price {
	font-size: 30px;
	font-weight: 800;
	color: var(--pdn-navy);
}

/* chowamy komunikat dostępności Woo (mamy badge) */
.pdn-booking .woocommerce-variation-availability {
	display: none;
}

.pdn-booking__btn.single_add_to_cart_button {
	width: 100%;
	margin-top: 14px;
	padding: 16px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--pdn-navy);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s ease;
}

.pdn-booking__btn.single_add_to_cart_button:hover {
	background: var(--pdn-navy-dark);
}

.pdn-booking__btn.single_add_to_cart_button:disabled,
.pdn-booking .woocommerce-variation-add-to-cart-disabled .pdn-booking__btn {
	opacity: .5;
	cursor: not-allowed;
}

.pdn-booking__secure {
	margin: 10px 0 0;
	text-align: center;
	font-size: 13px;
	color: var(--pdn-muted);
}

@media (max-width: 480px) {
	.pdn-term {
		flex-wrap: wrap;
	}
	.pdn-badge {
		margin-left: 32px;
	}
}
