/*
 * Etnafes – Carte des gouvernorats
 *
 * Pour adapter les couleurs à la charte, redéfinissez ces variables
 * (Elementor → Réglages du site → CSS personnalisé), par exemple :
 *
 *   .etnafes-carte { --etnafes-carte-actif: #0f5e5a; }
 */
.etnafes-carte {
	--etnafes-carte-actif: #b5552f;           /* gouvernorat avec produits */
	--etnafes-carte-survol: #7f3417;          /* survol / focus clavier */
	--etnafes-carte-inactif: #d9d4cc;         /* gouvernorat « Bientôt » */
	--etnafes-carte-contour: #ffffff;         /* frontières */
	--etnafes-carte-focus: #1d3557;           /* anneau de focus */
	--etnafes-carte-infobulle-fond: #2b2118;
	--etnafes-carte-infobulle-texte: #ffffff;
	--etnafes-carte-bouton-fond: #ffffff;
	--etnafes-carte-bouton-texte: #2b2118;
	--etnafes-carte-bouton-bordure: #b5552f;
	--etnafes-carte-texte-discret: #6b625a;
	--etnafes-carte-encart-fond: #fffaf2;     /* encart Grand Tunis */
	--etnafes-carte-encart-bordure: #cfb07a;
	--etnafes-carte-encart-texte: #5a4e44;
	--etnafes-carte-largeur-max: 700px;
	--etnafes-carte-hauteur-max: 80vh;        /* la carte tient dans l'écran */
	--etnafes-carte-rayon: 8px;

	max-width: var(--etnafes-carte-largeur-max);
	margin-inline: auto;
}

/*
 * Variables fournies par le shortcode :
 *   --etnafes-carte-ratio         largeur / hauteur (carte + encart)
 *   --etnafes-carte-ratio-mobile  largeur / hauteur (carte seule)
 *   --etnafes-carte-part          part de la largeur occupée par la carte
 *   --etnafes-encart-x / -y / -l  position et largeur de l'encart
 */
.etnafes-carte__cadre {
	position: relative;
	max-width: min(100%, calc(var(--etnafes-carte-hauteur-max) * var(--etnafes-carte-ratio, 0.5)));
	margin-inline: auto;
}

.etnafes-carte__svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.etnafes-carte__encart {
	display: block;
	height: auto;
}

/* Ordinateur et tablette : encart en haut à droite, relié à la carte */
@media (min-width: 768px) {
	.etnafes-carte__cadre--encart .etnafes-carte__svg {
		width: var(--etnafes-carte-part, 100%);
	}

	.etnafes-carte__cadre--encart .etnafes-carte__encart {
		position: absolute;
		left: var(--etnafes-encart-x);
		top: var(--etnafes-encart-y);
		width: var(--etnafes-encart-l);
	}
}

/* Mobile : encart centré sous la carte, sans ligne de liaison */
@media (max-width: 767px) {
	.etnafes-carte__cadre {
		max-width: min(100%, calc(var(--etnafes-carte-hauteur-max) * var(--etnafes-carte-ratio-mobile, 0.5)));
	}

	.etnafes-carte__encart {
		width: min(260px, 80%);
		margin: 16px auto 0;
	}

	.etnafes-carte__liaison {
		display: none;
	}
}

.etnafes-carte__zone path,
path.etnafes-carte__zone {
	stroke: var(--etnafes-carte-contour);
	stroke-width: 1;
	stroke-linejoin: round;
	transition: fill 0.15s ease;
}

.etnafes-carte__zone.is-actif path {
	fill: var(--etnafes-carte-actif);
	cursor: pointer;
}

/* Cliquable mais sans produit (cliquables="tous") : reste gris au repos */
.etnafes-carte__zone.is-vide path {
	fill: var(--etnafes-carte-inactif);
}

.etnafes-carte__zone.is-actif:hover path,
.etnafes-carte__zone.is-actif:focus path {
	fill: var(--etnafes-carte-survol);
}

.etnafes-carte__zone.is-actif:focus {
	outline: none;
}

.etnafes-carte .etnafes-carte__zone.is-actif:focus-visible path {
	stroke: var(--etnafes-carte-focus);
	stroke-width: 3;
}

path.etnafes-carte__zone.is-inactif {
	fill: var(--etnafes-carte-inactif);
	cursor: default;
}

/*
 * Mode couleurs (par défaut) : chaque gouvernorat a sa propre couleur
 * (includes/couleurs.php), surchargeable avec --etnafes-carte-couleur-<slug>.
 * Le survol assombrit la couleur au lieu de la remplacer.
 */
.etnafes-carte--couleurs .etnafes-carte__zone.is-actif path,
.etnafes-carte--couleurs .etnafes-carte__zone.is-actif:hover path,
.etnafes-carte--couleurs .etnafes-carte__zone.is-actif:focus path,
.etnafes-carte--couleurs path.etnafes-carte__zone {
	fill: var(--etnafes-zone, var(--etnafes-carte-inactif));
	transition: filter 0.15s ease;
}

.etnafes-carte--couleurs .etnafes-carte__zone.is-actif:hover path,
.etnafes-carte--couleurs .etnafes-carte__zone.is-actif:focus path {
	filter: brightness(0.78) saturate(1.2);
}

.etnafes-carte__pastille--zone {
	flex: none;
	margin-right: 6px;
	vertical-align: -1px;
	background: var(--etnafes-zone, var(--etnafes-carte-inactif));
}

/* Encart Grand Tunis */
.etnafes-carte__decor {
	pointer-events: none;
}

.etnafes-carte__encart-cadre {
	fill: var(--etnafes-carte-encart-fond);
	stroke: var(--etnafes-carte-encart-bordure);
	stroke-width: 1.5;
}

.etnafes-carte__encart-repere {
	fill: none;
	stroke: var(--etnafes-carte-encart-texte);
	stroke-width: 1.2;
	stroke-dasharray: 4 3;
}

.etnafes-carte__liaison {
	stroke: var(--etnafes-carte-encart-texte);
	stroke-width: 1;
	stroke-dasharray: 4 3;
}

.etnafes-carte__encart-titre {
	fill: var(--etnafes-carte-encart-texte);
	font-family: inherit;
	font-size: 18px;
	font-weight: 600;
}

/* Survol synchronisé : le même gouvernorat sur la carte et dans l'encart */
.etnafes-carte .etnafes-carte__zone.is-actif.is-survol path {
	fill: var(--etnafes-carte-survol);
}

.etnafes-carte--couleurs .etnafes-carte__zone.is-actif.is-survol path {
	fill: var(--etnafes-zone, var(--etnafes-carte-inactif));
	filter: brightness(0.78) saturate(1.2);
}

/* Infobulle */
.etnafes-carte__infobulle {
	position: absolute;
	z-index: 10;
	left: 0;
	top: 0;
	padding: 6px 10px;
	border-radius: var(--etnafes-carte-rayon);
	background: var(--etnafes-carte-infobulle-fond);
	color: var(--etnafes-carte-infobulle-texte);
	font-size: 0.875rem;
	line-height: 1.3;
	white-space: nowrap;
	pointer-events: none;
	transform: translate(-50%, calc(-100% - 10px));
}

.etnafes-carte__infobulle[hidden] {
	display: none;
}

.etnafes-carte__infobulle-nom,
.etnafes-carte__infobulle-info {
	display: block;
}

/* Légende */
.etnafes-carte__legende {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 20px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
}

.etnafes-carte__legende li {
	display: flex;
	align-items: center;
	gap: 6px;
}

.etnafes-carte__pastille {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 3px;
}

.etnafes-carte__pastille.is-actif {
	background: var(--etnafes-carte-actif);
}

.etnafes-carte__pastille.is-inactif {
	background: var(--etnafes-carte-inactif);
}

/* Liste des gouvernorats (mobile) */
.etnafes-carte__liste ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.etnafes-carte .etnafes-carte__bouton,
.etnafes-carte .etnafes-carte__bouton:hover,
.etnafes-carte .etnafes-carte__bouton:focus {
	text-decoration: none;
}

.etnafes-carte__bouton {
	display: flex;
	flex-direction: column;
	gap: 2px;
	height: 100%;
	padding: 8px 12px;
	border: 1px solid var(--etnafes-carte-bouton-bordure);
	border-radius: var(--etnafes-carte-rayon);
	background: var(--etnafes-carte-bouton-fond);
	color: var(--etnafes-carte-bouton-texte);
	text-decoration: none;
	line-height: 1.3;
}

.etnafes-carte__bouton.is-actif:hover,
.etnafes-carte__bouton.is-actif:focus-visible {
	background: var(--etnafes-carte-actif);
	border-color: var(--etnafes-carte-actif);
	color: #fff;
}

.etnafes-carte__bouton.is-actif:focus-visible {
	outline: 3px solid var(--etnafes-carte-focus);
	outline-offset: 2px;
}

.etnafes-carte__bouton.is-vide:not(:hover):not(:focus-visible) {
	border-color: var(--etnafes-carte-inactif);
}

.etnafes-carte__bouton.is-inactif {
	border-color: var(--etnafes-carte-inactif);
	color: var(--etnafes-carte-texte-discret);
	cursor: not-allowed;
}

.etnafes-carte__bouton-nom {
	font-weight: 600;
}

.etnafes-carte__bouton-info {
	font-size: 0.8125rem;
}

.etnafes-carte__bouton.is-actif:not(:hover):not(:focus-visible) .etnafes-carte__bouton-info {
	color: var(--etnafes-carte-texte-discret);
}

.etnafes-carte--liste-jamais .etnafes-carte__liste {
	display: none;
}

@media (min-width: 768px) {
	.etnafes-carte--liste-mobile .etnafes-carte__liste {
		display: none;
	}
}

.etnafes-carte__attribution {
	margin: 12px 0 0;
	font-size: 0.75rem;
	color: var(--etnafes-carte-texte-discret);
	text-align: center;
}

.etnafes-carte__attribution a {
	color: inherit;
}

@media (prefers-reduced-motion: reduce) {
	.etnafes-carte * {
		transition: none !important;
	}
}

/* Barre de recherche [etnafes_recherche] */
.etnafes-recherche {
	--etnafes-recherche-bordure: #cfb07a;
	--etnafes-recherche-bouton: #b5552f;
	--etnafes-recherche-bouton-survol: #8a4a33;
	max-width: 480px;
}

.etnafes-recherche .woocommerce-product-search {
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin: 0;
}

.etnafes-recherche .woocommerce-product-search .search-field {
	flex: 1 1 auto;
	min-width: 0;
	padding: 10px 14px;
	border: 1px solid var(--etnafes-recherche-bordure);
	border-radius: 8px;
	background: #fff;
	font-size: 1rem;
}

.etnafes-recherche .woocommerce-product-search .search-field:focus {
	outline: 2px solid var(--etnafes-recherche-bouton);
	outline-offset: 1px;
}

.etnafes-recherche .woocommerce-product-search button {
	flex: none;
	padding: 10px 18px;
	border: 0;
	border-radius: 8px;
	background: var(--etnafes-recherche-bouton);
	color: #fff;
	font-size: 1rem;
	cursor: pointer;
}

.etnafes-recherche .woocommerce-product-search button:hover,
.etnafes-recherche .woocommerce-product-search button:focus-visible {
	background: var(--etnafes-recherche-bouton-survol);
}

/* Page d'un gouvernorat : courte description sous chaque produit */
.etnafes-produit-extrait {
	margin: 0.25em 0 0.75em;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #6b625a;
}
