.qoss-wc-buy-link {
	margin-top: 0.75rem;
}
.qoss-wc-buy-link .button {
	display: inline-block;
}

/* Calendar booking widget (product page) */
.qoss-wc-booking-calendar {
	margin: 1rem 0 1.5rem;
	max-width: 320px;
}
.qoss-wc-booking-label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.4rem;
}
.qoss-wc-booking-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.4rem;
}
.qoss-wc-booking-nav button {
	background: none;
	border: 1px solid #ccc;
	border-radius: 4px;
	cursor: pointer;
	padding: 0.2rem 0.6rem;
	font-size: 1rem;
	line-height: 1.2;
}
.qoss-wc-booking-month-label {
	font-weight: 600;
}
.qoss-wc-booking-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.qoss-wc-booking-table th {
	font-weight: 500;
	font-size: 0.8rem;
	color: #666;
	padding: 0.25rem 0;
	text-align: center;
}
.qoss-wc-booking-table td {
	text-align: center;
	padding: 0.4rem 0;
	font-size: 0.9rem;
	border: 1px solid transparent;
}
.qoss-wc-booking-day.is-available {
	cursor: pointer;
	border-radius: 4px;
	background: #eaf6ea;
	color: #1a7f37;
}
.qoss-wc-booking-day.is-available:hover {
	background: #cdeccd;
}
.qoss-wc-booking-day.is-selected {
	background: #1a7f37 !important;
	color: #fff !important;
}
.qoss-wc-booking-day.is-unavailable {
	color: #c3c4c7;
}
.qoss-wc-booking-loading {
	font-size: 0.85rem;
	color: #666;
}
.qoss-wc-booking-selected {
	font-weight: 600;
	margin-top: 0.4rem;
}

/* Personalised arrangement toggle (product page) - CSS-only show/hide,
   keyed off which radio is :checked, so it needs no JavaScript in either
   booking mode. */
.qoss-wc-booking-choice {
	margin-bottom: 0.75rem;
}
.qoss-wc-booking-choice label {
	display: inline-block;
	font-weight: normal;
	margin-right: 18px;
}
.qoss-wc-booking-personalised-note {
	display: none;
	margin: 1rem 0 1.5rem;
	max-width: 320px;
}
.qoss-wc-booking-personalised-note label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.4rem;
}
.qoss-wc-booking-personalised-note textarea {
	width: 100%;
}
.qoss-wc-booking-choice-personalised:checked ~ .qoss-wc-booking-calendar,
.qoss-wc-booking-choice-personalised:checked ~ .qoss-wc-booking-sessions {
	display: none;
}
.qoss-wc-booking-choice-personalised:checked ~ .qoss-wc-booking-personalised-note {
	display: block;
}

/* Multi-day session booking (product page) */
.qoss-wc-booking-sessions {
	margin: 1rem 0 1.5rem;
	max-width: 320px;
}
.qoss-wc-booking-sessions select {
	width: 100%;
}
.qoss-wc-booking-no-sessions {
	font-size: 0.85rem;
	color: #666;
	font-style: italic;
}

/* Team bookings (product page) */
.qoss-wc-booking-team-fields {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px dashed #ccc;
	max-width: 320px;
}
.qoss-wc-booking-team-note {
	font-size: 0.85rem;
	color: #666;
	margin-bottom: 0.5rem;
}
.qoss-wc-booking-team-fields label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.3rem;
}
.qoss-wc-booking-team-fields input[type="text"],
.qoss-wc-booking-team-fields textarea {
	width: 100%;
	margin-bottom: 0.75rem;
}

/* Invoice download link (order-received / My Account / admin order) */
.qoss-wc-invoice-link {
	margin: 0.75rem 0;
}

/* Admin: deposits & bookings overview */
.qoss-wc-status-unpaid {
	color: #b32d2e;
	font-weight: 600;
}
.qoss-wc-status-paid {
	color: #1a7f37;
	font-weight: 600;
}
