/* Carte + itinéraire [ap_itineraire] et suggestions [ap_proximite] */
.ap-iti, .ap-prox { --ap-primary: #0a6c8f; margin: 1.5em 0; } /* Même couleur que les boutons [ap_reco]. */
.ap-iti__carte { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #e8eef0; }
.ap-iti__carte iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ap-iti__temps { margin: .8em 0 .4em; }
.ap-iti__boutons { margin: .4em 0 0; }
.ap-btn {
	display: inline-block; margin: .25em .5em .25em 0; padding: .45em 1em;
	border-radius: 999px; background: var(--ap-primary); color: #fff !important;
	font-weight: 600; font-size: .95em; line-height: 1.3; text-decoration: none !important;
	transition: opacity .15s;
}
.ap-btn:hover { opacity: .88; }
.ap-btn:focus-visible { outline: 2px solid var(--ap-primary); outline-offset: 2px; }
.ap-btn--clair { background: transparent; color: var(--ap-primary) !important; border: 1.5px solid var(--ap-primary); }
.ap-prox { padding: 1em 1.2em; border-radius: 12px; background: #f3f7f8; }
.ap-prox__titre { margin: 0 0 .6em; font-weight: 700; font-size: 1.1em; }
.ap-prox__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .6em; }
@media (min-width: 640px) { .ap-prox__liste { grid-template-columns: 1fr 1fr; } }
.ap-prox__item { display: flex; flex-direction: column; padding: .6em .8em; border-radius: 10px; background: #fff; }
.ap-prox__type { font-size: .75em; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ap-primary); }
.ap-prox__nom { font-weight: 600; }
.ap-prox__nom a { color: inherit; }
.ap-prox__precision { font-size: .88em; opacity: .75; }
/* Blocs automatiques en bas des fiches et des articles (class-ap-liens.php) */
.ap-liens { --ap-primary: #0a6c8f; margin: 2em 0 1em; display: grid; gap: 1em; }
.ap-liens .ap-prox { margin: 0; }
.ap-bref { padding: 1em 1.2em; border-radius: 12px; border: 1px solid #e3e8ea; }
.ap-bref__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .35em; }
.ap-bref__filtre { font-weight: 600; color: var(--ap-primary); }
.ap-bref__filtre::after { content: " :"; }
.ap-carte-manquant { padding: .5em .8em; border: 1px dashed #d9a400; background: #fff7e0; color: #8a5a00; font-size: .9em; }
