/**
 * Rosetta Booking Suite — Public (front-end) styles
 * Matches the Rosetta Pyramids Inn theme's brand tokens (wood/beige/gold)
 * so the cart and booking widget never look like a bolted-on plugin.
 */

.rosetta-add-to-cart-form,
.rosetta-cart {
	font-family: 'Work Sans', sans-serif;
	color: #251A12;
}

.rosetta-form-row {
	margin-bottom: 14px;
}
.rosetta-form-row label {
	display: block;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #B8892E;
	font-weight: 600;
	margin-bottom: 6px;
}
.rosetta-form-row input,
.rosetta-form-row select {
	width: 100%;
	border: 1px solid rgba(37,26,18,0.14);
	border-radius: 6px;
	padding: 11px 14px;
	font-size: 14px;
	background: #fff;
}
.rosetta-form-row input:focus,
.rosetta-form-row select:focus {
	outline: 2px solid #B8892E;
	outline-offset: 1px;
}

.rosetta-add-to-cart-btn,
.rosetta-checkout-btn {
	background: #B8892E;
	color: #fff;
	font-weight: 700;
	border: none;
	border-radius: 6px;
	padding: 13px 26px;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
	width: 100%;
}
.rosetta-add-to-cart-btn:hover,
.rosetta-checkout-btn:hover {
	background: #3E2415;
	transform: translateY(-1px);
}
.rosetta-add-to-cart-btn:disabled,
.rosetta-checkout-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.rosetta-form-message {
	font-size: 13.5px;
	margin-top: 10px;
	min-height: 1.2em;
}
.rosetta-form-message.is-error { color: #8C2F2F; }
.rosetta-form-message.is-success { color: #3F6B3F; }

/* ---- Cart table ---- */
.rosetta-cart-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 28px;
}
.rosetta-cart-table th,
.rosetta-cart-table td {
	text-align: left;
	padding: 12px 10px;
	border-bottom: 1px solid rgba(37,26,18,0.1);
	font-size: 14px;
}
.rosetta-cart-table thead th {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #B8892E;
}
.rosetta-remove-cart-item {
	background: none;
	border: 1px solid rgba(140,47,47,0.3);
	color: #8C2F2F;
	border-radius: 4px;
	width: 28px;
	height: 28px;
	cursor: pointer;
	line-height: 1;
}
.rosetta-cart-empty {
	text-align: center;
	padding: 40px 20px;
	color: #7a6650;
	font-style: italic;
}

.rosetta-checkout-result {
	text-align: center;
	padding: 50px 20px;
	border-radius: 8px;
	margin-bottom: 24px;
}
.rosetta-checkout-success {
	background: #EFE4CB;
	border: 1px solid #B8892E;
}
.rosetta-checkout-cancelled {
	background: #FAF5E8;
	border: 1px dashed rgba(37,26,18,0.2);
}
