/* ==========================================================================
   Rofa Booking
   Gaya dibuat mandiri dan diberi awalan .rofa- supaya tidak bertabrakan
   dengan tema WordPress yang dipakai situs.
   ========================================================================== */

.rofa-booking {
	--rofa-biru: #1c4ed8;
	--rofa-teks: #101828;
	--rofa-lembut: #667085;
	--rofa-garis: #e4e7ec;
	--rofa-latar: #f7f8fa;

	max-width: 900px;
	margin: 0 auto;
	color: var(--rofa-teks);
	font-size: 15px;
	line-height: 1.55;
}

.rofa-booking *,
.rofa-booking *::before,
.rofa-booking *::after { box-sizing: border-box; }

/* ------------------------------------------------------------- pencarian */

.rofa-cari {
	background: var(--rofa-latar);
	border: 1px solid var(--rofa-garis);
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 20px;
}

.rofa-baris {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
}

.rofa-kolom {
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex: 1 1 160px;
	min-width: 0;
}
.rofa-kolom.rofa-sempit { flex: 0 1 100px; }
.rofa-kolom > span { font-size: 13px; color: var(--rofa-lembut); }

.rofa-booking input,
.rofa-booking select,
.rofa-booking textarea {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--rofa-garis);
	border-radius: 6px;
	font: inherit;
	font-size: 14px;
	background: #fff;
	color: var(--rofa-teks);
}
.rofa-booking input:focus,
.rofa-booking select:focus,
.rofa-booking textarea:focus {
	outline: none;
	border-color: var(--rofa-biru);
	box-shadow: 0 0 0 3px rgba(28, 78, 216, .12);
}

.rofa-tombol {
	background: var(--rofa-biru);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 10px 20px;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	white-space: nowrap;
}
.rofa-tombol:hover { background: #1739a8; }
.rofa-tombol:disabled { opacity: .6; cursor: not-allowed; }
.rofa-tombol-besar { width: 100%; padding: 13px; font-size: 15px; margin-top: 8px; }

/* ---------------------------------------------------------------- kamar */

.rofa-kamar {
	display: flex;
	gap: 16px;
	align-items: stretch;
	border: 1px solid var(--rofa-garis);
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 12px;
	background: #fff;
}
.rofa-kamar-habis { opacity: .55; }

.rofa-kamar img {
	width: 150px;
	height: 110px;
	object-fit: cover;
	border-radius: 8px;
	flex: 0 0 150px;
}

.rofa-kamar-isi { flex: 1; min-width: 0; }
.rofa-kamar-isi h4 { margin: 0 0 4px; font-size: 16px; }
.rofa-kamar-isi p { margin: 0 0 4px; color: var(--rofa-lembut); font-size: 14px; }

.rofa-kamar-harga {
	flex: 0 0 190px;
	text-align: right;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
}
.rofa-harga { font-size: 19px; font-weight: 700; }
.rofa-kecil { font-size: 12.5px; color: var(--rofa-lembut); }

.rofa-pilih label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 12.5px;
	color: var(--rofa-lembut);
	align-items: flex-end;
}
.rofa-pilih select { width: 90px; }

.rofa-habis {
	font-size: 13px;
	color: #b42318;
	background: #fef3f2;
	border-radius: 6px;
	padding: 6px 10px;
}

/* ------------------------------------------------------------ data tamu */

.rofa-tamu {
	border: 1px solid var(--rofa-garis);
	border-radius: 10px;
	padding: 20px;
	margin-top: 20px;
	background: #fff;
}
.rofa-tamu h3 { margin: 0 0 14px; font-size: 17px; }
.rofa-tamu .rofa-baris { margin-bottom: 12px; }
.rofa-tamu > .rofa-kolom { margin-bottom: 12px; }

.rofa-ringkas-isi {
	background: var(--rofa-latar);
	border-radius: 8px;
	padding: 14px;
	margin: 16px 0 4px;
	font-size: 14px;
}
.rofa-total {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--rofa-garis);
	font-size: 17px;
	font-weight: 700;
}
.rofa-total span { font-size: 13px; font-weight: 400; color: var(--rofa-lembut); }

/* --------------------------------------------------------------- pesan */

.rofa-pesan {
	padding: 11px 14px;
	border-radius: 6px;
	font-size: 14px;
	margin-bottom: 16px;
	border: 1px solid;
}
.rofa-pesan.rofa-gagal  { background: #fef3f2; border-color: #fecdca; color: #b42318; }
.rofa-pesan.rofa-netral { background: #fffaeb; border-color: #fedf89; color: #b54708; }

.rofa-memuat { padding: 32px; text-align: center; color: var(--rofa-lembut); }

/* -------------------------------------------------------------- status */

.rofa-kartu {
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 20px;
	border: 1px solid;
	text-align: center;
}
.rofa-kartu h3 { margin: 0 0 6px; font-size: 18px; }
.rofa-kartu p { margin: 0; font-size: 14px; }
.rofa-kartu.rofa-lunas  { background: #ecfdf3; border-color: #abefc6; color: #067647; }
.rofa-kartu.rofa-tunggu { background: #fffaeb; border-color: #fedf89; color: #b54708; }
.rofa-kartu.rofa-gagal  { background: #fef3f2; border-color: #fecdca; color: #b42318; }
.rofa-kartu.rofa-netral { background: var(--rofa-latar); border-color: var(--rofa-garis); }

table.rofa-rincian {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
table.rofa-rincian th,
table.rofa-rincian td {
	text-align: left;
	padding: 10px 0;
	border-bottom: 1px solid var(--rofa-garis);
	vertical-align: top;
}
table.rofa-rincian th {
	color: var(--rofa-lembut);
	font-weight: 400;
	width: 40%;
}

/* --------------------------------------------------------------- ponsel */

@media (max-width: 640px) {
	.rofa-kamar { flex-direction: column; }
	.rofa-kamar img { width: 100%; flex: none; height: 170px; }
	.rofa-kamar-harga { flex: none; text-align: left; }
	.rofa-pilih label { align-items: flex-start; }
	.rofa-kolom, .rofa-kolom.rofa-sempit { flex: 1 1 100%; }
	.rofa-tombol { width: 100%; }
	table.rofa-rincian th { width: 45%; }
}
