/* =========================================================
   Apayo Calendar – styles
   Paleta i typografia odwzorowują przekazany wzór ekranu.
   ========================================================= */

   

.apayo-cal {
	--apayo-navy: #1b2a4a;
	--apayo-border: #e7e8ec;
	--apayo-border-strong: #d7d9de;
	--apayo-text: #1c1d21;
	--apayo-text-soft: #9a9ea6;
	--apayo-text-faint: #c7c9cf;
	--apayo-bg-soft: #f7f8fa;
	--apayo-radius-lg: 20px;
	--apayo-radius-md: 12px;
	--apayo-radius-sm: 8px;

	max-width: 760px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--apayo-text);
	box-sizing: border-box;
}

.apayo-cal *,
.apayo-cal *::before,
.apayo-cal *::after {
	box-sizing: border-box;
}

/* ---------- wskaźnik kroków ---------- */

.apayo-cal__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 18px;
}

.apayo-cal__step {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 600;
	color: var(--apayo-text-soft);
	background: var(--apayo-bg-soft);
	border: 1px solid var(--apayo-border);
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.apayo-cal__step.is-active,
.apayo-cal__step.is-done {
	background: var(--apayo-navy);
	border-color: var(--apayo-navy);
	color: #fff;
}

.apayo-cal__step-line {
	width: 36px;
	height: 1px;
	background: var(--apayo-border-strong);
}

/* ---------- karta ---------- */

.apayo-cal__card {
	background: #ffffff;
	border: 1px solid var(--apayo-border);
	border-radius: var(--apayo-radius-lg);
	padding: 28px;
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.03);
}

.apayo-cal__screen {
	display: none;
	animation: apayo-fade 0.18s ease;
}

.apayo-cal__screen.is-active {
	display: block;
}

@keyframes apayo-fade {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ---------- KROK 1: kalendarz + sloty ---------- */

.apayo-cal__split {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	gap: 28px;
}

.apayo-cal__split {
	position: relative;
}

.apayo-cal__pane--calendar {
	grid-column: 1;
	padding-right: 8px;
	/*
	border-right: 1px solid var(--apayo-border);
	*/
}

.apayo-cal__pane--slots {
	grid-column: 3;
	padding-left: 8px;
}

.apayo-cal__cal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.apayo-cal__cal-title {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.apayo-cal__nav {
	width: 28px;
	height: 28px;
	border: none;
	background: none;
	color: var(--apayo-text);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border-radius: 50%;
	transition: background 0.15s ease;
}

.apayo-cal__nav:hover {
	background: var(--apayo-bg-soft);
}

.apayo-cal__nav:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.apayo-cal__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	margin-bottom: 6px;
}

.apayo-cal__weekdays span {
	text-align: center;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--apayo-text-soft);
	padding-bottom: 8px;
}

.apayo-cal__days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	grid-auto-rows: 40px;
	row-gap: 2px;
}

.apayo-cal__day {
	border: none;
	background: none;
	font-size: 14.5px;
	color: var(--apayo-text);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0 auto;
	border-radius: 50%;
	transition: background 0.15s ease, color 0.15s ease;
}

.apayo-cal__day:hover:not(:disabled) {
	background: var(--apayo-bg-soft);
}

.apayo-cal__day.is-outside {
	color: var(--apayo-text-faint);
}

.apayo-cal__day.is-today:not(.is-selected) {
	font-weight: 700;
	box-shadow: inset 0 0 0 1px var(--apayo-border-strong);
}

.apayo-cal__day.is-selected {
	background: var(--apayo-navy);
	color: #fff;
	font-weight: 600;
}

.apayo-cal__day:disabled {
	color: var(--apayo-text-faint);
	cursor: not-allowed;
	pointer-events: none;
}

.apayo-cal__split .apayo-cal__day[disabled], .apayo-cal__split .apayo-cal__day:disabled {
	background: #f7f8fa;
}

.apayo-cal__split .apayo-cal__day.is-selected {
	background: #bfa95f;
}

.apayo-cal__day:hover:not(:disabled) {
	background: #bfa95f;
}

.apayo-cal__nav svg {
	position: absolute;
}

.apayo-cal__slots-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 18px;
	min-height: 22px;
}

.apayo-cal__slots button.apayo-cal__slot {
	padding: 8px;
}

.apayo-cal__slots button.apayo-cal__slot:hover, .apayo-cal__slots button.apayo-cal__slot is-selected {
	background: #bfa95f !important;
}

.apayo-cal__slots {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 10px;
	align-content: start;
}

.apayo-cal__hint {
	grid-column: 1 / -1;
	font-size: 13.5px;
	color: var(--apayo-text-soft);
	line-height: 1.5;
	margin: 4px 0 0;
}

.apayo-cal__slot {
	border: none;
	background: #fff;
	border-radius: var(--apayo-radius-md);
	padding: 12px 8px;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--apayo-text);
	cursor: pointer;
	text-align: center;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

button.apayo-cal__btn {
	border: none;
}

.apayo-cal__slot:hover:not(:disabled) {
	border-color: var(--apayo-border-strong);
	background: var(--apayo-bg-soft);
}

.apayo-cal__slot.is-selected {
	background: #bfa95f !important;
	border-color: var(--apayo-navy);
	color: #fff;
}

.apayo-cal__slot:disabled {
	color: var(--apayo-text-faint);
	background: var(--apayo-bg-soft);
	cursor: not-allowed;
	text-decoration: line-through;
}

/* ---------- KROK 2: formularz ---------- */

.apayo-cal__screen-title {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 18px;
}

.apayo-cal__summary-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--apayo-bg-soft);
	border: 1px solid var(--apayo-border);
	border-radius: 999px;
	padding: 8px 14px;
	font-size: 13.5px;
	color: var(--apayo-text);
	margin-bottom: 22px;
}

.apayo-cal__step2-layout {
	display: grid;
	grid-template-columns: minmax(190px, 0.62fr) minmax(320px, 1fr);
	gap: 34px;
	align-items: start;
}

.apayo-cal__step2-side {
	padding-right: 8px;
	min-height: 100%;
	border-right: 1px solid var(--apayo-border);
}

.apayo-cal__step2-meta-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--apayo-text);
	margin-bottom: 10px;
}

.apayo-cal__step2-meta-value {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
	white-space: pre-line;
	margin-bottom: 26px;
}

.apayo-cal__change-term {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	border: none;
	background: none;
	font-size: 16px;
	font-weight: 600;
	color: #265f92;
	cursor: pointer;
}

.apayo-cal__change-term:hover {
	text-decoration: underline;
}

.apayo-cal__step2-main {
	padding-left: 8px;
}

.apayo-cal__form {
	display: grid;
	gap: 16px;
}

.apayo-cal__form--step2 {
	max-width: 100%;
	gap: 15px;
}

.apayo-cal__field {
	display: grid;
	gap: 6px;
}

.apayo-cal__field label {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--apayo-text);
}

.apayo-cal__field input,
.apayo-cal__field select,
.apayo-cal__field textarea {
	border: 1px solid var(--apayo-border-strong);
	border-radius: var(--apayo-radius-sm);
	padding: 11px 13px;
	font-size: 14.5px;
	font-family: inherit;
	color: var(--apayo-text);
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.apayo-cal__field input:focus,
.apayo-cal__field select:focus,
.apayo-cal__field textarea:focus {
	outline: none;
	border-color: var(--apayo-navy);
	box-shadow: 0 0 0 3px rgba(27, 42, 74, 0.12);
}

.apayo-cal__field textarea {
	resize: vertical;
}

.apayo-cal__field.has-error input,
.apayo-cal__field.has-error select,
.apayo-cal__field.has-error textarea {
	border-color: #d3433f;
}

.apayo-cal__btn--step2 {
	width: 100%;
	border-radius: 8px;
	padding: 13px 18px;
	margin-top: 4px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.apayo-cal__error {
	font-size: 12.5px;
	color: #d3433f;
	min-height: 1px;
}

/* ---------- KROK 3: podsumowanie ---------- */

.apayo-cal__review {
	display: grid;
	gap: 12px;
	margin: 0;
}

.apayo-cal__review div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--apayo-border);
	font-size: 14.5px;
}

.apayo-cal__review dt {
	color: var(--apayo-text-soft);
	font-weight: 500;
}

.apayo-cal__review dd {
	margin: 0;
	font-weight: 600;
	text-align: right;
}

.apayo-cal__success {
	text-align: center;
	padding: 8px 8px 0;
}

.apayo-cal__success-icon {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	border: 2px solid #c5a44c;
	background: #fff;
	color: #c5a44c;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}

.apayo-cal__success h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 26px;
}

.apayo-cal__success-datetime {
	display: inline-grid;
	gap: 12px;
	text-align: left;
	margin: 0 auto 24px;
}

.apayo-cal__success-row {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
}

.apayo-cal__success-row svg {
	color: #c5a44c;
	flex-shrink: 0;
}

.apayo-cal__success-note {
	max-width: 900px;
	margin: 0 auto;
	font-size: 14px;
	line-height: 1.38;
	color: #34363c;
}

.apayo-cal__success-note + .apayo-cal__success-note {
	margin-top: 4px;
}

.apayo-cal__btn--success {
	margin-top: 22px;
	width: min(100%, 420px);
	border-radius: 10px;
	padding: 14px 20px;
	font-size: 18px;
}

/* ---------- przyciski / stopka ---------- */

.apayo-cal__footer {
	display: flex;
	align-items: center;
	margin-top: 26px;
}

.apayo-cal__footer-spacer {
	flex: 1;
}

.apayo-cal__btn {
	border-radius: 999px;
	padding: 12px 24px;
	font-size: 14.5px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid transparent;
	transition: opacity 0.15s ease, background 0.15s ease;
}

.apayo-cal__btn--primary {
	background: var(--apayo-navy);
	color: #fff;
}

.apayo-cal__btn--primary:hover:not(:disabled) {
	opacity: 0.92;
}

.apayo-cal__btn--primary:disabled {
	background: var(--apayo-text-faint);
	cursor: not-allowed;
}

.apayo-cal__btn--ghost {
	background: #fff;
	color: var(--apayo-text);
	border-color: var(--apayo-border-strong);
}

.apayo-cal__btn--ghost:hover {
	background: var(--apayo-bg-soft);
}

.apayo-cal__lock-note {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--apayo-border);
	color: var(--apayo-text-soft);
	font-size: 13px;
}

.apayo-cal__lock-note svg {
	flex-shrink: 0;
}

/* ---------- responsywność ---------- */

@media (max-width: 600px) {
	.apayo-cal__split {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.apayo-cal__pane--calendar {
		border-right: none;
		border-bottom: 1px solid var(--apayo-border);
		padding-right: 0;
		padding-bottom: 18px;
	}

	.apayo-cal__pane--slots {
		grid-column: 1;
		padding-left: 0;
	}

	.apayo-cal__card {
		padding: 20px;
	}

	.apayo-cal__success h3 {
		font-size: 17px;
		margin-bottom: 18px;
	}

	.apayo-cal__success-row {
		font-size: 15px;
	}

	.apayo-cal__success-note {
		font-size: 13px;
	}

	.apayo-cal__step2-layout {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.apayo-cal__step2-side {
		border-right: none;
		border-bottom: 1px solid var(--apayo-border);
		padding-right: 0;
		padding-bottom: 16px;
	}

	.apayo-cal__step2-main {
		padding-left: 0;
	}

	.apayo-cal__review div {
		flex-direction: column;
		gap: 2px;
	}

	.apayo-cal__review dd {
		text-align: left;
	}
}
