:root {
	--rs-primary: #600033;
	--rs-primary-dark: #430024;
	--rs-secondary: #f8efe9;
	--rs-text: #1f1f1f;
	--rs-muted: #666666;
	--rs-white: #ffffff;
	--rs-border: #eeeeee;
	--rs-radius: 14px;
	--rs-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
}

/* Global */
body {
	color: var(--rs-text);
	background: var(--rs-white);
}

a {
	color: var(--rs-primary);
}

.rs-container {
	width: min(1200px, 92%);
	margin-left: auto;
	margin-right: auto;
}

.rs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--rs-primary);
	color: var(--rs-white) !important;
	padding: 14px 24px;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-btn:hover {
	background: var(--rs-primary-dark);
	transform: translateY(-2px);
}

.rs-btn-outline {
	background: transparent;
	color: var(--rs-primary) !important;
	border: 1px solid var(--rs-primary);
}

.rs-btn-outline:hover {
	background: var(--rs-primary);
	color: var(--rs-white) !important;
}

/* Homepage reusable sections */
.rs-section {
	padding: 90px 0;
}

.rs-section-light {
	background: var(--rs-secondary);
}

.rs-section-title {
	font-size: clamp(34px, 4vw, 58px);
	line-height: 1.1;
	margin-bottom: 18px;
	color: var(--rs-text);
}

.rs-section-text {
	font-size: 18px;
	line-height: 1.7;
	color: var(--rs-muted);
	max-width: 720px;
}

/* Cards */
.rs-card {
	background: var(--rs-white);
	border: 1px solid var(--rs-border);
	border-radius: var(--rs-radius);
	box-shadow: var(--rs-shadow);
	padding: 28px;
}

/* Mobile */
@media (max-width: 767px) {
	.rs-section {
		padding: 55px 0;
	}

	.rs-section-title {
		font-size: 34px;
	}

	.rs-section-text {
		font-size: 16px;
	}
}
/* =========================================================
   Restaurant SaaS Homepage
========================================================= */

.rs-homepage {
	overflow: hidden;
}

/* Hero */
.rs-hero {
	position: relative;
	padding: 110px 0 80px;
	background:
		radial-gradient(circle at top left, rgba(96, 0, 51, 0.12), transparent 34%),
		linear-gradient(135deg, #fff7f1 0%, #ffffff 58%, #f9edf3 100%);
}

.rs-hero-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 60px;
	align-items: center;
}

.rs-eyebrow {
	display: inline-flex;
	margin-bottom: 18px;
	color: var(--rs-primary);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rs-eyebrow-light {
	color: #ffd6e8;
}

.rs-hero-content h1 {
	max-width: 720px;
	margin: 0 0 24px;
	color: var(--rs-text);
	font-size: clamp(44px, 5.5vw, 76px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.rs-hero-content p {
	max-width: 620px;
	margin: 0 0 34px;
	color: var(--rs-muted);
	font-size: 19px;
	line-height: 1.75;
}

.rs-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

.rs-hero-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 520px;
	margin-top: 42px;
}

.rs-hero-stats div {
	padding: 18px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(96, 0, 51, 0.08);
}

.rs-hero-stats strong {
	display: block;
	margin-bottom: 4px;
	color: var(--rs-primary);
	font-size: 26px;
	line-height: 1;
}

.rs-hero-stats span {
	color: var(--rs-muted);
	font-size: 13px;
}

.rs-hero-image-wrap {
	position: relative;
	min-height: 520px;
}

.rs-hero-image-card {
	position: relative;
	overflow: hidden;
	height: 520px;
	border-radius: 34px;
	box-shadow: 0 30px 80px rgba(96, 0, 51, 0.18);
}

.rs-hero-image-card::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.28));
}

.rs-hero-image-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rs-floating-card {
	position: absolute;
	z-index: 2;
	width: 210px;
	padding: 18px 20px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
	backdrop-filter: blur(14px);
}

.rs-floating-card strong {
	display: block;
	margin-bottom: 4px;
	color: var(--rs-primary);
	font-size: 17px;
}

.rs-floating-card span {
	color: var(--rs-muted);
	font-size: 13px;
}

.rs-floating-card-top {
	top: 54px;
	left: -32px;
}

.rs-floating-card-bottom {
	right: -26px;
	bottom: 54px;
}

/* Search Section */
.rs-search-section {
	position: relative;
	z-index: 4;
	margin-top: -36px;
	padding-bottom: 40px;
}

.rs-search-box {
	padding: 32px;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 24px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}

.rs-search-box h2 {
	margin: 0 0 8px;
	color: var(--rs-text);
	font-size: 30px;
}

.rs-search-box p {
	margin: 0 0 22px;
	color: var(--rs-muted);
}

.rs-search-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	margin-bottom: 20px;
}

.rs-search-form input {
	width: 100%;
	min-height: 56px;
	padding: 0 18px;
	border: 1px solid #e8e0e4;
	border-radius: 999px;
	outline: none;
	font-size: 16px;
}

.rs-search-form input:focus {
	border-color: var(--rs-primary);
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08);
}

.rs-search-form button {
	min-height: 56px;
	padding: 0 28px;
	color: #ffffff;
	background: var(--rs-primary);
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
}

.rs-category-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.rs-category-pills a {
	display: inline-flex;
	padding: 9px 15px;
	color: var(--rs-primary);
	background: #fff4f9;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

/* Section Head */
.rs-section-head {
	max-width: 760px;
	margin-bottom: 42px;
}

.rs-section-head-between {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 25px;
	max-width: none;
}

.rs-section-title {
	margin-top: 0;
}

.rs-text-link {
	color: var(--rs-primary);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

/* How It Works */
.rs-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.rs-step-card {
	position: relative;
	padding: 34px;
	background: #ffffff;
	border: 1px solid var(--rs-border);
	border-radius: 22px;
	box-shadow: var(--rs-shadow);
	transition: all 0.25s ease;
}

.rs-step-card:hover {
	transform: translateY(-6px);
}

.rs-step-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 24px;
	color: #ffffff;
	background: var(--rs-primary);
	border-radius: 16px;
	font-size: 20px;
	font-weight: 800;
}

.rs-step-card h3 {
	margin: 0 0 12px;
	font-size: 24px;
}

.rs-step-card p {
	margin: 0;
	color: var(--rs-muted);
	line-height: 1.7;
}

/* Restaurants */
.rs-restaurant-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.rs-restaurant-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--rs-border);
	border-radius: 24px;
	box-shadow: var(--rs-shadow);
	transition: all 0.25s ease;
}

.rs-restaurant-card:hover {
	transform: translateY(-6px);
}

.rs-restaurant-card img {
	width: 100%;
	height: 230px;
	object-fit: cover;
	display: block;
}

.rs-restaurant-body {
	padding: 24px;
}

.rs-restaurant-body span {
	display: block;
	margin-bottom: 8px;
	color: var(--rs-primary);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.rs-restaurant-body h3 {
	margin: 0 0 8px;
	font-size: 24px;
}

.rs-restaurant-body p {
	margin: 0 0 18px;
	color: var(--rs-muted);
}

.rs-restaurant-body a {
	display: inline-flex;
	color: var(--rs-primary);
	font-weight: 800;
	text-decoration: none;
}

/* Food Categories */
.rs-food-category-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 18px;
}

.rs-food-category-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid var(--rs-border);
	border-radius: 22px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
	text-align: center;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-food-category-card:hover {
	transform: translateY(-5px);
	border-color: rgba(96, 0, 51, 0.22);
}

.rs-food-category-card span {
	margin-bottom: 12px;
	font-size: 38px;
}

.rs-food-category-card strong {
	color: var(--rs-text);
	font-size: 17px;
}

/* Owner CTA */
.rs-owner-section {
	padding: 95px 0;
	color: #ffffff;
	background:
		radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 30%),
		linear-gradient(135deg, #600033 0%, #31001a 100%);
}

.rs-owner-grid {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 60px;
	align-items: center;
}

.rs-owner-section h2 {
	margin: 0 0 22px;
	color: #ffffff;
	font-size: clamp(36px, 4vw, 58px);
	line-height: 1.05;
	letter-spacing: -0.03em;
}

.rs-owner-section p {
	max-width: 640px;
	margin: 0 0 32px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 18px;
	line-height: 1.75;
}

.rs-btn-light {
	color: var(--rs-primary) !important;
	background: #ffffff;
}

.rs-btn-light:hover {
	color: var(--rs-primary) !important;
	background: #ffe7f3;
}

.rs-owner-features {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.rs-owner-features div {
	padding: 24px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 20px;
	backdrop-filter: blur(14px);
}

.rs-owner-features strong {
	display: block;
	margin-bottom: 8px;
	color: #ffffff;
	font-size: 19px;
}

.rs-owner-features span {
	color: rgba(255, 255, 255, 0.75);
	line-height: 1.6;
}

/* Final CTA */
.rs-final-cta {
	padding: 90px 0;
	text-align: center;
	background: #fff7f1;
}

.rs-final-cta h2 {
	max-width: 780px;
	margin: 0 auto 16px;
	color: var(--rs-text);
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.rs-final-cta p {
	max-width: 640px;
	margin: 0 auto 30px;
	color: var(--rs-muted);
	font-size: 18px;
	line-height: 1.7;
}

.rs-final-cta .rs-hero-actions {
	justify-content: center;
}

/* Responsive */
@media (max-width: 1024px) {
	.rs-hero-grid,
	.rs-owner-grid {
		grid-template-columns: 1fr;
	}

	.rs-hero-image-wrap {
		min-height: auto;
	}

	.rs-food-category-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 900px) {
	.rs-steps-grid,
	.rs-restaurant-grid {
		grid-template-columns: 1fr;
	}

	.rs-section-head-between {
		display: block;
	}
}

@media (max-width: 767px) {
	.rs-hero {
		padding: 70px 0 55px;
	}

	.rs-hero-content h1 {
		font-size: 42px;
	}

	.rs-hero-content p {
		font-size: 16px;
	}

	.rs-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.rs-btn {
		width: 100%;
	}

	.rs-hero-stats {
		grid-template-columns: 1fr;
	}

	.rs-hero-image-card {
		height: 360px;
		border-radius: 24px;
	}

	.rs-floating-card {
		position: static;
		width: auto;
		margin-top: 14px;
	}

	.rs-search-section {
		margin-top: 0;
		padding: 30px 0;
	}

	.rs-search-box {
		padding: 22px;
	}

	.rs-search-form {
		grid-template-columns: 1fr;
	}

	.rs-search-form button {
		width: 100%;
	}

	.rs-food-category-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.rs-owner-features {
		grid-template-columns: 1fr;
	}

	.rs-restaurant-card img {
		height: 210px;
	}
}
/* =========================================================
   Restaurants Listing Page
========================================================= */

.rs-restaurants-page {
	overflow: hidden;
	background: #ffffff;
}

.rs-restaurants-hero {
	padding: 105px 0 90px;
	text-align: center;
	background:
		radial-gradient(circle at top left, rgba(96, 0, 51, 0.12), transparent 34%),
		linear-gradient(135deg, #fff7f1 0%, #ffffff 58%, #f9edf3 100%);
}

.rs-restaurants-hero h1 {
	max-width: 850px;
	margin: 0 auto 22px;
	color: var(--rs-text);
	font-size: clamp(44px, 5.5vw, 72px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
}

.rs-restaurants-hero p {
	max-width: 680px;
	margin: 0 auto;
	color: var(--rs-muted);
	font-size: 18px;
	line-height: 1.75;
}

/* Filter */
.rs-restaurant-filter-section {
	position: relative;
	z-index: 5;
	margin-top: -42px;
}

.rs-restaurant-filter {
	display: grid;
	grid-template-columns: 1.2fr 0.6fr auto;
	gap: 16px;
	align-items: end;
	padding: 28px;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 24px;
	box-shadow: 0 22px 65px rgba(0, 0, 0, 0.08);
}

.rs-filter-field label {
	display: block;
	margin-bottom: 9px;
	color: var(--rs-text);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.rs-filter-field input,
.rs-filter-field select {
	width: 100%;
	min-height: 56px;
	padding: 0 18px;
	color: var(--rs-text);
	background: #ffffff;
	border: 1px solid #e8e0e4;
	border-radius: 999px;
	outline: none;
	font-size: 15px;
}

.rs-filter-field input:focus,
.rs-filter-field select:focus {
	border-color: var(--rs-primary);
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08);
}

.rs-filter-action {
	display: flex;
	gap: 10px;
	align-items: center;
}

.rs-filter-action button {
	min-height: 56px;
	padding: 0 28px;
	color: #ffffff;
	background: var(--rs-primary);
	border: 0;
	border-radius: 999px;
	font-weight: 800;
	cursor: pointer;
}

.rs-filter-action button:hover {
	background: var(--rs-primary-dark);
}

.rs-filter-action a {
	color: var(--rs-primary);
	font-weight: 700;
	text-decoration: none;
}

/* Listing Head */
.rs-listing-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 34px;
}

.rs-listing-head h2 {
	margin: 0;
	color: var(--rs-text);
	font-size: clamp(30px, 3vw, 46px);
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.rs-btn-small {
	padding: 12px 20px;
	font-size: 14px;
}

/* Directory Grid */
.rs-directory-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.rs-directory-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--rs-border);
	border-radius: 24px;
	box-shadow: var(--rs-shadow);
	transition: all 0.25s ease;
}

.rs-directory-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.1);
}

.rs-directory-image {
	position: relative;
	display: block;
	overflow: hidden;
	height: 230px;
	text-decoration: none;
}

.rs-directory-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.rs-directory-card:hover .rs-directory-image img {
	transform: scale(1.05);
}

.rs-directory-image::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.4));
}

.rs-directory-image span {
	position: absolute;
	left: 18px;
	bottom: 18px;
	z-index: 2;
	display: inline-flex;
	padding: 8px 13px;
	color: #ffffff;
	background: rgba(96, 0, 51, 0.92);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rs-directory-body {
	padding: 24px;
}

.rs-directory-rating {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
	color: var(--rs-muted);
	font-size: 13px;
}

.rs-directory-rating span:first-child {
	color: var(--rs-primary);
	font-weight: 800;
}

.rs-directory-body h3 {
	margin: 0 0 9px;
	font-size: 25px;
	line-height: 1.2;
}

.rs-directory-body h3 a {
	color: var(--rs-text);
	text-decoration: none;
}

.rs-directory-body h3 a:hover {
	color: var(--rs-primary);
}

.rs-directory-address {
	margin: 0 0 12px;
	color: var(--rs-primary);
	font-size: 14px;
	font-weight: 700;
}

.rs-directory-desc {
	margin: 0 0 22px;
	color: var(--rs-muted);
	line-height: 1.7;
}

.rs-directory-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.rs-directory-actions .rs-btn {
	padding: 11px 18px;
	font-size: 14px;
}

.rs-empty-state {
	max-width: 620px;
	margin: 20px auto 0;
	padding: 50px 32px;
	background: #fff7f1;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 24px;
	text-align: center;
}

.rs-empty-state h3 {
	margin: 0 0 12px;
	color: var(--rs-text);
	font-size: 30px;
}

.rs-empty-state p {
	margin: 0 0 24px;
	color: var(--rs-muted);
}

.rs-restaurants-owner-cta {
	margin-top: 30px;
}

/* Responsive Restaurants Page */
@media (max-width: 1024px) {
	.rs-restaurant-filter {
		grid-template-columns: 1fr 1fr;
	}

	.rs-filter-action {
		grid-column: 1 / -1;
	}

	.rs-directory-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.rs-restaurants-hero {
		padding: 70px 0 65px;
	}

	.rs-restaurants-hero h1 {
		font-size: 42px;
	}

	.rs-restaurant-filter-section {
		margin-top: -25px;
	}

	.rs-restaurant-filter {
		grid-template-columns: 1fr;
		padding: 20px;
		border-radius: 20px;
	}

	.rs-filter-action {
		flex-direction: column;
		align-items: stretch;
	}

	.rs-filter-action button,
	.rs-filter-action a {
		width: 100%;
		text-align: center;
	}

	.rs-listing-head {
		display: block;
	}

	.rs-listing-head .rs-btn {
		margin-top: 18px;
	}

	.rs-directory-grid {
		grid-template-columns: 1fr;
	}

	.rs-directory-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.rs-directory-actions .rs-btn,
	.rs-directory-actions .rs-text-link {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
}
/* =========================================================
   Become a Partner Page
========================================================= */

.rs-partner-page {
	overflow: hidden;
	background: #ffffff;
}

/* Partner Hero */
.rs-partner-hero {
	padding: 110px 0 95px;
	background:
		radial-gradient(circle at top left, rgba(96, 0, 51, 0.14), transparent 34%),
		linear-gradient(135deg, #fff7f1 0%, #ffffff 58%, #f9edf3 100%);
}

.rs-partner-hero-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 60px;
	align-items: center;
}

.rs-partner-hero-content h1 {
	max-width: 760px;
	margin: 0 0 24px;
	color: var(--rs-text);
	font-size: clamp(44px, 5.5vw, 76px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.rs-partner-hero-content p {
	max-width: 650px;
	margin: 0 0 34px;
	color: var(--rs-muted);
	font-size: 19px;
	line-height: 1.75;
}

.rs-partner-hero-card {
	padding: 20px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 34px;
	box-shadow: 0 30px 80px rgba(96, 0, 51, 0.14);
	backdrop-filter: blur(14px);
}

.rs-partner-card-inner {
	padding: 42px;
	color: #ffffff;
	background:
		linear-gradient(135deg, rgba(96, 0, 51, 0.92), rgba(49, 0, 26, 0.96)),
		url("https://images.unsplash.com/photo-1552566626-52f8b828add9?auto=format&fit=crop&w=900&q=80");
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
	border-radius: 26px;
}

.rs-partner-card-inner span {
	display: inline-flex;
	margin-bottom: 18px;
	padding: 8px 14px;
	color: #600033;
	background: #ffffff;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.rs-partner-card-inner h3 {
	margin: 0 0 24px;
	color: #ffffff;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.rs-partner-card-inner ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-partner-card-inner li {
	position: relative;
	padding-left: 28px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 16px;
	line-height: 1.5;
}

.rs-partner-card-inner li::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "✓";
	color: #ffffff;
	font-weight: 900;
}

/* Benefits */
.rs-partner-benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.rs-partner-benefit-card {
	padding: 32px;
	background: #ffffff;
	border: 1px solid var(--rs-border);
	border-radius: 24px;
	box-shadow: var(--rs-shadow);
	transition: all 0.25s ease;
}

.rs-partner-benefit-card:hover {
	transform: translateY(-6px);
}

.rs-partner-benefit-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	margin-bottom: 22px;
	background: #fff4f9;
	border-radius: 18px;
	font-size: 30px;
}

.rs-partner-benefit-card h3 {
	margin: 0 0 12px;
	color: var(--rs-text);
	font-size: 24px;
}

.rs-partner-benefit-card p {
	margin: 0;
	color: var(--rs-muted);
	line-height: 1.7;
}

/* Process */
.rs-partner-process-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.rs-partner-process-card {
	position: relative;
	padding: 30px;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 24px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
}

.rs-partner-process-card span {
	display: inline-flex;
	margin-bottom: 20px;
	color: var(--rs-primary);
	font-size: 38px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.04em;
}

.rs-partner-process-card h3 {
	margin: 0 0 12px;
	color: var(--rs-text);
	font-size: 23px;
}

.rs-partner-process-card p {
	margin: 0;
	color: var(--rs-muted);
	line-height: 1.7;
}

/* Pricing / Commission */
.rs-partner-pricing-section {
	padding: 95px 0;
	background: #ffffff;
}

.rs-partner-pricing-grid {
	display: grid;
	grid-template-columns: 1fr 0.75fr;
	gap: 60px;
	align-items: center;
}

.rs-partner-pricing-grid h2 {
	margin: 0 0 20px;
	color: var(--rs-text);
	font-size: clamp(36px, 4vw, 58px);
	line-height: 1.06;
	letter-spacing: -0.03em;
}

.rs-partner-pricing-grid p {
	margin: 0;
	color: var(--rs-muted);
	font-size: 18px;
	line-height: 1.75;
}

.rs-partner-pricing-card {
	padding: 34px;
	color: #ffffff;
	background: linear-gradient(135deg, #600033 0%, #31001a 100%);
	border-radius: 28px;
	box-shadow: 0 24px 65px rgba(96, 0, 51, 0.2);
}

.rs-partner-pricing-card > span {
	display: inline-flex;
	margin-bottom: 16px;
	color: #ffd6e8;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.rs-partner-pricing-card h3 {
	margin: 0 0 12px;
	color: #ffffff;
	font-size: 64px;
	line-height: 1;
	letter-spacing: -0.05em;
}

.rs-partner-pricing-card p {
	margin: 0 0 24px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
}

.rs-partner-pricing-card ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-partner-pricing-card li {
	position: relative;
	padding-left: 26px;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.5;
}

.rs-partner-pricing-card li::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "✓";
	color: #ffffff;
	font-weight: 900;
}

/* Registration */
.rs-partner-registration-section {
	padding: 95px 0;
	background:
		radial-gradient(circle at top right, rgba(96, 0, 51, 0.09), transparent 35%),
		#fff7f1;
}

.rs-partner-registration-grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: 50px;
	align-items: start;
}

.rs-partner-registration-info {
	position: sticky;
	top: 110px;
}

.rs-partner-registration-info h2 {
	margin: 0 0 18px;
	color: var(--rs-text);
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.rs-partner-registration-info p {
	margin: 0 0 24px;
	color: var(--rs-muted);
	font-size: 18px;
	line-height: 1.75;
}

.rs-partner-note {
	display: grid;
	gap: 8px;
	padding: 20px;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 18px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
}

.rs-partner-note strong {
	color: var(--rs-primary);
}

.rs-partner-note span {
	color: var(--rs-muted);
	line-height: 1.6;
}

.rs-partner-form-card {
	padding: 34px;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 28px;
	box-shadow: 0 24px 65px rgba(0, 0, 0, 0.08);
}

/* Dokan Form Styling */
.rs-partner-form-card form {
	margin: 0;
}

.rs-partner-form-card input[type="text"],
.rs-partner-form-card input[type="email"],
.rs-partner-form-card input[type="password"],
.rs-partner-form-card input[type="tel"],
.rs-partner-form-card input[type="url"],
.rs-partner-form-card textarea,
.rs-partner-form-card select {
	width: 100%;
	min-height: 52px;
	padding: 12px 16px;
	color: var(--rs-text);
	background: #ffffff;
	border: 1px solid #e8e0e4;
	border-radius: 14px;
	outline: none;
	font-size: 15px;
}

.rs-partner-form-card textarea {
	min-height: 110px;
	resize: vertical;
}

.rs-partner-form-card input:focus,
.rs-partner-form-card textarea:focus,
.rs-partner-form-card select:focus {
	border-color: var(--rs-primary);
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08);
}

.rs-partner-form-card label {
	color: var(--rs-text);
	font-weight: 700;
}

.rs-partner-form-card button,
.rs-partner-form-card input[type="submit"],
.rs-partner-form-card .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 24px;
	color: #ffffff !important;
	background: var(--rs-primary) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 800;
	text-decoration: none !important;
	cursor: pointer;
}

.rs-partner-form-card button:hover,
.rs-partner-form-card input[type="submit"]:hover,
.rs-partner-form-card .button:hover {
	background: var(--rs-primary-dark) !important;
}

.rs-form-fallback {
	padding: 24px;
	background: #fff7f1;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 20px;
}

.rs-form-fallback h3 {
	margin: 0 0 12px;
	color: var(--rs-text);
	font-size: 26px;
}

.rs-form-fallback p {
	margin: 0 0 18px;
	color: var(--rs-muted);
	line-height: 1.7;
}

/* Responsive Partner Page */
@media (max-width: 1024px) {
	.rs-partner-hero-grid,
	.rs-partner-pricing-grid,
	.rs-partner-registration-grid {
		grid-template-columns: 1fr;
	}

	.rs-partner-benefits-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.rs-partner-process-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.rs-partner-registration-info {
		position: static;
	}
}

@media (max-width: 767px) {
	.rs-partner-hero {
		padding: 70px 0 65px;
	}

	.rs-partner-hero-content h1 {
		font-size: 42px;
	}

	.rs-partner-hero-content p {
		font-size: 16px;
	}

	.rs-partner-card-inner {
		padding: 28px;
	}

	.rs-partner-benefits-grid,
	.rs-partner-process-grid {
		grid-template-columns: 1fr;
	}

	.rs-partner-pricing-section,
	.rs-partner-registration-section {
		padding: 60px 0;
	}

	.rs-partner-pricing-card h3 {
		font-size: 48px;
	}

	.rs-partner-form-card {
		padding: 22px;
		border-radius: 22px;
	}
}
/* =========================================================
   Restaurant Owner Dashboard Page
========================================================= */

.rs-vendor-dashboard-page {
	overflow: hidden;
	background: #ffffff;
}

/* Hero */
.rs-vendor-dashboard-hero {
	padding: 110px 0 95px;
	background:
		radial-gradient(circle at top left, rgba(96, 0, 51, 0.14), transparent 34%),
		linear-gradient(135deg, #fff7f1 0%, #ffffff 58%, #f9edf3 100%);
}

.rs-vendor-dashboard-hero-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 60px;
	align-items: center;
}

.rs-vendor-dashboard-hero h1 {
	max-width: 760px;
	margin: 0 0 24px;
	color: var(--rs-text);
	font-size: clamp(44px, 5.5vw, 76px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.04em;
}

.rs-vendor-dashboard-hero p {
	max-width: 650px;
	margin: 0 0 34px;
	color: var(--rs-muted);
	font-size: 19px;
	line-height: 1.75;
}

.rs-vendor-dashboard-summary {
	padding: 20px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 34px;
	box-shadow: 0 30px 80px rgba(96, 0, 51, 0.14);
	backdrop-filter: blur(14px);
}

.rs-vendor-summary-card {
	padding: 42px;
	color: #ffffff;
	background:
		linear-gradient(135deg, rgba(96, 0, 51, 0.94), rgba(49, 0, 26, 0.96)),
		url("https://images.unsplash.com/photo-1556745757-8d76bdb6984b?auto=format&fit=crop&w=900&q=80");
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
	border-radius: 26px;
}

.rs-vendor-summary-card span {
	display: inline-flex;
	margin-bottom: 22px;
	padding: 8px 14px;
	color: #600033;
	background: #ffffff;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.rs-vendor-summary-card ul {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-vendor-summary-card li {
	position: relative;
	padding-left: 28px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 17px;
	line-height: 1.5;
}

.rs-vendor-summary-card li::before {
	position: absolute;
	left: 0;
	top: 0;
	content: "✓";
	color: #ffffff;
	font-weight: 900;
}

/* Feature Cards */
.rs-dashboard-feature-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.rs-dashboard-feature-card {
	padding: 30px;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 24px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
	transition: all 0.25s ease;
}

.rs-dashboard-feature-card:hover {
	transform: translateY(-6px);
}

.rs-dashboard-feature-card div {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 20px;
	background: #fff4f9;
	border-radius: 18px;
	font-size: 28px;
}

.rs-dashboard-feature-card h3 {
	margin: 0 0 12px;
	color: var(--rs-text);
	font-size: 22px;
}

.rs-dashboard-feature-card p {
	margin: 0;
	color: var(--rs-muted);
	line-height: 1.7;
}

/* Dashboard Section */
.rs-vendor-dashboard-section {
	padding: 95px 0;
	background: #ffffff;
}

.rs-dashboard-shell {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 30px;
	box-shadow: 0 24px 75px rgba(0, 0, 0, 0.08);
}

.rs-dashboard-intro {
	padding: 38px 42px;
	background:
		radial-gradient(circle at top right, rgba(96, 0, 51, 0.1), transparent 32%),
		#fff7f1;
	border-bottom: 1px solid rgba(96, 0, 51, 0.08);
}

.rs-dashboard-intro h2 {
	margin: 0 0 14px;
	color: var(--rs-text);
	font-size: clamp(30px, 3.5vw, 48px);
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.rs-dashboard-intro p {
	max-width: 760px;
	margin: 0;
	color: var(--rs-muted);
	font-size: 17px;
	line-height: 1.7;
}

.rs-dashboard-content {
	padding: 34px;
}

/* Message Cards */
.rs-dashboard-message {
	padding: 34px;
	background: #fff7f1;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 24px;
	text-align: center;
}

.rs-dashboard-message h3 {
	margin: 0 0 12px;
	color: var(--rs-text);
	font-size: 28px;
}

.rs-dashboard-message p {
	max-width: 680px;
	margin: 0 auto 24px;
	color: var(--rs-muted);
	line-height: 1.7;
}

/* Login Area */
.rs-login-grid {
	display: grid;
	grid-template-columns: 1fr 0.65fr;
	gap: 26px;
	align-items: stretch;
}

.rs-login-card,
.rs-register-card {
	padding: 32px;
	border-radius: 24px;
}

.rs-login-card {
	background: #ffffff;
	border: 1px solid var(--rs-border);
}

.rs-register-card {
	color: #ffffff;
	background: linear-gradient(135deg, #600033 0%, #31001a 100%);
}

.rs-login-card h3,
.rs-register-card h3 {
	margin: 0 0 12px;
	font-size: 28px;
	line-height: 1.15;
}

.rs-login-card h3 {
	color: var(--rs-text);
}

.rs-register-card h3 {
	color: #ffffff;
}

.rs-login-card p {
	margin: 0 0 24px;
	color: var(--rs-muted);
	line-height: 1.7;
}

.rs-register-card p {
	margin: 0 0 24px;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.7;
}

.rs-register-card span {
	display: inline-flex;
	margin-bottom: 14px;
	color: #ffd6e8;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* WooCommerce Login Form Styling */
.rs-login-card form,
.rs-dashboard-content form {
	margin: 0;
}

.rs-login-card input[type="text"],
.rs-login-card input[type="email"],
.rs-login-card input[type="password"],
.rs-login-card input[type="tel"],
.rs-login-card textarea,
.rs-dashboard-content input[type="text"],
.rs-dashboard-content input[type="email"],
.rs-dashboard-content input[type="password"],
.rs-dashboard-content input[type="tel"],
.rs-dashboard-content input[type="url"],
.rs-dashboard-content textarea,
.rs-dashboard-content select {
	width: 100%;
	min-height: 52px;
	padding: 12px 16px;
	color: var(--rs-text);
	background: #ffffff;
	border: 1px solid #e8e0e4;
	border-radius: 14px;
	outline: none;
	font-size: 15px;
}

.rs-login-card input:focus,
.rs-login-card textarea:focus,
.rs-dashboard-content input:focus,
.rs-dashboard-content textarea:focus,
.rs-dashboard-content select:focus {
	border-color: var(--rs-primary);
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08);
}

.rs-login-card label,
.rs-dashboard-content label {
	color: var(--rs-text);
	font-weight: 700;
}

.rs-login-card button,
.rs-login-card input[type="submit"],
.rs-login-card .button,
.rs-dashboard-content button,
.rs-dashboard-content input[type="submit"],
.rs-dashboard-content .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 24px;
	color: #ffffff !important;
	background: var(--rs-primary) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 800;
	text-decoration: none !important;
	cursor: pointer;
}

.rs-login-card button:hover,
.rs-login-card input[type="submit"]:hover,
.rs-login-card .button:hover,
.rs-dashboard-content button:hover,
.rs-dashboard-content input[type="submit"]:hover,
.rs-dashboard-content .button:hover {
	background: var(--rs-primary-dark) !important;
}

/* Dokan Dashboard Basic Styling */
.rs-dashboard-content .dokan-dashboard-wrap {
	font-family: inherit;
}

.rs-dashboard-content .dokan-dashboard-menu {
	border-radius: 20px;
	overflow: hidden;
}

.rs-dashboard-content .dokan-dashboard-content {
	padding: 0;
}

.rs-dashboard-content .dokan-btn,
.rs-dashboard-content .dokan-btn-theme,
.rs-dashboard-content input[type="submit"].dokan-btn-theme {
	background: var(--rs-primary) !important;
	border-color: var(--rs-primary) !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-weight: 700;
}

.rs-dashboard-content .dokan-btn:hover,
.rs-dashboard-content .dokan-btn-theme:hover,
.rs-dashboard-content input[type="submit"].dokan-btn-theme:hover {
	background: var(--rs-primary-dark) !important;
	border-color: var(--rs-primary-dark) !important;
}

/* Responsive Dashboard Page */
@media (max-width: 1024px) {
	.rs-vendor-dashboard-hero-grid,
	.rs-login-grid {
		grid-template-columns: 1fr;
	}

	.rs-dashboard-feature-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.rs-vendor-dashboard-hero {
		padding: 70px 0 65px;
	}

	.rs-vendor-dashboard-hero h1 {
		font-size: 42px;
	}

	.rs-vendor-dashboard-hero p {
		font-size: 16px;
	}

	.rs-vendor-summary-card {
		padding: 28px;
	}

	.rs-dashboard-feature-grid {
		grid-template-columns: 1fr;
	}

	.rs-vendor-dashboard-section {
		padding: 60px 0;
	}

	.rs-dashboard-intro,
	.rs-dashboard-content {
		padding: 24px;
	}

	.rs-dashboard-shell {
		border-radius: 22px;
	}

	.rs-login-card,
	.rs-register-card {
		padding: 24px;
	}
}
/* =========================================================
   Global Font Settings
========================================================= */

/* Body / description font */
body,
p,
span,
li,
input,
textarea,
select,
button,
a {
	font-family: "Karla", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 27px;
}

/* Main heading font */
h1,
h2,
.rs-section-title,
.rs-hero-content h1,
.rs-restaurants-hero h1,
.rs-partner-hero-content h1,
.rs-vendor-dashboard-hero h1,
.rs-owner-section h2,
.rs-final-cta h2,
.rs-partner-pricing-grid h2,
.rs-partner-registration-info h2,
.rs-dashboard-intro h2 {
	font-family: "Cormorant", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 70px;
	line-height: 70px;
	letter-spacing: normal;
}

/* Smaller headings */
h3,
h4,
h5,
h6,
.rs-step-card h3,
.rs-restaurant-body h3,
.rs-directory-body h3,
.rs-partner-benefit-card h3,
.rs-partner-process-card h3,
.rs-dashboard-feature-card h3,
.rs-login-card h3,
.rs-register-card h3 {
	font-family: "Cormorant", sans-serif;
	font-style: normal;
	font-weight: 500;
}

/* Description text */
.rs-section-text,
.rs-hero-content p,
.rs-restaurants-hero p,
.rs-partner-hero-content p,
.rs-vendor-dashboard-hero p,
.rs-owner-section p,
.rs-final-cta p,
.rs-directory-desc,
.rs-step-card p,
.rs-restaurant-body p,
.rs-partner-benefit-card p,
.rs-partner-process-card p,
.rs-dashboard-feature-card p,
.rs-dashboard-intro p {
	font-family: "Karla", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 27px;
}

/* Mobile heading size */
@media (max-width: 767px) {
	h1,
	h2,
	.rs-section-title,
	.rs-hero-content h1,
	.rs-restaurants-hero h1,
	.rs-partner-hero-content h1,
	.rs-vendor-dashboard-hero h1,
	.rs-owner-section h2,
	.rs-final-cta h2,
	.rs-partner-pricing-grid h2,
	.rs-partner-registration-info h2,
	.rs-dashboard-intro h2 {
		font-size: 46px;
		line-height: 48px;
	}
}
/* =========================================================
   Coded Header Shortcode
========================================================= */

.rs-coded-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(96, 0, 51, 0.08);
	box-shadow: 0 8px 30px rgba(96, 0, 51, 0.05);
}

.admin-bar .rs-coded-header {
	top: 32px;
}

.rs-coded-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: 82px;
}

.rs-coded-logo {
	color: #600033 !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 36px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	letter-spacing: -0.02em;
	text-decoration: none !important;
	white-space: nowrap;
}

.rs-coded-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
}

.rs-coded-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-coded-menu li {
	margin: 0;
	padding: 0;
}

.rs-coded-menu a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 27px !important;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-coded-menu a:hover {
	color: #600033 !important;
}

.rs-coded-header-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 24px;
	color: #ffffff !important;
	background: #600033;
	border-radius: 999px;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap;
	box-shadow: 0 10px 25px rgba(96, 0, 51, 0.18);
	transition: all 0.25s ease;
}

.rs-coded-header-btn:hover {
	background: #430024;
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(96, 0, 51, 0.24);
}

.rs-mobile-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	background: #fff4f9;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
}

.rs-mobile-menu-toggle span {
	display: block;
	width: 21px;
	height: 2px;
	background: #600033;
	border-radius: 999px;
}

/* =========================================================
   Coded Footer Shortcode
========================================================= */

.rs-coded-footer {
	padding: 80px 0 28px;
	color: #ffffff;
	background:
		radial-gradient(circle at top left, rgba(255, 255, 255, 0.12), transparent 32%),
		linear-gradient(135deg, #31001a 0%, #16000c 100%);
}

.rs-coded-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr 0.8fr 1fr;
	gap: 42px;
	align-items: flex-start;
}

.rs-coded-footer-logo {
	display: inline-flex;
	margin-bottom: 18px;
	color: #ffffff !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 38px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.rs-coded-footer p {
	margin: 0 0 18px;
	color: rgba(255, 255, 255, 0.72) !important;
	font-family: "Karla", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 27px !important;
}

.rs-coded-footer h3 {
	margin: 0 0 20px;
	color: #ffffff !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 28px !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
}

.rs-coded-footer ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-coded-footer a {
	color: rgba(255, 255, 255, 0.72) !important;
	font-family: "Karla", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 27px !important;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-coded-footer a:hover {
	color: #ffffff !important;
}

.rs-coded-footer-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
	padding: 13px 24px;
	color: #600033 !important;
	background: #ffffff;
	border-radius: 999px;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.rs-coded-footer-btn:hover {
	color: #600033 !important;
	background: #ffe7f3;
}

.rs-coded-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	margin-top: 55px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.rs-coded-footer-bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.58) !important;
	font-size: 14px !important;
	line-height: 24px !important;
}

.rs-coded-footer-bottom div {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.rs-coded-footer-bottom a {
	color: rgba(255, 255, 255, 0.58) !important;
	font-size: 14px !important;
	line-height: 24px !important;
}

/* Mobile Header/Footer */
@media (max-width: 900px) {
	.rs-coded-header-inner {
		position: relative;
		min-height: 74px;
	}

	.rs-mobile-menu-toggle {
		display: flex;
		order: 3;
	}

	.rs-coded-header-btn {
		display: none;
	}

	.rs-coded-nav {
		position: absolute;
		left: 0;
		right: 0;
		top: 74px;
		display: none;
		width: 100%;
		padding: 16px;
		background: #ffffff;
		border: 1px solid rgba(96, 0, 51, 0.08);
		border-radius: 0 0 20px 20px;
		box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
	}

	.rs-coded-nav.is-open {
		display: block;
	}

	.rs-coded-menu {
		display: grid;
		gap: 4px;
	}

	.rs-coded-menu a {
		justify-content: flex-start;
		width: 100%;
		padding: 13px 14px;
		border-radius: 12px;
	}

	.rs-coded-menu a:hover {
		background: #fff4f9;
	}

	.rs-coded-footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.rs-coded-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	.admin-bar .rs-coded-header {
		top: 46px;
	}

	.rs-coded-logo {
		font-size: 30px !important;
	}

	.rs-coded-footer {
		padding: 55px 0 24px;
	}

	.rs-coded-footer-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.rs-coded-footer-bottom div {
		display: grid;
		gap: 8px;
	}
}
/* =========================================================
   Header Logo Image
========================================================= */

.rs-coded-logo {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	max-width: 230px;
	text-decoration: none !important;
}

.rs-coded-logo-img {
	display: block;
	width: auto;
	max-width: 210px;
	height: 52px;
	object-fit: contain;
}

.rs-coded-logo span {
	color: #600033 !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 36px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	letter-spacing: -0.02em;
}

/* Mobile logo */
@media (max-width: 767px) {
	.rs-coded-logo {
		max-width: 170px;
	}

	.rs-coded-logo-img {
		max-width: 160px;
		height: 42px;
	}

	.rs-coded-logo span {
		font-size: 30px !important;
	}
}
/* =========================================================
   Fix Header Logo Size + Menu Alignment
========================================================= */

.rs-coded-header {
	width: 100%;
	background: #ffffff;
	border-top: 6px solid #31001a;
}

.rs-coded-header-inner {
	min-height: 92px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 28px !important;
}

/* Logo area */
.rs-coded-logo {
	display: flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	width: 300px !important;
	max-width: 300px !important;
	overflow: hidden !important;
}

/* Actual logo image */
.rs-coded-logo-img {
	display: block !important;
	width: 300px !important;
	max-width: 300px !important;
	height: auto !important;
	max-height: 76px !important;
	object-fit: contain !important;
	object-position: left center !important;
}

/* Menu area */
.rs-coded-nav {
	flex: 1 1 auto !important;
	display: flex !important;
	justify-content: flex-end !important;
	align-items: center !important;
	min-width: 0 !important;
}

.rs-coded-menu {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 6px !important;
	flex-wrap: nowrap !important;
}

.rs-coded-menu li {
	white-space: nowrap !important;
}

.rs-coded-menu a {
	white-space: nowrap !important;
	font-size: 15px !important;
	line-height: 22px !important;
	padding: 10px 12px !important;
}

/* Header button */
.rs-coded-header-btn {
	flex: 0 0 auto !important;
	padding: 13px 24px !important;
	white-space: nowrap !important;
}

/* Tablet */
@media (max-width: 1024px) {
	.rs-coded-logo {
		width: 240px !important;
		max-width: 240px !important;
	}

	.rs-coded-logo-img {
		width: 240px !important;
		max-width: 240px !important;
		max-height: 62px !important;
	}

	.rs-coded-menu a {
		font-size: 14px !important;
		padding: 9px 9px !important;
	}

	.rs-coded-header-btn {
		padding: 12px 18px !important;
		font-size: 14px !important;
	}
}

/* Mobile */
@media (max-width: 900px) {
	.rs-coded-header-inner {
		min-height: 74px !important;
	}

	.rs-coded-logo {
		width: 220px !important;
		max-width: 220px !important;
	}

	.rs-coded-logo-img {
		width: 220px !important;
		max-width: 220px !important;
		max-height: 56px !important;
	}
}

@media (max-width: 480px) {
	.rs-coded-logo {
		width: 180px !important;
		max-width: 180px !important;
	}

	.rs-coded-logo-img {
		width: 180px !important;
		max-width: 180px !important;
		max-height: 48px !important;
	}
}
/* =========================================================
   Fix Footer Contact Button
========================================================= */

.rs-coded-footer a.rs-coded-footer-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 130px !important;
	height: auto !important;
	margin-top: 20px !important;
	padding: 14px 26px !important;
	background: #ffffff !important;
	color: #600033 !important;
	border: 1px solid #ffffff !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.rs-coded-footer a.rs-coded-footer-btn:hover {
	background: #ffe7f3 !important;
	color: #600033 !important;
	border-color: #ffe7f3 !important;
	padding-left: 26px !important;
	transform: translateY(-2px);
}
/* =========================================================
   Footer Logo Image
========================================================= */

.rs-coded-footer-logo {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 300px !important;
	max-width: 300px !important;
	margin-bottom: 22px !important;
	padding: 8px 10px !important;
	background: #ffffff !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	overflow: hidden !important;
}

.rs-coded-footer-logo-img {
	display: block !important;
	width: 280px !important;
	max-width: 280px !important;
	height: auto !important;
	max-height: 70px !important;
	object-fit: contain !important;
	object-position: left center !important;
}

.rs-coded-footer-logo span {
	color: #600033 !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 36px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
}

/* Mobile footer logo */
@media (max-width: 767px) {
	.rs-coded-footer-logo {
		width: 220px !important;
		max-width: 220px !important;
	}

	.rs-coded-footer-logo-img {
		width: 200px !important;
		max-width: 200px !important;
		max-height: 56px !important;
	}
}
/* =========================================================
   Dokan Vendor Store Restaurant Menu Layout
========================================================= */

.rs-dokan-restaurant-store {
	background: #ffffff;
}

/* Hero */
.rs-store-hero {
	position: relative;
	min-height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover;
	background-position: center;
	text-align: center;
	overflow: hidden;
}

.rs-store-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.55)),
		rgba(96, 0, 51, 0.2);
}

.rs-store-hero-content {
	position: relative;
	z-index: 2;
	color: #ffffff;
}

.rs-store-badge {
	display: inline-flex;
	margin-bottom: 18px;
	padding: 9px 16px;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	color: #ffffff;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rs-store-hero h1 {
	margin: 0 0 16px;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: clamp(48px, 6vw, 82px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.rs-store-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.rs-store-meta span {
	display: inline-flex;
	padding: 8px 13px;
	background: rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	color: rgba(255, 255, 255, 0.92);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 20px;
}

/* Notice */
.rs-store-notice-wrap {
	position: relative;
	z-index: 3;
	margin-top: -28px;
}

.rs-store-notice-bar {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 0;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 12px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
	overflow: hidden;
}

.rs-store-notice-bar span {
	display: inline-flex;
	align-items: center;
	align-self: stretch;
	padding: 14px 22px;
	background: #600033;
	color: #ffffff;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.rs-store-notice-bar p {
	margin: 0;
	padding: 12px 18px 12px 0;
	color: #555555;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 24px;
}

/* Main grid */
.rs-store-menu-section {
	padding: 44px 0 90px;
	background: #ffffff;
}

.rs-store-menu-grid {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr) 280px;
	gap: 24px;
	align-items: start;
}

.rs-store-categories,
.rs-store-cart {
	position: sticky;
	top: 110px;
}

.rs-store-box {
	background: #ffffff;
	border: 1px solid #eeeeee;
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.rs-store-box h3 {
	margin: 0;
	padding: 15px 18px;
	background: #600033;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Category sidebar */
.rs-store-categories ul {
	max-height: 620px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-y: auto;
}

.rs-store-categories li {
	margin: 0;
	border-bottom: 1px solid #f1f1f1;
}

.rs-store-categories a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 13px 16px;
	color: #222222 !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 19px !important;
	font-weight: 500 !important;
	line-height: 21px !important;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.rs-store-categories a:hover {
	color: #600033 !important;
	background: #fff4f9;
}

.rs-store-categories a span {
	color: #600033;
	font-size: 18px;
	line-height: 1;
}

/* Search and allergy */
.rs-store-search-box {
	margin-bottom: 14px;
}

.rs-store-search-box input {
	width: 100%;
	min-height: 54px;
	padding: 0 18px;
	border: 1px solid #e8e0e4;
	border-radius: 12px;
	outline: none;
	color: #222222;
	background: #ffffff;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04);
}

.rs-store-search-box input:focus {
	border-color: #600033;
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08);
}

.rs-store-allergy-box {
	display: grid;
	gap: 4px;
	margin-bottom: 18px;
	padding: 18px 20px;
	background: #fff7f1;
	border: 1px solid rgba(96, 0, 51, 0.1);
	border-radius: 14px;
}

.rs-store-allergy-box strong {
	color: #600033;
	font-family: "Cormorant", sans-serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.05em;
}

.rs-store-allergy-box span {
	color: #555555;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 22px;
}

/* Menu sections */
.rs-store-category-section {
	margin-bottom: 24px;
	background: #ffffff;
	border: 1px solid #eeeeee;
	border-radius: 0;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	scroll-margin-top: 120px;
}

.rs-store-category-section > h2 {
	margin: 0;
	padding: 15px 22px;
	background: #600033;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.rs-store-food-list {
	background: #ffffff;
}

.rs-store-food-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	padding: 18px 18px;
	border-bottom: 1px solid #eeeeee;
	transition: background 0.2s ease;
}

.rs-store-food-item:last-child {
	border-bottom: 0;
}

.rs-store-food-item:hover {
	background: #fffdfb;
}

.rs-store-food-info h3 {
	margin: 0 0 5px;
	color: #222222;
	font-family: "Cormorant", sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 26px;
}

.rs-store-food-info p {
	max-width: 430px;
	margin: 0;
	color: #666666;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 19px;
}

.rs-store-food-action {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

.rs-store-price,
.rs-store-price span,
.rs-store-price bdi {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 20px !important;
	white-space: nowrap;
}

.rs-store-add-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	padding: 0 !important;
	border: 1px solid #600033 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #600033 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.rs-store-add-btn:hover {
	background: #600033 !important;
	color: #ffffff !important;
}

.rs-store-add-btn.added::after,
.rs-store-add-btn.loading::after {
	display: none !important;
}

.rs-store-unavailable {
	color: #999999;
	font-family: "Karla", sans-serif;
	font-size: 13px;
}

/* Cart */
.rs-store-cart-box {
	padding-bottom: 0;
}

.rs-store-cart-box h3 {
	background: #ffffff;
	color: #222222;
	text-transform: none;
	letter-spacing: normal;
	font-size: 28px;
	padding: 18px 20px 8px;
}

.rs-store-cart .widget_shopping_cart_content {
	padding: 12px 18px 18px;
}

.rs-store-cart .woocommerce-mini-cart {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-store-cart .woocommerce-mini-cart li {
	position: relative;
	margin: 0;
	padding: 10px 0 10px 24px !important;
	border-bottom: 1px solid #eeeeee;
	color: #222222;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	line-height: 18px;
}

.rs-store-cart .woocommerce-mini-cart li a {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	text-decoration: none !important;
}

.rs-store-cart .woocommerce-mini-cart li img {
	display: none !important;
}

.rs-store-cart .remove_from_cart_button {
	position: absolute !important;
	left: 0 !important;
	top: 11px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 16px !important;
	height: 16px !important;
	border: 1px solid #600033 !important;
	border-radius: 50% !important;
	color: #600033 !important;
	background: #ffffff !important;
	font-size: 12px !important;
	line-height: 1 !important;
}

.rs-store-cart .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 14px 0 !important;
	padding: 0 !important;
	color: #222222;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 22px;
}

.rs-store-cart .woocommerce-mini-cart__total strong {
	font-weight: 400;
}

.rs-store-cart .woocommerce-mini-cart__total .amount {
	color: #600033;
	font-weight: 800;
}

.rs-store-cart .woocommerce-mini-cart__buttons {
	margin: 0 !important;
}

.rs-store-cart .woocommerce-mini-cart__buttons a {
	display: none !important;
}

.rs-store-cart .woocommerce-mini-cart__buttons a.checkout {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 0 !important;
	padding: 12px 20px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.rs-store-cart .woocommerce-mini-cart__empty-message {
	margin: 0;
	padding: 10px 0 18px;
	color: #666666;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 22px;
}

.rs-store-empty {
	padding: 40px;
	background: #fff7f1;
	border-radius: 16px;
	text-align: center;
}

.rs-store-empty h2 {
	margin: 0 0 10px;
	color: #222222;
	font-family: "Cormorant", sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.1;
}

.rs-store-empty p {
	margin: 0;
	color: #666666;
	font-family: "Karla", sans-serif;
	font-size: 16px;
	line-height: 27px;
}

/* Mobile */
@media (max-width: 1100px) {
	.rs-store-menu-grid {
		grid-template-columns: 210px minmax(0, 1fr);
	}

	.rs-store-cart {
		grid-column: 1 / -1;
		position: static;
	}
}

@media (max-width: 767px) {
	.rs-store-hero {
		min-height: 260px;
	}

	.rs-store-hero h1 {
		font-size: 42px;
		line-height: 46px;
	}

	.rs-store-notice-bar {
		display: block;
	}

	.rs-store-notice-bar span {
		display: block;
		text-align: center;
	}

	.rs-store-notice-bar p {
		padding: 14px 18px;
		text-align: center;
	}

	.rs-store-menu-section {
		padding: 28px 0 55px;
	}

	.rs-store-menu-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.rs-store-categories {
		position: static;
	}

	.rs-store-categories ul {
		display: flex;
		gap: 8px;
		max-height: none;
		padding: 12px;
		overflow-x: auto;
	}

	.rs-store-categories li {
		border: 0;
		flex: 0 0 auto;
	}

	.rs-store-categories a {
		padding: 10px 14px;
		background: #fff4f9;
		border-radius: 999px;
		font-size: 16px !important;
		line-height: 20px !important;
		white-space: nowrap;
	}

	.rs-store-categories a span {
		display: none;
	}

	.rs-store-food-item {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.rs-store-food-action {
		justify-content: space-between;
	}

	.rs-store-cart {
		position: static;
	}

	.rs-store-cart-box h3 {
		font-size: 25px;
	}
}
/* =========================================================
   Final Store Page Sticky Category + Cart + Mobile Cart Drawer
========================================================= */

/* Desktop layout spacing like reference */
.rs-store-menu-section {
	background: #ffffff !important;
	padding-top: 40px !important;
}

.rs-store-menu-grid {
	display: grid !important;
	grid-template-columns: 235px minmax(0, 1fr) 285px !important;
	gap: 24px !important;
	align-items: start !important;
}

/* Left category sticky */
.rs-store-categories {
	position: sticky !important;
	top: 105px !important;
	align-self: start !important;
	z-index: 20 !important;
}

/* Right cart sticky */
.rs-store-cart {
	position: sticky !important;
	top: 105px !important;
	align-self: start !important;
	z-index: 20 !important;
}

/* Category box exact reference style */
.rs-store-categories .rs-store-box {
	border-radius: 10px !important;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07) !important;
	border: 1px solid #eee5e9 !important;
	overflow: hidden !important;
}

.rs-store-categories .rs-store-box h3 {
	background: #600033 !important;
	color: #ffffff !important;
	padding: 17px 20px !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 23px !important;
	font-weight: 500 !important;
	line-height: 25px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
}

.rs-store-categories ul {
	max-height: calc(100vh - 150px) !important;
	overflow-y: auto !important;
	scrollbar-width: thin;
	scrollbar-color: #999999 #f2f2f2;
}

.rs-store-categories ul::-webkit-scrollbar {
	width: 7px;
}

.rs-store-categories ul::-webkit-scrollbar-track {
	background: #f2f2f2;
}

.rs-store-categories ul::-webkit-scrollbar-thumb {
	background: #999999;
	border-radius: 20px;
}

.rs-store-categories a {
	padding: 15px 18px !important;
	border-bottom: 1px solid #f0e8ec !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 21px !important;
	font-weight: 500 !important;
	line-height: 23px !important;
	background: #ffffff !important;
}

.rs-store-categories a:hover {
	color: #600033 !important;
	background: #fff7fb !important;
}

/* Menu middle column reference style */
.rs-store-search-box {
	padding: 12px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.05) !important;
}

.rs-store-search-box input {
	min-height: 48px !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

.rs-store-allergy-box {
	grid-template-columns: auto 1fr !important;
	align-items: center !important;
	column-gap: 16px !important;
	padding: 20px 22px !important;
	background: #fff8f3 !important;
	border: 1px solid #f0dcd2 !important;
	border-radius: 14px !important;
}

.rs-store-allergy-box::before {
	content: "i";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #600033;
	color: #ffffff;
	border-radius: 50%;
	font-family: "Cormorant", sans-serif;
	font-size: 28px;
	font-style: italic;
	line-height: 1;
}

.rs-store-allergy-box strong {
	font-size: 25px !important;
	line-height: 26px !important;
	letter-spacing: 0.12em !important;
}

.rs-store-allergy-box span {
	grid-column: 2 !important;
	margin-top: -8px !important;
	letter-spacing: 0.18em !important;
	font-size: 13px !important;
	color: #3d3036 !important;
}

/* Food item style */
.rs-store-category-section {
	border: 1px solid #eee5e9 !important;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.045) !important;
}

.rs-store-category-section > h2 {
	padding: 16px 22px !important;
	background: #600033 !important;
	font-size: 22px !important;
	line-height: 24px !important;
	letter-spacing: 0.03em !important;
}

.rs-store-food-item {
	padding: 20px 22px !important;
	min-height: 78px !important;
	border-bottom: 1px solid #eee5e9 !important;
}

.rs-store-food-info h3 {
	font-size: 25px !important;
	line-height: 28px !important;
	color: #2b2b2b !important;
}

.rs-store-food-info p {
	max-width: 470px !important;
	font-size: 14px !important;
	line-height: 18px !important;
	color: #696969 !important;
}

.rs-store-food-action {
	gap: 18px !important;
}

.rs-store-add-btn {
	width: 37px !important;
	height: 37px !important;
	min-width: 37px !important;
	font-size: 26px !important;
	border-color: #600033 !important;
	color: #600033 !important;
}

/* Cart exact reference style */
.rs-store-cart-box {
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07) !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

.rs-store-cart-box h3 {
	padding: 22px 22px 12px !important;
	background: #ffffff !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 32px !important;
	font-weight: 500 !important;
	line-height: 34px !important;
	text-transform: none !important;
}

/* No images in cart */
.rs-store-cart .woocommerce-mini-cart li img,
.rs-store-cart .woocommerce-mini-cart__cart-item img,
.rs-store-cart .widget_shopping_cart_content img {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
}

/* Cart items */
.rs-store-cart .widget_shopping_cart_content {
	padding: 0 22px 22px !important;
}

.rs-store-cart .woocommerce-mini-cart li {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1fr auto !important;
	column-gap: 10px !important;
	margin: 0 !important;
	padding: 13px 0 13px 30px !important;
	border-bottom: 1px solid #eee5e9 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 18px !important;
	color: #222222 !important;
}

.rs-store-cart .woocommerce-mini-cart li a:not(.remove_from_cart_button) {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	text-decoration: none !important;
}

.rs-store-cart .quantity {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	white-space: nowrap !important;
}

.rs-store-cart .remove_from_cart_button {
	position: absolute !important;
	left: 0 !important;
	top: 15px !important;
	width: 18px !important;
	height: 18px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1px solid #600033 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #600033 !important;
	font-size: 16px !important;
	line-height: 15px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
}

.rs-store-cart .woocommerce-mini-cart__total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin: 18px 0 16px !important;
	padding: 0 !important;
	border-top: 0 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 22px !important;
	color: #222222 !important;
}

.rs-store-cart .woocommerce-mini-cart__total strong {
	font-weight: 400 !important;
}

.rs-store-cart .woocommerce-mini-cart__total .amount,
.rs-store-cart .woocommerce-mini-cart__total bdi {
	color: #600033 !important;
	font-weight: 800 !important;
}

.rs-store-cart .woocommerce-mini-cart__buttons {
	margin: 0 !important;
	padding: 0 !important;
}

.rs-store-cart .woocommerce-mini-cart__buttons a {
	display: none !important;
}

.rs-store-cart .woocommerce-mini-cart__buttons a.checkout {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 48px !important;
	padding: 14px 22px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 9px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

/* Mobile cart overlay and drawer */
.rs-mobile-cart-backdrop,
.rs-mobile-cart-toggle {
	display: none;
}

@media (max-width: 1100px) {
	.rs-store-menu-grid {
		grid-template-columns: 220px minmax(0, 1fr) !important;
	}

	.rs-store-cart {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		top: auto !important;
		z-index: 10001 !important;
		width: 100% !important;
		max-height: 82vh !important;
		padding: 0 14px 14px !important;
		transform: translateY(110%) !important;
		transition: transform 0.35s ease !important;
		pointer-events: none !important;
	}

	body.rs-mobile-cart-open .rs-store-cart {
		transform: translateY(0) !important;
		pointer-events: auto !important;
	}

	.rs-store-cart .rs-store-cart-box {
		max-width: 520px !important;
		margin: 0 auto !important;
		border-radius: 22px 22px 14px 14px !important;
		box-shadow: 0 -18px 60px rgba(0, 0, 0, 0.22) !important;
	}

	.rs-store-cart .widget_shopping_cart_content {
		max-height: 62vh !important;
		overflow-y: auto !important;
	}

	.rs-mobile-cart-backdrop {
		position: fixed;
		inset: 0;
		z-index: 10000;
		display: block;
		background: rgba(0, 0, 0, 0.45);
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
	}

	body.rs-mobile-cart-open .rs-mobile-cart-backdrop {
		opacity: 1;
		visibility: visible;
	}

	.rs-mobile-cart-toggle {
		position: fixed;
		left: 16px;
		right: 16px;
		bottom: 16px;
		z-index: 9999;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 58px;
		padding: 14px 18px;
		background: #600033;
		color: #ffffff;
		border: 0;
		border-radius: 999px;
		box-shadow: 0 16px 40px rgba(96, 0, 51, 0.34);
		font-family: "Karla", sans-serif;
		font-size: 15px;
		font-weight: 800;
		line-height: 1;
		cursor: pointer;
		animation: rsCartPulse 1.8s ease-in-out infinite;
	}

	.rs-mobile-cart-toggle span {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		color: #ffffff;
		font-size: 15px;
		font-weight: 800;
		line-height: 1;
	}

	.rs-mobile-cart-toggle strong {
		color: #ffffff;
		font-size: 15px;
		font-weight: 800;
		line-height: 1;
	}

	@keyframes rsCartPulse {
		0% {
			transform: translateY(0);
			box-shadow: 0 16px 40px rgba(96, 0, 51, 0.34);
		}
		50% {
			transform: translateY(-3px);
			box-shadow: 0 20px 48px rgba(96, 0, 51, 0.44);
		}
		100% {
			transform: translateY(0);
			box-shadow: 0 16px 40px rgba(96, 0, 51, 0.34);
		}
	}
}

@media (max-width: 767px) {
	body {
		padding-bottom: 86px;
	}

	.rs-store-menu-grid {
		grid-template-columns: 1fr !important;
	}

	.rs-store-categories {
		position: sticky !important;
		top: 78px !important;
		z-index: 60 !important;
	}

	.rs-store-categories .rs-store-box h3 {
		font-size: 20px !important;
		padding: 13px 16px !important;
	}

	.rs-store-categories ul {
		display: flex !important;
		gap: 8px !important;
		max-height: none !important;
		padding: 12px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
	}

	.rs-store-categories li {
		flex: 0 0 auto !important;
		border-bottom: 0 !important;
	}

	.rs-store-categories a {
		padding: 10px 14px !important;
		border: 1px solid #f0e8ec !important;
		border-radius: 999px !important;
		font-size: 16px !important;
		line-height: 20px !important;
		white-space: nowrap !important;
	}

	.rs-store-categories a span {
		display: none !important;
	}

	.rs-store-food-item {
		grid-template-columns: 1fr auto !important;
		padding: 17px 16px !important;
	}

	.rs-store-food-info h3 {
		font-size: 22px !important;
		line-height: 24px !important;
	}

	.rs-store-food-info p {
		font-size: 13px !important;
		line-height: 18px !important;
	}

	.rs-store-food-action {
		gap: 12px !important;
	}
}
/* =========================================================
   FINAL FIX - Store Cart Desktop + Mobile Drawer
========================================================= */

/* Desktop sticky layout */
.rs-store-menu-grid {
	display: grid !important;
	grid-template-columns: 235px minmax(0, 1fr) 285px !important;
	gap: 24px !important;
	align-items: start !important;
}

.rs-store-categories {
	position: sticky !important;
	top: 105px !important;
	align-self: start !important;
	z-index: 10 !important;
}

.rs-store-cart {
	position: sticky !important;
	top: 105px !important;
	align-self: start !important;
	z-index: 10 !important;
}

/* Clean cart box */
.rs-store-cart-box {
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07) !important;
	overflow: hidden !important;
}

.rs-store-cart-box h3 {
	margin: 0 !important;
	padding: 22px 22px 10px !important;
	background: #ffffff !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 32px !important;
	font-weight: 500 !important;
	line-height: 34px !important;
	text-transform: none !important;
}

/* Cart content */
.rs-store-cart .widget_shopping_cart_content {
	padding: 0 22px 22px !important;
}

/* Remove all product images from cart */
.rs-store-cart img,
.rs-store-cart .attachment-woocommerce_thumbnail,
.rs-store-cart .woocommerce-placeholder {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
}

/* Hide unnecessary WooCommerce/WPCafe/Dokan cart meta */
.rs-store-cart .variation,
.rs-store-cart .wc-item-meta,
.rs-store-cart dl,
.rs-store-cart dt,
.rs-store-cart dd,
.rs-store-cart .wpcafe-cart-vendor,
.rs-store-cart .dokan-seller-name,
.rs-store-cart .product-vendor,
.rs-store-cart .vendor,
.rs-store-cart .vendor-name {
	display: none !important;
}

/* Hide quantity input box / plus-minus from mini cart */
.rs-store-cart input.qty,
.rs-store-cart .qty,
.rs-store-cart .quantity input,
.rs-store-cart .quantity-button,
.rs-store-cart .plus,
.rs-store-cart .minus,
.rs-store-cart button.plus,
.rs-store-cart button.minus {
	display: none !important;
}

/* Cart list */
.rs-store-cart .woocommerce-mini-cart {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rs-store-cart .woocommerce-mini-cart li {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	column-gap: 10px !important;
	margin: 0 !important;
	padding: 13px 0 13px 30px !important;
	border-bottom: 1px solid #eee5e9 !important;
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 18px !important;
}

/* Product title */
.rs-store-cart .woocommerce-mini-cart li a:not(.remove_from_cart_button) {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	text-decoration: none !important;
	pointer-events: none !important;
}

/* Remove button */
.rs-store-cart .remove_from_cart_button {
	position: absolute !important;
	left: 0 !important;
	top: 14px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	border: 1px solid #600033 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #600033 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 15px !important;
	text-decoration: none !important;
}

/* Quantity text like: x 1 £4.50 */
.rs-store-cart .quantity {
	display: inline-flex !important;
	justify-content: flex-end !important;
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	white-space: nowrap !important;
}

/* Total */
.rs-store-cart .woocommerce-mini-cart__total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin: 18px 0 16px !important;
	padding: 0 !important;
	border-top: 0 !important;
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 22px !important;
}

.rs-store-cart .woocommerce-mini-cart__total strong {
	font-weight: 400 !important;
}

.rs-store-cart .woocommerce-mini-cart__total .amount,
.rs-store-cart .woocommerce-mini-cart__total bdi {
	color: #600033 !important;
	font-weight: 800 !important;
}

/* Hide View Cart, show only Checkout */
.rs-store-cart .woocommerce-mini-cart__buttons {
	margin: 0 !important;
	padding: 0 !important;
}

.rs-store-cart .woocommerce-mini-cart__buttons a {
	display: none !important;
}

.rs-store-cart .woocommerce-mini-cart__buttons a.checkout {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 14px 22px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 9px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

/* Empty cart */
.rs-store-cart .woocommerce-mini-cart__empty-message {
	margin: 0 !important;
	padding: 10px 0 16px !important;
	color: #666666 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 22px !important;
}

/* Mobile cart elements hidden by default */
.rs-mobile-cart-backdrop,
.rs-mobile-cart-toggle {
	display: none;
}

/* =========================================================
   Mobile Menu Page
========================================================= */

@media (max-width: 900px) {

	body {
		padding-bottom: 86px !important;
	}

	/* Mobile: one column only */
	.rs-store-menu-grid {
		display: block !important;
	}

	/* Hide category completely on mobile */
	.rs-store-categories {
		display: none !important;
	}

	/* Menu full width */
	.rs-store-menu-main {
		width: 100% !important;
	}

	/* Hide cart as sidebar and convert to bottom drawer */
	.rs-store-cart {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		top: auto !important;
		z-index: 10001 !important;
		width: 100% !important;
		max-height: 82vh !important;
		padding: 0 14px 14px !important;
		transform: translateY(115%) !important;
		transition: transform 0.35s ease !important;
		pointer-events: none !important;
	}

	body.rs-mobile-cart-open .rs-store-cart {
		transform: translateY(0) !important;
		pointer-events: auto !important;
	}

	.rs-store-cart .rs-store-cart-box {
		max-width: 540px !important;
		margin: 0 auto !important;
		border-radius: 22px 22px 14px 14px !important;
		box-shadow: 0 -18px 60px rgba(0, 0, 0, 0.26) !important;
	}

	.rs-store-cart .widget_shopping_cart_content {
		max-height: 62vh !important;
		overflow-y: auto !important;
	}

	/* Backdrop */
	.rs-mobile-cart-backdrop {
		position: fixed !important;
		inset: 0 !important;
		z-index: 10000 !important;
		display: block !important;
		background: rgba(0, 0, 0, 0.45) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transition: all 0.3s ease !important;
	}

	body.rs-mobile-cart-open .rs-mobile-cart-backdrop {
		opacity: 1 !important;
		visibility: visible !important;
	}

	/* Bottom cart button */
	.rs-mobile-cart-toggle {
		position: fixed !important;
		left: 16px !important;
		right: 16px !important;
		bottom: 16px !important;
		z-index: 9999 !important;
		display: none !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		min-height: 58px !important;
		padding: 14px 18px !important;
		background: #600033 !important;
		color: #ffffff !important;
		border: 0 !important;
		border-radius: 999px !important;
		box-shadow: 0 16px 40px rgba(96, 0, 51, 0.34) !important;
		font-family: "Karla", sans-serif !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		cursor: pointer !important;
	}

	/* Show mobile cart button only after cart has item */
	.rs-mobile-cart-toggle.has-items {
		display: flex !important;
	}

	.rs-mobile-cart-toggle span,
	.rs-mobile-cart-toggle strong {
		color: #ffffff !important;
		font-family: "Karla", sans-serif !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
	}

	/* Animate only when adding item */
	.rs-mobile-cart-toggle.rs-cart-animated {
		animation: rsCartBounce 0.9s ease-in-out 1;
	}

	@keyframes rsCartBounce {
		0% {
			transform: translateY(0) scale(1);
		}
		35% {
			transform: translateY(-7px) scale(1.03);
		}
		70% {
			transform: translateY(0) scale(1);
		}
		100% {
			transform: translateY(0) scale(1);
		}
	}

	/* Food item mobile */
	.rs-store-food-item {
		grid-template-columns: minmax(0, 1fr) auto !important;
		padding: 17px 16px !important;
	}

	.rs-store-food-info h3 {
		font-size: 22px !important;
		line-height: 24px !important;
	}

	.rs-store-food-info p {
		font-size: 13px !important;
		line-height: 18px !important;
	}

	.rs-store-food-action {
		gap: 12px !important;
	}
}
/* =========================================================
   Clean Custom Store Cart - Final Override
========================================================= */

.rs-store-cart-box {
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07) !important;
	overflow: hidden !important;
}

.rs-store-cart-box h3 {
	margin: 0 !important;
	padding: 22px 22px 12px !important;
	background: #ffffff !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 32px !important;
	font-weight: 500 !important;
	line-height: 34px !important;
	text-transform: none !important;
}

.rs-store-cart-fragment {
	padding: 0 22px 22px !important;
}

.rs-clean-cart-list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rs-clean-cart-item {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 10px !important;
	padding: 13px 0 13px 30px !important;
	border-bottom: 1px solid #eee5e9 !important;
}

.rs-clean-cart-remove {
	position: absolute !important;
	left: 0 !important;
	top: 13px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 19px !important;
	height: 19px !important;
	border: 1px solid #600033 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #600033 !important;
	font-size: 16px !important;
	line-height: 16px !important;
	text-decoration: none !important;
}

.rs-clean-cart-name {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
}

.rs-clean-cart-name span {
	color: #222222 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

.rs-clean-cart-price,
.rs-clean-cart-price span,
.rs-clean-cart-price bdi {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	white-space: nowrap !important;
}

.rs-clean-cart-subtotal {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin: 18px 0 16px !important;
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 22px !important;
}

.rs-clean-cart-subtotal strong,
.rs-clean-cart-subtotal strong span,
.rs-clean-cart-subtotal strong bdi {
	color: #600033 !important;
	font-weight: 800 !important;
}

.rs-clean-cart-checkout {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 48px !important;
	padding: 14px 22px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 9px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.rs-clean-cart-checkout:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

.rs-clean-cart-empty {
	margin: 0 0 18px !important;
	color: #444444 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 24px !important;
}

.rs-clean-cart-empty-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	padding: 13px 20px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.rs-clean-cart-empty-btn:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Make sure old/default mini cart elements never show */
.rs-store-cart .widget_shopping_cart_content,
.rs-store-cart .woocommerce-mini-cart,
.rs-store-cart .woocommerce-mini-cart__buttons,
.rs-store-cart .woocommerce-mini-cart__total,
.rs-store-cart .variation,
.rs-store-cart .wc-item-meta,
.rs-store-cart img,
.rs-store-cart input.qty,
.rs-store-cart .quantity input {
	display: none !important;
}

/* But keep our custom cart visible */
.rs-store-cart .rs-store-cart-fragment,
.rs-store-cart .rs-clean-cart-list,
.rs-store-cart .rs-clean-cart-item,
.rs-store-cart .rs-clean-cart-subtotal {
	display: block !important;
}

.rs-store-cart .rs-clean-cart-item {
	display: grid !important;
}

.rs-store-cart .rs-clean-cart-subtotal {
	display: flex !important;
}

/* Mobile behavior */
@media (max-width: 900px) {
	body {
		padding-bottom: 86px !important;
	}

	.rs-store-categories {
		display: none !important;
	}

	.rs-store-menu-grid {
		display: block !important;
	}

	.rs-store-menu-main {
		width: 100% !important;
	}

	.rs-store-cart {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		top: auto !important;
		z-index: 10001 !important;
		width: 100% !important;
		max-height: 82vh !important;
		padding: 0 14px 14px !important;
		transform: translateY(115%) !important;
		transition: transform 0.35s ease !important;
		pointer-events: none !important;
	}

	body.rs-mobile-cart-open .rs-store-cart {
		transform: translateY(0) !important;
		pointer-events: auto !important;
	}

	.rs-store-cart .rs-store-cart-box {
		max-width: 540px !important;
		margin: 0 auto !important;
		border-radius: 22px 22px 14px 14px !important;
		box-shadow: 0 -18px 60px rgba(0, 0, 0, 0.26) !important;
	}

	.rs-store-cart-fragment {
		max-height: 62vh !important;
		overflow-y: auto !important;
	}

	.rs-mobile-cart-backdrop {
		position: fixed !important;
		inset: 0 !important;
		z-index: 10000 !important;
		display: block !important;
		background: rgba(0, 0, 0, 0.45) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transition: all 0.3s ease !important;
	}

	body.rs-mobile-cart-open .rs-mobile-cart-backdrop {
		opacity: 1 !important;
		visibility: visible !important;
	}

	.rs-mobile-cart-toggle {
		position: fixed !important;
		left: 16px !important;
		right: 16px !important;
		bottom: 16px !important;
		z-index: 9999 !important;
		display: none !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 58px !important;
		padding: 14px 18px !important;
		background: #600033 !important;
		color: #ffffff !important;
		border: 0 !important;
		border-radius: 999px !important;
		box-shadow: 0 16px 40px rgba(96, 0, 51, 0.34) !important;
		font-family: "Karla", sans-serif !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		cursor: pointer !important;
	}

	.rs-mobile-cart-toggle.has-items {
		display: flex !important;
	}

	.rs-mobile-cart-toggle span,
	.rs-mobile-cart-toggle strong {
		color: #ffffff !important;
		font-size: 15px !important;
		font-weight: 800 !important;
	}

	.rs-mobile-cart-toggle.rs-cart-animated {
		animation: rsCartBounce 0.9s ease-in-out 1;
	}

	@keyframes rsCartBounce {
		0% {
			transform: translateY(0) scale(1);
		}
		35% {
			transform: translateY(-7px) scale(1.03);
		}
		70% {
			transform: translateY(0) scale(1);
		}
		100% {
			transform: translateY(0) scale(1);
		}
	}
}
/* =========================================================
   Hide WooCommerce "View cart" link after AJAX add-to-cart
========================================================= */

.rs-store-food-item .added_to_cart,
.rs-store-food-item .added_to_cart.wc-forward,
.rs-store-food-action .added_to_cart,
.rs-store-food-action .added_to_cart.wc-forward {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}
/* =========================================================
   Fix Cart Remove Cross Position
========================================================= */

.rs-clean-cart-item {
	position: relative !important;
	padding-left: 32px !important;
}

.rs-clean-cart-remove {
	position: absolute !important;
	left: 0 !important;
	top: 14px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid #600033 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #600033 !important;
	font-family: Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 18px !important;
	text-align: center !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.rs-clean-cart-remove:hover {
	background: #600033 !important;
	color: #ffffff !important;
}
/* =========================================================
   Product Add-on Popup
========================================================= */

.rs-product-popup {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

body.rs-product-popup-open .rs-product-popup {
	display: flex;
}

.rs-product-popup-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(6px);
}

.rs-product-popup-dialog {
	position: relative;
	z-index: 2;
	width: min(620px, 94vw);
	max-height: 88vh;
	background: #ffffff;
	border-radius: 22px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
	overflow: hidden;
	animation: rsPopupIn 0.25s ease;
}

@keyframes rsPopupIn {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.rs-product-popup-close {
	position: absolute;
	right: 16px;
	top: 16px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid #600033;
	border-radius: 50%;
	background: #ffffff;
	color: #600033;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.rs-product-popup-close:hover {
	background: #600033;
	color: #ffffff;
}

.rs-product-popup-content {
	max-height: 88vh;
	padding: 34px;
	overflow-y: auto;
}

.rs-product-popup-loading {
	color: #600033;
	font-family: "Karla", sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

.rs-popup-product-head {
	padding-right: 46px;
	margin-bottom: 24px;
}

.rs-popup-product-head h2 {
	margin: 0 0 10px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 44px;
}

.rs-popup-product-price,
.rs-popup-product-price span,
.rs-popup-product-price bdi {
	color: #600033 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 26px !important;
}

.rs-popup-product-head p {
	margin: 12px 0 0;
	color: #666666;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 24px;
}

.rs-popup-product-form form.cart {
	margin: 0 !important;
}

.rs-popup-product-form label {
	color: #222222;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	font-weight: 700;
}

.rs-popup-product-form input,
.rs-popup-product-form select,
.rs-popup-product-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #e8dfe4;
	border-radius: 10px;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	outline: none;
}

.rs-popup-product-form input:focus,
.rs-popup-product-form select:focus,
.rs-popup-product-form textarea:focus {
	border-color: #600033;
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08);
}

.rs-popup-product-form .quantity {
	margin-bottom: 18px;
}

.rs-popup-product-form .single_add_to_cart_button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 52px !important;
	margin-top: 18px !important;
	padding: 15px 24px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.rs-popup-product-form .single_add_to_cart_button:hover {
	background: #430024 !important;
}

.rs-product-popup-message {
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #fff7f1;
	color: #600033;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 22px;
}

@media (max-width: 767px) {
	.rs-product-popup {
		align-items: flex-end;
		padding: 0;
	}

	.rs-product-popup-dialog {
		width: 100%;
		max-height: 88vh;
		border-radius: 22px 22px 0 0;
	}

	.rs-product-popup-content {
		padding: 28px 20px;
	}

	.rs-popup-product-head h2 {
		font-size: 34px;
		line-height: 36px;
	}
}
/* =========================================================
   Variable Product Popup
========================================================= */

.rs-store-food-item .added_to_cart,
.rs-store-food-action .added_to_cart,
.rs-store-food-action .added_to_cart.wc-forward {
	display: none !important;
}

.rs-variable-popup {
	position: fixed;
	inset: 0;
	z-index: 10060;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

body.rs-variable-popup-open .rs-variable-popup {
	display: flex;
}

.rs-variable-popup-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(6px);
}

.rs-variable-popup-dialog {
	position: relative;
	z-index: 2;
	width: min(620px, 94vw);
	max-height: 88vh;
	background: #ffffff;
	border-radius: 22px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
	overflow: hidden;
	animation: rsPopupIn 0.25s ease;
}

@keyframes rsPopupIn {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.rs-variable-popup-close {
	position: absolute;
	right: 16px;
	top: 16px;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid #600033;
	border-radius: 50%;
	background: #ffffff;
	color: #600033;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.rs-variable-popup-close:hover {
	background: #600033;
	color: #ffffff;
}

.rs-variable-popup-content {
	max-height: 88vh;
	padding: 36px;
	overflow-y: auto;
}

.rs-variable-popup-head {
	padding-right: 42px;
	margin-bottom: 24px;
}

.rs-variable-popup-head h2 {
	margin: 0 0 10px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 44px;
}

.rs-variable-popup-price,
.rs-variable-popup-price span,
.rs-variable-popup-price bdi {
	color: #600033 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 26px !important;
}

.rs-variable-popup-head p {
	margin: 12px 0 0;
	color: #666666;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 24px;
}

.rs-variable-cart-form table.variations {
	width: 100%;
	margin: 0 0 18px;
	border: 0;
}

.rs-variable-cart-form table.variations tr,
.rs-variable-cart-form table.variations th,
.rs-variable-cart-form table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}

.rs-variable-cart-form table.variations tr {
	margin-bottom: 16px;
}

.rs-variable-cart-form label {
	display: block;
	margin-bottom: 8px;
	color: #222222;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	font-weight: 800;
	line-height: 22px;
}

.rs-variable-cart-form select {
	width: 100%;
	min-height: 50px;
	padding: 0 14px;
	border: 1px solid #e8dfe4;
	border-radius: 10px;
	background: #ffffff;
	color: #222222;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	outline: none;
}

.rs-variable-cart-form select:focus {
	border-color: #600033;
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08);
}

.rs-variable-cart-form .reset_variations {
	display: inline-flex !important;
	margin-top: 8px;
	color: #600033 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.rs-variable-cart-form .woocommerce-variation {
	margin: 14px 0;
	padding: 14px;
	background: #fff7f1;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 10px;
}

.rs-variable-cart-form .woocommerce-variation:empty {
	display: none;
}

.rs-popup-qty-row {
	display: grid;
	grid-template-columns: 1fr 110px;
	gap: 14px;
	align-items: center;
	margin-bottom: 18px;
}

.rs-popup-qty-row .quantity {
	margin: 0 !important;
}

.rs-popup-qty-row input.qty {
	width: 100% !important;
	min-height: 46px !important;
	padding: 0 10px !important;
	border: 1px solid #e8dfe4 !important;
	border-radius: 10px !important;
	text-align: center !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
}

.rs-popup-add-to-cart {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 52px !important;
	padding: 15px 24px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.rs-popup-add-to-cart:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

.rs-variable-popup-message {
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #fff7f1;
	color: #600033;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 22px;
}

@media (max-width: 767px) {
	.rs-variable-popup {
		align-items: flex-end;
		padding: 0;
	}

	.rs-variable-popup-dialog {
		width: 100%;
		max-height: 88vh;
		border-radius: 22px 22px 0 0;
	}

	.rs-variable-popup-content {
		padding: 28px 20px;
	}

	.rs-variable-popup-head h2 {
		font-size: 34px;
		line-height: 36px;
	}
}
/* Hide the variable product info/yellow line box */
.rs-variable-cart-form .woocommerce-variation,
.rs-variable-cart-form .single_variation,
.rs-variable-cart-form .woocommerce-variation-description,
.rs-variable-cart-form .woocommerce-variation-price,
.rs-variable-cart-form .woocommerce-variation-availability {
	display: none !important;
}

/* Also hide the empty placeholder block completely */
.rs-variable-cart-form .woocommerce-variation:empty,
.rs-variable-cart-form .single_variation:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
/* =========================================================
   Floating Cart Button + Side Cart Theme Fix
========================================================= */

/* Common floating cart buttons from Woo/WPCafe/Side Cart plugins */
.xoo-wsc-basket,
.xoo-wsc-cart-trigger,
.wc-block-mini-cart__button,
.wpcafe-cart-count,
.wpcafe-mini-cart,
.wpcafe-cart-btn,
.wpcafe-floating-cart,
.wpcafe-cart-icon,
.wpc-floating-cart,
.xt_woofc-trigger,
.woofc-menu-item,
.elementor-menu-cart__toggle_button {
	background: #600033 !important;
	color: #ffffff !important;
	border-color: #600033 !important;
	box-shadow: 0 16px 40px rgba(96, 0, 51, 0.32) !important;
}

/* Floating cart icon/count color */
.xoo-wsc-basket *,
.xoo-wsc-cart-trigger *,
.wc-block-mini-cart__button *,
.wpcafe-cart-count *,
.wpcafe-mini-cart *,
.wpcafe-cart-btn *,
.wpcafe-floating-cart *,
.wpcafe-cart-icon *,
.wpc-floating-cart *,
.xt_woofc-trigger *,
.woofc-menu-item *,
.elementor-menu-cart__toggle_button * {
	color: #ffffff !important;
	fill: #ffffff !important;
	stroke: #ffffff !important;
}

/* Shape and position of floating side cart */
.xoo-wsc-basket,
.xoo-wsc-cart-trigger,
.wpcafe-floating-cart,
.wpc-floating-cart,
.xt_woofc-trigger {
	right: 0 !important;
	border-radius: 14px 0 0 14px !important;
	width: 66px !important;
	height: 66px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Hover */
.xoo-wsc-basket:hover,
.xoo-wsc-cart-trigger:hover,
.wpcafe-floating-cart:hover,
.wpc-floating-cart:hover,
.xt_woofc-trigger:hover,
.elementor-menu-cart__toggle_button:hover {
	background: #430024 !important;
	border-color: #430024 !important;
}

/* =========================================================
   Side Cart Drawer Styling
========================================================= */

/* Common side cart drawer */
.xoo-wsc-container,
.xoo-wsc-modal,
.xoo-wsc-body,
.xoo-wsc-footer,
.elementor-menu-cart__container,
.elementor-menu-cart__main,
.woocommerce-mini-cart {
	font-family: "Karla", sans-serif !important;
}

/* Side cart panel */
.xoo-wsc-container,
.elementor-menu-cart__main {
	background: #ffffff !important;
	border-radius: 22px 0 0 22px !important;
	box-shadow: -20px 0 70px rgba(0, 0, 0, 0.18) !important;
}

/* Side cart header */
.xoo-wsc-header,
.elementor-menu-cart__header {
	background: #600033 !important;
	color: #ffffff !important;
	padding: 20px 24px !important;
}

.xoo-wsc-header *,
.elementor-menu-cart__header * {
	color: #ffffff !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 30px !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
}

/* Side cart close icon */
.xoo-wsc-close,
.elementor-menu-cart__close-button {
	color: #ffffff !important;
	border-color: #ffffff !important;
}

/* Side cart product images hidden */
.xoo-wsc-products img,
.xoo-wsc-product img,
.elementor-menu-cart__product-image,
.elementor-menu-cart__product-image img,
.woocommerce-mini-cart img {
	display: none !important;
}

/* Product rows */
.xoo-wsc-product,
.elementor-menu-cart__product,
.woocommerce-mini-cart li {
	border-bottom: 1px solid #eee5e9 !important;
	padding: 14px 0 !important;
}

/* Product names */
.xoo-wsc-product a,
.elementor-menu-cart__product-name a,
.woocommerce-mini-cart li a {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 20px !important;
	text-decoration: none !important;
}

/* Remove button */
.xoo-wsc-remove,
.elementor-menu-cart__product-remove,
.woocommerce-mini-cart .remove_from_cart_button {
	color: #600033 !important;
	border-color: #600033 !important;
}

/* Subtotal / total */
.xoo-wsc-ft-totals,
.xoo-wsc-subtotal,
.elementor-menu-cart__subtotal,
.woocommerce-mini-cart__total {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
}

.xoo-wsc-ft-totals .amount,
.xoo-wsc-subtotal .amount,
.elementor-menu-cart__subtotal .amount,
.woocommerce-mini-cart__total .amount {
	color: #600033 !important;
	font-weight: 800 !important;
}

/* =========================================================
   Hide View Cart / Cart Button From Sidebar
========================================================= */

/* Hide View Cart buttons */
.xoo-wsc-ft-btn-cart,
.xoo-wsc-cart-close,
.elementor-menu-cart__footer-buttons .elementor-button--view-cart,
.woocommerce-mini-cart__buttons a:not(.checkout),
.woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
	display: none !important;
}

/* Keep only Checkout button */
.xoo-wsc-ft-btn-checkout,
.elementor-menu-cart__footer-buttons .elementor-button--checkout,
.woocommerce-mini-cart__buttons a.checkout {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 50px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	border: 0 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.xoo-wsc-ft-btn-checkout:hover,
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover,
.woocommerce-mini-cart__buttons a.checkout:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Remove default blue focus/active colors */
.xoo-wsc-basket:focus,
.xoo-wsc-cart-trigger:focus,
.wpcafe-floating-cart:focus,
.wpc-floating-cart:focus,
.xt_woofc-trigger:focus,
.elementor-menu-cart__toggle_button:focus {
	outline: none !important;
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.15), 0 16px 40px rgba(96, 0, 51, 0.32) !important;
}

/* Mobile: hide plugin floating cart if our custom bottom cart exists */
@media (max-width: 900px) {
	body:has(.rs-mobile-cart-toggle) .xoo-wsc-basket,
	body:has(.rs-mobile-cart-toggle) .xoo-wsc-cart-trigger,
	body:has(.rs-mobile-cart-toggle) .wpcafe-floating-cart,
	body:has(.rs-mobile-cart-toggle) .wpc-floating-cart,
	body:has(.rs-mobile-cart-toggle) .xt_woofc-trigger,
	body:has(.rs-mobile-cart-toggle) .elementor-menu-cart__toggle_button {
		display: none !important;
	}
}
/* Emergency: force fixed cart tab/button to theme color */
body a[href*="cart"],
body button[class*="cart"],
body div[class*="cart"] {
	border-color: #600033;
}

/* Right fixed cart-like elements */
body [class*="cart"][style*="fixed"],
body [class*="Cart"][style*="fixed"],
body [id*="cart"][style*="fixed"],
body [id*="Cart"][style*="fixed"] {
	background-color: #600033 !important;
	color: #ffffff !important;
}
/* =========================================================
   FINAL SIDE CART DRAWER FIX
   Remove product images, remove cart button, theme checkout
========================================================= */

/* Side cart panel */
.xoo-wsc-container,
.xoo-wsc-modal,
.xoo-wsc-body {
	font-family: "Karla", sans-serif !important;
}

/* Header */
.xoo-wsc-header {
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 0 !important;
	padding: 24px 28px !important;
}

.xoo-wsc-header,
.xoo-wsc-header *,
.xoo-wsc-cart-active .xoo-wsc-header * {
	color: #ffffff !important;
}

.xoo-wsc-header .xoo-wsc-cart-count,
.xoo-wsc-header .xoo-wsc-items-count,
.xoo-wsc-header span,
.xoo-wsc-header div {
	font-family: "Karla", sans-serif !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

/* Close button */
.xoo-wsc-close,
.xoo-wsc-icon-cross {
	color: #ffffff !important;
	border-color: #ffffff !important;
}

/* Product card */
.xoo-wsc-product {
	display: block !important;
	margin: 0 0 14px !important;
	padding: 18px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

/* Remove all product images */
.xoo-wsc-product img,
.xoo-wsc-img-col,
.xoo-wsc-img-col *,
.xoo-wsc-pimg,
.xoo-wsc-pimg *,
.xoo-wsc-product-image,
.xoo-wsc-product-image * {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Product content full width after image removed */
.xoo-wsc-sm-info,
.xoo-wsc-sm-left,
.xoo-wsc-sm-right,
.xoo-wsc-product-content {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Product title: look like text, not a link */
.xoo-wsc-product a:not(.xoo-wsc-remove),
.xoo-wsc-pname,
.xoo-wsc-pname a,
.xoo-wsc-product-title,
.xoo-wsc-product-title a {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 22px !important;
	text-decoration: none !important;
	pointer-events: none !important;
	cursor: default !important;
}

/* Remove button */
.xoo-wsc-remove,
.xoo-wsc-smr-del,
.xoo-wsc-icon-trash {
	color: #600033 !important;
	background: #ffffff !important;
	border: 1px solid #600033 !important;
	border-radius: 50% !important;
}

/* Price and quantity */
.xoo-wsc-price,
.xoo-wsc-price *,
.xoo-wsc-qty-price,
.xoo-wsc-qty-price *,
.xoo-wsc-product .amount,
.xoo-wsc-product bdi {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

/* Quantity box */
.xoo-wsc-qty-box {
	border: 1px solid #eee5e9 !important;
	border-radius: 7px !important;
	overflow: hidden !important;
}

.xoo-wsc-qty-box span,
.xoo-wsc-qty-box input {
	color: #222222 !important;
	background: #ffffff !important;
	border-color: #eee5e9 !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 700 !important;
}

/* Footer totals */
.xoo-wsc-footer {
	background: #ffffff !important;
	box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.06) !important;
	padding: 24px 28px !important;
}

.xoo-wsc-ft-totals,
.xoo-wsc-ft-totals *,
.xoo-wsc-subtotal,
.xoo-wsc-subtotal *,
.xoo-wsc-footer .amount,
.xoo-wsc-footer bdi {
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

.xoo-wsc-footer .amount,
.xoo-wsc-footer bdi {
	color: #600033 !important;
	font-weight: 800 !important;
}

/* Hide View Cart button completely */
.xoo-wsc-ft-btn-cart,
.xoo-wsc-ft-btn-cart *,
.xoo-wsc-footer a[href*="/cart"],
.xoo-wsc-footer a[href*="cart"],
.xoo-wsc-footer .wc-forward:not(.checkout),
.xoo-wsc-footer .button:not(.checkout):not(.xoo-wsc-ft-btn-checkout) {
	display: none !important;
}

/* Checkout button theme color */
.xoo-wsc-ft-btn-checkout,
.xoo-wsc-footer a.checkout,
.xoo-wsc-footer .checkout-button,
.xoo-wsc-footer a[href*="checkout"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 54px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.xoo-wsc-ft-btn-checkout:hover,
.xoo-wsc-footer a.checkout:hover,
.xoo-wsc-footer .checkout-button:hover,
.xoo-wsc-footer a[href*="checkout"]:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Empty cart: hide shop/explore button completely */
.xoo-wsc-empty-cart a,
.xoo-wsc-empty-cart .button,
.xoo-wsc-empty-cart .wc-forward,
.xoo-wsc-empty-cart-btn,
.xoo-wsc-empty-cart a[href*="/shop"],
.xoo-wsc-empty-cart a[href*="shop"],
.xoo-wsc-empty-cart a[href*="product"] {
	display: none !important;
}

/* Empty cart text only */
.xoo-wsc-empty-cart,
.xoo-wsc-empty-cart * {
	font-family: "Karla", sans-serif !important;
	color: #222222 !important;
}

/* Floating cart tab color */
.xoo-wsc-basket,
.xoo-wsc-cart-trigger {
	background: #600033 !important;
	color: #ffffff !important;
	border-color: #600033 !important;
	box-shadow: 0 16px 40px rgba(96, 0, 51, 0.32) !important;
}

.xoo-wsc-basket *,
.xoo-wsc-cart-trigger * {
	color: #ffffff !important;
	fill: #ffffff !important;
	stroke: #ffffff !important;
}

/* Mobile: do not show this side cart trigger if our custom bottom cart exists */
@media (max-width: 900px) {
	.xoo-wsc-basket,
	.xoo-wsc-cart-trigger {
		display: none !important;
	}
}
.rs-sidecart-product-title {
	display: block !important;
	color: #222222 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 22px !important;
	text-decoration: none !important;
	cursor: default !important;
}
/* =========================================================
   FINAL FIX - Mobile Header Menu Hidden Until Toggle Click
========================================================= */

@media (max-width: 900px) {
	.rs-coded-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 9999 !important;
		background: #ffffff !important;
	}

	.rs-coded-header-inner {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 74px !important;
		flex-wrap: nowrap !important;
	}

	.rs-coded-logo {
		position: relative !important;
		z-index: 3 !important;
	}

	.rs-mobile-menu-toggle {
		position: relative !important;
		z-index: 4 !important;
		display: flex !important;
	}

	.rs-coded-header-btn {
		display: none !important;
	}

	/* Hide mobile menu by default */
	.rs-coded-nav {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		top: 74px !important;
		z-index: 2 !important;
		display: none !important;
		width: 100% !important;
		padding: 14px !important;
		background: #ffffff !important;
		border: 1px solid rgba(96, 0, 51, 0.08) !important;
		border-radius: 0 0 22px 22px !important;
		box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12) !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transform: translateY(-8px) !important;
		transition: all 0.25s ease !important;
	}

	/* Show mobile menu only after clicking toggle */
	.rs-coded-nav.is-open {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translateY(0) !important;
	}

	.rs-coded-menu {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 6px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rs-coded-menu li {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.rs-coded-menu a {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		padding: 13px 14px !important;
		color: #1f1f1f !important;
		background: #ffffff !important;
		border-radius: 12px !important;
		font-family: "Karla", sans-serif !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		line-height: 22px !important;
		text-decoration: none !important;
	}

	.rs-coded-menu a:hover {
		color: #600033 !important;
		background: #fff4f9 !important;
	}
}
/* =========================================================
   Vendor Promotional News Bulletin
========================================================= */

.rs-store-promo-wrap {
	position: relative;
	z-index: 5;
	margin-top: -28px;
}

.rs-store-promo-ticker {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	background: #ffffff;
	border: 1px solid rgba(96, 0, 51, 0.08);
	border-radius: 13px;
	box-shadow: 0 16px 45px rgba(0, 0, 0, 0.08);
	overflow: hidden;
}

.rs-store-promo-label {
	display: flex;
	align-items: center;
	align-self: stretch;
	background: #600033;
	color: #ffffff;
	padding: 0 24px;
	position: relative;
}

.rs-store-promo-label::after {
	content: "";
	position: absolute;
	right: -14px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
	border-left: 14px solid #600033;
}

.rs-store-promo-label span {
	color: #ffffff;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.rs-store-promo-marquee {
	position: relative;
	overflow: hidden;
	min-height: 56px;
	display: flex;
	align-items: center;
	padding-left: 24px;
}

.rs-store-promo-marquee::before,
.rs-store-promo-marquee::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: 55px;
	pointer-events: none;
}

.rs-store-promo-marquee::before {
	left: 0;
	background: linear-gradient(90deg, #ffffff, rgba(255, 255, 255, 0));
}

.rs-store-promo-marquee::after {
	right: 0;
	background: linear-gradient(270deg, #ffffff, rgba(255, 255, 255, 0));
}

.rs-store-promo-track {
	display: inline-flex;
	align-items: center;
	gap: 0;
	width: max-content;
	animation: rsPromoTicker 34s linear infinite;
}

.rs-store-promo-ticker:hover .rs-store-promo-track {
	animation-play-state: paused;
}

.rs-store-promo-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 0 38px;
	color: #3d3036;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 24px;
	white-space: nowrap;
}

.rs-store-promo-item::before {
	content: "•";
	position: absolute;
	left: 16px;
	color: #600033;
	font-size: 24px;
	line-height: 1;
}

@keyframes rsPromoTicker {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* Mobile promotional ticker */
@media (max-width: 767px) {
	.rs-store-promo-wrap {
		margin-top: -20px;
	}

	.rs-store-promo-ticker {
		grid-template-columns: 1fr;
		border-radius: 12px;
	}

	.rs-store-promo-label {
		justify-content: center;
		min-height: 44px;
		padding: 0 18px;
	}

	.rs-store-promo-label::after {
		display: none;
	}

	.rs-store-promo-marquee {
		min-height: 48px;
		padding-left: 0;
	}

	.rs-store-promo-item {
		padding: 0 28px;
		font-size: 14px;
		line-height: 22px;
	}
}
/* =========================================================
   Food Feature Icons + Tooltips
========================================================= */

.rs-food-feature-icons {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
}

.rs-food-feature-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	cursor: help;
}

.rs-food-feature-icon img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.rs-food-feature-icon::after {
	content: attr(data-label);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 9px);
	z-index: 40;
	transform: translateX(-50%) translateY(4px);
	padding: 6px 10px;
	background: #600033;
	color: #ffffff;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.2s ease;
}

.rs-food-feature-icon::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% + 3px);
	z-index: 40;
	transform: translateX(-50%);
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #600033;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s ease;
}

.rs-food-feature-icon:hover::after,
.rs-food-feature-icon:hover::before {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* =========================================================
   Clickable Allergy Box
========================================================= */

.rs-store-allergy-box {
	width: 100% !important;
	text-align: left !important;
	cursor: pointer !important;
	border: 1px solid #f0dcd2 !important;
}

.rs-store-allergy-box:hover {
	border-color: rgba(96, 0, 51, 0.28) !important;
	box-shadow: 0 12px 34px rgba(96, 0, 51, 0.08) !important;
	transform: translateY(-1px);
}

/* =========================================================
   Allergy Popup
========================================================= */

.rs-allergy-popup {
	position: fixed;
	inset: 0;
	z-index: 10080;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

body.rs-allergy-popup-open .rs-allergy-popup {
	display: flex;
}

.rs-allergy-popup-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(6px);
}

.rs-allergy-popup-dialog {
	position: relative;
	z-index: 2;
	width: min(760px, 94vw);
	max-height: 90vh;
	background: #ffffff;
	border-radius: 22px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.3);
	overflow: hidden;
	animation: rsAllergyPopupIn 0.25s ease;
}

@keyframes rsAllergyPopupIn {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.rs-allergy-popup-close {
	position: absolute;
	right: 18px;
	top: 18px;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ffffff;
	color: #600033;
	font-family: Arial, sans-serif;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.rs-allergy-popup-close:hover {
	background: #fff4f9;
}

.rs-allergy-popup-header {
	padding: 34px 36px 36px;
	background: #600033;
	color: #ffffff;
}

.rs-allergy-popup-header span {
	display: inline-flex;
	margin-bottom: 14px;
	padding: 9px 15px;
	background: rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	color: #ffffff;
	font-family: "Karla", sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.rs-allergy-popup-header h2 {
	margin: 0 0 10px;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: clamp(38px, 5vw, 54px);
	font-weight: 500;
	line-height: 1.05;
}

.rs-allergy-popup-header p {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-family: "Karla", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

.rs-allergy-popup-body {
	max-height: 62vh;
	padding: 34px 36px 38px;
	overflow-y: auto;
}

.rs-allergy-advice-card {
	padding: 26px 28px;
	background: #fff8f3;
	border: 1px solid #f0dcd2;
	border-left: 5px solid #600033;
	border-radius: 16px;
}

.rs-allergy-advice-card h3,
.rs-dietary-popup-title {
	margin: 0 0 16px;
	color: #600033;
	font-family: "Cormorant", sans-serif;
	font-size: 34px;
	font-weight: 500;
	line-height: 1.1;
}

.rs-allergy-advice-card p {
	margin: 0 0 14px;
	color: #333333;
	font-family: "Karla", sans-serif;
	font-size: 16px;
	line-height: 27px;
}

.rs-allergy-advice-card p:last-child {
	margin-bottom: 0;
}

.rs-dietary-popup-title {
	margin-top: 30px;
}

.rs-dietary-symbols-card {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	padding: 20px;
	background: #fff8f3;
	border: 1px solid #f0dcd2;
	border-radius: 16px;
}

.rs-dietary-symbol {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 999px;
}

.rs-dietary-symbol img {
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.rs-dietary-symbol span {
	color: #222222;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

@media (max-width: 767px) {
	.rs-allergy-popup {
		align-items: flex-end;
		padding: 0;
	}

	.rs-allergy-popup-dialog {
		width: 100%;
		max-height: 92vh;
		border-radius: 22px 22px 0 0;
	}

	.rs-allergy-popup-header {
		padding: 30px 24px;
	}

	.rs-allergy-popup-body {
		padding: 26px 22px 30px;
	}

	.rs-allergy-popup-close {
		right: 14px;
		top: 14px;
		width: 40px;
		height: 40px;
	}

	.rs-dietary-symbols-card {
		gap: 10px;
	}

	.rs-dietary-symbol {
		width: 100%;
	}
}
/* Allergy popup contact links */
.rs-allergy-advice-card a {
	color: #600033 !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

.rs-allergy-advice-card a:hover {
	text-decoration: underline !important;
}
/* =========================================================
   Checkout Page - Restaurant POS Style
========================================================= */

.woocommerce-checkout .woocommerce-checkout-review-order-table img,
.woocommerce-checkout-review-order-table .product-thumbnail,
.wc-block-components-order-summary-item__image,
.wp-block-woocommerce-checkout-order-summary-cart-items-block img {
	display: none !important;
}

.woocommerce-checkout .woocommerce {
	max-width: 1180px;
	margin: 0 auto;
	padding: 60px 20px;
}

.woocommerce-checkout h3,
.woocommerce-checkout h2 {
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-weight: 500;
}

.woocommerce-checkout input,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
	min-height: 48px;
	border: 1px solid #e8dfe4 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif;
}

.woocommerce-checkout-review-order {
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 16px 45px rgba(0, 0, 0, 0.06);
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	font-family: "Karla", sans-serif;
	font-size: 15px;
}

.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 54px;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 800 !important;
}

.woocommerce-checkout #place_order:hover {
	background: #430024 !important;
}
/* =========================================================
   Thank You Page POS Invoice Button
========================================================= */

.rs-thankyou-pos-box {
	max-width: 620px;
	margin: 35px auto;
	padding: 34px;
	background: #fff8f3;
	border: 1px solid #f0dcd2;
	border-radius: 18px;
	text-align: center;
	box-shadow: 0 16px 45px rgba(0, 0, 0, 0.06);
}

.rs-thankyou-pos-box h2 {
	margin: 0 0 10px;
	color: #600033;
	font-family: "Cormorant", sans-serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.1;
}

.rs-thankyou-pos-box p {
	margin: 0 0 22px;
	color: #444444;
	font-family: "Karla", sans-serif;
	font-size: 16px;
	line-height: 27px;
}

.rs-download-pos-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 15px 28px;
	background: #600033;
	color: #ffffff !important;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none !important;
}

.rs-download-pos-btn:hover {
	background: #430024;
	color: #ffffff !important;
}
/* =========================================================
   CHECKOUT PAGE - CLAY OVEN STYLE
========================================================= */

.woocommerce-checkout {
	background: #f7f7f7;
}

/* Main checkout wrapper */
.woocommerce-checkout .woocommerce {
	max-width: 1180px;
	margin: 0 auto;
	padding: 48px 20px 70px;
}

/* Notices / coupon */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	max-width: 100%;
	margin-bottom: 24px;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .showcoupon {
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
	color: #5a5a5a !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
}

.woocommerce-checkout .woocommerce-info::before {
	color: #600033 !important;
}

.woocommerce-checkout .showcoupon {
	color: #600033 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

/* Checkout two-column layout */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 28px;
	align-items: start;
}

/* Left side */
.woocommerce-checkout #customer_details {
	width: 100%;
	margin: 0;
}

/* Right side */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	width: 100%;
	margin: 0;
}

/* Billing and shipping section cards */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
	padding: 26px 26px 30px;
	margin-bottom: 22px;
}

/* Headings */
.woocommerce-checkout h3,
.woocommerce-checkout h2,
.woocommerce-checkout #order_review_heading {
	margin: 0 0 22px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 0;
}

.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: 28px;
	line-height: 1.1;
}

/* Form labels */
.woocommerce-checkout form .form-row label {
	margin-bottom: 8px;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 800;
	line-height: 18px;
}

/* Required asterisk */
.woocommerce-checkout form .required {
	color: #600033 !important;
}

/* Inputs */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection {
	min-height: 52px !important;
	border: 1px solid #e7dfe3 !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: #2a2a2a !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}

.woocommerce-checkout .select2-selection {
	display: flex !important;
	align-items: center !important;
	padding: 0 14px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
	padding: 12px 14px !important;
}

.woocommerce-checkout textarea {
	min-height: 110px !important;
	resize: vertical;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: #600033 !important;
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08) !important;
	outline: none !important;
}

/* Placeholder */
.woocommerce-checkout ::placeholder {
	color: #999999 !important;
	opacity: 1;
}

/* Different shipping checkbox area */
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .shipping_address {
	margin-top: 18px;
}

.woocommerce-checkout .woocommerce-shipping-fields h3 label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: #fff8f3;
	border: 1px solid #f0dcd2;
	border-radius: 12px;
	cursor: pointer;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.woocommerce-checkout .woocommerce-shipping-fields h3 input {
	margin: 0 !important;
	accent-color: #600033;
}

/* Additional information card spacing */
.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 0;
}

/* Order review card */
.woocommerce-checkout #order_review {
	position: sticky;
	top: 110px;
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
	padding: 22px 20px 18px;
}

/* Right title */
.woocommerce-checkout #order_review_heading {
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
	padding: 24px 20px 10px;
	margin: 0;
}

/* Visually connect heading and order box */
.woocommerce-checkout #order_review_heading + #order_review {
	border-top: 3px solid #600033;
	border-radius: 0 0 18px 18px;
	margin-top: -1px;
}

/* Hide product images */
.woocommerce-checkout .product-thumbnail,
.woocommerce-checkout .woocommerce-checkout-review-order-table img,
.woocommerce-checkout-review-order-table .product-image,
.woocommerce table.shop_table img {
	display: none !important;
}

/* Order table */
.woocommerce-checkout-review-order-table {
	border: 0 !important;
	margin: 0 0 20px !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 14px 0 !important;
	border-bottom: 1px solid #f0ecef !important;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 20px;
	background: transparent !important;
}

.woocommerce-checkout-review-order-table thead th {
	font-size: 13px;
	font-weight: 800;
	text-transform: none;
}

.woocommerce-checkout-review-order-table .product-name {
	font-weight: 700;
}

.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	font-weight: 700;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td {
	color: #600033;
	font-size: 16px;
	font-weight: 800;
}

/* Payment box */
.woocommerce-checkout #payment {
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	overflow: hidden;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid #f0ecef !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: 12px 14px !important;
	margin: 0 !important;
	font-family: "Karla", sans-serif !important;
}

.woocommerce-checkout #payment div.payment_box {
	background: #f8f6f3 !important;
	color: #555555 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	line-height: 20px !important;
	border-radius: 8px !important;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #f8f6f3 !important;
}

/* Place order area */
.woocommerce-checkout .place-order {
	padding: 16px 0 0 !important;
}

.woocommerce-checkout #place_order {
	width: 100% !important;
	min-height: 50px !important;
	padding: 14px 24px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	box-shadow: none !important;
}

.woocommerce-checkout #place_order:hover {
	background: #430024 !important;
}

/* Terms / privacy text */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .form-row.terms {
	font-family: "Karla", sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: #666666;
}

/* Coupon form */
.woocommerce-checkout form.checkout_coupon {
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 14px;
	padding: 18px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.woocommerce-checkout form.checkout_coupon .button {
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	border: 0 !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 800 !important;
	min-height: 48px;
	padding: 12px 18px;
}

.woocommerce-checkout form.checkout_coupon .button:hover {
	background: #430024 !important;
}

/* Two-column names row on smaller desktop */
@media (max-width: 1100px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr 340px;
		gap: 22px;
	}

	.woocommerce-checkout h3,
	.woocommerce-checkout h2,
	.woocommerce-checkout #order_review_heading {
		font-size: 38px;
	}
}

/* Tablet / mobile */
@media (max-width: 900px) {
	.woocommerce-checkout .woocommerce {
		padding: 28px 14px 50px;
	}

	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout #order_review {
		position: static;
	}

	.woocommerce-checkout h3,
	.woocommerce-checkout h2,
	.woocommerce-checkout #order_review_heading {
		font-size: 34px;
	}

	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2,
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout #order_review_heading {
		padding-left: 18px;
		padding-right: 18px;
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: 100% !important;
		float: none !important;
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last,
	.woocommerce form .form-row-wide {
		margin-right: 0 !important;
	}
}
/* =========================================================
   FINAL FIX - Checkout Page Layout Broken/Narrow Columns
========================================================= */

/* Main checkout area */
body.woocommerce-checkout main,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .entry-content {
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}

/* Checkout wrapper */
body.woocommerce-checkout .woocommerce {
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 48px 20px 80px !important;
	box-sizing: border-box !important;
}

/* Coupon bar */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-notices-wrapper {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 28px !important;
}

body.woocommerce-checkout .woocommerce-info {
	width: 100% !important;
	margin: 0 !important;
	padding: 18px 24px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-left: 4px solid #600033 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05) !important;
	color: #444444 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
}

/* Main checkout grid */
body.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 390px !important;
	gap: 32px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Force correct grid placement */
body.woocommerce-checkout #customer_details {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	display: block !important;
}

body.woocommerce-checkout #order_review_heading {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-checkout #order_review {
	grid-column: 2 !important;
	grid-row: 2 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Disable WooCommerce default floating columns */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .woocommerce .col2-set,
body.woocommerce-checkout .woocommerce-page .col2-set {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
}

body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2,
body.woocommerce-checkout .woocommerce .col2-set .col-1,
body.woocommerce-checkout .woocommerce .col2-set .col-2,
body.woocommerce-checkout .woocommerce-page .col2-set .col-1,
body.woocommerce-checkout .woocommerce-page .col2-set .col-2 {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: both !important;
}

/* Cards */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 24px !important;
	padding: 30px 34px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
	box-sizing: border-box !important;
}

/* Headings */
body.woocommerce-checkout h3,
body.woocommerce-checkout #order_review_heading {
	margin: 0 0 24px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 42px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	letter-spacing: 0 !important;
}

/* Fix billing fields width */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Form rows */
body.woocommerce-checkout form .form-row {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	float: none !important;
	box-sizing: border-box !important;
}

/* First name and last name side by side on desktop */
body.woocommerce-checkout form .form-row-first,
body.woocommerce-checkout form .form-row-last {
	float: left !important;
	width: calc(50% - 8px) !important;
	max-width: calc(50% - 8px) !important;
	clear: none !important;
}

body.woocommerce-checkout form .form-row-first {
	margin-right: 16px !important;
}

body.woocommerce-checkout form .form-row-last {
	margin-right: 0 !important;
}

body.woocommerce-checkout form .form-row-wide {
	clear: both !important;
}

/* Labels */
body.woocommerce-checkout form .form-row label {
	display: block !important;
	margin: 0 0 8px !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 18px !important;
}

/* Inputs */
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container,
body.woocommerce-checkout .select2-selection {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-selection {
	min-height: 52px !important;
	padding: 12px 14px !important;
	background: #ffffff !important;
	border: 1px solid #e7dfe3 !important;
	border-radius: 10px !important;
	color: #2a2a2a !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	outline: none !important;
}

body.woocommerce-checkout textarea {
	min-height: 120px !important;
}

/* Ship to different address checkbox */
body.woocommerce-checkout .woocommerce-shipping-fields h3 {
	margin: 0 !important;
	font-size: 16px !important;
	font-family: "Karla", sans-serif !important;
	line-height: 1.4 !important;
}

body.woocommerce-checkout .woocommerce-shipping-fields h3 label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: auto !important;
	padding: 14px 18px !important;
	background: #fff8f3 !important;
	border: 1px solid #f0dcd2 !important;
	border-radius: 12px !important;
	cursor: pointer !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
}

body.woocommerce-checkout .woocommerce-shipping-fields h3 input {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	accent-color: #600033 !important;
}

/* Order heading card */
body.woocommerce-checkout #order_review_heading {
	padding: 28px 24px 14px !important;
	margin: 0 !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-bottom: 0 !important;
	border-radius: 18px 18px 0 0 !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
}

/* Order review box */
body.woocommerce-checkout #order_review {
	position: sticky !important;
	top: 110px !important;
	padding: 0 24px 24px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-top: 3px solid #600033 !important;
	border-radius: 0 0 18px 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
	box-sizing: border-box !important;
}

/* Hide product images in checkout */
body.woocommerce-checkout .product-thumbnail,
body.woocommerce-checkout table.shop_table img,
body.woocommerce-checkout .woocommerce-checkout-review-order-table img {
	display: none !important;
}

/* Order table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100% !important;
	margin: 0 0 22px !important;
	border: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 14px 0 !important;
	border-bottom: 1px solid #f0ecef !important;
	background: transparent !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 20px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	text-align: right !important;
	font-weight: 800 !important;
}

/* Payment */
body.woocommerce-checkout #payment {
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 !important;
	border-bottom: 1px solid #f0ecef !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
	padding: 14px !important;
	font-family: "Karla", sans-serif !important;
}

body.woocommerce-checkout #payment div.payment_box {
	background: #f8f6f3 !important;
	color: #555555 !important;
	border-radius: 8px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	line-height: 20px !important;
}

/* Place order button */
body.woocommerce-checkout #place_order {
	width: 100% !important;
	min-height: 52px !important;
	padding: 15px 24px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

body.woocommerce-checkout #place_order:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Mobile */
@media (max-width: 900px) {
	body.woocommerce-checkout .woocommerce {
		padding: 28px 14px 60px !important;
	}

	body.woocommerce-checkout form.checkout {
		display: block !important;
	}

	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review_heading,
	body.woocommerce-checkout #order_review {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
	}

	body.woocommerce-checkout #order_review {
		position: static !important;
		margin-bottom: 24px !important;
	}

	body.woocommerce-checkout .woocommerce-billing-fields,
	body.woocommerce-checkout .woocommerce-shipping-fields,
	body.woocommerce-checkout .woocommerce-additional-fields,
	body.woocommerce-checkout #order_review_heading,
	body.woocommerce-checkout #order_review {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	body.woocommerce-checkout h3,
	body.woocommerce-checkout #order_review_heading {
		font-size: 34px !important;
	}

	body.woocommerce-checkout form .form-row-first,
	body.woocommerce-checkout form .form-row-last {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
	}
}
/* =========================================================
   FINAL PREMIUM CHECKOUT DESIGN - RESTAURANT SAAS
========================================================= */

body.woocommerce-checkout {
	background: #f7f7f7 !important;
}

/* Remove huge page title spacing if theme outputs title */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-header {
	max-width: 1180px !important;
	margin: 0 auto 20px !important;
	padding: 20px 20px 0 !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 52px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
}

/* Main wrapper */
body.woocommerce-checkout .woocommerce {
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 46px 20px 78px !important;
	box-sizing: border-box !important;
}

/* Coupon notice */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-notices-wrapper {
	width: 100% !important;
	margin: 0 0 26px !important;
}

body.woocommerce-checkout .woocommerce-info {
	margin: 0 !important;
	padding: 18px 24px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-left: 4px solid #600033 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05) !important;
	color: #444444 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 22px !important;
}

body.woocommerce-checkout .woocommerce-info::before {
	color: #600033 !important;
}

body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .showcoupon {
	color: #600033 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

/* Main checkout grid */
body.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 380px !important;
	gap: 30px !important;
	align-items: start !important;
	width: 100% !important;
	margin: 0 !important;
}

/* Left column */
body.woocommerce-checkout #customer_details {
	grid-column: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
}

/* Hide separate order heading because it creates broken empty space */
body.woocommerce-checkout #order_review_heading {
	display: none !important;
}

/* Right order card */
body.woocommerce-checkout #order_review {
	grid-column: 2 !important;
	position: sticky !important;
	top: 105px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 28px 24px 24px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-top: 4px solid #600033 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.07) !important;
	box-sizing: border-box !important;
}

/* Add title inside order card */
body.woocommerce-checkout #order_review::before {
	content: "Your Order";
	display: block;
	margin: 0 0 22px;
	padding: 0 0 20px;
	border-bottom: 1px solid #f0ecef;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.05;
}

/* Disable WooCommerce default floated columns */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .woocommerce .col2-set,
body.woocommerce-checkout .woocommerce-page .col2-set,
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: both !important;
}

/* Left cards */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
	width: 100% !important;
	margin: 0 0 22px !important;
	padding: 30px 34px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
	box-sizing: border-box !important;
}

/* Headings */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
	margin: 0 0 24px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 42px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Shipping checkbox card */
body.woocommerce-checkout .woocommerce-shipping-fields h3 {
	margin: 0 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}

body.woocommerce-checkout .woocommerce-shipping-fields h3 label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: auto !important;
	padding: 14px 18px !important;
	background: #fff8f3 !important;
	border: 1px solid #f0dcd2 !important;
	border-radius: 12px !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	cursor: pointer !important;
}

body.woocommerce-checkout .woocommerce-shipping-fields h3 input {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	accent-color: #600033 !important;
}

/* Form rows */
body.woocommerce-checkout form .form-row {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	float: none !important;
	box-sizing: border-box !important;
}

/* First/last name desktop */
body.woocommerce-checkout form .form-row-first,
body.woocommerce-checkout form .form-row-last {
	float: left !important;
	width: calc(50% - 8px) !important;
	max-width: calc(50% - 8px) !important;
	clear: none !important;
}

body.woocommerce-checkout form .form-row-first {
	margin-right: 16px !important;
}

body.woocommerce-checkout form .form-row-last {
	margin-right: 0 !important;
}

body.woocommerce-checkout form .form-row-wide {
	clear: both !important;
}

/* Labels */
body.woocommerce-checkout form .form-row label {
	display: block !important;
	margin: 0 0 8px !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 18px !important;
}

body.woocommerce-checkout form .required {
	color: #600033 !important;
}

/* Inputs */
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container,
body.woocommerce-checkout .select2-selection {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-selection {
	min-height: 52px !important;
	padding: 12px 14px !important;
	background: #ffffff !important;
	border: 1px solid #e7dfe3 !important;
	border-radius: 10px !important;
	color: #2a2a2a !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	outline: none !important;
}

body.woocommerce-checkout textarea {
	min-height: 120px !important;
	resize: vertical !important;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: #600033 !important;
	box-shadow: 0 0 0 4px rgba(96, 0, 51, 0.08) !important;
}

/* Order table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100% !important;
	margin: 0 0 22px !important;
	border: 0 !important;
	border-collapse: collapse !important;
	table-layout: auto !important;
}

/* Remove ugly table borders */
body.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
body.woocommerce-checkout table.shop_table,
body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
}

/* Order table cells */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 13px 0 !important;
	border-bottom: 1px solid #f0ecef !important;
	background: transparent !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 20px !important;
	vertical-align: top !important;
}

/* Header row */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	font-size: 13px !important;
	font-weight: 800 !important;
}

/* Product name */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
	width: 65% !important;
	font-weight: 700 !important;
}

/* Hide vendor line in checkout order if shown */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name small,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .variation,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .wc-item-meta {
	display: none !important;
}

/* Product total */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	width: 35% !important;
	text-align: right !important;
	font-weight: 800 !important;
}

/* Totals */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	font-size: 14px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total .amount {
	color: #600033 !important;
	font-size: 18px !important;
	font-weight: 900 !important;
}

/* Hide product images */
body.woocommerce-checkout .product-thumbnail,
body.woocommerce-checkout table.shop_table img,
body.woocommerce-checkout .woocommerce-checkout-review-order-table img {
	display: none !important;
}

/* Payment box */
body.woocommerce-checkout #payment {
	margin-top: 18px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 !important;
	border-bottom: 1px solid #f0ecef !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
	padding: 14px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
}

body.woocommerce-checkout #payment div.payment_box {
	margin: 10px 0 0 !important;
	background: #f8f6f3 !important;
	color: #555555 !important;
	border-radius: 8px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	line-height: 20px !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #f8f6f3 !important;
}

/* Privacy / terms */
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .form-row.terms {
	color: #666666 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	line-height: 21px !important;
}

/* Place order */
body.woocommerce-checkout #place_order {
	width: 100% !important;
	min-height: 52px !important;
	margin-top: 12px !important;
	padding: 15px 24px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	box-shadow: none !important;
}

body.woocommerce-checkout #place_order:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Coupon form */
body.woocommerce-checkout form.checkout_coupon {
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	padding: 18px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
}

body.woocommerce-checkout form.checkout_coupon .button {
	min-height: 48px !important;
	padding: 12px 18px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 10px !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 800 !important;
}

body.woocommerce-checkout form.checkout_coupon .button:hover {
	background: #430024 !important;
}

/* Responsive */
@media (max-width: 1000px) {
	body.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review {
		grid-column: 1 !important;
	}

	body.woocommerce-checkout #order_review {
		position: static !important;
	}
}

@media (max-width: 767px) {
	body.woocommerce-checkout .woocommerce {
		padding: 28px 14px 60px !important;
	}

	body.woocommerce-checkout .entry-title,
	body.woocommerce-checkout h1.entry-title {
		font-size: 42px !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	body.woocommerce-checkout .woocommerce-billing-fields,
	body.woocommerce-checkout .woocommerce-shipping-fields,
	body.woocommerce-checkout .woocommerce-additional-fields,
	body.woocommerce-checkout #order_review {
		padding: 24px 20px !important;
	}

	body.woocommerce-checkout .woocommerce-billing-fields h3,
	body.woocommerce-checkout .woocommerce-additional-fields h3,
	body.woocommerce-checkout #order_review::before {
		font-size: 34px !important;
	}

	body.woocommerce-checkout form .form-row-first,
	body.woocommerce-checkout form .form-row-last {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
	}

	body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
	body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
		font-size: 13px !important;
	}
}
/* =========================================================
   FINAL CHECKOUT POSITION FIX
   Coupon + Billing + Your Order Alignment
========================================================= */

/* Checkout page wrapper */
body.woocommerce-checkout .woocommerce {
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 45px 20px 80px !important;
}

/* Coupon bar full width and clean */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 64px !important;
	margin: 0 !important;
	padding: 18px 24px 18px 28px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-left: 5px solid #600033 !important;
	border-radius: 14px !important;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05) !important;
	color: #444444 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 24px !important;
	box-sizing: border-box !important;
}

/* Remove broken WooCommerce info icon */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none !important;
}

/* Coupon link */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
	color: #600033 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

/* Main checkout grid */
body.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 390px !important;
	grid-template-rows: auto !important;
	gap: 30px !important;
	align-items: start !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Force billing column to start at top left */
body.woocommerce-checkout form.checkout #customer_details {
	grid-column: 1 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	align-self: start !important;
}

/* Hide separate WooCommerce heading */
body.woocommerce-checkout form.checkout #order_review_heading {
	display: none !important;
}

/* Force order card to start at top right */
body.woocommerce-checkout form.checkout #order_review {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
	position: sticky !important;
	top: 105px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 28px 24px 24px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-top: 5px solid #600033 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.07) !important;
	box-sizing: border-box !important;
}

/* Add Your Order heading inside card */
body.woocommerce-checkout form.checkout #order_review::before {
	content: "Your Order";
	display: block !important;
	margin: 0 0 22px !important;
	padding: 0 0 20px !important;
	border-bottom: 1px solid #f0ecef !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 42px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Make billing/shipping cards normal width */
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: both !important;
}

/* Prevent right order card from being pushed downward */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 0 !important;
}

/* Order table compact */
body.woocommerce-checkout #order_review table.shop_table {
	margin: 0 0 22px !important;
	border: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
	padding: 13px 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid #f0ecef !important;
	background: transparent !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 20px !important;
}

/* Mobile */
@media (max-width: 1000px) {
	body.woocommerce-checkout form.checkout {
		display: block !important;
	}

	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout form.checkout #order_review {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
	}

	body.woocommerce-checkout form.checkout #order_review {
		position: static !important;
		margin-top: 24px !important;
	}

	body.woocommerce-checkout form.checkout #order_review::before {
		font-size: 34px !important;
	}
}
/* =========================================================
   THANK YOU / ORDER RECEIVED PAGE DESIGN
========================================================= */

body.woocommerce-order-received {
	background: #f7f7f7 !important;
}

body.woocommerce-order-received .woocommerce {
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 55px 20px 90px !important;
}

/* Page title */
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received h1.entry-title {
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 35px 20px 0 !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 56px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
}

/* Thank you message */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 24px !important;
	padding: 22px 26px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-left: 5px solid #600033 !important;
	border-radius: 16px !important;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05) !important;
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 26px !important;
}

/* Order overview */
body.woocommerce-order-received .woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	gap: 12px !important;
	margin: 0 0 30px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
	margin: 0 !important;
	padding: 18px 16px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.04) !important;
	color: #666666 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 16px !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
	display: block !important;
	margin-top: 7px !important;
	color: #1f1f1f !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-transform: none !important;
}

/* Order details table card */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 0 28px !important;
	padding: 28px 30px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
}

/* Section headings */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received h2 {
	margin: 0 0 22px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 42px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Table */
body.woocommerce-order-received table.shop_table {
	width: 100% !important;
	border: 0 !important;
	border-collapse: collapse !important;
	margin: 0 !important;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
	padding: 15px 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid #f0ecef !important;
	background: transparent !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 22px !important;
}

body.woocommerce-order-received table.shop_table a {
	color: #600033 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

/* Hide vendor/seller line if shown */
body.woocommerce-order-received table.shop_table small,
body.woocommerce-order-received table.shop_table .wc-item-meta,
body.woocommerce-order-received table.shop_table .variation {
	display: none !important;
}

/* Totals right side */
body.woocommerce-order-received table.shop_table td:last-child,
body.woocommerce-order-received table.shop_table tfoot td {
	text-align: right !important;
	font-weight: 800 !important;
}

/* Addresses */
body.woocommerce-order-received .woocommerce-customer-details address {
	padding: 22px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 24px !important;
}

/* Two-column addresses */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 24px !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
	width: 100% !important;
	float: none !important;
}

/* POS download box */
body.woocommerce-order-received .rs-thankyou-pos-box {
	max-width: 620px !important;
	margin: 38px auto 0 !important;
	padding: 38px 34px !important;
	background: #fff8f3 !important;
	border: 1px solid #f0dcd2 !important;
	border-radius: 18px !important;
	text-align: center !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06) !important;
}

body.woocommerce-order-received .rs-thankyou-pos-box h2 {
	margin: 0 0 12px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 42px !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
}

body.woocommerce-order-received .rs-thankyou-pos-box p {
	margin: 0 0 24px !important;
	color: #555555 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 24px !important;
}

body.woocommerce-order-received .rs-download-pos-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 50px !important;
	padding: 15px 28px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

body.woocommerce-order-received .rs-download-pos-btn:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Mobile */
@media (max-width: 900px) {
	body.woocommerce-order-received .woocommerce {
		padding: 35px 14px 70px !important;
	}

	body.woocommerce-order-received .entry-title,
	body.woocommerce-order-received h1.entry-title {
		font-size: 42px !important;
		padding: 28px 14px 0 !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr 1fr !important;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details {
		padding: 24px 20px !important;
	}

	body.woocommerce-order-received .woocommerce-order-details__title,
	body.woocommerce-order-received .woocommerce-column__title,
	body.woocommerce-order-received h2,
	body.woocommerce-order-received .rs-thankyou-pos-box h2 {
		font-size: 34px !important;
	}
}

@media (max-width: 520px) {
	body.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   FINAL THANK YOU PAGE ALIGNMENT FIX
========================================================= */

body.woocommerce-order-received {
	background: #f7f7f7 !important;
}

body.woocommerce-order-received .woocommerce {
	max-width: 920px !important;
	margin: 0 auto !important;
	padding: 45px 20px 80px !important;
}

/* Page title */
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received h1.entry-title {
	max-width: 920px !important;
	margin: 0 auto !important;
	padding: 34px 20px 0 !important;
	text-align: left !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 54px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Thank you message */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 24px !important;
	padding: 20px 24px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-left: 5px solid #600033 !important;
	border-radius: 14px !important;
	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.05) !important;
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 24px !important;
}

/* Order overview cards */
body.woocommerce-order-received .woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 14px !important;
	margin: 0 0 30px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 18px 16px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04) !important;
	color: #666666 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 15px !important;
	text-transform: uppercase !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
	display: block !important;
	margin-top: 7px !important;
	color: #1f1f1f !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: none !important;
	word-break: break-word !important;
}

/* Payment note */
body.woocommerce-order-received .woocommerce-order p {
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 24px !important;
}

/* Order details card */
body.woocommerce-order-received .woocommerce-order-details {
	margin: 0 0 26px !important;
	padding: 30px 32px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
}

/* Customer details/address card */
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 0 34px !important;
	padding: 30px 32px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
}

/* Section headings */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received h2 {
	margin: 0 0 22px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 40px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Order table */
body.woocommerce-order-received table.shop_table {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
	padding: 15px 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid #f0ecef !important;
	background: transparent !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 22px !important;
}

body.woocommerce-order-received table.shop_table td:last-child,
body.woocommerce-order-received table.shop_table tfoot td {
	text-align: right !important;
	font-weight: 800 !important;
}

/* Hide vendor/product links look */
body.woocommerce-order-received table.shop_table a {
	color: #600033 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

/* Hide meta/vendor lines if needed */
body.woocommerce-order-received table.shop_table small,
body.woocommerce-order-received table.shop_table .wc-item-meta,
body.woocommerce-order-received table.shop_table .variation {
	display: none !important;
}

/* Fix billing/shipping address placement */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	min-height: 170px !important;
	margin: 0 !important;
	padding: 22px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 24px !important;
	box-shadow: none !important;
}

/* POS download box */
body.woocommerce-order-received .rs-thankyou-pos-box {
	max-width: 540px !important;
	margin: 36px auto 0 !important;
	padding: 36px 30px !important;
	background: #fff8f3 !important;
	border: 1px solid #f0dcd2 !important;
	border-radius: 18px !important;
	text-align: center !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06) !important;
}

body.woocommerce-order-received .rs-thankyou-pos-box h2 {
	margin: 0 0 12px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 38px !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
}

body.woocommerce-order-received .rs-thankyou-pos-box p {
	margin: 0 0 22px !important;
	color: #555555 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 23px !important;
}

body.woocommerce-order-received .rs-download-pos-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 14px 26px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

body.woocommerce-order-received .rs-download-pos-btn:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Mobile */
@media (max-width: 900px) {
	body.woocommerce-order-received .woocommerce {
		padding: 35px 14px 70px !important;
	}

	body.woocommerce-order-received .entry-title,
	body.woocommerce-order-received h1.entry-title {
		font-size: 42px !important;
		padding: 28px 14px 0 !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details {
		padding: 24px 20px !important;
	}

	body.woocommerce-order-received .woocommerce-order-details__title,
	body.woocommerce-order-received .woocommerce-column__title,
	body.woocommerce-order-received h2,
	body.woocommerce-order-received .rs-thankyou-pos-box h2 {
		font-size: 34px !important;
	}
}

@media (max-width: 520px) {
	body.woocommerce-order-received .woocommerce-order-overview {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   FINAL THANK YOU PAGE CLEAN LAYOUT FIX
========================================================= */

body.woocommerce-order-received {
	background: #f7f7f7 !important;
}

body.woocommerce-order-received .woocommerce {
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 42px 20px 80px !important;
}

/* Page title */
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received h1.entry-title {
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 34px 20px 0 !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 54px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Thank you message */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 0 24px !important;
	padding: 22px 26px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-left: 5px solid #600033 !important;
	border-radius: 16px !important;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05) !important;
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 26px !important;
}

/* Fix order overview cards in one row */
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received ul.order_details {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 14px !important;
	width: 100% !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-order-received .woocommerce-order-overview li,
body.woocommerce-order-received ul.order_details li {
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 18px 16px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04) !important;
	color: #666666 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 15px !important;
	text-transform: uppercase !important;
	overflow-wrap: anywhere !important;
}

body.woocommerce-order-received .woocommerce-order-overview li strong,
body.woocommerce-order-received ul.order_details li strong {
	display: block !important;
	margin-top: 7px !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 20px !important;
	text-transform: none !important;
	word-break: break-word !important;
}

/* Payment note */
body.woocommerce-order-received .woocommerce-order > p {
	margin: 0 0 24px !important;
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	line-height: 24px !important;
}

/* Order details card */
body.woocommerce-order-received .woocommerce-order-details {
	margin: 0 0 28px !important;
	padding: 30px 32px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
}

/* Section headings */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received h2 {
	margin: 0 0 22px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 40px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Order table */
body.woocommerce-order-received table.shop_table {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
	padding: 15px 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid #f0ecef !important;
	background: transparent !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 22px !important;
}

body.woocommerce-order-received table.shop_table td:last-child,
body.woocommerce-order-received table.shop_table tfoot td {
	text-align: right !important;
	font-weight: 800 !important;
}

body.woocommerce-order-received table.shop_table a {
	color: #600033 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

/* Hide vendor/meta lines if needed */
body.woocommerce-order-received table.shop_table small,
body.woocommerce-order-received table.shop_table .wc-item-meta,
body.woocommerce-order-received table.shop_table .variation {
	display: none !important;
}

/* =========================================================
   Address section fixed properly
========================================================= */

/* Remove the huge empty parent box */
body.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 0 34px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Force addresses side by side */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Stop WooCommerce floats */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--shipping-address {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 28px 30px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05) !important;
	box-sizing: border-box !important;
}

/* Billing left, shipping right */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--billing-address {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--shipping-address {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

/* Address box */
body.woocommerce-order-received .woocommerce-customer-details address {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 22px !important;
	background: #ffffff !important;
	border: 1px solid #eee5e9 !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	color: #333333 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-style: normal !important;
	line-height: 24px !important;
}

/* POS invoice box */
body.woocommerce-order-received .rs-thankyou-pos-box {
	max-width: 540px !important;
	margin: 38px auto 0 !important;
	padding: 36px 30px !important;
	background: #fff8f3 !important;
	border: 1px solid #f0dcd2 !important;
	border-radius: 18px !important;
	text-align: center !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06) !important;
}

body.woocommerce-order-received .rs-thankyou-pos-box h2 {
	margin: 0 0 12px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 38px !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
}

body.woocommerce-order-received .rs-thankyou-pos-box p {
	margin: 0 0 22px !important;
	color: #555555 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 23px !important;
}

body.woocommerce-order-received .rs-download-pos-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 14px 26px !important;
	background: #600033 !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

body.woocommerce-order-received .rs-download-pos-btn:hover {
	background: #430024 !important;
	color: #ffffff !important;
}

/* Mobile */
@media (max-width: 900px) {
	body.woocommerce-order-received .woocommerce {
		padding: 35px 14px 70px !important;
	}

	body.woocommerce-order-received .entry-title,
	body.woocommerce-order-received h1.entry-title {
		font-size: 42px !important;
		padding: 28px 14px 0 !important;
	}

	body.woocommerce-order-received .woocommerce-order-overview,
	body.woocommerce-order-received ul.order_details {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: 1fr !important;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--billing-address,
	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column--shipping-address {
		grid-column: 1 !important;
	}

	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
		padding: 24px 20px !important;
	}

	body.woocommerce-order-received .woocommerce-order-details__title,
	body.woocommerce-order-received .woocommerce-column__title,
	body.woocommerce-order-received h2,
	body.woocommerce-order-received .rs-thankyou-pos-box h2 {
		font-size: 34px !important;
	}
}

@media (max-width: 520px) {
	body.woocommerce-order-received .woocommerce-order-overview,
	body.woocommerce-order-received ul.order_details {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   CUSTOM THANK YOU PAGE - FINAL CLEAN VERSION
========================================================= */

/* Hide default WooCommerce thank-you output */
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .rs-thankyou-pos-box {
	display: none !important;
}

/* Main page */
body.woocommerce-order-received {
	background: #f7f7f7 !important;
}

body.woocommerce-order-received .woocommerce {
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 45px 20px 85px !important;
}

/* Page title */
body.woocommerce-order-received .entry-title,
body.woocommerce-order-received h1.entry-title {
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 34px 20px 0 !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 54px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
}

/* Custom wrapper */
.rs5-thankyou-page {
	width: 100%;
}

/* Message */
.rs5-thankyou-message {
	margin-bottom: 24px;
	padding: 24px 28px;
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-left: 5px solid #600033;
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05);
}

.rs5-thankyou-message h2 {
	margin: 0 0 6px;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 18px;
	font-weight: 800;
	line-height: 26px;
}

.rs5-thankyou-message p {
	margin: 0;
	color: #555555;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 24px;
}

/* Summary cards */
.rs5-order-summary-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 30px;
}

.rs5-summary-card {
	padding: 18px 16px;
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04);
}

.rs5-summary-card span {
	display: block;
	margin-bottom: 7px;
	color: #666666;
	font-family: "Karla", sans-serif;
	font-size: 10px;
	font-weight: 800;
	line-height: 15px;
	text-transform: uppercase;
}

.rs5-summary-card strong {
	display: block;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 20px;
	overflow-wrap: anywhere;
}

/* Order card */
.rs5-order-details-card,
.rs5-address-card,
.rs5-pos-download-card {
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.05);
}

.rs5-order-details-card {
	margin-bottom: 28px;
	padding: 30px 32px;
}

.rs5-order-details-card h2,
.rs5-address-card h2,
.rs5-pos-download-card h2 {
	margin: 0 0 22px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.05;
}

/* Order table */
.rs5-order-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.rs5-order-table th,
.rs5-order-table td {
	padding: 15px 0;
	border-bottom: 1px solid #f0ecef;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 22px;
	text-align: left;
}

.rs5-order-table th:last-child,
.rs5-order-table td:last-child {
	text-align: right;
	font-weight: 800;
}

.rs5-order-table tfoot tr:last-child th,
.rs5-order-table tfoot tr:last-child td {
	color: #600033;
	font-weight: 900;
}

/* Address cards */
.rs5-address-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 34px;
}

.rs5-address-card {
	padding: 28px 30px;
}

.rs5-address-content {
	padding: 22px;
	background: #ffffff;
	border: 1px solid #eee5e9;
	border-radius: 14px;
	color: #333333;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-style: normal;
	line-height: 24px;
}

/* POS download card */
.rs5-pos-download-card {
	max-width: 540px;
	margin: 38px auto 0;
	padding: 36px 30px;
	background: #fff8f3;
	border-color: #f0dcd2;
	text-align: center;
}

.rs5-pos-download-card h2 {
	margin-bottom: 12px;
	font-size: 38px;
}

.rs5-pos-download-card p {
	margin: 0 0 22px;
	color: #555555;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 23px;
}

.rs5-pos-download-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 26px;
	background: #600033;
	color: #ffffff !important;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
}

.rs5-pos-download-btn:hover {
	background: #430024;
	color: #ffffff !important;
}

/* Mobile */
@media (max-width: 900px) {
	body.woocommerce-order-received .woocommerce {
		padding: 35px 14px 70px !important;
	}

	body.woocommerce-order-received .entry-title,
	body.woocommerce-order-received h1.entry-title {
		font-size: 42px !important;
		padding: 28px 14px 0 !important;
	}

	.rs5-order-summary-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rs5-address-grid {
		grid-template-columns: 1fr;
	}

	.rs5-order-details-card,
	.rs5-address-card {
		padding: 24px 20px;
	}

	.rs5-order-details-card h2,
	.rs5-address-card h2,
	.rs5-pos-download-card h2 {
		font-size: 34px;
	}
}

@media (max-width: 520px) {
	.rs5-order-summary-grid {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   RESTAURANTHUB PREMIUM ROYAL HOMEPAGE
========================================================= */

.rs-homepage {
	background: #fbf7ef;
	color: #1f1f1f;
	overflow: hidden;
}

.rs-home-container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.rs-home-eyebrow {
	display: inline-flex;
	margin-bottom: 14px;
	color: #600033;
	font-family: "Karla", sans-serif;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.rs-home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 14px 26px;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-home-btn-primary {
	background: #600033;
	color: #ffffff !important;
	box-shadow: 0 14px 32px rgba(96, 0, 51, 0.22);
}

.rs-home-btn-primary:hover {
	background: #430024;
	color: #ffffff !important;
	transform: translateY(-2px);
}

.rs-home-btn-outline {
	background: rgba(255, 255, 255, 0.55);
	color: #600033 !important;
	border: 1px solid rgba(96, 0, 51, 0.35);
}

.rs-home-btn-outline:hover {
	background: #600033;
	color: #ffffff !important;
	transform: translateY(-2px);
}

/* Hero */
.rs-home-hero {
	position: relative;
	min-height: 650px;
	display: flex;
	align-items: center;
	background: #fbf7ef;
}

.rs-home-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.rs-home-hero-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.rs-home-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		linear-gradient(90deg, rgba(251, 247, 239, 0.98) 0%, rgba(251, 247, 239, 0.88) 34%, rgba(251, 247, 239, 0.38) 62%, rgba(251, 247, 239, 0.12) 100%),
		linear-gradient(180deg, rgba(255,255,255,0.18), rgba(251,247,239,0.2));
}

.rs-home-hero-content {
	position: relative;
	z-index: 3;
	padding: 90px 0 110px;
}

.rs-home-hero-text {
	max-width: 560px;
}

.rs-home-hero h1 {
	margin: 0 0 22px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: clamp(60px, 7vw, 96px);
	font-weight: 500;
	line-height: 0.95;
	letter-spacing: -0.03em;
}

.rs-home-hero h1 span {
	color: #b68a3a;
	font-style: italic;
}

.rs-home-hero p {
	max-width: 480px;
	margin: 0 0 28px;
	color: #3c3834;
	font-family: "Karla", sans-serif;
	font-size: 17px;
	line-height: 29px;
}

.rs-home-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 28px;
}

.rs-home-trust {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: "Karla", sans-serif;
	color: #3c3834;
}

.rs-home-trust strong {
	color: #600033;
	font-size: 24px;
	font-weight: 900;
}

.rs-home-trust span {
	font-size: 14px;
	font-weight: 700;
}

/* Search */
.rs-home-search-wrap {
	position: relative;
	z-index: 4;
	margin-top: -48px;
}

.rs-home-search-card {
	display: grid;
	grid-template-columns: 1fr 1fr 1.3fr auto;
	align-items: center;
	gap: 0;
	padding: 16px;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(182, 138, 58, 0.45);
	border-radius: 18px;
	box-shadow: 0 22px 60px rgba(96, 0, 51, 0.09);
	backdrop-filter: blur(12px);
}

.rs-home-search-item {
	padding: 0 18px;
	border-right: 1px solid #eee1cf;
}

.rs-home-search-item span {
	display: block;
	margin-bottom: 7px;
	color: #600033;
	font-family: "Karla", sans-serif;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.rs-home-search-item input,
.rs-home-search-item select {
	width: 100%;
	border: 0;
	background: transparent;
	color: #2a2a2a;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	outline: none;
}

.rs-home-search-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 15px 28px;
	background: #600033;
	color: #ffffff !important;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none !important;
	white-space: nowrap;
}

/* Benefits */
.rs-home-benefits {
	padding: 36px 0 20px;
}

.rs-home-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: rgba(255,255,255,0.72);
	border: 1px solid #efe3d0;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.04);
}

.rs-home-benefits-grid div {
	padding: 24px;
	border-right: 1px solid #efe3d0;
}

.rs-home-benefits-grid div:last-child {
	border-right: 0;
}

.rs-home-benefits-grid strong {
	display: block;
	margin-bottom: 6px;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	font-weight: 900;
}

.rs-home-benefits-grid span {
	color: #6a6258;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	line-height: 20px;
}

/* Split cards */
.rs-home-split-section {
	padding: 40px 0 44px;
}

.rs-home-split-grid {
	display: grid;
	grid-template-columns: 1fr 330px 1fr;
	gap: 22px;
	align-items: stretch;
}

.rs-home-info-card {
	padding: 36px 34px;
	background: rgba(255,255,255,0.74);
	border: 1px solid #e7cfa5;
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rs-home-info-card h2,
.rs-home-section-head h2,
.rs-home-reservation-content h2,
.rs-home-how-text h2,
.rs-home-partner-card h2 {
	margin: 0 0 24px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.05;
}

.rs-home-info-card ul {
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

.rs-home-info-card li {
	margin-bottom: 16px;
	padding-left: 28px;
	position: relative;
}

.rs-home-info-card li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 12px;
	height: 12px;
	border: 1px solid #b68a3a;
	border-radius: 50%;
	background: #fff8eb;
}

.rs-home-info-card li strong {
	display: block;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	font-weight: 900;
}

.rs-home-info-card li span {
	display: block;
	color: #6a6258;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 22px;
}

.rs-home-center-image {
	overflow: hidden;
	border-radius: 26px;
	border: 2px solid #d5a750;
	box-shadow: 0 24px 60px rgba(0,0,0,0.12);
}

.rs-home-center-image img {
	width: 100%;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
	display: block;
}

/* Featured */
.rs-home-featured {
	padding: 20px 0 45px;
}

.rs-home-section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}

.rs-home-section-head h2 {
	margin-bottom: 0;
}

.rs-home-section-head a {
	color: #600033;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

.rs-home-restaurant-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.rs-home-restaurant-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #eee1cf;
	border-radius: 18px;
	box-shadow: 0 16px 40px rgba(0,0,0,0.05);
}

.rs-home-restaurant-card img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	display: block;
}

.rs-home-restaurant-card div {
	padding: 18px;
}

.rs-home-restaurant-card span {
	display: inline-flex;
	margin-bottom: 8px;
	color: #600033;
	font-family: "Karla", sans-serif;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.rs-home-restaurant-card h3 {
	margin: 0 0 6px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.1;
}

.rs-home-restaurant-card p,
.rs-home-restaurant-card strong {
	color: #6a6258;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	line-height: 22px;
}

.rs-home-restaurant-card strong {
	display: block;
	margin-top: 10px;
	color: #1f1f1f;
	font-weight: 900;
}

/* Reservation */
.rs-home-reservation {
	padding: 30px 0 45px;
}

.rs-home-reservation-card {
	position: relative;
	overflow: hidden;
	min-height: 330px;
	border-radius: 24px;
	background: #600033;
	box-shadow: 0 24px 60px rgba(96,0,51,0.16);
}

.rs-home-reservation-bg {
	position: absolute;
	inset: 0;
}

.rs-home-reservation-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rs-home-reservation-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(96,0,51,0.96), rgba(96,0,51,0.72), rgba(96,0,51,0.25));
}

.rs-home-reservation-content {
	position: relative;
	z-index: 2;
	max-width: 720px;
	padding: 44px;
	color: #ffffff;
}

.rs-home-reservation-content .rs-home-eyebrow,
.rs-home-reservation-content h2,
.rs-home-reservation-content p {
	color: #ffffff;
}

.rs-home-reservation-content p {
	margin: 0 0 24px;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 25px;
}

.rs-home-reservation-form {
	display: grid;
	grid-template-columns: repeat(3, 1fr) auto;
	gap: 12px;
}

.rs-home-reservation-form div,
.rs-home-reservation-form a {
	padding: 16px 18px;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 14px;
	color: #ffffff;
	font-family: "Karla", sans-serif;
	text-decoration: none;
}

.rs-home-reservation-form span {
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	opacity: 0.8;
}

.rs-home-reservation-form strong,
.rs-home-reservation-form a {
	font-size: 14px;
	font-weight: 900;
}

/* How */
.rs-home-how {
	padding: 20px 0 45px;
}

.rs-home-how-card {
	display: grid;
	grid-template-columns: 280px 1fr 260px;
	gap: 28px;
	align-items: center;
	padding: 34px;
	background: rgba(255,255,255,0.72);
	border: 1px solid #e7cfa5;
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rs-home-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

.rs-home-steps div {
	position: relative;
}

.rs-home-steps b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-bottom: 12px;
	background: #600033;
	color: #ffffff;
	border-radius: 50%;
	font-family: "Karla", sans-serif;
	font-size: 14px;
}

.rs-home-steps strong {
	display: block;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
}

.rs-home-steps span {
	display: block;
	color: #6a6258;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	line-height: 20px;
}

.rs-home-how-img img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-radius: 18px;
}

/* Partner */
.rs-home-partner {
	padding: 20px 0 55px;
}

.rs-home-partner-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 44px;
	background: linear-gradient(135deg, #600033, #2b0017);
	border-radius: 24px;
	color: #ffffff;
	box-shadow: 0 24px 60px rgba(96,0,51,0.18);
}

.rs-home-partner-card h2,
.rs-home-partner-card .rs-home-eyebrow,
.rs-home-partner-card p {
	color: #ffffff;
}

.rs-home-partner-card p {
	max-width: 560px;
	margin: 0;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 25px;
}

.rs-home-btn-light {
	background: #ffffff;
	color: #600033 !important;
}

/* Responsive */
@media (max-width: 1024px) {
	.rs-home-search-card,
	.rs-home-split-grid,
	.rs-home-how-card {
		grid-template-columns: 1fr;
	}

	.rs-home-search-item {
		border-right: 0;
		border-bottom: 1px solid #eee1cf;
		padding: 14px;
	}

	.rs-home-benefits-grid,
	.rs-home-restaurant-grid,
	.rs-home-steps {
		grid-template-columns: repeat(2, 1fr);
	}

	.rs-home-reservation-form {
		grid-template-columns: 1fr 1fr;
	}

	.rs-home-partner-card {
		display: block;
	}

	.rs-home-partner-card .rs-home-btn {
		margin-top: 24px;
	}
}

@media (max-width: 767px) {
	.rs-home-container {
		width: min(100% - 28px, 1180px);
	}

	.rs-home-hero {
		min-height: 620px;
	}

	.rs-home-hero-overlay {
		background: linear-gradient(90deg, rgba(251,247,239,0.97), rgba(251,247,239,0.82));
	}

	.rs-home-hero-content {
		padding: 70px 0 100px;
	}

	.rs-home-hero h1 {
		font-size: 54px;
	}

	.rs-home-search-card,
	.rs-home-benefits-grid,
	.rs-home-restaurant-grid,
	.rs-home-steps,
	.rs-home-reservation-form {
		grid-template-columns: 1fr;
	}

	.rs-home-benefits-grid div {
		border-right: 0;
		border-bottom: 1px solid #eee1cf;
	}

	.rs-home-benefits-grid div:last-child {
		border-bottom: 0;
	}

	.rs-home-info-card,
	.rs-home-reservation-content,
	.rs-home-how-card,
	.rs-home-partner-card {
		padding: 28px 22px;
	}

	.rs-home-center-image img {
		min-height: 360px;
	}

	.rs-home-section-head {
		display: block;
	}

	.rs-home-info-card h2,
	.rs-home-section-head h2,
	.rs-home-reservation-content h2,
	.rs-home-how-text h2,
	.rs-home-partner-card h2 {
		font-size: 36px;
	}
}
/* =========================================================
   RESTAURANTHUB ROYAL HEADER + FOOTER
========================================================= */

.rs-royal-container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

/* Header */
.rs-royal-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: rgba(255, 255, 255, 0.92);
	border-bottom: 1px solid rgba(182, 138, 58, 0.16);
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.045);
	backdrop-filter: blur(14px);
}

.admin-bar .rs-royal-header {
	top: 32px;
}

.rs-royal-header-inner {
	min-height: 82px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 34px;
}

.rs-royal-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
}

.rs-royal-logo img {
	display: block;
	width: auto;
	height: 58px;
	max-width: 250px;
	object-fit: contain;
}

.rs-royal-nav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-royal-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.rs-royal-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	width: 0;
	height: 2px;
	margin: auto;
	background: #600033;
	border-radius: 999px;
	transition: width 0.25s ease;
}

.rs-royal-nav a:hover {
	color: #600033;
}

.rs-royal-nav a:hover::after {
	width: 100%;
}

.rs-royal-header-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

.rs-royal-login {
	display: inline-flex;
	align-items: center;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
}

.rs-royal-login:hover {
	color: #600033;
}

.rs-royal-order-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 14px 24px;
	background: #600033;
	color: #ffffff !important;
	border-radius: 999px;
	box-shadow: 0 14px 28px rgba(96, 0, 51, 0.22);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-royal-order-btn:hover {
	background: #430024;
	color: #ffffff !important;
	transform: translateY(-2px);
}

/* Mobile toggle */
.rs-royal-mobile-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(96, 0, 51, 0.12);
	border-radius: 14px;
	background: #fff4f9;
	cursor: pointer;
}

.rs-royal-mobile-toggle span {
	display: block;
	width: 20px;
	height: 2px;
	background: #600033;
	border-radius: 999px;
}

/* Footer */
.rs-royal-footer {
	background:
		radial-gradient(circle at 18% 0%, rgba(112, 0, 58, 0.65), transparent 38%),
		linear-gradient(135deg, #330019 0%, #16000b 100%);
	color: #ffffff;
	padding: 70px 0 24px;
}

.rs-royal-footer-main {
	display: grid;
	grid-template-columns: 1.45fr 0.85fr 0.95fr 1fr;
	gap: 58px;
	padding-bottom: 44px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.rs-royal-footer-logo {
	display: inline-flex;
	align-items: center;
	margin-bottom: 20px;
	background: #ffffff;
	border-radius: 12px;
	padding: 10px 16px;
	text-decoration: none !important;
}

.rs-royal-footer-logo img {
	display: block;
	height: 54px;
	width: auto;
	max-width: 240px;
	object-fit: contain;
}

.rs-royal-footer-brand p,
.rs-royal-footer-contact p {
	margin: 0 0 20px;
	color: rgba(255, 255, 255, 0.78);
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 26px;
}

.rs-royal-socials {
	display: flex;
	align-items: center;
	gap: 10px;
}

.rs-royal-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	color: #ffffff !important;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-royal-socials a:hover {
	background: #ffffff;
	color: #600033 !important;
}

.rs-royal-footer-col h3 {
	margin: 0 0 20px;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: 34px;
	font-weight: 500;
	line-height: 1.05;
}

.rs-royal-footer-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-royal-footer-col li {
	margin-bottom: 12px;
}

.rs-royal-footer-col a {
	color: rgba(255, 255, 255, 0.78);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 22px;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.rs-royal-footer-col a:hover {
	color: #ffffff;
}

.rs-royal-footer-contact > a:not(.rs-royal-footer-btn) {
	display: block;
	margin-bottom: 10px;
	color: rgba(255, 255, 255, 0.82);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.rs-royal-footer-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: 14px;
	padding: 13px 22px;
	background: #ffffff;
	color: #600033 !important;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none !important;
}

.rs-royal-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 24px;
}

.rs-royal-footer-bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.58);
	font-family: "Karla", sans-serif;
	font-size: 13px;
	line-height: 22px;
}

.rs-royal-footer-bottom div {
	display: flex;
	align-items: center;
	gap: 24px;
}

.rs-royal-footer-bottom a {
	color: rgba(255, 255, 255, 0.58);
	font-family: "Karla", sans-serif;
	font-size: 13px;
	text-decoration: none !important;
}

.rs-royal-footer-bottom a:hover {
	color: #ffffff;
}

/* Responsive */
@media (max-width: 1100px) {
	.rs-royal-header-inner {
		grid-template-columns: auto auto;
		justify-content: space-between;
	}

	.rs-royal-mobile-toggle {
		display: flex;
	}

	.rs-royal-nav {
		position: absolute;
		left: 20px;
		right: 20px;
		top: 82px;
		display: none;
		padding: 16px;
		background: #ffffff;
		border: 1px solid rgba(96, 0, 51, 0.08);
		border-radius: 0 0 22px 22px;
		box-shadow: 0 22px 50px rgba(0, 0, 0, 0.14);
	}

	.rs-royal-nav.is-open {
		display: block;
	}

	.rs-royal-nav ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.rs-royal-nav a {
		width: 100%;
		padding: 14px 14px;
		border-radius: 12px;
	}

	.rs-royal-nav a:hover {
		background: #fff4f9;
	}

	.rs-royal-header-actions {
		display: none;
	}

	.rs-royal-footer-main {
		grid-template-columns: 1fr 1fr;
		gap: 38px;
	}
}

@media (max-width: 767px) {
	.admin-bar .rs-royal-header {
		top: 46px;
	}

	.rs-royal-container {
		width: min(100% - 28px, 1180px);
	}

	.rs-royal-header-inner {
		min-height: 74px;
	}

	.rs-royal-logo img {
		height: 48px;
		max-width: 210px;
	}

	.rs-royal-nav {
		left: 14px;
		right: 14px;
		top: 74px;
	}

	.rs-royal-footer {
		padding-top: 54px;
	}

	.rs-royal-footer-main {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.rs-royal-footer-bottom {
		display: block;
	}

	.rs-royal-footer-bottom div {
		margin-top: 14px;
		flex-wrap: wrap;
		gap: 14px;
	}
}
/* =========================================================
   RESTAURANTHUB ROYAL HEADER + FOOTER
========================================================= */

.rs-royal-container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

/* Header */
.rs-royal-header {
	position: sticky;
	top: 0;
	z-index: 9999;
	background: rgba(255, 255, 255, 0.92);
	border-bottom: 1px solid rgba(182, 138, 58, 0.16);
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.045);
	backdrop-filter: blur(14px);
}

.admin-bar .rs-royal-header {
	top: 32px;
}

.rs-royal-header-inner {
	min-height: 82px;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 34px;
}

.rs-royal-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
}

.rs-royal-logo img {
	display: block;
	width: auto;
	height: 58px;
	max-width: 250px;
	object-fit: contain;
}

.rs-royal-nav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-royal-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.rs-royal-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	width: 0;
	height: 2px;
	margin: auto;
	background: #600033;
	border-radius: 999px;
	transition: width 0.25s ease;
}

.rs-royal-nav a:hover {
	color: #600033;
}

.rs-royal-nav a:hover::after {
	width: 100%;
}

.rs-royal-header-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

.rs-royal-login {
	display: inline-flex;
	align-items: center;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
}

.rs-royal-login:hover {
	color: #600033;
}

.rs-royal-order-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 14px 24px;
	background: #600033;
	color: #ffffff !important;
	border-radius: 999px;
	box-shadow: 0 14px 28px rgba(96, 0, 51, 0.22);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-royal-order-btn:hover {
	background: #430024;
	color: #ffffff !important;
	transform: translateY(-2px);
}

/* Mobile toggle */
.rs-royal-mobile-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(96, 0, 51, 0.12);
	border-radius: 14px;
	background: #fff4f9;
	cursor: pointer;
}

.rs-royal-mobile-toggle span {
	display: block;
	width: 20px;
	height: 2px;
	background: #600033;
	border-radius: 999px;
}

/* Footer */
.rs-royal-footer {
	background:
		radial-gradient(circle at 18% 0%, rgba(112, 0, 58, 0.65), transparent 38%),
		linear-gradient(135deg, #330019 0%, #16000b 100%);
	color: #ffffff;
	padding: 70px 0 24px;
}

.rs-royal-footer-main {
	display: grid;
	grid-template-columns: 1.45fr 0.85fr 0.95fr 1fr;
	gap: 58px;
	padding-bottom: 44px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.rs-royal-footer-logo {
	display: inline-flex;
	align-items: center;
	margin-bottom: 20px;
	background: #ffffff;
	border-radius: 12px;
	padding: 10px 16px;
	text-decoration: none !important;
}

.rs-royal-footer-logo img {
	display: block;
	height: 54px;
	width: auto;
	max-width: 240px;
	object-fit: contain;
}

.rs-royal-footer-brand p,
.rs-royal-footer-contact p {
	margin: 0 0 20px;
	color: rgba(255, 255, 255, 0.78);
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 26px;
}

.rs-royal-socials {
	display: flex;
	align-items: center;
	gap: 10px;
}

.rs-royal-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	color: #ffffff !important;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rs-royal-socials a:hover {
	background: #ffffff;
	color: #600033 !important;
}

.rs-royal-footer-col h3 {
	margin: 0 0 20px;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: 34px;
	font-weight: 500;
	line-height: 1.05;
}

.rs-royal-footer-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rs-royal-footer-col li {
	margin-bottom: 12px;
}

.rs-royal-footer-col a {
	color: rgba(255, 255, 255, 0.78);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 22px;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.rs-royal-footer-col a:hover {
	color: #ffffff;
}

.rs-royal-footer-contact > a:not(.rs-royal-footer-btn) {
	display: block;
	margin-bottom: 10px;
	color: rgba(255, 255, 255, 0.82);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.rs-royal-footer-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: 14px;
	padding: 13px 22px;
	background: #ffffff;
	color: #600033 !important;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none !important;
}

.rs-royal-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 24px;
}

.rs-royal-footer-bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.58);
	font-family: "Karla", sans-serif;
	font-size: 13px;
	line-height: 22px;
}

.rs-royal-footer-bottom div {
	display: flex;
	align-items: center;
	gap: 24px;
}

.rs-royal-footer-bottom a {
	color: rgba(255, 255, 255, 0.58);
	font-family: "Karla", sans-serif;
	font-size: 13px;
	text-decoration: none !important;
}

.rs-royal-footer-bottom a:hover {
	color: #ffffff;
}

/* Responsive */
@media (max-width: 1100px) {
	.rs-royal-header-inner {
		grid-template-columns: auto auto;
		justify-content: space-between;
	}

	.rs-royal-mobile-toggle {
		display: flex;
	}

	.rs-royal-nav {
		position: absolute;
		left: 20px;
		right: 20px;
		top: 82px;
		display: none;
		padding: 16px;
		background: #ffffff;
		border: 1px solid rgba(96, 0, 51, 0.08);
		border-radius: 0 0 22px 22px;
		box-shadow: 0 22px 50px rgba(0, 0, 0, 0.14);
	}

	.rs-royal-nav.is-open {
		display: block;
	}

	.rs-royal-nav ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.rs-royal-nav a {
		width: 100%;
		padding: 14px 14px;
		border-radius: 12px;
	}

	.rs-royal-nav a:hover {
		background: #fff4f9;
	}

	.rs-royal-header-actions {
		display: none;
	}

	.rs-royal-footer-main {
		grid-template-columns: 1fr 1fr;
		gap: 38px;
	}
}

@media (max-width: 767px) {
	.admin-bar .rs-royal-header {
		top: 46px;
	}

	.rs-royal-container {
		width: min(100% - 28px, 1180px);
	}

	.rs-royal-header-inner {
		min-height: 74px;
	}

	.rs-royal-logo img {
		height: 48px;
		max-width: 210px;
	}

	.rs-royal-nav {
		left: 14px;
		right: 14px;
		top: 74px;
	}

	.rs-royal-footer {
		padding-top: 54px;
	}

	.rs-royal-footer-main {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.rs-royal-footer-bottom {
		display: block;
	}

	.rs-royal-footer-bottom div {
		margin-top: 14px;
		flex-wrap: wrap;
		gap: 14px;
	}
}
/* =========================================================
   Header Menu Fix - Use WordPress Menu + Remove Login Space
========================================================= */

.rs-royal-nav .rs-royal-menu,
.rs-royal-nav ul {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rs-royal-nav .rs-royal-menu li,
.rs-royal-nav ul li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rs-royal-nav .rs-royal-menu a,
.rs-royal-nav ul a {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	min-height: 38px !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.rs-royal-nav .rs-royal-menu a::after,
.rs-royal-nav ul a::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 2px !important;
	width: 0 !important;
	height: 2px !important;
	margin: auto !important;
	background: #600033 !important;
	border-radius: 999px !important;
	transition: width 0.25s ease !important;
}

.rs-royal-nav .rs-royal-menu a:hover,
.rs-royal-nav ul a:hover,
.rs-royal-nav .current-menu-item > a {
	color: #600033 !important;
}

.rs-royal-nav .rs-royal-menu a:hover::after,
.rs-royal-nav ul a:hover::after,
.rs-royal-nav .current-menu-item > a::after {
	width: 100% !important;
}

/* Make sure login link/space never appears */
.rs-royal-login {
	display: none !important;
}

/* Mobile menu */
@media (max-width: 1100px) {
	.rs-royal-nav .rs-royal-menu,
	.rs-royal-nav ul {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 4px !important;
	}

	.rs-royal-nav .rs-royal-menu a,
	.rs-royal-nav ul a {
		width: 100% !important;
		padding: 14px 14px !important;
		border-radius: 12px !important;
	}

	.rs-royal-nav .rs-royal-menu a:hover,
	.rs-royal-nav ul a:hover {
		background: #fff4f9 !important;
	}
}
/* =========================================================
   RESTAURANTHUB ROYAL HOMEPAGE - MOCKUP MATCH
========================================================= */

.rh-royal-home {
	background: #fbf7ef;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	overflow: hidden;
}

.rh-container {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}

.rh-eyebrow {
	display: inline-flex;
	margin-bottom: 13px;
	color: #7a003f;
	font-family: "Karla", sans-serif;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rh-btn,
.rh-small-btn,
.rh-light-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 13px 24px;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.rh-btn-primary {
	background: #780040;
	color: #fff !important;
	box-shadow: 0 14px 30px rgba(120, 0, 64, 0.22);
}

.rh-btn-outline {
	background: rgba(255, 255, 255, 0.4);
	color: #780040 !important;
	border: 1px solid rgba(120, 0, 64, 0.42);
}

.rh-btn:hover,
.rh-small-btn:hover,
.rh-light-btn:hover {
	transform: translateY(-2px);
}

/* Hero */
.rh-hero {
	position: relative;
	min-height: 560px;
	display: flex;
	align-items: center;
}

.rh-hero-bg,
.rh-hero-bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.rh-hero-bg img {
	object-fit: cover;
	object-position: center right;
}

.rh-hero-shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(251,247,239,0.98) 0%, rgba(251,247,239,0.88) 38%, rgba(251,247,239,0.3) 68%, rgba(251,247,239,0.05) 100%),
		linear-gradient(180deg, rgba(255,255,255,0.18), rgba(251,247,239,0.3));
}

.rh-hero-inner {
	position: relative;
	z-index: 2;
	padding: 70px 0 95px;
}

.rh-hero-copy {
	max-width: 520px;
}

.rh-hero h1 {
	margin: 0 0 20px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: clamp(58px, 6.3vw, 86px);
	font-weight: 500;
	line-height: 0.95;
	letter-spacing: -0.03em;
}

.rh-hero h1 span {
	color: #b58232;
}

.rh-hero p {
	max-width: 440px;
	margin: 0 0 28px;
	color: #4a4239;
	font-size: 16px;
	line-height: 27px;
}

.rh-hero-buttons {
	display: flex;
	gap: 14px;
	margin-bottom: 26px;
}

.rh-trust-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

.rh-avatar-stack {
	display: flex;
}

.rh-avatar-stack span {
	width: 28px;
	height: 28px;
	margin-left: -6px;
	background: linear-gradient(135deg, #6f002e, #d8a241);
	border: 2px solid #fff;
	border-radius: 50%;
}

.rh-avatar-stack span:first-child {
	margin-left: 0;
}

.rh-trust-row strong {
	display: block;
	color: #1f1f1f;
	font-size: 14px;
	font-weight: 900;
}

.rh-trust-row small {
	color: #6a6258;
	font-size: 13px;
}

/* Search */
.rh-search-section {
	position: relative;
	z-index: 3;
	margin-top: -48px;
}

.rh-search-box {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr auto;
	align-items: stretch;
	padding: 16px;
	background: rgba(255,255,255,0.94);
	border: 1px solid #d9a94c;
	border-radius: 18px;
	box-shadow: 0 20px 52px rgba(111, 62, 12, 0.12);
	backdrop-filter: blur(14px);
}

.rh-search-field {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0 20px;
	border-right: 1px solid #efe1c9;
}

.rh-search-field i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: #b58232;
	background: #fff8ea;
	border-radius: 50%;
	font-style: normal;
	font-weight: 900;
}

.rh-search-field span {
	display: block;
	margin-bottom: 6px;
	color: #4b4038;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.rh-search-field input,
.rh-search-field select {
	width: 100%;
	border: 0;
	background: transparent;
	color: #5c534a;
	font-size: 14px;
	outline: none;
}

.rh-search-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	background: #780040;
	color: #fff !important;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none !important;
}

/* Feature strip */
.rh-feature-strip {
	padding: 34px 0 20px;
}

.rh-strip-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: rgba(255,255,255,0.72);
	border: 1px solid #eadcc5;
	border-radius: 18px;
	box-shadow: 0 18px 42px rgba(0,0,0,0.045);
}

.rh-strip-grid div {
	display: grid;
	grid-template-columns: 44px 1fr;
	column-gap: 14px;
	padding: 24px 26px;
	border-right: 1px solid #eadcc5;
}

.rh-strip-grid div:last-child {
	border-right: 0;
}

.rh-strip-grid i {
	grid-row: span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: #b58232;
	background: #fff8ea;
	border: 1px solid #ecd7ae;
	border-radius: 50%;
	font-style: normal;
}

.rh-strip-grid strong {
	color: #1f1f1f;
	font-size: 15px;
	font-weight: 900;
}

.rh-strip-grid span {
	color: #6d6258;
	font-size: 13px;
}

/* Why section */
.rh-why-section {
	padding: 28px 0 42px;
}

.rh-why-grid {
	display: grid;
	grid-template-columns: 1fr 330px 1fr;
	gap: 18px;
	align-items: stretch;
}

.rh-ornate-card {
	position: relative;
	padding: 34px 32px;
	background: rgba(255,255,255,0.74);
	border: 1px solid #d9a94c;
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rh-ornate-card::before,
.rh-ornate-card::after {
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	border-color: #d9a94c;
	border-style: solid;
	pointer-events: none;
}

.rh-left-card::before,
.rh-right-card::before {
	left: -1px;
	top: -1px;
	border-width: 1px 0 0 1px;
	border-radius: 22px 0 0 0;
}

.rh-left-card::after,
.rh-right-card::after {
	right: -1px;
	bottom: -1px;
	border-width: 0 1px 1px 0;
	border-radius: 0 0 22px 0;
}

.rh-ornate-card h2,
.rh-section-head h2,
.rh-how-card h2,
.rh-reserve-card h2,
.rh-partner-box h2 {
	margin: 0 0 24px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-list {
	display: grid;
	gap: 16px;
	margin-bottom: 26px;
}

.rh-list div {
	display: grid;
	grid-template-columns: 36px 1fr;
	column-gap: 12px;
}

.rh-list i {
	grid-row: span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	color: #b58232;
	background: #fff8ea;
	border: 1px solid #ecd7ae;
	border-radius: 50%;
	font-style: normal;
}

.rh-list strong {
	color: #1f1f1f;
	font-size: 14px;
	font-weight: 900;
}

.rh-list span {
	color: #6d6258;
	font-size: 13px;
	line-height: 20px;
}

.rh-small-btn {
	border: 1px solid rgba(120, 0, 64, 0.45);
	color: #780040 !important;
	background: transparent;
}

.rh-center-photo {
	position: relative;
	overflow: hidden;
	border: 2px solid #d9a94c;
	border-radius: 180px 180px 18px 18px;
	box-shadow: 0 20px 50px rgba(0,0,0,0.09);
}

.rh-center-photo img {
	width: 100%;
	height: 100%;
	min-height: 460px;
	object-fit: cover;
	display: block;
}

.rh-center-badge {
	position: absolute;
	left: 50%;
	bottom: -1px;
	transform: translateX(-50%);
	width: 72px;
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #780040;
	border: 4px solid #f6d88e;
	border-radius: 50%;
	color: #fff;
	font-size: 28px;
}

/* Featured */
.rh-featured-section {
	padding: 18px 0 44px;
}

.rh-section-head {
	display: flex;
	justify-content: space-between;
	align-items: end;
	margin-bottom: 22px;
}

.rh-section-head h2 {
	margin-bottom: 0;
}

.rh-section-head a {
	color: #780040;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

.rh-card-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
}

.rh-restaurant-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid #eadcc5;
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(0,0,0,0.055);
}

.rh-card-img {
	position: relative;
	height: 145px;
	overflow: hidden;
}

.rh-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rh-card-img span {
	position: absolute;
	left: 10px;
	top: 10px;
	padding: 6px 10px;
	background: #780040;
	color: #fff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
}

.rh-card-body {
	padding: 16px;
}

.rh-card-body h3 {
	margin: 0 0 5px;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	font-size: 16px;
	font-weight: 900;
}

.rh-card-body p {
	margin: 0 0 10px;
	color: #6d6258;
	font-size: 13px;
}

.rh-card-body div {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
	color: #6d6258;
	font-size: 12px;
}

.rh-card-body b {
	color: #1f1f1f;
	font-size: 13px;
}

/* Bottom grid */
.rh-bottom-grid {
	padding: 20px 0 28px;
}

.rh-bottom-layout {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	gap: 18px;
}

.rh-how-card,
.rh-reserve-card {
	background: rgba(255,255,255,0.74);
	border: 1px solid #d9a94c;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rh-how-card {
	padding: 30px;
}

.rh-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.rh-steps b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-bottom: 12px;
	background: #780040;
	color: #fff;
	border-radius: 50%;
}

.rh-steps strong {
	display: block;
	color: #1f1f1f;
	font-size: 13px;
	font-weight: 900;
}

.rh-steps span {
	display: block;
	color: #6d6258;
	font-size: 12px;
	line-height: 18px;
}

.rh-reserve-card {
	position: relative;
	overflow: hidden;
	min-height: 280px;
}

.rh-reserve-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rh-reserve-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(251,247,239,0.96), rgba(251,247,239,0.74), rgba(251,247,239,0.2));
}

.rh-reserve-card > div {
	position: relative;
	z-index: 2;
	max-width: 420px;
	padding: 34px;
}

.rh-reserve-features {
	display: flex;
	gap: 18px;
	margin: 18px 0 22px;
	color: #6d6258;
	font-size: 13px;
	font-weight: 800;
}

/* Partner CTA */
.rh-partner-cta {
	padding: 20px 0 56px;
}

.rh-partner-box {
	display: grid;
	grid-template-columns: 1fr 1.15fr auto;
	align-items: center;
	gap: 30px;
	padding: 34px;
	background: #780040;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(120,0,64,0.18);
	color: #fff;
}

.rh-partner-box .rh-eyebrow,
.rh-partner-box h2,
.rh-partner-box p {
	color: #fff;
}

.rh-partner-box p {
	margin: 0;
	font-size: 14px;
	line-height: 23px;
}

.rh-partner-icons {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	text-align: center;
}

.rh-partner-icons span {
	color: rgba(255,255,255,0.88);
	font-size: 12px;
	font-weight: 800;
}

.rh-light-btn {
	background: #fff;
	color: #780040 !important;
}

/* Responsive */
@media (max-width: 1100px) {
	.rh-card-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.rh-why-grid,
	.rh-bottom-layout,
	.rh-partner-box {
		grid-template-columns: 1fr;
	}

	.rh-search-box {
		grid-template-columns: 1fr;
	}

	.rh-search-field {
		border-right: 0;
		border-bottom: 1px solid #efe1c9;
		padding: 16px 12px;
	}

	.rh-search-btn {
		min-height: 54px;
	}
}

@media (max-width: 767px) {
	.rh-container {
		width: min(100% - 28px, 1120px);
	}

	.rh-hero {
		min-height: 620px;
	}

	.rh-hero h1 {
		font-size: 54px;
	}

	.rh-hero-shade {
		background: linear-gradient(90deg, rgba(251,247,239,0.98), rgba(251,247,239,0.85));
	}

	.rh-hero-buttons,
	.rh-reserve-features {
		flex-direction: column;
		align-items: flex-start;
	}

	.rh-strip-grid,
	.rh-card-grid,
	.rh-steps,
	.rh-partner-icons {
		grid-template-columns: 1fr;
	}

	.rh-strip-grid div {
		border-right: 0;
		border-bottom: 1px solid #eadcc5;
	}

	.rh-ornate-card,
	.rh-how-card,
	.rh-reserve-card > div,
	.rh-partner-box {
		padding: 26px 22px;
	}

	.rh-center-photo img {
		min-height: 360px;
	}

	.rh-ornate-card h2,
	.rh-section-head h2,
	.rh-how-card h2,
	.rh-reserve-card h2,
	.rh-partner-box h2 {
		font-size: 34px;
	}
}
/* =========================================================
   HOMEPAGE ICONS + REVIEWS + HERO SEARCH FINAL MATCH
========================================================= */

/* Hero review people */
.rh-trust-row {
	gap: 14px !important;
	margin-top: 4px !important;
}

.rh-avatar-stack {
	display: flex !important;
	align-items: center !important;
}

.rh-avatar-stack img {
	width: 34px !important;
	height: 34px !important;
	margin-left: -8px !important;
	border: 2px solid #ffffff !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14) !important;
}

.rh-avatar-stack img:first-child {
	margin-left: 0 !important;
}

.rh-review-text strong {
	display: block !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 18px !important;
}

.rh-review-text strong span {
	color: #d39a2c !important;
	letter-spacing: 1px !important;
}

.rh-review-text small {
	display: block !important;
	color: #6a6258 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	line-height: 18px !important;
}

/* Remove old fake avatar circles if cached */
.rh-avatar-stack span {
	display: none !important;
}

/* Search bar closer to generated mockup */
.rh-search-box {
	grid-template-columns: 1.05fr 0.95fr 1.05fr auto !important;
	align-items: center !important;
	min-height: 96px !important;
	padding: 14px 18px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border: 1.5px solid #d9a94c !important;
	border-radius: 18px !important;
	box-shadow: 0 24px 64px rgba(105, 55, 8, 0.13) !important;
}

.rh-search-field {
	min-height: 68px !important;
	padding: 0 24px !important;
	display: grid !important;
	grid-template-columns: 48px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 14px !important;
	border-right: 1px solid #efe1c9 !important;
}

.rh-search-field:last-of-type {
	border-right: 0 !important;
}

.rh-search-field i {
	display: none !important;
}

.rh-search-icon,
.rh-line-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 46px !important;
	height: 46px !important;
	background: #fff8ea !important;
	border: 1px solid #f0d9ad !important;
	border-radius: 50% !important;
	color: #b58232 !important;
	flex: 0 0 auto !important;
}

.rh-search-icon svg,
.rh-line-icon svg {
	width: 22px !important;
	height: 22px !important;
	display: block !important;
}

.rh-search-icon svg path,
.rh-search-icon svg circle,
.rh-line-icon svg path,
.rh-line-icon svg circle {
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.8 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.rh-search-field span {
	margin-bottom: 7px !important;
	color: #4b4038 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}

.rh-search-field input,
.rh-search-field select {
	height: 24px !important;
	padding: 0 !important;
	color: #5c534a !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 24px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.rh-search-btn {
	min-width: 220px !important;
	min-height: 58px !important;
	margin-left: 12px !important;
	background: #780040 !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	box-shadow: 0 15px 28px rgba(120, 0, 64, 0.2) !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.rh-search-btn:hover {
	background: #5b0030 !important;
	transform: translateY(-1px) !important;
}

/* Feature strip icons like generated mockup */
.rh-strip-grid div {
	grid-template-columns: 54px 1fr !important;
	column-gap: 16px !important;
	align-items: center !important;
}

.rh-strip-grid i {
	grid-row: span 2 !important;
}

.rh-strip-grid i:not(.rh-line-icon) {
	display: none !important;
}

.rh-strip-grid strong {
	align-self: end !important;
	font-size: 15px !important;
	line-height: 19px !important;
}

.rh-strip-grid span {
	align-self: start !important;
	font-size: 13px !important;
	line-height: 20px !important;
}

/* List icons more like UI badges */
.rh-list i {
	color: #b58232 !important;
	background: #fff8ea !important;
	border: 1px solid #f0d9ad !important;
	box-shadow: inset 0 0 0 4px rgba(255,255,255,0.65) !important;
}

/* Card icon contrast */
.rh-center-badge {
	background: #780040 !important;
	color: #ffffff !important;
	border-color: #f3cd74 !important;
	box-shadow: 0 10px 24px rgba(120, 0, 64, 0.22) !important;
}

/* Featured restaurant heart icons - visual close */
.rh-card-img::after {
	content: "♡" !important;
	position: absolute !important;
	right: 10px !important;
	top: 10px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	background: rgba(255, 255, 255, 0.22) !important;
	border: 1px solid rgba(255, 255, 255, 0.55) !important;
	border-radius: 50% !important;
	color: #ffffff !important;
	font-family: Arial, sans-serif !important;
	font-size: 22px !important;
	line-height: 1 !important;
	backdrop-filter: blur(8px) !important;
}

/* Mobile */
@media (max-width: 1100px) {
	.rh-search-box {
		grid-template-columns: 1fr !important;
		padding: 16px !important;
	}

	.rh-search-field {
		border-right: 0 !important;
		border-bottom: 1px solid #efe1c9 !important;
		padding: 16px 6px !important;
	}

	.rh-search-field:last-of-type {
		border-bottom: 0 !important;
	}

	.rh-search-btn {
		width: 100% !important;
		margin: 14px 0 0 !important;
	}
}
/* =========================================================
   Homepage Current Version - No Reservation
========================================================= */

.rh-bottom-layout-no-reservation {
	grid-template-columns: 1.05fr 0.95fr !important;
	align-items: stretch !important;
}

.rh-owner-online-card {
	padding: 34px;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,248,234,0.76));
	border: 1px solid #d9a94c;
	border-radius: 20px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rh-owner-online-card h2 {
	margin: 0 0 18px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-owner-online-card p {
	margin: 0 0 24px;
	color: #6d6258;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 25px;
}

@media (max-width: 1100px) {
	.rh-bottom-layout-no-reservation {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 767px) {
	.rh-owner-online-card {
		padding: 26px 22px;
	}

	.rh-owner-online-card h2 {
		font-size: 34px;
	}
}
/* =========================================================
   RESTAURANTHUB FINAL MATCH PATCH
   Do not change layout / only visual correction
========================================================= */

/* Page width must feel like generated mockup */
.rh-container,
.rs-royal-container {
	width: min(1320px, calc(100% - 56px)) !important;
}

/* Header closer to generated image */
.rs-royal-header {
	background: rgba(255, 255, 255, 0.97) !important;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.045) !important;
}

.rs-royal-header-inner {
	min-height: 86px !important;
	grid-template-columns: 260px 1fr 170px !important;
}

.rs-royal-logo img {
	height: 64px !important;
	max-width: 250px !important;
}

.rs-royal-nav .rs-royal-menu,
.rs-royal-nav ul {
	gap: 34px !important;
}

.rs-royal-nav .rs-royal-menu a,
.rs-royal-nav ul a {
	font-size: 14px !important;
	font-weight: 800 !important;
}

.rs-royal-order-btn {
	min-height: 48px !important;
	padding: 15px 30px !important;
	background: #7a003f !important;
}

/* Hero must be taller and more premium */
.rh-hero {
	min-height: 720px !important;
}

.rh-hero-bg img {
	object-position: center right !important;
	filter: saturate(1.12) contrast(1.06) brightness(1.04) !important;
}

/* Less faded than current */
.rh-hero-shade {
	background:
		linear-gradient(
			90deg,
			rgba(251, 247, 239, 0.98) 0%,
			rgba(251, 247, 239, 0.91) 32%,
			rgba(251, 247, 239, 0.45) 58%,
			rgba(251, 247, 239, 0.08) 100%
		) !important;
}

.rh-hero-inner {
	padding: 98px 0 150px !important;
}

.rh-hero-copy {
	max-width: 620px !important;
}

/* Fix broken tiny Memorable Moments */
.rh-hero h1 {
	margin: 0 0 24px !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: clamp(76px, 7.4vw, 112px) !important;
	font-weight: 500 !important;
	line-height: 0.93 !important;
	letter-spacing: -0.035em !important;
	color: #1f1f1f !important;
}

.rh-hero h1 span {
	display: block !important;
	color: #b58232 !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: inherit !important;
	font-weight: 500 !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
	font-style: normal !important;
}

.rh-hero p {
	max-width: 520px !important;
	margin-bottom: 30px !important;
	font-size: 17px !important;
	line-height: 30px !important;
	color: #3d3730 !important;
}

.rh-hero-buttons {
	gap: 18px !important;
	margin-bottom: 26px !important;
}

.rh-btn {
	min-height: 52px !important;
	padding: 16px 30px !important;
	font-size: 14px !important;
}

.rh-btn-primary {
	background: #7a003f !important;
}

.rh-btn-outline {
	border-color: rgba(122, 0, 63, 0.55) !important;
	background: rgba(255, 255, 255, 0.52) !important;
}

/* Review avatars closer */
.rh-avatar-stack img {
	width: 36px !important;
	height: 36px !important;
	margin-left: -9px !important;
	border: 2px solid #fff !important;
}

.rh-review-text strong {
	font-size: 15px !important;
}

.rh-review-text strong span {
	color: #d39a2c !important;
}

/* Search bar like generated image */
.rh-search-section {
	margin-top: -70px !important;
}

.rh-search-box {
	min-height: 108px !important;
	padding: 18px 20px !important;
	border: 1.7px solid #d9a94c !important;
	border-radius: 20px !important;
	background: rgba(255, 255, 255, 0.97) !important;
	box-shadow: 0 28px 70px rgba(105, 55, 8, 0.14) !important;
}

.rh-search-field {
	min-height: 78px !important;
	padding: 0 28px !important;
	grid-template-columns: 52px minmax(0, 1fr) !important;
}

.rh-search-icon,
.rh-line-icon {
	width: 48px !important;
	height: 48px !important;
	background: #fff8ea !important;
	border: 1px solid #f0d9ad !important;
	color: #b58232 !important;
}

.rh-search-icon svg,
.rh-line-icon svg {
	width: 23px !important;
	height: 23px !important;
}

.rh-search-btn {
	min-width: 245px !important;
	min-height: 62px !important;
	margin-left: 14px !important;
	background: #7a003f !important;
	border-radius: 999px !important;
}

/* Feature strip */
.rh-feature-strip {
	padding-top: 40px !important;
}

.rh-strip-grid {
	border-radius: 20px !important;
	background: rgba(255, 255, 255, 0.86) !important;
	box-shadow: 0 22px 54px rgba(0, 0, 0, 0.05) !important;
}

.rh-strip-grid div {
	padding: 30px 30px !important;
	grid-template-columns: 56px 1fr !important;
}

/* Main benefit section larger */
.rh-why-section {
	padding-top: 42px !important;
	padding-bottom: 52px !important;
}

.rh-why-grid {
	grid-template-columns: 1fr 390px 1fr !important;
	gap: 28px !important;
}

.rh-ornate-card {
	padding: 44px 40px !important;
	background: rgba(255, 255, 255, 0.86) !important;
	border: 1.5px solid #d9a94c !important;
	border-radius: 24px !important;
}

.rh-ornate-card h2 {
	font-size: 48px !important;
	line-height: 1.04 !important;
}

.rh-list {
	gap: 19px !important;
}

.rh-list strong {
	font-size: 15px !important;
}

.rh-list span {
	font-size: 13.5px !important;
	line-height: 21px !important;
}

.rh-center-photo {
	border-radius: 210px 210px 22px 22px !important;
	border: 2px solid #d9a94c !important;
}

.rh-center-photo img {
	min-height: 570px !important;
}

/* Featured restaurant cards */
.rh-featured-section {
	padding-top: 34px !important;
	padding-bottom: 56px !important;
}

.rh-section-head h2 {
	font-size: 48px !important;
}

.rh-card-grid {
	gap: 22px !important;
}

.rh-card-img {
	height: 178px !important;
}

.rh-restaurant-card {
	border-radius: 16px !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.06) !important;
}

/* Bottom cards */
.rh-bottom-layout {
	gap: 26px !important;
}

.rh-how-card,
.rh-owner-online-card {
	padding: 42px 38px !important;
	background: rgba(255, 255, 255, 0.86) !important;
	border: 1.5px solid #d9a94c !important;
	border-radius: 22px !important;
}

.rh-how-card h2,
.rh-owner-online-card h2 {
	font-size: 44px !important;
	line-height: 1.04 !important;
}

.rh-steps {
	gap: 22px !important;
}

/* Partner CTA closer to reference */
.rh-partner-cta {
	padding-top: 34px !important;
	padding-bottom: 78px !important;
}

.rh-partner-box {
	min-height: 260px !important;
	padding: 54px 48px !important;
	border-radius: 24px !important;
	background:
		radial-gradient(circle at 16% 16%, rgba(255,255,255,0.12), transparent 34%),
		linear-gradient(135deg, #8b0049 0%, #620034 100%) !important;
	box-shadow: 0 30px 76px rgba(122, 0, 63, 0.25) !important;
}

.rh-partner-box h2 {
	font-size: 52px !important;
	line-height: 1.02 !important;
}

.rh-partner-icons span {
	min-height: 82px !important;
	padding: 14px !important;
	background: rgba(255,255,255,0.08) !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 999px !important;
}

/* Footer: remove reservation wording visually if cached */
.rs-royal-footer a[href*="reservations"],
.rs-royal-footer li:has(a[href*="reservations"]) {
	display: none !important;
}

.rs-royal-footer {
	padding-top: 88px !important;
	background:
		radial-gradient(circle at 18% 0%, rgba(112, 0, 58, 0.72), transparent 38%),
		linear-gradient(135deg, #3a001d 0%, #16000b 100%) !important;
}

.rs-royal-footer-main {
	grid-template-columns: 1.35fr 0.9fr 0.95fr 1fr !important;
	gap: 70px !important;
}

.rs-royal-footer-logo img {
	height: 62px !important;
}

.rs-royal-footer-col h3 {
	font-size: 38px !important;
}

/* Mobile safety */
@media (max-width: 1100px) {
	.rs-royal-header-inner {
		grid-template-columns: auto auto !important;
	}

	.rh-why-grid,
	.rh-bottom-layout,
	.rh-partner-box {
		grid-template-columns: 1fr !important;
	}

	.rh-card-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 767px) {
	.rh-container,
	.rs-royal-container {
		width: min(100% - 28px, 1320px) !important;
	}

	.rh-hero {
		min-height: 680px !important;
	}

	.rh-hero h1 {
		font-size: 58px !important;
	}

	.rh-hero-shade {
		background: linear-gradient(
			90deg,
			rgba(251,247,239,0.98),
			rgba(251,247,239,0.84)
		) !important;
	}

	.rh-search-box,
	.rh-strip-grid,
	.rh-card-grid,
	.rh-steps,
	.rh-partner-icons {
		grid-template-columns: 1fr !important;
	}

	.rh-center-photo img {
		min-height: 390px !important;
	}
}
/* =========================================================
   FINAL SAAS HOMEPAGE CORRECTION
   Smaller hero, real vendor cards, better CTA/footer
========================================================= */

/* Hero was too large */
.rh-hero {
	min-height: 590px !important;
}

.rh-hero-inner {
	padding: 72px 0 105px !important;
}

.rh-hero h1 {
	font-size: clamp(62px, 5.8vw, 88px) !important;
	line-height: 0.95 !important;
	margin-bottom: 22px !important;
}

.rh-hero h1 span {
	display: block !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

.rh-hero p {
	max-width: 500px !important;
	font-size: 16px !important;
	line-height: 28px !important;
	margin-bottom: 26px !important;
}

/* Search bar should sit closer to hero, not too low */
.rh-search-section {
	margin-top: -46px !important;
}

.rh-search-box {
	min-height: 92px !important;
	padding: 14px 18px !important;
	border-radius: 18px !important;
}

.rh-search-field {
	min-height: 64px !important;
	padding: 0 24px !important;
}

.rh-search-btn {
	min-height: 56px !important;
	min-width: 220px !important;
}

/* Make select fields look correct */
.rh-search-field select {
	appearance: auto !important;
	cursor: pointer !important;
}

/* Dynamic vendor cards */
.rh-dynamic-vendor-grid {
	align-items: stretch !important;
}

.rh-vendor-card-link {
	display: block !important;
	height: 100% !important;
	color: inherit !important;
	text-decoration: none !important;
}

.rh-dynamic-vendor-grid .rh-restaurant-card {
	min-height: 100% !important;
}

.rh-dynamic-vendor-grid .rh-card-img span {
	background: #7a003f !important;
}

.rh-empty-vendor-card {
	grid-column: 1 / -1;
	padding: 42px;
	background: rgba(255, 255, 255, 0.86);
	border: 1.5px solid #d9a94c;
	border-radius: 22px;
	text-align: center;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rh-empty-vendor-card h3 {
	margin: 0 0 10px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-empty-vendor-card p {
	margin: 0 0 22px;
	color: #6d6258;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	line-height: 25px;
}

.rh-empty-vendor-card a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 14px 24px;
	background: #7a003f;
	color: #ffffff !important;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none !important;
}

/* Partner CTA closer to generated image: less empty, more balanced */
.rh-partner-box {
	grid-template-columns: 1.1fr 1fr auto !important;
	min-height: 220px !important;
	padding: 42px 48px !important;
	border-radius: 22px !important;
	background:
		radial-gradient(circle at 16% 18%, rgba(255,255,255,0.13), transparent 32%),
		linear-gradient(135deg, #8b0049 0%, #670036 100%) !important;
}

.rh-partner-box h2 {
	font-size: 46px !important;
	line-height: 1.04 !important;
}

.rh-partner-box p {
	max-width: 520px !important;
	font-size: 15px !important;
	line-height: 25px !important;
}

.rh-partner-icons {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
}

.rh-partner-icons span {
	min-height: 76px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	padding: 14px !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,0.08) !important;
}

/* Footer closer to generated image */
.rs-royal-footer {
	padding: 72px 0 24px !important;
	background:
		radial-gradient(circle at 18% 0%, rgba(112, 0, 58, 0.7), transparent 38%),
		linear-gradient(135deg, #3a001d 0%, #15000a 100%) !important;
}

.rs-royal-footer-main {
	grid-template-columns: 1.35fr 0.9fr 0.95fr 1fr !important;
	gap: 62px !important;
	padding-bottom: 42px !important;
}

.rs-royal-footer-logo {
	padding: 9px 16px !important;
	border-radius: 12px !important;
}

.rs-royal-footer-logo img {
	height: 56px !important;
}

.rs-royal-footer-brand p,
.rs-royal-footer-contact p {
	font-size: 15px !important;
	line-height: 27px !important;
}

.rs-royal-footer-col h3 {
	font-size: 36px !important;
}

.rs-royal-footer-col a,
.rs-royal-footer-contact > a:not(.rs-royal-footer-btn) {
	font-size: 14px !important;
	line-height: 24px !important;
}

/* Hide old reservation wording if footer still has it */
.rs-royal-footer a[href*="reservations"],
.rs-royal-footer li:has(a[href*="reservations"]) {
	display: none !important;
}

/* Mobile */
@media (max-width: 1100px) {
	.rh-hero {
		min-height: 620px !important;
	}

	.rh-card-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.rh-partner-box {
		grid-template-columns: 1fr !important;
	}

	.rh-partner-icons {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 767px) {
	.rh-hero {
		min-height: 600px !important;
	}

	.rh-hero-inner {
		padding: 60px 0 95px !important;
	}

	.rh-hero h1 {
		font-size: 52px !important;
	}

	.rh-search-box,
	.rh-card-grid,
	.rh-partner-icons {
		grid-template-columns: 1fr !important;
	}

	.rs-royal-footer-main {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   RESTAURANTHUB LIGHT ROYAL FOOTER - MATCH GENERATED IMAGE
========================================================= */

.rh-light-footer {
	background: #fbf7ef !important;
	border-top: 1px solid rgba(217, 169, 76, 0.38) !important;
	padding: 30px 0 34px !important;
	color: #1f1f1f !important;
}

.rh-light-footer-inner {
	width: min(1320px, calc(100% - 56px)) !important;
	margin: 0 auto !important;
}

.rh-light-footer-main {
	display: grid !important;
	grid-template-columns: 1.25fr 0.9fr 0.95fr 0.85fr 1.2fr !important;
	gap: 42px !important;
	align-items: start !important;
	padding: 0 !important;
}

.rh-light-footer-logo {
	display: inline-flex !important;
	align-items: center !important;
	margin-bottom: 12px !important;
	text-decoration: none !important;
}

.rh-light-footer-logo img {
	display: block !important;
	height: 58px !important;
	width: auto !important;
	max-width: 245px !important;
	object-fit: contain !important;
}

.rh-light-footer-brand p,
.rh-light-footer-newsletter p {
	margin: 0 0 14px !important;
	color: #5d5349 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	line-height: 23px !important;
}

.rh-light-socials {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-top: 12px !important;
}

.rh-light-socials a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border: 1px solid rgba(122, 0, 63, 0.22) !important;
	border-radius: 50% !important;
	color: #7a003f !important;
	background: #ffffff !important;
	font-family: "Karla", sans-serif !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.rh-light-socials a:hover {
	background: #7a003f !important;
	color: #ffffff !important;
}

.rh-light-footer-col h3,
.rh-light-footer-newsletter h3 {
	margin: 0 0 12px !important;
	color: #a16d18 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.rh-light-footer-col ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rh-light-footer-col li {
	margin-bottom: 8px !important;
}

.rh-light-footer-col a {
	color: #4c433c !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 20px !important;
	text-decoration: none !important;
}

.rh-light-footer-col a:hover {
	color: #7a003f !important;
}

.rh-light-footer-newsletter form {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-top: 14px !important;
}

.rh-light-footer-newsletter input {
	width: 100% !important;
	min-height: 44px !important;
	padding: 12px 16px !important;
	background: #ffffff !important;
	border: 1px solid rgba(217, 169, 76, 0.35) !important;
	border-radius: 999px !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	outline: none !important;
}

.rh-light-footer-newsletter button {
	min-height: 44px !important;
	padding: 12px 20px !important;
	background: #7a003f !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	cursor: pointer !important;
}

.rh-light-footer-newsletter button:hover {
	background: #56002d !important;
}

/* Disable old dark footer styles if cached */
.rs-royal-footer {
	display: none !important;
}

/* Responsive */
@media (max-width: 1100px) {
	.rh-light-footer-main {
		grid-template-columns: 1fr 1fr !important;
		gap: 32px !important;
	}
}

@media (max-width: 767px) {
	.rh-light-footer {
		padding: 34px 0 !important;
	}

	.rh-light-footer-inner {
		width: min(100% - 28px, 1320px) !important;
	}

	.rh-light-footer-main {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
	}

	.rh-light-footer-newsletter form {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.rh-light-footer-newsletter button {
		width: 100% !important;
	}
}
/* =========================================================
   PARTNER WITH US SECTION - MATCH LIGHT REFERENCE DESIGN
========================================================= */

.rh-partner-cta {
	padding: 18px 0 26px !important;
	background: #fbf7ef !important;
}

.rh-partner-box {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1.05fr 1.15fr auto !important;
	align-items: center !important;
	gap: 34px !important;

	min-height: 154px !important;
	padding: 28px 42px !important;

	background:
		linear-gradient(135deg, rgba(255,255,255,0.92), rgba(255,248,234,0.78)) !important;
	border: 1.5px solid #d9a94c !important;
	border-radius: 18px !important;
	box-shadow: 0 14px 38px rgba(111, 62, 12, 0.06) !important;

	color: #1f1f1f !important;
	overflow: hidden !important;
}

/* Decorative corner pattern like reference */
.rh-partner-box::before {
	content: "" !important;
	position: absolute !important;
	left: -34px !important;
	top: -36px !important;
	width: 150px !important;
	height: 150px !important;
	border: 1px solid rgba(217, 169, 76, 0.25) !important;
	border-radius: 50% !important;
	pointer-events: none !important;
}

.rh-partner-box::after {
	content: "" !important;
	position: absolute !important;
	right: -18px !important;
	bottom: -14px !important;
	width: 270px !important;
	height: 150px !important;
	background:
		linear-gradient(135deg, transparent 0%, rgba(217,169,76,0.09) 100%) !important;
	clip-path: polygon(38% 0, 100% 0, 100% 100%, 0 100%) !important;
	pointer-events: none !important;
}

/* Text */
.rh-partner-box .rh-eyebrow {
	margin-bottom: 8px !important;
	color: #7a003f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

.rh-partner-box h2 {
	max-width: 360px !important;
	margin: 0 0 10px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 34px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.01em !important;
}

.rh-partner-box p {
	max-width: 420px !important;
	margin: 0 !important;
	color: #5d5349 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 22px !important;
}

/* Middle feature icons */
.rh-partner-icons {
	position: relative !important;
	z-index: 2 !important;

	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 18px !important;
	align-items: center !important;
}

.rh-partner-icons span {
	position: relative !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 86px !important;
	height: 86px !important;
	min-height: 86px !important;
	padding: 16px 10px !important;

	background:
		radial-gradient(circle at 50% 35%, #ffffff 0%, #fff8ea 100%) !important;
	border: 1px solid rgba(217, 169, 76, 0.36) !important;
	border-radius: 50% !important;
	box-shadow: 0 10px 26px rgba(111, 62, 12, 0.05) !important;

	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 14px !important;
	text-align: center !important;
}

/* Small top icon mark above text */
.rh-partner-icons span::before {
	content: "" !important;
	position: absolute !important;
	top: 13px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;

	width: 22px !important;
	height: 22px !important;

	border: 1.5px solid #7a003f !important;
	border-radius: 50% !important;
	background: transparent !important;
	opacity: 0.75 !important;
}

/* Push feature text lower to make space for icon mark */
.rh-partner-icons span {
	padding-top: 34px !important;
}

/* Right button */
.rh-light-btn {
	position: relative !important;
	z-index: 2 !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-height: 46px !important;
	padding: 14px 28px !important;

	background: #7a003f !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 28px rgba(122, 0, 63, 0.2) !important;

	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.rh-light-btn:hover {
	background: #56002d !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Remove old burgundy full-block appearance */
.rh-partner-box,
.rh-partner-box * {
	text-shadow: none !important;
}

/* Responsive */
@media (max-width: 1100px) {
	.rh-partner-box {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
		padding: 32px 28px !important;
	}

	.rh-partner-box h2 {
		max-width: 100% !important;
	}

	.rh-partner-icons {
		grid-template-columns: repeat(4, auto) !important;
		justify-content: start !important;
	}
}

@media (max-width: 767px) {
	.rh-partner-box {
		padding: 28px 22px !important;
	}

	.rh-partner-icons {
		grid-template-columns: repeat(2, auto) !important;
	}

	.rh-partner-icons span {
		width: 82px !important;
		height: 82px !important;
		min-height: 82px !important;
	}

	.rh-partner-box h2 {
		font-size: 32px !important;
	}
}
/* =========================================================
   PARTNER WITH US SECTION - IMAGE VERSION
========================================================= */

.rh-partner-cta {
	padding: 18px 0 28px !important;
	background: #fbf7ef !important;
}

.rh-partner-box {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1.08fr 1.15fr auto !important;
	align-items: center !important;
	gap: 36px !important;

	min-height: 178px !important;
	padding: 32px 44px !important;

	background:
		linear-gradient(135deg, rgba(255,255,255,0.93), rgba(255,248,234,0.78)) !important;
	border: 1.5px solid #d9a94c !important;
	border-radius: 18px !important;
	box-shadow: 0 16px 42px rgba(111, 62, 12, 0.06) !important;

	color: #1f1f1f !important;
	overflow: hidden !important;
}

/* Decorative uploaded images */
.rh-partner-deco-building {
	position: absolute !important;
	right: -18px !important;
	bottom: -30px !important;
	width: 250px !important;
	max-width: 28% !important;
	opacity: 0.28 !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.rh-partner-deco-floral {
	position: absolute !important;
	left: -20px !important;
	top: -24px !important;
	width: 170px !important;
	opacity: 0.22 !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.rh-partner-text,
.rh-partner-icons,
.rh-light-btn {
	position: relative !important;
	z-index: 2 !important;
}

.rh-partner-box .rh-eyebrow {
	margin-bottom: 8px !important;
	color: #7a003f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

.rh-partner-box h2 {
	max-width: 390px !important;
	margin: 0 0 10px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 36px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.01em !important;
}

.rh-partner-box p {
	max-width: 430px !important;
	margin: 0 !important;
	color: #5d5349 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 22px !important;
}

/* Icon images */
.rh-partner-icons {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 18px !important;
	align-items: center !important;
	justify-items: center !important;
}

.rh-partner-icon-item {
	display: grid !important;
	justify-items: center !important;
	align-items: start !important;
	gap: 8px !important;
	text-align: center !important;
}

.rh-partner-icon-item img {
	width: 74px !important;
	height: 74px !important;
	object-fit: contain !important;
	display: block !important;
	border-radius: 50% !important;
	filter: drop-shadow(0 8px 18px rgba(111, 62, 12, 0.08)) !important;
}

.rh-partner-icon-item span {
	display: block !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 15px !important;
}

/* Button */
.rh-light-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-height: 46px !important;
	padding: 14px 28px !important;

	background: #7a003f !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 28px rgba(122, 0, 63, 0.2) !important;

	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.rh-light-btn:hover {
	background: #56002d !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Remove old circle text styling */
.rh-partner-icons > span {
	display: none !important;
}

/* Responsive */
@media (max-width: 1100px) {
	.rh-partner-box {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
		padding: 32px 28px !important;
	}

	.rh-partner-box h2 {
		max-width: 100% !important;
	}

	.rh-partner-icons {
		grid-template-columns: repeat(4, auto) !important;
		justify-content: start !important;
	}

	.rh-partner-deco-building {
		width: 220px !important;
		max-width: 45% !important;
	}
}

@media (max-width: 767px) {
	.rh-partner-box {
		padding: 28px 22px !important;
	}

	.rh-partner-icons {
		grid-template-columns: repeat(2, auto) !important;
		justify-content: start !important;
	}

	.rh-partner-icon-item img {
		width: 68px !important;
		height: 68px !important;
	}

	.rh-partner-box h2 {
		font-size: 32px !important;
	}

	.rh-partner-deco-building {
		width: 180px !important;
		opacity: 0.18 !important;
	}

	.rh-partner-deco-floral {
		width: 130px !important;
		opacity: 0.16 !important;
	}
}
/* =========================================================
   PARTNER WITH US - CLEAN IMAGE VERSION FINAL
========================================================= */

.rh-partner-cta {
	padding: 18px 0 28px !important;
	background: #fbf7ef !important;
}

.rh-partner-box {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1.15fr 1.1fr auto !important;
	align-items: center !important;
	gap: 34px !important;

	min-height: 180px !important;
	padding: 34px 44px !important;

	background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(255,248,234,0.78)) !important;
	border: 1.5px solid #d9a94c !important;
	border-radius: 18px !important;
	box-shadow: 0 16px 42px rgba(111, 62, 12, 0.06) !important;

	color: #1f1f1f !important;
	overflow: hidden !important;
}

/* Hide old generated duplicate image/circle layers */
.rh-partner-box::before,
.rh-partner-box::after,
.rh-partner-icons > span,
.rh-partner-icons span::before {
	display: none !important;
	content: none !important;
}

/* Decorative images only */
.rh-partner-deco-floral {
	position: absolute !important;
	left: -18px !important;
	top: -22px !important;
	width: 150px !important;
	height: auto !important;
	opacity: 0.18 !important;
	object-fit: contain !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

.rh-partner-deco-building {
	position: absolute !important;
	right: -10px !important;
	bottom: -24px !important;
	width: 250px !important;
	height: auto !important;
	max-width: 26% !important;
	opacity: 0.22 !important;
	object-fit: contain !important;
	pointer-events: none !important;
	z-index: 1 !important;
}

/* Text area */
.rh-partner-text,
.rh-partner-icons,
.rh-light-btn {
	position: relative !important;
	z-index: 3 !important;
}

.rh-partner-text {
	max-width: 470px !important;
}

.rh-partner-box .rh-eyebrow {
	margin-bottom: 8px !important;
	color: #7a003f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

.rh-partner-box h2 {
	max-width: 410px !important;
	margin: 0 0 12px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 36px !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.01em !important;
}

.rh-partner-box p {
	max-width: 430px !important;
	margin: 0 !important;
	color: #5d5349 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 22px !important;
}

/* Middle icons: only 4 icons */
.rh-partner-icons {
	display: grid !important;
	grid-template-columns: repeat(4, 86px) !important;
	gap: 22px !important;
	align-items: start !important;
	justify-content: center !important;
}

.rh-partner-icon-item {
	display: grid !important;
	justify-items: center !important;
	align-items: start !important;
	gap: 8px !important;
	text-align: center !important;
	width: 86px !important;
}

.rh-partner-icon-item img {
	display: block !important;
	width: 62px !important;
	height: 62px !important;
	object-fit: contain !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	filter: drop-shadow(0 8px 16px rgba(111, 62, 12, 0.08)) !important;
}

.rh-partner-icon-item span {
	display: block !important;
	width: 86px !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10.5px !important;
	font-weight: 900 !important;
	line-height: 14px !important;
	text-align: center !important;

	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-height: auto !important;
	padding: 0 !important;
}

/* Button */
.rh-light-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-height: 46px !important;
	padding: 14px 28px !important;

	background: #7a003f !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 28px rgba(122, 0, 63, 0.2) !important;

	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.rh-light-btn:hover {
	background: #56002d !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
}

/* Responsive */
@media (max-width: 1100px) {
	.rh-partner-box {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
		padding: 32px 28px !important;
	}

	.rh-partner-icons {
		justify-content: start !important;
	}

	.rh-partner-deco-building {
		width: 210px !important;
		max-width: 42% !important;
		opacity: 0.16 !important;
	}
}

@media (max-width: 767px) {
	.rh-partner-box {
		padding: 28px 22px !important;
	}

	.rh-partner-icons {
		grid-template-columns: repeat(2, 86px) !important;
	}

	.rh-partner-box h2 {
		font-size: 32px !important;
	}

	.rh-partner-deco-building {
		width: 170px !important;
		opacity: 0.12 !important;
	}

	.rh-partner-deco-floral {
		width: 120px !important;
		opacity: 0.12 !important;
	}
}
/* =========================================================
   HOMEPAGE SEARCH FORM FIX
========================================================= */

.rh-search-box {
	display: grid !important;
	grid-template-columns: 1.15fr 0.95fr 0.95fr auto !important;
	align-items: center !important;
}

.rh-search-field {
	display: grid !important;
	grid-template-columns: 52px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 14px !important;
}

.rh-field-content {
	min-width: 0 !important;
}

.rh-location-input-wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 8px !important;
}

.rh-location-input-wrap input,
.rh-search-field select {
	width: 100% !important;
	height: 28px !important;
	min-height: 28px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	color: #5c534a !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 28px !important;
}

.rh-search-field select {
	cursor: pointer !important;
	appearance: auto !important;
}

.rh-locate-me-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 30px !important;
	padding: 7px 12px !important;
	background: #fff8ea !important;
	color: #7a003f !important;
	border: 1px solid rgba(217, 169, 76, 0.45) !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
}

.rh-locate-me-btn:hover {
	background: #7a003f !important;
	color: #ffffff !important;
	border-color: #7a003f !important;
}

.rh-locate-me-btn.is-loading {
	opacity: 0.7 !important;
	pointer-events: none !important;
}

.rh-search-btn {
	border: 0 !important;
	cursor: pointer !important;
}

@media (max-width: 1100px) {
	.rh-search-box {
		grid-template-columns: 1fr !important;
	}

	.rh-location-input-wrap {
		grid-template-columns: 1fr !important;
	}

	.rh-locate-me-btn {
		width: fit-content !important;
		margin-top: 8px !important;
	}
}
/* =========================================================
   FIX DUPLICATED HOMEPAGE SEARCH FORM
========================================================= */

/* Hide any old search fields/buttons outside the new form */
.rh-search-section > .rh-container > .rh-search-field,
.rh-search-section > .rh-container > .rh-search-btn,
.rh-search-section > .rh-container > select,
.rh-search-section > .rh-container > input {
	display: none !important;
}

/* Only show the new correct form */
.rh-search-section #rh-restaurant-search-form {
	display: grid !important;
}

/* Make sure button stays inside the form only */
.rh-search-section #rh-restaurant-search-form .rh-search-btn {
	display: inline-flex !important;
}
/* =========================================================
   REMOVE OLD/DOUBLED HOMEPAGE SEARCH SECTION
========================================================= */

/* Hide any old search section that is not the new v2 search */
.rh-royal-home > .rh-search-section:not(.rh-search-section-v2) {
	display: none !important;
}

/* In the new search section, show only the correct form */
.rh-search-section-v2 .rh-container > *:not(#rh-restaurant-search-form) {
	display: none !important;
}

/* Force the new form to stay in one proper row on desktop */
.rh-search-section-v2 #rh-restaurant-search-form {
	display: grid !important;
	grid-template-columns: 1.15fr 0.95fr 0.95fr auto !important;
	align-items: center !important;
	width: 100% !important;
}

/* Make sure old loose fields never appear */
.rh-search-section-v2 > .rh-search-field,
.rh-search-section-v2 .rh-container > .rh-search-field,
.rh-search-section-v2 .rh-container > .rh-search-btn {
	display: none !important;
}

/* Only direct fields inside the new form should show */
.rh-search-section-v2 #rh-restaurant-search-form > .rh-search-field {
	display: grid !important;
}

.rh-search-section-v2 #rh-restaurant-search-form > .rh-search-btn {
	display: inline-flex !important;
}

/* Mobile */
@media (max-width: 1100px) {
	.rh-search-section-v2 #rh-restaurant-search-form {
		grid-template-columns: 1fr !important;
	}
}
/* =========================================================
   HERO SECTION FINAL MATCH - SAFE VERSION
   Only affects hero + hero search
========================================================= */

/* Hero base */
.rh-hero {
	position: relative !important;
	min-height: 575px !important;
	background: #fbf7ef !important;
	overflow: visible !important;
}

/* Hero image */
.rh-hero-bg,
.rh-hero-bg img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.rh-hero-bg img {
	object-fit: cover !important;
	object-position: center right !important;
	filter: brightness(1.03) contrast(1.03) saturate(1.05) !important;
}

/* Soft luxury fade */
.rh-hero-shade {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	background:
		linear-gradient(
			90deg,
			rgba(251,247,239,0.98) 0%,
			rgba(251,247,239,0.92) 27%,
			rgba(251,247,239,0.58) 50%,
			rgba(251,247,239,0.16) 74%,
			rgba(251,247,239,0.02) 100%
		) !important;
}

/* Container */
.rh-hero .rh-container,
.rh-search-section .rh-container {
	width: min(1320px, calc(100% - 64px)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Hero content */
.rh-hero-inner {
	position: relative !important;
	z-index: 2 !important;
	padding-top: 72px !important;
	padding-bottom: 118px !important;
}

.rh-hero-copy {
	max-width: 610px !important;
}

/* Small top text */
.rh-hero .rh-eyebrow {
	margin-bottom: 14px !important;
	color: #7a003f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

/* Main heading */
.rh-hero h1 {
	max-width: 610px !important;
	margin: 0 0 20px !important;
	color: #1f1f1f !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: 68px !important;
	font-weight: 500 !important;
	line-height: 0.96 !important;
	letter-spacing: -0.035em !important;
}

/* Keep Memorable Moments on one line */
.rh-hero h1 span {
	display: inline-block !important;
	white-space: nowrap !important;
	color: #b58232 !important;
	font-family: "Cormorant", sans-serif !important;
	font-size: inherit !important;
	font-weight: 500 !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
}

/* Paragraph */
.rh-hero p {
	max-width: 430px !important;
	margin: 0 0 23px !important;
	color: #3f3934 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 24px !important;
}

/* Buttons */
.rh-hero-buttons {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 22px !important;
}

.rh-hero-buttons .rh-btn {
	min-height: 43px !important;
	padding: 12px 24px !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.rh-hero-buttons .rh-btn-primary {
	background: #7a003f !important;
	color: #ffffff !important;
	border: 1px solid #7a003f !important;
	box-shadow: 0 12px 26px rgba(122,0,63,0.18) !important;
}

.rh-hero-buttons .rh-btn-outline {
	background: rgba(255,255,255,0.58) !important;
	color: #7a003f !important;
	border: 1px solid rgba(122,0,63,0.48) !important;
	box-shadow: none !important;
}

/* Review row */
.rh-trust-row {
	display: flex !important;
	align-items: center !important;
	gap: 13px !important;
	margin-top: 0 !important;
}

.rh-avatar-stack {
	display: flex !important;
	align-items: center !important;
}

.rh-avatar-stack img {
	width: 31px !important;
	height: 31px !important;
	margin-left: -7px !important;
	border: 2px solid #ffffff !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	box-shadow: 0 5px 14px rgba(0,0,0,0.12) !important;
}

.rh-avatar-stack img:first-child {
	margin-left: 0 !important;
}

.rh-review-text strong {
	display: block !important;
	color: #1f1f1f !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 16px !important;
}

.rh-review-text strong span {
	color: #d39a2c !important;
	letter-spacing: 1px !important;
}

.rh-review-text small {
	display: block !important;
	color: #6a6258 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 11px !important;
	line-height: 16px !important;
}

/* Search form overlap */
.rh-search-section {
	position: relative !important;
	z-index: 6 !important;
	margin-top: -46px !important;
	background: transparent !important;
}

/* Only target actual form, not all search boxes */
#rh-restaurant-search-form.rh-search-box {
	display: grid !important;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.9fr) minmax(0, 0.9fr) 220px !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 86px !important;
	padding: 14px 18px !important;
	background: rgba(255,255,255,0.97) !important;
	border: 1.4px solid #d9a94c !important;
	border-radius: 18px !important;
	box-shadow: 0 22px 50px rgba(111,62,12,0.11) !important;
	backdrop-filter: blur(12px) !important;
}

/* Search fields */
#rh-restaurant-search-form > .rh-search-field {
	display: grid !important;
	grid-template-columns: 44px minmax(0,1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 58px !important;
	padding: 0 20px !important;
	border-right: 1px solid #efe1c9 !important;
}

#rh-restaurant-search-form > .rh-search-field:nth-of-type(3) {
	border-right: 0 !important;
}

#rh-restaurant-search-form .rh-search-icon {
	width: 42px !important;
	height: 42px !important;
	background: #fff8ea !important;
	border: 1px solid #f0d9ad !important;
	border-radius: 50% !important;
	color: #b58232 !important;
}

/* Field text */
#rh-restaurant-search-form .rh-field-content > span {
	display: block !important;
	margin-bottom: 5px !important;
	color: #4b4038 !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

#rh-restaurant-search-form input,
#rh-restaurant-search-form select {
	width: 100% !important;
	height: 24px !important;
	min-height: 24px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	color: #5c534a !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 24px !important;
}

/* Locate me */
.rh-location-input-wrap {
	display: grid !important;
	grid-template-columns: minmax(0,1fr) auto !important;
	align-items: center !important;
	gap: 8px !important;
}

.rh-locate-me-btn {
	min-height: 26px !important;
	padding: 6px 10px !important;
	background: #fff8ea !important;
	color: #7a003f !important;
	border: 1px solid rgba(217,169,76,0.45) !important;
	border-radius: 999px !important;
	font-family: "Karla", sans-serif !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
}

/* Search button */
#rh-restaurant-search-form .rh-search-btn {
	width: 100% !important;
	min-height: 54px !important;
	padding: 14px 20px !important;
	background: #7a003f !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 13px 26px rgba(122,0,63,0.17) !important;
	font-family: "Karla", sans-serif !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	cursor: pointer !important;
}

/* Mobile */
@media (max-width: 1100px) {
	.rh-hero {
		min-height: 620px !important;
	}

	.rh-hero h1 {
		font-size: 58px !important;
	}

	#rh-restaurant-search-form.rh-search-box {
		grid-template-columns: 1fr !important;
	}

	#rh-restaurant-search-form > .rh-search-field {
		border-right: 0 !important;
		border-bottom: 1px solid #efe1c9 !important;
		padding: 14px 8px !important;
	}

	#rh-restaurant-search-form > .rh-search-field:nth-of-type(3) {
		border-bottom: 0 !important;
	}
}

@media (max-width: 767px) {
	.rh-hero .rh-container,
	.rh-search-section .rh-container {
		width: min(100% - 28px, 1180px) !important;
	}

	.rh-hero {
		min-height: 650px !important;
	}

	.rh-hero-inner {
		padding-top: 50px !important;
		padding-bottom: 115px !important;
	}

	.rh-hero h1 {
		font-size: 48px !important;
	}

	.rh-hero h1 span {
		white-space: normal !important;
	}

	.rh-hero-buttons {
		flex-wrap: wrap !important;
	}

	.rh-search-section {
		margin-top: -38px !important;
	}
}
/* =========================================================
   RESTAURANTHUB DYNAMIC RESTAURANTS PAGE
========================================================= */

.rh-restaurants-page {
	background: #fbf7ef;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	overflow: hidden;
}

.rh-restaurants-container {
	width: min(1180px, calc(100% - 44px));
	margin: 0 auto;
}

.rh-restaurants-eyebrow {
	display: inline-flex;
	margin-bottom: 12px;
	color: #7a003f;
	font-family: "Karla", sans-serif;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Hero */
.rh-restaurants-hero {
	position: relative;
	min-height: 330px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #1f120d;
}

.rh-restaurants-hero-bg,
.rh-restaurants-hero-bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.rh-restaurants-hero-bg img {
	object-fit: cover;
	object-position: center;
	filter: saturate(1.12) contrast(1.08) brightness(0.78);
}

.rh-restaurants-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(22, 8, 5, 0.82) 0%, rgba(22, 8, 5, 0.58) 42%, rgba(22, 8, 5, 0.15) 100%),
		radial-gradient(circle at 80% 20%, rgba(217, 169, 76, 0.18), transparent 36%);
}

.rh-restaurants-hero-content {
	position: relative;
	z-index: 2;
	max-width: 560px;
	padding: 70px 0 95px;
}

.rh-restaurants-hero h1 {
	margin: 0 0 18px;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.03em;
}

.rh-restaurants-hero p {
	max-width: 440px;
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 16px;
	line-height: 27px;
}

/* Search */
.rh-restaurants-search-section {
	position: relative;
	z-index: 4;
	margin-top: -52px;
}

.rh-restaurants-search {
	display: grid;
	grid-template-columns: 1.25fr 0.9fr 0.9fr 220px;
	gap: 18px;
	align-items: end;
	padding: 24px;
	background: rgba(255, 255, 255, 0.96);
	border: 1.5px solid #d9a94c;
	border-radius: 18px;
	box-shadow: 0 24px 64px rgba(111, 62, 12, 0.14);
	backdrop-filter: blur(14px);
}

.rh-restaurants-search-field label {
	display: block;
	margin-bottom: 9px;
	color: #4b4038;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rh-restaurants-search-field input,
.rh-restaurants-search-field select {
	width: 100%;
	min-height: 48px;
	padding: 0 16px;
	background: #fffdf9;
	border: 1px solid rgba(217, 169, 76, 0.36);
	border-radius: 10px;
	color: #4a4239;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	outline: none;
}

.rh-restaurants-location-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.rh-restaurants-location-row button {
	min-height: 48px;
	padding: 0 14px;
	background: #fff8ea;
	color: #7a003f;
	border: 1px solid rgba(217, 169, 76, 0.48);
	border-radius: 10px;
	font-family: "Karla", sans-serif;
	font-size: 12px;
	font-weight: 900;
	cursor: pointer;
	white-space: nowrap;
}

.rh-restaurants-search-btn {
	min-height: 50px;
	padding: 0 24px;
	background: #7a003f;
	color: #ffffff;
	border: 0;
	border-radius: 10px;
	box-shadow: 0 14px 28px rgba(122, 0, 63, 0.2);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

/* Toolbar */
.rh-restaurants-toolbar-section {
	padding: 22px 0 18px;
}

.rh-restaurants-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(217, 169, 76, 0.28);
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.035);
}

.rh-restaurants-chip-row,
.rh-restaurants-view-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.rh-restaurants-chip,
.rh-restaurants-view-toggle button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 9px 16px;
	background: #ffffff;
	color: #7a003f;
	border: 1px solid rgba(217, 169, 76, 0.36);
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
}

.rh-restaurants-chip.is-active,
.rh-restaurants-view-toggle button.is-active {
	background: #7a003f;
	color: #ffffff;
	border-color: #7a003f;
}

/* Layout */
.rh-restaurants-list-section {
	padding: 0 0 70px;
}

.rh-restaurants-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 30px;
	align-items: start;
}

.rh-restaurants-filter {
	position: sticky;
	top: 110px;
	padding: 24px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(217, 169, 76, 0.42);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.045);
}

.rh-restaurants-filter h3 {
	margin: 0 0 20px;
	color: #7a003f;
	font-family: "Cormorant", sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.1;
}

.rh-filter-group {
	padding: 18px 0;
	border-top: 1px solid rgba(217, 169, 76, 0.25);
}

.rh-filter-group h4 {
	margin: 0 0 12px;
	color: #4b4038;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
}

.rh-filter-group label {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 10px;
	color: #5d5349;
	font-size: 13px;
	line-height: 20px;
	cursor: pointer;
}

.rh-filter-reset {
	width: 100%;
	min-height: 44px;
	background: transparent;
	color: #7a003f;
	border: 1px solid rgba(122, 0, 63, 0.38);
	border-radius: 10px;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
}

/* Main list */
.rh-restaurants-list-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.rh-restaurants-list-head h2 {
	margin: 0;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-restaurants-list-head p {
	margin: 0;
	color: #6a6258;
	font-size: 13px;
}

.rh-dynamic-restaurants-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.rh-dynamic-restaurant-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(217, 169, 76, 0.38);
	border-radius: 16px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.055);
	transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.rh-dynamic-restaurant-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.08);
}

.rh-dynamic-card-link {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none !important;
}

.rh-dynamic-card-img {
	position: relative;
	height: 190px;
	overflow: hidden;
}

.rh-dynamic-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.28s ease;
}

.rh-dynamic-restaurant-card:hover .rh-dynamic-card-img img {
	transform: scale(1.04);
}

.rh-status-badge {
	position: absolute;
	left: 12px;
	top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 7px 12px;
	background: #148c45;
	color: #ffffff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
}

.rh-fav-badge {
	position: absolute;
	right: 12px;
	top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: rgba(255, 255, 255, 0.86);
	color: #7a003f;
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
}

.rh-dynamic-card-body {
	padding: 20px;
}

.rh-dynamic-card-body h3 {
	margin: 0 0 7px;
	color: #7a003f;
	font-family: "Cormorant", sans-serif;
	font-size: 31px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-dynamic-card-body p {
	margin: 0 0 14px;
	color: #6d6258;
	font-size: 13px;
	line-height: 21px;
}

.rh-dynamic-card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	color: #6a6258;
	font-size: 13px;
}

.rh-dynamic-card-meta span:first-child {
	color: #b58232;
	font-weight: 900;
}

.rh-dynamic-card-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-top: 15px;
	border-top: 1px solid rgba(217, 169, 76, 0.22);
}

.rh-dynamic-card-bottom strong,
.rh-dynamic-card-bottom em {
	color: #7a003f;
	font-size: 13px;
	font-weight: 900;
	font-style: normal;
}

/* Empty */
.rh-no-restaurants {
	padding: 52px;
	background: rgba(255, 255, 255, 0.84);
	border: 1.5px solid #d9a94c;
	border-radius: 18px;
	text-align: center;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rh-no-restaurants h3 {
	margin: 0 0 12px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 42px;
	font-weight: 500;
}

.rh-no-restaurants p {
	margin: 0 0 22px;
	color: #6a6258;
	font-size: 15px;
	line-height: 25px;
}

.rh-no-restaurants a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 14px 24px;
	background: #7a003f;
	color: #ffffff;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

/* Responsive */
@media (max-width: 1100px) {
	.rh-restaurants-search {
		grid-template-columns: 1fr 1fr;
	}

	.rh-restaurants-layout {
		grid-template-columns: 1fr;
	}

	.rh-restaurants-filter {
		position: relative;
		top: auto;
	}

	.rh-dynamic-restaurants-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.rh-restaurants-container {
		width: min(100% - 28px, 1180px);
	}

	.rh-restaurants-hero {
		min-height: 360px;
	}

	.rh-restaurants-hero-content {
		padding: 58px 0 92px;
	}

	.rh-restaurants-hero h1 {
		font-size: 46px;
	}

	.rh-restaurants-search {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.rh-restaurants-location-row {
		grid-template-columns: 1fr;
	}

	.rh-restaurants-toolbar,
	.rh-restaurants-list-head {
		display: block;
	}

	.rh-restaurants-view-toggle {
		margin-top: 12px;
	}

	.rh-dynamic-restaurants-grid {
		grid-template-columns: 1fr;
	}
}
/* =========================================================
   RESTAURANTHUB DYNAMIC RESTAURANTS PAGE
========================================================= */

.rh-restaurants-page {
	background: #fbf7ef;
	color: #1f1f1f;
	font-family: "Karla", sans-serif;
	overflow: hidden;
}

.rh-restaurants-container {
	width: min(1180px, calc(100% - 44px));
	margin: 0 auto;
}

.rh-restaurants-eyebrow {
	display: inline-flex;
	margin-bottom: 12px;
	color: #7a003f;
	font-family: "Karla", sans-serif;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Hero */
.rh-restaurants-hero {
	position: relative;
	min-height: 330px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #1f120d;
}

.rh-restaurants-hero-bg,
.rh-restaurants-hero-bg img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.rh-restaurants-hero-bg img {
	object-fit: cover;
	object-position: center;
	filter: saturate(1.12) contrast(1.08) brightness(0.78);
}

.rh-restaurants-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(22, 8, 5, 0.82) 0%, rgba(22, 8, 5, 0.58) 42%, rgba(22, 8, 5, 0.15) 100%),
		radial-gradient(circle at 80% 20%, rgba(217, 169, 76, 0.18), transparent 36%);
}

.rh-restaurants-hero-content {
	position: relative;
	z-index: 2;
	max-width: 560px;
	padding: 70px 0 95px;
}

.rh-restaurants-hero h1 {
	margin: 0 0 18px;
	color: #ffffff;
	font-family: "Cormorant", sans-serif;
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.03em;
}

.rh-restaurants-hero p {
	max-width: 440px;
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: 16px;
	line-height: 27px;
}

/* Search */
.rh-restaurants-search-section {
	position: relative;
	z-index: 4;
	margin-top: -52px;
}

.rh-restaurants-search {
	display: grid;
	grid-template-columns: 1.25fr 0.9fr 0.9fr 220px;
	gap: 18px;
	align-items: end;
	padding: 24px;
	background: rgba(255, 255, 255, 0.96);
	border: 1.5px solid #d9a94c;
	border-radius: 18px;
	box-shadow: 0 24px 64px rgba(111, 62, 12, 0.14);
	backdrop-filter: blur(14px);
}

.rh-restaurants-search-field label {
	display: block;
	margin-bottom: 9px;
	color: #4b4038;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rh-restaurants-search-field input,
.rh-restaurants-search-field select {
	width: 100%;
	min-height: 48px;
	padding: 0 16px;
	background: #fffdf9;
	border: 1px solid rgba(217, 169, 76, 0.36);
	border-radius: 10px;
	color: #4a4239;
	font-family: "Karla", sans-serif;
	font-size: 14px;
	outline: none;
}

.rh-restaurants-location-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.rh-restaurants-location-row button {
	min-height: 48px;
	padding: 0 14px;
	background: #fff8ea;
	color: #7a003f;
	border: 1px solid rgba(217, 169, 76, 0.48);
	border-radius: 10px;
	font-family: "Karla", sans-serif;
	font-size: 12px;
	font-weight: 900;
	cursor: pointer;
	white-space: nowrap;
}

.rh-restaurants-search-btn {
	min-height: 50px;
	padding: 0 24px;
	background: #7a003f;
	color: #ffffff;
	border: 0;
	border-radius: 10px;
	box-shadow: 0 14px 28px rgba(122, 0, 63, 0.2);
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

/* Toolbar */
.rh-restaurants-toolbar-section {
	padding: 22px 0 18px;
}

.rh-restaurants-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(217, 169, 76, 0.28);
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.035);
}

.rh-restaurants-chip-row,
.rh-restaurants-view-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.rh-restaurants-chip,
.rh-restaurants-view-toggle button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 9px 16px;
	background: #ffffff;
	color: #7a003f;
	border: 1px solid rgba(217, 169, 76, 0.36);
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
}

.rh-restaurants-chip.is-active,
.rh-restaurants-view-toggle button.is-active {
	background: #7a003f;
	color: #ffffff;
	border-color: #7a003f;
}

/* Layout */
.rh-restaurants-list-section {
	padding: 0 0 70px;
}

.rh-restaurants-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 30px;
	align-items: start;
}

.rh-restaurants-filter {
	position: sticky;
	top: 110px;
	padding: 24px;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(217, 169, 76, 0.42);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.045);
}

.rh-restaurants-filter h3 {
	margin: 0 0 20px;
	color: #7a003f;
	font-family: "Cormorant", sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.1;
}

.rh-filter-group {
	padding: 18px 0;
	border-top: 1px solid rgba(217, 169, 76, 0.25);
}

.rh-filter-group h4 {
	margin: 0 0 12px;
	color: #4b4038;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
}

.rh-filter-group label {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 10px;
	color: #5d5349;
	font-size: 13px;
	line-height: 20px;
	cursor: pointer;
}

.rh-filter-reset {
	width: 100%;
	min-height: 44px;
	background: transparent;
	color: #7a003f;
	border: 1px solid rgba(122, 0, 63, 0.38);
	border-radius: 10px;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	cursor: pointer;
}

/* Main */
.rh-restaurants-list-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.rh-restaurants-list-head h2 {
	margin: 0;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-restaurants-list-head p {
	margin: 0;
	color: #6a6258;
	font-size: 13px;
}

.rh-dynamic-restaurants-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	position: relative;
}

.rh-dynamic-restaurant-card {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(217, 169, 76, 0.38);
	border-radius: 16px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.055);
	transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.rh-dynamic-restaurant-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.08);
}

.rh-dynamic-card-link {
	display: block;
	height: 100%;
	color: inherit;
	text-decoration: none !important;
}

.rh-dynamic-card-img {
	position: relative;
	height: 190px;
	overflow: hidden;
}

.rh-dynamic-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.28s ease;
}

.rh-dynamic-restaurant-card:hover .rh-dynamic-card-img img {
	transform: scale(1.04);
}

.rh-status-badge {
	position: absolute;
	left: 12px;
	top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 7px 12px;
	color: #ffffff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	z-index: 2;
}

.rh-status-badge.is-open {
	background: #148c45;
}

.rh-status-badge.is-closed {
	background: #777777;
}

.rh-offer-badge {
	position: absolute;
	left: 12px;
	top: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 6px 11px;
	background: #7a003f;
	color: #ffffff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	z-index: 2;
}

.rh-fav-badge {
	position: absolute;
	right: 12px;
	top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: rgba(255, 255, 255, 0.86);
	color: #7a003f;
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
}

.rh-dynamic-card-body {
	padding: 20px;
}

.rh-dynamic-card-body h3 {
	margin: 0 0 7px;
	color: #7a003f;
	font-family: "Cormorant", sans-serif;
	font-size: 31px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-dynamic-card-body p {
	margin: 0 0 12px;
	color: #6d6258;
	font-size: 13px;
	line-height: 21px;
}

.rh-dynamic-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
}

.rh-dynamic-card-tags span {
	display: inline-flex;
	padding: 5px 9px;
	background: #fff8ea;
	border: 1px solid rgba(217, 169, 76, 0.32);
	border-radius: 999px;
	color: #6a4a1b;
	font-size: 11px;
	font-weight: 800;
}

.rh-dynamic-card-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	color: #6a6258;
	font-size: 13px;
}

.rh-dynamic-card-meta span:first-child {
	color: #b58232;
	font-weight: 900;
}

.rh-dynamic-card-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-top: 15px;
	border-top: 1px solid rgba(217, 169, 76, 0.22);
}

.rh-dynamic-card-bottom strong,
.rh-dynamic-card-bottom em {
	color: #7a003f;
	font-size: 13px;
	font-weight: 900;
	font-style: normal;
}

/* AJAX Loading */
#rh_dynamic_restaurants_grid.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

#rh_dynamic_restaurants_grid.is-loading::after {
	content: "Searching restaurants...";
	position: absolute;
	left: 50%;
	top: 40px;
	transform: translateX(-50%);
	z-index: 10;
	padding: 13px 22px;
	background: #7a003f;
	color: #ffffff;
	border-radius: 999px;
	font-family: "Karla", sans-serif;
	font-size: 13px;
	font-weight: 900;
	box-shadow: 0 16px 34px rgba(122, 0, 63, 0.22);
}

/* Map */
.rh-restaurants-map-view {
	display: none;
}

.rh-map-placeholder {
	padding: 34px;
	background: rgba(255, 255, 255, 0.86);
	border: 1.5px solid #d9a94c;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rh-map-placeholder h3 {
	margin: 0 0 10px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.05;
}

.rh-map-placeholder p {
	margin: 0 0 18px;
	color: #6d6258;
	font-size: 14px;
	line-height: 24px;
}

#rh_map_vendor_list {
	display: grid;
	gap: 12px;
}

.rh-map-vendor-item {
	display: block;
	padding: 16px 18px;
	background: #fffdf9;
	border: 1px solid rgba(217, 169, 76, 0.32);
	border-radius: 12px;
	color: inherit;
	text-decoration: none !important;
}

.rh-map-vendor-item strong {
	display: block;
	margin-bottom: 4px;
	color: #7a003f;
	font-size: 16px;
	font-weight: 900;
}

.rh-map-vendor-item span {
	display: block;
	color: #6d6258;
	font-size: 13px;
	line-height: 20px;
}

/* Empty */
.rh-no-restaurants {
	grid-column: 1 / -1;
	padding: 52px;
	background: rgba(255, 255, 255, 0.84);
	border: 1.5px solid #d9a94c;
	border-radius: 18px;
	text-align: center;
	box-shadow: 0 18px 45px rgba(0,0,0,0.045);
}

.rh-no-restaurants h3 {
	margin: 0 0 12px;
	color: #1f1f1f;
	font-family: "Cormorant", sans-serif;
	font-size: 42px;
	font-weight: 500;
}

.rh-no-restaurants p {
	margin: 0 0 22px;
	color: #6a6258;
	font-size: 15px;
	line-height: 25px;
}

.rh-no-restaurants a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 14px 24px;
	background: #7a003f;
	color: #ffffff;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 900;
	text-decoration: none;
}

/* Responsive */
@media (max-width: 1100px) {
	.rh-restaurants-search {
		grid-template-columns: 1fr 1fr;
	}

	.rh-restaurants-layout {
		grid-template-columns: 1fr;
	}

	.rh-restaurants-filter {
		position: relative;
		top: auto;
	}

	.rh-dynamic-restaurants-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.rh-restaurants-container {
		width: min(100% - 28px, 1180px);
	}

	.rh-restaurants-hero {
		min-height: 360px;
	}

	.rh-restaurants-hero-content {
		padding: 58px 0 92px;
	}

	.rh-restaurants-hero h1 {
		font-size: 46px;
	}

	.rh-restaurants-search {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.rh-restaurants-location-row {
		grid-template-columns: 1fr;
	}

	.rh-restaurants-toolbar,
	.rh-restaurants-list-head {
		display: block;
	}

	.rh-restaurants-view-toggle {
		margin-top: 12px;
	}

	.rh-dynamic-restaurants-grid {
		grid-template-columns: 1fr;
	}
}