/* L'invitation « Mon adresse » sur l'accueil : une carte blanche, sobre,
   en bas à droite ; en feuille basse sur téléphone. */
.map { position: fixed; right: 28px; bottom: 104px; z-index: 1200; width: min(380px, calc(100vw - 32px)); background: #fff; color: var(--text, #1A1A1A); padding: 26px 26px 22px; border: 1px solid var(--border, #E0DCD4); box-shadow: 0 30px 80px rgba(8,25,56,0.18); transform: translateY(24px); opacity: 0; transition: transform .6s cubic-bezier(.2,.7,.2,1), opacity .6s; }
.map.is-visible { transform: none; opacity: 1; }
.map-fermer { position: absolute; top: 10px; right: 12px; font: inherit; font-size: 22px; line-height: 1; color: var(--text-muted, #5C5C5C); background: none; border: 0; cursor: pointer; padding: 6px; }
.map-fermer:hover { color: var(--green, #081938); }
.map-kicker { display: block; font-family: var(--font-sans); font-size: 10.5px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold, #8B6F47); margin-bottom: 10px; }
.map-titre { font-family: var(--font); font-size: 26px; line-height: 1.1; color: var(--green, #081938); margin: 0 0 8px; letter-spacing: -0.01em; }
.map-texte { font-family: var(--font-sans); font-size: 13.5px; line-height: 1.5; color: var(--text-muted, #5C5C5C); margin: 0 0 18px; }
.map-form { display: flex; align-items: stretch; border-bottom: 2px solid var(--green, #081938); }
.map-form:focus-within { border-color: var(--gold, #8B6F47); }
.map-input { flex: 1; min-width: 0; font-family: var(--font); font-size: 17px; color: var(--green, #081938); border: 0; background: transparent; padding: 10px 0; outline: none; }
.map-input::placeholder { color: rgba(8,25,56,0.3); }
.map-go { font: inherit; font-size: 22px; color: var(--green, #081938); background: none; border: 0; padding: 0 0 0 12px; cursor: pointer; transition: color .2s, transform .2s; }
.map-go:hover { color: var(--gold, #8B6F47); transform: translateX(3px); }
@media (max-width: 640px) {
	.map { right: 12px; left: 12px; bottom: 12px; width: auto; padding: 22px 20px 18px; }
	.map-titre { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) { .map { transition: none; } }
