/*!
Theme Name: Terasse-CIRPAETIC
Theme URI: http://underscores.me/
Author: KANI MALONGA Ariel
Author URI:
Description: Description
Version: 1.20.2
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: terasse-cirpaetic
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Terasse-CIRPAETIC is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Terrasse-CIRPAETIC Design System
"Eco-Tech Authority" tokens: forest green + navy + tech orange.
--------------------------------------------------------------*/

:root {
	--surface: #f7f9fb;
	--surface-dim: #d8dadc;
	--surface-bright: #f7f9fb;
	--surface-container-lowest: #ffffff;
	--surface-container-low: #f2f4f6;
	--surface-container: #eceef0;
	--surface-container-high: #e6e8ea;
	--surface-container-highest: #e0e3e5;
	--on-surface: #191c1e;
	--on-surface-variant: #40493d;
	--inverse-surface: #2d3133;
	--inverse-on-surface: #eff1f3;
	--outline: #707a6c;
	--outline-variant: #bfcaba;
	--surface-tint: #1b6d26;
	--primary: #005113;
	--on-primary: #ffffff;
	--primary-container: #196b24;
	--on-primary-container: #97e992;
	--inverse-primary: #88d984;
	--secondary: #4c6077;
	--on-secondary: #ffffff;
	--secondary-container: #cde2fd;
	--on-secondary-container: #50647b;
	--tertiary: #782e00;
	--on-tertiary: #ffffff;
	--tertiary-container: #9e3f03;
	--on-tertiary-container: #ffcbb4;
	--error: #ba1a1a;
	--on-error: #ffffff;
	--error-container: #ffdad6;
	--on-error-container: #93000a;
	--background: #f7f9fb;
	--on-background: #191c1e;
	--surface-variant: #e0e3e5;
	--eco-success: #66cc33;
	--surface-dark: #0b2135;
	--cta-orange: #f07c41;
	--forest-green: #196b24;

	--font-display: "Montserrat", "Segoe UI", sans-serif;
	--font-body: "Open Sans", "Segoe UI", sans-serif;
	--font-label: "IBM Plex Sans", "Segoe UI", sans-serif;

	--radius-sm: 0.25rem;
	--radius: 0.5rem;
	--radius-md: 0.75rem;
	--radius-lg: 1rem;
	--radius-xl: 1.5rem;
	--radius-full: 9999px;

	--container-max: 1280px;
	--gutter: 1.5rem;
	--margin-mobile: 1rem;
	--margin-desktop: 2.5rem;
	--section-gap: 5rem;

	--shadow-1: 0 2px 10px rgba(11, 33, 53, 0.08);
	--shadow-2: 0 12px 32px rgba(11, 33, 53, 0.16);
}

/* Base
--------------------------------------------- */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 96px;
}

body {
	background-color: var(--background);
	color: var(--on-surface);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	color: var(--on-surface);
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.5em;
}

a {
	color: var(--primary);
}

a:hover,
a:focus {
	color: var(--forest-green);
}

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

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

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

html {
	overflow-x: hidden;
}

/* Buttons
--------------------------------------------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	font-family: var(--font-label);
	font-weight: 600;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	padding: 0.85em 1.75em;
	border-radius: var(--radius-md);
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 200ms ease, transform 200ms ease, border-color 200ms ease, color 200ms ease;
	line-height: 1;
}

.btn--primary {
	background-color: var(--primary);
	color: var(--on-primary);
}

.btn--primary:hover,
.btn--primary:focus {
	background-color: #003c0e;
	color: var(--on-primary);
}

.btn--cta {
	background-color: var(--cta-orange);
	color: #ffffff;
}

.btn--cta:hover,
.btn--cta:focus {
	transform: scale(1.02);
	background-color: #e0692e;
	color: #ffffff;
}

.btn--outline {
	background-color: transparent;
	border-color: var(--outline);
	color: var(--on-surface);
}

.btn--outline:hover,
.btn--outline:focus {
	border-color: var(--primary);
	color: var(--primary);
}



.checkout--payment-page .checkout__inner {
	grid-template-columns: 1fr 400px;
}

.payment-methods-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 1rem;
	margin-bottom: 2rem;
}

.payment-method-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem;
	border: 1px solid var(--surface-container-high);
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: all 200ms ease;
}

.payment-method-card.is-selected {
	border-color: var(--primary);
	box-shadow: 0 0 0 2px var(--primary);
}

.payment-method-card img {
	height: 40px;
	object-fit: contain;
}

.payment-panel {
	margin-top: 2rem;
}

.payment-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

.phone-input {
	display: flex;
}

.qr-code-box {
	display: flex;
	align-items: center;
	gap: 1rem;
	background-color: var(--surface-container-low);
	padding: 1rem;
	border-radius: var(--radius-md);
}

.qr-code-box img {
	width: 80px;
	height: 80px;
}

.card-payment-form .form-row--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.security-badges {
	display: flex;
	gap: 1rem;
	margin-top: 1rem;
}

.security-badges img {
	height: 40px;
}

.btn--full-width {
	width: 100%;
}

.reference-hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: center;
}

@media (max-width: 768px) {
	.reference-hero__grid {
		grid-template-columns: 1fr;
	}
}

.btn--outline-light {
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.7);
	color: #ffffff;
}

.btn--outline-light:hover,
.btn--outline-light:focus {
	border-color: #ffffff;
	background-color: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.btn--sm {
	padding: 0.55em 1.1em;
	font-size: 0.85rem;
}

.btn--lg {
	padding: 1em 2.25em;
	font-size: 1rem;
}

.btn--block {
	display: flex;
	width: 100%;
}

.btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.btn.is-loading {
	position: relative;
	color: transparent;
}

.btn.is-loading::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-top-color: #ffffff;
	animation: cirpae-spin 700ms linear infinite;
}

@keyframes cirpae-spin {
	to { transform: rotate(360deg); }
}

.section-title {
	font-size: 2rem;
	margin-bottom: 0;
}

.section-title--sm {
	font-size: 1.5rem;
}

/* Header
--------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 400;
	background-color: var(--surface-container-lowest);
	box-shadow: var(--shadow-1);
	transition: background-color 250ms ease, box-shadow 250ms ease;
}

.site-header--transparent {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background-color: transparent;
	box-shadow: none;
}

.site-header--transparent.is-scrolled {
	position: fixed;
	background-color: var(--surface-container-lowest);
	box-shadow: var(--shadow-1);
}

.site-header__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0.9rem var(--gutter);
	display: flex;
	align-items: center;
	gap: 2rem;
}

.site-branding {
	margin-right: auto;
	flex-shrink: 0;
}

.site-title {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.3rem;
	color: var(--primary);
	white-space: nowrap;
}

.site-header--transparent:not(.is-scrolled) .site-title {
	color: #ffffff;
}

.site-title__mark {
	display: inline-flex;
	width: 30px;
	height: 30px;
	color: var(--eco-success);
}

.site-title__mark svg {
	width: 100%;
	height: 100%;
}

.custom-logo-link img {
	max-height: 48px;
	width: auto;
}

.main-navigation {
	display: flex;
}

.main-navigation ul#primary-menu {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
}

.main-navigation ul li {
	position: relative;
}

.main-navigation ul li a {
	display: block;
	font-family: var(--font-label);
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--on-surface);
	text-decoration: none;
	padding: 0.5em 0;
	transition: color 200ms ease;
}

.site-header--transparent:not(.is-scrolled) .main-navigation ul li a {
	color: #ffffff;
}

.main-navigation ul li a:hover,
.main-navigation ul li a:focus {
	color: var(--cta-orange);
}

.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
}

.menu-toggle__bar {
	display: block;
	width: 24px;
	height: 2px;
	background-color: var(--on-surface);
	transition: background-color 200ms ease;
}

.site-header--transparent:not(.is-scrolled) .menu-toggle__bar {
	background-color: #ffffff;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.cart-trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--radius-full);
	background-color: var(--surface-container-low);
	color: var(--primary);
	text-decoration: none;
}

.site-header--transparent:not(.is-scrolled) .cart-trigger {
	background-color: rgba(255, 255, 255, 0.16);
	color: #ffffff;
}

.cart-trigger svg {
	width: 20px;
	height: 20px;
}

.cart-trigger__count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: var(--radius-full);
	background-color: var(--cta-orange);
	color: #ffffff;
	font-size: 0.65rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-label);
}

@media screen and (max-width: 63.9375em) {
	.main-navigation {
		width: auto;
	}

	.menu-toggle {
		display: flex;
	}

	.main-navigation ul#primary-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		gap: 0;
		background-color: var(--surface-container-lowest);
		box-shadow: var(--shadow-2);
		padding: 0.5rem var(--margin-mobile) 1rem;
	}

	.main-navigation ul#primary-menu li a {
		color: var(--on-surface) !important;
		padding: 0.75em 0;
		border-bottom: 1px solid var(--surface-container-high);
	}

	.main-navigation.toggled ul#primary-menu {
		display: flex;
	}
}

@media screen and (min-width: 64em) {
	.main-navigation ul#primary-menu {
		display: flex;
		align-items: center;
	}
}

/* Hero
--------------------------------------------- */
.hero {
	position: relative;
	min-height: 92vh;
	display: flex;
	align-items: center;
	background-color: var(--surface-dark);
	background-size: cover;
	background-position: center;
	color: #ffffff;
	overflow: hidden;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 100% at 15% 20%, rgba(25, 107, 36, 0.35), transparent 55%),
		radial-gradient(60% 80% at 90% 100%, rgba(240, 124, 65, 0.18), transparent 60%),
		linear-gradient(180deg, rgba(11, 33, 53, 0.55), rgba(11, 33, 53, 0.85));
	z-index: 0;
}

.hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 64px 64px;
	-webkit-mask-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.9) 55%, transparent);
	mask-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.9) 55%, transparent);
	z-index: 0;
}

.hero__inner {
	position: relative;
	z-index: 1;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: var(--section-gap) var(--gutter);
	width: 100%;
}

.hero__title {
	font-size: clamp(2.2rem, 5vw, 3.75rem);
	line-height: 1.15;
	max-width: 16ch;
	margin-bottom: 2rem;
	color: #ffffff;
}

.hero__title-accent {
	display: block;
	color: var(--inverse-primary);
	font-size: 0.55em;
	font-weight: 600;
	margin-top: 0.5em;
}

/* Menu section
--------------------------------------------- */
.menu-section {
	padding: var(--section-gap) 0;
}

.menu-section__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--gutter);
}

.menu-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.menu-search {
	position: relative;
	display: flex;
	align-items: center;
}

.menu-search svg {
	position: absolute;
	left: 14px;
	width: 18px;
	height: 18px;
	color: var(--outline);
}

.menu-search input {
	width: 260px;
	max-width: 100%;
	padding: 0.7em 1em 0.7em 2.6em;
	border-radius: var(--radius-full);
	border: 1px solid var(--outline-variant);
	background-color: var(--surface-container-lowest);
	font-family: var(--font-body);
}

.menu-search input:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(25, 107, 36, 0.15);
}

.menu-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 2.5rem;
}

.menu-tab {
	font-family: var(--font-label);
	font-weight: 600;
	font-size: 0.9rem;
	padding: 0.6em 1.4em;
	border-radius: var(--radius-full);
	border: 1px solid var(--outline-variant);
	background-color: var(--surface-container-lowest);
	color: var(--on-surface-variant);
	cursor: pointer;
	transition: all 200ms ease;
}

.menu-tab:hover {
	border-color: var(--primary);
	color: var(--primary);
}

.menu-tab.is-active {
	background-color: var(--primary);
	border-color: var(--primary);
	color: var(--on-primary);
}

.menu-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gutter);
}

.menu-grid__empty {
	text-align: center;
	padding: 3rem 1rem;
	color: var(--on-surface-variant);
	font-family: var(--font-label);
}

.menu-card {
	position: relative;
	background-color: var(--surface-container-lowest);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-1);
	transition: transform 250ms ease, box-shadow 250ms ease;
	display: flex;
	flex-direction: column;
	cursor: pointer;
}

.menu-card__stretched-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.menu-card__stretched-link:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: -2px;
}

.menu-card__footer .add-to-cart {
	position: relative;
	z-index: 2;
}

.menu-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-2);
}

.menu-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background-color: var(--surface-container);
	overflow: hidden;
}

.menu-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.menu-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--primary-container), var(--forest-green));
	color: rgba(255, 255, 255, 0.85);
}

.menu-card__placeholder--starters {
	background: linear-gradient(135deg, #cdeec9, var(--primary-fixed-dim, #88d984));
	color: var(--on-primary-fixed, #002204);
}

.menu-card__placeholder--main-courses {
	background: linear-gradient(135deg, var(--primary-container), var(--forest-green));
	color: rgba(255, 255, 255, 0.9);
}

.menu-card__placeholder--grilled-specialties {
	background: linear-gradient(135deg, #ffb694, var(--tertiary-container, #9e3f03));
	color: #ffffff;
}

.menu-card__placeholder--desserts {
	background: linear-gradient(135deg, #ffe4d6, #ffb694);
	color: #782e00;
}

.menu-card__placeholder--drinks {
	background: linear-gradient(135deg, var(--secondary-container), var(--secondary));
	color: #ffffff;
}

.menu-card__placeholder--default {
	background: linear-gradient(135deg, var(--surface-container-high), var(--outline));
	color: #ffffff;
}

.menu-card__placeholder--lg {
	aspect-ratio: 16 / 9;
	border-radius: var(--radius-xl);
}

.menu-card__placeholder-icon {
	width: 30%;
	height: 30%;
	min-width: 40px;
	min-height: 40px;
}

.menu-card__badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	background-color: var(--cta-orange);
	color: #ffffff;
	font-family: var(--font-label);
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.3em 0.8em;
	border-radius: var(--radius-full);
}

.menu-card__body {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.menu-card__title {
	font-size: 1.05rem;
	margin-bottom: 0;
}

.menu-card__desc {
	font-size: 0.875rem;
	color: var(--on-surface-variant);
	flex: 1;
	margin: 0;
}

.menu-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.5rem;
}

.menu-card__price {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--forest-green);
}

.add-to-cart.is-added {
	background-color: var(--eco-success);
}

/* Cart feedback: animate the header cart icon for exactly one second
 * after an item is added from any menu card or dish page. */
.cart-trigger.is-cart-bumped svg {
	animation: cirpae-cart-bump 1s ease-in-out both;
	transform-origin: center;
}

.cart-trigger.is-cart-bumped .cart-trigger__count {
	animation: cirpae-cart-count-pulse 1s ease-in-out both;
}

@keyframes cirpae-cart-bump {
	0% { transform: scale(1) rotate(0deg); }
	20% { transform: scale(1.18) rotate(-8deg); }
	40% { transform: scale(0.92) rotate(7deg); }
	60% { transform: scale(1.08) rotate(-4deg); }
	80% { transform: scale(0.98) rotate(2deg); }
	100% { transform: scale(1) rotate(0deg); }
}

@keyframes cirpae-cart-count-pulse {
	0%, 100% { transform: scale(1); }
	35% { transform: scale(1.35); }
	65% { transform: scale(0.92); }
}

/* Payments & contact strips
--------------------------------------------- */
.payments-strip {
	background-color: var(--surface-container-low);
	padding: 3rem 0;
}

.payments-strip__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--gutter);
	text-align: center;
}

.payments-strip__title {
	font-family: var(--font-label);
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--on-surface-variant);
	margin-bottom: 1.5rem;
}

.payments-strip__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2.5rem;
}

.payments-strip__item {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-family: var(--font-label);
	font-weight: 600;
	color: var(--on-surface);
}

.payments-strip__item svg {
	width: 24px;
	height: 24px;
	color: var(--forest-green);
}

.contact-strip {
	background-color: var(--surface-dark);
	color: #ffffff;
	padding: 3.5rem 0;
}

.contact-strip__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.contact-strip .section-title {
	color: #ffffff;
}

.contact-strip p {
	color: rgba(255, 255, 255, 0.75);
	margin: 0.2em 0;
}

/* Footer
--------------------------------------------- */
.site-footer {
	background-color: var(--surface-container-lowest);
	border-top: 1px solid var(--surface-container-high);
}

.site-footer__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: var(--section-gap) var(--gutter) 3rem;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
	gap: 2.5rem;
}

.footer-col__title {
	font-size: 1rem;
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 1em;
}

.footer-col p,
.footer-col a {
	color: var(--on-surface-variant);
	text-decoration: none;
	font-size: 0.9rem;
}

.footer-col--brand .site-title {
	color: var(--primary);
	margin-bottom: 0.75rem;
}

.footer-col__desc {
	max-width: 26ch;
}

.footer-col__social {
	display: flex;
	gap: 0.75rem;
}

.social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: var(--radius-full);
	background-color: var(--surface-container-low);
	color: var(--primary);
}

.social-icon svg {
	width: 18px;
	height: 18px;
}

.newsletter-form {
	display: flex;
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius-md);
	overflow: hidden;
}

.newsletter-form input {
	flex: 1;
	border: none;
	padding: 0.75em 1em;
	font-family: var(--font-body);
}

.newsletter-form input:focus {
	outline: none;
}

.newsletter-form button {
	background-color: var(--primary);
	color: #ffffff;
	border: none;
	width: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.newsletter-form button svg {
	width: 18px;
	height: 18px;
}

.newsletter-form__message {
	margin-top: 0.6em;
	font-size: 0.85rem;
	color: var(--forest-green);
}

.newsletter-form__message.is-error {
	color: var(--error);
}

.site-footer__bottom {
	border-top: 1px solid var(--surface-container-high);
	padding: 1.25rem var(--gutter);
	text-align: center;
	font-size: 0.85rem;
	color: var(--on-surface-variant);
}

/* Cart drawer
--------------------------------------------- */
.cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 900;
	visibility: hidden;
	pointer-events: none;
}

.cart-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.cart-drawer__overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(11, 33, 53, 0.55);
	opacity: 0;
	transition: opacity 250ms ease;
}

.cart-drawer.is-open .cart-drawer__overlay {
	opacity: 1;
}

.cart-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(420px, 100%);
	background-color: var(--surface-container-lowest);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 300ms ease;
	box-shadow: var(--shadow-2);
}

.cart-drawer.is-open .cart-drawer__panel {
	transform: translateX(0);
}

.cart-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--surface-container-high);
}

.cart-drawer__header h2 {
	margin: 0;
	font-size: 1.15rem;
}

.cart-drawer__close {
	background: none;
	border: none;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	color: var(--on-surface-variant);
}

.cart-drawer__items {
	flex: 1;
	overflow-y: auto;
	padding: 1rem 1.5rem;
}

.cart-drawer__empty {
	color: var(--on-surface-variant);
	text-align: center;
	margin-top: 2rem;
}

.cart-drawer__line {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 0.75rem;
	align-items: center;
	padding: 0.75em 0;
	border-bottom: 1px solid var(--surface-container-high);
	font-size: 0.9rem;
}

.cart-drawer__line-qty {
	color: var(--on-surface-variant);
}

.cart-drawer__line-price {
	font-weight: 600;
}

.cart-drawer__footer {
	padding: 1.25rem 1.5rem;
	border-top: 1px solid var(--surface-container-high);
}

.cart-drawer__subtotal {
	display: flex;
	justify-content: space-between;
	font-family: var(--font-label);
	font-weight: 600;
	margin-bottom: 1rem;
}

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

/* Checkout
--------------------------------------------- */
.checkout-breadcrumb {
	background-color: var(--surface-container-low);
	border-bottom: 1px solid var(--surface-container-high);
}

.checkout-breadcrumb__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 1.1rem var(--gutter);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--font-label);
	font-size: 0.9rem;
}

.checkout-step-link {
	background: none;
	border: none;
	cursor: pointer;
	color: var(--outline);
	font-family: inherit;
	font-size: inherit;
	font-weight: 600;
	padding: 0;
}

.checkout-step-link.is-active {
	color: var(--on-surface);
	border-bottom: 2px solid var(--primary);
	padding-bottom: 2px;
}

.checkout-breadcrumb__sep {
	color: var(--outline-variant);
}

.checkout {
	padding: var(--section-gap) 0;
}

.checkout__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 3rem;
	align-items: start;
}

.checkout-step {
	display: none;
}

.checkout-step.is-active {
	display: block;
}

.checkout-step__title {
	margin-bottom: 1.5rem;
}

.checkout-step__actions {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2rem;
}

.checkout-cart-items {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.5rem;
}

.checkout-cart-line {
	display: grid;
	grid-template-columns: 1fr auto auto auto;
	align-items: center;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--surface-container-high);
}

.checkout-cart-line__qty {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--font-label);
}

.qty-btn {
	width: 26px;
	height: 26px;
	border-radius: var(--radius-full);
	border: 1px solid var(--outline-variant);
	background-color: var(--surface-container-lowest);
	cursor: pointer;
	font-size: 1rem;
	line-height: 1;
}

.checkout-cart-line__price {
	font-weight: 600;
	min-width: 90px;
	text-align: right;
}

.checkout-cart-line__remove {
	background: none;
	border: none;
	color: var(--error);
	font-size: 1.2rem;
	cursor: pointer;
}

.checkout-cart-empty {
	text-align: center;
	padding: 2rem 0;
	color: var(--on-surface-variant);
}

.checkout-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.form-row {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.form-row label,
.form-row__label {
	font-family: var(--font-label);
	font-weight: 600;
	font-size: 0.85rem;
}

.form-row input {
	padding: 0.8em 1em;
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	background-color: var(--surface-container-lowest);
}

.form-row input:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(25, 107, 36, 0.15);
}

.form-row--split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.form-row--split > div {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.checkbox-row {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.9rem;
	color: var(--on-surface-variant);
}

.segmented {
	display: flex;
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius-md);
	overflow: hidden;
}

.segmented__option {
	flex: 1;
	text-align: center;
	padding: 0.75em 0.5em;
	cursor: pointer;
	font-family: var(--font-label);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--on-surface-variant);
	border-right: 1px solid var(--outline-variant);
}

.segmented__option:last-child {
	border-right: none;
}

.segmented__option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.segmented__option:has(input:checked) {
	background-color: var(--primary);
	color: var(--on-primary);
}

.payment-methods {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
	margin-bottom: 2rem;
}

.payment-method {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1.25rem 0.5rem;
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius-lg);
	cursor: pointer;
	text-align: center;
	transition: all 200ms ease;
	background-color: var(--surface-container-lowest);
}

.payment-method input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.payment-method svg {
	width: 22px;
	height: 22px;
	color: var(--on-surface-variant);
}

.payment-method__icon {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 0.85rem;
}

.payment-method__icon--mtn {
	color: #ffcc00;
	-webkit-text-stroke: 0.5px #191c1e;
}

.payment-method__icon--airtel {
	color: #ed1c24;
}

.payment-method__icon--visa {
	color: var(--secondary);
	font-style: italic;
}

.payment-method__label {
	font-family: var(--font-label);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--on-surface-variant);
}

.payment-method.is-active {
	border-color: var(--primary);
	background-color: var(--primary-container);
	box-shadow: 0 0 0 1px var(--primary);
}

.payment-method.is-active .payment-method__label,
.payment-method.is-active svg {
	color: var(--on-primary-container);
}

.payment-panel {
	background-color: var(--surface-container-low);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.payment-panel__title {
	font-size: 1rem;
	margin-bottom: 0.25rem;
}

.payment-panel__hint {
	font-size: 0.85rem;
	color: var(--on-surface-variant);
	margin: 0;
}

.checkout-secure-note {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: var(--on-surface-variant);
}

.checkout-secure-note svg {
	width: 16px;
	height: 16px;
	color: var(--forest-green);
}

.checkout-error {
	background-color: var(--error-container);
	color: var(--on-error-container);
	padding: 0.75em 1em;
	border-radius: var(--radius-md);
	font-size: 0.9rem;
	margin-top: 1rem;
}

.checkout__summary {
	background-color: var(--surface-container-lowest);
	border-radius: var(--radius-xl);
	padding: 1.75rem;
	box-shadow: var(--shadow-1);
	position: sticky;
	top: 100px;
}

.checkout__summary-title {
	font-size: 1.2rem;
	margin-bottom: 1.25rem;
}

.checkout-summary-items,
.checkout__summary-items {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.checkout__summary-item {
	display: flex;
	justify-content: space-between;
	font-size: 0.875rem;
	color: var(--on-surface-variant);
}

.checkout__summary-item em {
	font-style: normal;
	color: var(--outline);
}

.checkout__summary-totals {
	border-top: 1px solid var(--surface-container-high);
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.checkout__summary-row {
	display: flex;
	justify-content: space-between;
	font-size: 0.9rem;
	color: var(--on-surface-variant);
}

.checkout__summary-row--total {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--forest-green);
	padding-top: 0.6rem;
	border-top: 1px dashed var(--outline-variant);
}

/* Order confirmation
--------------------------------------------- */
.confirmation {
	background-color: var(--surface-dark);
	color: #ffffff;
	padding: var(--section-gap) 0;
	min-height: 80vh;
	display: flex;
	align-items: center;
}

.confirmation__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 3rem;
	align-items: start;
}

.confirmation--empty .confirmation__inner {
	grid-template-columns: 1fr;
	text-align: center;
	justify-items: center;
}

.confirmation__title {
	color: #ffffff;
	font-size: clamp(1.9rem, 4vw, 2.75rem);
}

.confirmation__subtitle {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.1rem;
}

.confirmation__meta {
	color: var(--cta-orange);
	font-family: var(--font-label);
	font-weight: 600;
	margin-bottom: 2rem;
}

.confirmation__qr {
	display: inline-block;
	background-color: #ffffff;
	padding: 1rem;
	border-radius: var(--radius-lg);
	border: 3px solid var(--cta-orange);
}

.confirmation__qr img {
	display: block;
}

.confirmation__qr-label {
	font-family: var(--font-label);
	font-weight: 700;
	color: var(--cta-orange);
	margin: 1rem 0 0.25rem;
}

.confirmation__qr-hint {
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.85rem;
	max-width: 40ch;
}

.confirmation__actions {
	display: flex;
	gap: 1rem;
	margin-top: 2rem;
	flex-wrap: wrap;
}

.confirmation__details {
	background-color: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius-xl);
	padding: 1.75rem;
}

.confirmation__details h2 {
	color: #ffffff;
	font-size: 1.15rem;
	margin-bottom: 1.25rem;
}

.confirmation__item {
	display: flex;
	justify-content: space-between;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.85);
	padding: 0.5em 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.confirmation__totals {
	margin-top: 0.5rem;
}

.confirmation__item--total {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--cta-orange);
	border-bottom: none;
}

/* Menu single
--------------------------------------------- */
.menu-single {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: var(--section-gap) var(--gutter);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: center;
}

.menu-single__media img,
.menu-single__media .menu-card__placeholder--lg {
	border-radius: var(--radius-xl);
}

.menu-single__cat {
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--forest-green);
	font-size: 0.8rem;
	font-weight: 700;
}

.menu-single__price {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--forest-green);
	margin: 0.5rem 0 1.5rem;
}

.menu-single__back {
	display: inline-block;
	margin-top: 1.5rem;
	font-family: var(--font-label);
	font-weight: 600;
	text-decoration: none;
}

/* Responsive
--------------------------------------------- */
@media screen and (max-width: 87.5em) {
	.menu-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 63.9375em) {
	.site-header__inner {
		padding: 0.75rem var(--margin-mobile);
	}

	.checkout__inner,
	.confirmation__inner,
	.menu-single {
		grid-template-columns: 1fr;
	}

	.checkout__summary {
		position: static;
		order: -1;
	}

	.menu-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.payment-methods {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 47.9375em) {
	:root {
		--section-gap: 3rem;
		--gutter: var(--margin-mobile);
	}

	.hero__inner,
	.menu-section__inner,
	.checkout-breadcrumb__inner,
	.checkout__inner,
	.confirmation__inner,
	.payments-strip__inner,
	.contact-strip__inner,
	.site-footer__inner {
		padding-left: var(--margin-mobile);
		padding-right: var(--margin-mobile);
	}

	.menu-grid {
		grid-template-columns: 1fr;
	}

	.site-footer__inner {
		grid-template-columns: 1fr;
	}

	.payment-methods {
		grid-template-columns: repeat(2, 1fr);
	}

	.form-row--split {
		grid-template-columns: 1fr;
	}

	.checkout-cart-line {
		grid-template-columns: 1fr auto;
		row-gap: 0.5rem;
	}

	.checkout-cart-line__price {
		text-align: left;
	}

	.contact-strip__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Print (order confirmation "pass")
--------------------------------------------- */
@media print {
	#masthead,
	.site-footer,
	.cart-drawer,
	.confirmation__actions {
		display: none !important;
	}

	.confirmation {
		background-color: #ffffff;
		color: #191c1e;
		min-height: 0;
	}

	.confirmation__title,
	.confirmation__subtitle,
	.confirmation__details h2 {
		color: #191c1e;
	}

	.confirmation__item {
		color: #191c1e;
	}

	.confirmation__details {
		background-color: #ffffff;
		border-color: #d8dadc;
	}
}

/* ================================================================
   Terrasse-CIRPAETIC — Kitchen / Manager Front Dashboard
   French operational workspace, aligned with the supplied visual system.
   ================================================================ */
.staff-dashboard-link {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .55rem .8rem;
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius-full);
	color: var(--primary);
	font-family: var(--font-label);
	font-size: .78rem;
	font-weight: 600;
	text-decoration: none;
	background: var(--surface-container-lowest);
}
.staff-dashboard-link:hover { color: var(--primary); border-color: var(--primary); }

.kitchen-dashboard { background: var(--surface); min-height: calc(100vh - 80px); padding: 2.25rem 0 5rem; }
.kitchen-dashboard__shell { max-width: 1280px; margin: 0 auto; padding: 0 2.5rem; }
.kitchen-topbar { display:flex; justify-content:space-between; gap:2rem; align-items:flex-end; margin-bottom:1.75rem; }
.kitchen-topbar h1 { margin:.25rem 0 .35rem; font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.35rem); line-height:1.15; }
.kitchen-topbar p { margin:0; color:var(--on-surface-variant); max-width:62ch; }
.kitchen-topbar__actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; justify-content:flex-end; }
.kitchen-eyebrow { display:block; font:600 .72rem/1.2 var(--font-label); letter-spacing:.12em; color:var(--forest-green); text-transform:uppercase; }
.kitchen-role { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .75rem; border-radius:var(--radius-full); background:var(--surface-container-lowest); border:1px solid var(--outline-variant); font:600 .8rem var(--font-label); }
.kitchen-role__dot { width:8px; height:8px; border-radius:50%; background:var(--eco-success); }
.kitchen-notice { margin:0 0 1.25rem; padding:.9rem 1rem; border-radius:var(--radius-md); background:var(--primary-container); color:#fff; font:600 .9rem var(--font-label); }
.kitchen-notice--invalid,.kitchen-notice--error { background:var(--error-container); color:var(--on-error-container); }
.kitchen-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1.25rem; }
.kitchen-stat-card { min-height:145px; background:#fff; border:1px solid var(--surface-container-high); border-radius:var(--radius-xl); box-shadow:var(--shadow-1); padding:1.2rem 1.25rem; position:relative; }
.kitchen-stat-card > span { display:block; font:600 .78rem var(--font-label); color:var(--on-surface-variant); margin-bottom:.25rem; }
.kitchen-stat-card strong { display:block; font:700 clamp(1.55rem,3vw,2rem) var(--font-display); color:var(--primary); margin-bottom:.25rem; }
.kitchen-stat-card small { color:var(--outline); font-size:.78rem; }
.kitchen-stat-card small a { color:var(--cta-orange); font-weight:700; }
.kitchen-stat-card__icon { position:absolute; right:1.1rem; top:1.1rem; width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:#e6f0e7; color:var(--primary); font:700 .78rem var(--font-label); }
.kitchen-stat-card--accent { border-color:#ffd1bd; }
.kitchen-stat-card--accent .kitchen-stat-card__icon { background:#fff0e9; color:var(--tertiary); }
.kitchen-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,.8fr); gap:1.25rem; align-items:start; }
.kitchen-main-column,.kitchen-side-column { display:grid; gap:1.25rem; }
.kitchen-panel { background:#fff; border:1px solid var(--surface-container-high); border-radius:var(--radius-xl); box-shadow:var(--shadow-1); padding:1.35rem; }
.kitchen-panel__head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; }
.kitchen-panel__head--stack { align-items:flex-start; }
.kitchen-panel h2 { margin:.2rem 0 0; font:600 1.25rem/1.35 var(--font-display); color:var(--on-surface); }
.kitchen-count-badge,.kitchen-favorite { display:inline-flex; align-items:center; padding:.35rem .65rem; border-radius:var(--radius-full); background:#edf7ed; color:var(--forest-green); font:600 .72rem var(--font-label); white-space:nowrap; }
.kitchen-orders { display:grid; gap:.75rem; }
.kitchen-order-card { border:1px solid var(--surface-container-high); border-radius:var(--radius-lg); padding:1rem; background:var(--surface-container-lowest); }
.kitchen-order-card__top,.kitchen-order-card__bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.kitchen-order-number { color:var(--outline); font:600 .7rem var(--font-label); letter-spacing:.04em; }
.kitchen-order-card h3 { margin:.15rem 0; font:600 1rem var(--font-display); }
.kitchen-order-card p { margin:0; color:var(--on-surface-variant); font-size:.76rem; }
.kitchen-status { display:inline-flex; padding:.35rem .65rem; border-radius:var(--radius-full); font:600 .7rem var(--font-label); white-space:nowrap; }
.kitchen-status--pending_payment { background:#fff3d9; color:#7a5300; }
.kitchen-status--new { background:#e9f1ff; color:#2e5b93; }
.kitchen-status--preparing { background:#fff0e8; color:#9a450d; }
.kitchen-status--ready { background:#e4f5e7; color:#17652a; }
.kitchen-status--served { background:#e8edf0; color:#4d5b63; }
.kitchen-status--cancelled { background:#ffe6e3; color:#a21d14; }
.kitchen-order-card__items { border-top:1px solid var(--surface-container-high); border-bottom:1px solid var(--surface-container-high); margin:.8rem 0; padding:.7rem 0; display:grid; gap:.35rem; font-size:.84rem; }
.kitchen-order-card__items strong { color:var(--primary); }
.kitchen-order-card__bottom > strong { color:var(--primary); font:700 1rem var(--font-display); }
.kitchen-order-form { display:flex; gap:.5rem; align-items:center; }
.kitchen-order-form select { min-width:145px; }
.kitchen-menu-list { display:grid; }
.kitchen-menu-row { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:.85rem; padding:.75rem 0; border-bottom:1px solid var(--surface-container-high); }
.kitchen-menu-row:last-child { border-bottom:0; }
.kitchen-menu-thumb { width:56px; height:56px; border-radius:12px; overflow:hidden; background:var(--surface-container); display:grid; place-items:center; font-size:1.4rem; }
.kitchen-menu-thumb img { width:100%; height:100%; object-fit:cover; }
.kitchen-menu-row__info { min-width:0; }
.kitchen-menu-row__info strong { display:block; font:600 .92rem var(--font-display); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kitchen-menu-row__info span { display:block; color:var(--outline); font-size:.75rem; margin-top:.15rem; }
.kitchen-menu-row__actions { display:flex; align-items:center; justify-content:flex-end; gap:.6rem; font:600 .75rem var(--font-label); }
.kitchen-menu-row__actions a { color:var(--primary); text-decoration:none; }
.kitchen-danger-link { border:0; background:none; color:var(--error); padding:0; font:600 .75rem var(--font-label); cursor:pointer; }
.kitchen-reset-link { color:var(--outline); font:600 .72rem var(--font-label); text-decoration:none; }
.kitchen-menu-form { display:grid; gap:1rem; }
.kitchen-form-field { display:grid; gap:.4rem; }
.kitchen-form-field label { font:600 .78rem var(--font-label); color:var(--on-surface); }
.kitchen-form-field label span { color:var(--error); }
.kitchen-form-field small { color:var(--outline); font-size:.72rem; }
.kitchen-form-field input,.kitchen-form-field select,.kitchen-form-field textarea { width:100%; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:8px; background:#fff; padding:.72rem .78rem; color:var(--on-surface); font:400 .88rem var(--font-body); }
.kitchen-form-field textarea { resize:vertical; min-height:100px; }
.kitchen-form-field input:focus,.kitchen-form-field select:focus,.kitchen-form-field textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,81,19,.12); outline:none; }
.kitchen-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.kitchen-check { display:flex; gap:.55rem; align-items:flex-start; color:var(--on-surface-variant); font-size:.8rem; line-height:1.45; }
.kitchen-check input { margin-top:.2rem; accent-color:var(--primary); }
.kitchen-form-submit { width:100%; }
.kitchen-panel--tips { background:var(--surface-dark); color:#fff; border-color:var(--surface-dark); }
.kitchen-panel--tips .kitchen-eyebrow { color:#97e992; }
.kitchen-panel--tips h2 { color:#fff; }
.kitchen-panel--tips p { color:rgba(255,255,255,.78); font-size:.82rem; line-height:1.6; }
.kitchen-tip { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); border-radius:var(--radius-md); padding:.8rem; color:#dfece0; font-size:.78rem; line-height:1.9; }
.kitchen-empty { min-height:130px; display:grid; place-items:center; align-content:center; gap:.3rem; text-align:center; color:var(--outline); }
.kitchen-empty strong { color:var(--on-surface); font:600 .95rem var(--font-display); }
.kitchen-access-denied { padding:5rem 1rem; }
.kitchen-panel--center { max-width:560px; margin:0 auto; text-align:center; }
.kitchen-panel--center h1 { font-family:var(--font-display); }

@media (max-width: 1000px) {
	.kitchen-stats { grid-template-columns:repeat(2,1fr); }
	.kitchen-layout { grid-template-columns:1fr; }
}
@media (max-width: 700px) {
	.kitchen-dashboard { padding-top:1.25rem; }
	.kitchen-dashboard__shell { padding:0 1rem; }
	.kitchen-topbar { display:block; }
	.kitchen-topbar__actions { justify-content:flex-start; margin-top:1rem; }
	.kitchen-stats { grid-template-columns:1fr; }
	.kitchen-order-card__top,.kitchen-order-card__bottom { align-items:flex-start; flex-direction:column; }
	.kitchen-order-form { width:100%; }
	.kitchen-order-form select,.kitchen-order-form .btn { flex:1; }
	.kitchen-menu-row { grid-template-columns:48px minmax(0,1fr); }
	.kitchen-menu-thumb { width:48px; height:48px; }
	.kitchen-menu-row__actions { grid-column:2; justify-content:flex-start; flex-wrap:wrap; }
	.kitchen-form-grid { grid-template-columns:1fr; }
	.staff-dashboard-link span:last-child { display:none; }
}


/* Food photography: consistent restaurant-card framing. */
.menu-card__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .35s ease; }
.menu-card:hover .menu-card__media img { transform:scale(1.035); }
.kitchen-menu-thumb img { object-fit:cover; object-position:center; }

/* CIRPAE-TIC refinement: logo, tables, payment states and cleaner checkout. */
.site-title--logo { display:flex; align-items:center; min-height:58px; }
.site-title__logo { display:block; width:auto; height:56px; max-width:210px; object-fit:contain; }
.checkout-field-hint { display:block; margin-top:.35rem; color:var(--outline); font-size:.78rem; }
.payment-method[hidden] { display:none !important; }
.payment-method.is-active { border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,81,19,.10); }
.checkout-payment-sync-note { margin:1rem 0; padding:.8rem 1rem; border-radius:10px; background:#eef8ef; color:#185c22; border:1px solid #cfe6d2; font-size:.84rem; }
.kitchen-table-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-bottom:1rem; }
.kitchen-table-overview > div { padding:1rem; border:1px solid var(--surface-container-high); border-radius:12px; background:var(--surface-container-lowest); }
.kitchen-table-overview strong { display:block; font:700 1.45rem var(--font-display); color:var(--primary); }
.kitchen-table-overview span { color:var(--outline); font-size:.75rem; }
.kitchen-settings-form { display:grid; grid-template-columns:1fr 1.8fr auto; gap:.65rem; align-items:end; }
.kitchen-settings-form label { font:600 .72rem var(--font-label); color:var(--on-surface-variant); }
.kitchen-settings-form input { width:100%; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:8px; padding:.65rem .7rem; }
.kitchen-payment-state { display:inline-block; margin-top:.35rem; font-size:.72rem; font-weight:600; }
.kitchen-payment-state--paid { color:var(--forest-green); }
.kitchen-payment-state--pending { color:#9a6500; }
@media (max-width:700px) { .site-title__logo{height:48px;max-width:165px}.kitchen-table-overview{grid-template-columns:1fr}.kitchen-settings-form{grid-template-columns:1fr}.payment-method{width:100%} }

.confirmation__meta-box{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.05)}
.confirmation__meta-box strong{font-family:var(--font-display)}
.confirmation__meta-box span{font-size:.78rem;color:#a3f69e;font-weight:700}

.checkout-change-payment{border:0;background:none;color:var(--primary);font:600 .82rem var(--font-label);padding:.25rem 0;margin:.6rem 0 1rem;cursor:pointer;text-decoration:underline}

/* Financial management and finalized-order states. */
.kitchen-panel__subtitle { margin:.35rem 0 0; color:var(--outline); font-size:.78rem; max-width:60ch; }
.kitchen-finance-panel { margin-bottom:1.25rem; overflow:hidden; }
.kitchen-finance-tabs { display:flex; gap:.35rem; padding:.25rem; border:1px solid var(--surface-container-high); background:var(--surface-container-low); border-radius:var(--radius-full); }
.kitchen-finance-tabs button { border:0; background:transparent; color:var(--on-surface-variant); padding:.45rem .75rem; border-radius:var(--radius-full); font:600 .72rem var(--font-label); cursor:pointer; }
.kitchen-finance-tabs button.is-active { background:var(--primary); color:#fff; }
.kitchen-finance-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin:1rem 0 1.2rem; }
.kitchen-finance-cards > div { padding:.9rem 1rem; border:1px solid var(--surface-container-high); border-radius:12px; background:var(--surface-container-lowest); }
.kitchen-finance-cards span { display:block; color:var(--outline); font:600 .7rem var(--font-label); margin-bottom:.25rem; }
.kitchen-finance-cards strong { display:block; color:var(--primary); font:700 1.15rem var(--font-display); }
.kitchen-finance-chart { min-height:245px; border-top:1px solid var(--surface-container-high); padding-top:1rem; position:relative; }
.kitchen-finance-chart__axis { color:var(--outline); font:600 .7rem var(--font-label); margin-bottom:.6rem; }
.kitchen-finance-bars { height:190px; display:flex; align-items:flex-end; gap:.45rem; overflow-x:auto; padding:.25rem .2rem 0; }
.kitchen-finance-bar { flex:1 0 42px; min-width:42px; height:100%; display:grid; grid-template-rows:1fr auto auto; align-items:end; text-align:center; }
.kitchen-finance-bar__value { color:var(--on-surface-variant); font-size:.62rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:.8; }
.kitchen-finance-bar__track { height:135px; display:flex; align-items:flex-end; justify-content:center; }
.kitchen-finance-bar__track span { display:block; width:72%; max-width:32px; min-height:4px; background:var(--forest-green); border-radius:7px 7px 2px 2px; transition:height .25s ease; }
.kitchen-finance-bar__label { color:var(--outline); font:600 .62rem var(--font-label); margin-top:.35rem; white-space:nowrap; }
.kitchen-order-locked { display:inline-flex; align-items:center; gap:.3rem; padding:.45rem .7rem; border-radius:var(--radius-full); background:#e8f4ea; color:var(--forest-green); font:700 .7rem var(--font-label); }
.kitchen-notice--order_locked { background:#e8f4ea; color:var(--forest-green); }
.kitchen-notice--payment_required { background:#fff3d9; color:#7a5300; }
@media (max-width:900px) { .kitchen-finance-cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:700px) { .kitchen-panel__head{align-items:flex-start;flex-direction:column}.kitchen-finance-tabs{width:100%;justify-content:space-between}.kitchen-finance-tabs button{flex:1}.kitchen-finance-cards{grid-template-columns:1fr}.kitchen-finance-bars{gap:.25rem}.kitchen-finance-bar{min-width:38px} }
.confirmation__meta-box [data-payment-state].is-paid { color:#a3f69e; }
/* v1.7.0 finishing layer */
.site-phone-link{display:inline-flex;align-items:center;gap:.35rem;color:inherit;text-decoration:none;font:600 .78rem var(--font-label);white-space:nowrap}.site-header--transparent .site-phone-link{color:#fff}.site-phone-link:hover{text-decoration:underline}
.kitchen-table-grid{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:.7rem;margin-top:1rem}.kitchen-table-node{min-height:88px;border:1px solid var(--surface-container-high);border-radius:14px;padding:.65rem;display:grid;place-items:center;align-content:center;text-align:center;background:#fff;box-shadow:var(--shadow-1)}.kitchen-table-node strong{font:700 1.1rem var(--font-display)}.kitchen-table-node span{font:600 .7rem var(--font-label);margin:.15rem 0 .4rem}.kitchen-table-node.is-free{border-color:#b9dfbd;background:#f5fbf5}.kitchen-table-node.is-free strong,.kitchen-table-node.is-free span{color:#17652a}.kitchen-table-node.is-occupied{border-color:#ffc9c2;background:#fff5f3}.kitchen-table-node.is-occupied strong,.kitchen-table-node.is-occupied span{color:#a21d14}.kitchen-table-node.is-blocked{border-color:#ffd8a5;background:#fffaf1}.kitchen-table-node.is-blocked strong,.kitchen-table-node.is-blocked span{color:#8a5a00}.kitchen-table-toggle{border:0;background:transparent;color:var(--primary);font:600 .68rem var(--font-label);cursor:pointer}.kitchen-api-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;align-items:end}.kitchen-api-status{display:flex;gap:.6rem;flex-wrap:wrap;font:600 .75rem var(--font-label)}.kitchen-api-status span{padding:.45rem .65rem;border-radius:999px;background:#edf7ed;color:var(--forest-green)}.kitchen-margin-list{display:grid;gap:.55rem}.kitchen-margin-list>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--surface-container-high);padding:.65rem 0}.kitchen-margin-list strong{font-family:var(--font-display)}.kitchen-margin-list span{color:var(--outline);font-size:.75rem;text-align:right}.payment-methods--icons{grid-template-columns:repeat(5,1fr)}.payment-method--icon{min-height:120px;display:grid;place-items:center;align-content:center;gap:.5rem;text-align:center}.payment-method__brand{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font:700 .82rem var(--font-label);background:#eef4ef;color:var(--primary);border:1px solid #d1dfd2}.payment-method__brand--mtn{background:#ffe000;color:#111;border-color:#ffe000}.payment-method__brand--airtel{background:#e4002b;color:#fff;border-color:#e4002b;border-radius:50%}.payment-method__brand--visa{background:#f5f7fb;color:#1434cb}.payment-method__brand--card{background:#edf2f6}.payment-method__brand--cash{background:#e8f6eb}.guard-dashboard{background:var(--surface);min-height:calc(100vh - 80px);padding:2.5rem 0 5rem}.guard-shell{max-width:1100px;margin:auto;padding:0 1.5rem}.guard-head{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;margin-bottom:1.5rem}.guard-head h1{font:600 clamp(1.8rem,4vw,2.6rem) var(--font-display);margin:.3rem 0}.guard-head p{max-width:65ch;color:var(--on-surface-variant);margin:0}.guard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.guard-card{background:#fff;border:1px solid var(--surface-container-high);border-radius:20px;box-shadow:var(--shadow-1);padding:1.25rem}.guard-camera-wrap{position:relative;aspect-ratio:4/3;background:#07140a;border-radius:16px;overflow:hidden}.guard-camera-wrap video{width:100%;height:100%;object-fit:cover}.guard-scan-frame{position:absolute;inset:20%;border:3px solid #97e992;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.2)}.guard-camera-message{position:absolute;left:1rem;right:1rem;bottom:1rem;background:rgba(0,0,0,.65);color:#fff;border-radius:10px;padding:.65rem;text-align:center;font-size:.8rem}.guard-actions,.guard-manual>div{display:flex;gap:.6rem;margin-top:.8rem}.guard-manual{border-top:1px solid var(--surface-container-high);margin-top:1rem;padding-top:1rem;display:grid;gap:.5rem}.guard-manual input[type=text]{flex:1;border:1px solid #cbd5e1;border-radius:8px;padding:.7rem}.guard-manual label{font:600 .78rem var(--font-label)}.guard-result{display:grid;align-content:center;justify-items:center;text-align:center;min-height:420px}.guard-result-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#edf7ed;color:var(--forest-green);font:700 2rem var(--font-display)}.guard-result.is-error .guard-result-icon{background:#ffe6e3;color:#a21d14}.guard-result h2{font:600 1.4rem var(--font-display);margin:.8rem 0 .3rem}.guard-result p{color:var(--outline)}.guard-result-meta{display:grid;gap:.35rem;margin-top:1rem;font:600 .82rem var(--font-label)}.guard-help{margin-top:1rem;padding:1rem;border-radius:14px;background:#eef5ef;color:#28442b;font-size:.82rem}.kitchen-print-ticket{margin-left:.5rem}
@media(max-width:900px){.site-phone-link{display:none}.payment-methods--icons{grid-template-columns:repeat(2,1fr)}.kitchen-table-grid{grid-template-columns:repeat(4,1fr)}.kitchen-api-grid,.guard-grid{grid-template-columns:1fr}.guard-head{align-items:flex-start;flex-direction:column}.kitchen-margin-list>div{display:grid}.kitchen-margin-list span{text-align:left}}
@media(max-width:560px){.kitchen-table-grid{grid-template-columns:repeat(3,1fr)}.payment-method--icon{min-height:100px}.guard-shell{padding:0 1rem}.guard-card{padding:.9rem}}
@media print{.site-header,.site-footer,.kitchen-topbar,.kitchen-finance-panel,.kitchen-side-column,.kitchen-table-grid,.btn,.kitchen-order-form{display:none!important}.kitchen-dashboard{padding:0;background:#fff}.kitchen-layout{display:block}.kitchen-panel{box-shadow:none;border:0}.kitchen-order-card{break-inside:avoid}}


/*--------------------------------------------------------------
# Weekly menu + terrace welcome
--------------------------------------------------------------*/
.weekly-theme-page .site-header {
	background-color: var(--surface-container-lowest);
	color: var(--on-surface);
	border-bottom: 1px solid var(--surface-container-high);
}
.weekly-theme-page .site-header .main-navigation ul#primary-menu li a,
.weekly-theme-page .site-header .menu-toggle__bar {
	color: var(--on-surface);
	background-color: var(--on-surface);
}
.weekly-theme-page .site-header .main-navigation ul#primary-menu li a {
	background-color: transparent;
}
.weekly-theme-page .site-header .cart-trigger {
	background-color: var(--surface-container-low);
	color: var(--primary);
}

.welcome {
	position: relative;
	background: var(--surface);
	overflow: hidden;
	padding: clamp(5.5rem, 9vw, 8rem) 0 3rem;
}
.welcome__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
}
.welcome__copy h1 {
	max-width: 12ch;
	font-size: clamp(2.5rem, 5vw, 4.7rem);
	line-height: 1.02;
	margin: .2rem 0 1rem;
}
.welcome__subtitle {
	max-width: 54ch;
	font-size: 1.08rem;
	color: var(--on-surface-variant);
}
.welcome__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 1.75rem;
}
.terrace-carousel {
	position: relative;
	min-width: 0;
}
.terrace-carousel__viewport {
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: var(--radius-xl);
	overflow: hidden;
	background: var(--surface-container);
	box-shadow: var(--shadow-2);
}
.terrace-carousel__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 350ms ease;
}
.terrace-carousel__slide.is-active {
	opacity: 1;
	visibility: visible;
}
.terrace-carousel__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.terrace-carousel__control {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.92);
	color: var(--primary);
	box-shadow: var(--shadow-1);
	cursor: pointer;
	font-size: 1.2rem;
}
.terrace-carousel__control:hover { background: #fff; }
.terrace-carousel__control--prev { left: 1rem; }
.terrace-carousel__control--next { right: 1rem; }
.terrace-carousel__dots {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: 1rem;
	transform: translateX(-50%);
	display: flex;
	gap: .45rem;
}
.terrace-carousel__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,.65);
	cursor: pointer;
}
.terrace-carousel__dots button.is-active {
	width: 24px;
	border-radius: 10px;
	background: #fff;
}

.terrace-info {
	padding: 2rem 0;
	background: var(--surface-container-lowest);
	border-top: 1px solid var(--surface-container-high);
	border-bottom: 1px solid var(--surface-container-high);
}
.terrace-info__grid {
	display: grid;
	grid-template-columns: 1.2fr .55fr 1fr;
	gap: 2rem;
	align-items: center;
}
.terrace-info h2 { margin: .15rem 0 0; font-size: clamp(1.35rem, 2.2vw, 2rem); }
.terrace-info__capacity,
.terrace-info__details {
	padding-left: 1.5rem;
	border-left: 1px solid var(--surface-container-high);
}
.terrace-info span {
	display: block;
	font: 700 .72rem var(--font-label);
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--primary);
	margin-bottom: .35rem;
}
.terrace-info__capacity strong { font: 700 1.5rem var(--font-display); }
.terrace-info__details p { margin: 0; color: var(--on-surface-variant); }

.weekly-shell {
	max-width: var(--container-max);
	margin: 0 auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}
.weekly-day-nav {
	background: var(--surface-container-lowest);
	border-top: 1px solid var(--surface-container-high);
	border-bottom: 1px solid var(--surface-container-high);
}
.weekly-day-nav .weekly-shell {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	padding-top: .75rem;
	padding-bottom: .75rem;
}
.weekly-day-nav__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .65rem 1rem;
	border-radius: var(--radius-full);
	text-decoration: none;
	font: 600 .9rem var(--font-label);
	color: var(--on-surface-variant);
	transition: background-color 180ms ease, color 180ms ease;
}
.weekly-day-nav__item:hover,
.weekly-day-nav__item.is-active {
	background: var(--primary);
	color: #fff;
}
.weekly-day-nav--home {
	border: 0;
	background: transparent;
	margin-bottom: 2rem;
}
.weekly-day-nav--home .weekly-shell { padding: 0; }
.weekly-all-link {
	font: 700 .85rem var(--font-label);
	color: var(--primary);
	text-decoration: none;
}
.weekly-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--gutter);
}
.weekly-grid--home {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.weekly-day-card {
	position: relative;
	background: var(--surface-container-lowest);
	border: 1px solid var(--surface-container-high);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-1);
	transition: transform 220ms ease, box-shadow 220ms ease;
}
.weekly-day-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-2);
}
.weekly-day-card__link { position: absolute; inset: 0; z-index: 2; }
.weekly-day-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--surface-container);
}
.weekly-day-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.weekly-day-card__day {
	position: absolute;
	left: .8rem;
	top: .8rem;
	padding: .35rem .75rem;
	border-radius: var(--radius-full);
	background: #fff;
	color: var(--primary);
	font: 700 .78rem var(--font-label);
	box-shadow: var(--shadow-1);
}
.weekly-day-card__body { padding: 1.1rem; }
.weekly-day-card__eyebrow {
	margin: 0 0 .25rem;
	color: var(--primary);
	font: 700 .68rem var(--font-label);
	text-transform: uppercase;
	letter-spacing: .08em;
}
.weekly-day-card h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.weekly-day-card__price { display: block; margin-bottom: .7rem; font-family: var(--font-display); }
.weekly-day-card__cta { color: var(--on-surface-variant); font: 600 .78rem var(--font-label); }

.weekly-archive__hero,
.reservation-page__hero {
	padding: 7rem 0 3.5rem;
	background: var(--surface);
}
.weekly-archive__hero h1,
.reservation-page__hero h1 { margin: .2rem 0 .6rem; font-size: clamp(2.2rem, 5vw, 4rem); }
.weekly-archive__hero p:not(.eyebrow),
.reservation-page__hero p:not(.eyebrow) { max-width: 62ch; color: var(--on-surface-variant); }
.weekly-list { padding: 3rem 0 6rem; }

.weekly-single__hero {
	background: var(--surface);
	padding: 7rem 0 4rem;
}
.weekly-single__hero-grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.weekly-single__hero h1 { margin: .2rem 0 .7rem; font-size: clamp(2.2rem, 5vw, 4rem); }
.weekly-single__intro { max-width: 50ch; color: var(--on-surface-variant); }
.weekly-single__image {
	aspect-ratio: 16 / 10;
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-2);
}
.weekly-single__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.weekly-single__content { padding: 2rem 0 6rem; background: var(--surface-container-low); }
.weekly-back {
	display: inline-block;
	margin-bottom: 1.5rem;
	color: var(--primary);
	font: 600 .85rem var(--font-label);
	text-decoration: none;
}
.dish-of-day {
	background: var(--surface-container-lowest);
	border: 1px solid var(--surface-container-high);
	border-radius: var(--radius-xl);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	margin-bottom: 1.5rem;
}
.dish-of-day__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}
.dish-of-day h2 { margin: .2rem 0; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.dish-of-day__heading > strong { font: 700 1.2rem var(--font-display); white-space: nowrap; }
.dish-of-day__description { color: var(--on-surface-variant); max-width: 75ch; }
.reservation-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gutter);
}
.reservation-option {
	position: relative;
	background: #fff;
	border: 1px solid var(--surface-container-high);
	border-radius: var(--radius-xl);
	padding: 1.5rem;
	box-shadow: var(--shadow-1);
}
.reservation-option--accent { border-color: var(--primary); }
.reservation-option__number {
	display: block;
	color: var(--primary);
	font: 700 .75rem var(--font-label);
	letter-spacing: .08em;
	margin-bottom: .8rem;
}
.reservation-option h3 { margin: 0 0 .6rem; font-size: 1.15rem; }
.reservation-option p { min-height: 5em; color: var(--on-surface-variant); }
.reservation-option .btn { position: relative; z-index: 3; }

.reservation-page__content { padding: 2.5rem 0 6rem; background: var(--surface-container-low); }
.reservation-layout { max-width: 900px; }
.reservation-form {
	background: #fff;
	border: 1px solid var(--surface-container-high);
	border-radius: var(--radius-xl);
	padding: clamp(1.25rem, 3vw, 2.5rem);
	box-shadow: var(--shadow-1);
}
.reservation-form__summary {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: var(--radius-lg);
	background: var(--primary-container);
}
.reservation-form__summary span,
.reservation-form label > span {
	display: block;
	font: 700 .72rem var(--font-label);
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--on-surface-variant);
	margin-bottom: .4rem;
}
.reservation-form__summary strong { color: var(--primary); }
.reservation-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}
.reservation-form label { display: block; margin-bottom: 1rem; }
.reservation-form input,
.reservation-form select,
.reservation-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--outline-variant);
	border-radius: var(--radius-md);
	background: #fff;
	padding: .8rem .9rem;
}
.reservation-form input:focus,
.reservation-form select:focus,
.reservation-form textarea:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: 0 0 0 3px rgba(25,107,36,.12);
}
.reservation-form .is-hidden { display: none; }
.reservation-success {
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	border: 1px solid #b9dfbd;
	border-radius: var(--radius-lg);
	background: #f4fbf4;
}
.reservation-success strong { color: var(--primary); }
.reservation-success p { color: var(--on-surface-variant); }

@media screen and (max-width: 63.9375em) {
	.welcome__inner,
	.weekly-single__hero-grid { grid-template-columns: 1fr; }
	.welcome__copy h1 { max-width: 16ch; }
	.terrace-info__grid { grid-template-columns: 1fr 1fr; }
	.terrace-info__details { grid-column: 1 / -1; }
	.weekly-grid,
	.weekly-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 43.75em) {
	.welcome { padding-top: 5rem; }
	.welcome__inner { grid-template-columns: 1fr; }
	.terrace-info__grid,
	.reservation-options,
	.reservation-form__grid,
	.reservation-form__summary { grid-template-columns: 1fr; }
	.terrace-info__capacity,
	.terrace-info__details { padding-left: 0; border-left: 0; border-top: 1px solid var(--surface-container-high); padding-top: 1rem; }
	.weekly-grid,
	.weekly-grid--home { grid-template-columns: 1fr; }
	.weekly-day-nav .weekly-shell { overflow-x: auto; flex-wrap: nowrap; }
	.weekly-day-nav__item { flex: 0 0 auto; }
	.dish-of-day__heading { flex-direction: column; }
}

/* ================================================================
   v1.9.0 — Supplied visual reference implementation
   Homepage only: preserve operational templates while matching the
   requested white header, full-width hero, green menu pills/cards,
   terrace information strip and compact footer.
   ================================================================ */
:root {
  --ref-green: #27851a;
  --ref-green-dark: #176d12;
  --ref-green-soft: #eef7e9;
  --ref-cream: #fbfaf5;
  --ref-ink: #101923;
  --ref-muted: #5b6570;
  --ref-border: #e7e7e1;
  --ref-shadow: 0 8px 22px rgba(16,25,35,.08);
}

.site-header {
  position: sticky;
  top: 0;
  background: #fff !important;
  color: var(--ref-ink);
  box-shadow: 0 1px 0 rgba(16,25,35,.06);
  border-bottom: 1px solid #efefeb;
}
.site-header__inner { min-height: 88px; padding-top: .7rem; padding-bottom: .7rem; gap: 1.4rem; }
.site-title { color: var(--ref-ink) !important; font-size: 1.08rem; gap: .55rem; }
.site-title__mark { width: 28px; height: 28px; color: var(--ref-green); }
.main-navigation ul#primary-menu { gap: 1.85rem; }
.main-navigation ul li a { color: var(--ref-ink) !important; font-size: .83rem; padding: .7rem 0; }
.main-navigation ul li.current-menu-item a,
.main-navigation ul li a:hover,
.main-navigation ul li a:focus { color: var(--ref-green) !important; }
.main-navigation ul li.current-menu-item a::after { content:""; display:block; height:2px; margin-top:.55rem; background:var(--ref-green); }
.menu-toggle__bar { background:var(--ref-ink) !important; }
.site-header__actions { gap: .8rem; }
.header-search { width: 198px; height: 36px; display:flex; align-items:center; border:1px solid #e1e3e5; border-radius:10px; overflow:hidden; background:#fff; }
.header-search input { min-width:0; flex:1; height:100%; border:0; outline:0; padding:.45rem .75rem; font:400 .76rem var(--font-body); color:var(--ref-ink); }
.header-search button { width:38px; height:100%; display:grid; place-items:center; border:0; background:#fff; color:var(--ref-ink); cursor:pointer; }
.header-search button svg { width:18px; height:18px; }
.header-logo-secondary { display:inline-flex; align-items:center; margin-left:.2rem; width:132px; }
.header-logo-secondary img { width:100%; height:auto; max-height:54px; object-fit:contain; }
.cart-trigger { width:40px; height:40px; background:transparent !important; color:var(--ref-ink) !important; }
.cart-trigger__count { background:var(--ref-green); top:-2px; right:-2px; }

.reference-hero { position:relative; height:320px; min-height:320px; overflow:hidden; color:#fff; background:#1a2b18; }
.reference-hero__slides { position:absolute; inset:0; }
.reference-hero__slide { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity .45s ease; }
.reference-hero__slide.is-active { opacity:1; visibility:visible; }
.reference-hero__slide img { width:100%; height:100%; object-fit:cover; object-position:center 55%; display:block; }
.reference-hero__veil { z-index:3; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.73) 0%,rgba(0,0,0,.53) 38%,rgba(0,0,0,.12) 72%,rgba(0,0,0,.1) 100%),linear-gradient(0deg,rgba(0,0,0,.18),transparent 50%); pointer-events:none; }
.reference-hero__content { position:absolute; inset:0; max-width:1310px; width:100%; margin:auto; padding:4.4rem 2rem 2rem; display:flex; align-items:flex-start; }
.reference-hero__copy { max-width:570px; }
.reference-hero h1 { color:#fff; font-size:clamp(2rem,3.1vw,2.85rem); line-height:1.1; margin:0 0 .2rem; font-weight:700; }
.reference-hero__accent { color:#fff; font-size:clamp(1.2rem,2vw,1.65rem); line-height:1.25; margin:0 0 .75rem; font-weight:700; }
.reference-hero__description { max-width:490px; color:rgba(255,255,255,.94); margin:0; font-size:.91rem; line-height:1.65; }
.reference-hero__actions { margin-top:1.15rem; }
.reference-btn { display:inline-flex; align-items:center; gap:.4rem; border:0; border-radius:8px; padding:.72rem 1.1rem; text-decoration:none; font:700 .83rem var(--font-label); }
.reference-btn--primary { background:var(--ref-green); color:#fff; box-shadow:0 5px 14px rgba(0,0,0,.18); }
.reference-btn--primary:hover { background:var(--ref-green-dark); color:#fff; transform:translateY(-1px); }
.reference-hero__features { display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1rem; }
.reference-hero__features span { display:inline-flex; align-items:center; gap:.42rem; color:#fff; font:600 .73rem var(--font-label); }
.reference-hero__features b { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; color:var(--ref-green); background:#fff; font-size:.6rem; }
.reference-hero__control { position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:48px; height:48px; border:0; border-radius:50%; background:rgba(255,255,255,.95); color:#17212b; box-shadow:0 4px 12px rgba(0,0,0,.12); font-size:2rem; line-height:1; cursor:pointer; }
.reference-hero__control:hover { background:#fff; }
.reference-hero__control--prev { left:18px; }
.reference-hero__control--next { right:18px; }
.reference-hero__dots { position:absolute; left:50%; bottom:15px; transform:translateX(-50%); z-index:5; display:flex; align-items:center; gap:8px; }
.reference-hero__dots button { width:11px; height:11px; padding:0; border:2px solid #fff; border-radius:50%; background:transparent; cursor:pointer; }
.reference-hero__dots button.is-active { background:var(--ref-green); }

.weekly-home-section { position:relative; padding:1.45rem 0 1.65rem; background-color:var(--ref-cream); background-image:radial-gradient(circle at 8% 30%,rgba(39,133,26,.045) 0 2px,transparent 3px),radial-gradient(circle at 86% 70%,rgba(39,133,26,.04) 0 2px,transparent 3px); }
.weekly-home-section::before { content:""; position:absolute; inset:0; opacity:.26; pointer-events:none; background-image:linear-gradient(35deg,transparent 46%,rgba(39,133,26,.06) 47%,transparent 50%),linear-gradient(145deg,transparent 46%,rgba(39,133,26,.05) 47%,transparent 50%); background-size:150px 150px; }
.weekly-home-section > .weekly-shell { position:relative; z-index:1; }
.weekly-home-section__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.weekly-home-section__heading h2 { margin:0; color:var(--ref-ink); font-size:1.48rem; }
.weekly-see-all { color:var(--ref-green); text-decoration:none; font:700 .77rem var(--font-label); }
.weekly-see-all:hover { color:var(--ref-green-dark); }
.reference-day-nav { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 1.35rem; }
.reference-day-nav a { display:inline-flex; align-items:center; gap:.3rem; min-height:31px; padding:.35rem .95rem; border:1px solid #e3e4e0; border-radius:999px; background:#fff; color:var(--ref-ink); text-decoration:none; font:600 .73rem var(--font-label); box-shadow:0 1px 3px rgba(0,0,0,.02); }
.reference-day-nav a:hover { border-color:#b7d7ae; color:var(--ref-green); }
.reference-day-nav a.is-active { background:var(--ref-green); border-color:var(--ref-green); color:#fff; }
.reference-day-nav a i { width:5px; height:5px; border-radius:50%; background:var(--ref-green); }
.reference-day-nav a.is-active i { background:#fff; }
.reference-menu-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.35rem; }
.reference-menu-grid .weekly-day-card { border:1px solid #e6e4dc; border-radius:10px; box-shadow:var(--ref-shadow); background:#fff; overflow:hidden; }
.reference-menu-grid .weekly-day-card:hover { transform:translateY(-2px); box-shadow:0 11px 25px rgba(16,25,35,.11); }
.reference-menu-grid .weekly-day-card__media { aspect-ratio:2.05/1; }
.reference-menu-grid .weekly-day-card__day { left:0; top:0; border-radius:0 0 8px 0; padding:.42rem .72rem; background:var(--ref-green); color:#fff; box-shadow:none; font-size:.7rem; }
.reference-menu-grid .weekly-day-card__body { padding:.7rem .82rem .78rem; display:flex; flex-direction:column; }
.reference-menu-grid .weekly-day-card__eyebrow { display:none; }
.reference-menu-grid .weekly-day-card h3 { font-size:.85rem; line-height:1.35; margin:0 0 .28rem; }
.reference-menu-grid .weekly-day-card__description { margin:0 0 .55rem; color:var(--ref-ink); font-size:.7rem; line-height:1.45; min-height:2.85em; }
.reference-menu-grid .weekly-day-card__body::after { content:""; display:block; }
.reference-menu-grid .weekly-day-card__bottom { display:flex; align-items:center; justify-content:space-between; gap:.55rem; }
.reference-menu-grid .weekly-day-card__price { margin:0; font:700 .78rem var(--font-display); color:var(--ref-ink); }
.reference-menu-grid .weekly-day-card__price--pending { font-size:.68rem; color:var(--ref-muted); }
.reference-menu-grid .weekly-day-card__cta { position:relative; z-index:4; display:inline-flex; align-items:center; justify-content:center; gap:.35rem; padding:.48rem .72rem; border:0; border-radius:7px; background:var(--ref-green); color:#fff; text-decoration:none; font:700 .64rem var(--font-label); cursor:pointer; white-space:nowrap; }
.reference-menu-grid .weekly-day-card__cta:hover { background:var(--ref-green-dark); color:#fff; }

.reference-terrace-info { padding:1rem 0 1.6rem; background:var(--ref-cream); }
.reference-terrace-info__grid { display:grid; grid-template-columns:repeat(5,1fr); gap:0; background:#fff; border:1px solid #e8e7e1; border-radius:13px; box-shadow:0 5px 18px rgba(16,25,35,.07); overflow:hidden; }
.reference-info-item { min-height:76px; display:flex; align-items:center; gap:.7rem; padding:.75rem 1rem; }
.reference-info-item + .reference-info-item { border-left:1px solid #eee; }
.reference-info-icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; color:var(--ref-green); font-size:2rem; line-height:1; }
.reference-info-item div { min-width:0; display:flex; flex-direction:column; }
.reference-info-item strong { color:var(--ref-ink); font:700 .71rem var(--font-label); margin-bottom:.12rem; }
.reference-info-item div span,.reference-info-item small { color:var(--ref-ink); font:600 .67rem var(--font-label); line-height:1.4; }
.reference-info-item small { font-weight:400; }

.site-footer { border-top:1px solid #ededeb; background:#fff; }
.site-footer__inner { padding:1.45rem var(--gutter) 1rem; gap:1.8rem; }
.footer-col__title { font-size:.73rem; margin-bottom:.55rem; }
.footer-col p,.footer-col a { font-size:.72rem; }
.footer-col--brand .site-title { font-size:.95rem; }
.footer-col__desc { font-size:.68rem !important; }
.social-icon { width:30px; height:30px; }
.social-icon svg { width:15px; height:15px; }
.newsletter-form { height:34px; }
.newsletter-form input { padding:.55rem .7rem; font-size:.72rem; }
.newsletter-form button { width:38px; }
.newsletter-form button svg { width:15px; }
.site-footer__bottom { padding:.65rem var(--gutter); font-size:.67rem; }

@media (max-width: 1100px) {
  .header-logo-secondary { width:105px; }
  .header-search { width:165px; }
  .reference-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reference-terrace-info__grid { grid-template-columns:repeat(3,1fr); }
  .reference-info-item:nth-child(4) { border-left:0; border-top:1px solid #eee; }
  .reference-info-item:nth-child(5) { border-top:1px solid #eee; }
}
@media (max-width: 900px) {
  .header-search,.header-logo-secondary { display:none; }
  .site-header__inner { min-height:72px; }
  .reference-hero { height:420px; }
  .reference-hero__content { padding:5.2rem 3.6rem 2rem; }
  .reference-hero__copy { max-width:650px; }
  .reference-terrace-info__grid { grid-template-columns:repeat(2,1fr); }
  .reference-info-item + .reference-info-item { border-left:0; }
  .reference-info-item:nth-child(even) { border-left:1px solid #eee; }
  .reference-info-item:nth-child(n+3) { border-top:1px solid #eee; }
}
@media (max-width: 600px) {
  .reference-hero { height:470px; }
  .reference-hero__content { padding:4.4rem 3.5rem 1.5rem 1.15rem; }
  .reference-hero h1 { font-size:1.8rem; }
  .reference-hero__accent { font-size:1.15rem; }
  .reference-hero__description { font-size:.82rem; }
  .reference-hero__features { gap:.65rem; }
  .reference-hero__features span { font-size:.63rem; }
  .reference-hero__control { width:38px; height:38px; font-size:1.6rem; }
  .reference-hero__control--prev { left:8px; }
  .reference-hero__control--next { right:8px; }
  .weekly-home-section__heading { align-items:flex-start; flex-direction:column; }
  .reference-day-nav { overflow-x:auto; flex-wrap:nowrap; padding-bottom:.25rem; }
  .reference-day-nav a { flex:0 0 auto; }
  .reference-menu-grid { grid-template-columns:1fr; }
  .reference-terrace-info__grid { grid-template-columns:1fr; }
  .reference-info-item:nth-child(even) { border-left:0; }
  .reference-info-item + .reference-info-item { border-top:1px solid #eee; }
}

/* v1.10 — weekly dish/day planning + restrained terrace gallery */
.kitchen-schedule-panel { margin-top: 1.25rem; }
.kitchen-schedule-form { display:flex; flex-direction:column; gap:1rem; }
.kitchen-schedule-table { border:1px solid #e8e9e6; border-radius:14px; overflow:hidden; background:#fff; }
.kitchen-schedule-row { display:grid; grid-template-columns:minmax(120px,.7fr) minmax(260px,2fr) minmax(100px,.55fr); align-items:center; gap:1rem; padding:.78rem 1rem; border-top:1px solid #eee; }
.kitchen-schedule-row:first-child { border-top:0; }
.kitchen-schedule-row--head { background:#f7f8f5; color:#69716a; font:700 .68rem var(--font-label); text-transform:uppercase; letter-spacing:.05em; }
.kitchen-schedule-day { display:flex; flex-direction:column; gap:.15rem; }
.kitchen-schedule-day strong { color:var(--ref-ink); font-size:.86rem; }
.kitchen-schedule-day small { color:#8b918b; font-size:.68rem; }
.kitchen-schedule-row select { width:100%; min-height:40px; border:1px solid #dfe3df; border-radius:9px; background:#fff; padding:.45rem .65rem; color:#263128; }
.kitchen-schedule-status { justify-self:start; border-radius:999px; padding:.35rem .62rem; font:700 .66rem var(--font-label); }
.kitchen-schedule-status.is-assigned { background:#e9f6e6; color:#24731b; }
.kitchen-schedule-status.is-empty { background:#f2f3f1; color:#7c827d; }
.kitchen-schedule-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:.2rem; }
.kitchen-schedule-actions > span { color:#7a817b; font-size:.72rem; line-height:1.5; }
.terrace-photo-strip { background:#fff; padding:1.2rem 0 1.45rem; border-top:1px solid #ecece8; }
.terrace-photo-strip__heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.terrace-photo-strip__heading h2 { margin:.15rem 0 0; font-size:1.15rem; color:var(--ref-ink); }
.terrace-photo-strip__heading > span { color:#737a74; font-size:.72rem; }
.terrace-photo-strip__track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
.terrace-photo-strip__item { margin:0; height:100px; overflow:hidden; border-radius:10px; background:#edf0eb; }
.terrace-photo-strip__item img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.terrace-photo-strip__item:hover img { transform:scale(1.035); }
@media (max-width:800px){.kitchen-schedule-row{grid-template-columns:1fr;gap:.55rem}.kitchen-schedule-row--head{display:none}.kitchen-schedule-actions{align-items:flex-start;flex-direction:column}.terrace-photo-strip__heading{align-items:flex-start;flex-direction:column}.terrace-photo-strip__track{grid-template-columns:repeat(2,minmax(0,1fr));}.terrace-photo-strip__item{height:120px}}

/* v1.11.0 overrides: screenshot-inspired hero and multi-dish weekly menu */
.reference-hero--model{height:295px;min-height:295px;width:100%;background:#182317}.reference-hero--model .reference-hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease}.reference-hero--model .reference-hero__slide.is-active{opacity:1;visibility:visible}.reference-hero--model .reference-hero__slide img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block}.reference-hero--model .reference-hero__veil{z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.38) 34%,rgba(0,0,0,.12) 68%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.22),transparent 55%)}.reference-hero__model-content{position:relative;z-index:4;height:100%;display:flex;align-items:center;padding:0 2rem;pointer-events:none}.reference-hero__model-content .reference-hero__copy{max-width:520px;margin-left:0;pointer-events:auto}.reference-hero--model h1{font-size:clamp(1.55rem,2.5vw,2.05rem);margin-bottom:.15rem;text-shadow:0 2px 10px rgba(0,0,0,.4)}.reference-hero--model .reference-hero__accent{font-size:clamp(1rem,1.55vw,1.28rem);margin-bottom:.65rem}.reference-hero--model .reference-hero__description{max-width:430px;font-size:.84rem;line-height:1.5;margin-bottom:.85rem}.reference-hero--model .reference-btn--primary{padding:.65rem 1.05rem;border-radius:7px}.reference-hero--model .reference-hero__control{z-index:5;opacity:.35}.reference-hero--model .reference-hero__dots{z-index:5;bottom:12px}.weekly-home-section--full{padding-top:1.2rem}.weekly-all-days{display:flex;flex-direction:column;gap:1.25rem}.weekly-day-anchor{scroll-margin-top:100px}.weekly-day-block{background:#fff;border:1px solid #e5e8e1;border-radius:14px;padding:1rem;box-shadow:0 5px 18px rgba(28,42,27,.045)}.weekly-day-block__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.weekly-day-block__eyebrow,.weekly-dish-card__eyebrow{margin:0 0 .12rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--ref-green)}.weekly-day-block__heading h3{margin:0;font-size:1.05rem;color:var(--ref-ink)}.weekly-day-block__link{font-size:.72rem;color:var(--ref-green);font-weight:700;text-decoration:none}.weekly-day-block__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.weekly-dish-card{border:1px solid #e2e5df;border-radius:11px;overflow:hidden;background:#fff;min-width:0}.weekly-dish-card__media{display:block;height:145px;position:relative;overflow:hidden;background:#edf0eb}.weekly-dish-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.weekly-dish-card:hover .weekly-dish-card__media img{transform:scale(1.035)}.weekly-dish-card__day{position:absolute;left:8px;bottom:8px;padding:.28rem .48rem;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ref-green);font-size:.58rem;font-weight:800}.weekly-dish-card__body{padding:.68rem .72rem .72rem}.weekly-dish-card__body h4{margin:0 0 .25rem;font-size:.84rem;line-height:1.25;color:var(--ref-ink)}.weekly-dish-card__body p:not(.weekly-dish-card__eyebrow){margin:0;color:#6e756f;font-size:.68rem;line-height:1.45;min-height:2.85em}.weekly-dish-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.65rem}.weekly-dish-card__bottom strong{font-size:.75rem;color:#151b16;white-space:nowrap}.weekly-dish-card__bottom .btn{padding:.42rem .65rem;font-size:.62rem}.weekly-empty-day{padding:1rem;border:1px dashed #d9ddd7;border-radius:10px;display:flex;flex-direction:column;gap:.2rem;color:#707870;font-size:.75rem}.weekly-empty-day strong{color:var(--ref-ink)}.kitchen-schedule-row--multi{grid-template-columns:minmax(120px,.6fr) minmax(400px,3fr) minmax(110px,.6fr);align-items:start}.kitchen-schedule-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.kitchen-schedule-dish{display:flex;align-items:center;gap:.55rem;padding:.48rem;border:1px solid #e1e5df;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.kitchen-schedule-dish:hover{border-color:#b8c9b3}.kitchen-schedule-dish.is-selected{background:#f1f8ee;border-color:#9ec694;box-shadow:0 1px 5px rgba(49,105,37,.06)}.kitchen-schedule-dish input{flex:0 0 auto}.kitchen-schedule-dish__thumb{width:42px;height:36px;border-radius:7px;overflow:hidden;background:#edf0eb;display:grid;place-items:center;flex:0 0 42px;font-size:1rem}.kitchen-schedule-dish__thumb img{width:100%;height:100%;object-fit:cover;display:block}.kitchen-schedule-dish__info{display:flex;min-width:0;flex-direction:column;gap:.12rem}.kitchen-schedule-dish__info strong{font-size:.72rem;line-height:1.25;color:var(--ref-ink)}.kitchen-schedule-dish__info small{font-size:.62rem;color:#707970}.kitchen-empty-inline{color:#777e77;font-size:.72rem;padding:.6rem}.kitchen-schedule-table--multi .kitchen-schedule-status{margin-top:.1rem}.weekly-single-dishes{display:flex;flex-direction:column;gap:.85rem}.weekly-single-dishes__heading{display:flex;justify-content:space-between;align-items:end;gap:1rem}.weekly-single-dishes__heading h2{margin:.1rem 0 0}.weekly-single-dishes__heading>span{color:#707770;font-size:.72rem}.weekly-single-dishes .dish-of-day{display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:center}.weekly-single-dishes .dish-of-day__thumb{height:130px;border-radius:10px;overflow:hidden}.weekly-single-dishes .dish-of-day__thumb img{width:100%;height:100%;object-fit:cover;display:block}.weekly-single-dishes .dish-of-day__heading,.weekly-single-dishes .dish-of-day__description,.weekly-single-dishes .dish-of-day>.btn{grid-column:2}.weekly-single-dishes .dish-of-day>.btn{justify-self:start}@media(max-width:1000px){.weekly-day-block__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kitchen-schedule-row--multi{grid-template-columns:1fr}.kitchen-schedule-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.reference-hero--model{height:285px;min-height:285px}.reference-hero__model-content{padding:0 1.1rem}.reference-hero--model .reference-hero__copy{max-width:340px}.reference-hero--model h1{font-size:1.45rem}.reference-hero--model .reference-hero__accent{font-size:1rem}.reference-hero--model .reference-hero__description{font-size:.76rem;max-width:320px}.weekly-day-block__grid{grid-template-columns:1fr}.weekly-dish-card__media{height:190px}.kitchen-schedule-picker{grid-template-columns:1fr}.weekly-single-dishes .dish-of-day{grid-template-columns:1fr}.weekly-single-dishes .dish-of-day__heading,.weekly-single-dishes .dish-of-day__description,.weekly-single-dishes .dish-of-day>.btn{grid-column:1}}


/* ================================================================
   v1.12.1 — protected visual refinement
   Keep the v1.11 structure intact while separating the welcome copy
   from its terrace photography and preserving multiple dishes/day.
   ================================================================ */

.cirpae-welcome-section{
    padding:clamp(2.4rem,5vw,4.5rem) 0;
    background:var(--surface-container-lowest,#fff);
    border-top:1px solid #eceee9;
    border-bottom:1px solid #eceee9;
}
.cirpae-welcome-section__inner{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(2rem,5vw,5rem);
    align-items:center;
}
.cirpae-welcome-section__copy{
    max-width:560px;
}
.cirpae-welcome-section__copy h2{
    margin:.25rem 0 .55rem;
    font-size:clamp(1.8rem,3vw,2.7rem);
    color:var(--ref-ink,#172016);
}
.cirpae-welcome-section__lead{
    margin:0 0 1rem;
    font:600 clamp(1rem,1.5vw,1.2rem) var(--font-display,Georgia,serif);
    color:var(--ref-green,#397f25);
}
.cirpae-welcome-section__copy > p:not(.cirpae-welcome-section__lead){
    margin:0 0 1.15rem;
    color:#697169;
    line-height:1.75;
    font-size:.9rem;
}
.cirpae-welcome-section__gallery{
    position:relative;
    min-height:clamp(260px,31vw,410px);
    border-radius:20px;
    overflow:hidden;
    background:#e9ede7;
    box-shadow:0 16px 40px rgba(25,39,23,.10);
}
.cirpae-welcome-section__slides{
    position:absolute;
    inset:0;
}
.cirpae-welcome-section__gallery .terrace-carousel__slide{
    position:absolute;
    inset:0;
    margin:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .65s ease,visibility .65s ease;
}
.cirpae-welcome-section__gallery .terrace-carousel__slide.is-active{
    opacity:1;
    visibility:visible;
}
.cirpae-welcome-section__gallery .terrace-carousel__slide img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.terrace-carousel__control{
    position:absolute;
    top:50%;
    z-index:4;
    width:42px;
    height:42px;
    margin-top:-21px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:50%;
    background:rgba(20,28,19,.34);
    color:#fff;
    display:grid;
    place-items:center;
    padding:0;
    font:400 1.7rem/1 Arial,sans-serif;
    cursor:pointer;
    backdrop-filter:blur(4px);
    transition:background .2s ease,transform .2s ease;
}
.terrace-carousel__control:hover,
.terrace-carousel__control:focus-visible{
    background:rgba(20,28,19,.62);
    transform:scale(1.04);
    color:#fff;
}
.terrace-carousel__control--prev{left:14px}
.terrace-carousel__control--next{right:14px}
.terrace-carousel__caption{
    position:absolute;
    z-index:3;
    left:18px;
    right:18px;
    bottom:15px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    color:#fff;
    font-size:.72rem;
    text-shadow:0 1px 8px rgba(0,0,0,.5);
    pointer-events:none;
}
.terrace-carousel__caption span:first-child{
    font-weight:800;
    letter-spacing:.04em;
}
.terrace-carousel__hint{opacity:.82}
.cirpae-capacity-section{
    padding:clamp(2.3rem,5vw,4rem) 0;
    background:var(--surface-container-low,#f7f8f5);
    border-top:1px solid #e8ebe5;
}
.cirpae-capacity-section__inner{
    display:grid;
    grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
    gap:clamp(2rem,5vw,4.5rem);
    align-items:center;
}
.cirpae-capacity-section__heading h2{
    margin:.2rem 0 .55rem;
    font-size:clamp(1.65rem,3vw,2.35rem);
    color:var(--ref-ink,#172016);
}
.cirpae-capacity-section__heading p{
    margin:0;
    max-width:48ch;
    color:#6d756e;
    line-height:1.7;
    font-size:.88rem;
}
.cirpae-capacity-section__cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.7rem;
}
.cirpae-capacity-card{
    min-height:105px;
    padding:1rem;
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    background:#fff;
    border:1px solid #e2e6df;
    border-radius:14px;
    box-shadow:0 5px 18px rgba(28,42,27,.035);
}
.cirpae-capacity-card__icon{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#edf6e9;
    color:var(--ref-green,#397f25);
    font-size:1rem;
}
.cirpae-capacity-card div{min-width:0}
.cirpae-capacity-card div > span{
    display:block;
    margin-bottom:.25rem;
    color:#7b827c;
    font-size:.62rem;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-weight:800;
}
.cirpae-capacity-card strong{
    display:block;
    color:var(--ref-ink,#172016);
    font-size:.78rem;
    line-height:1.45;
}
.weekly-single-dishes__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.weekly-single-dishes .dish-of-day{
    margin-bottom:0;
    height:100%;
}
.weekly-booking-choice{
    margin-top:2.5rem;
    padding-top:2.25rem;
    border-top:1px solid #e1e5de;
    scroll-margin-top:100px;
}
.weekly-booking-choice__intro{
    max-width:700px;
    margin-bottom:1.25rem;
}
.weekly-booking-choice__intro h2{
    margin:.15rem 0 .55rem;
    font-size:clamp(1.7rem,3vw,2.45rem);
}
.weekly-booking-choice__intro p:not(.eyebrow){
    margin:0;
    color:#6d756e;
    line-height:1.65;
}
.reservation-option p{min-height:0}
.reservation-form__summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.reservation-form__summary > div{
    min-width:0;
}
@media(max-width:900px){
    .cirpae-welcome-section__inner,
    .cirpae-capacity-section__inner{grid-template-columns:1fr}
    .cirpae-welcome-section__copy{max-width:700px}
    .cirpae-capacity-section__cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
    .cirpae-welcome-section{padding:2.2rem 0}
    .cirpae-welcome-section__gallery{min-height:245px;border-radius:15px}
    .terrace-carousel__control{width:38px;height:38px;margin-top:-19px}
    .terrace-carousel__control--prev{left:9px}
    .terrace-carousel__control--next{right:9px}
    .terrace-carousel__caption{left:12px;right:12px;bottom:10px}
    .cirpae-capacity-section__cards{grid-template-columns:1fr}
    .weekly-single-dishes__grid{grid-template-columns:1fr}
    .reservation-form__summary{grid-template-columns:1fr}
}


/* v1.12.2 — homepage hero removal + explicit reservation choice gate */
.reservation-choice-stage{
    max-width:980px;
    margin:0 auto;
    padding:clamp(1.5rem,3vw,2.4rem);
    background:#fff;
    border:1px solid var(--surface-container-high,#e2e6df);
    border-radius:var(--radius-xl,20px);
    box-shadow:var(--shadow-1,0 8px 24px rgba(25,39,23,.06));
}
.reservation-choice-stage__intro{max-width:700px;margin-bottom:1.35rem}
.reservation-choice-stage__intro h2{margin:.15rem 0 .5rem;font-size:clamp(1.7rem,3vw,2.45rem);color:var(--ref-ink,#172016)}
.reservation-choice-stage__intro p:not(.eyebrow){margin:0;color:#6d756e;line-height:1.65}
.reservation-options--page{margin-top:.25rem}
.reservation-options--page .reservation-option{min-height:220px;display:flex;flex-direction:column}
.reservation-options--page .reservation-option p{flex:1}
@media(max-width:650px){.reservation-choice-stage{padding:1.1rem}.reservation-options--page{grid-template-columns:1fr}}

/* The homepage now opens with the requested two-column welcome presentation. */
.cirpae-welcome-section{border-top:0}

/* ================================================================
   v1.13 — subtle visual polish + green / white / orange identity
   Additive overrides: preserve the existing layout and functionality.
   ================================================================ */
:root {
  --primary: #2f7d20;
  --primary-container: #2f7d20;
  --on-primary-container: #eff9ea;
  --secondary: #e87918;
  --secondary-container: #fff0e3;
  --on-secondary-container: #7a3b08;
  --tertiary: #e87918;
  --tertiary-container: #f28a2e;
  --on-tertiary-container: #fff7ef;
  --surface: #fbfaf6;
  --surface-container-low: #f5f3ec;
  --surface-container: #eeece4;
  --surface-container-high: #e4e1d7;
  --surface-container-highest: #dad7cc;
  --background: #fbfaf6;
  --cta-orange: #e87918;
  --forest-green: #2f7d20;
  --ref-green: #2f7d20;
  --ref-green-dark: #236216;
  --ref-green-soft: #eef7e9;
  --ref-cream: #fbfaf6;
  --ref-border: #e5e1d8;
}
.btn--cta,
.reference-btn--cta { background: var(--cta-orange); color:#fff; }
.btn--cta:hover,
.reference-btn--cta:hover { background:#c9600d; color:#fff; }
.kitchen-eyebrow,.eyebrow { color:var(--ref-green); }

.meal-choice-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:36px;
  padding:.45rem .7rem;
  border:1px solid #d9dfd3;
  border-radius:999px;
  background:#fff;
  color:#285f1d;
  font:700 .68rem var(--font-label);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.meal-choice-btn small { font:600 .59rem var(--font-label); color:#737970; }
.meal-choice-btn:hover { border-color:#8fbb84; transform:translateY(-1px); box-shadow:0 3px 10px rgba(47,125,32,.10); }
.meal-choice-btn.is-selected { background:var(--ref-green); border-color:var(--ref-green); color:#fff; box-shadow:0 4px 12px rgba(47,125,32,.18); }
.meal-choice-btn.is-selected small { color:rgba(255,255,255,.86); }
.meal-choice-btn.is-loading { opacity:.65; cursor:wait; }
.weekly-dish-card__meal { margin-top:.6rem; display:flex; justify-content:flex-start; }
.weekly-dish-card__meal .meal-choice-btn { width:100%; }
.dish-of-day__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin-top:.75rem; }
.dish-of-day__actions .meal-choice-btn { min-width:170px; }
.menu-card__meal-choices { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.65rem; }
.meal-choice-notice { max-width:760px; margin:0 auto 1rem; padding:.75rem 1rem; border:1px solid #d8e4d1; border-radius:12px; background:#f4faef; color:#285c1d; font:600 .76rem var(--font-label); opacity:0; transform:translateY(-4px); transition:opacity .2s ease,transform .2s ease; }
.meal-choice-notice.is-visible { opacity:1; transform:none; }
.meal-choice-notice.is-error { background:#fff4ea; border-color:#f0c39a; color:#8a470f; }
.weekly-meal-summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; margin:0 0 1rem; border:1px solid #e1e6dc; border-left:4px solid var(--ref-green); border-radius:12px; background:#fff; box-shadow:0 5px 16px rgba(26,42,24,.045); }
.weekly-meal-summary strong { color:var(--ref-ink); }
.weekly-meal-summary span { color:#70776f; font-size:.72rem; }
.meal-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.meal-dashboard-day { border:1px solid #e1e5dd; border-radius:13px; background:#fff; padding:1rem; }
.meal-dashboard-day__head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:.65rem; }
.meal-dashboard-day__head h3 { margin:0; font-size:.95rem; color:var(--ref-ink); }
.meal-dashboard-day__total { color:var(--ref-green); font:800 .68rem var(--font-label); }
.meal-dashboard-item { display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:.65rem; padding:.55rem 0; border-top:1px solid #edf0ea; }
.meal-dashboard-item:first-of-type { border-top:0; }
.meal-dashboard-item__thumb { width:48px; height:42px; border-radius:8px; overflow:hidden; background:#edf0eb; }
.meal-dashboard-item__thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.meal-dashboard-item__name { min-width:0; font-size:.72rem; font-weight:700; color:var(--ref-ink); }
.meal-dashboard-item__count { min-width:58px; text-align:right; color:var(--cta-orange); font:800 .72rem var(--font-label); }
@media(max-width:800px){.meal-dashboard-grid{grid-template-columns:1fr}.weekly-meal-summary{align-items:flex-start;flex-direction:column}.dish-of-day__actions{align-items:stretch;flex-direction:column}.dish-of-day__actions .meal-choice-btn{width:100%}}
.menu-single__meal-choices { margin:1rem 0 1.15rem; padding:1rem; border:1px solid #e5e8df; border-radius:14px; background:#fbfcf8; }
.menu-single__meal-choices .eyebrow { margin:0 0 .55rem; }
.menu-single__meal-choices .meal-choice-btn { margin:.15rem .35rem .15rem 0; }
.reservation-option--accent { border-color:#f1a66d !important; }
.reservation-option--accent .reservation-option__number { color:var(--cta-orange); }
.meal-dashboard-panel .kitchen-panel__head { align-items:flex-start; }


/* v1.14 — coherent meal-to-checkout experience */
.meal-summary-trigger{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--ref-border,#e5e1d8);background:#fff;color:var(--ref-ink,#101923);border-radius:999px;padding:.45rem .65rem;font:700 .65rem var(--font-label);cursor:pointer}
.meal-summary-trigger b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 .25rem;border-radius:999px;background:var(--ref-green,#2f7d20);color:#fff;font-size:.58rem}
.meal-summary-drawer{position:fixed;inset:0;z-index:10000;pointer-events:none}.meal-summary-drawer.is-open{pointer-events:auto}.meal-summary-drawer__overlay{position:absolute;inset:0;background:rgba(13,24,13,.42);opacity:0;transition:opacity .2s ease}.meal-summary-drawer.is-open .meal-summary-drawer__overlay{opacity:1}.meal-summary-drawer__panel{position:absolute;right:0;top:0;height:100%;width:min(430px,94vw);background:#fff;box-shadow:-12px 0 36px rgba(0,0,0,.14);transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}.meal-summary-drawer.is-open .meal-summary-drawer__panel{transform:none}.meal-summary-drawer__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.3rem;border-bottom:1px solid var(--ref-border,#e5e1d8)}.meal-summary-drawer__header h2{margin:.15rem 0 0;font-size:1.25rem}.meal-summary-drawer__header button{border:0;background:transparent;font-size:1.7rem;cursor:pointer}.meal-summary-drawer__items{flex:1;overflow:auto;padding:1rem 1.3rem}.meal-summary-line{display:grid;grid-template-columns:52px 1fr auto;gap:.7rem;align-items:center;padding:.7rem 0;border-bottom:1px solid #eef0ea}.meal-summary-line__thumb{width:52px;height:46px;border-radius:9px;overflow:hidden;background:#f0f3ec;display:grid;place-items:center}.meal-summary-line__thumb img{width:100%;height:100%;object-fit:cover}.meal-summary-line strong{display:block;font-size:.76rem}.meal-summary-line span{display:block;color:#707770;font-size:.65rem;margin-top:.15rem}.meal-summary-line b{font-size:.68rem;color:var(--ref-green,#2f7d20);white-space:nowrap}.meal-summary-drawer__footer{padding:1rem 1.3rem;border-top:1px solid var(--ref-border,#e5e1d8);background:#fbfaf5}.meal-summary-drawer__footer>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;font-size:.72rem}.meal-summary-drawer__footer strong{font-size:1.05rem;color:var(--ref-green,#2f7d20)}.meal-summary-empty{display:grid;gap:.35rem;padding:1rem;border:1px dashed #d9ded4;border-radius:12px;background:#fbfcf9}.meal-summary-empty strong{font-size:.8rem}.meal-summary-empty span{font-size:.68rem;color:#707770}.meal-dashboard-kpis{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0 0 1rem}.meal-dashboard-kpis>div{padding:.8rem 1rem;border:1px solid #e2e7de;border-radius:12px;background:#fbfcf9}.meal-dashboard-kpis span{display:block;font-size:.64rem;color:#707770}.meal-dashboard-kpis strong{display:block;margin-top:.25rem;font-size:1.05rem;color:var(--ref-green,#2f7d20)}.meal-dashboard-kpis small{grid-column:1/-1;color:#777;font-size:.62rem}@media(max-width:700px){.meal-summary-trigger span:not(:first-child){display:none}.meal-dashboard-kpis{grid-template-columns:1fr}.meal-dashboard-kpis small{grid-column:auto}}
.confirmation__ticket-badge{display:inline-flex;padding:.35rem .6rem;border-radius:999px;background:#eef7e9;color:#2f7d20;font:800 .62rem var(--font-label);margin-bottom:.7rem}.confirmation__payment-pending{display:grid;gap:.25rem;padding:1rem;border:1px solid #f0d2b6;border-radius:12px;background:#fff8f1;margin:1rem 0}.confirmation__payment-pending strong{color:#a65b19}.confirmation__payment-pending span{font-size:.72rem;color:#6f6a63}

.home-meal-summary{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:.8rem 1rem;margin:.75rem 0 1rem;border:1px solid #e1e6dc;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(26,42,24,.045)}.home-meal-summary>div{display:grid;gap:.15rem}.home-meal-summary>div>span:not(.kitchen-eyebrow){font-size:.64rem;color:#777}.home-meal-summary strong{font-size:.9rem;color:var(--ref-ink)}.home-meal-summary>div:nth-child(2) strong{color:var(--ref-green);font-size:1rem}.checkout-meal-context{display:grid;gap:.2rem;margin:0 0 1rem;padding:.8rem 1rem;border-left:4px solid var(--ref-green);border-radius:10px;background:#f7faf4}.checkout-meal-context strong{font-size:.78rem;color:var(--ref-ink)}.checkout-meal-context small{font-size:.65rem;color:#6f776d}@media(max-width:700px){.home-meal-summary{grid-template-columns:1fr}.home-meal-summary .btn{width:100%}}

/* v1.15 — payment method choice and cleaner header */
.payment-panel[hidden]{display:none!important}.payment-info-box{padding:1rem;border:1px solid var(--surface-container-high);border-radius:var(--radius-md);background:#f7faf4;color:var(--on-surface-variant);font-size:.84rem;line-height:1.55}.payment-info-box strong{display:block;color:var(--primary);margin-bottom:.25rem}.payment-info-box p{margin:0}.payment-panel__hint{margin:-.5rem 0 1rem;color:var(--on-surface-variant);font-size:.84rem}.payment-method-card{position:relative;background:#fff}.payment-method-card input{position:absolute;opacity:0;pointer-events:none}.payment-method-card:focus-within{outline:3px solid rgba(47,125,32,.18);outline-offset:2px}.payment-method-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary),0 8px 20px rgba(26,42,24,.08)}


/* v1.16 — meal quantities, compact dashboard and professional reports */
.meal-choice-control{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.meal-choice-control.is-loading{opacity:.6;pointer-events:none}.meal-choice-control .meal-choice-btn{flex:1;min-width:150px}.meal-choice-qty{display:inline-flex;align-items:center;border:1px solid #dfe5d8;border-radius:999px;background:#fff;overflow:hidden;height:36px}.meal-choice-qty button{width:34px;height:100%;border:0;background:transparent;color:var(--ref-green);font-size:1rem;font-weight:800;cursor:pointer}.meal-choice-qty button:hover{background:#f1f7ed}.meal-choice-qty strong{min-width:28px;text-align:center;font-size:.72rem;color:var(--ref-ink)}
.kitchen-report-visual{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;align-items:center;padding:1rem 0 1.2rem}.kitchen-pie{width:190px;height:190px;border-radius:50%;background:var(--pie);display:grid;place-items:center;box-shadow:0 14px 34px rgba(28,50,24,.12);position:relative}.kitchen-pie:after{content:"";position:absolute;inset:48px;border-radius:50%;background:#fff}.kitchen-pie>div{position:relative;z-index:1;text-align:center;display:grid;gap:.2rem}.kitchen-pie strong{font:800 .9rem var(--font-label);color:var(--ref-ink)}.kitchen-pie span{font-size:.65rem;color:#72786f}.kitchen-pie-legend{display:grid;gap:.55rem;max-height:190px;overflow:auto}.kitchen-pie-legend>div{display:grid;grid-template-columns:12px 1fr auto;gap:.55rem;align-items:center;font-size:.7rem}.kitchen-pie-dot{width:10px;height:10px;border-radius:50%;background:var(--dot);display:block}.kitchen-pie-legend strong{color:var(--ref-ink)}.kitchen-pie-legend>div>span:last-child{font-weight:800;color:var(--ref-green)}
.kitchen-dashboard-compact .kitchen-panel{margin-bottom:.65rem}.kitchen-dashboard-compact .kitchen-panel__body{display:block}.kitchen-panel.is-collapsed> :not(.kitchen-panel__head){display:none}.kitchen-panel__head{cursor:pointer}.kitchen-panel__head .kitchen-collapse-toggle{margin-left:auto;width:30px;height:30px;border:1px solid #e1e6dc;border-radius:50%;background:#fff;color:var(--ref-green);font-weight:800}.kitchen-panel__head .kitchen-collapse-toggle:before{content:'⌄'}.kitchen-panel.is-collapsed .kitchen-collapse-toggle:before{content:'›'}
@media(max-width:700px){.kitchen-report-visual{grid-template-columns:1fr}.kitchen-pie{margin:auto}.meal-choice-control{align-items:stretch}.meal-choice-control .meal-choice-btn{min-width:0}}

/* v1.17 — clear transition from reservation form to payment */
.checkout-payment-context{display:grid;gap:.25rem;margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid rgba(45,112,63,.18);border-left:4px solid var(--ref-green);border-radius:12px;background:#fbfcf8}.checkout-payment-context strong{font-size:.88rem;color:var(--ref-ink)}.checkout-payment-context span{font-size:.72rem;color:#6b746b}.checkout-payment-context .kitchen-eyebrow{margin:0;color:var(--ref-green)}

.checkout-experience{margin:2rem 0 1.5rem;padding:1.4rem;border:1px solid rgba(47,125,32,.14);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(23,32,22,.06)}
.checkout-experience__intro{max-width:720px;margin-bottom:1rem}.checkout-experience__intro h2{margin:.15rem 0 .45rem;font-size:clamp(1.45rem,2.4vw,2rem)}.checkout-experience__intro p:last-child{margin:0;color:#687168;line-height:1.6}.checkout-experience__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.checkout-experience-card{position:relative;display:flex;gap:.85rem;align-items:flex-start;padding:1.05rem;border:1px solid #e2e8e2;border-radius:16px;background:#fbfcfb;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.checkout-experience-card:hover{transform:translateY(-2px);border-color:rgba(47,125,32,.35);box-shadow:0 8px 20px rgba(23,32,22,.07)}.checkout-experience-card.is-selected{border-color:#2f7d20;box-shadow:0 0 0 2px rgba(47,125,32,.1);background:#f6fbf4}.checkout-experience-card input{position:absolute;opacity:0;pointer-events:none}.checkout-experience-card__number{display:grid;place-items:center;min-width:2.35rem;height:2.35rem;border-radius:50%;background:#2f7d20;color:#fff;font-weight:700;font-size:.78rem}.checkout-experience-card:nth-child(2) .checkout-experience-card__number{background:#e88418}.checkout-experience-card__body{display:grid;gap:.35rem}.checkout-experience-card__body strong{color:#172016}.checkout-experience-card__body small{color:#687168;line-height:1.5}.confirmation__whatsapp-share{border:0;font:inherit;cursor:pointer}.confirmation__whatsapp-share:disabled{opacity:.7;cursor:wait}@media(max-width:760px){.checkout-experience__options{grid-template-columns:1fr}.checkout-experience{padding:1rem}}


/* v1.20 — preserve the existing theme while making the meal-to-reservation-to-payment path explicit. */
.payment-method-card{display:flex;align-items:center;gap:.7rem;min-height:76px;padding:.85rem 1rem;}
.payment-method-card__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border-radius:12px;font-weight:800;font-size:.7rem;letter-spacing:.02em;background:#f3f5ef;color:var(--primary,#2f7d20);border:1px solid rgba(47,125,32,.14);}
.payment-method-card__icon--mtn{background:#ffdf00;color:#111;border-color:#e4c800;}
.payment-method-card__icon--airtel{background:#e30613;color:#fff;border-color:#c90410;font-size:1.1rem;}
.payment-method-card__icon--visa{background:#f5f7fb;color:#173b7a;border-color:#dce3ef;font-size:.66rem;font-style:italic;}
.payment-method-card__icon--card{background:#eef3f7;color:#284b62;font-size:1.15rem;}
.payment-method-card__icon--prepaid{background:#fff2df;color:#b56608;font-size:1.1rem;}
.reservation-meal-context{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:1.25rem;align-items:center;margin:0 0 1.5rem;padding:1.25rem;border:1px solid rgba(47,125,32,.12);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f8fbf5 100%);box-shadow:0 12px 30px rgba(26,42,24,.06);}
.reservation-meal-context h2{margin:.15rem 0 .4rem;}
.reservation-meal-context p:not(.eyebrow){margin:0;color:#687168;line-height:1.55;}
.reservation-meal-context__items{display:grid;gap:.55rem;}
.reservation-meal-context__item{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.7rem .8rem;border-radius:12px;background:#fff;border:1px solid rgba(26,42,24,.07);}
.reservation-meal-context__item span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#778078;}
.reservation-meal-context__item strong{font-size:.9rem;}
.reservation-meal-context__item b{font-size:.82rem;white-space:nowrap;color:var(--primary,#2f7d20);}
.checkout-experience-context{margin:0 0 1rem;padding:1rem 1.1rem;border-left:4px solid var(--accent,#f39a27);background:#fffaf3;border-radius:0 14px 14px 0;}
.checkout-experience-context h2{margin:.15rem 0 .25rem;font-size:1.15rem;}
.checkout-experience-context p:not(.kitchen-eyebrow){margin:0 0 .35rem;color:#6c746d;font-size:.9rem;line-height:1.5;}
.checkout-experience-context strong{display:block;color:var(--primary,#2f7d20);}
@media(max-width:760px){.reservation-meal-context{grid-template-columns:1fr;}.reservation-meal-context__item{grid-template-columns:1fr auto;}.reservation-meal-context__item span{grid-column:1/-1;}.payment-method-card{min-height:68px;}}

/*--------------------------------------------------------------
# Elementor compatibility / visual safeguards
--------------------------------------------------------------*/
.cirpae-elementor-content {
	width: 100%;
	box-sizing: border-box;
	padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.cirpae-elementor-content > *:first-child {
	margin-top: 0;
}

.cirpae-elementor-content > *:last-child {
	margin-bottom: 0;
}

.cirpae-elementor-content--reservation {
	padding-top: 0;
}

.elementor-compatible-page__content {
	width: 100%;
	min-height: 40vh;
}

/* Prevent Elementor widgets from overflowing the existing responsive shell. */
.elementor-compatible-page img,
.cirpae-elementor-content img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 768px) {
	.cirpae-elementor-content {
		padding: 1rem 0;
	}
}
