/**
 * Aureginal Couture — feuille de styles principale.
 * Aucune dépendance externe : variables CSS, flexbox et grid.
 */

/* ---------------------------------------------------- Polices (self-hébergées) */

@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/poppins-400.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/poppins-500.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/poppins-600.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/poppins-700.woff2") format("woff2");
}
@font-face {
	font-family: "Caveat";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/caveat-600.woff2") format("woff2");
}
@font-face {
	font-family: "Caveat";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/caveat-700.woff2") format("woff2");
}

/* ---------------------------------------------------------------- Tokens */

:root {
	/*
	 * Skin « coloré mais sobre » inspiré de Sew + Sew Studio : palette vive
	 * sur fond clair. Le teal est la couleur primaire (boutons, liens),
	 * les couleurs --aur-c-* servent d'accents multicolores ponctuels.
	 */
	--aur-terracotta: #0f8d8a;        /* primaire (turquoise) : action, liens */
	--aur-terracotta-light: #13a6a2;
	--aur-terracotta-dark: #0b6e6c;
	--aur-blush: #e1f4f3;             /* tinte claire du primaire */
	--aur-blush-border: #c5e7e5;
	--aur-green: #1c4fa1;             /* secondaire (bleu profond) : cours */
	--aur-green-dark: #16233f;        /* surface sombre (marine du logo) */
	--aur-mint: #e6ecf7;             /* tinte claire du secondaire */
	--aur-cream: #f7f7f6;            /* fond de section très clair */

	/*
	 * Palette alignée sur le logo : marine + or, turquoise conservé pour
	 * l'action. Cinq couleurs au lieu de huit — la profusion d'accents faisait
	 * « site coloré générique » plutôt qu'atelier de savoir-faire.
	 * Les noms de tokens sont conservés (mustard/orchid/magenta pointent vers
	 * l'or, mint vers le turquoise) pour ne pas disperser les références.
	 */
	--aur-navy: #16233f;              /* marine du logo */
	--aur-gold: #c08a2e;              /* or du logo, accent rare */
	--aur-gold-light: #d9a441;
	--aur-gold-tint: #f5ead6;
	--aur-gold-dark: #8a6220;

	--aur-c-teal: #0f8d8a;
	--aur-c-cobalt: #1c4fa1;
	--aur-c-blue: #1c4fa1;
	--aur-c-coral: #d8695f;           /* terracotta, accent chaud */
	--aur-c-mustard: #c08a2e;         /* = or */
	--aur-c-mint: #3fa8a4;            /* famille turquoise */
	--aur-c-orchid: #c08a2e;          /* = or */
	--aur-c-magenta: #c08a2e;         /* = or (cadeau, sur-mesure) */
	--aur-c-aubergine: #16233f;       /* = marine */

	--aur-stone-50: #fafaf9;
	--aur-stone-100: #f5f5f4;
	--aur-stone-200: #e7e5e4;
	--aur-stone-300: #d6d3d1;
	--aur-stone-400: #a8a29e;
	--aur-stone-500: #78716c;
	--aur-stone-600: #57534e;
	--aur-stone-700: #44403c;
	--aur-stone-800: #292524;
	--aur-stone-900: #1c1917;

	--aur-amber-50: #fffbeb;
	--aur-amber-100: #fef3c7;
	--aur-amber-200: #fde68a;
	--aur-amber-500: #f59e0b;
	--aur-amber-600: #d97706;
	--aur-amber-700: #b45309;
	--aur-amber-900: #78350f;

	--aur-emerald-50: #ecfdf5;
	--aur-emerald-100: #d1fae5;
	--aur-emerald-200: #a7f3d0;
	--aur-emerald-300: #6ee7b7;
	--aur-emerald-600: #059669;
	--aur-emerald-700: #047857;
	--aur-emerald-900: #064e3b;

	--aur-rose-600: #e11d48;

	--aur-radius-sm: 8px;
	--aur-radius: 12px;
	--aur-radius-lg: 16px;
	--aur-radius-xl: 20px;
	--aur-radius-full: 999px;

	--aur-shadow-xs: 0 1px 2px rgba(28, 25, 23, .06);
	--aur-shadow-sm: 0 1px 3px rgba(28, 25, 23, .1), 0 1px 2px rgba(28, 25, 23, .06);
	--aur-shadow-md: 0 4px 12px rgba(28, 25, 23, .1);
	--aur-shadow-lg: 0 12px 28px rgba(28, 25, 23, .14);
	--aur-shadow-xl: 0 24px 48px rgba(28, 25, 23, .18);

	--aur-font-sans: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--aur-font-serif: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--aur-font-script: "Caveat", "Segoe Script", "Brush Script MT", cursive;

	--aur-container: 80rem;
}

/*
 * Style « Élégant » (identité d'origine) : restaure la palette terracotta et
 * les polices serif/système. Activé quand body porte la classe
 * .aur-skin-elegant. Le style coloré reste le défaut (valeurs de :root).
 */
body.aur-skin-elegant {
	--aur-terracotta: #b85b40;
	--aur-terracotta-light: #c86d51;
	--aur-terracotta-dark: #a34e35;
	--aur-blush: #f5e6e0;
	--aur-blush-border: #ebd3c9;
	--aur-green: #3d5a50;
	--aur-green-dark: #22332c;
	--aur-mint: #e3efea;
	--aur-cream: #faf8f5;

	--aur-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--aur-font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
}

/* ------------------------------------------------------------- Base HTML */

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

body {
	margin: 0;
	background: var(--aur-cream);
	color: var(--aur-stone-800);
	font-family: var(--aur-font-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body::selection,
::selection {
	background: var(--aur-terracotta);
	color: #fff;
}

h1, h2, h3, h4 {
	font-family: var(--aur-font-serif);
	color: var(--aur-stone-900);
	margin: 0;
	line-height: 1.2;
}

p {
	margin: 0;
}

a {
	color: inherit;
	text-decoration: none;
}

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

button {
	font: inherit;
	color: inherit;
	cursor: pointer;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

:focus-visible {
	outline: 2px solid var(--aur-terracotta);
	outline-offset: 2px;
}

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

.aur-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--aur-stone-900);
	color: #fff;
	padding: 12px 20px;
	z-index: 100;
	border-radius: 0 0 var(--aur-radius) 0;
}

.aur-skip-link:focus {
	left: 0;
}

.aur-container {
	width: 100%;
	max-width: var(--aur-container);
	margin: 0 auto;
	padding: 0 16px;
}

@media (min-width: 640px) {
	.aur-container { padding: 0 24px; }
}

@media (min-width: 1024px) {
	.aur-container { padding: 0 32px; }
}

/* ---------------------------------------------------------------- Icônes */

.aur-icon {
	width: 20px;
	height: 20px;
	flex: none;
}

.aur-icon--xs { width: 14px; height: 14px; }
.aur-icon--sm { width: 16px; height: 16px; }
.aur-icon--md { width: 20px; height: 20px; }
.aur-icon--lg { width: 24px; height: 24px; }
.aur-icon--xl { width: 40px; height: 40px; stroke-width: 1.5; }

.aur-icon--accent { color: var(--aur-terracotta); }
.aur-icon--green { color: var(--aur-green); }
.aur-icon--emerald { color: var(--aur-emerald-600); }
.aur-icon--amber { color: var(--aur-amber-500); }
.aur-icon--rose { color: var(--aur-rose-600); }
.aur-icon--muted { color: var(--aur-stone-300); }

/* --------------------------------------------------------------- Boutons */

.aur-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: var(--aur-radius);
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.aur-btn--xs { padding: 8px 14px; font-size: 12px; }
.aur-btn--sm { padding: 10px 16px; font-size: 13px; }
.aur-btn--lg { padding: 14px 22px; font-size: 14px; }
.aur-btn--block { width: 100%; }

.aur-btn--primary {
	background: var(--aur-terracotta);
	color: #fff;
	box-shadow: var(--aur-shadow-sm);
}

.aur-btn--primary:hover { background: var(--aur-terracotta-dark); box-shadow: var(--aur-shadow-md); }

.aur-btn--dark { background: var(--aur-stone-900); color: #fff; }
.aur-btn--dark:hover { background: var(--aur-stone-800); }

.aur-btn--green { background: var(--aur-green); color: #fff; }
.aur-btn--green:hover { background: var(--aur-green-dark); }

.aur-btn--ghost {
	background: #fff;
	color: var(--aur-stone-800);
	border-color: var(--aur-stone-300);
}

.aur-btn--ghost:hover { background: var(--aur-stone-100); }

.aur-btn--muted { background: var(--aur-stone-200); color: var(--aur-stone-800); }
.aur-btn--muted:hover { background: var(--aur-stone-300); }

.aur-btn[disabled] { opacity: .55; cursor: not-allowed; }

.aur-btn:hover .aur-btn__arrow { transform: translateX(3px); }
.aur-btn__arrow { transition: transform .18s ease; }

.aur-linkbtn {
	background: none;
	border: 0;
	padding: 0;
	text-decoration: underline;
	font-size: inherit;
}

.aur-linkbtn:hover { color: var(--aur-stone-300); }

/* --------------------------------------------------------------- Badges */

.aur-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border-radius: var(--aur-radius-full);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.aur-badge--rose {
	background: var(--aur-blush);
	color: var(--aur-terracotta);
	border: 1px solid var(--aur-blush-border);
}

.aur-badge--mint {
	background: var(--aur-mint);
	color: var(--aur-green);
	border: 1px solid rgba(61, 90, 80, .15);
}

.aur-tag {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 6px;
	background: var(--aur-stone-100);
	color: var(--aur-stone-600);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.aur-tag--amber { background: var(--aur-amber-100); color: var(--aur-amber-900); }
.aur-tag--mint { background: var(--aur-mint); color: var(--aur-green); text-transform: none; letter-spacing: 0; padding: 4px 10px; border-radius: var(--aur-radius-full); }
.aur-tag--emerald { background: var(--aur-emerald-100); color: var(--aur-emerald-900); }
.aur-tag--verified {
	background: var(--aur-emerald-50);
	color: var(--aur-emerald-700);
	border: 1px solid var(--aur-emerald-200);
	text-transform: none;
	letter-spacing: 0;
}

/* --------------------------------------------------------------- Header */

.aur-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: #fff;
	border-bottom: 1px solid var(--aur-stone-200);
	box-shadow: var(--aur-shadow-xs);
}

.aur-topbar {
	background: var(--aur-green-dark);
	color: var(--aur-stone-200);
	font-size: 12px;
}

.aur-topbar__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-top: 8px;
	padding-bottom: 8px;
}

.aur-topbar__info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 24px;
}

.aur-topbar__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--aur-stone-300);
	font-size: 11px;
}

.aur-topbar__link:hover { color: #fff; }
.aur-underline { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: var(--aur-stone-500); }

.aur-topbar__phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: var(--aur-radius-full);
	background: rgba(255, 255, 255, .1);
	color: var(--aur-emerald-300);
	font-size: 11px;
	font-weight: 600;
}

.aur-topbar__phone:hover { color: #fff; }

@media (min-width: 640px) {
	.aur-topbar__inner { flex-direction: row; }
	.aur-topbar__item, .aur-topbar__phone { font-size: 12px; }
}

.aur-navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 14px;
	padding-bottom: 14px;
}

.aur-brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

.aur-brand__mark {
	width: 42px;
	height: 42px;
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--aur-radius);
	background: linear-gradient(135deg, var(--aur-terracotta), var(--aur-terracotta-light));
	color: #fff;
	box-shadow: var(--aur-shadow-xs);
	transition: transform .18s ease;
}

.aur-brand:hover .aur-brand__mark { transform: scale(1.05); }

/* Logo officiel (monogramme AC) : image posée sur le fond de la page, pas sur
   la pastille turquoise. Plus large que haut : on le dimensionne par la hauteur
   et on laisse la largeur suivre, plutôt que de l'enfermer dans un carré. */
.aur-brand__mark--mark {
	width: auto;
	height: 62px;
	background: none;
	box-shadow: none;
	padding: 0;
	border-radius: 0;
}

.aur-brand__logo-mark {
	display: block;
	height: 62px;
	width: auto;
}

@media (max-width: 640px) {
	.aur-brand__mark--mark,
	.aur-brand__logo-mark { height: 52px; }
}

.aur-brand__mark--logo {
	background: none;
	box-shadow: none;
	overflow: hidden;
}

.aur-brand__mark--logo img { width: 100%; height: 100%; object-fit: contain; }

.aur-brand__name {
	display: block;
	font-family: var(--aur-font-serif);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--aur-stone-900);
	line-height: 1.15;
}

.aur-brand__tagline {
	display: block;
	font-size: 11px;
	font-weight: 500;
	color: var(--aur-stone-500);
}

.aur-nav {
	display: none;
	align-items: center;
	gap: 28px;
	font-size: 14px;
	font-weight: 500;
}

.aur-nav__link {
	padding: 4px 0;
	border-bottom: 2px solid transparent;
	color: var(--aur-stone-700);
	transition: color .18s ease, border-color .18s ease;
}

.aur-nav__link:hover { color: var(--aur-terracotta); }

.aur-nav__link.is-active {
	color: var(--aur-terracotta);
	border-bottom-color: var(--aur-terracotta);
	font-weight: 600;
}

.aur-navbar__actions { display: none; }

.aur-burger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	background: none;
	border: 0;
	color: var(--aur-stone-700);
}

.aur-burger__close { display: none; }
.aur-burger[aria-expanded="true"] .aur-burger__open { display: none; }
.aur-burger[aria-expanded="true"] .aur-burger__close { display: block; }

@media (min-width: 640px) {
	.aur-brand__name { font-size: 22px; }
	.aur-navbar__actions { display: flex; align-items: center; gap: 12px; }
}

@media (min-width: 1024px) {
	.aur-nav { display: flex; }
	.aur-burger { display: none; }
}

.aur-mobile-menu {
	background: var(--aur-stone-50);
	border-top: 1px solid var(--aur-stone-200);
	padding: 12px 16px 24px;
	animation: aur-fade-in .18s ease;
}

.aur-mobile-menu[hidden] { display: none; }

.aur-mobile-menu__nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 14px;
	font-weight: 500;
}

.aur-mobile-menu__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border-radius: var(--aur-radius-sm);
	color: var(--aur-stone-800);
}

.aur-mobile-menu__link:hover { background: rgba(214, 211, 209, .5); }

.aur-mobile-menu__badge {
	font-size: 11px;
	font-weight: 700;
	color: var(--aur-terracotta);
}

.aur-mobile-menu__actions {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--aur-stone-200);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

@media (min-width: 1024px) {
	.aur-mobile-menu { display: none !important; }
}

/* ------------------------------------------------------------- Sections */

.aur-section {
	padding: 64px 0;
	border-bottom: 1px solid var(--aur-stone-200);
}

@media (min-width: 1024px) {
	.aur-section { padding: 96px 0; }
}

.aur-section--white { background: #fff; }
.aur-section--cream { background: var(--aur-cream); }

.aur-section__head {
	max-width: 48rem;
	margin: 0 auto 48px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.aur-section__title {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -.02em;
}

.aur-section__title--left { text-align: left; }

@media (min-width: 640px) {
	.aur-section__title { font-size: 36px; }
}

.aur-section__lead {
	color: var(--aur-stone-600);
	font-size: 15px;
	line-height: 1.7;
}

/* ----------------------------------------------------------------- Hero */

.aur-hero {
	position: relative;
	overflow: hidden;
	background: var(--aur-cream);
	border-bottom: 1px solid var(--aur-stone-200);
	padding: 32px 0 64px;
}

@media (min-width: 1024px) {
	.aur-hero { padding: 80px 0; }
}

.aur-hero__blur {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(64px);
}

.aur-hero__blur--rose {
	top: -48px;
	right: -48px;
	width: 384px;
	height: 384px;
	background: var(--aur-blush);
	opacity: .6;
}

.aur-hero__blur--mint {
	bottom: -48px;
	left: -48px;
	width: 320px;
	height: 320px;
	background: var(--aur-mint);
	opacity: .5;
}

.aur-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 40px;
	align-items: center;
}

@media (min-width: 1024px) {
	.aur-hero__grid { grid-template-columns: 7fr 5fr; }
}

.aur-hero__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

.aur-hero__title {
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.15;
}

@media (min-width: 640px) { .aur-hero__title { font-size: 40px; } }
@media (min-width: 768px) { .aur-hero__title { font-size: 46px; } }

.aur-hero__lead {
	max-width: 42rem;
	color: var(--aur-stone-600);
	font-size: 17px;
	line-height: 1.7;
}

.aur-hero__lead strong { color: var(--aur-stone-900); }

.aur-hero__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

@media (min-width: 640px) {
	.aur-hero__actions { flex-direction: row; width: auto; }
}

.aur-hero__guarantees {
	width: 100%;
	padding-top: 24px;
	border-top: 1px solid var(--aur-stone-200);
	display: grid;
	/* auto-fit : 4 arguments répartis en 2×2 sur la colonne de texte, sur une
	   seule ligne quand la largeur le permet. Évite un déséquilibré 3+1. */
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px 16px;
}

.aur-hero__guarantees strong {
	display: block;
	font-family: var(--aur-font-sans);
	font-size: 14px;
	color: var(--aur-stone-900);
}

.aur-hero__guarantees span {
	display: block;
	font-size: 12px;
	color: var(--aur-stone-500);
}

/* Sur téléphone, le bloc d'accroche est centré (plus lisible en une colonne). */
@media (max-width: 639px) {
	.aur-hero__text { align-items: center; text-align: center; }
	.aur-hero__lead { margin-left: auto; margin-right: auto; }
	.aur-hero__guarantees { text-align: center; }
}

.aur-hero__media { position: relative; }

.aur-hero__card {
	position: relative;
	margin: 0 auto;
	max-width: 28rem;
	border-radius: var(--aur-radius-xl);
	overflow: hidden;
	border: 4px solid #fff;
	background: #fff;
	box-shadow: var(--aur-shadow-xl);
}

@media (min-width: 1024px) {
	.aur-hero__card { max-width: none; }
}

.aur-hero__card img {
	width: 100%;
	height: 320px;
	object-fit: cover;
}

@media (min-width: 640px) {
	.aur-hero__card img { height: 384px; }
}

.aur-hero__caption {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 2px;
	padding: 24px;
	color: #fff;
	background: linear-gradient(to top, rgba(28, 25, 23, .78), rgba(28, 25, 23, 0) 60%);
}

.aur-hero__eyebrow {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--aur-amber-200);
}

.aur-hero__place {
	font-family: var(--aur-font-serif);
	font-size: 17px;
	font-weight: 700;
}

.aur-hero__note { font-size: 12px; color: var(--aur-stone-200); }

.aur-hero__widget {
	display: none;
	position: absolute;
	left: -16px;
	bottom: -28px;
	max-width: 18rem;
	padding: 16px;
	border-radius: var(--aur-radius-xl);
	background: #fff;
	border: 1px solid var(--aur-stone-200);
	box-shadow: var(--aur-shadow-lg);
	animation: aur-bounce 3.2s ease-in-out infinite;
}

@media (min-width: 640px) { .aur-hero__widget { display: block; } }

.aur-hero__widget-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.aur-hero__widget-icon {
	display: flex;
	padding: 8px;
	border-radius: var(--aur-radius-sm);
	background: var(--aur-blush);
	color: var(--aur-terracotta);
}

.aur-hero__widget-head strong { display: block; font-size: 12px; color: var(--aur-stone-900); }
.aur-hero__widget-head span span { display: block; font-size: 11px; color: var(--aur-stone-500); }

/* ------------------------------------------------------- Étapes 1-2-3 */

.aur-steps {
	display: grid;
	gap: 24px;
	margin-bottom: 40px;
}

@media (min-width: 768px) {
	.aur-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.aur-step {
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	background: var(--aur-cream);
	border: 1px solid var(--aur-stone-200);
	transition: border-color .18s ease;
}

.aur-section--cream .aur-step { background: #fff; }
.aur-step:hover { border-color: var(--aur-terracotta); }

.aur-step__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-bottom: 16px;
	border-radius: var(--aur-radius);
	background: var(--aur-terracotta);
	color: #fff;
	font-family: var(--aur-font-serif);
	font-size: 18px;
	font-weight: 700;
}

.aur-step__title { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.aur-step p { font-size: 13px; color: var(--aur-stone-600); line-height: 1.7; }

/* --------------------------------------------------------- Bandeau express */

.aur-express {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 40px;
	padding: 20px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-amber-200);
	background: linear-gradient(to right, var(--aur-amber-50), #fff7ed);
}

@media (min-width: 640px) {
	.aur-express { flex-direction: row; }
}

.aur-express__text { display: flex; align-items: center; gap: 12px; }

.aur-express__icon {
	display: flex;
	flex: none;
	padding: 10px;
	border-radius: var(--aur-radius);
	background: var(--aur-amber-500);
	color: #fff;
	box-shadow: var(--aur-shadow-xs);
}

.aur-express__text strong { display: block; font-size: 14px; color: var(--aur-stone-900); }
.aur-express__text > span > span { display: block; font-size: 12px; color: var(--aur-stone-600); margin-top: 2px; }

.aur-express__toggle {
	flex: none;
	padding: 10px 16px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-300);
	background: #fff;
	color: var(--aur-stone-800);
	font-size: 12px;
	font-weight: 700;
	transition: background-color .18s ease, color .18s ease;
}

.aur-express__toggle:hover { background: var(--aur-stone-50); }

.aur-express__toggle[aria-pressed="true"] {
	background: var(--aur-amber-600);
	border-color: var(--aur-amber-600);
	color: #fff;
}

/* ------------------------------------------------ Tarifs & simulateur */

.aur-retouches {
	display: grid;
	gap: 32px;
	align-items: start;
}

/* Sans min-width:0, la barre de filtres défilante étire la colonne de grille. */
.aur-retouches > *,
.aur-retouches__list > *,
.aur-filters > * {
	min-width: 0;
}

@media (min-width: 1024px) {
	.aur-retouches { grid-template-columns: 2fr 1fr; }
}

.aur-filters { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }

.aur-search { position: relative; }

.aur-search__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--aur-stone-400);
}

.aur-search input {
	width: 100%;
	padding: 11px 88px 11px 40px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-300);
	background: var(--aur-stone-50);
	font-size: 14px;
	color: var(--aur-stone-800);
}

.aur-search input:focus {
	outline: none;
	border-color: var(--aur-terracotta);
	box-shadow: 0 0 0 3px rgba(184, 91, 64, .18);
}

.aur-search__clear {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: 0;
	font-size: 12px;
	color: var(--aur-stone-500);
}

.aur-search__clear:hover { color: var(--aur-stone-800); }

.aur-pills {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 8px;
	scrollbar-width: none;
}

.aur-pills::-webkit-scrollbar { display: none; }

.aur-pill {
	flex: none;
	padding: 7px 14px;
	border: 0;
	border-radius: var(--aur-radius-full);
	background: var(--aur-stone-100);
	color: var(--aur-stone-700);
	font-size: 12px;
	font-weight: 500;
	white-space: nowrap;
	transition: background-color .18s ease, color .18s ease;
}

.aur-pill:hover { background: var(--aur-stone-200); }

.aur-pill.is-active {
	background: var(--aur-terracotta);
	color: #fff;
	font-weight: 600;
}

/* Filtre secondaire « niveau » : plus discret que les catégories. */
.aur-pills--niveau {
	align-items: center;
	margin-top: 4px;
}

.aur-pills__label {
	flex: none;
	font-size: 12px;
	font-weight: 600;
	color: var(--aur-stone-500);
	white-space: nowrap;
}

.aur-pill--sm { padding: 5px 12px; font-size: 11px; }

/* Chaque niveau prend sa couleur une fois actif (rappel du badge). Rampe
   distincte de l'ambre « Très demandé » : vert → cobalt → magenta. */
.aur-pill--simple.is-active     { background: var(--aur-emerald-500, #10b981); }
.aur-pill--complexe.is-active   { background: var(--aur-green); }
.aur-pill--sur-mesure.is-active { background: var(--aur-gold); color: var(--aur-navy); }

/* Badge de niveau sur les cartes de retouche. */
.aur-tag--niveau { text-transform: none; letter-spacing: 0; font-weight: 600; }
.aur-tag--niveau-simple     { background: var(--aur-emerald-100); color: var(--aur-emerald-900); }
.aur-tag--niveau-complexe   { background: var(--aur-mint); color: var(--aur-green); }
.aur-tag--niveau-sur-mesure { background: var(--aur-gold-tint); color: var(--aur-gold-dark); }

.aur-cards { display: flex; flex-direction: column; gap: 12px; }

.aur-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 18px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
	box-shadow: var(--aur-shadow-xs);
	transition: border-color .18s ease, box-shadow .18s ease;
}

.aur-card:hover {
	border-color: rgba(184, 91, 64, .5);
	box-shadow: var(--aur-shadow-sm);
}

.aur-card[hidden] { display: none; }

@media (min-width: 640px) {
	.aur-card { flex-direction: row; align-items: center; justify-content: space-between; }
}

.aur-card__body { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.aur-card__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 2px; }
.aur-card__title { font-size: 16px; font-weight: 700; }
.aur-card__desc { font-size: 12px; color: var(--aur-stone-600); line-height: 1.7; }

.aur-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
	font-size: 11px;
	color: var(--aur-stone-500);
}

.aur-card__aside {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	flex: none;
}

.aur-card__price { text-align: right; }

.aur-card__amount {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: var(--aur-terracotta);
}

.aur-card__hint { display: block; font-size: 10px; color: var(--aur-stone-400); }

.aur-add {
	display: inline-flex;
	align-items: center;
	padding: 9px 14px;
	border: 1px solid transparent;
	border-radius: var(--aur-radius);
	background: var(--aur-stone-900);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	transition: background-color .18s ease;
}

.aur-add:hover { background: var(--aur-terracotta); }

.aur-add__default,
.aur-add__added { display: inline-flex; align-items: center; gap: 6px; }
.aur-add__added { display: none; }

.aur-add.is-added {
	background: var(--aur-emerald-100);
	border-color: var(--aur-emerald-200);
	color: var(--aur-emerald-900);
}

.aur-add.is-added .aur-add__default { display: none; }
.aur-add.is-added .aur-add__added { display: inline-flex; }

.aur-empty {
	padding: 40px 16px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-stone-50);
	text-align: center;
	font-size: 14px;
	color: var(--aur-stone-500);
}

.aur-empty__hint { display: block; margin-top: 4px; font-size: 12px; color: var(--aur-stone-400); }

/* Simulateur */

.aur-simulator__inner {
	padding: 22px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-300);
	background: var(--aur-cream);
	box-shadow: var(--aur-shadow-md);
}

.aur-section--cream .aur-simulator__inner { background: #fff; }

/* Repère visuel après l'ajout d'une prestation, pour guider vers le simulateur. */
.aur-simulator--flash {
	animation: aur-simulator-flash 1.4s ease;
}

@keyframes aur-simulator-flash {
	0% { box-shadow: var(--aur-shadow-md), 0 0 0 0 rgba(184, 91, 64, .5); }
	20% { box-shadow: var(--aur-shadow-md), 0 0 0 6px rgba(184, 91, 64, .3); }
	100% { box-shadow: var(--aur-shadow-md), 0 0 0 0 rgba(184, 91, 64, 0); }
}

@media (min-width: 1024px) {
	.aur-simulator { position: sticky; top: 120px; }
}

.aur-simulator__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--aur-stone-200);
}

.aur-simulator__head h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 700;
}

.aur-simulator__count {
	padding: 2px 10px;
	border-radius: var(--aur-radius-full);
	background: var(--aur-terracotta);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.aur-simulator__empty {
	padding: 28px 8px;
	text-align: center;
	color: var(--aur-stone-500);
}

.aur-simulator__empty svg { margin: 0 auto 8px; }
.aur-simulator__empty p { font-size: 12px; font-weight: 500; }

.aur-simulator__items {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 15rem;
	overflow-y: auto;
	padding-right: 4px;
	margin-bottom: 12px;
}

.aur-simulator__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
	font-size: 12px;
}

.aur-simulator__item-name {
	display: block;
	font-weight: 700;
	color: var(--aur-stone-800);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.aur-simulator__item-detail { font-size: 11px; color: var(--aur-stone-500); }
.aur-simulator__item-side { display: flex; align-items: center; gap: 6px; flex: none; }
.aur-simulator__item-total { font-weight: 700; color: var(--aur-terracotta); }

.aur-simulator__remove {
	display: inline-flex;
	padding: 4px;
	background: none;
	border: 0;
	border-radius: 6px;
	color: var(--aur-stone-400);
	transition: color .18s ease;
}

.aur-simulator__remove:hover { color: var(--aur-rose-600); }

.aur-simulator__express {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--aur-stone-200);
	font-size: 12px;
	font-weight: 500;
	color: var(--aur-stone-700);
	cursor: pointer;
}

.aur-simulator__totals {
	margin: 12px 0;
	padding-top: 12px;
	border-top: 1px solid var(--aur-stone-300);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.aur-simulator__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	color: var(--aur-stone-600);
}

.aur-simulator__row--express { font-size: 12px; color: var(--aur-amber-700); font-weight: 500; }
.aur-simulator__row[hidden] { display: none; }

.aur-simulator__row--total {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--aur-stone-200);
	font-size: 15px;
	font-weight: 800;
	color: var(--aur-terracotta);
}

.aur-simulator__row--total strong { font-size: 20px; color: var(--aur-terracotta); }

.aur-simulator__note {
	margin-top: 10px;
	font-size: 11px;
	line-height: 1.5;
	text-align: center;
	color: var(--aur-stone-500);
}

/* ------------------------------------------------------ Cours & créneaux */

.aur-formules {
	display: grid;
	gap: 28px;
	margin-bottom: 48px;
}

@media (min-width: 768px) {
	.aur-formules { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.aur-formule {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
	box-shadow: var(--aur-shadow-xs);
	transition: box-shadow .18s ease;
}

.aur-formule:hover { box-shadow: var(--aur-shadow-md); }

.aur-formule__body { display: flex; flex-direction: column; gap: 14px; }

.aur-formule__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.aur-formule__duration { font-size: 12px; font-weight: 500; color: var(--aur-stone-500); }
.aur-formule__title { font-size: 20px; font-weight: 700; }
.aur-formule__desc { font-size: 13px; color: var(--aur-stone-600); line-height: 1.7; }

.aur-formule__features {
	padding: 12px 0;
	border-top: 1px solid var(--aur-stone-100);
	border-bottom: 1px solid var(--aur-stone-100);
}

.aur-formule__features-title {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 600;
	color: var(--aur-green);
}

.aur-formule__features li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 12px;
	color: var(--aur-stone-600);
	line-height: 1.5;
}

.aur-formule__features svg { margin-top: 2px; }
.aur-formule__audience { font-size: 11px; color: var(--aur-stone-400); }

.aur-formule__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--aur-stone-100);
}

.aur-formule__price span {
	display: block;
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--aur-stone-400);
}

.aur-formule__price strong { font-size: 15px; color: var(--aur-green); }

/* ------------------------------------------- Catalogue des cours (accordéon) */

.aur-catalog {
	margin: 32px 0;
}

.aur-catalog__head {
	margin-bottom: 16px;
	text-align: center;
}

.aur-catalog__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 700;
	color: var(--aur-stone-800);
}

.aur-catalog__lead {
	margin: 0 auto;
	max-width: 620px;
	font-size: 14px;
	color: var(--aur-stone-500);
}

.aur-catalog__theme {
	border: 1px solid var(--aur-stone-200);
	border-radius: var(--aur-radius-lg);
	background: #fff;
	margin-bottom: 10px;
	overflow: hidden;
}

.aur-catalog__theme[open] {
	border-color: var(--aur-blush-border);
	box-shadow: 0 4px 16px rgba(28, 25, 23, .05);
}

.aur-catalog__summary {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	color: var(--aur-stone-800);
	transition: background .15s;
}

.aur-catalog__summary::-webkit-details-marker { display: none; }
.aur-catalog__summary:hover { background: var(--aur-cream); }

.aur-catalog__theme-name { flex: 1 1 auto; }

.aur-catalog__theme-count {
	font-size: 12px;
	font-weight: 500;
	color: var(--aur-stone-400);
	white-space: nowrap;
}

.aur-catalog__chevron {
	flex: 0 0 auto;
	color: var(--aur-stone-400);
	transition: transform .2s ease;
}

.aur-catalog__theme[open] .aur-catalog__chevron { transform: rotate(180deg); }

.aur-catalog__body {
	padding: 0 18px 16px;
}

.aur-catalog__intro {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--aur-stone-500);
}

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

.aur-catalog__item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	padding: 10px 0;
	border-top: 1px dashed var(--aur-stone-200);
}

.aur-catalog__item:first-child { border-top: 0; }

.aur-catalog__item.is-forfait {
	margin: 4px -10px;
	padding: 10px;
	border-top: 0;
	border-radius: var(--aur-radius-md);
	background: var(--aur-mint);
}

.aur-catalog__name {
	flex: 1 1 220px;
	font-size: 14px;
	color: var(--aur-stone-700);
}

.aur-catalog__badge {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--aur-green);
	background: #fff;
	border: 1px solid var(--aur-mint);
	border-radius: var(--aur-radius-full);
}

.aur-catalog__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}

.aur-catalog__dur,
.aur-catalog__spots {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--aur-stone-500);
	white-space: nowrap;
}

.aur-catalog__price {
	font-size: 15px;
	font-weight: 700;
	color: var(--aur-terracotta);
	white-space: nowrap;
}

.aur-catalog__note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 14px 0 0;
	padding: 12px 14px;
	font-size: 13px;
	color: var(--aur-stone-600);
	background: var(--aur-cream);
	border-radius: var(--aur-radius-md);
}

@media (max-width: 520px) {
	.aur-catalog__meta { width: 100%; margin-left: 0; }
	.aur-catalog__price { margin-left: auto; }
}

/* --------------------------------------------- Encart « cours libre / projet » */

.aur-libre {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin: 0 0 28px;
	padding: 22px 24px;
	border-radius: var(--aur-radius-xl);
	background: var(--aur-mint);
	border: 1px solid var(--aur-blush-border);
}

.aur-libre__text { flex: 1 1 260px; }

.aur-libre__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	padding: 3px 12px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--aur-green);
	background: #fff;
	border-radius: var(--aur-radius-full);
}

.aur-libre__title {
	margin: 0 0 4px;
	font-size: 20px;
	font-weight: 700;
	color: var(--aur-stone-800);
}

.aur-libre__desc {
	margin: 0;
	font-size: 14px;
	color: var(--aur-stone-600);
}

.aur-libre__prices {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	flex: 1 1 240px;
}

.aur-libre__price {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.aur-libre__price strong {
	font-size: 18px;
	color: var(--aur-terracotta);
}

.aur-libre__price.is-forfait strong { color: var(--aur-green); }

.aur-libre__price span {
	font-size: 11px;
	color: var(--aur-stone-500);
}

.aur-libre .aur-btn { flex: 0 0 auto; }

/* -------------------------------------------------- Les 4 familles de cours */

.aur-families { margin: 0 0 32px; }

.aur-families__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

@media (min-width: 640px) {
	.aur-families__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aur-family {
	display: flex;
	flex-direction: column;
	padding: 20px;
	border-radius: var(--aur-radius-lg);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
}

.aur-family.is-featured {
	border-color: var(--aur-green);
	box-shadow: 0 6px 20px rgba(30, 103, 205, .08);
}

/*
 * Emplacement photo de la carte : bord à bord (marges négatives = padding de
 * la carte) pour que l'image touche l'arrondi. Ratio fixe et `object-fit`
 * pour qu'une photo portrait et une photo paysage donnent la même hauteur de
 * carte — sinon la grille se désaligne dès la première photo mal cadrée.
 */
.aur-family__media {
	/*
	 * Au-dessus de la surpiqûre (::after de la carte mise en avant) : sans ce
	 * plan, le liseré cousu barrerait la photo au lieu de border la carte.
	 */
	position: relative;
	z-index: 1;
	margin: -20px -20px 16px;
	border-radius: var(--aur-radius-lg) var(--aur-radius-lg) 0 0;
	overflow: hidden;
	background: var(--aur-stone-100);
}

.aur-family__media img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
}

/*
 * L'en-tête ne s'étire pas : c'est `.aur-family__foot { margin-top: auto }` qui
 * colle le pied en bas. Le laisser grandir creusait un vide entre l'accroche et
 * le bloc de détails sur les cartes au texte court.
 */
.aur-family__head { flex: 0 0 auto; }

.aur-family__star {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 8px;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #fff;
	background: var(--aur-green);
	border-radius: var(--aur-radius-full);
}

.aur-family__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
	color: var(--aur-stone-800);
}

.aur-family__num {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	font-size: 13px;
	font-weight: 700;
	color: var(--aur-green);
	background: var(--aur-mint);
	border-radius: var(--aur-radius-full);
}

.aur-family__pitch {
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--aur-stone-600);
}

/*
 * Bloc de détails (page dédiée uniquement) : « pour qui », ce qu'on apprend,
 * ce qu'on en repart. Il répond à la question qu'un tarif seul laisse ouverte
 * — ce que je vais réellement savoir faire en sortant.
 */
.aur-family__detail {
	margin: 0 0 16px;
	padding: 14px;
	border-radius: var(--aur-radius);
	background: var(--aur-stone-50);
	font-size: 13px;
	color: var(--aur-stone-600);
}

.aur-family__who,
.aur-family__outcome {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
}

.aur-family__who .aur-icon,
.aur-family__outcome .aur-icon,
.aur-family__learn .aur-icon {
	flex: 0 0 auto;
	margin-top: 2px;
}

.aur-family__who strong { color: var(--aur-stone-800); }

.aur-family__learn-title {
	margin: 12px 0 6px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--aur-stone-500);
}

.aur-family__learn {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 5px;
}

.aur-family__learn li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.aur-family__outcome {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--aur-stone-200);
	font-weight: 600;
	color: var(--aur-stone-800);
}

.aur-family__outcome .aur-icon { color: var(--aur-gold-dark); }

.aur-family__foot { margin-top: auto; }

.aur-family__from {
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
	color: var(--aur-stone-500);
}

.aur-family__from strong {
	font-size: 18px;
	color: var(--aur-terracotta);
}

.aur-family__tarifs {
	border-top: 1px solid var(--aur-stone-200);
	padding-top: 10px;
}

.aur-family__summary {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	list-style: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--aur-green);
}

.aur-family__summary::-webkit-details-marker { display: none; }

.aur-family__count {
	font-size: 12px;
	font-weight: 500;
	color: var(--aur-stone-400);
	margin-left: auto;
}

.aur-family__chevron { transition: transform .2s ease; }
.aur-family__tarifs[open] .aur-family__chevron { transform: rotate(180deg); }
.aur-family__tarifs .aur-catalog__list { margin-top: 10px; }

/* Lien vers le détail des tarifs (mode vitrine, sur l'accueil). */
.aur-family__link {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--aur-stone-200);
	font-size: 14px;
	font-weight: 600;
	color: var(--aur-green);
	text-decoration: none;
}

.aur-family__link:hover { color: var(--aur-terracotta); }
.aur-family__link .aur-family__count { margin-left: auto; }

.aur-families__cta {
	margin: 22px 0 0;
	text-align: center;
}

/* --------------------------------------------- L'atelier en images (galerie) */

/*
 * Mosaïque : la première photo occupe deux colonnes et deux rangées — sans
 * elle, huit vignettes identiques ressemblent à un catalogue de stock. Le
 * ratio est imposé par `aspect-ratio` : les photos de l'atelier arriveront de
 * toutes tailles, la grille ne doit pas bouger pour autant.
 */
.aur-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

@media (min-width: 640px) {
	.aur-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
	.aur-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
}

.aur-gallery__item {
	position: relative;
	margin: 0;
	border-radius: var(--aur-radius);
	overflow: hidden;
	background: var(--aur-stone-100);
}

.aur-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform .35s ease;
}

.aur-gallery__item:hover img { transform: scale(1.04); }

.aur-gallery__caption {
	position: absolute;
	inset: auto 0 0 0;
	padding: 18px 10px 8px;
	font-size: 12px;
	color: #fff;
	/* Dégradé plutôt qu'un aplat : la légende reste lisible sur photo claire. */
	background: linear-gradient(to top, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0));
}

@media (prefers-reduced-motion: reduce) {
	.aur-gallery__item img { transition: none; }
	.aur-gallery__item:hover img { transform: none; }
}

/* ------------------------------------------------------- Avant / après */

.aur-ba { margin: 0 0 32px; }

.aur-ba__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

@media (min-width: 768px) {
	.aur-ba__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aur-ba__item {
	margin: 0;
	padding: 12px;
	border: 1px solid var(--aur-stone-200);
	border-radius: var(--aur-radius-lg);
	background: #fff;
}

/*
 * Les deux photos côte à côte, jamais l'une sous l'autre : la comparaison ne
 * fonctionne que si l'œil passe de l'une à l'autre sans défiler.
 */
.aur-ba__pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.aur-ba__shot {
	position: relative;
	display: block;
	border-radius: var(--aur-radius-sm);
	overflow: hidden;
	background: var(--aur-stone-100);
}

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

.aur-ba__tag {
	position: absolute;
	top: 8px;
	left: 8px;
	padding: 3px 9px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	border-radius: var(--aur-radius-full);
}

.aur-ba__tag--before { color: #fff; background: rgba(22, 35, 63, .85); }
.aur-ba__tag--after { color: var(--aur-navy); background: var(--aur-gold-light); }

.aur-ba__body {
	display: block;
	padding: 12px 4px 2px;
}

.aur-ba__title {
	display: block;
	font-size: 15px;
	color: var(--aur-stone-800);
}

.aur-ba__garment {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--aur-terracotta);
}

.aur-ba__desc {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: var(--aur-stone-600);
}

/* ---------------------------------------------- Page dédiée « Cours » */

.aur-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	font-size: 13px;
	color: var(--aur-stone-500);
}

.aur-breadcrumb a { color: var(--aur-stone-600); }
.aur-breadcrumb a:hover { color: var(--aur-terracotta); }

.aur-coursintro__head { max-width: 760px; }

.aur-coursintro__title {
	margin: 12px 0 10px;
	font-size: clamp(28px, 5vw, 44px);
	font-weight: 700;
	line-height: 1.15;
	color: var(--aur-stone-900);
}

.aur-coursintro__lead {
	margin: 0 0 20px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--aur-stone-600);
}

.aur-coursintro__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.aur-coursintro__next {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 0;
	font-size: 14px;
	color: var(--aur-stone-600);
}

.aur-prose { max-width: 760px; }
.aur-prose p { margin: 0 0 1em; line-height: 1.7; color: var(--aur-stone-700); }

/* --- Questions fréquentes --- */

.aur-faq {
	max-width: 820px;
	margin: 0 auto;
}

.aur-faq__item {
	border: 1px solid var(--aur-stone-200);
	border-radius: var(--aur-radius-lg);
	background: #fff;
	margin-bottom: 10px;
	overflow: hidden;
}

.aur-faq__item[open] {
	border-color: var(--aur-blush-border);
	box-shadow: 0 4px 16px rgba(28, 25, 23, .05);
}

.aur-faq__question {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	cursor: pointer;
	list-style: none;
	font-size: 15px;
	font-weight: 600;
	color: var(--aur-stone-800);
}

.aur-faq__question::-webkit-details-marker { display: none; }
.aur-faq__question:hover { background: var(--aur-cream); }
.aur-faq__question > span:first-child { flex: 1 1 auto; }

.aur-faq__chevron {
	flex: 0 0 auto;
	color: var(--aur-stone-400);
	transition: transform .2s ease;
}

.aur-faq__item[open] .aur-faq__chevron { transform: rotate(180deg); }

.aur-faq__answer {
	margin: 0;
	padding: 0 18px 16px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--aur-stone-600);
}

.aur-faq__more {
	margin: 18px 0 0;
	text-align: center;
	font-size: 14px;
	color: var(--aur-stone-500);
}

/* ------------------------------------------------------- Créateurs (boutique) */

.aur-makers {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

@media (min-width: 640px) {
	.aur-makers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.aur-makers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.aur-maker {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--aur-radius-lg);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
}

.aur-maker__media {
	aspect-ratio: 4 / 3;
	background: var(--aur-stone-100);
}

/* Sans portrait : un aplat doux plutôt qu'un vide, pour que toutes les fiches
   gardent la même silhouette. */
.aur-maker__media--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--aur-stone-300);
	background: linear-gradient(135deg, var(--aur-blush) 0%, var(--aur-mint) 100%);
}

.aur-maker__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.aur-maker__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 18px;
}

.aur-maker__name {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 700;
	color: var(--aur-stone-800);
}

.aur-maker__craft {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--aur-terracotta);
}

.aur-maker__desc {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--aur-stone-600);
}

.aur-maker__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
}

.aur-maker__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 11px;
	font-size: 12px;
	font-weight: 600;
	color: var(--aur-stone-700);
	background: var(--aur-stone-100);
	border-radius: var(--aur-radius-full);
	text-decoration: none;
}

.aur-maker__link:hover {
	background: var(--aur-blush);
	color: var(--aur-terracotta);
}

/* ------------------------------------------------- Bloc « Acheter en ligne » */

.aur-online {
	margin: 0 0 32px;
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	background: var(--aur-cream);
	border: 1px solid var(--aur-stone-200);
}

.aur-online__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

@media (min-width: 560px) {
	.aur-online__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 900px) {
	.aur-online__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.aur-online__card {
	display: flex;
	flex-direction: column;
	padding: 16px;
	border-radius: var(--aur-radius-lg);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
}

.aur-online__name {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 700;
	color: var(--aur-stone-800);
}

.aur-online__desc {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--aur-stone-500);
}

.aur-online__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
}

.aur-online__price {
	font-size: 18px;
	color: var(--aur-terracotta);
}

/* Carte « bon cadeau » différenciée dans la grille d'achat. */
.aur-online__card--gift {
	position: relative;
	background: #fbf5e9;
	border-color: #ecd9b4;
}

.aur-online__gift-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	align-self: flex-start;
	margin-bottom: 8px;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--aur-navy);
	background: var(--aur-gold);
	border-radius: var(--aur-radius-full);
}

.aur-online__card--gift .aur-online__price { color: var(--aur-c-magenta); }

/* Bloc dédié « Offrir un cours » (fin de section, près des partages). */
.aur-gift {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
	margin-top: 28px;
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	background: linear-gradient(135deg, #fbf5e9 0%, #f4eee2 100%);
	border: 1px solid #ecd9b4;
	text-align: left;
}

.aur-gift__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	color: var(--aur-gold-light);
	background: var(--aur-navy);
	border-radius: var(--aur-radius-full);
}

.aur-gift__text { flex: 1 1 260px; }

.aur-gift__title {
	margin: 0 0 4px;
	font-size: 20px;
	font-weight: 700;
	color: var(--aur-stone-800);
}

.aur-gift__desc {
	margin: 0;
	font-size: 14px;
	color: var(--aur-stone-600);
}

.aur-gift__btn { flex: 0 0 auto; }

@media (max-width: 520px) {
	.aur-gift { text-align: center; flex-direction: column; }
	.aur-gift__btn { width: 100%; justify-content: center; }
}

.aur-calendar {
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
	box-shadow: var(--aur-shadow-sm);
}

@media (min-width: 640px) { .aur-calendar { padding: 32px; } }

.aur-calendar__head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--aur-stone-200);
}

@media (min-width: 640px) {
	.aur-calendar__head { flex-direction: row; align-items: center; justify-content: space-between; }
}

.aur-calendar__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 20px;
	font-weight: 700;
}

.aur-calendar__sub { margin-top: 4px; font-size: 12px; color: var(--aur-stone-500); }

.aur-calendar__filter {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--aur-stone-500);
}

.aur-calendar__filter select {
	padding: 7px 12px;
	border-radius: var(--aur-radius-sm);
	border: 1px solid var(--aur-stone-300);
	background: var(--aur-stone-50);
	font-size: 12px;
	font-weight: 500;
	color: var(--aur-stone-800);
}

.aur-slots { display: flex; flex-direction: column; gap: 12px; }

.aur-slot {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 16px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
	transition: border-color .18s ease;
}

.aur-slot:hover { border-color: var(--aur-green); }
.aur-slot[hidden] { display: none; }

@media (min-width: 640px) {
	.aur-slot { flex-direction: row; align-items: center; justify-content: space-between; }
}

.aur-slot__main { display: flex; flex-direction: column; gap: 6px; }
.aur-slot__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

.aur-slot__spots {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: var(--aur-stone-500);
}

.aur-slot__title { font-size: 16px; font-weight: 700; }

.aur-slot__desc {
	font-size: 12px;
	color: var(--aur-stone-600);
	line-height: 1.6;
	max-width: 42rem;
}

.aur-slot__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	font-size: 12px;
	color: var(--aur-stone-600);
}

.aur-slot__meta span { display: inline-flex; align-items: center; gap: 4px; }

.aur-slot__aside {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	flex: none;
}

.aur-slot__price { text-align: right; }
.aur-slot__price strong { display: block; font-size: 16px; color: var(--aur-green); }
.aur-slot__price span { display: block; font-size: 10px; color: var(--aur-stone-400); }

.aur-slot__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

.aur-slot__actions .aur-btn { white-space: nowrap; }

.aur-calendar__footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--aur-stone-200);
	font-size: 12px;
	color: var(--aur-stone-600);
	text-align: center;
}

@media (min-width: 640px) {
	.aur-calendar__footer { flex-direction: row; justify-content: space-between; text-align: left; }
}

.aur-calendar__footer a { font-weight: 700; color: var(--aur-green); }
.aur-calendar__footer a:hover { text-decoration: underline; }

/* ---------------------------------------------------------- Sur-mesure */

.aur-bespoke {
	display: grid;
	gap: 48px;
	align-items: center;
}

@media (min-width: 1024px) {
	.aur-bespoke { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aur-bespoke__text { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.aur-bespoke__lead { font-size: 15px; color: var(--aur-stone-600); line-height: 1.75; }

.aur-bespoke__list { display: flex; flex-direction: column; gap: 16px; }

.aur-bespoke__list li { display: flex; align-items: flex-start; gap: 12px; }

.aur-bespoke__icon {
	display: flex;
	flex: none;
	margin-top: 2px;
	padding: 6px;
	border-radius: var(--aur-radius-sm);
	background: var(--aur-blush);
	color: var(--aur-terracotta);
}

.aur-bespoke__list strong { display: block; font-size: 14px; color: var(--aur-stone-900); }
.aur-bespoke__list li > span > span { display: block; font-size: 12px; color: var(--aur-stone-500); line-height: 1.6; }

.aur-bespoke__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.aur-bespoke__stacks { display: flex; flex-direction: column; gap: 16px; }

.aur-stat,
.aur-process {
	padding: 20px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
}

.aur-section--cream .aur-stat,
.aur-section--cream .aur-process { background: #fff; }

.aur-stat__value {
	display: block;
	margin-bottom: 6px;
	font-family: var(--aur-font-serif);
	font-size: 24px;
	font-weight: 700;
}

.aur-stat__value--rose { color: var(--aur-terracotta); }
.aur-stat__value--green { color: var(--aur-green); }

.aur-stat strong { display: block; font-size: 14px; color: var(--aur-stone-900); }
.aur-stat > span:last-child { display: block; margin-top: 4px; font-size: 12px; color: var(--aur-stone-500); }

.aur-process {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	padding: 24px;
}

.aur-process__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--aur-radius);
	background: rgba(184, 91, 64, .1);
	color: var(--aur-terracotta);
}

.aur-process h3 { font-size: 18px; font-weight: 700; }

.aur-process ol {
	counter-reset: aur-process;
	font-size: 12px;
	color: var(--aur-stone-600);
	line-height: 1.8;
}

.aur-process li { counter-increment: aur-process; }
.aur-process li::before { content: counter(aur-process) ". "; }

/* ----------------------------------------------------------- À propos */

.aur-about {
	display: grid;
	gap: 40px;
	align-items: center;
	margin-bottom: 64px;
}

@media (min-width: 1024px) {
	.aur-about { grid-template-columns: 5fr 7fr; }
}

.aur-about__media { position: relative; margin: 0 auto; max-width: 24rem; width: 100%; }

@media (min-width: 1024px) { .aur-about__media { max-width: none; } }

.aur-about__frame {
	margin: 0;
	border-radius: var(--aur-radius-xl);
	overflow: hidden;
	border: 4px solid #fff;
	background: #fff;
	box-shadow: var(--aur-shadow-lg);
}

.aur-about__frame img { width: 100%; height: 340px; object-fit: cover; }

@media (min-width: 640px) { .aur-about__frame img { height: 384px; } }

.aur-about__badge {
	position: absolute;
	right: -12px;
	bottom: -16px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	border-radius: var(--aur-radius);
	background: #fff;
	border: 1px solid var(--aur-stone-200);
	box-shadow: var(--aur-shadow-lg);
}

.aur-about__years {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	border-radius: 50%;
	background: var(--aur-terracotta);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.aur-about__badge strong { display: block; font-size: 12px; color: var(--aur-stone-900); }
.aur-about__badge span span { display: block; font-size: 11px; color: var(--aur-stone-500); }

.aur-about__text { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }

.aur-about__quote { font-size: 16px; font-weight: 500; color: var(--aur-stone-700); }
.aur-about__body { font-size: 14px; color: var(--aur-stone-600); line-height: 1.8; }

.aur-about__reassurance {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	width: 100%;
	margin-top: 8px;
}

@media (min-width: 640px) {
	.aur-about__reassurance { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.aur-about__reassurance li {
	padding: 12px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
	font-size: 12px;
}

.aur-about__reassurance strong { display: block; margin-top: 4px; color: var(--aur-stone-900); }
.aur-about__reassurance span { font-size: 11px; color: var(--aur-stone-500); }

/* ------------------------------------------------------------- Avis */

.aur-reviews__head {
	max-width: 36rem;
	margin: 0 auto 32px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: center;
}

.aur-reviews__head h3 { font-size: 24px; font-weight: 700; }
.aur-reviews__sub { font-size: 12px; color: var(--aur-stone-500); }
.aur-reviews__sub strong { color: var(--aur-stone-900); }

.aur-stars { display: inline-flex; align-items: center; gap: 2px; color: var(--aur-amber-500); }

.aur-reviews__grid {
	display: grid;
	gap: 24px;
}

@media (min-width: 768px) {
	.aur-reviews__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.aur-review {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
	box-shadow: var(--aur-shadow-xs);
}

.aur-review__top { display: flex; align-items: center; justify-content: space-between; }
.aur-review__date { font-size: 10px; color: var(--aur-stone-400); }
.aur-review__mark { color: var(--aur-blush); stroke-width: 1; }
.aur-review__text { font-size: 13px; font-style: italic; color: var(--aur-stone-700); line-height: 1.8; }

.aur-review__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-top: 12px;
	border-top: 1px solid var(--aur-stone-100);
}

.aur-review__footer strong { display: block; font-size: 12px; color: var(--aur-stone-900); }
.aur-review__footer span span { display: block; font-size: 10px; color: var(--aur-stone-500); }

/* ----------------------------------------------------------- Contact */

.aur-contact {
	display: grid;
	gap: 40px;
	align-items: start;
}

@media (min-width: 1024px) {
	.aur-contact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aur-contact__info { display: flex; flex-direction: column; gap: 24px; }

.aur-contact__cards { display: grid; gap: 16px; }

@media (min-width: 640px) {
	.aur-contact__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aur-contact__card {
	padding: 16px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
}

.aur-contact__label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.aur-contact__label--rose { color: var(--aur-terracotta); }
.aur-contact__label--green { color: var(--aur-green); }

.aur-contact__value {
	display: block;
	font-family: var(--aur-font-serif);
	font-size: 18px;
	font-weight: 700;
	color: var(--aur-stone-900);
	overflow-wrap: anywhere;
}

.aur-contact__value--sm { font-size: 14px; }
.aur-contact__value:hover { color: var(--aur-terracotta); }
.aur-contact__hint { display: block; margin-top: 2px; font-size: 11px; color: var(--aur-stone-500); }

.aur-contact__block {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
}

.aur-contact__address { display: flex; align-items: flex-start; gap: 12px; }

.aur-contact__pin {
	display: flex;
	flex: none;
	padding: 10px;
	border-radius: var(--aur-radius);
	background: var(--aur-terracotta);
	color: #fff;
}

.aur-contact__address h3 { font-size: 18px; font-weight: 700; }
.aur-contact__address p { font-size: 12px; font-weight: 500; color: var(--aur-stone-700); }

.aur-contact__address a {
	display: inline-block;
	margin-top: 4px;
	font-size: 12px;
	font-weight: 700;
	color: var(--aur-terracotta);
}

.aur-contact__address a:hover { text-decoration: underline; }

.aur-contact__hours,
.aur-contact__access {
	padding-top: 12px;
	border-top: 1px solid var(--aur-stone-200);
	font-size: 12px;
}

.aur-contact__subtitle {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-weight: 700;
	color: var(--aur-stone-900);
}

.aur-contact__hours-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding-left: 24px;
	color: var(--aur-stone-700);
}

.aur-contact__hours-grid strong { display: block; }
.aur-contact__hours-grid span { display: block; }
.aur-contact__closed { color: var(--aur-rose-600); font-weight: 500; }

.aur-contact__access ul {
	padding-left: 24px;
	list-style: disc;
	font-size: 11px;
	color: var(--aur-stone-600);
	line-height: 1.7;
}

.aur-map {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-stone-100);
	text-align: center;
}

.aur-map__pin {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--aur-terracotta);
	color: #fff;
	box-shadow: var(--aur-shadow-md);
}

.aur-map strong { font-family: var(--aur-font-sans); font-size: 12px; color: var(--aur-stone-900); }
.aur-map > span:not(.aur-map__pin) { font-size: 11px; color: var(--aur-stone-500); }
.aur-map .aur-btn { margin-top: 8px; }

/* ------------------------------------------------------- Formulaires */

.aur-formcard {
	padding: 24px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-300);
	background: var(--aur-cream);
	box-shadow: var(--aur-shadow-sm);
}

@media (min-width: 640px) { .aur-formcard { padding: 32px; } }

.aur-formcard h3 { font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.aur-formcard__lead { margin-bottom: 24px; font-size: 12px; color: var(--aur-stone-600); }

.aur-form { display: flex; flex-direction: column; gap: 16px; }
.aur-form[hidden] { display: none; }

.aur-field { display: flex; flex-direction: column; gap: 6px; }

.aur-field label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: var(--aur-stone-700);
}

.aur-field input,
.aur-field select,
.aur-field textarea {
	width: 100%;
	padding: 11px 14px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-300);
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	color: var(--aur-stone-800);
}

.aur-field textarea { resize: vertical; }

.aur-field input:focus,
.aur-field select:focus,
.aur-field textarea:focus {
	outline: none;
	border-color: var(--aur-terracotta);
	box-shadow: 0 0 0 3px rgba(184, 91, 64, .18);
}

.aur-field-row { display: grid; gap: 16px; }

@media (min-width: 640px) {
	.aur-field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aur-honeypot {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.aur-form__error {
	padding: 10px 14px;
	border-radius: var(--aur-radius);
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
	font-size: 12px;
}

.aur-form__error[hidden] { display: none; }

.aur-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 24px 0;
	text-align: center;
}

.aur-success[hidden] { display: none; }

.aur-success__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--aur-emerald-100);
	color: var(--aur-emerald-600);
}

.aur-success h4 { font-size: 20px; font-weight: 700; }
.aur-success p { font-size: 13px; color: var(--aur-stone-600); max-width: 24rem; }

.aur-reference {
	display: inline-block;
	padding: 8px 18px;
	border-radius: var(--aur-radius-sm);
	border: 1px solid var(--aur-stone-300);
	background: var(--aur-stone-100);
	color: var(--aur-terracotta);
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .08em;
}

.aur-nextsteps {
	width: 100%;
	padding: 16px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
	text-align: left;
	font-size: 12px;
	color: var(--aur-stone-700);
}

.aur-nextsteps__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--aur-stone-900);
}

.aur-nextsteps ul { padding-left: 20px; list-style: disc; line-height: 1.7; }
.aur-nextsteps p { margin-bottom: 4px; }

/* ------------------------------------------------------------ Modales */

.aur-modal {
	position: fixed;
	inset: 0;
	z-index: 60;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 16px;
	overflow-y: auto;
}

.aur-modal[hidden] { display: none; }

.aur-modal__overlay {
	position: fixed;
	inset: 0;
	background: rgba(28, 25, 23, .6);
	backdrop-filter: blur(2px);
}

.aur-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 34rem;
	margin: 32px 0;
	border-radius: var(--aur-radius-xl);
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--aur-stone-200);
	box-shadow: var(--aur-shadow-xl);
	animation: aur-fade-in .18s ease;
}

.aur-modal__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 24px;
	color: #fff;
}

.aur-modal__head--rose { background: linear-gradient(to right, var(--aur-terracotta), var(--aur-terracotta-light)); }
.aur-modal__head--flat { background: var(--aur-terracotta); }
.aur-modal__head--green { background: linear-gradient(to right, var(--aur-green-dark), var(--aur-green)); }

.aur-modal__head--light {
	background: #fff;
	color: var(--aur-stone-900);
	border-bottom: 1px solid var(--aur-stone-200);
	justify-content: space-between;
}

.aur-modal__head h2 { font-size: 18px; font-weight: 700; color: inherit; }
.aur-modal__head p { font-size: 12px; opacity: .85; }
.aur-modal__head > span:nth-child(2) { flex: 1; }

.aur-modal__icon {
	display: flex;
	flex: none;
	padding: 8px;
	border-radius: var(--aur-radius-sm);
	background: rgba(255, 255, 255, .2);
}

.aur-modal__close {
	display: flex;
	flex: none;
	padding: 8px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .1);
	color: inherit;
	transition: background-color .18s ease;
}

.aur-modal__head--light .aur-modal__close { background: var(--aur-stone-100); color: var(--aur-stone-500); }
.aur-modal__close:hover { background: rgba(0, 0, 0, .2); }

.aur-modal__body { padding: 24px; }

.aur-notice {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 12px;
	border-radius: var(--aur-radius);
	border: 1px solid rgba(253, 230, 138, .8);
	background: var(--aur-cream);
	font-size: 12px;
	color: var(--aur-stone-700);
	line-height: 1.6;
}

.aur-notice--emerald {
	border-color: var(--aur-emerald-200);
	background: var(--aur-emerald-50);
	color: var(--aur-emerald-900);
}

.aur-urgent {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-amber-200);
	background: rgba(255, 251, 235, .7);
}

.aur-urgent label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 500;
	color: var(--aur-stone-800);
	cursor: pointer;
}

.aur-recap {
	padding: 16px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
}

.aur-recap__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--aur-stone-200);
	font-size: 14px;
	font-weight: 700;
	color: var(--aur-terracotta);
}

.aur-recap__list {
	max-height: 9rem;
	overflow-y: auto;
	font-size: 12px;
}

.aur-recap__list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 0;
	border-bottom: 1px solid var(--aur-stone-100);
}

.aur-recap__list strong { color: var(--aur-stone-900); }

.aur-recap__express {
	display: flex;
	justify-content: space-between;
	padding-top: 6px;
	font-size: 12px;
	font-weight: 500;
	color: var(--aur-amber-700);
}

.aur-recap__express[hidden] { display: none; }

.aur-slotcard {
	padding: 16px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
}

.aur-slotcard h4 { font-size: 15px; font-weight: 700; color: var(--aur-green-dark); margin-bottom: 8px; }

.aur-slotcard__desc {
	margin-bottom: 10px;
	font-size: 12px;
	color: var(--aur-stone-600);
	line-height: 1.6;
}

.aur-slotcard__desc[hidden] { display: none; }

.aur-slotcard__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	font-size: 12px;
	color: var(--aur-stone-600);
}

.aur-slotcard__meta > span { display: inline-flex; align-items: center; gap: 6px; }

.aur-slotcard__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--aur-stone-200);
	font-size: 12px;
	color: var(--aur-stone-500);
}

.aur-slotcard__foot strong { color: var(--aur-terracotta); }

.aur-legal p { margin-bottom: 10px; font-size: 13px; color: var(--aur-stone-600); line-height: 1.7; }
.aur-legal .aur-btn { margin-top: 12px; }

/* -------------------------------------------------------------- Toast */

.aur-toast {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 70;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 26rem;
	padding: 14px 18px;
	border-radius: var(--aur-radius);
	background: var(--aur-stone-900);
	border: 1px solid var(--aur-stone-800);
	color: #fff;
	box-shadow: var(--aur-shadow-xl);
	animation: aur-slide-up .22s ease;
}

.aur-toast[hidden] { display: none; }

.aur-toast__icon { display: flex; flex: none; }
.aur-toast__message { flex: 1; font-size: 14px; font-weight: 500; color: var(--aur-stone-100); }

.aur-toast__close {
	display: flex;
	padding: 4px;
	border: 0;
	background: none;
	color: var(--aur-stone-400);
}

.aur-toast__close:hover { color: #fff; }

@media (min-width: 640px) {
	.aur-toast { right: 24px; bottom: 24px; }
}

/* -------------------------------------------------------------- Footer */

.aur-footer {
	background: var(--aur-stone-900);
	color: var(--aur-stone-300);
	font-size: 13px;
	padding: 48px 0;
	border-top: 1px solid var(--aur-stone-800);
}

.aur-footer__grid {
	display: grid;
	gap: 32px;
	margin-bottom: 40px;
}

@media (min-width: 768px) {
	.aur-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.aur-footer__logo { margin-bottom: 16px; }

/* Logo officiel complet, en blanc, sur le marine du pied de page. Dimensionné
   par la hauteur ; largeur libre. Le nom est déjà dans le logo — pas de texte
   redondant à côté. */
.aur-footer__logo-img {
	display: block;
	height: 84px;
	width: auto;
	max-width: 100%;
}
.aur-footer__desc { font-size: 12px; color: var(--aur-stone-400); line-height: 1.7; }

.aur-footer__title {
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
}

.aur-footer__row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 12px;
	color: var(--aur-stone-400);
}

.aur-footer__row a:hover { color: #fff; }
.aur-footer__indent { padding-left: 24px; font-size: 12px; color: var(--aur-stone-400); }
.aur-footer__muted { color: var(--aur-stone-500); }

.aur-footer__list { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--aur-stone-400); }
.aur-footer__list a:hover { color: #fff; }

.aur-footer__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding-top: 32px;
	border-top: 1px solid var(--aur-stone-800);
	font-size: 11px;
	color: var(--aur-stone-500);
	text-align: center;
}

@media (min-width: 640px) {
	.aur-footer__bottom { flex-direction: row; justify-content: space-between; text-align: left; }
}

.aur-footer__legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; }
.aur-footer__legal-link { color: var(--aur-stone-400); text-decoration: underline; text-underline-offset: 2px; }
.aur-footer__legal-link:hover { color: #fff; }
.aur-footer__love { display: inline-flex; align-items: center; gap: 4px; color: var(--aur-stone-400); }

@media (min-width: 640px) {
	.aur-footer__legal { justify-content: flex-end; }
}

/* ----------------------------------------------- Pages secondaires */

.aur-page { padding: 64px 16px; }
.aur-page--center { text-align: center; }
.aur-page__head { margin-bottom: 24px; }
.aur-page__title { font-size: 32px; font-weight: 800; letter-spacing: -.02em; }
.aur-page__lead { margin: 12px 0 24px; color: var(--aur-stone-600); }
.aur-page__thumb { margin: 0 0 24px; border-radius: var(--aur-radius-xl); overflow: hidden; }

.aur-prose { max-width: 46rem; color: var(--aur-stone-700); line-height: 1.8; }
.aur-prose p, .aur-prose ul, .aur-prose ol, .aur-prose figure { margin-bottom: 20px; }
.aur-prose h2, .aur-prose h3 { margin: 32px 0 12px; }
.aur-prose ul { list-style: disc; padding-left: 24px; }
.aur-prose ol { list-style: decimal; padding-left: 24px; }
.aur-prose a { color: var(--aur-terracotta); text-decoration: underline; }

.aur-posts { display: grid; gap: 32px; }

@media (min-width: 768px) {
	.aur-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.aur-post {
	padding: 20px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: #fff;
}

.aur-post__thumb { display: block; margin-bottom: 16px; border-radius: var(--aur-radius); overflow: hidden; }
.aur-post__title { font-size: 20px; font-weight: 700; }
.aur-post__date { margin: 4px 0 8px; font-size: 12px; color: var(--aur-stone-500); }
.aur-post__excerpt { font-size: 14px; color: var(--aur-stone-600); }

/* ---------------------------------------------------------- Animations */

@keyframes aur-fade-in {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: none; }
}

@keyframes aur-slide-up {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

@keyframes aur-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-6px); }
}

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

html { scroll-behavior: smooth; scroll-padding-top: 120px; }

body.aur-menu-open,
body.aur-modal-open { overflow: hidden; }

/* --------------------------------------------------------- Commentaires */

.aur-comments { max-width: 46rem; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--aur-stone-200); }
.aur-comments__title { font-size: 20px; font-weight: 700; margin-bottom: 20px; }
.aur-comments__list { display: flex; flex-direction: column; gap: 20px; margin-bottom: 32px; }
.aur-comments__list .children { margin-top: 16px; padding-left: 24px; border-left: 2px solid var(--aur-stone-200); }
.aur-comments .comment-body { font-size: 14px; color: var(--aur-stone-700); }
.aur-comments .comment-meta { font-size: 12px; color: var(--aur-stone-500); margin-bottom: 8px; }

.aur-comments input[type="text"],
.aur-comments input[type="email"],
.aur-comments input[type="url"],
.aur-comments textarea {
	width: 100%;
	padding: 11px 14px;
	border-radius: var(--aur-radius);
	border: 1px solid var(--aur-stone-300);
	background: #fff;
	font-family: inherit;
	font-size: 14px;
}

.aur-comments .comment-form > p { margin-bottom: 16px; }

/* Le libellé du bouton « Voir créneaux » ne doit pas se couper en deux lignes. */
.aur-formule__footer .aur-btn { white-space: nowrap; }
.aur-formule__price { min-width: 0; }

/* -------------------------------------------------------- Bannière PWA */

.aur-pwa {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 80;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	max-width: 32rem;
	margin: 0 auto;
	padding: 14px 44px 14px 16px;
	border-radius: var(--aur-radius-lg);
	background: #fff;
	border: 1px solid var(--aur-stone-200);
	box-shadow: var(--aur-shadow-xl);
	transform: translateY(140%);
	opacity: 0;
	transition: transform .28s ease, opacity .28s ease;
}

.aur-pwa.is-visible { transform: translateY(0); opacity: 1; }

.aur-pwa__icon {
	display: flex;
	flex: none;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: var(--aur-radius);
	background: var(--aur-blush);
	color: var(--aur-terracotta);
}

.aur-pwa__icon svg { width: 22px; height: 22px; }

.aur-pwa__text {
	flex: 1 1 11rem;
	min-width: 0;
	margin: 0;
	font-size: 13px;
	line-height: 1.4;
	color: var(--aur-stone-800);
}

.aur-pwa__actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-left: auto; }

.aur-pwa__btn {
	padding: 9px 14px;
	border: 0;
	border-radius: var(--aur-radius);
	background: var(--aur-terracotta);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}

.aur-pwa__btn:hover { background: var(--aur-terracotta-dark); }

.aur-pwa__later {
	padding: 9px 6px;
	border: 0;
	background: none;
	color: var(--aur-stone-500);
	font-size: 12px;
	white-space: nowrap;
}

.aur-pwa__later:hover { color: var(--aur-stone-800); }

.aur-pwa__close {
	position: absolute;
	top: 8px;
	right: 10px;
	border: 0;
	background: none;
	color: var(--aur-stone-400);
	font-size: 20px;
	line-height: 1;
	padding: 2px 6px;
}

.aur-pwa__close:hover { color: var(--aur-stone-800); }

@media (max-width: 420px) {
	.aur-pwa__text { flex-basis: 100%; }
	.aur-pwa__actions { margin-left: 52px; }
}

/* La bannière PWA n'a aucun sens une fois l'app installée (mode autonome). */
@media (display-mode: standalone) {
	.aur-pwa { display: none !important; }
}

/* ============================================================================
   Skin coloré (inspiration Sew + Sew Studio) — coloré mais sobre
   Superpose ses règles au thème de base sans en modifier la structure.
   ========================================================================= */

/* Toutes ces règles ne s'appliquent QUE si body porte .aur-skin-colorful. */

/* Boutons en pilules (rayon total) */
.aur-skin-colorful .aur-btn,
.aur-skin-colorful .aur-add,
.aur-skin-colorful .aur-express__toggle,
.aur-skin-colorful .aur-pill { border-radius: var(--aur-radius-full); }

.aur-skin-colorful .aur-btn { letter-spacing: .01em; }

/* Bouton d'action sombre = aubergine (comme « Book now » / « Send ») */
.aur-skin-colorful .aur-btn--dark { background: var(--aur-c-aubergine); }
.aur-skin-colorful .aur-btn--dark:hover { background: #241a34; }

/* Étapes du process : numéros multicolores.
   « background-color » et non le raccourci « background » : ce dernier
   remettrait background-image à none et effacerait les trous du bouton de
   couture (motif ci-dessous), car ces règles sont plus spécifiques. */
.aur-skin-colorful .aur-step:nth-of-type(1) .aur-step__number { background-color: var(--aur-c-teal); }
.aur-skin-colorful .aur-step:nth-of-type(2) .aur-step__number { background-color: var(--aur-c-coral); }
.aur-skin-colorful .aur-step:nth-of-type(3) .aur-step__number { background-color: var(--aur-c-cobalt); }

/* ---------------------------------------------------------------------------
   Motifs « couture » — trois rappels qui partagent le même vocabulaire (le
   point de piqûre), pour que l'identité se répète au lieu de s'additionner.
   Réservés au skin coloré ; purement décoratifs (aucun contenu n'en dépend).
   --------------------------------------------------------------------------- */

/* Motif « bouton de couture » : les numéros d'étapes deviennent des boutons.
   Les quatre trous sont peints en dégradés radiaux — aucun balisage en plus. */
.aur-skin-colorful .aur-step__number {
	width: 44px;
	height: 44px;
	border-radius: var(--aur-radius-full);
	box-shadow:
		inset 0 0 0 2.5px rgba(255, 255, 255, .38),
		0 2px 5px rgba(28, 25, 23, .18);
	/* Opacité assez marquée pour que les trous se lisent aussi sur le cobalt,
	   la plus sombre des trois couleurs d'étape. */
	background-image:
		radial-gradient(circle at 14px 14px, rgba(0, 0, 0, .42) 2.2px, transparent 2.5px),
		radial-gradient(circle at 30px 14px, rgba(0, 0, 0, .42) 2.2px, transparent 2.5px),
		radial-gradient(circle at 14px 30px, rgba(0, 0, 0, .42) 2.2px, transparent 2.5px),
		radial-gradient(circle at 30px 30px, rgba(0, 0, 0, .42) 2.2px, transparent 2.5px);
}

/* Motif « surpiqûre » : un liseré cousu en retrait, comme la finition d'un
   vêtement. Sur les blocs mis en avant seulement — s'il était partout, il ne
   distinguerait plus rien. */
.aur-skin-colorful .aur-family.is-featured,
.aur-skin-colorful .aur-libre,
.aur-skin-colorful .aur-gift { position: relative; }

.aur-skin-colorful .aur-family.is-featured::after,
.aur-skin-colorful .aur-libre::after,
.aur-skin-colorful .aur-gift::after {
	content: "";
	position: absolute;
	inset: 6px;
	border: 1.5px dashed currentColor;
	pointer-events: none;
	opacity: .38;
}

.aur-skin-colorful .aur-family.is-featured::after {
	border-radius: calc(var(--aur-radius-lg) - 3px);
	color: var(--aur-c-cobalt);
}

.aur-skin-colorful .aur-libre::after {
	border-radius: calc(var(--aur-radius-xl) - 3px);
	color: var(--aur-c-cobalt);
}

.aur-skin-colorful .aur-gift::after {
	border-radius: calc(var(--aur-radius-xl) - 3px);
	color: var(--aur-c-magenta);
}

/* Marque de l'atelier (le A à l'aiguille) dans l'en-tête et le pied de page. */
.aur-logomark {
	display: block;
	width: 100%;
	height: 100%;
}

/* Motif « séparateur cousu » : rendu par regina_custom_seam_divider(). */
.aur-stitchsep {
	display: block;
	line-height: 0;
	padding: 0 24px;
}

.aur-stitchsep svg {
	display: block;
	width: 100%;
	height: 10px;
	overflow: visible;
}

/* Statistiques sur-mesure : accents colorés */
.aur-skin-colorful .aur-stat__value--rose { color: var(--aur-c-coral); }
.aur-skin-colorful .aur-stat__value--green { color: var(--aur-c-cobalt); }

/* Touches de script manuscrit (rappel du « studio » de Sew + Sew) */
.aur-skin-colorful .aur-about__quote {
	font-family: var(--aur-font-script);
	font-style: normal;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.3;
	color: var(--aur-c-teal);
}

.aur-skin-colorful .aur-footer__love { font-family: var(--aur-font-script); font-weight: 600; font-size: 15px; }

/* Footer aubergine + fine frise multicolore en haut (nod Sew + Sew, sobre) */
.aur-skin-colorful .aur-footer {
	position: relative;
	background: var(--aur-c-aubergine);
	border-top: 0;
}

.aur-skin-colorful .aur-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 6px;
	background: linear-gradient(90deg,
		var(--aur-c-teal) 0 25%,
		var(--aur-c-coral) 25% 50%,
		var(--aur-c-cobalt) 50% 75%,
		var(--aur-gold) 75% 100%);
}

.aur-skin-colorful .aur-footer__bottom { border-top-color: rgba(255, 255, 255, .12); }

/* Séparateur pointillé réutilisable (identité Sew + Sew) */
.aur-dashed {
	border: 0;
	border-top: 3px dashed var(--aur-c-teal);
	opacity: .55;
	margin: 0;
}

/* Titres : Poppins un peu plus resserré (géométrique) */
.aur-skin-colorful h1,
.aur-skin-colorful h2,
.aur-skin-colorful h3,
.aur-skin-colorful h4 { letter-spacing: -.015em; }

/* -------------------------------------- Cran + : majuscules, bandeaux, Memphis */

/* Boutons et pilules en MAJUSCULES espacées (façon Sew + Sew) */
.aur-skin-colorful .aur-btn,
.aur-skin-colorful .aur-add,
.aur-skin-colorful .aur-pill,
.aur-skin-colorful .aur-express__toggle {
	text-transform: uppercase;
	letter-spacing: .07em;
	font-weight: 600;
}

/* On garde une casse normale là où la majuscule nuirait à la lecture (liens légaux, later) */
.aur-skin-colorful .aur-linkbtn,
.aur-skin-colorful .aur-pwa__later { text-transform: none; letter-spacing: normal; }

/* Frise décorative Memphis sous le bandeau de contact */
/* Frise « couture » : le bandeau aubergine cousu à la page (skin coloré). */
.aur-seam {
	/* L'aubergine sous le SVG prolonge le bandeau du haut, sans rupture. */
	background: var(--aur-green-dark);
	overflow: hidden;
	line-height: 0;
}

.aur-seam__svg {
	display: block;
	width: 100%;
	height: 24px;
}

/* Bandeaux de couleur pleine largeur entre les sections */
.aur-bande {
	padding: 44px 0;
	color: #fff;
	text-align: center;
}

.aur-bande__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.aur-bande__text {
	margin: 0;
	font-family: var(--aur-font-serif);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.aur-bande .aur-icon { color: rgba(255, 255, 255, .9); flex: none; }

@media (min-width: 768px) {
	.aur-bande { padding: 56px 0; }
	.aur-bande__text { font-size: 28px; }
}

.aur-bande--cobalt    { background: var(--aur-c-cobalt); }
.aur-bande--coral     { background: var(--aur-c-coral); }
.aur-bande--teal      { background: var(--aur-c-teal); }
.aur-bande--mustard   { background: var(--aur-c-mustard); }
.aur-bande--orchid    { background: var(--aur-c-orchid); }
.aur-bande--magenta   { background: var(--aur-c-magenta); }
.aur-bande--aubergine { background: var(--aur-c-aubergine); }

/* ============================================================================
   v1.5.0 — démarcation cours, formules multicolores, bouton cours, colonne services
   ========================================================================= */

/* --- Section « Cours de couture » démarquée par une couleur (coloré) --- */
.aur-skin-colorful #cours {
	background: #eef2f9; /* teinte bleu profond claire */
	border-top: 3px solid var(--aur-c-cobalt);
	border-bottom: 3px solid var(--aur-c-cobalt);
}

.aur-skin-colorful #cours .aur-section__title { color: var(--aur-c-cobalt); }

/* --- Cartes de formules : une couleur par carte (coloré) --- */
.aur-skin-colorful .aur-formule { border-top: 5px solid var(--aur-card, var(--aur-c-teal)); }
.aur-skin-colorful .aur-formule:nth-of-type(1) { --aur-card: var(--aur-c-teal); }
.aur-skin-colorful .aur-formule:nth-of-type(2) { --aur-card: var(--aur-c-coral); }
.aur-skin-colorful .aur-formule:nth-of-type(3) { --aur-card: var(--aur-c-mustard); }
.aur-skin-colorful .aur-formule:nth-of-type(4) { --aur-card: var(--aur-c-cobalt); }

.aur-skin-colorful .aur-formule .aur-tag--mint { background: var(--aur-card); color: #fff; }
.aur-skin-colorful .aur-formule .aur-formule__price strong { color: var(--aur-card); }
.aur-skin-colorful .aur-formule .aur-btn--dark { background: var(--aur-card); color: #fff; }
.aur-skin-colorful .aur-formule .aur-btn--dark:hover { filter: brightness(.92); }
.aur-skin-colorful .aur-formule .aur-formule__features-title { color: var(--aur-card); }

/* --- Bouton « Découvrir les cours » : coloré, plus blanc (coloré) --- */
.aur-skin-colorful .aur-hero__actions .aur-btn--ghost {
	background: var(--aur-c-cobalt);
	color: #fff;
	border-color: transparent;
	box-shadow: var(--aur-shadow-sm);
}

.aur-skin-colorful .aur-hero__actions .aur-btn--ghost:hover { background: #1a55b8; }
.aur-skin-colorful .aur-hero__actions .aur-btn--ghost .aur-icon { color: #fff; }

/* --- Article de blog en deux colonnes + encart services --- */
.aur-single {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	padding: 64px 16px;
}

.aur-single__main { padding: 0; }

@media (min-width: 1024px) {
	.aur-single {
		grid-template-columns: minmax(0, 1fr) 320px;
		align-items: start;
	}
	.aur-single__aside { position: sticky; top: 120px; }
}

.aur-services-box {
	padding: 22px;
	border-radius: var(--aur-radius-xl);
	border: 1px solid var(--aur-stone-200);
	background: var(--aur-cream);
	box-shadow: var(--aur-shadow-xs);
}

.aur-services-box__title { font-size: 18px; font-weight: 700; margin-bottom: 14px; }

.aur-services-box__list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }

.aur-services-box__list a {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px;
	border-radius: var(--aur-radius);
	transition: background-color .18s ease;
}

.aur-services-box__list a:hover { background: var(--aur-blush); }

.aur-services-box__icon {
	display: flex;
	flex: none;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	border-radius: var(--aur-radius-sm);
	background: var(--aur-blush);
	color: var(--aur-terracotta);
}

.aur-services-box__list strong { display: block; font-size: 14px; color: var(--aur-stone-900); }
.aur-services-box__list li span span { display: block; font-size: 12px; color: var(--aur-stone-500); line-height: 1.4; }

.aur-widget { margin-bottom: 24px; }
.aur-widget__title { font-size: 18px; font-weight: 700; margin-bottom: 12px; }

/* ------------------------------------------------------------------
   Installation de l'app (v1.5.1)
   Bouton permanent + modale d'instructions par navigateur.
   ------------------------------------------------------------------ */

.aur-pwa-install {
	gap: .45rem;
	white-space: nowrap; /* « Installer l'app » doit tenir sur une ligne. */
}

/* Le bouton du header reste discret ; il ne doit pas concurrencer l'action
   principale « Déposer une retouche ». */
.aur-navbar__actions .aur-pwa-install {
	border: 1px solid var(--aur-stone-200);
	background: transparent;
	color: var(--aur-stone-800);
}

.aur-navbar__actions .aur-pwa-install:hover {
	background: var(--aur-cream);
	border-color: var(--aur-terracotta);
	color: var(--aur-terracotta);
}

.aur-skin-colorful .aur-navbar__actions .aur-pwa-install:hover {
	border-color: var(--aur-c-cobalt);
	color: var(--aur-c-cobalt);
}

/* Bouton d'installation retiré de la barre de navigation à toutes les tailles :
   - sur ordinateur, les navigateurs offrent déjà leur propre icône
     d'installation (barre d'adresse), et les notifications fonctionnent sans
     installer — le bouton faisait doublon ;
   - sous 1024 px, la barre passe au menu burger et c'est le bouton du menu
     mobile qui prend le relais (indispensable sur Safari iOS, sans invite native).
   Le bouton reste donc uniquement dans le menu mobile. */
.aur-navbar__actions .aur-pwa-install {
	display: none;
}

/* --- Modale d'instructions --- */

.aur-install__intro {
	margin: 0 0 1.25rem;
	color: var(--aur-stone-600);
}

.aur-install__steps h3 {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .75rem;
	font-size: 1rem;
	color: var(--aur-terracotta);
}

.aur-skin-colorful .aur-install__steps h3 {
	color: var(--aur-c-cobalt);
}

.aur-install__steps ol {
	margin: 0 0 1rem;
	/* Le reset global met list-style:none sur les listes : on le rétablit ici. */
	list-style: decimal;
	padding-left: 1.35rem;
	display: grid;
	gap: .6rem;
	color: var(--aur-stone-800);
	line-height: 1.5;
}

.aur-install__steps li::marker {
	color: var(--aur-terracotta);
	font-weight: 700;
}

.aur-skin-colorful .aur-install__steps li::marker {
	color: var(--aur-c-cobalt);
}

.aur-install__note {
	margin: 0 0 1.25rem;
	padding: .7rem .9rem;
	border-radius: var(--aur-radius-sm);
	background: var(--aur-cream);
	font-size: .875rem;
	color: var(--aur-stone-600);
}

.aur-install__steps[hidden] {
	display: none;
}

/* ------------------------------------------------------------------
   Partage (v1.7.0)
   Boutons de partage : liens simples, aucun script tiers.
   ------------------------------------------------------------------ */

.aur-share {
	margin: 2rem 0 0;
}

.aur-share__title {
	margin: 0 0 .7rem;
	font-size: .9rem;
	font-weight: 600;
	color: var(--aur-stone-600);
}

.aur-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.aur-share__btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .5rem .85rem;
	border: 1px solid var(--aur-stone-200);
	border-radius: var(--aur-radius-full);
	background: #fff;
	color: var(--aur-stone-700);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
}

.aur-share__btn:hover {
	background: var(--aur-cream);
	border-color: var(--aur-terracotta);
	color: var(--aur-terracotta);
}

/* Couleurs de marque au survol : repère visuel immédiat, sans saturer au repos. */
.aur-share__btn--whatsapp:hover { background: #25d366; border-color: #25d366; color: #fff; }
.aur-share__btn--facebook:hover { background: #1877f2; border-color: #1877f2; color: #fff; }

.aur-share__btn--native {
	background: var(--aur-terracotta);
	border-color: var(--aur-terracotta);
	color: #fff;
}

.aur-share__btn--native:hover {
	background: var(--aur-terracotta-dark);
	border-color: var(--aur-terracotta-dark);
	color: #fff;
}

.aur-share__btn--copy.is-copied {
	background: var(--aur-emerald-50);
	border-color: var(--aur-c-mint);
	color: #0b6e4f;
}

/* Le bouton natif reste masqué tant que share.js ne l'a pas révélé. */
.aur-share__btn[hidden] {
	display: none !important;
}

/* Variantes d'emplacement */
.aur-share--center { text-align: center; }
.aur-share--center .aur-share__list { justify-content: center; }

.aur-share--inline { margin-top: 1rem; }

.aur-share--success {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--aur-stone-200);
}

.aur-share--success .aur-share__title {
	font-weight: 500;
	font-size: .85rem;
}

/* Version resserrée (confirmations) : icônes seules sur petit écran. */
@media (max-width: 479px) {
	.aur-share--compact .aur-share__btn span { display: none; }
	.aur-share--compact .aur-share__btn { padding: .55rem; }
}

/* --- Encart « Recommander l'atelier » --- */

.aur-recommend {
	display: flex;
	gap: 1rem;
	margin-top: 2.5rem;
	padding: 1.5rem;
	border-radius: var(--aur-radius-lg);
	background: var(--aur-cream);
	border: 1px solid var(--aur-stone-200);
}

.aur-recommend__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: var(--aur-radius-full);
	background: #fff;
	color: var(--aur-terracotta);
}

.aur-recommend__body h3 {
	margin: 0 0 .4rem;
	font-size: 1.05rem;
	color: var(--aur-stone-900);
}

.aur-recommend__body p {
	margin: 0;
	color: var(--aur-stone-600);
	line-height: 1.6;
}

.aur-skin-colorful .aur-recommend {
	background: var(--aur-blush);
	border-color: var(--aur-blush-border);
}

.aur-skin-colorful .aur-recommend__icon { color: var(--aur-c-magenta); }

.aur-skin-colorful .aur-share__btn--native {
	background: var(--aur-c-cobalt);
	border-color: var(--aur-c-cobalt);
}

.aur-skin-colorful .aur-share__btn--native:hover {
	background: var(--aur-c-aubergine);
	border-color: var(--aur-c-aubergine);
}

@media (max-width: 639px) {
	.aur-recommend {
		flex-direction: column;
		gap: .75rem;
		padding: 1.25rem;
	}
}

/* --- Créneau partagé : bouton d'invitation + mise en valeur à l'arrivée --- */

.aur-slot__share {
	gap: .35rem;
}

.aur-slot__share.is-copied {
	background: var(--aur-emerald-50);
	border-color: var(--aur-c-mint);
	color: #0b6e4f;
}

/* Halo à l'arrivée depuis un lien partagé (?creneau=123), calqué sur celui
   du simulateur pour rester cohérent. */
.aur-slot--flash {
	animation: aur-slot-flash 2.4s ease-out;
}

@keyframes aur-slot-flash {
	0%   { box-shadow: 0 0 0 0 rgba(184, 91, 64, .5); }
	20%  { box-shadow: 0 0 0 6px rgba(184, 91, 64, .3); }
	100% { box-shadow: 0 0 0 0 rgba(184, 91, 64, 0); }
}

.aur-skin-colorful .aur-slot--flash {
	animation-name: aur-slot-flash-colorful;
}

@keyframes aur-slot-flash-colorful {
	0%   { box-shadow: 0 0 0 0 rgba(31, 43, 243, .45); }
	20%  { box-shadow: 0 0 0 6px rgba(31, 43, 243, .28); }
	100% { box-shadow: 0 0 0 0 rgba(31, 43, 243, 0); }
}

/* Respecte le réglage système « réduire les animations ». */
@media (prefers-reduced-motion: reduce) {
	.aur-slot--flash { animation: none; outline: 2px solid var(--aur-terracotta); }
}

/* --- Réservation : nombre de personnes et total --- */

.aur-field--people[hidden] { display: none; }

.aur-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 16px;
	padding: 10px 14px;
	border-radius: var(--aur-radius-sm);
	background: var(--aur-cream);
	border: 1px solid var(--aur-stone-200);
	font-size: .9rem;
	color: var(--aur-stone-600);
}

.aur-total[hidden] { display: none; }

.aur-total strong {
	font-size: 1.1rem;
	color: var(--aur-terracotta);
}

.aur-skin-colorful .aur-total strong { color: var(--aur-c-cobalt); }

/* --- Onglets du calendrier : filtre par public (v1.10.0) --- */

.aur-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0 0 1.25rem;
}

.aur-tab {
	padding: .45rem 1rem;
	border: 1px solid var(--aur-stone-200);
	border-radius: var(--aur-radius-full);
	background: #fff;
	color: var(--aur-stone-600);
	font-size: .85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
}

.aur-tab:hover {
	border-color: var(--aur-terracotta);
	color: var(--aur-terracotta);
}

.aur-tab.is-active {
	background: var(--aur-terracotta);
	border-color: var(--aur-terracotta);
	color: #fff;
}

.aur-skin-colorful .aur-tab:hover {
	border-color: var(--aur-c-cobalt);
	color: var(--aur-c-cobalt);
}

.aur-skin-colorful .aur-tab.is-active {
	background: var(--aur-c-cobalt);
	border-color: var(--aur-c-cobalt);
	color: #fff;
}

/* --- Encart « Prochain cours » de l'accroche (v1.11.0) --- */

.aur-hero__widget--cours {
	left: auto;
	right: -16px;
	bottom: auto;
	top: 28px;
	/* Décalage d'animation : les deux encarts ne flottent pas à l'unisson. */
	animation-delay: 1.6s;
}

.aur-hero__widget-icon--cours {
	background: var(--aur-mint);
	color: var(--aur-green);
}

.aur-hero__widget-title {
	margin: 10px 0 12px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--aur-stone-900);
}

/* Sur les écrans intermédiaires, deux encarts flottants se chevauchent :
   on ne garde que celui des cours, le dépôt restant accessible en un clic
   depuis l'en-tête. */
@media (max-width: 1023px) {
	.aur-hero__widget:not(.aur-hero__widget--cours) { display: none; }
}

/* Sur téléphone, les encarts flottants sont masqués par défaut. Le prochain
   cours est justement ce qu'on veut montrer en premier : on le réaffiche, mais
   dans le flux (plus de superposition) et sans animation. */
@media (max-width: 639px) {
	.aur-hero__widget--cours {
		display: block;
		position: static;
		max-width: none;
		margin-top: 20px;
		animation: none;
	}
}

/* ------------------------------------------------------------------
   Mode application installée (v1.12.0)
   Barre d'onglets en bas + bandeau masqué. Ces règles ne s'appliquent
   QUE dans l'app installée : le site consulté au navigateur est inchangé.
   ------------------------------------------------------------------ */

.aur-appbar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(10px);
	border-top: 1px solid var(--aur-stone-200);
	/* Encoche / barre de gestes des iPhone : sans cette marge, les onglets
	   passent sous la barre système et deviennent difficiles à toucher. */
	padding-bottom: env(safe-area-inset-bottom, 0);
	box-shadow: 0 -2px 12px rgba(28, 25, 23, .06);
}

.aur-appbar__link {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	/* Cible tactile confortable, recommandation d'accessibilité. */
	min-height: 56px;
	padding: 8px 4px;
	color: var(--aur-stone-500);
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
	transition: color .15s;
}

.aur-appbar__link.is-active,
.aur-appbar__link:active {
	color: var(--aur-terracotta);
}

.aur-skin-colorful .aur-appbar__link.is-active,
.aur-skin-colorful .aur-appbar__link:active {
	color: var(--aur-c-cobalt);
}

/* --- Révélation en mode application (classe posée par le script du <head>) --- */

.aur-app .aur-appbar { display: flex; }

/* Le bandeau horaires/adresse fait « site web » et mange de la hauteur :
   les coordonnées restent accessibles par l'onglet Contact. */
.aur-app .aur-topbar { display: none; }

/* En mode app, le menu mobile (hamburger) n'est pas utile : la barre d'onglets
   en bas offre une meilleure navigation. */
.aur-app .aur-burger,
.aur-app .aur-mobile-menu { display: none; }

/* Réserve la hauteur de la barre pour que le bas de page reste atteignable. */
.aur-app body,
.aur-app .aur-footer { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)); }

/* Repli si le script n'a pas pu s'exécuter : la media query prend le relais. */
@media (display-mode: standalone) {
	.aur-appbar { display: flex; }
	.aur-topbar { display: none; }
	.aur-burger,
	.aur-mobile-menu { display: none; }
	.aur-footer { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)); }
}

/* Au-delà du téléphone, une barre d'onglets n'a plus de sens : la navigation
   de l'en-tête est déjà entièrement visible. */
@media (min-width: 768px) {
	.aur-app .aur-appbar,
	.aur-appbar { display: none; }
	.aur-app .aur-topbar { display: block; }
	.aur-app body,
	.aur-app .aur-footer,
	.aur-footer { padding-bottom: 0; }
}

/* ============================================================ WooCommerce
   Pages natives WooCommerce (boutique, fiche produit, panier, commande).
   Le thème est une vitrine ; sans ces règles, les images produit s'affichent
   à leur taille brute — d'où des visuels démesurés. On les borne partout, dans
   les deux styles. */

.woocommerce img,
.woocommerce-page img { max-width: 100%; height: auto; }

/* Un peu d'air sous l'en-tête (les pages WC n'ont pas le rembourrage des sections). */
.woocommerce, .woocommerce-page { padding-top: 24px; padding-bottom: 40px; }

/* Fiche produit : l'image occupe une colonne raisonnable, pas toute la page. */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce-page div.product .woocommerce-product-gallery {
	max-width: 420px;
}
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--aur-radius); }

@media (min-width: 768px) {
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce-page div.product .woocommerce-product-gallery { width: 44%; float: left; margin-right: 6%; }
	.woocommerce div.product .summary,
	.woocommerce-page div.product .summary { width: 50%; float: left; }
	.woocommerce div.product::after,
	.woocommerce-page div.product::after { content: ""; display: table; clear: both; }
}

/* Boutique : grille de produits, vignette pleine largeur de sa case. */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
	width: 100%;
	height: auto;
	border-radius: var(--aur-radius);
}

/* Panier & commande : petites vignettes, jamais pleine page. */
.woocommerce table.shop_table img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table img,
.woocommerce .cart_item img {
	width: 64px;
	height: auto;
	border-radius: var(--aur-radius-sm);
}
