/* ==========================================================
   Yum Cantine – Compte Membre : styles frontend
   ========================================================== */

.yum-cantine-member-account {
	--yum-primary:       #1a73e8;
	--yum-primary-hover: #1557b0;
	--yum-error:         #d93025;
	--yum-success:       #188038;
	--yum-border:        #dadce0;
	--yum-radius:        8px;

	max-width: 520px;
	margin: 0 auto;
	font-family: inherit;
}

/* ---- Étapes ---- */

.yum-step {
	padding: 2rem;
	border: 1px solid var( --yum-border );
	border-radius: var( --yum-radius );
	background: #fff;
}

.yum-step__title {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
	font-weight: 600;
}

.yum-step__intro {
	margin: 0 0 1.5rem;
	color: #5f6368;
	font-size: 0.95rem;
}

/* ---- Formulaire ---- */

.yum-form {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.yum-label {
	font-size: 0.875rem;
	font-weight: 500;
	color: #3c4043;
}

.yum-input {
	padding: 0.625rem 0.875rem;
	border: 1px solid var( --yum-border );
	border-radius: var( --yum-radius );
	font-size: 1rem;
	font-family: inherit;
	transition: border-color 0.15s, box-shadow 0.15s;
	width: 100%;
	box-sizing: border-box;
	margin-top: 0.25rem;
}

.yum-input:focus {
	outline: none;
	border-color: var( --yum-primary );
	box-shadow: 0 0 0 3px rgba( 26, 115, 232, 0.18 );
}

.yum-input--code {
	letter-spacing: 0.35em;
	font-size: 1.75rem;
	text-align: center;
	max-width: 220px;
}

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

.yum-form__actions {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 0.75rem;
}

.yum-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.625rem 1.25rem;
	border: none;
	border-radius: var( --yum-radius );
	font-size: 0.95rem;
	font-family: inherit;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s, opacity 0.15s;
	line-height: 1;
	text-decoration: none;
}

.yum-btn + .yum-btn { margin-top: 0; }

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

.yum-btn--primary {
	background: var( --yum-primary );
	color: #fff;
	margin-top: 0.75rem;
}

.yum-btn--primary:hover:not( :disabled ) {
	background: var( --yum-primary-hover );
}

.yum-btn--ghost {
	background: transparent;
	color: var( --yum-primary );
	padding-left: 0;
}

.yum-btn--ghost:hover:not( :disabled ) {
	text-decoration: underline;
}

.yum-btn--logout {
	margin-top: 1rem;
	color: #80868b;
}

.yum-btn--save {
	background: #188038;
	color: #fff;
	margin-top: 1.5rem;
}

.yum-btn--save:hover:not( :disabled ) {
	background: #0f5829;
}

/* ---- Champs éditables ---- */

.yum-input--edit {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0.3rem 0.5rem;
	font-size: 0.9rem;
	border-color: #aaa;
	width: 100%;
	box-sizing: border-box;
}

.yum-input--edit:focus {
	border-color: var( --yum-primary );
	box-shadow: 0 0 0 2px rgba( 26, 115, 232, 0.18 );
}

textarea.yum-input--edit {
	resize: vertical;
	font-family: inherit;
}

.yum-profile-footer {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.yum-save-message {
	font-size: 0.875rem;
	min-height: 1.25em;
}

/* ---- Messages ---- */

.yum-message {
	min-height: 1.25em;
	font-size: 0.875rem;
	margin-top: 0.75rem;
}

.yum-message--error   { color: var( --yum-error ); }
.yum-message--success { color: var( --yum-success ); }

/* ---- Profil ---- */

.yum-profile-header {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.yum-profile-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	overflow: hidden;
	background: #e8eaed;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.25rem;
	flex-shrink: 0;
}

.yum-profile-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.yum-profile-name {
	font-size: 1.25rem;
	font-weight: 600;
}

.yum-profile-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0.6rem 1.5rem;
	margin: 0;
	padding: 0;
}

.yum-profile-list dt {
	font-weight: 500;
	color: #5f6368;
	font-size: 0.85rem;
	align-self: baseline;
	overflow-wrap: anywhere;
}

.yum-profile-list dd {
	margin: 0;
	font-size: 0.95rem;
	word-break: break-word;
}

.yum-profile-list dd a {
	color: var( --yum-primary );
}

.yum-tag {
	display: inline-block;
	padding: 0.15rem 0.55rem;
	background: #e8f0fe;
	color: #1a73e8;
	border-radius: 100px;
	font-size: 0.8rem;
	margin: 0.1rem;
}
