@charset "UTF-8";
/*
 * AS Plus Restaurant Theme — design system.
 *
 * Direction: this file is RTL-first. Every horizontal spacing, border and
 * alignment value uses a CSS logical property (margin-inline, padding-inline,
 * inset-inline-start, border-inline, text-align: start), so the same rules
 * produce a correct layout in Persian and Arabic and a correct mirrored layout
 * in English. assets/css/rtl.css carries only the few adjustments that cannot be
 * expressed logically.
 *
 * Colour, radius and typography come from the --asplus-* custom properties that
 * inc/assets.php emits from Theme Settings. Nothing here hard-codes a brand
 * colour or a restaurant identity.
 *
 * Elementor: theme styles are scoped to components the theme owns
 * (.asplus-*) and to the semantic classes the starter templates assign through
 * Elementor's own "CSS Classes" control. Elementor's layout engine is never
 * overridden.
 */

/* -------------------------------------------------------------------------
 * 1. Base
 * ---------------------------------------------------------------------- */

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

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background-color: var(--asplus-bg, #0b0b0c);
	color: var(--asplus-text, #f5f2ee);
	font-family: var(--asplus-font-body, "Vazirmatn", "IRANSans", Tahoma, Arial, sans-serif);
	font-size: var(--asplus-font-size, 16px);
	line-height: var(--asplus-line-height, 1.75);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--asplus-font-heading, var(--asplus-font-body, inherit));
	font-weight: 700;
	line-height: 1.3;
	margin-block: 0 0.6em;
	color: var(--asplus-text, #f5f2ee);
	text-wrap: balance;
}

h1 { font-size: clamp(2rem, 1.2rem + 3.2vw, 3.25rem); }
h2 { font-size: clamp(1.6rem, 1.15rem + 1.9vw, 2.4rem); }
h3 { font-size: clamp(1.3rem, 1.1rem + 0.9vw, 1.7rem); }
h4 { font-size: 1.2rem; }
h5 { font-size: 1.05rem; }
h6 { font-size: 1rem; }

p {
	margin-block: 0 1em;
}

a {
	color: var(--asplus-accent, #d8ae6a);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color 0.18s ease, opacity 0.18s ease;
}

a:hover {
	color: var(--asplus-primary, #d5302c);
}

img {
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

hr {
	border: 0;
	border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	margin-block: 2rem;
}

blockquote {
	margin-block: 1.5rem;
	margin-inline: 0;
	padding-inline-start: 1.25rem;
	border-inline-start: 3px solid var(--asplus-accent, #d8ae6a);
	color: var(--asplus-muted, #a79f95);
	font-style: normal;
}

code,
kbd,
pre {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.9em;
	direction: ltr;
	unicode-bidi: embed;
}

pre {
	background: var(--asplus-surface, #161615);
	padding: 1rem;
	border-radius: var(--asplus-radius, 16px);
	overflow-x: auto;
}

table {
	border-collapse: collapse;
	width: 100%;
}

th,
td {
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	text-align: start;
}

th {
	background: var(--asplus-surface, #161615);
	font-weight: 600;
}

/* -------------------------------------------------------------------------
 * 2. Accessibility primitives
 * ---------------------------------------------------------------------- */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: absolute !important;
	inset-block-start: 0.5rem;
	inset-inline-start: 0.5rem;
	z-index: 100000;
	padding: 0.75rem 1.25rem;
	background: var(--asplus-primary, #d5302c);
	color: #fff;
	font-size: 0.95rem;
	line-height: 1.4;
	text-decoration: none;
	border-radius: var(--asplus-radius, 16px);
}

.skip-link {
	inset-block-start: -100px;
	transition: inset-block-start 0.15s ease;
}

.skip-link:focus {
	inset-block-start: 0.5rem;
}

:focus-visible {
	outline: 2px solid var(--asplus-accent, #d8ae6a);
	outline-offset: 3px;
	border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* -------------------------------------------------------------------------
 * 3. Layout shells
 * ---------------------------------------------------------------------- */

.asplus-shell {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 24px;
}

.asplus-shell--narrow {
	max-width: 820px;
}

.asplus-main {
	display: block;
	min-height: 50vh;
}

.asplus-page {
	padding-block: 0;
}

/* Elementor-built documents supply their own spacing; the theme adds none so
   that editor and front end cannot disagree. */
.asplus-page--builder {
	width: 100%;
}

.asplus-page--dashboard {
	padding-block: 48px 72px;
}

/* -------------------------------------------------------------------------
 * 4. Buttons
 *
 * Two selectors because Elementor applies "CSS Classes" to the widget wrapper
 * while the theme's own templates apply the class to the anchor itself.
 * ---------------------------------------------------------------------- */

a.asplus-button,
a.asplus-button:visited,
.asplus-button .elementor-button,
.elementor-element.asplus-button .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 0.85em 1.75em;
	background-color: var(--asplus-primary, #d5302c);
	color: #fff;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

a.asplus-button:hover,
a.asplus-button:focus,
.asplus-button .elementor-button:hover {
	background-color: var(--asplus-primary-dark, #a11f1c);
	color: #fff;
	transform: translateY(-1px);
}

a.asplus-button--sm,
.asplus-button--sm .elementor-button {
	padding: 0.55em 1.15em;
	font-size: 0.9rem;
}

a.asplus-button--ghost,
.asplus-button--ghost .elementor-button {
	background-color: transparent;
	border-color: var(--asplus-accent, #d8ae6a);
	color: var(--asplus-accent, #d8ae6a);
}

a.asplus-button--ghost:hover,
a.asplus-button--ghost:focus,
.asplus-button--ghost .elementor-button:hover {
	background-color: var(--asplus-accent, #d8ae6a);
	border-color: var(--asplus-accent, #d8ae6a);
	color: var(--asplus-bg, #0b0b0c);
}

/* -------------------------------------------------------------------------
 * 5. Header fallback
 * ---------------------------------------------------------------------- */

.asplus-header {
	position: sticky;
	inset-block-start: 0;
	z-index: 900;
	background-color: var(--asplus-surface, #161615);
	border-block-end: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
}

.asplus-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 76px;
	flex-wrap: wrap;
}

.asplus-header-brand {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}

.asplus-header-brand .custom-logo {
	max-height: 56px;
	width: auto;
}

.asplus-header-name {
	font-family: var(--asplus-font-heading, inherit);
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--asplus-text, #f5f2ee);
	text-decoration: none;
}

.asplus-header-name:hover {
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-header-tagline {
	font-size: 0.82rem;
	color: var(--asplus-muted, #a79f95);
}

.asplus-header-nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
}

.asplus-header-actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.asplus-header-cart {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	padding: 8px 12px;
	background: transparent;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: 999px;
	color: var(--asplus-muted, #a79f95);
	text-decoration: none;
	font-family: inherit;
	font-size: 0.9rem;
	cursor: pointer;
	transition: color 0.18s ease, border-color 0.18s ease;
}

.asplus-header-cart:hover,
.asplus-header-cart[aria-expanded="true"] {
	color: var(--asplus-text, #f5f2ee);
	border-color: var(--asplus-accent, #d8ae6a);
}

.asplus-header-cart-icon {
	position: relative;
	display: block;
	width: 16px;
	height: 14px;
	border: 1.5px solid currentColor;
	border-radius: 3px 3px 5px 5px;
}

.asplus-header-cart-icon::before {
	content: "";
	position: absolute;
	inset-inline-start: 3px;
	inset-block-start: -5px;
	width: 7px;
	height: 6px;
	border: 1.5px solid currentColor;
	border-block-end: 0;
	border-radius: 6px 6px 0 0;
}

.asplus-header-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5em;
	height: 1.5em;
	padding-inline: 0.35em;
	background: var(--asplus-primary, #d5302c);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	border-radius: 999px;
}

.asplus-header-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	background: transparent;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: calc(var(--asplus-radius, 16px) * 0.5);
	cursor: pointer;
}

.asplus-header-toggle-bar {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--asplus-text, #f5f2ee);
	border-radius: 2px;
	transition: transform 0.18s ease, opacity 0.18s ease;
}

/* -------------------------------------------------------------------------
 * 6. Navigation
 * ---------------------------------------------------------------------- */

.asplus-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.asplus-nav li {
	position: relative;
}

.asplus-nav a {
	display: block;
	padding: 0.6em 1em;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.97rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 999px;
}

.asplus-nav a:hover,
.asplus-nav a:focus {
	color: var(--asplus-text, #f5f2ee);
	background: var(--asplus-overlay, rgba(245, 242, 238, 0.04));
}

.asplus-nav .current-menu-item > a,
.asplus-nav .current_page_item > a {
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-nav .sub-menu {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: 0;
	z-index: 950;
	min-width: 210px;
	display: none;
	flex-direction: column;
	gap: 2px;
	padding: 8px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: var(--asplus-radius, 16px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
	list-style: none;
	margin: 0;
}

.asplus-nav li:hover > .sub-menu,
.asplus-nav li:focus-within > .sub-menu {
	display: flex;
}

.asplus-nav .sub-menu a {
	border-radius: calc(var(--asplus-radius, 16px) * 0.5);
}

.asplus-nav--footer {
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.asplus-nav--footer a {
	padding-inline: 0;
}

/* -------------------------------------------------------------------------
 * 7. Footer fallback
 * ---------------------------------------------------------------------- */

.asplus-footer {
	margin-block-start: 72px;
	padding-block: 0 24px;
	background: var(--asplus-surface, #161615);
	border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
}

.asplus-footer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 36px;
	padding-block: 48px 32px;
}

.asplus-footer-name {
	font-family: var(--asplus-font-heading, inherit);
	font-size: 1.25rem;
	font-weight: 700;
	margin-block: 0 0.35em;
}

.asplus-footer-tagline {
	color: var(--asplus-muted, #a79f95);
	font-size: 0.92rem;
}

.asplus-footer-heading {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--asplus-accent, #d8ae6a);
	margin-block: 0 0.9em;
}

.asplus-contact-list,
.asplus-social-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.asplus-contact-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.asplus-contact-label {
	font-size: 0.78rem;
	color: var(--asplus-muted, #a79f95);
}

.asplus-contact-value {
	color: var(--asplus-text, #f5f2ee);
	text-decoration: none;
	font-size: 0.95rem;
}

a.asplus-contact-value:hover {
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-social-link {
	display: inline-block;
	padding: 0.4em 0.95em;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: 999px;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.88rem;
	text-decoration: none;
}

.asplus-social-link:hover {
	color: var(--asplus-bg, #0b0b0c);
	background: var(--asplus-accent, #d8ae6a);
	border-color: var(--asplus-accent, #d8ae6a);
}

.asplus-footer-bottom {
	padding-block-start: 20px;
	border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
}

.asplus-footer-copy {
	margin: 0;
	font-size: 0.85rem;
	color: var(--asplus-muted, #a79f95);
	text-align: center;
}

/* -------------------------------------------------------------------------
 * 8. Starter-template sections
 *
 * These classes are attached through Elementor's own "CSS Classes" control in the
 * shipped templates, so a site owner can detach them at any time.
 * ---------------------------------------------------------------------- */

.asplus-hero {
	background:
		radial-gradient(120% 90% at 50% 0%, var(--asplus-surface-2, #1f1e1c) 0%, var(--asplus-bg, #0b0b0c) 62%);
	border-block-end: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
}

.asplus-hero h1 {
	color: var(--asplus-text, #f5f2ee);
}

.asplus-hero .elementor-widget-text-editor {
	color: var(--asplus-muted, #a79f95);
	max-width: 46em;
}

.asplus-band {
	background: var(--asplus-surface, #161615);
	border-radius: var(--asplus-radius, 16px);
}

/* -------------------------------------------------------------------------
 * 9. Menu categories widget
 * ---------------------------------------------------------------------- */

.asplus-cats {
	width: 100%;
}

.asplus-cats-title {
	text-align: center;
	margin-block-end: 1.5rem;
}

.asplus-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.asplus-cat-link {
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	padding: 14px;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: var(--asplus-radius, 16px);
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.asplus-cat-link:hover,
.asplus-cat-link:focus {
	transform: translateY(-3px);
	border-color: var(--asplus-accent, #d8ae6a);
	background: var(--asplus-surface-2, #1f1e1c);
}

.asplus-cat-media {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: calc(var(--asplus-radius, 16px) * 0.7);
	background: var(--asplus-surface-2, #1f1e1c);
}

.asplus-cat-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.asplus-cat-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 30% 30%, var(--asplus-surface-2, #1f1e1c), var(--asplus-bg, #0b0b0c));
}

.asplus-cat-name {
	font-family: var(--asplus-font-heading, inherit);
	font-weight: 700;
	color: var(--asplus-text, #f5f2ee);
}

.asplus-cat-count {
	font-size: 0.83rem;
	color: var(--asplus-muted, #a79f95);
}

.asplus-cat-empty {
	padding: 24px;
	border: 1px dashed var(--asplus-border, rgba(245, 242, 238, 0.2));
	border-radius: var(--asplus-radius, 16px);
	color: var(--asplus-muted, #a79f95);
	text-align: center;
}

/* -------------------------------------------------------------------------
 * 11. Articles, archives, cards
 * ---------------------------------------------------------------------- */

.asplus-article {
	padding-block: 48px 24px;
}

.asplus-article-header {
	margin-block-end: 28px;
}

.asplus-article-title {
	margin-block-end: 0.3em;
}

.asplus-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6em;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.88rem;
}

.asplus-article-meta a {
	color: inherit;
}

.asplus-article-meta-sep {
	opacity: 0.5;
}

.asplus-article-media {
	margin-block-end: 28px;
	border-radius: var(--asplus-radius, 16px);
	overflow: hidden;
}

.asplus-article-body {
	font-size: 1.02rem;
}

.asplus-article-body > * + * {
	margin-block-start: 1.1em;
}

.asplus-article-footer {
	margin-block-start: 40px;
}

.asplus-tags a {
	display: inline-block;
	margin-inline-end: 6px;
	margin-block-end: 6px;
	padding: 0.3em 0.8em;
	background: var(--asplus-surface, #161615);
	border-radius: 999px;
	font-size: 0.82rem;
	color: var(--asplus-muted, #a79f95);
	text-decoration: none;
}

.asplus-archive {
	padding-block: 48px 24px;
}

.asplus-archive-header {
	margin-block-end: 32px;
}

.asplus-archive-intro {
	color: var(--asplus-muted, #a79f95);
}

.asplus-entry-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

.asplus-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: var(--asplus-radius, 16px);
	transition: transform 0.18s ease, border-color 0.18s ease;
}

.asplus-card:hover {
	transform: translateY(-3px);
	border-color: var(--asplus-accent, #d8ae6a);
}

.asplus-card-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.asplus-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
	padding: 20px;
}

.asplus-card-title {
	margin: 0;
	font-size: 1.15rem;
}

.asplus-card-title a {
	color: var(--asplus-text, #f5f2ee);
	text-decoration: none;
}

.asplus-card-title a:hover {
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-card-meta {
	font-size: 0.82rem;
	color: var(--asplus-muted, #a79f95);
}

.asplus-card-excerpt {
	color: var(--asplus-muted, #a79f95);
	font-size: 0.94rem;
}

.asplus-card-excerpt p {
	margin: 0;
}

.asplus-card-link {
	margin-block-start: auto;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}

.asplus-pagination {
	margin-block-start: 40px;
	text-align: center;
}

.asplus-pagination .nav-links {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}

.asplus-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4em;
	height: 2.4em;
	padding-inline: 0.7em;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: 999px;
	color: var(--asplus-muted, #a79f95);
	text-decoration: none;
	font-size: 0.9rem;
}

.asplus-pagination .page-numbers.current,
.asplus-pagination .page-numbers:hover {
	background: var(--asplus-primary, #d5302c);
	border-color: var(--asplus-primary, #d5302c);
	color: #fff;
}

/* -------------------------------------------------------------------------
 * 12. Empty, 404, search
 * ---------------------------------------------------------------------- */

.asplus-empty,
.asplus-error {
	padding-block: 64px;
	text-align: center;
}

.asplus-empty-title,
.asplus-error-title {
	margin-block-end: 0.4em;
}

.asplus-empty-text,
.asplus-error-text {
	color: var(--asplus-muted, #a79f95);
	margin-block-end: 1.6em;
}

.asplus-error-code {
	margin: 0;
	font-family: var(--asplus-font-heading, inherit);
	font-size: clamp(3.5rem, 2rem + 7vw, 6.5rem);
	font-weight: 800;
	line-height: 1;
	color: var(--asplus-primary, #d5302c);
}

.asplus-error-actions {
	margin-block-start: 24px;
}

.asplus-empty .search-form,
.asplus-error .search-form {
	display: flex;
	gap: 8px;
	justify-content: center;
	flex-wrap: wrap;
}

.search-field {
	min-width: min(360px, 100%);
	padding: 0.8em 1.1em;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: 999px;
	color: var(--asplus-text, #f5f2ee);
	font-family: inherit;
	font-size: 0.95rem;
}

.search-field::placeholder {
	color: var(--asplus-muted, #a79f95);
}

.search-submit {
	padding: 0.8em 1.6em;
	background: var(--asplus-primary, #d5302c);
	border: 1px solid transparent;
	border-radius: 999px;
	color: #fff;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
}

.search-submit:hover {
	background: var(--asplus-primary-dark, #a11f1c);
}

/* -------------------------------------------------------------------------
 * 13. Comments
 * ---------------------------------------------------------------------- */

.comments-area {
	max-width: 820px;
	margin-inline: auto;
	padding-block: 24px 64px;
	padding-inline: 24px;
}

.comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.comment-list .comment,
.comment-list .pingback {
	padding-block: 20px;
	border-block-end: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
}

.comment-list .children {
	margin: 0;
	padding-inline-start: 28px;
	list-style: none;
}

.comment-author-name,
.comment-metadata {
	font-size: 0.88rem;
}

.comment-metadata {
	color: var(--asplus-muted, #a79f95);
}

.comment-respond {
	margin-block-start: 32px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 0.75em 1em;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: calc(var(--asplus-radius, 16px) * 0.5);
	color: var(--asplus-text, #f5f2ee);
	font-family: inherit;
	font-size: 0.95rem;
}

.comment-form .submit {
	padding: 0.8em 1.8em;
	background: var(--asplus-primary, #d5302c);
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-family: inherit;
	font-weight: 600;
	cursor: pointer;
}

/* -------------------------------------------------------------------------
 * 15. Cart drawer
 *
 * Slide distance uses a logical inset rather than transform so the panel opens
 * from the correct edge in RTL and LTR from a single rule.
 * ---------------------------------------------------------------------- */

.asplus-cart-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(8, 8, 7, 0.66);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.24s ease, visibility 0s linear 0.24s;
}

.asplus-cart-overlay.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.24s ease, visibility 0s;
}

.asplus-cart-drawer {
	position: fixed;
	inset-block: 0;
	inset-inline-end: calc(-1 * min(420px, 100vw));
	z-index: 9999;
	width: min(420px, 100vw);
	visibility: hidden;
	transition: inset-inline-end 0.28s ease, visibility 0s linear 0.28s;
}

.asplus-cart-drawer.is-open {
	inset-inline-end: 0;
	visibility: visible;
	transition: inset-inline-end 0.28s ease, visibility 0s;
}

.asplus-cart-drawer-panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--asplus-surface, #161615);
	border-inline-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	box-shadow: -18px 0 48px rgba(0, 0, 0, 0.45);
}

.asplus-cart-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 22px;
	border-block-end: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
}

.asplus-cart-drawer-title {
	margin: 0;
	font-family: var(--asplus-font-heading, inherit);
	font-size: 1.15rem;
	color: var(--asplus-text, #f5f2ee);
}

.asplus-cart-drawer-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: var(--asplus-overlay, rgba(245, 242, 238, 0.04));
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: 999px;
	color: var(--asplus-muted, #a79f95);
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}

.asplus-cart-drawer-close:hover {
	background: var(--asplus-primary, #d5302c);
	border-color: var(--asplus-primary, #d5302c);
	color: #fff;
}

.asplus-cart-drawer .widget_shopping_cart_content {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 18px 22px;
}

.asplus-cart-drawer ul.cart_list,
.asplus-cart-drawer ul.product_list_widget {
	margin: 0;
	padding: 0;
	list-style: none;
}

.asplus-cart-drawer ul.cart_list li,
.asplus-cart-drawer ul.product_list_widget li {
	position: relative;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 12px 0;
	border-block-end: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.08));
}

.asplus-cart-drawer ul.cart_list li img,
.asplus-cart-drawer ul.product_list_widget li img {
	width: 56px;
	float: none;
	margin: 0;
	border-radius: calc(var(--asplus-radius, 16px) * 0.5);
}

.asplus-cart-drawer ul.cart_list li a:not(.remove),
.asplus-cart-drawer ul.product_list_widget li a:not(.remove) {
	display: block;
	color: var(--asplus-text, #f5f2ee);
	font-weight: 600;
	text-decoration: none;
	line-height: 1.4;
}

.asplus-cart-drawer ul.cart_list li .quantity,
.asplus-cart-drawer ul.product_list_widget li .quantity {
	display: block;
	color: var(--asplus-accent, #d8ae6a);
	font-weight: 700;
}

.asplus-cart-drawer ul.cart_list li a.remove,
.asplus-cart-drawer ul.product_list_widget li a.remove {
	position: absolute;
	inset-inline-end: 0;
	inset-block-start: 12px;
	color: var(--asplus-muted, #a79f95) !important;
	text-decoration: none;
}

.asplus-cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding-block: 16px;
	border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	color: var(--asplus-text, #f5f2ee);
	font-weight: 700;
}

.asplus-cart-drawer .woocommerce-mini-cart__total .amount {
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-cart-drawer .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding-block-start: 16px;
}

.asplus-cart-drawer .woocommerce-mini-cart__buttons a {
	display: block;
	text-align: center;
	margin: 0;
}

.asplus-cart-drawer .woocommerce-mini-cart__buttons a.checkout {
	background: var(--asplus-primary, #d5302c);
	color: #fff;
}

.asplus-cart-drawer .woocommerce-mini-cart__empty-message {
	color: var(--asplus-muted, #a79f95);
	text-align: center;
	padding-block: 24px;
}

body.asplus-cart-open {
	overflow: hidden;
}

/* -------------------------------------------------------------------------
 * 16. Role panel
 * ---------------------------------------------------------------------- */

.asplus-panel {
	max-width: 1000px;
	margin-inline: auto;
	padding: 28px 32px 32px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: var(--asplus-radius, 16px);
}

.asplus-panel-id {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-block-end: 22px;
	border-block-end: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
}

.asplus-panel-avatar {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: var(--asplus-primary, #d5302c);
	color: #fff;
	border-radius: 999px;
	font-size: 1.4rem;
	font-weight: 700;
	font-family: var(--asplus-font-heading, inherit);
	overflow: hidden;
}

.asplus-panel-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.asplus-panel-idtext {
	min-width: 0;
}

.asplus-panel-name {
	margin: 0;
	font-family: var(--asplus-font-heading, inherit);
	font-size: 1.3rem;
	color: var(--asplus-text, #f5f2ee);
}

.asplus-panel-role {
	display: inline-flex;
	align-items: center;
	margin-block-start: 6px;
	padding: 3px 12px;
	background: var(--asplus-overlay, rgba(245, 242, 238, 0.05));
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: 999px;
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.82rem;
	font-weight: 600;
}

.asplus-panel-email {
	display: block;
	margin-block-start: 8px;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.88rem;
	overflow-wrap: anywhere;
}

.asplus-panel-actions {
	margin-inline-start: auto;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.asplus-panel-section {
	margin-block-start: 24px;
}

.asplus-panel-section-title {
	margin-block: 0 12px;
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--asplus-muted, #a79f95);
	font-weight: 600;
}

.asplus-panel-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.asplus-panel-chip {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 7px 14px;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	border-radius: 999px;
	color: var(--asplus-text, #f5f2ee);
	font-size: 0.85rem;
}

.asplus-panel-chip-state {
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.75rem;
	font-weight: 700;
}

.asplus-panel-chip--off {
	color: var(--asplus-muted, #a79f95);
	border-style: dashed;
}

.asplus-panel-chip--off .asplus-panel-chip-state {
	color: var(--asplus-muted, #a79f95);
	font-weight: 500;
}

.asplus-panel-notice {
	margin-block-start: 22px;
	padding: 14px 18px;
	background: var(--asplus-overlay, rgba(245, 242, 238, 0.04));
	border-inline-start: 3px solid var(--asplus-accent, #d8ae6a);
	border-radius: calc(var(--asplus-radius, 16px) * 0.5);
	color: var(--asplus-muted, #a79f95);
	font-size: 0.92rem;
}

.asplus-panel-notice p {
	margin: 0;
}

/* -------------------------------------------------------------------------
 * 17. Responsive
 * ---------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.asplus-cat-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	

	

	
}

@media (max-width: 860px) {
	.asplus-header-toggle {
		display: flex;
	}

	.asplus-header-inner {
		position: relative;
		min-height: 68px;
	}

	.asplus-header-nav {
		flex: 1 0 100%;
		order: 3;
		display: none;
		justify-content: flex-start;
	}

	.asplus-header-nav.is-open {
		display: block;
	}

	.asplus-header-nav .asplus-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
		margin: 0;
		padding-block: 6px 14px;
		border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	}

	/* A thumb-sized row in full-strength text: the muted grey that reads fine in a
	 * horizontal desktop bar is barely legible as a stacked list on a phone. */
	.asplus-header-nav .asplus-nav a {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 10px 14px;
		border-radius: calc(var(--asplus-radius, 16px) * 0.6);
		color: var(--asplus-text, #f5f2ee);
		font-size: 1.05rem;
		font-weight: 600;
	}

	/* The current page is marked with a bar and a tint, not with colour alone. */
	.asplus-header-nav .asplus-nav .current-menu-item > a,
	.asplus-header-nav .asplus-nav .current_page_item > a {
		background: var(--asplus-overlay, rgba(245, 242, 238, 0.06));
		color: var(--asplus-accent, #d8ae6a);
	}

	.asplus-header-nav .asplus-nav .current-menu-item > a::before,
	.asplus-header-nav .asplus-nav .current_page_item > a::before {
		content: "";
		position: absolute;
		inset-block: 11px;
		inset-inline-start: 0;
		width: 3px;
		border-radius: 3px;
		background: var(--asplus-accent, #d8ae6a);
	}

	/* A nested menu cannot be hovered reliably on touch, so it stays open. */
	.asplus-nav .sub-menu {
		position: static;
		display: flex;
		min-width: 0;
		box-shadow: none;
		border: 0;
		background: transparent;
		padding-inline-start: 16px;
		padding-block: 0;
	}

	.asplus-nav .sub-menu a {
		min-height: 42px;
		font-size: 0.98rem;
		font-weight: 500;
		color: var(--asplus-muted, #a79f95);
	}

	/* The same button becomes the close affordance once the list is open. */
	.asplus-header-toggle[aria-expanded="true"] .asplus-header-toggle-bar:nth-last-child(3) {
		transform: translateY(7px) rotate(45deg);
	}

	.asplus-header-toggle[aria-expanded="true"] .asplus-header-toggle-bar:nth-last-child(2) {
		opacity: 0;
	}

	.asplus-header-toggle[aria-expanded="true"] .asplus-header-toggle-bar:nth-last-child(1) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.asplus-header-actions {
		order: 2;
	}

	.asplus-cat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	

	

	

	.asplus-panel {
		padding: 22px;
	}

	.asplus-panel-actions {
		margin-inline-start: 0;
		width: 100%;
	}
}

@media (max-width: 560px) {
	.asplus-shell {
		padding-inline: 18px;
	}

	.asplus-cat-grid {
		grid-template-columns: 1fr;
	}

	.asplus-footer-grid {
		gap: 28px;
	}

	.asplus-hero {
		padding-block: 24px;
	}

	/* A phone has no room for a cart table, so the rows stack. */
	

	

	

	

	

	

	

	.asplus-cart-drawer .woocommerce-mini-cart__buttons {
		grid-template-columns: 1fr;
	}

	.asplus-panel-id {
		flex-wrap: wrap;
	}
}

/* -------------------------------------------------------------------------
 * 18. Print
 * ---------------------------------------------------------------------- */

@media print {
	.asplus-header,
	.asplus-footer,
	.asplus-header-toggle,
	.asplus-pagination,
	.asplus-cart-drawer,
	.asplus-cart-overlay {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
	}

	a {
		color: #000;
		text-decoration: underline;
	}
}

/* -------------------------------------------------------------------------
 * 19. Table ordering (QR)
 * ---------------------------------------------------------------------- */

.asplus-table-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.35em 0.85em;
	border: 1px solid var(--asplus-accent);
	border-radius: 999px;
	color: var(--asplus-accent);
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.asplus-table-chip--expired {
	border-color: var(--asplus-primary);
	color: var(--asplus-text);
}

.asplus-table-chip[hidden],
.asplus-cart-table-note[hidden] {
	display: none;
}

.asplus-cart-table-note {
	margin: 0;
	padding: 0.75rem 1.25rem;
	border-block: 1px solid var(--asplus-border);
	background: var(--asplus-surface-2);
	color: var(--asplus-text);
	font-size: 0.9rem;
	line-height: 1.6;
}

.asplus-cart-table-note--expired {
	border-inline-start: 3px solid var(--asplus-primary);
}

/* Core's reservation form. Core's own small stylesheet already takes the border, button and info-box colours from the theme
 * tokens; what it does not set is the field surface, the label colour, the focus ring and the button hover. The selectors carry
 * a leading `body` so they win over the stylesheet Core prints inline. */
body .asplus-res label {
	color: var(--asplus-text);
}

body .asplus-res input,
body .asplus-res select,
body .asplus-res textarea {
	background: var(--asplus-surface);
	color: var(--asplus-text);
}

body .asplus-res input:focus-visible,
body .asplus-res select:focus-visible,
body .asplus-res textarea:focus-visible,
body .asplus-res button:focus-visible {
	outline: 2px solid var(--asplus-accent);
	outline-offset: 2px;
}

body .asplus-res button:hover {
	background: var(--asplus-primary-dark);
}

/* -------------------------------------------------------------------------
 * 20. Editable header and footer (Elementor templates)
 * ---------------------------------------------------------------------- */

/* Inside the Elementor wrapper a sticky header would only stick within that
 * wrapper, so the wrapper itself is the sticky element. */
.elementor .asplus-header {
	position: relative;
}

div[data-elementor-type]:has( > .asplus-header ) {
	position: sticky;
	inset-block-start: 0;
	z-index: 900;
}

body.admin-bar div[data-elementor-type]:has( > .asplus-header ) {
	inset-block-start: 32px;
}

.asplus-site-part--primary_nav {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
}

.asplus-site-part--empty {
	padding: 0.5rem 0.75rem;
	border: 1px dashed var(--asplus-border, rgba(245, 242, 238, 0.2));
	color: var(--asplus-muted, #a79f95);
	font-size: 0.85rem;
}

@media (max-width: 860px) {
	/* In the Elementor header the navigation is buried two levels below the container's
	 * flex item, so the open list can never be wider than the 44-pixel toggle it sits in
	 * — which is exactly the spill the old absolute-positioned panel produced. Unboxing
	 * those two wrappers makes the toggle and the list siblings of the brand and the
	 * actions: the toggle keeps its seat on the header row, and the list — which already
	 * asks for a 100% basis and order 3 — drops onto a full-width row of its own. */
	#masthead .e-con-inner,
	.asplus-header .e-con-inner {
		flex-wrap: wrap;
		row-gap: 0;
	}

	.elementor-widget-asplus-site-part:has( > .elementor-widget-container > .asplus-site-part--primary_nav ),
	.elementor-widget-asplus-site-part:has( > .elementor-widget-container > .asplus-site-part--primary_nav ) > .elementor-widget-container,
	.asplus-site-part--primary_nav {
		display: contents;
	}
}

@media (max-width: 782px) {
	body.admin-bar div[data-elementor-type]:has( > .asplus-header ) {
		inset-block-start: 46px;
	}
}

/* -------------------------------------------------------------------------
 * 21. Mobile bottom bar
 * ---------------------------------------------------------------------- */

.asplus-mobile-nav {
	display: none;
}

@media (max-width: 860px) {
	body.asplus-has-mobile-nav {
		padding-block-end: calc(66px + env(safe-area-inset-bottom, 0px));
	}

	/* Profile lives in the bar; the header keeps brand, menu toggle, table and cart. */
	body.asplus-has-mobile-nav .asplus-header-actions .asplus-button {
		display: none;
	}

	.asplus-mobile-nav {
		position: fixed;
		inset-inline: 0;
		inset-block-end: 0;
		z-index: 940;
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 1fr;
		padding-block-end: env(safe-area-inset-bottom, 0px);
		background: var(--asplus-surface, #161615);
		border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.1));
	}

	.asplus-mobile-nav__item {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		min-height: 64px;
		padding: 8px 2px 10px;
		background: none;
		border: 0;
		color: var(--asplus-muted, #a79f95);
		font: inherit;
		font-size: 0.72rem;
		font-weight: 600;
		line-height: 1.2;
		text-decoration: none;
		cursor: pointer;
	}

	.asplus-mobile-nav__item[hidden] {
		display: none;
	}

	.asplus-mobile-nav__item:focus-visible {
		outline: 2px solid var(--asplus-accent, #d8ae6a);
		outline-offset: -3px;
	}

	.asplus-mobile-nav__item.is-active {
		color: var(--asplus-accent, #d8ae6a);
	}

	.asplus-mobile-nav__item.is-active::after {
		content: '';
		position: absolute;
		inset-block-end: 0;
		inset-inline: 22%;
		height: 3px;
		background: var(--asplus-accent, #d8ae6a);
		border-radius: 3px 3px 0 0;
	}

	.asplus-mobile-nav__icon {
		position: relative;
		display: grid;
		place-items: center;
	}

	.asplus-mobile-nav__icon .asplus-icon {
		width: 24px;
		height: 24px;
	}

	.asplus-mobile-nav__count {
		position: absolute;
		inset-block-start: -7px;
		inset-inline-start: -10px;
		display: grid;
		place-items: center;
		min-width: 18px;
		height: 18px;
		padding-inline: 4px;
		background: var(--asplus-accent, #d8ae6a);
		border-radius: 999px;
		color: #1b1a18;
		font-size: 0.68rem;
		font-weight: 800;
		line-height: 1;
	}

	.asplus-mobile-nav__count[hidden] {
		display: none;
	}
}

/* -------------------------------------------------------------------------
 * 22. Secondary buttons and the order-received actions
 * ---------------------------------------------------------------------- */

.asplus-button--ghost {
	background: transparent;
	border: 1px solid var(--asplus-accent, #d8ae6a);
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-button--ghost:hover,
.asplus-button--ghost:focus-visible {
	background: rgba(216, 174, 106, 0.14);
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-error-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.asplus-thankyou-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-block: 24px;
}


/* -------------------------------------------------------------------------
 * 19. AS Plus premium restaurant home (Elementor-editable starter template)
 * ---------------------------------------------------------------------- */
.asplus-hero--premium { position:relative; isolation:isolate; overflow:hidden; min-height:560px; border:0; border-block-end:1px solid var(--asplus-border,rgba(245,242,238,.1)); background:radial-gradient(ellipse at 18% 24%,color-mix(in srgb,var(--asplus-primary,#d5302c) 18%,transparent) 0%,transparent 42%),radial-gradient(ellipse at 84% 70%,color-mix(in srgb,var(--asplus-accent,#d8ae6a) 13%,transparent) 0%,transparent 34%),linear-gradient(120deg,var(--asplus-bg,#0b0b0c),var(--asplus-surface,#161615)); }
.asplus-hero--premium::before { content:""; position:absolute; inset-block-start:-35%; inset-inline-end:-12%; width:min(48vw,640px); aspect-ratio:1; border:1px solid var(--asplus-border,rgba(245,242,238,.1)); border-radius:50%; box-shadow:0 0 0 38px var(--asplus-overlay,rgba(255,255,255,.04)),0 0 0 78px var(--asplus-overlay,rgba(255,255,255,.04)); z-index:-1; pointer-events:none; }
.asplus-hero-copy { z-index:1; }
.asplus-hero-eyebrow,.asplus-hero-eyebrow p { margin:0; color:var(--asplus-accent,#d8ae6a); font-size:.86rem; font-weight:800; letter-spacing:.02em; }
.asplus-hero--premium h1 { max-width:13ch; font-size:clamp(2.65rem,2rem + 3.1vw,4.65rem); line-height:1.18; letter-spacing:-.035em; margin-block:0; }
.asplus-hero--premium .elementor-widget-text-editor { max-width:42rem; font-size:clamp(1rem,.94rem + .2vw,1.13rem); line-height:1.95; }
.asplus-hero--premium .asplus-hero-eyebrow,.asplus-hero--premium .asplus-hero-proof { color:var(--asplus-accent,#d8ae6a); }
.asplus-hero-proof,.asplus-hero-proof p { margin-block:2px 0; font-size:.9rem!important; color:var(--asplus-muted,#a79f95)!important; }
.asplus-hero-actions { margin-block-start:8px; }
.asplus-hero-actions .elementor-button { min-height:52px; padding-inline:1.8rem; }
.asplus-hero-visual { position:relative; min-width:0; padding:10px; border:1px solid var(--asplus-border,rgba(245,242,238,.1)); border-radius:36px; background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.015)); box-shadow:0 36px 90px rgba(0,0,0,.34); transform:rotate(-1.4deg); transition:transform .35s ease,box-shadow .35s ease; }
.asplus-hero-visual:hover { transform:rotate(0) translateY(-4px); box-shadow:0 42px 110px rgba(0,0,0,.42); }
.asplus-hero-image,.asplus-hero-image .elementor-widget-container { width:100%; }
.asplus-hero-image img { display:block; width:100%; height:clamp(320px,39vw,490px); object-fit:cover; border-radius:28px; }
.asplus-hero--premium .elementor-widget-button .elementor-button { box-shadow:0 12px 30px color-mix(in srgb,var(--asplus-primary,#d5302c) 24%,transparent); }
.asplus-band { position:relative; overflow:hidden; border:1px solid var(--asplus-border,rgba(245,242,238,.1)); background:radial-gradient(90% 120% at 0% 0%,color-mix(in srgb,var(--asplus-primary,#d5302c) 14%,transparent),transparent 62%),var(--asplus-surface,#161615); box-shadow:0 24px 70px rgba(0,0,0,.13); }
.asplus-cat-link,.asplus-card { box-shadow:0 10px 26px rgba(0,0,0,.08); }
.asplus-cat-link:hover,.asplus-card:hover { box-shadow:0 18px 38px rgba(0,0,0,.18); }
@media(max-width:1024px) { .asplus-hero--premium { min-height:0; padding-block:56px!important; } .asplus-hero--premium::before { width:70vw; inset-inline-end:-30%; } .asplus-hero--premium h1 { max-width:100%; font-size:clamp(2.4rem,2rem + 2vw,3.55rem); } .asplus-hero-visual { max-width:680px; width:100%; margin-inline:auto; } .asplus-hero-image img { height:clamp(300px,50vw,430px); } }
@media(max-width:767px) { .asplus-hero--premium { padding:38px 18px 48px!important; } .asplus-hero--premium h1 { font-size:clamp(2.25rem,1.8rem + 3vw,3rem); } .asplus-hero--premium .elementor-widget-text-editor { font-size:1rem; } .asplus-hero-actions { width:100%; } .asplus-hero-actions>.e-con-inner { justify-content:stretch; } .asplus-hero-actions .elementor-widget-button { flex:1 1 100%; } .asplus-hero-actions .elementor-button { width:100%; } .asplus-hero-visual { padding:7px; border-radius:26px; transform:none; } .asplus-hero-image img { height:min(78vw,360px); border-radius:20px; } }
@media(prefers-reduced-motion:reduce) { .asplus-hero-visual { transition:none; transform:none; } }


/* -------------------------------------------------------------------------
 * 20. AS Plus dynamic Home products and editable contact/about pages
 * ---------------------------------------------------------------------- */
.asplus-home-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
  width: 100%;
}
.asplus-home-product {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
  padding: 14px;
  color: var(--asplus-text, #f5f2ee);
  background: var(--asplus-surface, #161615);
  border: 1px solid var(--asplus-border, rgba(245,242,238,.1));
  border-radius: var(--asplus-radius, 16px);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.asplus-home-product:hover {
  transform: translateY(-3px);
  border-color: var(--asplus-accent, #d8ae6a);
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}
.asplus-home-product-image { display:block; overflow:hidden; border-radius:calc(var(--asplus-radius,16px) * .7); background:var(--asplus-surface-2,#1f1e1c); }
.asplus-home-product-image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; margin:0; }
.asplus-home-product-title { margin:0; font-family:var(--asplus-font-heading,inherit); font-size:1.12rem; line-height:1.5; }
.asplus-home-product-title a { color:var(--asplus-text,#f5f2ee); text-decoration:none; }
.asplus-home-product-title a:hover { color:var(--asplus-accent,#d8ae6a); }
.asplus-home-product-price { color:var(--asplus-accent,#d8ae6a); font-weight:800; }
.asplus-home-product-action { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:44px; margin-block-start:auto; padding:10px 16px; color:#fff!important; background:var(--asplus-primary,#d5302c); border-radius:999px; font-weight:750; text-align:center; text-decoration:none!important; }
.asplus-home-product-action:hover { color:#fff!important; background:var(--asplus-primary-dark,#a11f1c); }
.asplus-home-products-empty { margin:0; padding:22px; color:var(--asplus-muted,#a79f95); background:var(--asplus-surface,#161615); border:1px dashed var(--asplus-border,rgba(245,242,238,.16)); border-radius:var(--asplus-radius,16px); text-align:center; line-height:1.9; }
.asplus-editorial { padding:clamp(38px,6vw,76px) 24px; }
.asplus-editorial > .e-con-inner { width:100%; max-width:1180px; margin-inline:auto; }
.asplus-editorial-hero { position:relative; overflow:hidden; padding:clamp(28px,5vw,64px); border:1px solid var(--asplus-border,rgba(245,242,238,.1)); border-radius:clamp(20px,3vw,36px); background:radial-gradient(90% 120% at 0% 0%,color-mix(in srgb,var(--asplus-primary,#d5302c) 16%,transparent),transparent 62%),var(--asplus-surface,#161615); }
.asplus-editorial-hero h1 { margin:0 0 12px; font-size:clamp(2rem,1.3rem + 3vw,3.75rem); line-height:1.22; }
.asplus-editorial-hero p { max-width:72ch; line-height:2; color:var(--asplus-muted,#a79f95); }
.asplus-editorial-grid { display:flex; flex-wrap:wrap; align-items:stretch; gap:20px; width:100%; }
.asplus-editorial-card { flex:1 1 270px; min-width:0; padding:clamp(20px,3vw,30px); background:var(--asplus-surface,#161615); border:1px solid var(--asplus-border,rgba(245,242,238,.1)); border-radius:var(--asplus-radius,16px); }
.asplus-editorial-card h2,.asplus-editorial-card h3 { margin-block:0 12px; font-size:1.25rem; }
.asplus-editorial-card p { color:var(--asplus-muted,#a79f95); line-height:1.95; }
.asplus-editorial-actions { display:flex; flex-wrap:wrap; gap:12px; }
.asplus-editorial-actions .elementor-button { min-height:48px; }
.asplus-site-part--contact .asplus-contact-list { display:grid; gap:14px; padding:0; list-style:none; }
.asplus-site-part--contact .asplus-contact-label { display:block; color:var(--asplus-muted,#a79f95); font-size:.85rem; }
.asplus-site-part--contact .asplus-contact-value { display:inline-block; color:var(--asplus-text,#f5f2ee); font-weight:650; line-height:1.8; overflow-wrap:anywhere; }
@media(max-width:767px) {
  .asplus-home-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .asplus-home-product { padding:10px; gap:10px; }
  .asplus-home-product-title { font-size:1rem; }
  .asplus-home-product-action { min-height:42px; padding-inline:10px; font-size:.9rem; }
  .asplus-editorial { padding-inline:16px; }
  .asplus-editorial-hero { padding:28px 20px; }
}
@media(max-width:420px) { .asplus-home-products-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .asplus-home-product { transition:none; } .asplus-home-product:hover { transform:none; } }

/* -------------------------------------------------------------------------
 * 23. Order stages — the kitchen's chain, read by the customer
 *
 * One stepper, three surfaces: the customer dashboard panel, the account order
 * page and the account order list (compact). Colours are local to the stepper
 * because this file must also work outside the dashboard, where the dashboard's
 * --dash-* tokens are not defined.
 * ---------------------------------------------------------------------- */

.asplus-progress{--asplus-stage-done:#2f9e63;--asplus-stage-now:var(--asplus-accent,#d8ae6a);display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 0;margin:0;padding:0;list-style:none}
.asplus-progress-step{position:relative;display:flex;align-items:center;gap:7px;padding-inline:10px;color:var(--asplus-muted,#a79f95);font-size:.82rem;font-weight:650}
.asplus-progress-step+.asplus-progress-step::before{content:"";position:absolute;inset-inline-start:-8px;inset-block-start:8px;width:11px;height:2px;background:var(--asplus-border,rgba(245,242,238,.22))}
.asplus-progress-dot{flex:none;width:11px;height:11px;border:2px solid var(--asplus-border,rgba(245,242,238,.3));border-radius:50%;background:transparent}
.asplus-progress-step.is-done{color:var(--asplus-text,#f5f2ee)}
.asplus-progress-step.is-done .asplus-progress-dot{border-color:var(--asplus-stage-done);background:var(--asplus-stage-done)}
.asplus-progress-step.is-done+.asplus-progress-step::before,.asplus-progress-step.is-current+.asplus-progress-step::before{background:var(--asplus-stage-done)}
.asplus-progress-step.is-current{color:var(--asplus-stage-now)}
.asplus-progress-step.is-current .asplus-progress-dot{border-color:var(--asplus-stage-now);background:var(--asplus-stage-now);box-shadow:0 0 0 4px color-mix(in srgb,var(--asplus-stage-now) 18%,transparent);animation:asplus-progress-pulse 2.4s ease-in-out infinite}
.asplus-progress-time{color:var(--asplus-muted,#a79f95);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}
.asplus-progress--compact{align-items:center;gap:6px 2px}
.asplus-progress--compact .asplus-progress-step{padding-inline:6px}
.asplus-progress--compact .asplus-progress-dot{width:9px;height:9px}
.asplus-progress--compact .asplus-progress-state{flex:1 1 auto;color:var(--asplus-muted,#a79f95);font-size:.78rem;font-weight:650}
.asplus-progress.is-stopped .asplus-progress-step.is-done{opacity:.7}
.asplus-view-order-progress{margin-block:18px 6px;padding-block-end:14px;border-block-end:1px solid var(--asplus-border,rgba(245,242,238,.1))}
.asplus-order-progress{margin-block-start:8px}
@keyframes asplus-progress-pulse{0%,100%{box-shadow:0 0 0 4px color-mix(in srgb,var(--asplus-stage-now) 18%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--asplus-stage-now) 6%,transparent)}}
@media(prefers-reduced-motion:reduce){.asplus-progress-step.is-current .asplus-progress-dot{animation:none}}


/* -------------------------------------------------------------------------
 * 23. Glossy header pills and the cinematic home hero
 *
 * Two things the owner asked for by picture: the header menu as a row of dark
 * lacquer pills with a gold rim, a gold glyph and the current page in red, and a
 * home hero that sits on the restaurant photograph instead of on a flat gradient.
 *
 * The pills are desktop-only. Below 861px the header collapses to the stacked
 * list built in section 18, whose selectors are less specific than the ones here —
 * so this whole block lives inside a min-width query instead of relying on order
 * of appearance to win the cascade.
 * ---------------------------------------------------------------------- */

/* The glyph is a mask, so it inherits the label colour: gold at rest, near-white
 * on hover, and no second asset is needed for the active state. The key is chosen
 * in inc/site-parts.php, never by guessing a URL in CSS. */
.asplus-header-nav .asplus-nav > li > a { --asplus-nav-icon: none; }

.asplus-header-nav .asplus-nav > li.asplus-nav-item--home > a    { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 11.2 12 4l8.5 7.2M6.2 9.8V19h11.6V9.8' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.asplus-header-nav .asplus-nav > li.asplus-nav-item--menu > a    { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 7h15M4.5 12h15M4.5 17h9' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E"); }
.asplus-header-nav .asplus-nav > li.asplus-nav-item--orders > a  { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4.5h6v2.2H9zM6.6 5.6h10.8V20H6.6zM9.4 10.5h5.2M9.4 14h5.2' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.asplus-header-nav .asplus-nav > li.asplus-nav-item--track > a   { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5s6.6-5.9 6.6-10.4a6.6 6.6 0 1 0-13.2 0c0 4.5 6.6 10.4 6.6 10.4zM12 13a2.9 2.9 0 1 0 0-5.8A2.9 2.9 0 0 0 12 13z' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.asplus-header-nav .asplus-nav > li.asplus-nav-item--about > a   { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.8a8.8 8.8 0 1 0 0-17.6 8.8 8.8 0 0 0 0 17.6zM12 11v5.4M12 7.9h.01' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E"); }
.asplus-header-nav .asplus-nav > li.asplus-nav-item--contact > a { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.2 3.6h3.1l1.9 4.7-2.4 1.5a11.6 11.6 0 0 0 5.6 5.6l1.5-2.4 4.7 1.9v3.1a1.9 1.9 0 0 1-1.9 1.9A15.6 15.6 0 0 1 4.3 5.5a1.9 1.9 0 0 1 1.9-1.9z' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.asplus-header-nav .asplus-nav > li.asplus-nav-item--reserve > a { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 11.5h15M6.6 11.5a5.4 5.4 0 0 1 10.8 0M5.4 15h13.2l-1 5.2H6.4z' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.asplus-header-nav .asplus-nav > li:not([class*="asplus-nav-item--"]) > a { --asplus-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3.2' fill='%23fff'/%3E%3C/svg%3E"); }

@media (min-width: 861px) {
	.asplus-header-nav .asplus-nav {
		gap: 10px;
	}

	.asplus-header-nav .asplus-nav > li > a {
		position: relative;
		display: inline-flex;
		align-items: center;
		gap: 0.55em;
		min-height: 44px;
		padding: 0.5em 1.15em;
		border-radius: 999px;
		color: #ecd3a2;
		font-size: 0.96rem;
		font-weight: 700;
		text-decoration: none;
		text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6);
		background: linear-gradient(180deg, #2c2823 0%, #17140f 48%, #0c0a08 100%);
		box-shadow:
			inset 0 0 0 1px rgba(216, 174, 106, 0.42),
			inset 0 1px 0 rgba(255, 243, 214, 0.16),
			0 10px 22px rgba(0, 0, 0, 0.42);
		transition: color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
	}

	/* The lacquer highlight across the upper half of the pill. */
	.asplus-header-nav .asplus-nav > li > a::after {
		content: "";
		position: absolute;
		inset: 1px 1px 52% 1px;
		border-radius: 999px;
		background: linear-gradient(180deg, rgba(255, 246, 226, 0.14), rgba(255, 246, 226, 0));
		pointer-events: none;
	}

	.asplus-header-nav .asplus-nav > li > a::before {
		content: "";
		flex: 0 0 auto;
		width: 1.15em;
		height: 1.15em;
		background-color: currentColor;
		-webkit-mask: var(--asplus-nav-icon) center / contain no-repeat;
		mask: var(--asplus-nav-icon) center / contain no-repeat;
	}

	.asplus-header-nav .asplus-nav > li > a:hover,
	.asplus-header-nav .asplus-nav > li > a:focus-visible {
		color: #fff6e2;
		transform: translateY(-1px);
		background: linear-gradient(180deg, #3a342c 0%, #1d1913 48%, #0f0d0a 100%);
		box-shadow:
			inset 0 0 0 1px rgba(216, 174, 106, 0.7),
			inset 0 1px 0 rgba(255, 243, 214, 0.22),
			0 12px 26px rgba(0, 0, 0, 0.5);
	}

	/* The current page is the one pill in red, exactly as in the reference. */
	.asplus-header-nav .asplus-nav > li.current-menu-item > a,
	.asplus-header-nav .asplus-nav > li.current_page_item > a,
	.asplus-header-nav .asplus-nav > li.current-menu-ancestor > a {
		color: #fff;
		background: linear-gradient(180deg, #ef5a4f 0%, #cf2f2a 46%, #93130f 100%);
		box-shadow:
			inset 0 0 0 1px rgba(243, 211, 145, 0.85),
			inset 0 1px 0 rgba(255, 236, 224, 0.45),
			0 12px 28px rgba(213, 48, 44, 0.38);
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
	}

	.asplus-header-nav .asplus-nav > li.current-menu-item > a:hover {
		color: #fff;
		background: linear-gradient(180deg, #f4695e 0%, #d5302c 46%, #9c1712 100%);
	}

	/* Drop-downs keep the plain list look; the pills are a top-level affordance. */
	.asplus-nav .sub-menu > li > a {
		--asplus-nav-icon: none;
	}

	.asplus-nav .sub-menu > li > a::before,
	.asplus-nav .sub-menu > li > a::after {
		content: none;
	}

	/* Cart: the same pill, labelled on desktop, with the count as a red badge. */
	.asplus-header-cart {
		position: relative;
		display: inline-flex;
		align-items: center;
		gap: 0.5em;
		min-height: 44px;
		padding: 0.5em 1.15em;
		border: 0;
		border-radius: 999px;
		color: #ecd3a2;
		font-size: 0.96rem;
		font-weight: 700;
		background: linear-gradient(180deg, #2c2823 0%, #17140f 48%, #0c0a08 100%);
		box-shadow:
			inset 0 0 0 1px rgba(216, 174, 106, 0.42),
			inset 0 1px 0 rgba(255, 243, 214, 0.16),
			0 10px 22px rgba(0, 0, 0, 0.42);
	}

	.asplus-header-cart:hover,
	.asplus-header-cart[aria-expanded="true"] {
		color: #fff6e2;
		background: linear-gradient(180deg, #3a342c 0%, #1d1913 48%, #0f0d0a 100%);
		box-shadow:
			inset 0 0 0 1px rgba(216, 174, 106, 0.7),
			inset 0 1px 0 rgba(255, 243, 214, 0.22),
			0 12px 26px rgba(0, 0, 0, 0.5);
	}

	.asplus-header-cart-count {
		position: static;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 22px;
		height: 22px;
		padding: 0 5px;
		border-radius: 999px;
		color: #fff;
		font-size: 0.78rem;
		font-weight: 800;
		background: linear-gradient(180deg, #ef5a4f, #b81f1b);
		box-shadow: 0 0 0 1px rgba(255, 236, 224, 0.5), 0 4px 10px rgba(0, 0, 0, 0.45);
	}
}

/* Below the desktop breakpoint the cart goes back to a bare icon, and the label
 * keeps its screen-reader treatment so the button is still named. */
@media (max-width: 860px) {
	.asplus-header-cart-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}
}

/* The cinematic hero: the restaurant photograph, darkened on the side the copy
 * sits on so the headline never depends on what happens to be behind it.
 *
 * Elementor's frontend.min.css is enqueued after this file, and its `.e-con` rule
 * declares `min-height: var(--min-height)` on every container. On a tie the later
 * sheet wins, so the container rules here carry the extra `.e-con` class: two
 * classes beat one whatever the load order. */
.e-con.asplus-hero--cinematic {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: clamp(430px, 44vw, 590px);
	background: #08080a url("../images/home/hero-cinematic.jpg") center / cover no-repeat;
	border-block-end: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.14));
	text-align: start;
	--asplus-hero-scrim: to right;
}

.asplus-hero--cinematic::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(var(--asplus-hero-scrim), rgba(8, 8, 10, 0.95) 0%, rgba(8, 8, 10, 0.82) 30%, rgba(8, 8, 10, 0.3) 58%, rgba(8, 8, 10, 0.55) 100%),
		linear-gradient(180deg, rgba(8, 8, 10, 0.55) 0%, rgba(8, 8, 10, 0) 26%, rgba(8, 8, 10, 0) 62%, rgba(8, 8, 10, 0.72) 100%);
}

.asplus-hero--cinematic > .e-con-inner {
	position: relative;
	z-index: 1;
}

/* The measure is set on the text itself, not on the widget wrapper: Elementor's
 * `.e-con.e-con > .e-con-inner > .elementor-widget { max-width: 100% }` outranks a
 * wrapper-level cap and would silently win. */
.asplus-hero--cinematic h1,
.asplus-hero--cinematic .asplus-hero-eyebrow .elementor-heading-title,
.asplus-hero--cinematic .elementor-widget-text-editor p {
	max-width: min(100%, 34rem);
}

.asplus-hero--cinematic .asplus-hero-eyebrow,
.asplus-hero--cinematic .asplus-hero-eyebrow .elementor-heading-title {
	margin: 0;
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.01em;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.asplus-hero--cinematic h1 {
	margin-block: 6px 0;
	color: var(--asplus-text, #f5f2ee);
	font-size: clamp(2.3rem, 1.5rem + 3.2vw, 4rem);
	line-height: 1.22;
	letter-spacing: -0.02em;
	text-shadow: 0 4px 26px rgba(0, 0, 0, 0.66);
}

.asplus-hero--cinematic .elementor-widget-text-editor {
	margin-block-start: 4px;
	color: #ded7cd;
	font-size: clamp(1rem, 0.94rem + 0.3vw, 1.15rem);
	line-height: 2;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.7);
}

.asplus-hero--cinematic .asplus-hero-actions {
	margin-block-start: 10px;
}

.asplus-hero--cinematic .asplus-hero-actions .elementor-widget-button {
	flex: 0 0 auto;
}

.asplus-hero--cinematic .asplus-button .elementor-button {
	min-height: 52px;
	padding-inline: 1.7rem;
	font-weight: 700;
}

/* The two hero buttons are the reference's pair: a filled red pill with a lit top
 * edge, and a gold-rimmed pill that is nothing but a rim. */
.asplus-hero--cinematic .asplus-button--primary .elementor-button {
	color: #fff;
	background: linear-gradient(180deg, #ef5a4f 0%, #cf2f2a 46%, #93130f 100%);
	box-shadow:
		inset 0 0 0 1px rgba(243, 211, 145, 0.72),
		inset 0 1px 0 rgba(255, 236, 224, 0.42),
		0 14px 30px rgba(213, 48, 44, 0.36);
}

.asplus-hero--cinematic .asplus-button--primary .elementor-button:hover {
	color: #fff;
	background: linear-gradient(180deg, #f4695e 0%, #d5302c 46%, #9c1712 100%);
}

.asplus-hero--cinematic .asplus-button--ghost .elementor-button {
	color: #f0d9a8;
	border-color: transparent;
	background: rgba(8, 8, 10, 0.42);
	box-shadow: inset 0 0 0 1px rgba(216, 174, 106, 0.72), 0 10px 26px rgba(0, 0, 0, 0.4);
}

.asplus-hero--cinematic .asplus-button--ghost .elementor-button:hover {
	color: #fff6e2;
	border-color: transparent;
	background: rgba(216, 174, 106, 0.16);
}

@media (max-width: 860px) {
	.e-con.asplus-hero--cinematic {
		min-height: 0;
		background-position: 62% center;
	}

	/* On a phone the photograph is a backdrop, not a composition: a flat wash
	 * behind the copy reads better than a gradient that has nowhere to fade. */
	.asplus-hero--cinematic::before {
		background: linear-gradient(180deg, rgba(8, 8, 10, 0.78) 0%, rgba(8, 8, 10, 0.9) 100%);
	}

}

@media (prefers-reduced-motion: reduce) {
	.asplus-header-nav .asplus-nav > li > a,
	.asplus-header-cart {
		transition: none;
	}

	.asplus-header-nav .asplus-nav > li > a:hover {
		transform: none;
	}
}
