/**
 * Ardoiza Click & Collect : styles front (carte, panier, tunnel, bouton, modale, carte en consultation).
 *
 * Charte ARDOIZA (vitrine, 09/2026) : titres Orbitron en capitales terracotta
 * #a94e2c, corps Inter Tight, boutons braise #b8471f (hover #c8542a), fonds
 * crème #fcf7f3 / beige #ece3d3 / blanc, ombres chaudes, focus visibles.
 * Thème clair uniquement. Seules les classes du plugin (ardoiza-ord-*) sont
 * ciblées : aucun :root, aucun style global, le HTML et le JS restent inchangés.
 */

/* Polices de la charte servies par le plugin lui-même : aucune requête vers un service tiers (pas de Google Fonts). */
@font-face {
	font-family: "Inter Tight"; font-style: normal; font-weight: 400 800; font-display: swap;
	src: url("../fonts/inter-tight-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Orbitron"; font-style: normal; font-weight: 500 700; font-display: swap;
	src: url("../fonts/orbitron-700-latin.woff2") format("woff2");
}

/* ------------------------------------------------------------------------- */
/* Jetons (portée locale aux composants du plugin, alignés sur tokens.css).  */
/* ------------------------------------------------------------------------- */

.ardoiza-ord,
.ardoiza-ord-carte,
.ardoiza-ord-button,
.ardoiza-ord-overlay,
.ardoiza-ord-picker,
.ardoiza-ord-promos,
.ardoiza-ord-paybox,
.ardoiza-ord-gift,
.ardoiza-ord-news {
	/* Marque */
	--ardz-title: #a94e2c;
	--ardz-ember: #b8471f;
	--ardz-ember-hover: #c8542a;
	--ardz-ember-active: #a23f1a;
	--ardz-ember-text: #9e3d1a;
	--ardz-ember-soft: #f4e2d6;
	--ardz-ember-ring: rgba(184, 71, 31, 0.30);
	--ardz-ochre: #c98a2b;
	--ardz-ochre-soft: #f6e9ce;
	--ardz-ochre-text: #8a5a11;

	/* Fonds clairs */
	--ardz-cream: #fcf7f3;
	--ardz-beige: #ece3d3;
	--ardz-tint: #efe8d9;
	--ardz-surface-2: #fbf8f1;
	--ardz-white: #ffffff;

	/* Encre */
	--ardz-ink: #1b2a2e;
	--ardz-ink-soft: #4c5b5f;
	--ardz-ink-faint: #6e7b7e;

	/* Filets */
	--ardz-line: #e3dccc;
	--ardz-line-strong: #cfc6b2;

	/* Statuts */
	--ardz-ok: #1b2a2f;
	--ardz-ok-bg: #f1e4d1;
	--ardz-ok-text: #1b2a2f;
	--ardz-ok-line: #e6d3ba;
	--ardz-err: #c0392b;
	--ardz-err-bg: #f7ded9;
	--ardz-err-text: #a32a1f;
	--ardz-err-line: #e6a79b;

	/* Ombres chaudes (jamais grises pures) */
	--ardz-shadow-sm: 0 1px 2px rgba(27, 42, 46, 0.06), 0 1px 1px rgba(27, 42, 46, 0.04);
	--ardz-shadow-md: 0 4px 12px rgba(27, 42, 46, 0.08), 0 2px 4px rgba(27, 42, 46, 0.05);
	--ardz-shadow-lg: 0 24px 60px rgba(27, 42, 46, 0.22), 0 6px 16px rgba(27, 42, 46, 0.10);
	--ardz-shadow-ember: 0 8px 24px rgba(184, 71, 31, 0.22);
	--ardz-shadow-ember-hover: 0 10px 28px rgba(184, 71, 31, 0.28);

	/* Typographie : Orbitron réservée aux titres, Inter Tight partout ailleurs. */
	--ardz-font-title: "Orbitron", "Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ardz-font-sans: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ardz-tracking-title: 0.03em;
	--ardz-tracking-label: 0.14em;

	/* Rayons et courbe */
	--ardz-r-sm: 8px;
	--ardz-r-md: 12px;
	--ardz-r-lg: 18px;
	--ardz-r-xl: 26px;
	--ardz-r-pill: 999px;
	--ardz-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ------------------------------------------------------------------------- */
/* Base du module.                                                           */
/* ------------------------------------------------------------------------- */

.ardoiza-ord,
.ardoiza-ord *,
.ardoiza-ord *::before,
.ardoiza-ord *::after,
.ardoiza-ord-carte,
.ardoiza-ord-carte *,
.ardoiza-ord-carte *::before,
.ardoiza-ord-carte *::after,
.ardoiza-ord-picker,
.ardoiza-ord-picker *,
.ardoiza-ord-picker *::before,
.ardoiza-ord-picker *::after {
	box-sizing: border-box;
}

.ardoiza-ord,
.ardoiza-ord-carte {
	position: relative;
	color: var(--ardz-ink);
	font-family: var(--ardz-font-sans);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.ardoiza-ord [hidden] {
	display: none !important;
}

.ardoiza-ord button {
	font-family: inherit;
	-webkit-tap-highlight-color: transparent;
}

.ardoiza-ord-head {
	margin: 0 0 1.2rem;
}

/* ------------------------------------------------------------------------- */
/* Sélecteur de langue (FR · EN · ES), discret, aligné à droite.             */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-lang {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 2px;
	margin: 0 0 0.75rem;
	font-family: var(--ardz-font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.ardoiza-ord-lang a {
	display: inline-block;
	padding: 5px 7px;
	border-radius: var(--ardz-r-pill);
	color: var(--ardz-ink-faint);
	text-decoration: none;
	box-shadow: none;
	transition: color 0.15s var(--ardz-ease), background-color 0.15s var(--ardz-ease);
}

.ardoiza-ord-lang a:hover {
	color: var(--ardz-ember-text);
	background: var(--ardz-ember-soft);
	text-decoration: none;
}

.ardoiza-ord-lang a:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

.ardoiza-ord-lang a[aria-current] {
	color: var(--ardz-ember-text);
	background: var(--ardz-ember-soft);
	cursor: default;
}

.ardoiza-ord-lang-sep {
	color: var(--ardz-line-strong);
	user-select: none;
}

/* Dans la modale, on laisse la place au bouton de fermeture. */
.ardoiza-ord-dialog .ardoiza-ord-lang {
	padding-right: 52px;
}

/* ------------------------------------------------------------------------- */
/* Titres : Orbitron, capitales, terracotta (h1/h2 de la vitrine).           */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-title,
.ardoiza-ord-step-title {
	margin: 0;
	font-family: var(--ardz-font-title);
	font-weight: 700;
	font-size: clamp(1.25rem, 2.4vw, 1.6rem);
	line-height: 1.2;
	letter-spacing: var(--ardz-tracking-title);
	text-transform: uppercase;
	color: var(--ardz-title);
	overflow-wrap: anywhere;
}

/* Trait de craie sous le titre principal : braise, terminé par une pointe d'ocre. */
.ardoiza-ord-title::after {
	content: "";
	display: block;
	width: 44px;
	height: 3px;
	margin-top: 0.6rem;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--ardz-ember) 0 72%, var(--ardz-ochre) 72% 100%);
}

.ardoiza-ord-notice {
	margin: 14px 0 0;
	padding: 12px 14px 12px 16px;
	border: 1px solid var(--ardz-line);
	border-left: 4px solid var(--ardz-ochre);
	border-radius: var(--ardz-r-md);
	background: var(--ardz-ochre-soft);
	color: var(--ardz-ochre-text);
	font-size: 0.9375rem;
}

/* Carte d'exemple d'un site hébergé (0.14.3) : mention en tête du module, marine sur crème. */
.ardoiza-ord-notice.is-sample {
	border-left-color: var(--ardz-ink);
	background: var(--ardz-cream);
	color: var(--ardz-ink);
}

/* Paragraphe du restaurateur connecté (0.14.5) : commande d'essai et lien vers l'écran Produits. */
.ardoiza-ord-sample-owner {
	display: block;
	margin-top: 0.4em;
}

.ardoiza-ord-sample-owner a {
	color: inherit;
	text-decoration: underline;
}

.ardoiza-ord-empty {
	margin: 0;
	padding: 20px;
	border: 1px dashed var(--ardz-line-strong);
	border-radius: var(--ardz-r-md);
	background: var(--ardz-cream);
	color: var(--ardz-ink-soft);
	text-align: center;
}

/* ------------------------------------------------------------------------- */
/* Navigation par catégories (pilules, à la manière des créneaux vitrine).   */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-nav {
	position: sticky;
	top: 0;
	z-index: 5;
	display: flex;
	gap: 8px;
	margin: 0 0 20px;
	padding: 10px 0;
	overflow-x: auto;
	scrollbar-width: none;
	background: linear-gradient(to bottom, var(--ardz-cream) 85%, rgba(252, 247, 243, 0));
	-webkit-overflow-scrolling: touch;
}

.ardoiza-ord-nav::-webkit-scrollbar {
	display: none;
}

.ardoiza-ord-nav a {
	flex: none;
	padding: 7px 14px;
	border: 1.5px solid var(--ardz-line-strong);
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-white);
	color: var(--ardz-ink-soft);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.18s var(--ardz-ease), color 0.18s var(--ardz-ease), border-color 0.18s var(--ardz-ease), transform 0.12s var(--ardz-ease);
}

.ardoiza-ord-nav a:hover {
	border-color: var(--ardz-ink-faint);
	color: var(--ardz-ink);
	transform: translateY(-1px);
}

.ardoiza-ord-nav a:focus-visible {
	outline: none;
	border-color: var(--ardz-ember);
	background: var(--ardz-ember-soft);
	color: var(--ardz-ember-text);
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

/* ------------------------------------------------------------------------- */
/* Disposition carte + panier.                                               */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 28px;
	align-items: start;
}

.ardoiza-ord.is-modal .ardoiza-ord-layout {
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 22px;
}

.ardoiza-ord-category {
	margin: 0 0 32px;
	scroll-margin-top: 64px;
}

/* Titre de section de la carte : Orbitron, capitales, terracotta. */
.ardoiza-ord-category-name {
	margin: 0 0 6px;
	font-family: var(--ardz-font-title);
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.25;
	letter-spacing: var(--ardz-tracking-title);
	text-transform: uppercase;
	color: var(--ardz-title);
	overflow-wrap: anywhere;
}

.ardoiza-ord-category-desc {
	margin: 0 0 14px;
	color: var(--ardz-ink-soft);
	font-size: 0.9375rem;
	white-space: pre-line;
}

.ardoiza-ord-products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 16px;
	margin-top: 14px;
}

/* ------------------------------------------------------------------------- */
/* Carte produit.                                                            */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-product {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-sm);
	transition: transform 0.18s var(--ardz-ease), box-shadow 0.25s var(--ardz-ease), border-color 0.25s var(--ardz-ease);
}

.ardoiza-ord-product:hover {
	transform: translateY(-3px);
	border-color: var(--ardz-line-strong);
	box-shadow: var(--ardz-shadow-md);
}

.ardoiza-ord-product.is-soldout {
	opacity: 0.72;
}

.ardoiza-ord-product-media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--ardz-tint);
}

.ardoiza-ord-product-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ardoiza-ord-product-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px 16px;
}

.ardoiza-ord-product-name {
	margin: 0;
	font-family: var(--ardz-font-sans);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--ardz-ink);
}

.ardoiza-ord-product-desc {
	margin: 0;
	color: var(--ardz-ink-soft);
	font-size: 0.875rem;
	line-height: 1.45;
}

.ardoiza-ord-product-opts {
	margin: 0;
	color: var(--ardz-ink-faint);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.ardoiza-ord-product-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 8px;
}

.ardoiza-ord-price {
	font-family: var(--ardz-font-sans);
	font-weight: 700;
	font-size: 1.15rem;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
	color: var(--ardz-ink);
	white-space: nowrap;
}

/* Bouton « Ajouter » : braise compact. */
.ardoiza-ord-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.55em 1.1em;
	background: var(--ardz-ember);
	color: var(--ardz-white);
	border: 0;
	border-radius: var(--ardz-r-pill);
	box-shadow: none;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.18s var(--ardz-ease), transform 0.12s var(--ardz-ease), box-shadow 0.18s var(--ardz-ease);
}

.ardoiza-ord-add:hover {
	background: var(--ardz-ember-hover);
	color: var(--ardz-white);
	transform: translateY(-1px);
	box-shadow: var(--ardz-shadow-ember);
}

.ardoiza-ord-add:active {
	background: var(--ardz-ember-active);
	transform: translateY(0);
}

.ardoiza-ord-add:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-white), 0 0 0 6px var(--ardz-ember-ring);
}

.ardoiza-ord-add[disabled] {
	background: var(--ardz-line-strong);
	color: var(--ardz-white);
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* Plat de la carte d'exemple : pastille « Exemple » à la place du bouton « Ajouter ». */
.ardoiza-ord-sample-tag {
	padding: 4px 10px;
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-ochre-soft);
	color: var(--ardz-ochre-text);
	border: 1px solid var(--ardz-line);
	font-size: 0.8125rem;
	font-weight: 600;
}

.ardoiza-ord-soldout {
	padding: 4px 10px;
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-tint);
	color: var(--ardz-ink-soft);
	border: 1px solid var(--ardz-line);
	font-size: 0.8125rem;
	font-weight: 600;
}

/* ------------------------------------------------------------------------- */
/* Panier latéral.                                                           */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-cart {
	position: sticky;
	top: 24px;
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-md);
	overflow: hidden;
}

/* Liseré haut : braise, terminé par une touche d'ocre. */
.ardoiza-ord-cart::before {
	content: "";
	display: block;
	height: 4px;
	background: linear-gradient(90deg, var(--ardz-ember) 0 72%, var(--ardz-ochre) 72% 100%);
}

@keyframes ardoiza-ord-bump {
	0% { transform: scale(1); }
	40% { transform: scale(1.015); }
	100% { transform: scale(1); }
}

.ardoiza-ord-cart.is-bump {
	animation: ardoiza-ord-bump 0.3s var(--ardz-ease);
}

.ardoiza-ord-cart-bar {
	display: none;
}

.ardoiza-ord-cart-panel {
	padding: 18px 18px 20px;
}

/* « Votre panier » : Orbitron, capitales, terracotta. */
.ardoiza-ord-cart-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-family: var(--ardz-font-title);
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.3;
	letter-spacing: var(--ardz-tracking-title);
	text-transform: uppercase;
	color: var(--ardz-title);
}

.ardoiza-ord-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 8px;
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-ember-soft);
	color: var(--ardz-ember-text);
	font-family: var(--ardz-font-sans);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0;
}

.ardoiza-ord-cart-empty {
	margin: 0;
	padding: 18px 0;
	color: var(--ardz-ink-faint);
	font-size: 0.9375rem;
	text-align: center;
}

.ardoiza-ord-cart-items {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 46vh;
	overflow-y: auto;
}

.ardoiza-ord-cart-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 12px 0;
	border-top: 1px dashed var(--ardz-line-strong);
}

.ardoiza-ord-cart-item:first-child {
	border-top: 0;
}

.ardoiza-ord-cart-item-main {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 2px;
}

.ardoiza-ord-cart-item-name {
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.3;
}

.ardoiza-ord-cart-item-opts {
	color: var(--ardz-ink-faint);
	font-size: 0.8125rem;
	line-height: 1.35;
}

.ardoiza-ord-cart-item-unit {
	color: var(--ardz-ink-soft);
	font-size: 0.8125rem;
}

.ardoiza-ord-cart-item-side {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

.ardoiza-ord-cart-item-total {
	font-weight: 700;
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}

.ardoiza-ord-cart-item-remove {
	margin: 0;
	padding: 0 6px;
	background: transparent;
	color: var(--ardz-ink-faint);
	border: 0;
	border-radius: var(--ardz-r-sm);
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	transition: color 0.15s var(--ardz-ease);
}

.ardoiza-ord-cart-item-remove:hover {
	color: var(--ardz-err-text);
}

.ardoiza-ord-cart-item-remove:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

.ardoiza-ord-cart-foot {
	margin-top: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--ardz-line);
}

.ardoiza-ord-cart-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
	color: var(--ardz-ink-soft);
	font-size: 0.9375rem;
}

.ardoiza-ord-cart-row strong {
	font-family: var(--ardz-font-sans);
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
	color: var(--ardz-ink);
}

.ardoiza-ord-cart-min {
	margin: 0 0 10px;
	color: var(--ardz-ink-faint);
	font-size: 0.8125rem;
}

.ardoiza-ord-cart-min.is-unmet {
	color: var(--ardz-ember-text);
	font-weight: 600;
}

/* Stepper de quantité : pilule crème, signes braise. */
.ardoiza-ord-qty {
	display: inline-flex;
	align-items: center;
	border: 1.5px solid var(--ardz-line-strong);
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-cream);
	overflow: hidden;
}

.ardoiza-ord-qty-btn {
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	background: transparent;
	color: var(--ardz-ember-text);
	border: 0;
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s var(--ardz-ease);
}

.ardoiza-ord-qty-btn:hover {
	background: var(--ardz-ember-soft);
}

.ardoiza-ord-qty-btn:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px var(--ardz-ember-ring);
}

.ardoiza-ord-qty-btn[disabled] {
	color: var(--ardz-line-strong);
	cursor: default;
	background: transparent;
}

.ardoiza-ord-qty-value {
	min-width: 28px;
	text-align: center;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ardoiza-ord-qty.is-small .ardoiza-ord-qty-btn {
	width: 30px;
	height: 30px;
	font-size: 1rem;
}

.ardoiza-ord-qty.is-small .ardoiza-ord-qty-value {
	min-width: 24px;
	font-size: 0.9375rem;
}

/* Boutons principaux (Commander, Valider, Ajouter dans le sélecteur, Nouvelle commande) :
   braise, pilule, ombre chaude, comme le btn--primary de la vitrine. */
.ardoiza-ord-checkout-open,
.ardoiza-ord-submit button,
.ardoiza-ord-picker-add,
.ardoiza-ord-restart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	width: 100%;
	margin: 0;
	padding: 0.9em 1.5em;
	background: var(--ardz-ember);
	color: var(--ardz-white);
	border: 0;
	border-radius: var(--ardz-r-pill);
	box-shadow: var(--ardz-shadow-ember), 0 1px 2px rgba(27, 42, 46, 0.08);
	font-family: var(--ardz-font-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.12s var(--ardz-ease), box-shadow 0.2s var(--ardz-ease), background-color 0.2s var(--ardz-ease);
}

.ardoiza-ord-checkout-open:hover,
.ardoiza-ord-submit button:hover,
.ardoiza-ord-picker-add:hover,
.ardoiza-ord-restart:hover {
	background: var(--ardz-ember-hover);
	color: var(--ardz-white);
	transform: translateY(-1px);
	box-shadow: var(--ardz-shadow-ember-hover), 0 1px 2px rgba(27, 42, 46, 0.08);
}

.ardoiza-ord-checkout-open:active,
.ardoiza-ord-submit button:active,
.ardoiza-ord-picker-add:active,
.ardoiza-ord-restart:active {
	background: var(--ardz-ember-active);
	transform: translateY(0);
	box-shadow: var(--ardz-shadow-sm);
}

.ardoiza-ord-checkout-open:focus-visible,
.ardoiza-ord-submit button:focus-visible,
.ardoiza-ord-picker-add:focus-visible,
.ardoiza-ord-restart:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-white), 0 0 0 6px var(--ardz-ember-ring);
}

.ardoiza-ord-checkout-open[disabled],
.ardoiza-ord-submit button[disabled] {
	opacity: 0.55;
	cursor: default;
	transform: none;
	box-shadow: none;
}

/* ------------------------------------------------------------------------- */
/* Tunnel de commande.                                                       */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-back {
	margin: 0 0 14px;
	padding: 6px 0;
	background: transparent;
	color: var(--ardz-ember-text);
	border: 0;
	border-radius: var(--ardz-r-sm);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: color 0.15s var(--ardz-ease);
}

.ardoiza-ord-back:hover {
	color: var(--ardz-ember-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ardoiza-ord-back:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

/*
 * Étape « Finaliser ma commande » : les thèmes limitent souvent le contenu à ~620px, ce qui
 * écrasait le formulaire (champs tronqués). On la laisse déborder, centrée, jusqu'à 812px pour
 * que le bloc des champs atteigne 410px (retour Amar, ticket 5). Pas en mode modale.
 */
@media (min-width: 901px) {
	.ardoiza-ord:not(.is-modal) .ardoiza-ord-checkout {
		--ardz-checkout-w: min(812px, calc(100vw - 48px));
		position: relative;
		left: 50%;
		width: var(--ardz-checkout-w);
		max-width: none;
		margin-left: calc(var(--ardz-checkout-w) / -2);
	}
}

.ardoiza-ord-checkout-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 28px;
	align-items: start;
	margin-top: 18px;
}

.ardoiza-ord-form {
	padding: 24px 26px 24px;
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-md);
}

.ardoiza-ord-fieldset {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	min-width: 0;
}

/* Intertitres du tunnel (Coordonnées, Retrait, Paiement) : Orbitron petit format. */
.ardoiza-ord-fieldset legend {
	margin: 0 0 12px;
	padding: 0;
	font-family: var(--ardz-font-title);
	font-weight: 600;
	font-size: 0.8125rem;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ardz-title);
}

.ardoiza-ord-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
}

.ardoiza-ord-field {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.ardoiza-ord-field-full {
	grid-column: 1 / -1;
}

.ardoiza-ord-field label {
	margin: 0 0 6px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-field:has(input[required]) > label::after,
.ardoiza-ord-field:has(select[required]) > label::after {
	content: " *";
	color: var(--ardz-ember-text);
}

/* Champs : crème, arrondis, focus braise bien visible. */
.ardoiza-ord-field input,
.ardoiza-ord-field select,
.ardoiza-ord-field textarea {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 0.7em 0.9em;
	background: var(--ardz-cream);
	color: var(--ardz-ink);
	border: 1.5px solid var(--ardz-line-strong);
	border-radius: var(--ardz-r-md);
	box-shadow: none;
	font-family: var(--ardz-font-sans);
	font-size: 1rem;
	line-height: 1.4;
	outline: none;
	transition: border-color 0.18s var(--ardz-ease), box-shadow 0.18s var(--ardz-ease), background-color 0.18s var(--ardz-ease);
	-webkit-appearance: none;
	appearance: none;
}

.ardoiza-ord-field input::placeholder,
.ardoiza-ord-field textarea::placeholder {
	color: var(--ardz-ink-faint);
	opacity: 1;
}

.ardoiza-ord-field input:hover,
.ardoiza-ord-field select:hover,
.ardoiza-ord-field textarea:hover {
	border-color: var(--ardz-ink-faint);
}

.ardoiza-ord-field input:focus,
.ardoiza-ord-field select:focus,
.ardoiza-ord-field textarea:focus {
	outline: none;
	background: var(--ardz-white);
	border-color: var(--ardz-ember);
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

.ardoiza-ord-field textarea {
	min-height: 90px;
	resize: vertical;
}

/* Mention sous le champ « Commentaire » : aucune information de santé. */
.ardoiza-ord-field-help {
	display: block;
	margin: 6px 0 0;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-field select {
	padding-right: 2.6em;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b8471f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9em center;
	background-size: 16px 16px;
	cursor: pointer;
}

.ardoiza-ord-field select:disabled {
	background-color: var(--ardz-tint);
	color: var(--ardz-ink-faint);
	cursor: not-allowed;
}

.ardoiza-ord-payment-single {
	margin: 0;
	padding: 12px 14px;
	background: var(--ardz-surface-2);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-md);
	color: var(--ardz-ink-soft);
	font-size: 0.9375rem;
}

.ardoiza-ord-radio {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	padding: 12px 14px;
	background: var(--ardz-surface-2);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-md);
	font-size: 0.9375rem;
	cursor: pointer;
	transition: border-color 0.15s var(--ardz-ease), background-color 0.15s var(--ardz-ease);
}

.ardoiza-ord-radio:hover {
	border-color: var(--ardz-line-strong);
}

.ardoiza-ord-radio:has(input:checked) {
	border-color: var(--ardz-ember);
	background: var(--ardz-ember-soft);
}

.ardoiza-ord-radio input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--ardz-ember);
}

.ardoiza-ord-radio input:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
	border-radius: 50%;
}

/* Pot de miel : invisible pour l'humain, présent pour les bots. */
.ardoiza-ord-hp {
	position: absolute !important;
	left: -9999px;
	top: -9999px;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.ardoiza-ord-submit {
	margin: 20px 0 0;
	padding: 0;
}

.ardoiza-ord-submit-total {
	font-weight: 500;
	opacity: 0.9;
}

.ardoiza-ord-messages {
	margin: 0 0 18px;
	padding: 12px 14px 12px 16px;
	border: 1px solid transparent;
	border-left-width: 4px;
	border-radius: var(--ardz-r-md);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.ardoiza-ord-messages.is-error {
	background: var(--ardz-err-bg);
	color: var(--ardz-err-text);
	border-color: var(--ardz-err-line);
	border-left-color: var(--ardz-err);
}

.ardoiza-ord-messages.is-success {
	background: var(--ardz-ok-bg);
	color: var(--ardz-ok-text);
	border-color: var(--ardz-ok-line);
	border-left-color: var(--ardz-ok);
}

/* Réseau perdu pendant l'envoi : nouvel essai en cours (information neutre et chaude, jamais bleue). */
.ardoiza-ord-messages.is-info {
	background: #f5eee1;
	color: #6f5f3f;
	border-color: #e3d6bd;
	border-left-color: #6f5f3f;
}

/* Échec d'envoi : le message porte sa porte de sortie, le bouton « Réessayer » (bouton secondaire). */
.ardoiza-ord-messages .ardoiza-ord-retry {
	display: block;
	margin: 12px 0 2px;
	min-height: 44px;
	padding: 0 20px;
	background: var(--ardz-white);
	color: var(--ardz-ink);
	border: 1px solid #cfc3ab;
	border-radius: 14px;
	box-shadow: none;
	font-family: var(--ardz-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: border-color 160ms var(--ardz-ease), color 160ms var(--ardz-ease), transform 160ms var(--ardz-ease);
}

.ardoiza-ord-messages .ardoiza-ord-retry:hover {
	background: var(--ardz-white);
	color: var(--ardz-ember-text);
	border-color: var(--ardz-ember);
	transform: translateY(-1px);
}

.ardoiza-ord-messages .ardoiza-ord-retry:active {
	transform: translateY(0);
}

.ardoiza-ord-messages .ardoiza-ord-retry:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-white), 0 0 0 6px var(--ardz-ember-ring);
}

/* Bandeau hors ligne, discret, en tête du module. Il passe en sable un instant quand la connexion revient. */
/* Dans le flux de la page, jamais collant : il ne doit recouvrir ni le message d'échec ni son bouton. */
.ardoiza-ord-offline {
	margin: 0 0 16px;
	padding: 10px 14px 10px 16px;
	background: #fbf0dc;
	color: #7a4505;
	border: 1px solid #ecd3a2;
	border-left: 4px solid #a15c07;
	border-radius: 14px;
	font-family: var(--ardz-font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.45;
	transition: background-color 180ms var(--ardz-ease), color 180ms var(--ardz-ease), border-color 180ms var(--ardz-ease);
}

.ardoiza-ord-offline[hidden] {
	display: none !important;
}

.ardoiza-ord-offline.is-online {
	background: var(--ardz-ok-bg);
	color: var(--ardz-ok-text);
	border-color: var(--ardz-ok-line);
	border-left-color: var(--ardz-ok);
}

@media (prefers-reduced-motion: reduce) {
	.ardoiza-ord-messages .ardoiza-ord-retry,
	.ardoiza-ord-offline {
		transition: none;
	}

	.ardoiza-ord-messages .ardoiza-ord-retry:hover {
		transform: none;
	}
}

/* Récapitulatif : encart crème. */
.ardoiza-ord-summary {
	position: sticky;
	top: 24px;
	padding: 18px 18px 20px;
	background: var(--ardz-cream);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-sm);
}

.ardoiza-ord-summary-title {
	margin: 0 0 12px;
	font-family: var(--ardz-font-title);
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.3;
	letter-spacing: var(--ardz-tracking-title);
	text-transform: uppercase;
	color: var(--ardz-title);
}

.ardoiza-ord-summary-items {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.ardoiza-ord-summary-item {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-top: 1px dashed var(--ardz-line-strong);
	font-size: 0.9375rem;
}

.ardoiza-ord-summary-item:first-child {
	border-top: 0;
}

.ardoiza-ord-summary-item-name {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ardoiza-ord-summary-item-name small {
	color: var(--ardz-ink-faint);
	font-size: 0.8125rem;
}

.ardoiza-ord-summary-item-total {
	flex: none;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ardoiza-ord-summary-row {
	padding-top: 12px;
	border-top: 1px solid var(--ardz-line-strong);
}

/* Code promo (dans le récapitulatif). */
.ardoiza-ord-coupon {
	margin: 0 0 14px;
	padding: 12px 0 0;
	border-top: 1px dashed var(--ardz-line-strong);
}

.ardoiza-ord-coupon-label {
	display: block;
	margin: 0 0 6px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-coupon-row {
	display: flex;
	gap: 8px;
	min-width: 0;
}

.ardoiza-ord-coupon-input {
	flex: 1;
	min-width: 0;
	min-height: 42px;
	margin: 0;
	padding: 0.5em 0.8em;
	background: var(--ardz-white);
	color: var(--ardz-ink);
	border: 1.5px solid var(--ardz-line-strong);
	border-radius: var(--ardz-r-md);
	box-shadow: none;
	font-family: var(--ardz-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1.4;
	outline: none;
	transition: border-color 0.18s var(--ardz-ease), box-shadow 0.18s var(--ardz-ease);
	-webkit-appearance: none;
	appearance: none;
}

.ardoiza-ord-coupon-input::placeholder {
	color: var(--ardz-ink-faint);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	opacity: 1;
}

.ardoiza-ord-coupon-input:hover {
	border-color: var(--ardz-ink-faint);
}

.ardoiza-ord-coupon-input:focus {
	border-color: var(--ardz-ember);
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

.ardoiza-ord-coupon-input:disabled {
	background: var(--ardz-tint);
	cursor: wait;
}

/* « Appliquer » : bouton fantôme braise (contour), pas un appel principal. */
.ardoiza-ord-coupon-apply {
	flex: none;
	min-height: 42px;
	margin: 0;
	padding: 0 16px;
	background: var(--ardz-white);
	color: var(--ardz-ember-text);
	border: 1.5px solid var(--ardz-ember);
	border-radius: var(--ardz-r-pill);
	box-shadow: none;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.18s var(--ardz-ease), color 0.18s var(--ardz-ease);
}

.ardoiza-ord-coupon-apply:hover {
	background: var(--ardz-ember);
	color: var(--ardz-white);
}

.ardoiza-ord-coupon-apply:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-white), 0 0 0 6px var(--ardz-ember-ring);
}

.ardoiza-ord-coupon-apply[disabled] {
	opacity: 0.6;
	cursor: wait;
}

.ardoiza-ord-coupon-applied {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 12px;
	background: var(--ardz-ok-bg);
	border: 1px solid var(--ardz-ok-line);
	border-radius: var(--ardz-r-md);
}

.ardoiza-ord-coupon-tag {
	min-width: 0;
	color: var(--ardz-ok-text);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	overflow-wrap: anywhere;
}

.ardoiza-ord-coupon-tag::before {
	content: "\2713\00a0";
}

.ardoiza-ord-coupon-remove {
	flex: none;
	margin: 0;
	padding: 4px 6px;
	background: transparent;
	color: var(--ardz-ink-soft);
	border: 0;
	border-radius: var(--ardz-r-sm);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

.ardoiza-ord-coupon-remove:hover {
	color: var(--ardz-err-text);
}

.ardoiza-ord-coupon-remove:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

.ardoiza-ord-coupon-msg {
	margin: 8px 0 0;
	font-size: 0.8125rem;
	line-height: 1.4;
}

.ardoiza-ord-coupon-msg.is-error {
	color: var(--ardz-err-text);
}

.ardoiza-ord-coupon-msg.is-success {
	color: var(--ardz-ok-text);
}

/* Totaux du récapitulatif : sous-total, réduction, total. */
.ardoiza-ord-summary-totals {
	padding-top: 12px;
	border-top: 1px solid var(--ardz-line-strong);
}

.ardoiza-ord-summary-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 8px;
	color: var(--ardz-ink-soft);
	font-size: 0.9375rem;
	font-variant-numeric: tabular-nums;
}

.ardoiza-ord-summary-line.is-discount {
	color: var(--ardz-ok-text);
	font-weight: 600;
}

.ardoiza-ord-summary-line.is-discount small {
	margin-left: 4px;
	color: var(--ardz-ink-faint);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.03em;
}

.ardoiza-ord-summary-totals .ardoiza-ord-summary-row {
	margin-bottom: 0;
	padding-top: 10px;
	border-top: 1px dashed var(--ardz-line-strong);
}

/* Confirmation. */
.ardoiza-ord-success {
	position: relative;
	max-width: 560px;
	margin: 0 auto;
	padding: 36px 28px;
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-md);
	text-align: center;
	overflow: hidden;
}

/* Halo braise discret en bas de la carte (comme le CTA final de la vitrine). */
.ardoiza-ord-success::before {
	content: "";
	position: absolute;
	inset: auto -20% -60% -20%;
	height: 70%;
	background: radial-gradient(ellipse at center, rgba(184, 71, 31, 0.10), transparent 65%);
	pointer-events: none;
}

.ardoiza-ord-success > * {
	position: relative;
}

.ardoiza-ord-success-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 0 14px;
	border-radius: 50%;
	background: var(--ardz-ok-bg);
	color: var(--ardz-ok-text);
}

.ardoiza-ord-success .ardoiza-ord-step-title {
	margin-bottom: 10px;
}

.ardoiza-ord-success-text {
	margin: 0 0 6px;
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-success-pickup {
	margin: 0 0 22px;
	font-weight: 600;
}

.ardoiza-ord-restart {
	width: auto;
}

/* ------------------------------------------------------------------------- */
/* Sélecteur d'options (dialogue produit).                                   */
/* ------------------------------------------------------------------------- */

@keyframes ardoiza-ord-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes ardoiza-ord-pop {
	from { opacity: 0; transform: translateY(10px) scale(0.985); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.ardoiza-ord-picker {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 32px 16px;
	overflow-y: auto;
	background: rgba(27, 42, 46, 0.62);
	-webkit-backdrop-filter: blur(6px) saturate(1.1);
	backdrop-filter: blur(6px) saturate(1.1);
	font-family: var(--ardz-font-sans);
	font-size: 15px;
	line-height: 1.55;
	color: var(--ardz-ink);
	animation: ardoiza-ord-fade 0.18s var(--ardz-ease) both;
}

.ardoiza-ord-picker[hidden] {
	display: none !important;
}

.ardoiza-ord-picker-dialog {
	position: relative;
	margin: auto;
	width: 100%;
	max-width: 520px;
	background: var(--ardz-white);
	border-radius: var(--ardz-r-xl);
	box-shadow: var(--ardz-shadow-lg);
	overflow: hidden;
	animation: ardoiza-ord-pop 0.22s var(--ardz-ease) both;
}

.ardoiza-ord-picker-media {
	aspect-ratio: 16 / 9;
	background: var(--ardz-tint);
}

.ardoiza-ord-picker-media[hidden] {
	display: none !important;
}

.ardoiza-ord-picker-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ardoiza-ord-picker-body {
	padding: 22px 24px 8px;
}

/* Nom du produit : Inter Tight semi-gras (lisible même long), pas Orbitron. */
.ardoiza-ord-picker-title {
	margin: 0 0 4px;
	padding-right: 40px;
	font-family: var(--ardz-font-sans);
	font-weight: 700;
	font-size: 1.35rem;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--ardz-ink);
}

.ardoiza-ord-picker-desc {
	margin: 0 0 6px;
	color: var(--ardz-ink-soft);
	font-size: 0.9375rem;
}

.ardoiza-ord-picker-base {
	margin: 0 0 16px;
	font-family: var(--ardz-font-sans);
	font-weight: 700;
	font-size: 1.15rem;
	font-variant-numeric: tabular-nums;
	color: var(--ardz-ember-text);
}

.ardoiza-ord-group {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	min-width: 0;
}

.ardoiza-ord-group legend {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	font-weight: 600;
	font-size: 0.9375rem;
}

.ardoiza-ord-group-name {
	min-width: 0;
	overflow-wrap: anywhere;
}

.ardoiza-ord-group-hint {
	padding: 2px 9px;
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-tint);
	color: var(--ardz-ink-soft);
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
}

.ardoiza-ord-group-hint.is-required {
	background: var(--ardz-ember-soft);
	color: var(--ardz-ember-text);
}

.ardoiza-ord-group.is-invalid legend {
	color: var(--ardz-err-text);
}

.ardoiza-ord-option {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	padding: 10px 12px;
	background: var(--ardz-cream);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-md);
	font-size: 0.9375rem;
	cursor: pointer;
	transition: border-color 0.15s var(--ardz-ease), background-color 0.15s var(--ardz-ease);
}

.ardoiza-ord-option:hover {
	border-color: var(--ardz-line-strong);
}

.ardoiza-ord-option:has(input:checked) {
	border-color: var(--ardz-ember);
	background: var(--ardz-ember-soft);
}

.ardoiza-ord-option:has(input:focus-visible) {
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

.ardoiza-ord-option:has(input:disabled) {
	opacity: 0.55;
	cursor: not-allowed;
}

.ardoiza-ord-option input {
	width: 18px;
	height: 18px;
	margin: 0;
	flex: none;
	accent-color: var(--ardz-ember);
}

.ardoiza-ord-option-name {
	flex: 1;
	min-width: 0;
}

.ardoiza-ord-option-delta {
	flex: none;
	color: var(--ardz-ink-soft);
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
}

.ardoiza-ord-picker-error {
	margin: 0 0 10px;
	padding: 10px 12px;
	background: var(--ardz-err-bg);
	color: var(--ardz-err-text);
	border-left: 4px solid var(--ardz-err);
	border-radius: var(--ardz-r-sm);
	font-size: 0.875rem;
}

.ardoiza-ord-picker-error[hidden] {
	display: none !important;
}

.ardoiza-ord-picker-foot {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 24px 22px;
	border-top: 1px solid var(--ardz-line);
	background: var(--ardz-white);
}

.ardoiza-ord-picker-foot .ardoiza-ord-qty {
	flex: none;
}

.ardoiza-ord-picker-add {
	flex: 1;
	width: auto;
}

/* ------------------------------------------------------------------------- */
/* Bouton déclencheur et modale (shortcode [ardoiza_order_button]).          */
/* Le réglage admin « bouton » (bg / color / radius) est injecté en inline    */
/* et prime : le CSS ne fournit que le fallback braise.                       */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	margin: 0;
	padding: 0.9em 1.7em;
	background: var(--ardoiza-btn-bg, var(--ardz-ember));
	color: var(--ardoiza-btn-color, #ffffff);
	border: 0;
	border-radius: var(--ardoiza-btn-radius, 999px);
	box-shadow: 0 8px 24px rgba(27, 42, 46, 0.16), 0 1px 2px rgba(27, 42, 46, 0.08);
	font-family: var(--ardz-font-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	transition: transform 0.12s var(--ardz-ease), box-shadow 0.2s var(--ardz-ease), filter 0.2s var(--ardz-ease);
	-webkit-tap-highlight-color: transparent;
}

.ardoiza-ord-button:hover {
	color: var(--ardoiza-btn-color, #ffffff);
	transform: translateY(-1px);
	filter: brightness(1.06);
	box-shadow: 0 12px 28px rgba(27, 42, 46, 0.20), 0 1px 2px rgba(27, 42, 46, 0.08);
}

.ardoiza-ord-button:active {
	transform: translateY(0);
	filter: brightness(0.97);
	box-shadow: var(--ardz-shadow-sm);
}

.ardoiza-ord-button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-white), 0 0 0 6px var(--ardz-ember-ring);
}

.ardoiza-ord-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 24px 16px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: rgba(27, 42, 46, 0.62);
	-webkit-backdrop-filter: blur(6px) saturate(1.1);
	backdrop-filter: blur(6px) saturate(1.1);
	animation: ardoiza-ord-fade 0.18s var(--ardz-ease) both;
}

.ardoiza-ord-dialog {
	position: relative;
	margin: auto;
	width: 100%;
	max-width: 1080px;
	padding: 36px 36px 30px;
	background: var(--ardz-cream);
	color: var(--ardz-ink);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: var(--ardz-r-xl);
	box-shadow: var(--ardz-shadow-lg);
	animation: ardoiza-ord-pop 0.22s var(--ardz-ease) both;
}

.ardoiza-ord-dialog::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 5px;
	border-radius: var(--ardz-r-xl) var(--ardz-r-xl) 0 0;
	background: linear-gradient(90deg, var(--ardz-ember) 0 72%, var(--ardz-ochre) 72% 100%);
	pointer-events: none;
}

.ardoiza-ord-dialog .ardoiza-ord-title {
	padding-right: 48px;
}

.ardoiza-ord.is-modal .ardoiza-ord-nav {
	top: -36px;
}

.ardoiza-ord-close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	background: var(--ardz-cream);
	color: var(--ardz-ink-soft);
	border: 1px solid var(--ardz-line);
	border-radius: 50%;
	box-shadow: none;
	font-family: var(--ardz-font-sans);
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.18s var(--ardz-ease), color 0.18s var(--ardz-ease), border-color 0.18s var(--ardz-ease), transform 0.12s var(--ardz-ease);
	-webkit-tap-highlight-color: transparent;
}

/* Dans la modale (fond crème), la fermeture passe en blanc pour rester visible. */
.ardoiza-ord-dialog > .ardoiza-ord-close {
	background: var(--ardz-white);
}

.ardoiza-ord-close:hover {
	background: var(--ardz-ember-soft);
	color: var(--ardz-ember-text);
	border-color: var(--ardz-ember-soft);
	transform: rotate(90deg);
}

.ardoiza-ord-close:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-ember-ring);
}

/* ------------------------------------------------------------------------- */
/* Promotions en cours ([ardoiza_promotions], [restaurant-promotions]).      */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-promos,
.ardoiza-ord-promos *,
.ardoiza-ord-promos *::before,
.ardoiza-ord-promos *::after {
	box-sizing: border-box;
}

.ardoiza-ord-promos {
	color: var(--ardz-ink);
	font-family: var(--ardz-font-sans);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.ardoiza-ord-promos .ardoiza-ord-title {
	margin-bottom: 1.1rem;
}

/* État vide : discret, sans cadre. */
.ardoiza-ord-promos-empty {
	margin: 0;
	color: var(--ardz-ink-faint);
	font-size: 0.9375rem;
	font-style: italic;
}

.ardoiza-ord-promos-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ardoiza-ord-promo {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 20px 18px 16px;
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-sm);
	overflow: hidden;
}

/* Liseré haut : braise, terminé par une touche d'ocre. */
.ardoiza-ord-promo::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--ardz-ember) 0 72%, var(--ardz-ochre) 72% 100%);
}

.ardoiza-ord-promo-value {
	align-self: flex-start;
	padding: 2px 12px;
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-ember-soft);
	color: var(--ardz-ember-text);
	font-family: var(--ardz-font-title);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: var(--ardz-tracking-title);
	white-space: nowrap;
}

.ardoiza-ord-promo-body {
	flex: 1 1 auto;
	min-width: 0;
}

.ardoiza-ord-promo-name {
	margin: 0 0 4px;
	font-family: var(--ardz-font-sans);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ardz-ink);
	overflow-wrap: anywhere;
}

.ardoiza-ord-promo-meta {
	margin: 0;
	font-size: 0.875rem;
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-promo-code {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding-top: 10px;
	border-top: 1px dashed var(--ardz-line-strong);
}

.ardoiza-ord-promo-code-label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ardz-ink-faint);
}

.ardoiza-ord-promo-code code {
	padding: 3px 10px;
	border: 1px dashed var(--ardz-ember);
	border-radius: var(--ardz-r-sm);
	background: var(--ardz-cream);
	color: var(--ardz-ember-text);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	user-select: all;
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------------- */
/* Cartes cadeaux ([ardoiza_cartes_cadeaux], 0.14.8).                        */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-gift,
.ardoiza-ord-gift *,
.ardoiza-ord-gift *::before,
.ardoiza-ord-gift *::after {
	box-sizing: border-box;
}

.ardoiza-ord-gift {
	position: relative;
	max-width: 640px;
	margin: 0;
	padding: 24px 22px 20px;
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-sm);
	color: var(--ardz-ink);
	font-family: var(--ardz-font-sans);
	font-size: 15px;
	line-height: 1.55;
	overflow: hidden;
	-webkit-font-smoothing: antialiased;
}

/* Liseré haut : braise, terminé par une touche d'ocre (comme les promotions). */
.ardoiza-ord-gift::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--ardz-ember) 0 72%, var(--ardz-ochre) 72% 100%);
}

.ardoiza-ord-gift .ardoiza-ord-title {
	margin-bottom: 0.9rem;
}

.ardoiza-ord-gift p {
	margin: 0 0 0.75rem;
}

.ardoiza-ord-gift-lead {
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-gift-amounts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
}

.ardoiza-ord-gift-amounts li {
	margin: 0;
	padding: 4px 14px;
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-ember-soft);
	color: var(--ardz-ember-text);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.ardoiza-ord-gift-meta {
	font-size: 0.9375rem;
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-gift .ardoiza-ord-gift-action {
	margin: 1.1rem 0 0.6rem;
}

.ardoiza-ord-gift-button,
.ardoiza-ord-gift-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85em 1.6em;
	border-radius: var(--ardz-r-pill);
	background: var(--ardz-ember);
	color: #ffffff;
	box-shadow: var(--ardz-shadow-ember);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s var(--ardz-ease), box-shadow 0.2s var(--ardz-ease);
}

.ardoiza-ord-gift-button:hover {
	background: var(--ardz-ember-hover);
	color: #ffffff;
	box-shadow: var(--ardz-shadow-ember-hover);
}

.ardoiza-ord-gift-button:active {
	background: var(--ardz-ember-active);
}

.ardoiza-ord-gift-button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ardz-white), 0 0 0 6px var(--ardz-ember-ring);
}

.ardoiza-ord-gift .ardoiza-ord-gift-note {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--ardz-ink-faint);
}

/* Encadré réservé aux administrateurs (bloc masqué pour les visiteurs). */
.ardoiza-ord-gift-admin {
	border-style: dashed;
	border-color: var(--ardz-line-strong);
	background: var(--ardz-surface-2);
	box-shadow: none;
}

.ardoiza-ord-gift-admin a {
	color: var(--ardz-ember-text);
	font-weight: 600;
}

@media (max-width: 600px) {
	.ardoiza-ord-gift {
		padding: 20px 16px 16px;
	}

	.ardoiza-ord-gift-button {
		width: 100%;
	}
}

/* ------------------------------------------------------------------------- */
/* Actualités du restaurant ([ardoiza_actualites], 0.14.13). Mobile d'abord : */
/* une colonne, cadre 4:3 sur toute la largeur ; deux colonnes au-delà.      */
/* Aucune photo n'est rognée : elle s'inscrit en entier dans le cadre, sur   */
/* un fond sable (une affiche en hauteur garde tout son texte).              */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-news,
.ardoiza-ord-news *,
.ardoiza-ord-news *::before,
.ardoiza-ord-news *::after {
	box-sizing: border-box;
}

.ardoiza-ord-news {
	max-width: 960px;
	margin: 0;
	color: var(--ardz-ink);
	font-family: var(--ardz-font-sans);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

.ardoiza-ord-news .ardoiza-ord-title {
	margin-bottom: 1rem;
}

.ardoiza-ord-news-list {
	display: grid;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ardoiza-ord-news-list > li {
	margin: 0;
	padding: 0;
}

/* Actualité sans photo : la carte prend la hauteur de son texte, en haut de la rangée, sur un fond sable léger. */
.ardoiza-ord-news-list > li.ardoiza-ord-news-nophoto {
	align-self: start;
}

.ardoiza-ord-news-nophoto .ardoiza-ord-news-item {
	background: var(--ardz-surface-2);
	border-top: 4px solid var(--ardz-beige);
}

.ardoiza-ord-news-item {
	height: 100%;
	overflow: hidden;
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line);
	border-radius: var(--ardz-r-lg);
	box-shadow: var(--ardz-shadow-sm);
}

.ardoiza-ord-news .ardoiza-ord-news-photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin: 0;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
	background: var(--ardz-beige);
}

.ardoiza-ord-news-text {
	padding: 16px 18px 18px;
}

.ardoiza-ord-news .ardoiza-ord-news-title {
	margin: 0 0 0.35rem;
	font-family: var(--ardz-font-sans);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ardz-ink);
	overflow-wrap: anywhere;
}

.ardoiza-ord-news .ardoiza-ord-news-meta {
	margin: 0 0 0.6rem;
	font-size: 0.875rem;
	color: var(--ardz-ink-soft);
}

.ardoiza-ord-news .ardoiza-ord-news-body {
	margin: 0;
	overflow-wrap: anywhere;
}

.ardoiza-ord-news-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.ardoiza-ord-news-thumbs li {
	margin: 0;
	padding: 0;
}

.ardoiza-ord-news .ardoiza-ord-news-thumb-link {
	display: block;
	border-radius: var(--ardz-r-sm);
}

.ardoiza-ord-news .ardoiza-ord-news-thumb-link:focus-visible {
	outline: 2px solid var(--ardz-ember);
	outline-offset: 2px;
}

.ardoiza-ord-news .ardoiza-ord-news-thumb {
	display: block;
	width: 88px;
	height: 66px;
	margin: 0;
	object-fit: contain;
	object-position: center;
	border-radius: var(--ardz-r-sm);
	background: var(--ardz-beige);
}

/* Encadré réservé aux administrateurs (rien à afficher pour les visiteurs). */
.ardoiza-ord-news-admin {
	max-width: 640px;
	padding: 16px 18px;
	border: 1px dashed var(--ardz-line-strong);
	border-radius: var(--ardz-r-lg);
	background: var(--ardz-surface-2);
}

.ardoiza-ord-news-admin p {
	margin: 0 0 0.6rem;
}

.ardoiza-ord-news-admin a {
	color: var(--ardz-ember-text);
	font-weight: 600;
}

.ardoiza-ord-news-admin .ardoiza-ord-news-note {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--ardz-ink-faint);
}

@media (min-width: 700px) {
	.ardoiza-ord-news-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Une seule actualité : une carte de largeur raisonnable, jamais étirée sur toute la page. */
	.ardoiza-ord-news-list.is-single {
		grid-template-columns: minmax(0, 560px);
	}
}

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

@media (max-width: 900px) {
	.ardoiza-ord-layout,
	.ardoiza-ord.is-modal .ardoiza-ord-layout {
		grid-template-columns: 1fr;
		gap: 0;
		padding-bottom: 84px; /* place pour la barre panier fixe. */
	}

	.ardoiza-ord-checkout-grid {
		grid-template-columns: 1fr;
	}

	.ardoiza-ord-summary {
		position: static;
		order: -1;
	}

	/* Panier : barre fixe en bas, panneau en tiroir. */
	.ardoiza-ord-cart {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 12px;
		top: auto;
		z-index: 99999;
		border-radius: var(--ardz-r-lg);
		box-shadow: var(--ardz-shadow-lg);
	}

	.ardoiza-ord-cart::before {
		display: none;
	}

	/* Barre panier : braise, texte blanc (appel à l'action principal sur mobile). */
	.ardoiza-ord-cart-bar {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		margin: 0;
		padding: 14px 18px;
		background: var(--ardz-ember);
		color: var(--ardz-white);
		border: 0;
		font-size: 1rem;
		font-weight: 600;
		cursor: pointer;
		transition: background-color 0.18s var(--ardz-ease);
	}

	.ardoiza-ord-cart-bar:hover {
		background: var(--ardz-ember-hover);
	}

	.ardoiza-ord-cart-bar:focus-visible {
		outline: none;
		box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.55);
	}

	.ardoiza-ord-cart-bar-count {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 26px;
		height: 26px;
		padding: 0 8px;
		border-radius: var(--ardz-r-pill);
		background: rgba(255, 255, 255, 0.22);
		font-size: 0.875rem;
		font-variant-numeric: tabular-nums;
	}

	.ardoiza-ord-cart-bar-label {
		flex: 1;
		text-align: left;
	}

	.ardoiza-ord-cart-bar-total {
		font-variant-numeric: tabular-nums;
	}

	.ardoiza-ord-cart-panel {
		display: none;
	}

	.ardoiza-ord-cart.is-open .ardoiza-ord-cart-panel {
		display: block;
		max-height: 70vh;
		overflow-y: auto;
	}

	.ardoiza-ord-cart-items {
		max-height: none;
	}

	.ardoiza-ord-cart.is-open .ardoiza-ord-cart-bar-label::after {
		content: " \25BE";
	}
}

@media (max-width: 560px) {
	.ardoiza-ord-title,
	.ardoiza-ord-step-title {
		font-size: 1.15rem;
	}

	.ardoiza-ord-category-name {
		font-size: 0.95rem;
	}

	.ardoiza-ord-products {
		grid-template-columns: 1fr;
	}

	.ardoiza-ord-product {
		flex-direction: row;
	}

	.ardoiza-ord-product-media {
		flex: none;
		width: 112px;
		aspect-ratio: 1 / 1;
	}

	.ardoiza-ord-product-body {
		padding: 12px 14px;
	}

	.ardoiza-ord-fields {
		grid-template-columns: 1fr;
	}

	.ardoiza-ord-form {
		padding: 18px 16px;
	}

	/* 16px minimum : évite le zoom automatique d'iOS sur les champs. */
	.ardoiza-ord-field input,
	.ardoiza-ord-field select,
	.ardoiza-ord-field textarea,
	.ardoiza-ord-coupon-input {
		font-size: 16px;
	}

	.ardoiza-ord-coupon-row {
		flex-wrap: wrap;
	}

	.ardoiza-ord-coupon-input {
		flex: 1 1 160px;
	}

	.ardoiza-ord-button {
		width: 100%;
	}

	.ardoiza-ord-overlay {
		padding: 8px;
	}

	.ardoiza-ord-dialog {
		padding: 26px 14px 20px;
		border-radius: var(--ardz-r-lg);
	}

	.ardoiza-ord-dialog::before {
		border-radius: var(--ardz-r-lg) var(--ardz-r-lg) 0 0;
	}

	.ardoiza-ord.is-modal .ardoiza-ord-nav {
		top: -26px;
	}

	.ardoiza-ord-close {
		top: 12px;
		right: 12px;
		width: 36px;
		height: 36px;
		font-size: 24px;
	}

	.ardoiza-ord-picker {
		padding: 0;
		align-items: flex-end;
	}

	.ardoiza-ord-picker-dialog {
		margin: auto 0 0;
		max-width: none;
		border-radius: var(--ardz-r-xl) var(--ardz-r-xl) 0 0;
	}

	.ardoiza-ord-picker-body {
		padding: 18px 18px 6px;
	}

	.ardoiza-ord-picker-foot {
		padding: 12px 18px 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ardoiza-ord-overlay,
	.ardoiza-ord-dialog,
	.ardoiza-ord-picker,
	.ardoiza-ord-picker-dialog,
	.ardoiza-ord-cart.is-bump {
		animation: none;
	}

	.ardoiza-ord *,
	.ardoiza-ord-carte *,
	.ardoiza-ord-button,
	.ardoiza-ord-close,
	.ardoiza-ord-picker * {
		transition: none !important;
	}

	.ardoiza-ord-product:hover,
	.ardoiza-ord-add:hover,
	.ardoiza-ord-nav a:hover,
	.ardoiza-ord-checkout-open:hover,
	.ardoiza-ord-submit button:hover,
	.ardoiza-ord-picker-add:hover,
	.ardoiza-ord-restart:hover,
	.ardoiza-ord-button:hover,
	.ardoiza-ord-close:hover {
		transform: none;
	}
}

/* ------------------------------------------------------------------------- */
/* Correctif indispensable : l'attribut hidden doit gagner sur display:flex  */
/* (modale fermée par défaut au chargement). Ne pas supprimer.               */
/* ------------------------------------------------------------------------- */
.ardoiza-ord-overlay[hidden] { display: none !important; }

/* ------------------------------------------------------------------------- */
/* Paiement en ligne (0.12.0) : phrase sous le choix de la carte, commande   */
/* suspendue, panneau de retour de la page de paiement. Un seul bouton       */
/* braise par panneau (« Reprendre le paiement ») ; l'autre choix est au     */
/* trait. Aucun vert.                                                        */
/* ------------------------------------------------------------------------- */
.ardoiza-ord-payment-note {
	margin: 4px 0 10px 30px;
	color: var(--ardz-ink-soft);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.ardoiza-ord-payment-suspended {
	margin: 8px 0 0;
	padding: 12px 14px;
	background: var(--ardz-err-bg);
	border: 1px solid var(--ardz-err-line);
	border-radius: 12px;
	color: var(--ardz-err-text);
	font-weight: 600;
	font-size: 0.9375rem;
}

.ardoiza-ord-paybox {
	position: relative;
	box-sizing: border-box;
	max-width: 720px;
	margin: 16px auto;
	padding: 18px 48px 18px 20px;
	background: var(--ardz-cream);
	border: 1px solid var(--ardz-line);
	border-left: 4px solid var(--ardz-ember);
	border-radius: 14px;
	box-shadow: var(--ardz-shadow-md);
	color: var(--ardz-ink);
	font-family: var(--ardz-font-sans);
}

.ardoiza-ord-paybox-text {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
}

.ardoiza-ord-paybox-extra {
	margin: 6px 0 0;
	color: var(--ardz-ink-soft);
	font-size: 0.875rem;
}

.ardoiza-ord-paybox-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.ardoiza-ord-paybox-actions:empty {
	display: none;
}

.ardoiza-ord-paybox-btn,
.ardoiza-ord-paybox-alt {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: 999px;
	font-family: var(--ardz-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

.ardoiza-ord-paybox-btn {
	background: var(--ardz-ember);
	border: 1px solid var(--ardz-ember);
	color: #ffffff;
	box-shadow: var(--ardz-shadow-ember);
}

.ardoiza-ord-paybox-btn:hover {
	background: var(--ardz-ember-hover);
	color: #ffffff;
}

.ardoiza-ord-paybox-alt {
	background: var(--ardz-white);
	border: 1px solid var(--ardz-line-strong);
	color: var(--ardz-ink);
}

.ardoiza-ord-paybox-alt:hover {
	border-color: var(--ardz-ember);
	color: var(--ardz-ember-text);
}

.ardoiza-ord-paybox-alt:disabled {
	opacity: 0.6;
	cursor: wait;
}

.ardoiza-ord-paybox-btn:focus-visible,
.ardoiza-ord-paybox-alt:focus-visible,
.ardoiza-ord-paybox-close:focus-visible {
	outline: 3px solid var(--ardz-ember-ring);
	outline-offset: 2px;
}

.ardoiza-ord-paybox-close {
	position: absolute;
	top: 10px;
	right: 10px;
	padding: 6px 10px;
	background: transparent;
	border: 0;
	border-radius: 8px;
	color: var(--ardz-ink-soft);
	font-family: var(--ardz-font-sans);
	font-size: 0.8125rem;
	cursor: pointer;
}

.ardoiza-ord-paybox-close:hover {
	background: var(--ardz-tint);
	color: var(--ardz-ink);
}

@media (max-width: 480px) {
	.ardoiza-ord-paybox {
		margin: 12px 16px;
		padding: 16px 16px 16px 16px;
	}

	.ardoiza-ord-paybox-close {
		position: static;
		margin-top: 10px;
		padding-left: 0;
	}

	.ardoiza-ord-paybox-btn,
	.ardoiza-ord-paybox-alt {
		width: 100%;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------------- */
/* Allergènes (0.12.1, règlement (UE) 1169/2011) : carte, fenêtre du plat,   */
/* panier et récapitulatif. Texte seul, sans couleur d'alerte.               */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-product-allergens,
.ardoiza-ord-picker-allergens {
	margin: 0;
	color: var(--ardz-ink-soft);
	font-size: 0.8125rem;
	line-height: 1.4;
}

.ardoiza-ord-picker-allergens {
	margin: 0 0 0.75rem;
}

.ardoiza-ord-cart-item-allergens,
.ardoiza-ord-summary-item-allergens {
	display: block;
	color: var(--ardz-ink-faint);
	font-size: 0.75rem;
	line-height: 1.35;
}

/* ------------------------------------------------------------------------- */
/* Carte en consultation (0.14.9, shortcode [ardoiza_menu]) : mêmes cartes    */
/* de plats que le module, sans panier ni bouton « Ajouter ». Titres en h2 et */
/* h3 : la portée .ardoiza-ord-carte l'emporte sur les styles de titres du    */
/* thème. Un plat ne se clique pas : aucun soulèvement au survol.             */
/* ------------------------------------------------------------------------- */

.ardoiza-ord-carte .ardoiza-ord-category-name {
	margin: 0 0 6px;
	font-family: var(--ardz-font-title);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: var(--ardz-tracking-title);
	text-transform: uppercase;
	color: var(--ardz-title);
}

.ardoiza-ord-carte .ardoiza-ord-product-name {
	margin: 0;
	font-family: var(--ardz-font-sans);
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--ardz-ink);
}

.ardoiza-ord-carte .ardoiza-ord-title {
	margin: 0;
}

.ardoiza-ord-carte .ardoiza-ord-product:hover {
	transform: none;
	border-color: var(--ardz-line);
	box-shadow: var(--ardz-shadow-sm);
}

.ardoiza-ord-carte-cta {
	margin: 16px 0 0;
}

.ardoiza-ord-carte-foot {
	display: flex;
	justify-content: center;
	margin: 8px 0 0;
}

.ardoiza-ord-carte .ardoiza-ord-carte-cta .ardoiza-ord-button {
	margin: 0;
}
