/**
 * Section « Présence locale » (carte Sundgau) — fond bleu clair, texte gauche, carte droite.
 */

.dgs-presence-section {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	background: var(--ppe-bleu-clair, #f4f9fd);
	padding: clamp(3rem, 7vw, 5.5rem) 0;
}

.dgs-presence-section,
.dgs-presence-section * {
	box-sizing: border-box;
}

.dgs-presence-section__dots {
	position: absolute;
	left: clamp(1rem, 8vw, 9rem);
	top: clamp(2rem, 6vw, 5rem);
	width: min(30vw, 190px);
	height: min(40vw, 360px);
	background-image: radial-gradient(circle, rgba(27, 40, 118, 0.18) 1.4px, transparent 1.4px);
	background-size: 16px 16px;
	pointer-events: none;
}

.dgs-presence-section__grid {
	display: flex;
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
}

.dgs-presence-section__content {
	flex: 1 1 55%;
	position: relative;
	z-index: 1;
}

.dgs-presence-section__media {
	flex: 1 1 45%;
	text-align: center;
}

.dgs-presence-section__img {
	width: 100%;
	height: auto;
	display: inline-block;
	mix-blend-mode: multiply;
}

.dgs-presence-section__title {
	margin: 0 0 1.25rem;
	font-family: var(--dgs-font-titres, "futura-pt", sans-serif);
	font-size: var(--dgs-fs-section, clamp(1.5rem, 2.4vw, 2.1rem));
	font-weight: 600;
	line-height: 1.25;
	color: var(--dgs-c-titre, #1b2876);
	max-width: 30rem;
}

.dgs-presence-section__text {
	font-family: var(--dgs-font-texte, sans-serif);
	font-size: var(--dgs-fs-texte-sm, 15px);
	font-weight: 300;
	line-height: 1.65;
	color: var(--dgs-c-texte, #696969);
	max-width: 30rem;
}

.dgs-presence-section__text p {
	margin: 0 0 1em;
	color: inherit;
}

.dgs-presence-section__cta {
	margin: 1.75rem 0 0;
}

/* Bouton plein marine générique */
.dgs-btn-solid {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 26px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.04em;
	text-decoration: none;
	color: #ffffff !important;
	background: var(--ppe-navy, #1b2876);
	border: 1.5px solid var(--ppe-navy, #1b2876);
	transition: background-color 0.2s ease;
	box-shadow: 0 10px 24px rgba(27, 40, 118, 0.25);
}

.dgs-btn-solid::after {
	content: "›";
	margin-left: 12px;
	font-size: 1.2em;
	line-height: 1;
	transform: translateY(-1px);
}

.dgs-btn-solid:hover,
.dgs-btn-solid:focus {
	background: var(--ppe-navy-dark, #121c56);
	color: #ffffff;
}

@media print, screen and (max-width: 63.99875em) {
	.dgs-presence-section__grid {
		flex-direction: column;
		align-items: flex-start;
	}

	.dgs-presence-section__media {
		width: 100%;
	}
}
