/* LA BOUSSOLE — Modale partenaire (LOT E · Partie 4).
 * Fond bleu nuit, carte blanche bordure supérieure bleue (--lbs-blue-accent),
 * ombre, responsive pleine largeur ≤480px, défilement interne si besoin.
 * Aucun coral hors lien d'action éventuel (coordonnées = liens bleus sobres).
 */
.lbs-partner-modal {
	position: fixed; inset: 0; z-index: var(--lbs-z-modal);
	display: flex; align-items: center; justify-content: center;
	padding: var(--lbs-gutter);
	background: rgba(10, 22, 40, 0.62);
}
.lbs-partner-modal[hidden] { display: none; }

.lbs-partner-modal-inner {
	position: relative;
	background: var(--lbs-white);
	border-top: 4px solid var(--lbs-blue-accent);
	border-radius: var(--lbs-radius-lg);
	box-shadow: var(--lbs-shadow-xl);
	width: 100%; max-width: 560px;
	max-height: calc(100vh - 2 * var(--lbs-space-xl));
	overflow-y: auto;
	padding: var(--lbs-space-xl);
}

.lbs-partner-modal-close {
	position: absolute; top: var(--lbs-space-sm); right: var(--lbs-space-sm);
	width: 40px; height: 40px; border: 0; border-radius: var(--lbs-radius-sm);
	background: transparent; color: var(--lbs-gray-500);
	font-size: 1.75rem; line-height: 1; cursor: pointer;
	transition: color var(--lbs-transition-fast), background var(--lbs-transition-fast);
}
.lbs-partner-modal-close:hover,
.lbs-partner-modal-close:focus-visible {
	color: var(--lbs-primary); background: var(--lbs-gray-100);
}
.lbs-partner-modal-close:focus-visible { outline: 3px solid var(--lbs-primary-light); outline-offset: 2px; }

.lbs-partner-modal-logo {
	display: flex; align-items: center; justify-content: center;
	min-height: 84px; margin-bottom: var(--lbs-space-md);
}
.lbs-partner-modal-logo img {
	max-height: 72px; max-width: 100%;
	object-fit: contain; display: block;
}

.lbs-partner-modal-name {
	font-family: var(--lbs-font-heading); font-size: var(--lbs-fs-h3);
	font-weight: var(--lbs-fw-bold); color: var(--lbs-primary);
	margin: 0 0 var(--lbs-space-sm);
}

.lbs-partner-modal-intro {
	font-size: var(--lbs-fs-body); color: var(--lbs-gray-600);
	line-height: var(--lbs-lh-body); margin: 0 0 var(--lbs-space-md);
}

.lbs-partner-modal-coords { border-top: 1px solid var(--lbs-gray-200); padding-top: var(--lbs-space-md); }
.lbs-partner-modal-coords p { margin: 0 0 var(--lbs-space-xs); }
/* LOT F · P1 — adresse postale en ligne de texte simple (non cliquable),
   ordonnancée AVANT le site web / l'email / les téléphones. */
.lbs-partner-modal-address {
	font-weight: var(--lbs-fw-medium); color: var(--lbs-primary);
	line-height: var(--lbs-lh-body);
}
.lbs-partner-modal-coords a {
	color: var(--lbs-blue-accent); font-weight: var(--lbs-fw-medium);
	text-underline-offset: 2px;
}
.lbs-partner-modal-coords a:hover { color: var(--lbs-primary-light); }

.lbs-partner-modal--image .lbs-partner-modal-inner { max-width: 960px; }
.lbs-partner-modal--image .lbs-partner-modal-logo { min-height: 0; margin-bottom: var(--lbs-space-lg); }
.lbs-partner-modal--image .lbs-partner-modal-logo img {
	width: auto;
	max-width: 100%;
	max-height: calc(100vh - 16rem);
	object-fit: contain;
}

body.lbs-modal-open { overflow: hidden; }

@media (max-width: 480px) {
	.lbs-partner-modal { padding: var(--lbs-space-sm); align-items: flex-start; }
	.lbs-partner-modal-inner { max-height: calc(100vh - 2 * var(--lbs-space-sm)); padding: var(--lbs-space-lg); }
}