/* =========================================================
   Carte ATI — Distribution à l'international
   Thème sombre + panneau gauche + transition slide
   ========================================================= */

.carte-ati{
	--cati-bg:#343434;
	--cati-red:#DD1E2C;        /* pays SÉLECTIONNÉ (rouge vif, ressort) */
	--cati-red-base:#A11520;   /* pays desservis non sélectionnés (rouge foncé) */
	--cati-red-hover:#CB3A46;  /* survol */
	--cati-text:#ffffff;
	--cati-muted:#8a8d93;

	position:relative;
	width:100%;
	background:var(--cati-bg);
	color:var(--cati-text);
	font-family:'Source Sans Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
	overflow:hidden;
	box-sizing:border-box;
}
.carte-ati *,
.carte-ati *::before,
.carte-ati *::after{ box-sizing:border-box; }

.cati-inner{
	display:flex;
	align-items:stretch;
	min-height:520px;
}

/* ---------- Panneau gauche ---------- */
.cati-side{
	flex:0 0 38%;
	max-width:460px;
	padding:38px 34px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:6px;
	z-index:3;
}

.cati-breadcrumb{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	letter-spacing:.18em;
	font-size:12px;
	text-transform:uppercase;
	margin-bottom:22px;
}
.cati-breadcrumb span{ color:var(--cati-muted); }
.cati-crumb{
	background:none;border:0;padding:0;cursor:pointer;
	color:var(--cati-muted);
	letter-spacing:.18em;
	font-size:12px;
	text-transform:uppercase;
	font-family:inherit;
	transition:color .2s;
}
.cati-crumb:hover{ color:#cfcfcf; }
.cati-crumb.is-active{ color:#fff; font-weight:700; }

.cati-logo{ display:block; width:220px; max-width:80%; height:auto; margin:0 0 14px; }

.cati-title{
	font-size:26px;
	line-height:1.15;
	font-weight:700;
	font-variant:small-caps;
	letter-spacing:.02em;
	margin:0 0 30px;
	color:#fff;
}

/* Grille : les flèches restent à une position FIXE (spam-click), le nom occupe
   la colonne centrale et ne les pousse jamais. */
.cati-current{
	display:grid;
	grid-template-columns:46px 1fr 46px;
	align-items:center;
	gap:16px;
	width:100%;
	max-width:400px;
	margin-bottom:8px;
}
.cati-country{
	grid-column:2;
	text-align:center;
	font-size:48px;
	line-height:1.02;
	font-weight:800;
	font-style:italic;
	letter-spacing:.01em;
	color:#fff;
	min-width:0;
	overflow-wrap:break-word;
}
.cati-country[data-len="l"]{ font-size:34px; }
.cati-country[data-len="xl"]{ font-size:26px; }
.cati-arrow{
	flex:0 0 auto;
	width:46px;height:46px;
	border-radius:50%;
	border:0;
	background:var(--cati-red);
	color:#fff;
	font-size:20px;
	line-height:1;
	cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	transition:background .2s,transform .1s;
}
.cati-arrow:hover{ background:var(--cati-red-hover); }
.cati-arrow:active{ transform:scale(.92); }

.cati-list{
	list-style:none;
	margin:22px 0 0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px 20px;
}
.cati-list li{ margin:0; }
.cati-list button{
	background:none;border:0;padding:0;cursor:pointer;
	color:#d7d7d7;
	font-family:inherit;
	font-size:17px;
	font-style:italic;
	transition:color .2s;
}
.cati-list button:hover{ color:#fff; }
.cati-list button.is-active{ color:var(--cati-red); font-weight:700; }

/* ---------- Zone carte ---------- */
.cati-maps{
	position:relative;
	flex:1 1 auto;
	overflow:hidden;
	min-height:520px;
}
.cati-panel{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:16px 24px;
	transform:translateX(100%);
	opacity:0;
	visibility:hidden;
	transition:transform .6s cubic-bezier(.6,.05,.25,1), opacity .6s ease;
	will-change:transform;
}
.cati-panel.is-active{
	transform:translateX(0);
	opacity:1;
	visibility:visible;
}
.cati-panel svg{
	width:100%;
	height:100%;
	max-height:560px;
	display:block;
}

/* ---------- Noms de pays masqués (comme le Figma) ---------- */
.carte-ati .cati-panel svg text{ display:none !important; }

/* ---------- Cibles (surbrillance) ---------- */
/* Pays desservis = rouge foncé ; pays sélectionné = rouge vif (ressort). */
.carte-ati .cati-panel svg .ati-t{ fill:var(--cati-red-base) !important; cursor:pointer; transition:fill .25s ease; }
.carte-ati .cati-panel svg .ati-t.cati-hov{ fill:var(--cati-red-hover) !important; }
.carte-ati .cati-panel svg .ati-t.cati-sel{ fill:var(--cati-red) !important; }

/* ---------- Responsive ---------- */
@media (max-width:860px){
	.cati-inner{ flex-direction:column; }
	.cati-side{ flex:0 0 auto; max-width:none; padding:28px 24px 10px; }
	.cati-country{ font-size:42px; }
	.cati-title{ margin-bottom:20px; }
	.cati-maps{ min-height:420px; }
	.cati-panel svg{ max-height:440px; }
}
@media (max-width:480px){
	.cati-country{ font-size:34px; }
	.cati-arrow{ width:40px;height:40px;font-size:17px; }
}
