.tcfac-rooms,
.tcfac-booking-form,
.tcfac-customer-portal {
	display: grid;
	gap: 18px;
}

.tcfac-room {
	border: 1px solid #d8dee4;
	border-radius: 8px;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(160px, 260px) 1fr;
	padding: 16px;
}

.tcfac-room img {
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tcfac-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.tcfac-form-grid label,
.tcfac-panel label {
	display: grid;
	gap: 6px;
}

.tcfac-form-grid input,
.tcfac-form-grid select,
.tcfac-form-grid textarea,
.tcfac-panel input {
	width: 100%;
}

.tcfac-wide {
	grid-column: 1 / -1;
}

.tcfac-check {
	display: block;
	font-weight: 400;
}

.tcfac-check input {
	width: auto;
}

.tcfac-button {
	background: #14532d;
	border: 0;
	border-radius: 6px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	margin-top: 12px;
	padding: 10px 14px;
	text-decoration: none;
}

.tcfac-alert {
	border-radius: 6px;
	padding: 12px;
}

.tcfac-alert-error {
	background: #fee2e2;
	color: #7f1d1d;
}

.tcfac-alert-success {
	background: #dcfce7;
	color: #14532d;
}

.tcfac-customer-portal table {
	border-collapse: collapse;
	width: 100%;
}

.tcfac-customer-portal th,
.tcfac-customer-portal td {
	border: 1px solid #d8dee4;
	padding: 8px;
	text-align: left;
}

@media (max-width: 700px) {
	.tcfac-room {
		grid-template-columns: 1fr;
	}
}

