/* Val des Arbres – outils du syndicat.
   Les couleurs viennent du thème Val des Arbres ; valeurs de repli sinon. */

.vda-notice,
.vda-card,
.vda-alert,
.vda-locked {
	--_forest: var(--vda-forest, #2c4a37);
	--_moss: var(--vda-moss, #5f7d4f);
	--_wood: var(--vda-wood, #8b5e3c);
	--_paper: var(--vda-paper, #fffdf8);
	--_line: var(--vda-line, #e3dccd);
	--_ink: var(--vda-ink, #26302a);
	--_muted: var(--vda-muted, #66705f);
	--_radius: var(--vda-radius, 14px);
}

/* ---------- Bandeau d'avis ---------- */

.vda-notice {
	background: #e8f0e0;
	border-bottom: 1px solid #c9d8bb;
	color: #22351f;
	font-size: 0.97rem;
}
.vda-notice--urgent {
	background: #f9e3df;
	border-bottom-color: #e8b8b0;
	color: #5d1d15;
}
.vda-notice__inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0.75rem 1.25rem;
	display: flex;
	gap: 0.9rem;
	align-items: baseline;
	flex-wrap: wrap;
}
.vda-notice__label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: #2c4a37;
	color: #fff;
	white-space: nowrap;
}
.vda-notice--urgent .vda-notice__label { background: #a1332b; }
.vda-notice__body strong { margin-right: 0.4rem; }

/* ---------- Éléments communs ---------- */

.vda-card {
	background: var(--_paper);
	border: 1px solid var(--_line);
	border-radius: var(--_radius);
	padding: 1.5rem;
	margin: 1.5rem 0;
	color: var(--_ink);
}
.vda-btn,
.vda-login input[type="submit"] {
	display: inline-block;
	background: var(--_forest);
	color: #fff !important;
	border: 0;
	border-radius: 999px;
	padding: 0.7rem 1.35rem;
	font: inherit;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.15s ease;
}
.vda-btn:hover,
.vda-login input[type="submit"]:hover { background: var(--_moss); }
.vda-btn--ghost {
	background: transparent;
	color: var(--_forest) !important;
	box-shadow: inset 0 0 0 1.5px var(--_forest);
}
.vda-btn--ghost:hover { background: rgba(44, 74, 55, 0.08); }
.vda-link-btn {
	background: none;
	border: 0;
	padding: 0;
	color: #a1332b;
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
}
.vda-small { font-size: 0.88rem; color: var(--_muted); }
.vda-actions { display: flex; gap: 0.6rem; flex-wrap: wrap; }

.vda-alert {
	border-radius: var(--_radius);
	padding: 0.9rem 1.1rem;
	margin: 1rem 0;
	border: 1px solid;
}
.vda-alert--success { background: #e8f0e0; border-color: #c9d8bb; color: #22351f; }
.vda-alert--error { background: #f9e3df; border-color: #e8b8b0; color: #5d1d15; }

.vda-locked {
	background: #f3efe5;
	border: 1px dashed var(--_line);
	border-radius: var(--_radius);
	padding: 1.25rem 1.5rem;
	margin: 1.5rem 0;
}
.vda-locked p:last-child { margin-bottom: 0; }

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

.vda-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1.1rem;
}
.vda-field { margin: 0 0 1rem; }
.vda-field--full { grid-column: 1 / -1; }
.vda-field label,
.vda-login label {
	display: block;
	font-weight: 600;
	font-size: 0.92rem;
	margin-bottom: 0.35rem;
}
.vda-optional { font-weight: 400; color: var(--_muted); }
.vda-form input[type="date"],
.vda-form input[type="text"],
.vda-form input[type="tel"],
.vda-form input[type="number"],
.vda-form select,
.vda-form textarea,
.vda-login input[type="text"],
.vda-login input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.8rem;
	border: 1px solid #cfc6b4;
	border-radius: 10px;
	background: #fff;
	font: inherit;
	color: var(--_ink);
}
.vda-form input:focus,
.vda-form select:focus,
.vda-form textarea:focus,
.vda-login input:focus {
	outline: 2px solid var(--_moss);
	outline-offset: 1px;
	border-color: var(--_moss);
}
.vda-rules {
	background: #f3efe5;
	border-radius: 10px;
	padding: 0.9rem 1.1rem;
	margin: 0.5rem 0 1rem;
	font-size: 0.93rem;
}
.vda-rules__title { font-weight: 700; margin: 0 0 0.4rem; }
.vda-rules ul { margin: 0; padding-left: 1.2rem; }
.vda-check label { display: flex; gap: 0.5rem; align-items: flex-start; }
.vda-check input { margin-top: 0.3rem; }

.vda-login { max-width: 460px; }
.vda-login p { margin: 0 0 1rem; }
.vda-login .login-remember label { display: inline; font-weight: 400; }
.vda-welcome__hello { font-size: 1.25rem; font-weight: 700; margin-top: 0; }

/* ---------- Calendrier ---------- */

.vda-cal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
}
.vda-cal__title { margin: 0; font-size: 1.3rem; }
.vda-cal__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	border: 1px solid var(--_line);
	color: var(--_forest);
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1;
}
.vda-cal__nav:hover { background: #f3efe5; }
.vda-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
}
.vda-cal__wd {
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--_muted);
	padding-bottom: 0.3rem;
}
.vda-cal__day {
	min-height: 4.6rem;
	border-radius: 8px;
	background: #f7f3ea;
	padding: 0.35rem;
	display: flex;
	flex-direction: column;
	gap: 3px;
	font-size: 0.8rem;
}
.vda-cal__day--empty { background: transparent; }
.vda-cal__day.is-past { opacity: 0.45; }
.vda-cal__day.is-today { box-shadow: inset 0 0 0 2px var(--_moss); }
.vda-cal__num { font-weight: 700; }
.vda-cal__slot {
	display: block;
	border-radius: 5px;
	padding: 2px 4px;
	font-size: 0.7rem;
	line-height: 1.25;
}
.vda-cal__slot--approved { background: var(--_forest); color: #fff; }
.vda-cal__slot--pending { background: #f1d9a8; color: #5a3d06; }
.vda-cal__legend {
	margin: 0.9rem 0 0;
	font-size: 0.85rem;
	color: var(--_muted);
	display: flex;
	align-items: center;
	gap: 0.4rem;
	flex-wrap: wrap;
}
.vda-cal__key {
	display: inline-block;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 3px;
	margin-left: 0.6rem;
}
.vda-cal__key:first-child { margin-left: 0; }
.vda-cal__key--approved { background: var(--_forest); }
.vda-cal__key--pending { background: #f1d9a8; }

/* ---------- Mes demandes ---------- */

.vda-mine h3 { margin-top: 0; }
.vda-mine__list { list-style: none; margin: 0; padding: 0; }
.vda-mine__item {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	padding: 0.75rem 0;
	border-top: 1px solid var(--_line);
}
.vda-mine__item:first-child { border-top: 0; }
.vda-badge {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.1rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
}
.vda-badge--pending { background: #f1d9a8; color: #5a3d06; }
.vda-badge--approved { background: #d7e6cd; color: #22351f; }
.vda-badge--declined { background: #f3cfc9; color: #5d1d15; }
.vda-badge--cancelled { background: #e4e1da; color: #55524a; }

@media (max-width: 640px) {
	.vda-grid { grid-template-columns: 1fr; }
	.vda-card { padding: 1.1rem; }
	.vda-cal__day { min-height: 3.4rem; padding: 0.25rem; }
	.vda-cal__slot { font-size: 0; height: 6px; padding: 0; }
}
