:root{--rdo-primary:#19734b;--rdo-secondary:#eef6f1;--rdo-accent:#d8b991;--rdo-button:#19734b;--rdo-button-text:#fff}.rdo-primary-bg{background:var(--rdo-primary)!important}.rdo-secondary-bg{background:var(--rdo-secondary)!important}.rdo-accent-bg{background:var(--rdo-accent)!important}.rdo-primary-text{color:var(--rdo-primary)!important}.rdo-accent-text{color:var(--rdo-accent)!important}.rdo-primary-button,.rdo-primary-button .elementor-button,.elementor-button.rdo-primary-button{display:inline-block;background:var(--rdo-button)!important;color:var(--rdo-button-text)!important;border:0!important;border-radius:7px;padding:12px 20px;text-decoration:none!important;font-weight:700;cursor:pointer}.rdo-primary-button:hover,.rdo-primary-button .elementor-button:hover{filter:brightness(.9)}.rdo-logo-placeholder{box-sizing:border-box;display:inline-flex;width:240px;min-height:100px;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--rdo-primary);border-radius:8px;background:var(--rdo-secondary);color:var(--rdo-primary);font:700 24px/1.05 sans-serif;text-align:center;padding:16px}.rdo-logo-placeholder small{font-size:14px;letter-spacing:2px;text-transform:uppercase}.rdo-menu-grid{display:grid;gap:12px}.rdo-menu-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;border:1px solid color-mix(in srgb,var(--rdo-primary),transparent 75%);border-radius:10px;background:#fff}.rdo-menu-item h3{margin:0 0 5px;color:var(--rdo-primary)}.rdo-add,.rdo-channel-buttons button,.rdo-rewards-open,.rdo-rewards-check{background:var(--rdo-button)!important;color:var(--rdo-button-text)!important;border:0!important;border-radius:7px;padding:11px 18px;font-weight:700;cursor:pointer}.rdo-cart{margin-top:30px;padding:22px;border-radius:12px;background:var(--rdo-secondary)}.rdo-cart-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.1)}.rdo-cart-row button{border:0;background:transparent;color:var(--rdo-primary);cursor:pointer}.rdo-total{font-size:1.15em;margin:15px 0}.rdo-fields{display:grid;gap:10px}.rdo-fields input,.rdo-fields select,.rdo-fields textarea,.rdo-rewards-modal input{box-sizing:border-box;width:100%;padding:11px;border:1px solid #aaa;border-radius:6px}.rdo-channel-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.rdo-floating-cart{position:fixed!important;right:20px;bottom:20px;z-index:99999!important;background:var(--rdo-button)!important;color:var(--rdo-button-text)!important;border:0!important;border-radius:999px!important;padding:14px 19px!important;box-shadow:0 7px 24px rgba(0,0,0,.3)!important;font-weight:800!important}.rdo-floating-cart .rdo-floating-cart-count{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:7px;border-radius:50%;background:var(--rdo-button-text);color:var(--rdo-button)}.rdo-rewards-open{position:fixed;left:20px;bottom:20px;z-index:99998}.rdo-rewards-modal{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.65);padding:20px}.rdo-rewards-modal>div{position:relative;max-width:430px;margin:10vh auto;background:#fff;padding:25px;border-radius:12px}.rdo-modal-close{position:absolute;right:12px;top:8px;background:transparent;border:0;font-size:28px}.rdo-rewards-result{margin-top:15px}.rdo-stamps{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.rdo-stamp{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ddd}.rdo-stamp.on{background:var(--rdo-accent);color:#222}.rdo-demo-builder{display:grid;gap:12px;padding:24px;background:var(--rdo-secondary);border-radius:12px}.rdo-demo-builder input{padding:11px}@media(max-width:600px){.rdo-menu-item{align-items:flex-start}.rdo-floating-cart{right:12px;bottom:12px}.rdo-rewards-open{left:12px;bottom:12px}.rdo-cart-row{grid-template-columns:1fr auto}}


/* v2.0.3 — mobile responsiveness and overflow protection */
.rdo-order-app,
.rdo-demo-builder,
.rdo-order-app *,
.rdo-demo-builder *{
	box-sizing:border-box;
	max-width:100%;
}

.rdo-demo-builder{
	width:min(100%,760px);
	margin-left:auto;
	margin-right:auto;
	overflow:hidden;
}

.rdo-demo-builder h1,
.rdo-demo-builder h2,
.rdo-demo-builder h3,
.rdo-demo-builder p{
	overflow-wrap:anywhere;
	word-break:normal;
}

.rdo-demo-builder input[type="text"],
.rdo-demo-builder input[type="tel"],
.rdo-demo-builder input[type="email"],
.rdo-demo-builder input[type="file"],
.rdo-demo-builder select,
.rdo-demo-builder textarea,
.rdo-demo-builder .rdo-primary-button{
	width:100%;
	min-width:0;
	max-width:100%;
}

.rdo-demo-builder input[type="file"]{
	display:block;
	overflow:hidden;
}

.rdo-brand-contact-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
	width:100%;
}

.rdo-brand-contact-grid > *,
.rdo-primary-button,
.rdo-call-button,
.rdo-whatsapp-button,
.rdo-email-button{
	min-width:0;
	max-width:100%;
	overflow-wrap:anywhere;
}

.rdo-brand-contact-grid .rdo-primary-button,
.rdo-brand-contact-grid .rdo-call-button,
.rdo-brand-contact-grid .rdo-whatsapp-button,
.rdo-brand-contact-grid .rdo-email-button{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	text-align:center;
}

.rdo-logo-placeholder,
.rdo-restaurant-logo{
	max-width:100%;
	height:auto;
}

@media(max-width:767px){
	html,body{max-width:100%;overflow-x:hidden}

	.rdo-demo-builder{
		width:calc(100% - 24px);
		margin:16px auto;
		padding:18px 16px;
		gap:11px;
		border-radius:14px;
	}

	.rdo-demo-builder h2{
		font-size:clamp(30px,10vw,46px)!important;
		line-height:1.05!important;
		margin:4px 0 12px!important;
	}

	.rdo-demo-builder p{
		font-size:16px!important;
		line-height:1.5!important;
		margin:0 0 8px!important;
	}

	.rdo-demo-builder input{
		font-size:16px!important;
	}

	.rdo-demo-builder .rdo-primary-button{
		display:block;
		padding:14px 16px!important;
		font-size:17px!important;
		line-height:1.25!important;
		white-space:normal!important;
	}

	.rdo-logo-placeholder{
		width:min(100%,220px);
		min-height:90px;
		font-size:20px;
		padding:12px;
	}

	.rdo-brand-contact-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:8px;
	}

	.rdo-brand-contact-grid .rdo-primary-button,
	.rdo-brand-contact-grid .rdo-call-button,
	.rdo-brand-contact-grid .rdo-whatsapp-button,
	.rdo-brand-contact-grid .rdo-email-button{
		padding:11px 7px!important;
		font-size:14px!important;
		line-height:1.2!important;
		border-radius:10px!important;
		white-space:normal!important;
	}

	.rdo-call-button,
	.rdo-whatsapp-button,
	.rdo-email-button{
		padding:11px 12px!important;
		font-size:15px!important;
		line-height:1.2!important;
		white-space:normal!important;
	}

	.rdo-menu-item{
		flex-direction:column;
		align-items:stretch;
	}

	.rdo-menu-item .rdo-add{
		align-self:flex-end;
	}

	.rdo-floating-cart{
		right:12px!important;
		bottom:88px!important;
		max-width:calc(100vw - 24px)!important;
		white-space:normal!important;
	}

	.rdo-rewards-open{
		left:12px!important;
		bottom:88px!important;
		max-width:calc(100vw - 24px)!important;
	}

	.rdo-channel-buttons{
		display:grid;
		grid-template-columns:1fr;
	}

	.rdo-channel-buttons button{
		width:100%;
		white-space:normal;
	}
}

@media(max-width:420px){
	.rdo-brand-contact-grid{
		grid-template-columns:1fr;
	}
	.rdo-brand-contact-grid .rdo-primary-button,
	.rdo-brand-contact-grid .rdo-call-button,
	.rdo-brand-contact-grid .rdo-whatsapp-button,
	.rdo-brand-contact-grid .rdo-email-button{
		font-size:16px!important;
		padding:12px 14px!important;
	}
}

.rdo-promptpay-open,.rdo-payment-reported{width:100%;margin-top:12px;background:var(--rdo-button)!important;color:var(--rdo-button-text)!important;border:0!important;border-radius:9px!important;padding:13px 16px!important;font-weight:800!important;cursor:pointer}.rdo-payment-status{margin:12px 0;padding:11px 13px;border-radius:8px;background:#e8f6ee;color:#0f5132;font-weight:700}.rdo-promptpay-modal[hidden]{display:none!important}.rdo-promptpay-modal{position:fixed;inset:0;z-index:100002;background:rgba(0,0,0,.68);display:flex;align-items:center;justify-content:center;padding:18px}.rdo-promptpay-panel{position:relative;width:min(430px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:25px;text-align:center;box-sizing:border-box}.rdo-promptpay-panel h2{margin:0 35px 8px}.rdo-promptpay-close{position:absolute;right:10px;top:8px;border:0;background:transparent!important;color:#333!important;font-size:30px;padding:4px 9px;cursor:pointer}.rdo-promptpay-amount{display:block;font-size:28px;color:var(--rdo-primary);margin:12px 0}.rdo-promptpay-qr{display:block;width:min(320px,100%);height:auto;margin:12px auto;border-radius:10px}.rdo-promptpay-help{font-size:13px;line-height:1.45;color:#64748b}


/* v2.2.0 — Elementor header cart + selectable hero banner */
.rdo-header-cart{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:10px 14px!important;
	border-radius:999px!important;
	background:var(--rdo-button)!important;
	color:var(--rdo-button-text)!important;
	text-decoration:none!important;
	font-weight:800!important;
	line-height:1!important;
	white-space:nowrap;
	box-sizing:border-box;
	box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.rdo-header-cart:hover,.rdo-header-cart:focus{color:var(--rdo-button-text)!important;filter:brightness(.94)}
.rdo-header-cart-icon{font-size:15px;line-height:1}
.rdo-header-cart-count{
	display:inline-grid;
	place-items:center;
	min-width:28px;
	height:28px;
	padding:0 7px;
	border-radius:999px;
	background:var(--rdo-button-text);
	color:var(--rdo-button);
	font-size:13px;
	font-weight:900;
}
.rdo-header-cart:not(.has-items) .rdo-header-cart-count{opacity:.92}
.rdo-hero-banner{
	background-size:cover!important;
	background-position:center center!important;
	background-repeat:no-repeat!important;
}
.rdo-hero-image{display:block;width:100%;height:auto;object-fit:cover}

@media(max-width:767px){
	.rdo-header-cart{
		gap:6px;
		padding:8px 10px!important;
		font-size:13px!important;
	}
	.rdo-header-cart-count{min-width:24px;height:24px;font-size:12px}
	.rdo-header-cart-icon{font-size:13px}
}
@media(max-width:380px){
	.rdo-header-cart-text{display:none}
}

.rdo-hero-headline{overflow-wrap:anywhere}


/* v2.3.1 — robust Elementor hero presentation */
.rdo-hero-banner,
.elementor-element.rdo-hero-banner,
.e-con.rdo-hero-banner{
	position:relative;
	min-height:460px;
	overflow:hidden;
	isolation:isolate;
}

/* Keep Elementor content above the background and any theme overlays. */
.rdo-hero-banner > *,
.elementor-element.rdo-hero-banner > *,
.e-con.rdo-hero-banner > *{
	position:relative;
	z-index:2;
}

.rdo-hero-banner .elementor-background-overlay{
	z-index:1!important;
	pointer-events:none;
}

/* Headline shortcode */
.rdo-hero-headline{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	width:min(720px,100%);
	margin:0;
	font-family:inherit;
	font-size:clamp(44px,5.3vw,78px);
	font-weight:800;
	line-height:.96;
	letter-spacing:-.035em;
	text-align:left;
	text-wrap:balance;
	text-shadow:0 3px 20px rgba(0,0,0,.38);
}

.rdo-hero-headline-main,
.rdo-hero-headline-accent{
	display:block;
}

.rdo-hero-headline-main{
	color:#fff!important;
}

.rdo-hero-headline-accent{
	color:var(--rdo-accent)!important;
	margin-top:.06em;
}

/* If the shortcode sits inside a normal Elementor text/shortcode widget,
   remove widget paragraph spacing that can make the hero look weak. */
.rdo-hero-banner .elementor-shortcode{
	line-height:1;
}

.rdo-hero-banner .elementor-widget-shortcode,
.rdo-hero-banner .elementor-widget-shortcode .elementor-widget-container{
	width:100%;
}

@media(max-width:1024px){
	.rdo-hero-banner,
	.elementor-element.rdo-hero-banner,
	.e-con.rdo-hero-banner{
		min-height:410px;
		background-position:center center!important;
	}
	.rdo-hero-headline{
		font-size:clamp(40px,7vw,64px);
		max-width:650px;
	}
}

@media(max-width:767px){
	.rdo-hero-banner,
	.elementor-element.rdo-hero-banner,
	.e-con.rdo-hero-banner{
		min-height:340px;
		background-position:center center!important;
	}
	.rdo-hero-headline{
		width:100%;
		max-width:520px;
		font-size:clamp(34px,10.5vw,52px);
		line-height:1;
		letter-spacing:-.025em;
	}
}

@media(max-width:480px){
	.rdo-hero-banner,
	.elementor-element.rdo-hero-banner,
	.e-con.rdo-hero-banner{
		min-height:310px;
	}
	.rdo-hero-headline{
		font-size:clamp(32px,10vw,44px);
	}
}

/* v2.4.0 store status, announcements and sold-out states */
.rdo-announcement{margin:0 0 14px;padding:11px 16px;border-radius:9px;background:var(--rdo-accent);color:var(--rdo-announcement-text,#ffffff)!important;font-weight:800;text-align:center}
.rdo-store-status{margin:0 0 16px;padding:10px 14px;border-radius:9px;font-weight:800;text-align:center}
.rdo-store-status.is-open{background:#e9f7ef;color:#166534}
.rdo-store-status.is-closed{background:#fff1f2;color:#9f1239}
.rdo-menu-item.is-sold-out{opacity:.62}
.rdo-menu-item.is-sold-out .rdo-add,.rdo-add:disabled,.rdo-channel-buttons button:disabled,.rdo-promptpay-open:disabled{cursor:not-allowed!important;filter:grayscale(.25);opacity:.65!important}


/* v2.7.0 — customer language selector */
.rdo-customer-language-picker{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px auto;padding:6px 8px;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05);font-size:13px}
.rdo-language-icon{font-size:15px;line-height:1}.rdo-customer-language-picker select{appearance:auto;width:auto!important;min-width:110px;max-width:190px;padding:4px 24px 4px 4px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#172033!important;font:inherit!important;font-weight:700!important}
.rdo-language-shortcode{margin:0}.rdo-menu-language-picker{display:flex;width:max-content}
@media(max-width:600px){.rdo-menu-language-picker{margin-left:auto;margin-right:0}.rdo-customer-language-picker select{min-width:100px;max-width:150px}}

.rdo-language-icon{display:inline-grid;place-items:center}.rdo-language-icon svg{width:16px;height:16px;display:block}
.rdo-customer-language-picker .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* ==========================================================
   v2.8.0 — Quick Launch storefront redesign
   ========================================================== */
html.rdo-cart-open,
body.rdo-cart-open{overflow:hidden!important}

/* Safe typography and colour behaviour */
.rdo-order-app{color:var(--rdo-text);font-family:inherit}
.rdo-order-app h1,.rdo-order-app h2,.rdo-order-app h3,.rdo-order-app strong{color:var(--rdo-heading)}
.rdo-menu-item h3{color:var(--rdo-heading)!important}
.rdo-item-description{color:var(--rdo-text)!important}
.rdo-item-price{color:var(--rdo-heading)!important}
.rdo-primary-text{color:var(--rdo-heading)!important}
.rdo-secondary-bg{background:var(--rdo-soft)!important}

/* Hero: brand accent is decorative, never used as low-contrast headline text */
.rdo-hero-headline{position:relative;gap:.02em;max-width:760px}
.rdo-hero-headline-main,
.rdo-hero-headline-accent{color:var(--rdo-hero-text)!important;text-shadow:0 4px 28px rgba(0,0,0,.48)}
.rdo-hero-headline-accent{position:relative;margin-top:.05em;padding-bottom:.13em}
.rdo-hero-headline-accent::after{
	content:"";
	display:block;
	width:min(180px,42%);
	height:6px;
	margin-top:.14em;
	border-radius:999px;
	background:var(--rdo-brand);
	box-shadow:0 4px 18px rgba(0,0,0,.16)
}

/* Cleaner reusable Elementor header controls */
.rdo-header-cart{box-shadow:0 8px 24px rgba(23,32,51,.14)!important;transition:transform .18s ease,box-shadow .18s ease}
.rdo-header-cart:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(23,32,51,.18)!important}
.rdo-header-cart-icon{display:inline-grid;place-items:center;width:18px;height:18px}
.rdo-header-cart-icon svg{width:18px;height:18px}
.rdo-customer-language-picker{margin:0;padding:7px 10px;border-color:var(--rdo-border);box-shadow:0 4px 16px rgba(23,32,51,.07)}
.rdo-customer-language-picker select{font-size:13px!important}

/* Store information strip */
.rdo-store-info{
	display:flex;
	align-items:stretch;
	gap:8px;
	width:min(100%,1250px);
	margin:0 auto 22px;
	padding:8px;
	overflow-x:auto;
	scrollbar-width:none;
	border:1px solid var(--rdo-border);
	border-radius:14px;
	background:var(--rdo-surface);
	box-shadow:0 7px 24px rgba(23,32,51,.055)
}
.rdo-store-info::-webkit-scrollbar{display:none}
.rdo-store-info-item{
	display:flex;
	align-items:center;
	gap:9px;
	flex:1 0 auto;
	min-width:135px;
	padding:8px 12px;
	border-radius:10px;
	background:var(--rdo-soft)
}
.rdo-store-info-icon{
	display:grid;
	place-items:center;
	flex:0 0 30px;
	width:30px;height:30px;
	border-radius:9px;
	background:#fff;
	color:var(--rdo-brand);
	box-shadow:0 1px 4px rgba(23,32,51,.06)
}
.rdo-store-info-icon svg{width:17px;height:17px}
.rdo-store-info-copy{display:flex;flex-direction:column;min-width:0}
.rdo-store-info-copy strong{font-size:12px;line-height:1.15;color:var(--rdo-heading)!important;white-space:nowrap}
.rdo-store-info-copy small{margin-top:2px;font-size:10px;line-height:1.15;color:var(--rdo-muted);white-space:nowrap}
.rdo-store-info-item.is-open .rdo-store-info-icon{background:#eaf8ef;color:var(--rdo-success)}
.rdo-store-info-item.is-open .rdo-store-info-copy strong{color:var(--rdo-success)!important}
.rdo-store-info-item.is-closed .rdo-store-info-icon{background:#fff1f1;color:var(--rdo-danger)}
.rdo-store-info-item.is-closed .rdo-store-info-copy strong{color:var(--rdo-danger)!important}

/* Announcement now reads as a professional notice */
.rdo-announcement{
	width:min(100%,1250px);
	margin:0 auto 12px!important;
	padding:12px 16px!important;
	border-radius:12px!important;
	box-shadow:0 5px 18px rgba(23,32,51,.06)
}

/* Menu heading */
.rdo-menu-heading{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	width:min(100%,1250px);
	margin:4px auto 14px
}
.rdo-menu-kicker{
	display:block;
	margin-bottom:3px;
	color:var(--rdo-brand);
	font-size:12px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase
}
.rdo-menu-heading h2{margin:0!important;font-size:clamp(28px,3vw,40px);line-height:1;color:var(--rdo-heading)!important}
.rdo-menu-count{padding:7px 10px;border-radius:999px;background:var(--rdo-soft);color:var(--rdo-muted);font-size:11px;font-weight:700}

/* Sticky horizontal menu categories */
.rdo-category-nav{
	position:sticky;
	top:0;
	z-index:150;
	display:flex;
	gap:8px;
	width:min(100%,1250px);
	margin:0 auto 14px;
	padding:9px 0;
	overflow-x:auto;
	scrollbar-width:none;
	white-space:nowrap;
	background:rgba(255,255,255,.95);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px)
}
.admin-bar .rdo-category-nav{top:32px}
.rdo-category-nav::-webkit-scrollbar{display:none}
.rdo-category-nav button{
	flex:0 0 auto;
	padding:9px 15px;
	border:1px solid var(--rdo-border);
	border-radius:999px;
	background:#fff;
	color:var(--rdo-heading);
	font:700 12px/1 inherit;
	cursor:pointer;
	transition:.16s ease
}
.rdo-category-nav button:hover{border-color:var(--rdo-brand);color:var(--rdo-brand)}
.rdo-category-nav button.is-active{
	border-color:var(--rdo-button);
	background:var(--rdo-button);
	color:var(--rdo-button-text);
	box-shadow:0 5px 14px color-mix(in srgb,var(--rdo-button),transparent 76%)
}

/* Professional product cards */
.rdo-menu-grid{width:min(100%,1250px);margin:0 auto;gap:10px!important}
.rdo-menu-item{
	display:grid!important;
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:center!important;
	gap:16px!important;
	min-height:104px;
	padding:10px 12px!important;
	border:1px solid var(--rdo-border)!important;
	border-radius:14px!important;
	background:var(--rdo-surface)!important;
	box-shadow:0 4px 16px rgba(23,32,51,.045);
	transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease
}
.rdo-menu-item:hover{border-color:color-mix(in srgb,var(--rdo-brand),#fff 55%)!important;transform:translateY(-1px);box-shadow:0 8px 24px rgba(23,32,51,.075)}
.rdo-menu-item.is-filtered-out{display:none!important}
.rdo-item-image{width:112px;height:86px;overflow:hidden;border-radius:10px;background:var(--rdo-soft)}
.rdo-item-image img{display:block;width:100%;height:100%;object-fit:cover}
.rdo-item-copy{min-width:0}
.rdo-item-copy h3{margin:0 0 5px!important;font-size:18px;line-height:1.15}
.rdo-item-description{font-size:13px;line-height:1.45}
.rdo-item-actions{display:flex;align-items:center;gap:16px;padding-left:8px}
.rdo-item-price{min-width:70px;text-align:right;font-size:15px;font-weight:800;white-space:nowrap}
.rdo-add{
	min-width:86px;
	border-radius:10px!important;
	padding:11px 17px!important;
	box-shadow:0 4px 12px color-mix(in srgb,var(--rdo-button),transparent 80%);
	transition:transform .15s ease,filter .15s ease
}
.rdo-add:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.94)}
.rdo-add.is-added{transform:scale(.95)}
.rdo-menu-item.is-sold-out{opacity:.58}

/* Drawer cart */
.rdo-cart-backdrop{
	position:fixed;
	inset:0;
	z-index:100090;
	background:rgba(15,23,42,.52);
	opacity:0;
	transition:opacity .22s ease;
	backdrop-filter:blur(2px)
}
.rdo-cart-backdrop.is-open{opacity:1}
.rdo-cart-drawer{
	position:fixed!important;
	top:0!important;
	right:0!important;
	z-index:100100!important;
	width:min(470px,100vw)!important;
	height:100dvh!important;
	margin:0!important;
	padding:0!important;
	overflow:auto;
	border-radius:20px 0 0 20px!important;
	background:#fff!important;
	box-shadow:-24px 0 70px rgba(15,23,42,.24)!important;
	transform:translateX(104%);
	transition:transform .26s cubic-bezier(.2,.8,.2,1);
	color:var(--rdo-text)
}
.rdo-cart-drawer.is-open{transform:translateX(0)}
.rdo-cart-head{
	position:sticky;
	top:0;
	z-index:3;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:20px 22px 16px;
	border-bottom:1px solid var(--rdo-border);
	background:rgba(255,255,255,.96);
	backdrop-filter:blur(12px)
}
.rdo-cart-kicker{display:block;margin-bottom:3px;color:var(--rdo-brand);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.rdo-cart-head h2{margin:0!important;font-size:25px!important;line-height:1!important}
.rdo-cart-close{
	display:grid;
	place-items:center;
	width:38px;height:38px;
	padding:0!important;
	border:1px solid var(--rdo-border)!important;
	border-radius:50%!important;
	background:#fff!important;
	color:var(--rdo-heading)!important;
	cursor:pointer
}
.rdo-cart-close svg{width:17px;height:17px}
.rdo-cart-items,.rdo-empty,.rdo-total,.rdo-cart-service-summary,.rdo-fields,.rdo-payment-status,.rdo-promptpay-open,.rdo-channel-buttons,.rdo-rewards-inline{margin-left:22px!important;margin-right:22px!important}
.rdo-cart-items{margin-top:14px}
.rdo-cart-row{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) auto 28px!important;
	align-items:center;
	gap:10px!important;
	padding:11px 0!important;
	border-bottom:1px solid var(--rdo-border)!important
}
.rdo-cart-row>div{display:flex;flex-direction:column;min-width:0}
.rdo-cart-row>div strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rdo-cart-row>div small{margin-top:2px;color:var(--rdo-muted);font-size:11px}
.rdo-cart-row>strong{font-size:12px}
.rdo-cart-row button{font-size:20px!important;color:var(--rdo-muted)!important}
.rdo-empty{margin-top:18px!important;padding:20px;border:1px dashed var(--rdo-border);border-radius:12px;background:var(--rdo-soft);text-align:center;color:var(--rdo-muted)}
.rdo-total{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-top:14px!important;
	margin-bottom:10px!important;
	padding:15px 0;
	border-top:1px solid var(--rdo-border);
	border-bottom:1px solid var(--rdo-border);
	font-size:16px!important
}
.rdo-total strong{font-size:23px!important}
.rdo-cart-service-summary{display:flex;gap:8px;margin-top:0!important;margin-bottom:14px!important}
.rdo-cart-service-summary span{padding:6px 9px;border-radius:999px;background:var(--rdo-soft);color:var(--rdo-muted);font-size:10px;font-weight:800}
.rdo-fields{gap:9px!important}
.rdo-fields input,.rdo-fields select,.rdo-fields textarea{
	min-height:46px;
	padding:11px 12px!important;
	border:1px solid var(--rdo-border)!important;
	border-radius:10px!important;
	background:#fff!important;
	color:var(--rdo-heading)!important;
	font-size:14px!important;
	outline:none
}
.rdo-fields textarea{min-height:82px;resize:vertical}
.rdo-fields input:focus,.rdo-fields select:focus,.rdo-fields textarea:focus{border-color:var(--rdo-brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rdo-brand),transparent 86%)}
.rdo-channel-buttons{display:grid!important;grid-template-columns:1fr!important;margin-top:12px!important;margin-bottom:14px!important}
.rdo-channel-buttons button,.rdo-promptpay-open{width:100%!important;min-height:48px;border-radius:10px!important;font-size:14px!important}
.rdo-rewards-inline{
	position:static!important;
	display:flex!important;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:calc(100% - 44px)!important;
	margin-top:0!important;
	margin-bottom:22px!important;
	padding:12px!important;
	border:1px solid var(--rdo-border)!important;
	background:#fff!important;
	color:var(--rdo-heading)!important;
	box-shadow:none!important
}
.rdo-rewards-inline:hover{border-color:var(--rdo-brand)!important;color:var(--rdo-brand)!important}

/* Smart floating cart only appears when header cart is out of view */
.rdo-floating-cart{
	display:inline-flex!important;
	align-items:center;
	gap:8px;
	right:18px!important;
	bottom:18px!important;
	padding:12px 14px!important;
	box-shadow:0 12px 34px rgba(15,23,42,.24)!important;
	transition:transform .18s ease,opacity .18s ease
}
.rdo-floating-cart[hidden]{display:none!important}
.rdo-floating-cart>svg{width:17px;height:17px}
.rdo-floating-cart .rdo-floating-cart-count{
	display:inline-grid!important;
	place-items:center;
	min-width:26px!important;height:26px!important;
	margin-left:1px!important;
	padding:0 7px!important
}

/* Rewards modal retained, but no longer occupies the bottom-left of every page */
.rdo-rewards-open:not(.rdo-rewards-inline){position:static!important}
.rdo-rewards-modal>div{border-radius:18px!important;box-shadow:0 28px 80px rgba(15,23,42,.28)}

/* PromptPay polish */
.rdo-promptpay-panel{box-shadow:0 28px 80px rgba(15,23,42,.28)}
.rdo-promptpay-amount{color:var(--rdo-heading)!important}

/* Responsive */
@media(max-width:782px){.admin-bar .rdo-category-nav{top:46px}}
@media(max-width:767px){
	.rdo-hero-banner,.elementor-element.rdo-hero-banner,.e-con.rdo-hero-banner{min-height:330px!important}
	.rdo-hero-headline{font-size:clamp(34px,10.5vw,50px)!important}
	.rdo-store-info{margin-bottom:16px}
	.rdo-store-info-item{min-width:125px}
	.rdo-menu-heading{align-items:center}
	.rdo-menu-heading h2{font-size:30px}
	.rdo-category-nav{margin-bottom:10px;padding:7px 0}
	.rdo-category-nav button{padding:9px 13px}
	.rdo-menu-item{
		grid-template-columns:88px minmax(0,1fr)!important;
		gap:11px!important;
		min-height:108px;
		padding:9px!important
	}
	.rdo-menu-item:not(:has(.rdo-item-image)){grid-template-columns:minmax(0,1fr) auto!important}
	.rdo-item-image{width:88px;height:88px}
	.rdo-item-copy h3{font-size:16px}
	.rdo-item-description{font-size:12px;line-height:1.35}
	.rdo-item-actions{
		grid-column:2;
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:9px;
		padding-left:0
	}
	.rdo-menu-item:not(:has(.rdo-item-image)) .rdo-item-actions{grid-column:2;grid-row:1}
	.rdo-item-price{min-width:0;font-size:14px}
	.rdo-add{min-width:72px;padding:9px 13px!important;font-size:13px!important}
	.rdo-cart-drawer{
		top:auto!important;
		bottom:0!important;
		width:100%!important;
		height:min(92dvh,780px)!important;
		border-radius:22px 22px 0 0!important;
		transform:translateY(104%)
	}
	.rdo-cart-drawer.is-open{transform:translateY(0)}
	.rdo-cart-head{padding:16px 18px 14px}
	.rdo-cart-items,.rdo-empty,.rdo-total,.rdo-cart-service-summary,.rdo-fields,.rdo-payment-status,.rdo-promptpay-open,.rdo-channel-buttons,.rdo-rewards-inline{margin-left:18px!important;margin-right:18px!important}
	.rdo-rewards-inline{width:calc(100% - 36px)!important}
	.rdo-floating-cart{right:12px!important;bottom:12px!important;max-width:calc(100vw - 24px)!important}
}
@media(max-width:460px){
	.rdo-menu-count{display:none}
	.rdo-item-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
@media(max-width:390px){
	.rdo-menu-item{grid-template-columns:78px minmax(0,1fr)!important}
	.rdo-item-image{width:78px;height:78px}
	.rdo-item-actions{gap:6px}
	.rdo-add{min-width:64px}
}


/* ==========================================================
   v2.8.1 — precision product-card alignment
   Price and action buttons use fixed grid columns so every
   menu row lines up like a professional ordering interface.
   ========================================================== */
.rdo-menu-item{
	grid-template-columns:112px minmax(0,1fr) 92px 96px !important;
	column-gap:16px !important;
	row-gap:4px !important;
}
.rdo-menu-item.no-image{
	grid-template-columns:minmax(0,1fr) 92px 96px !important;
}
.rdo-menu-item .rdo-item-image{grid-column:1;grid-row:1}
.rdo-menu-item.has-image .rdo-item-copy{grid-column:2;grid-row:1}
.rdo-menu-item.no-image .rdo-item-copy{grid-column:1;grid-row:1}
.rdo-menu-item .rdo-item-actions{display:contents !important}
.rdo-menu-item.has-image .rdo-item-price{grid-column:3;grid-row:1}
.rdo-menu-item.has-image .rdo-add{grid-column:4;grid-row:1}
.rdo-menu-item.no-image .rdo-item-price{grid-column:2;grid-row:1}
.rdo-menu-item.no-image .rdo-add{grid-column:3;grid-row:1}
.rdo-item-price{
	align-self:center;
	justify-self:end;
	width:92px;
	min-width:92px !important;
	text-align:right !important;
	font-variant-numeric:tabular-nums;
}
.rdo-add{
	align-self:center;
	justify-self:end;
	width:96px;
	min-width:96px !important;
	max-width:96px;
	margin:0 !important;
	text-align:center;
}
.rdo-item-copy{
	align-self:center;
	padding-right:8px;
}
.rdo-item-copy h3{
	margin-bottom:5px !important;
}
.rdo-menu-item{
	min-height:112px;
}

/* Tablet */
@media(max-width:900px){
	.rdo-menu-item{
		grid-template-columns:96px minmax(0,1fr) 82px 86px !important;
		column-gap:12px !important;
	}
	.rdo-menu-item.no-image{
		grid-template-columns:minmax(0,1fr) 82px 86px !important;
	}
	.rdo-item-image{width:96px;height:82px}
	.rdo-item-price{width:82px;min-width:82px !important}
	.rdo-add{width:86px;min-width:86px !important;max-width:86px}
}

/* Mobile: keep price + Add in a clean fixed action row */
@media(max-width:767px){
	.rdo-menu-item.has-image{
		grid-template-columns:82px minmax(0,1fr) 76px !important;
		grid-template-rows:auto auto !important;
	}
	.rdo-menu-item.no-image{
		grid-template-columns:minmax(0,1fr) 76px !important;
		grid-template-rows:auto auto !important;
	}
	.rdo-menu-item.has-image .rdo-item-image{
		grid-column:1;
		grid-row:1 / span 2;
		align-self:center;
	}
	.rdo-menu-item.has-image .rdo-item-copy{
		grid-column:2 / span 2;
		grid-row:1;
	}
	.rdo-menu-item.no-image .rdo-item-copy{
		grid-column:1 / span 2;
		grid-row:1;
	}
	.rdo-menu-item.has-image .rdo-item-price,
	.rdo-menu-item.no-image .rdo-item-price{
		grid-column:2;
		grid-row:2;
		justify-self:start;
		width:auto;
		min-width:0 !important;
		text-align:left !important;
	}
	.rdo-menu-item.has-image .rdo-add,
	.rdo-menu-item.no-image .rdo-add{
		grid-column:3;
		grid-row:2;
		width:76px;
		min-width:76px !important;
		max-width:76px;
	}
	.rdo-menu-item.no-image .rdo-add{grid-column:2}
	.rdo-menu-item.no-image .rdo-item-price{
		grid-column:1;
	}
	.rdo-item-copy{padding-right:0}
}

/* Very small phones */
@media(max-width:390px){
	.rdo-menu-item.has-image{
		grid-template-columns:74px minmax(0,1fr) 72px !important;
	}
	.rdo-menu-item.no-image{
		grid-template-columns:minmax(0,1fr) 72px !important;
	}
	.rdo-item-image{width:74px;height:74px}
	.rdo-menu-item .rdo-add{
		width:72px;
		min-width:72px !important;
		max-width:72px;
	}
}


/* ==========================================================
   v2.9.0 — Ordering UX upgrade
   Sticky smart header, fulfilment-first ordering, stronger
   categories, +/- controls, browser language and menu search.
   ========================================================== */

:root{--rdo-smart-header-height:0px}

/* Automatically discovered Elementor/header shell */
.rdo-smart-header{
	position:sticky!important;
	top:0;
	z-index:9990!important;
	background:rgba(255,255,255,.97)!important;
	box-shadow:0 1px 0 rgba(23,32,51,.08),0 8px 28px rgba(23,32,51,.07)!important;
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	padding-top:7px!important;
	padding-bottom:7px!important;
	min-height:0!important
}
.rdo-smart-header>.e-con-inner,
.rdo-smart-header>.elementor-container{min-height:0!important}
.admin-bar .rdo-smart-header{top:32px}
.rdo-smart-header .rdo-restaurant-logo{max-height:72px!important;width:auto!important;object-fit:contain}
.rdo-smart-header .rdo-logo-placeholder{
	width:150px!important;
	min-height:72px!important;
	padding:9px 12px!important;
	font-size:19px!important;
	line-height:1!important
}
.rdo-smart-header .rdo-logo-placeholder small{font-size:10px!important;letter-spacing:1.5px!important}
.rdo-smart-header .rdo-header-cart,
.rdo-smart-header .rdo-primary-button{min-height:42px;padding:10px 15px!important}
.rdo-smart-header .rdo-customer-language-picker{min-height:42px;padding:6px 9px!important}

/* Fulfilment first */
.rdo-fulfilment-panel{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	width:min(100%,1250px);
	margin:0 auto 12px;
	padding:12px 14px;
	border:1px solid var(--rdo-border);
	border-radius:14px;
	background:#fff;
	box-shadow:0 6px 20px rgba(23,32,51,.05)
}
.rdo-fulfilment-copy{display:flex;flex-direction:column;min-width:0}
.rdo-fulfilment-copy strong{font-size:14px!important;color:var(--rdo-heading)!important}
.rdo-fulfilment-copy small{margin-top:2px;color:var(--rdo-muted);font-size:10px}
.rdo-fulfilment-switch{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:5px;
	min-width:300px;
	padding:4px;
	border-radius:12px;
	background:var(--rdo-soft)
}
.rdo-fulfilment-switch button{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:42px;
	padding:8px 14px;
	border:0;
	border-radius:9px;
	background:transparent;
	color:var(--rdo-heading);
	font:800 12px/1 inherit;
	cursor:pointer;
	transition:.16s ease
}
.rdo-fulfilment-switch button svg{width:17px;height:17px}
.rdo-fulfilment-switch button.is-active{
	background:var(--rdo-button);
	color:var(--rdo-button-text);
	box-shadow:0 5px 14px color-mix(in srgb,var(--rdo-button),transparent 78%)
}

/* The information strip reflects the selected fulfilment method */
.rdo-store-info-item[hidden]{display:none!important}
.rdo-store-info{gap:7px;margin-bottom:18px}
.rdo-store-info-item{min-width:128px;padding:8px 11px}
.rdo-next-opening{font-weight:700;color:var(--rdo-muted)!important}

/* Search only appears automatically on menus with 26+ products */
.rdo-menu-search-shell{
	width:min(100%,1250px);
	margin:0 auto 10px
}
.rdo-menu-search{
	display:flex;
	align-items:center;
	gap:9px;
	width:min(100%,520px);
	min-height:46px;
	padding:0 11px;
	border:1px solid var(--rdo-border);
	border-radius:12px;
	background:#fff;
	box-shadow:0 4px 14px rgba(23,32,51,.04)
}
.rdo-menu-search:focus-within{
	border-color:var(--rdo-brand);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--rdo-brand),transparent 88%)
}
.rdo-menu-search-icon{display:grid;place-items:center;color:var(--rdo-muted)}
.rdo-menu-search-icon svg{width:18px;height:18px}
.rdo-menu-search-input{
	flex:1;
	min-width:0;
	height:44px;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
	outline:0!important;
	color:var(--rdo-heading)!important;
	font-size:14px!important
}
.rdo-menu-search-clear{
	display:grid;
	place-items:center;
	width:28px;height:28px;
	padding:0;
	border:0;
	border-radius:50%;
	background:var(--rdo-soft);
	color:var(--rdo-muted);
	font-size:20px;
	cursor:pointer
}
.rdo-menu-search-clear[hidden]{display:none!important}

/* Categories are now a proper primary menu control */
.rdo-category-nav{
	top:var(--rdo-smart-header-height)!important;
	z-index:2200!important;
	margin-bottom:14px!important;
	padding:10px 6px!important;
	border-top:1px solid rgba(230,233,238,.78);
	border-bottom:1px solid rgba(230,233,238,.9);
	box-shadow:0 6px 18px rgba(23,32,51,.045)
}
.admin-bar .rdo-category-nav{top:calc(var(--rdo-smart-header-height) + 32px)!important}
.rdo-category-nav button{
	min-height:38px;
	padding:9px 16px!important;
	font-size:12px!important;
	box-shadow:0 2px 5px rgba(23,32,51,.035)
}
.rdo-category-nav button.is-active{
	box-shadow:0 6px 15px color-mix(in srgb,var(--rdo-button),transparent 78%)!important
}

/* Product action column: Add becomes − 1 + */
.rdo-menu-item{
	grid-template-columns:112px minmax(0,1fr) 92px 116px!important
}
.rdo-menu-item.no-image{
	grid-template-columns:minmax(0,1fr) 92px 116px!important
}
.rdo-menu-item .rdo-item-actions{display:contents!important}
.rdo-menu-item.has-image .rdo-item-price{grid-column:3!important;grid-row:1!important}
.rdo-menu-item.has-image .rdo-item-control{grid-column:4;grid-row:1}
.rdo-menu-item.no-image .rdo-item-price{grid-column:2!important;grid-row:1!important}
.rdo-menu-item.no-image .rdo-item-control{grid-column:3;grid-row:1}
.rdo-item-control{
	align-self:center;
	justify-self:end;
	width:116px;
	min-width:116px
}
.rdo-item-control .rdo-add{
	width:116px!important;
	min-width:116px!important;
	max-width:116px!important;
	margin:0!important
}
.rdo-qty-control{
	display:grid;
	grid-template-columns:34px minmax(32px,1fr) 34px;
	align-items:center;
	width:116px;
	min-height:44px;
	overflow:hidden;
	border:1px solid color-mix(in srgb,var(--rdo-button),#fff 42%);
	border-radius:11px;
	background:#fff;
	box-shadow:0 5px 14px rgba(23,32,51,.08)
}
.rdo-qty-control[hidden]{display:none!important}
.rdo-qty-control button{
	display:grid;
	place-items:center;
	width:34px;height:42px;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	color:var(--rdo-button)!important;
	font:900 22px/1 inherit!important;
	cursor:pointer
}
.rdo-qty-control button:hover{background:color-mix(in srgb,var(--rdo-button),transparent 92%)!important}
.rdo-qty-value{
	display:grid;
	place-items:center;
	height:42px;
	color:var(--rdo-heading);
	font-size:14px;
	font-weight:900;
	font-variant-numeric:tabular-nums
}

/* Search/category empty state */
.rdo-menu-empty-search{
	width:min(100%,1250px);
	margin:18px auto 0;
	padding:28px 18px;
	border:1px dashed var(--rdo-border);
	border-radius:14px;
	background:var(--rdo-soft);
	text-align:center
}
.rdo-menu-empty-search[hidden]{display:none!important}
.rdo-menu-empty-search strong,
.rdo-menu-empty-search span{display:block}
.rdo-menu-empty-search strong{font-size:16px;color:var(--rdo-heading)}
.rdo-menu-empty-search span{margin-top:4px;color:var(--rdo-muted);font-size:12px}

/* Contact WhatsApp moves out of the small-screen header and into cart */
.rdo-cart-whatsapp-contact{
	display:none;
	align-items:center;
	justify-content:center;
	width:calc(100% - 44px);
	min-height:44px;
	margin:10px 22px 0;
	border:1px solid #d7e5da;
	border-radius:10px;
	background:#f3fbf5;
	color:#137333!important;
	text-decoration:none!important;
	font-size:12px;
	font-weight:800
}

/* Accessibility helper for menu search label */
.rdo-menu-search .screen-reader-text{
	position:absolute!important;
	width:1px!important;height:1px!important;
	padding:0!important;margin:-1px!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;border:0!important
}

@media(max-width:900px){
	.rdo-menu-item{
		grid-template-columns:96px minmax(0,1fr) 82px 108px!important
	}
	.rdo-menu-item.no-image{
		grid-template-columns:minmax(0,1fr) 82px 108px!important
	}
	.rdo-item-control,
	.rdo-item-control .rdo-add,
	.rdo-qty-control{width:108px!important;min-width:108px!important;max-width:108px!important}
	.rdo-qty-control{grid-template-columns:32px minmax(30px,1fr) 32px}
	.rdo-qty-control button{width:32px}
}

@media(max-width:782px){
	.admin-bar .rdo-smart-header{top:46px}
	.admin-bar .rdo-category-nav{top:calc(var(--rdo-smart-header-height) + 46px)!important}
}

@media(max-width:767px){
	.rdo-smart-header{
		padding-top:5px!important;
		padding-bottom:5px!important
	}
	.rdo-smart-header .rdo-whatsapp-button{display:none!important}
	.rdo-smart-header .rdo-restaurant-logo{max-height:54px!important}
	.rdo-smart-header .rdo-logo-placeholder{
		width:104px!important;
		min-height:54px!important;
		padding:6px 8px!important;
		font-size:14px!important
	}
	.rdo-smart-header .rdo-logo-placeholder small{font-size:8px!important}
	.rdo-smart-header .rdo-header-cart{
		min-width:44px!important;
		padding:9px 10px!important
	}
	.rdo-smart-header .rdo-header-cart-text{display:none!important}
	.rdo-smart-header .rdo-header-cart-count{min-width:24px;height:24px;padding:0 6px}
	.rdo-smart-header .rdo-customer-language-picker{min-width:0;max-width:142px}
	.rdo-smart-header .rdo-customer-language-picker select{
		min-width:76px!important;
		max-width:110px!important;
		font-size:12px!important
	}

	.rdo-fulfilment-panel{
		align-items:stretch;
		flex-direction:column;
		gap:10px;
		padding:11px;
		margin-bottom:10px
	}
	.rdo-fulfilment-switch{width:100%;min-width:0}
	.rdo-fulfilment-switch button{min-height:44px}

	.rdo-store-info{margin-bottom:13px}
	.rdo-store-info-item{min-width:118px}

	.rdo-menu-search-shell{margin-bottom:7px}
	.rdo-menu-search{width:100%}

	.rdo-category-nav{
		top:var(--rdo-smart-header-height)!important;
		margin-bottom:10px!important;
		padding:7px 4px!important
	}

	.rdo-menu-item.has-image{
		grid-template-columns:82px minmax(0,1fr) 104px!important;
		grid-template-rows:auto auto!important
	}
	.rdo-menu-item.no-image{
		grid-template-columns:minmax(0,1fr) 104px!important;
		grid-template-rows:auto auto!important
	}
	.rdo-menu-item.has-image .rdo-item-image{grid-column:1;grid-row:1 / span 2}
	.rdo-menu-item.has-image .rdo-item-copy{grid-column:2 / span 2;grid-row:1}
	.rdo-menu-item.no-image .rdo-item-copy{grid-column:1 / span 2;grid-row:1}
	.rdo-menu-item.has-image .rdo-item-price{grid-column:2!important;grid-row:2!important;justify-self:start}
	.rdo-menu-item.no-image .rdo-item-price{grid-column:1!important;grid-row:2!important;justify-self:start}
	.rdo-menu-item.has-image .rdo-item-control{grid-column:3;grid-row:2}
	.rdo-menu-item.no-image .rdo-item-control{grid-column:2;grid-row:2}
	.rdo-item-control,
	.rdo-item-control .rdo-add,
	.rdo-qty-control{
		width:104px!important;
		min-width:104px!important;
		max-width:104px!important
	}
	.rdo-qty-control{grid-template-columns:31px minmax(30px,1fr) 31px}
	.rdo-qty-control button{width:31px}

	.rdo-cart-whatsapp-contact{display:flex;width:calc(100% - 36px);margin-left:18px;margin-right:18px}
}

@media(max-width:390px){
	.rdo-menu-item.has-image{
		grid-template-columns:74px minmax(0,1fr) 96px!important
	}
	.rdo-menu-item.no-image{
		grid-template-columns:minmax(0,1fr) 96px!important
	}
	.rdo-item-control,
	.rdo-item-control .rdo-add,
	.rdo-qty-control{
		width:96px!important;
		min-width:96px!important;
		max-width:96px!important
	}
	.rdo-qty-control{grid-template-columns:29px minmax(28px,1fr) 29px}
	.rdo-qty-control button{width:29px}
}


/* ==========================================================
   v2.9.1 — Mobile store-info fit
   Keep Open / Collection / Ready in fully visible without
   horizontal scrolling on phones.
   ========================================================== */
@media(max-width:767px){
	.rdo-store-info{
		display:grid!important;
		grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important;
		align-items:stretch!important;
		gap:6px!important;
		width:100%!important;
		margin-left:auto!important;
		margin-right:auto!important;
		padding:6px!important;
		overflow:visible!important;
		scroll-snap-type:none!important;
	}

	.rdo-store-info-item{
		display:flex!important;
		align-items:center!important;
		justify-content:flex-start!important;
		gap:6px!important;
		width:100%!important;
		min-width:0!important;
		max-width:none!important;
		padding:8px 7px!important;
		border-radius:9px!important;
		overflow:hidden!important;
	}

	.rdo-store-info-icon{
		flex:0 0 26px!important;
		width:26px!important;
		height:26px!important;
		border-radius:8px!important;
	}

	.rdo-store-info-icon svg{
		width:14px!important;
		height:14px!important;
	}

	.rdo-store-info-copy{
		flex:1 1 auto!important;
		min-width:0!important;
		overflow:hidden!important;
	}

	.rdo-store-info-copy strong{
		display:block!important;
		max-width:100%!important;
		font-size:10.5px!important;
		line-height:1.1!important;
		white-space:normal!important;
		overflow-wrap:anywhere!important;
	}

	.rdo-store-info-copy small{
		display:block!important;
		max-width:100%!important;
		margin-top:2px!important;
		font-size:8.5px!important;
		line-height:1.15!important;
		white-space:normal!important;
		overflow-wrap:anywhere!important;
	}

	.rdo-next-opening{
		white-space:normal!important;
	}
}

@media(max-width:390px){
	.rdo-store-info{
		grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;
		gap:5px!important;
		padding:5px!important;
	}

	.rdo-store-info-item{
		gap:5px!important;
		padding:7px 6px!important;
	}

	.rdo-store-info-icon{
		flex-basis:24px!important;
		width:24px!important;
		height:24px!important;
	}

	.rdo-store-info-copy strong{
		font-size:10px!important;
	}

	.rdo-store-info-copy small{
		font-size:8px!important;
	}
}


/* ==========================================================
   v2.9.2 — Mobile View Order visibility
   ========================================================== */
@media(max-width:767px){
	.rdo-floating-cart{
		position:fixed!important;
		right:14px!important;
		bottom:calc(env(safe-area-inset-bottom, 0px) + 82px)!important;
		z-index:100120!important;
		display:inline-flex!important;
		align-items:center!important;
		justify-content:center!important;
		gap:8px!important;
		max-width:calc(100vw - 28px)!important;
		min-height:50px!important;
		padding:11px 14px!important;
		border-radius:999px!important;
		box-shadow:0 12px 34px rgba(15,23,42,.28)!important;
		white-space:nowrap!important;
	}

	.rdo-floating-cart[hidden]{
		display:none!important;
	}

	.rdo-floating-cart-label{
		display:inline!important;
		font-size:14px!important;
		line-height:1!important;
		font-weight:800!important;
	}

	.rdo-floating-cart .rdo-floating-cart-count{
		display:inline-grid!important;
		place-items:center!important;
		flex:0 0 auto!important;
		min-width:27px!important;
		width:auto!important;
		height:27px!important;
		margin-left:0!important;
		padding:0 7px!important;
	}

	.rdo-floating-cart>svg{
		flex:0 0 18px!important;
		width:18px!important;
		height:18px!important;
	}
}

/* Slightly lower on devices/browsers without a large bottom toolbar. */
@media(max-width:767px) and (display-mode:standalone){
	.rdo-floating-cart{
		bottom:calc(env(safe-area-inset-bottom, 0px) + 18px)!important;
	}
}


/* ==========================================================
   v2.9.4 — definitive mobile cart control fix
   ========================================================== */

/* Hidden really means hidden, even inside layouts that force display values. */
.rdo-item-control .rdo-add[hidden],
.rdo-item-control .rdo-qty-control[hidden],
.rdo-floating-cart[hidden]{
	display:none!important;
}

/* Only the count is a white badge. The View Order text is plain text. */
.rdo-floating-cart .rdo-floating-cart-label{
	display:inline!important;
	min-width:0!important;
	width:auto!important;
	height:auto!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	color:var(--rdo-button-text)!important;
	box-shadow:none!important;
	font-size:14px!important;
	line-height:1.1!important;
	font-weight:800!important;
	white-space:nowrap!important;
}

.rdo-floating-cart .rdo-floating-cart-count{
	display:inline-grid!important;
	place-items:center!important;
	flex:0 0 auto!important;
	min-width:27px!important;
	width:auto!important;
	height:27px!important;
	margin-left:0!important;
	padding:0 7px!important;
	border-radius:999px!important;
	background:var(--rdo-button-text)!important;
	color:var(--rdo-button)!important;
	box-shadow:none!important;
	font-size:13px!important;
	line-height:1!important;
	font-weight:900!important;
}

@media(max-width:767px){
	.rdo-floating-cart{
		gap:8px!important;
		padding:11px 14px!important;
	}
}

/* ==========================================================
   v2.9.8 — WhatsApp button restored to mobile header
   ========================================================== */
@media(max-width:767px){
	/* Keep WhatsApp available in the compact mobile header. */
	.rdo-smart-header .rdo-whatsapp-button{
		display:inline-flex!important;
		align-items:center!important;
		justify-content:center!important;
		flex:0 0 auto!important;
		width:auto!important;
		min-width:82px!important;
		max-width:100px!important;
		min-height:40px!important;
		padding:8px 10px!important;
		margin:0!important;
		border-radius:10px!important;
		font-size:10.5px!important;
		line-height:1.1!important;
		font-weight:800!important;
		white-space:nowrap!important;
		overflow:hidden!important;
		text-overflow:ellipsis!important;
	}

	/* Keep all three primary mobile header controls on one clean row. */
	.rdo-smart-header .rdo-restaurant-logo{
		max-width:104px!important;
	}
	.rdo-smart-header .rdo-logo-placeholder{
		flex:0 0 104px!important;
		max-width:104px!important;
	}
	.rdo-smart-header .rdo-header-cart{
		flex:0 0 auto!important;
	}
}

@media(max-width:390px){
	.rdo-smart-header .rdo-logo-placeholder{
		width:92px!important;
		max-width:92px!important;
		flex-basis:92px!important;
		font-size:13px!important;
	}
	.rdo-smart-header .rdo-restaurant-logo{
		max-width:92px!important;
	}
	.rdo-smart-header .rdo-whatsapp-button{
		min-width:76px!important;
		max-width:88px!important;
		padding:8px 7px!important;
		font-size:9.5px!important;
	}
}


/* ==========================================================
   v3.0.1 — Menu button text contrast
   Theme/Elementor button rules must never make BiteSite menu
   category labels disappear against their background.
   ========================================================== */

/* Inactive category/filter buttons always use a safe dark label. */
.rdo-category-nav button:not(.is-active){
	background:#ffffff!important;
	color:#172033!important;
	-webkit-text-fill-color:#172033!important;
	opacity:1!important;
	text-shadow:none!important;
}

/* Active category uses the automatically calculated safe button text. */
.rdo-category-nav button.is-active{
	background:var(--rdo-button)!important;
	border-color:var(--rdo-button)!important;
	color:var(--rdo-button-text)!important;
	-webkit-text-fill-color:var(--rdo-button-text)!important;
	opacity:1!important;
	text-shadow:none!important;
}

/* Hover/focus must remain readable too. */
.rdo-category-nav button:not(.is-active):hover,
.rdo-category-nav button:not(.is-active):focus{
	background:var(--rdo-secondary)!important;
	color:#172033!important;
	-webkit-text-fill-color:#172033!important;
	border-color:var(--rdo-primary)!important;
}

/* Product ordering controls also explicitly inherit the safe palette text. */
.rdo-order-app .rdo-add,
.rdo-order-app .rdo-channel-buttons button,
.rdo-order-app .rdo-promptpay-open,
.rdo-order-app .rdo-payment-reported{
	color:var(--rdo-button-text)!important;
	-webkit-text-fill-color:var(--rdo-button-text)!important;
	opacity:1!important;
}

/* Quantity controls deliberately use dark text on their white surface. */
.rdo-order-app .rdo-qty-control,
.rdo-order-app .rdo-qty-control button,
.rdo-order-app .rdo-qty-value{
	color:#172033!important;
	-webkit-text-fill-color:#172033!important;
	opacity:1!important;
}


/* ==========================================================
   v3.0.2 — Mobile header scroll behaviour
   On phones the full Logo / Cart / WhatsApp row should be part
   of the page, not follow the customer down the menu.
   ========================================================== */
@media(max-width:767px){
	/*
	 * Desktop keeps the useful sticky header.
	 * Mobile returns the entire business header to normal document flow.
	 * The floating View Order control already provides persistent cart access.
	 */
	.rdo-smart-header{
		position:relative!important;
		top:auto!important;
		left:auto!important;
		right:auto!important;
		bottom:auto!important;
		z-index:50!important;
		transform:none!important;
		will-change:auto!important;
		box-shadow:0 1px 0 rgba(23,32,51,.08)!important;
		backdrop-filter:none!important;
		-webkit-backdrop-filter:none!important;
	}

	/*
	 * Some Elementor sticky configurations add their own sticky classes.
	 * Neutralise them only on the BiteSite mobile header.
	 */
	.rdo-smart-header.elementor-sticky,
	.rdo-smart-header.elementor-sticky--active,
	.rdo-smart-header.e-sticky,
	.rdo-smart-header.e-sticky--active{
		position:relative!important;
		top:auto!important;
		inset:auto!important;
		transform:none!important;
	}

	/* There is no longer a sticky BiteSite header occupying the top edge. */
	.rdo-category-nav{
		top:0!important;
	}

	/* Prevent an obsolete measured header height affecting other sticky UI. */
	:root{
		--rdo-smart-header-height:0px!important;
	}
}

/* Logged-in WordPress toolbar still occupies the top of the mobile viewport. */
@media(max-width:782px){
	.admin-bar .rdo-smart-header{
		top:auto!important;
	}
	.admin-bar .rdo-category-nav{
		top:46px!important;
	}
}


/* ==========================================================
   v3.0.3 — Mobile shortcut/category overlap fix
   ========================================================== */
:root{
	--rdo-mobile-category-top:0px;
}

@media(max-width:767px){
	/*
	 * Elementor sometimes places sticky behaviour on a parent shell rather
	 * than on the exact Logo / Cart / WhatsApp container. Neutralise both.
	 */
	.rdo-smart-header-shell,
	.rdo-smart-header-shell.elementor-sticky,
	.rdo-smart-header-shell.elementor-sticky--active,
	.rdo-smart-header-shell.e-sticky,
	.rdo-smart-header-shell.e-sticky--active{
		position:relative!important;
		top:auto!important;
		right:auto!important;
		bottom:auto!important;
		left:auto!important;
		inset:auto!important;
		transform:none!important;
		translate:none!important;
		will-change:auto!important;
	}

	/*
	 * Menu shortcuts now follow the visible bottom edge of the header.
	 * While the header is on-screen they sit immediately underneath it.
	 * After it scrolls away they settle at the top of the viewport.
	 */
	.rdo-category-nav{
		top:var(--rdo-mobile-category-top,0px)!important;
		z-index:45!important;
		margin-top:0!important;
		transition:top .08s linear!important;
	}

	.rdo-smart-header,
	.rdo-smart-header-shell{
		z-index:60!important;
	}
}

/* WordPress admin toolbar height is handled by JS in the dynamic offset. */
@media(max-width:782px){
	.admin-bar .rdo-category-nav{
		top:var(--rdo-mobile-category-top,46px)!important;
	}
}
