/* Extrait de inclure/carte-programme.html : feuille du composant, appelée par <link> à son emplacement (HTML valide dans le body) */
.pd27-map-section{margin-top:36px}
/* La carte suit la liste des événements dans le flux de la page. */
.pd27-map-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin:0 4px 14px}
.pd27-map-title{margin:0;font-family:'CaviarDreamsBold','Avenir Next Cyr',Arial,sans-serif;font-weight:normal;font-size:clamp(1.3rem,2.4vw,1.7rem);color:var(--fdc-bleu-nuit,#113143)}
.pd27-map-note{font-size:.85rem;color:#68777e}
.pd27-map-note:empty{display:none}
.pd27-map-head:has(.pd27-map-note:empty){display:none}
.pd27-map{position:relative;height:min(560px,70vh);min-height:380px;border-radius:22px;overflow:hidden;box-shadow:0 20px 56px rgba(0,0,0,.18);background:#e8eef0;isolation:isolate}
.pd27-map .carte_gis{width:100%!important;height:100%!important}
.pd27-map .leaflet-container{background:#e8eef0;font-family:inherit}
.pd27-map .leaflet-tile-pane{filter:saturate(.35) brightness(1.06) contrast(.95)}
.pd27-map .leaflet-popup-content-wrapper,.pd27-map .leaflet-popup-tip{min-width:0}
/* Épingles */
.pd27-pin{background:none;border:0}
.pd27-pin__drop{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#113143;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.3);box-sizing:border-box}
.pd27-pin__txt{position:absolute;left:0;top:0;width:36px;height:36px;display:grid;place-items:center;color:#fff;font:800 14px/1 Arial,sans-serif}
.pd27-pin__label{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 11px;border-radius:999px;background:#113143;color:#FCD42B;font:700 11.5px/1.2 Arial,sans-serif;box-shadow:0 4px 12px rgba(0,0,0,.28);pointer-events:none}
.pd27-pin__label::after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:#113143}
/* Étiquettes aux couleurs du code de la page (Corso / Soirée / Entrée libre) */
.pd27-pin--corso .pd27-pin__label{background:#FCD42B;color:#113143}
.pd27-pin--corso .pd27-pin__label::after{border-top-color:#FCD42B}
.pd27-pin--soiree .pd27-pin__label{background:#d6336c;color:#fff}
.pd27-pin--soiree .pd27-pin__label::after{border-top-color:#d6336c}
.pd27-pin--libre .pd27-pin__label{background:#2f9e44;color:#fff}
.pd27-pin--libre .pd27-pin__label::after{border-top-color:#2f9e44}
.pd27-pin--corso .pd27-pin__drop{background:#FCD42B}
.pd27-pin--corso .pd27-pin__txt{color:#113143}
.pd27-pin--soiree .pd27-pin__drop{background:#d6336c}
.pd27-pin--libre .pd27-pin__drop{background:#2f9e44}
.pd27-map .leaflet-marker-icon.pd27-pin{transition:translate .25s ease,filter .25s ease;animation:pd27Drop .7s cubic-bezier(.2,1.5,.4,1) backwards}
/* pas de scale : il multiplierait le translate3d de positionnement de Leaflet */
.pd27-map .leaflet-marker-icon.pd27-pin.is-hot{translate:0 -8px;filter:drop-shadow(0 12px 10px rgba(0,0,0,.35)) brightness(1.08);z-index:20000!important}
@keyframes pd27Drop{from{translate:0 -60px;opacity:0}to{translate:0 0;opacity:1}}
.pd27-event.is-hot{box-shadow:0 0 0 3px var(--fdc-jaune,#FCD42B),0 6px 18px rgba(0,0,0,.08)}
/* Repères permanents (gares, gare routière, office de tourisme) : plus petits, sous les rendez-vous */
.pd27-poi{background:none;border:0}
.pd27-poi__drop{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#006895;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.28);box-sizing:border-box}
.pd27-poi__txt{position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;color:#fff}
.pd27-poi--bus .pd27-poi__drop{background:#2F7650}
.pd27-poi--info .pd27-poi__drop{background:#E96C25}
.pd27-poi--info .pd27-poi__txt{font:800 italic 15px/1 Georgia,serif}
/* Vignettes dans la fiche */
.pd27-pop__list li{align-items:center}
.pd27-pop__thumb{flex:0 0 44px;width:44px;height:44px;border-radius:10px;object-fit:cover;background:#eef1f3}
/* Circuit du corso */
.pd27-map .pd27-circuit{stroke-dasharray:10 8;animation:pd27Ants 1.4s linear infinite}
@keyframes pd27Ants{to{stroke-dashoffset:18}}
/* Fiches */
.pd27-map .pd27-popup .leaflet-popup-content-wrapper{width:290px;border-radius:18px;padding:0;overflow:hidden;box-shadow:0 16px 40px rgba(17,49,67,.3)}
.pd27-map .pd27-popup .leaflet-popup-content{margin:0;width:290px!important}
.pd27-pop__head{padding:14px 40px 12px 16px;background:#113143;color:#fff}
.pd27-pop__kicker{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#FCD42B}
.pd27-pop__title{display:block;margin-top:2px;font-size:1rem;line-height:1.25}
.pd27-pop__list{list-style:none;margin:0;padding:10px 16px 4px;max-height:220px;overflow:auto}
.pd27-pop__list li{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid #eef1f3;font-size:.82rem;line-height:1.35}
.pd27-pop__list li:last-child{border-bottom:0}
.pd27-pop__h{flex:0 0 48px;font-weight:800;color:#68777e}
.pd27-pop__list a{color:#113143;font-weight:700;text-decoration:none}
.pd27-pop__list a:hover{text-decoration:underline}
.pd27-pop__foot{padding:8px 16px 14px}
.pd27-pop__btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;background:#FCD42B;color:#113143!important;font-weight:700;font-size:.78rem;text-decoration:none!important}
.pd27-pop__btn:hover{background:#113143;color:#fff!important}
.pd27-map .pd27-popup a.leaflet-popup-close-button{top:10px;right:10px;color:#fff}
@media (max-width:767px){.pd27-map{height:min(440px,65vh);border-radius:16px}}
@media (prefers-reduced-motion:reduce){.pd27-map *{animation:none!important;transition:none!important}}
