/* Extrait de modeles/carte_hotels.html et modeles/carte_restaurants.html : feuille commune des cartes du référentiel (complète carte-corso.css : panneau, carte, tiroir) */
.cr-search{display:block;margin:2px 0 10px}
.cr-search input{width:100%;min-height:44px;padding:9px 14px;border:1.5px solid #c9d3da;border-radius:999px;background:#fff;color:#113143;font:inherit;font-size:.92rem}
.cr-search input:focus-visible{outline:3px solid #113143;outline-offset:1px}
.cr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cr-chips button{min-height:36px;padding:6px 12px;border:1.5px solid #c9d3da;border-radius:999px;background:#fff;color:#113143;font-family:inherit;font-weight:700;font-size:.78rem;line-height:1.1;cursor:pointer}
.cr-chips button[aria-pressed="true"]{background:#fcd42b;border-color:#113143}
.cr-chips button:focus-visible,.cr-item__voir:focus-visible{outline:3px solid #113143;outline-offset:2px}
.cr-count{margin:0 0 8px;font-size:.8rem;font-weight:700;color:#5b6272}
.cr-list{list-style:none;margin:0;padding:0}
.cr-item{padding:10px 0;border-top:1px solid #e4e9ed}
.cr-item__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.cr-item .cr-marche{margin-top:6px}
.cr-item.is-active{background:#fff6d6;margin:0 -8px;padding:10px 8px;border-radius:10px}
.cr-item__nom{display:block;font-weight:800;font-size:.9rem;line-height:1.25;color:#113143}
.cr-item__adr{display:block;margin-top:2px;font-size:.78rem;line-height:1.3;color:#5b6272}
.cr-item__sans{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:999px;background:#eef2f4;color:#5b6272;font-size:.7rem;font-weight:700}
.cr-item__voir{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 16px;border:1.5px solid #113143;border-radius:999px;background:#fff;color:#113143;font-family:inherit;font-weight:600;font-size:.78rem;line-height:1.1;text-decoration:none;cursor:pointer}
.cr-item__voir:hover{background:#113143;color:#fff}
.cr-vide{padding:14px 0;font-size:.85rem;color:#5b6272}
.cr-note{margin:14px 0 0;font-size:.72rem;line-height:1.4;color:#5b6272}
/* Repères : pastille orange portant une fourchette */
.cr-pin{background:none;border:0}
.cr-pin span{position:absolute;inset:0;display:grid;place-items:center;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);background:#E96C25;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.cr-pin span::before{content:"";width:12px;height:12px;border-radius:50%;background:#fff;transform:rotate(45deg)}
.cr-pin--hotels span{background:#0B4F8A}
.cr-pin--hotels span::before{width:16px;height:16px;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M3 6h2v8h14v-3a3 3 0 0 0-3-3h-6v6H5V6H3v13h2v-3h14v3h2v-8a5 5 0 0 0-5-5H3z'/%3E%3C/svg%3E") center/contain no-repeat}
.cr-pin.is-sel span{background:#fcd42b;border-color:#113143}
.cr-pop{display:flex;flex-direction:column;gap:3px;font-size:.82rem;line-height:1.3}
.cr-pop strong{font-size:.9rem;color:#113143}
.cr-pop__adr{color:#5b6272}
.cr-pop a{font-weight:700;color:#0B4F8A}
@media (max-width:899.98px){
  .cr .cc-kicker,.cr .cc-title{margin-bottom:4px}
}
/* Bulle : largeur fixe (la règle min-width:0 des plans des corsos la ferait rétrécir au contenu) */
.cr .leaflet-popup-content-wrapper{min-width:240px}
.cr .leaflet-popup-content{width:250px!important;margin:12px 14px;overflow-wrap:anywhere}

/* Temps à pied : toujours sur une seule ligne */
.cr-marche{display:block;margin:0;font-size:.76rem;font-weight:800;line-height:1.2;white-space:nowrap;color:#b0440c}
/* Bouton vers le site officiel */
.cr-cta{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 16px;border-radius:999px;background:#fcd42b;color:#113143!important;font-size:.78rem;font-weight:600;line-height:1.1;text-decoration:none;transition:background .2s}
.cr-cta:hover,.cr-cta:focus-visible{background:#f2c200;color:#113143}
.cr-cta:focus-visible{outline:3px solid #113143;outline-offset:2px}
.cr-pop .cr-cta{margin-top:6px;align-self:flex-start}

/* Repère « Fête du Citron® » : mêmes règles que la carte générale (css/composants/map.css) */
.fdc-pin{background:none;border:0}
.fdc-pin__drop{position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#C85A15;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.3);box-sizing:border-box}
.fdc-pin__txt{position:absolute;left:0;top:0;width:34px;height:34px;display:grid;place-items:center;color:#fff;font:800 15px/1 Arial,sans-serif}
.fdc-pin--fete .fdc-pin__drop,.fdc-pin--fete .fdc-pin__txt{width:42px;height:42px}
.fdc-pin--fete .fdc-pin__drop{background:#FCD42B;border-color:#113143}
.fdc-pin--fete .fdc-pin__txt{font-size:20px;filter:drop-shadow(0 0 1px #113143) drop-shadow(0 0 1px #113143)}
.fdc-pin__float{position:absolute;inset:0;animation:fdcFloat 2.4s ease-in-out infinite}
@keyframes fdcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.fdc-pin--fete .fdc-pin__drop{box-shadow:0 0 0 5px rgba(252,212,43,.35),0 4px 12px rgba(0,0,0,.35)}
.fdc-pin__label{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);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}
.fdc-pin__label::after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:#113143}
.fdc-halo{pointer-events:none}
.fdc-halo span{position:absolute;inset:0;border-radius:50%;background:rgba(252,212,43,.55);animation:fdcPulse 2.4s ease-out infinite}
.fdc-halo span:nth-child(2){animation-delay:.8s}
.fdc-halo span:nth-child(3){animation-delay:1.6s}
.fdc-halo--fete span{background:rgba(252,212,43,.6)}
.fdc-halo--active span{background:rgba(233,108,37,.45)}
@keyframes fdcPulse{from{transform:scale(.15);opacity:.95}to{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){.fdc-pin__float,.fdc-halo span{animation:none}}
/* Lieux à visiter : photo en tête de fiche, couleur du repère par type de lieu */
.cr-item__img{display:block;width:100%;height:112px;object-fit:cover;border-radius:10px;margin-bottom:8px;background:#e8eef0}
.cr-pop__img{display:block;width:calc(100% + 0px);height:120px;object-fit:cover;border-radius:8px;margin-bottom:6px;background:#e8eef0}
.cr-credit{display:block;margin-top:4px;font-size:.66rem;color:#5b6272}
.cr-pin--attractions span{background:#C85A15}
.cr-pin--g-palaces span{background:#8B3A6B}
.cr-pin--g-musees span{background:#113143}
.cr-pin--g-jardins span{background:#2F7650}
.cr-pin--g-religieux span{background:#5B3F8C}
.cr-pin--g-mer span{background:#006895}
.cr-pin--g-autres span{background:#0E7C86}
/* Épingle « i » de l'Office de Tourisme (mêmes règles que la carte générale) */
.fdc-pin--info .fdc-pin__drop{background:#E96C25}
.fdc-pin--info .fdc-pin__txt{font:800 italic 19px/1 Georgia,serif}
.fdc-pin--info.fdc-pin--big .fdc-pin__drop,.fdc-pin--info.fdc-pin--big .fdc-pin__txt{width:42px;height:42px}
.fdc-pin--info.fdc-pin--big .fdc-pin__drop{border-color:#113143;box-shadow:0 0 0 5px rgba(233,108,37,.3),0 4px 12px rgba(0,0,0,.35)}
