/* Parcours et espace ambassadeur (L5-08, F-AMB-05, section 7 du prompt du 2 novembre 2026) : création du compte, choix du code, code et partage, commerçants,
   commissions. Jetons du thème, mobile d'abord. Règle de LT : le bouton principal est visible sans défiler à 360 px. */

/* Sur téléphone, l'en-tête de page se réduit à son titre : le formulaire et son bouton tiennent au-dessus de la barre du bas. */
@media (max-width: 639px) {
	body .kmb-page:has(.kmb-amb-flow, .kmb-ambassador) .kmb-breadcrumb {
		display: none;
	}

	body .kmb-page:has(.kmb-amb-flow, .kmb-ambassador) .kmb-page__head .kmb-container {
		padding-block: var(--kmb-space-2) 0;
	}

	body .kmb-page:has(.kmb-amb-flow, .kmb-ambassador) .kmb-page__title {
		margin-block: 0 var(--kmb-space-1);
		font-size: var(--kmb-fs-h3);
	}

	body .kmb-page:has(.kmb-amb-flow, .kmb-ambassador) .kmb-page__body {
		padding-block-start: var(--kmb-space-2);
	}

	body .kmb-amb-flow.kmb-auth {
		margin-block-start: 0;
	}

	body .kmb-amb-flow .kmb-auth__card {
		padding-block: var(--kmb-space-3);
	}

	body .kmb-amb-flow .kmb-form {
		gap: var(--kmb-space-3);
	}

	body .kmb-amb-flow .kmb-auth__switch {
		margin-block: var(--kmb-space-2) 0;
	}
}

/* Boutons centrés : le bouton principal prend toute la largeur de la carte, sans dépasser 22 rem sur grand écran. */
body .kmb-amb-flow .kmb-form__submit {
	justify-self: center;
	justify-content: center;
	inline-size: 100%;
	max-inline-size: 22rem;
}

body .kmb-amb-flow__input {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: var(--kmb-fw-semibold);
}

/* Réponse de la vérification : une ligne, sa place réservée (rien ne bouge quand elle arrive). Couleur, signe et texte : jamais la couleur seule. */
body .kmb-amb-flow__status {
	min-block-size: 1.5em;
	margin: 0;
	font-size: var(--kmb-fs-small);
	font-weight: var(--kmb-fw-semibold);
}

body .kmb-amb-flow__status[data-state="free"] {
	color: var(--kmb-success-600);
}

body .kmb-amb-flow__status[data-state="free"]::before {
	content: "\2713\00a0";
}

body .kmb-amb-flow__status[data-state="refused"] {
	color: var(--kmb-danger-700);
}

body .kmb-amb-flow__status[data-state="refused"]::before {
	content: "\2715\00a0";
}

body .kmb-amb-flow__offers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--kmb-space-2);
	margin-block-start: var(--kmb-space-2);
}

body .kmb-amb-flow__offers[hidden] {
	display: none;
}

body .kmb-amb-flow__offer {
	padding-inline: var(--kmb-space-3);
	letter-spacing: 0.04em;
}

body .kmb-ambassador {
	display: grid;
	gap: var(--kmb-space-6);
	max-inline-size: 56rem;
	margin-inline: auto;
	padding-block: var(--kmb-space-2) var(--kmb-space-6);
	padding-inline: var(--kmb-space-4);
}

body .kmb-ambassador__block h2 {
	margin: 0 0 var(--kmb-space-3);
}

/* Le code en gros, le lien, le QR code et les boutons, centrés. */
body .kmb-ambassador__share {
	display: grid;
	justify-items: center;
	gap: var(--kmb-space-3);
	min-inline-size: 0;
	text-align: center;
}

body .kmb-ambassador__code {
	margin: 0;
	color: var(--kmb-brand-600);
	font-size: clamp(2rem, 10vw, 3rem);
	font-weight: var(--kmb-fw-bold);
	letter-spacing: 0.04em;
	line-height: 1.15;
	overflow-wrap: anywhere;
}

/* Un code de 11 à 15 caractères tient sur une ligne à 360 px. */
body .kmb-ambassador__code--long {
	font-size: clamp(1.5rem, 7vw, 2.5rem);
}

body .kmb-ambassador__url {
	inline-size: min(100%, 28rem);
	text-align: center;
	text-overflow: ellipsis;
}

body .kmb-ambassador__share .kmb-ambassador__qr {
	inline-size: 7rem;
	block-size: 7rem;
}

body .kmb-ambassador__form {
	display: grid;
	gap: var(--kmb-space-3);
	max-inline-size: 28rem;
	margin-inline: auto;
}

body .kmb-ambassador__change > summary {
	color: var(--kmb-ink-600);
	font-size: var(--kmb-fs-small);
	text-align: center;
	cursor: pointer;
}

body .kmb-ambassador__change[open] > summary {
	margin-block-end: var(--kmb-space-3);
}

body .kmb-ambassador__terms {
	margin: 0 0 var(--kmb-space-3);
	color: var(--kmb-ink-600);
	font-size: var(--kmb-fs-small);
}

body .kmb-ambassador__label {
	display: block;
	margin-block: var(--kmb-space-3) var(--kmb-space-2);
	color: var(--kmb-ink-600);
	font-size: var(--kmb-fs-small);
}

body .kmb-ambassador__table {
	inline-size: 100%;
	border-collapse: collapse;
}

body .kmb-ambassador__table th,
body .kmb-ambassador__table td {
	padding-block: var(--kmb-space-2);
	padding-inline: var(--kmb-space-2);
	border-block-end: 1px solid var(--kmb-line-200);
	text-align: start;
	font-size: var(--kmb-fs-small);
}

body .kmb-ambassador__table th {
	color: var(--kmb-ink-600);
	font-weight: var(--kmb-fw-semibold);
}

/* Carte de l'ambassadeur (F-AMB-02) : format A6, logo, QR code, code, phrase. Imprimée seule. */
body .kmb-ambassador__card {
	display: grid;
	justify-items: center;
	gap: var(--kmb-space-3);
	inline-size: min(100%, 14rem);
	margin-inline: auto;
	aspect-ratio: 105 / 148;
	padding: var(--kmb-space-4);
	border: 1px solid var(--kmb-line-200);
	border-radius: var(--kmb-radius-md);
	background: var(--kmb-surface-0);
	color: var(--kmb-ink-900);
	text-align: center;
}

body .kmb-ambassador__logo {
	inline-size: 9rem;
	block-size: auto;
}

body .kmb-ambassador__qr {
	inline-size: 9rem;
	block-size: 9rem;
}

body .kmb-ambassador__qr svg {
	inline-size: 100%;
	block-size: 100%;
}

body .kmb-ambassador__card-code {
	margin: 0;
	color: var(--kmb-brand-600);
	font-weight: var(--kmb-fw-semibold);
	letter-spacing: 0.08em;
}

body .kmb-ambassador__card-text {
	margin: 0;
	font-size: var(--kmb-fs-small);
}

/* Rangées de boutons toujours centrées. Sur téléphone, un bouton par ligne, sur toute la largeur. */
body .kmb-ambassador__actions {
	display: grid;
	gap: var(--kmb-space-2);
	inline-size: 100%;
	margin: 0;
}

body .kmb-ambassador__actions .kmb-btn {
	justify-content: center;
	text-align: center;
}

@media (min-width: 40rem) {
	body .kmb-ambassador__actions {
		grid-auto-flow: column;
		justify-content: center;
		gap: var(--kmb-space-3);
	}

	body .kmb-ambassador__share .kmb-ambassador__qr {
		inline-size: 10rem;
		block-size: 10rem;
	}
}

@media print {
	@page {
		size: 105mm 148mm;
		margin: 10mm;
	}

	body * {
		visibility: hidden;
	}

	body .kmb-ambassador__card,
	body .kmb-ambassador__card * {
		visibility: visible;
	}

	body .kmb-ambassador__card {
		position: absolute;
		inset: 0;
		inline-size: 100%;
		border: 0;
	}
}
