/**
 * Sélecteur zones d’intervention (pays → régions → communes)
 */
.zone-intervention-picker.zi-shell {
	--zi-accent: var(--bs-primary, #2A8491);
	--zi-surface: #f8fafc;
	--zi-border: rgba(15, 23, 42, 0.08);
	border-radius: 1rem;
	border: 1px solid var(--zi-border);
	background: #fff;
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

.zi-shell .js-zone-ui {
	background: linear-gradient(180deg, var(--zi-surface) 0%, #fff 28%);
	border: none !important;
	max-height: min(68vh, 520px) !important;
}

.zi-head {
	background: linear-gradient(135deg, rgba(42, 132, 145, 0.07) 0%, rgba(255, 255, 255, 0) 60%);
	border-bottom: 1px solid var(--zi-border);
}

.zi-tab-rail {
	scrollbar-width: thin;
	scrollbar-color: rgba(13, 110, 253, 0.35) transparent;
}

.zi-tab-rail::-webkit-scrollbar {
	height: 6px;
}

.zi-tab-rail::-webkit-scrollbar-thumb {
	background: rgba(13, 110, 253, 0.35);
	border-radius: 999px;
}

.zi-tab-btn {
	white-space: nowrap;
	font-weight: 600;
	font-size: 0.875rem;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
	border-width: 1px;
}

.zi-tab-btn:not(.active):hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.zi-tab-btn.active {
	box-shadow: 0 2px 12px rgba(13, 110, 253, 0.25);
}

.zi-panel {
	animation: ziFade 0.2s ease;
}

@keyframes ziFade {
	from {
		opacity: 0.85;
	}
	to {
		opacity: 1;
	}
}

.zi-region-block {
	border-radius: 0.75rem;
	border: 1px solid var(--zi-border);
	background: #fff;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.zi-region-block:hover {
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
	border-color: rgba(13, 110, 253, 0.22);
}

.zi-region-block__bar {
	width: 4px;
	border-radius: 4px;
	background: linear-gradient(180deg, var(--zi-accent), rgba(42, 132, 145, 0.35));
	flex-shrink: 0;
}

.zi-communes-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.4rem 0.75rem;
}

@media (min-width: 576px) {
	.zi-communes-grid {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	}
}

.zi-communes-grid .form-check {
	margin-bottom: 0;
	padding-left: 1.6rem;
	min-height: 0;
}

.zi-communes-grid .form-check-input {
	margin-top: 0.2rem;
}

.zi-communes-grid .form-check-label {
	font-size: 0.8125rem;
	line-height: 1.3;
}

.zi-hint {
	font-size: 0.75rem;
	color: #64748b;
}
