.price-list {
	padding-bottom: 159px;
	position: relative;
	background-color: var(--beige, #fdefda);
}

.price-list .divider_curves {
	color: var(--beige, #fdefda);
}

.price-list .tt-course-page__title {
	margin: 0 0 5px;
	font-size: 52px;
	line-height: 60px;
}

.price-list .price-list__subtitle {
	margin: 0 0 27px;
	font-size: 20px;
	line-height: 36px;
}

.price-list .price-list__au-pair-switch-container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	margin-bottom: 35px;
}

.price-list .price-list__au-pair-switch {
	background: #FFF;
	border-radius: 32px;
	display: flex;
	gap: 3px;
	align-items: center;
	cursor: pointer;
}

.price-list .price-list__au-pair-switch.active {
	background-color: var(--green, #1FA238);
}

.price-list .price-list__au-pair-switch-circle {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--DDEAF5, #DDEAF5);
	background: linear-gradient(180deg, #FFF 0%, #A2C9E1 100%);
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
}

.price-list .price-list__au-pair-switch.active .price-list__au-pair-switch-circle {
	opacity: 0;
}

.price-list .price-list__au-pair-switch-discount {
	width: 42px;
	height: 42px;
	background: #FFF;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 20px;
	color: #DDEAF5;
}

.price-list .price-list__au-pair-switch.active .price-list__au-pair-switch-discount {
	color: var(--green, #1FA238);
	background-color: #DDF1E1;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
}

.price-list .price-list__au-pair-switch-label {
	color: #000;
	font-size: 14px;
	line-height: 20px;
	text-transform: uppercase;
	letter-spacing: 0.42px;
	font-weight: 600;
}

.price-list .price-list__section:not(:last-child) {
	margin-bottom: 68px;
}

.price-list .price-list__section h2 {
	margin: 0 0 17px;
	font-size: 28px;
	line-height: 36px;
}

.price-list .price-list__table,
.price-list .price-list__table th,
.price-list .price-list__table td {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.42px;
	color: #000;
}

.price-list .price-list__table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
}

.price-list .price-list__table th:first-child,
.price-list .price-list__table td:first-child {
	width: 560px;
}

.price-list .price-list__table th:not(:first-child),
.price-list .price-list__table td:not(:first-child) {
	width: calc((100% - 560px) / var(--price-list-visible-price-columns, 4));
}

.price-list .price-list__table th {
	padding: 32px 22px 9px 22px;
	background-color: var(--light-blue, #DDEAF5);
	border-right: 1px solid var(--blue, #1A75BB);
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 80px);
	z-index: 3;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);
}

.price-list .price-list__table thead th:first-child {
	border-top-left-radius: 15px;
	text-align: left;
}

.price-list .price-list__table thead th:last-child {
	border-top-right-radius: 15px;
}

.price-list .price-list__table thead th:not(:first-child) {
	text-align: right;
}

.price-list,
.price-list .container,
.price-list .price-list__section {
	overflow: visible;
}

/* Default mode: regular prices only (hide au pair columns). */
.price-list.regular_prices .price-list__table th:nth-child(4),
.price-list.regular_prices .price-list__table th:nth-child(5),
.price-list.regular_prices .price-list__table td:nth-child(4),
.price-list.regular_prices .price-list__table td:nth-child(5) {
	display: none;
}

/* When columns 4/5 are hidden, column 3 becomes the visible last header cell. */
.price-list.regular_prices .price-list__table thead th:nth-child(3) {
	border-top-right-radius: 15px;
}

/* Keep normal full table behaviour when au-pair mode is enabled later. */
.price-list.au_pair_prices .price-list__table th:nth-child(4),
.price-list.au_pair_prices .price-list__table th:nth-child(5),
.price-list.au_pair_prices .price-list__table td:nth-child(4),
.price-list.au_pair_prices .price-list__table td:nth-child(5) {
	display: table-cell;
}

.price-list.au_pair_prices .price-list__table th:nth-child(2),
.price-list.au_pair_prices .price-list__table th:nth-child(3),
.price-list.au_pair_prices .price-list__table td:nth-child(2),
.price-list.au_pair_prices .price-list__table td:nth-child(3) {
	display: none;
}

.price-list.regular_prices,
.price-list.au_pair_prices {
	--price-list-visible-price-columns: 2 !important;
}

.price-list .price-list__table td {
	padding: 13px 17px;
	background-color: #fff;
	transition: background-color 0.25s ease, border-color 0.25s ease;
	border-bottom: 1px solid var(--orange, #F3950B);
	border-right: 1px solid var(--orange, #F3950B);
}

.price-list .price-list__table tbody td:not(:first-child) {
	text-align: right;
	font-weight: 600;
}

.price-list .price-list__table th:first-child,
.price-list .price-list__table td:first-child {
	padding-right: 11px;
}

.price-list .price-list__level-label {
	display: inline-block;
	padding: 13px 1px;
	border-radius: 80px;
	font-size: 14px;
	line-height: 29px;
	font-weight: 700;
	letter-spacing: 0;
	background-color: var(--light-blue, #DDEAF5);
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	white-space: nowrap;
}

.price-list .price-list__course-cell {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.price-list .price-list__level-label-wrap {
	line-height: 1;
}

.price-list .price-list__course-cell-content {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	padding-top: 2px;
}

.price-list .price-list__course-cell-text {
	min-width: 0;
}

.price-list .price-list__more-info-icon {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.price-list .price-list__more-info-icon svg {
	display: block;
}

.price-list .price-list__row-title {
	margin-bottom: 6px;
	font-weight: 700;
}

.price-list .price-list__row-title a {
	color: #000;
	text-decoration: none;
}

.price-list .price-list__row-title a:hover,
.price-list .price-list__row-title a:focus {
	color: #000;
	text-decoration: none;
}

.price-list .price-list__row-description p {
	margin: 0;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.42px;
}

.price-list .price-list__table tbody tr {
	cursor: pointer;
}

.price-list .price-list__table tbody tr:hover td {
	background-color: var(--light-green, #DCF1E0);
	border-right-color: var(--green, #1FA238);
	border-bottom-color: var(--light-green, #DCF1E0);
}

.price-list .price-list__table tbody td:last-child {
	border-right: none;
}

.price-list .price-list__table thead th:last-child {
	border-right: none;
}

.price-list .price-list__table tbody tr:last-child td {
	border-bottom: none;
}

.price-list .price-list__table tbody tr .price-list__level-label {
	transition: background-color 0.25s ease, color 0.25s ease;
}

.price-list .price-list__table tbody tr:hover .price-list__level-label {
	background-color: var(--green, #1FA238);
	color: #fff;
}

.price-list .price-list__table tbody tr:hover .price-list__more-info-icon {
	opacity: 1;
	visibility: visible;
}

.price-list.regular_prices .price-list__table tbody td:nth-child(3) {
	border-right: none;
}

.price-list.regular_prices .price-list__table thead th:nth-child(3) {
	border-right: none;
}

.price-list .price-list__table.empty_regular_ftf_price th:nth-child(2),
.price-list .price-list__table.empty_regular_ftf_price td:nth-child(2) {
	display: none;
}

.price-list .price-list__table.empty_regular_online_price th:nth-child(3),
.price-list .price-list__table.empty_regular_online_price td:nth-child(3) {
	display: none;
}

.price-list .price-list__table.empty_aup_ftf_price th:nth-child(4),
.price-list .price-list__table.empty_aup_ftf_price td:nth-child(4) {
	display: none;
}

.price-list .price-list__table.empty_aup_online_price th:nth-child(5),
.price-list .price-list__table.empty_aup_online_price td:nth-child(5) {
	display: none;
}


.price-list .price-list__discounts-title {
	font-size: 28px;
	line-height: 36px;
	margin-top: 68px;
	margin-bottom: 26px;
	font-weight: 700;
	color: #000;
}

.price-list .price-list__discounts {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.price-list .price-list__discount {
	width: 428px;
	max-width: 100%;
	box-sizing: border-box;
	padding: 37px 29px 27px;
	border: 4px dashed var(--orange, #F3950B);
	border-radius: 15px;
	background-color: #fff;
}

.price-list .price-list__discount-code {
	position: relative;
	font-weight: 700;
	font-size: 20px;
	line-height: 29px;
	margin-bottom: 10px;
	color: #000;
	background-color: var(--light-blue, #DDEAF5);
	border-radius: 10px;
	text-align: center;
	padding: 20px 47px;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.price-list .price-list__discount-code::after {
	content: "";
	position: absolute;
	right: 17px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-color: #0A2636;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M22.5 18.75H13.5C13.0875 18.75 12.75 18.4125 12.75 18V6C12.75 5.5875 13.0875 5.25 13.5 5.25H19.7578C19.9547 5.25 20.1469 5.32969 20.2875 5.47031L23.0297 8.2125C23.1703 8.35312 23.25 8.54531 23.25 8.74219V18C23.25 18.4125 22.9125 18.75 22.5 18.75ZM13.5 21H22.5C24.1547 21 25.5 19.6547 25.5 18V8.74219C25.5 7.94531 25.1859 7.18125 24.6234 6.61875L21.8766 3.87656C21.3141 3.31406 20.5547 3 19.7578 3H13.5C11.8453 3 10.5 4.34531 10.5 6V18C10.5 19.6547 11.8453 21 13.5 21ZM7.5 9C5.84531 9 4.5 10.3453 4.5 12V24C4.5 25.6547 5.84531 27 7.5 27H16.5C18.1547 27 19.5 25.6547 19.5 24V23.25H17.25V24C17.25 24.4125 16.9125 24.75 16.5 24.75H7.5C7.0875 24.75 6.75 24.4125 6.75 24V12C6.75 11.5875 7.0875 11.25 7.5 11.25H8.25V9H7.5Z' fill='black'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M22.5 18.75H13.5C13.0875 18.75 12.75 18.4125 12.75 18V6C12.75 5.5875 13.0875 5.25 13.5 5.25H19.7578C19.9547 5.25 20.1469 5.32969 20.2875 5.47031L23.0297 8.2125C23.1703 8.35312 23.25 8.54531 23.25 8.74219V18C23.25 18.4125 22.9125 18.75 22.5 18.75ZM13.5 21H22.5C24.1547 21 25.5 19.6547 25.5 18V8.74219C25.5 7.94531 25.1859 7.18125 24.6234 6.61875L21.8766 3.87656C21.3141 3.31406 20.5547 3 19.7578 3H13.5C11.8453 3 10.5 4.34531 10.5 6V18C10.5 19.6547 11.8453 21 13.5 21ZM7.5 9C5.84531 9 4.5 10.3453 4.5 12V24C4.5 25.6547 5.84531 27 7.5 27H16.5C18.1547 27 19.5 25.6547 19.5 24V23.25H17.25V24C17.25 24.4125 16.9125 24.75 16.5 24.75H7.5C7.0875 24.75 6.75 24.4125 6.75 24V12C6.75 11.5875 7.0875 11.25 7.5 11.25H8.25V9H7.5Z' fill='black'/%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	transition: background-color 0.3s ease;
}

.price-list .price-list__discount-code:hover::after {
	background-color: var(--green, #1FA238);
}

/* Copied feedback tooltip */
.price-list .price-list__discount-code::before {
	content: "Copied!";
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -100%);
	background-color: var(--green, #1FA238);
	color: #fff;
	padding: 5px 10px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 600;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	pointer-events: none;
}

.price-list .price-list__discount-code.copied::before {
	opacity: 1;
	visibility: visible;
	top: -10px;
}

.price-list .price-list__discount-description {
	font-size: 18px;
	line-height: 28px;
	color: #000;
	margin-top: 21px;
}
