.audiomap-container{display:flex;flex-direction:column;gap:1rem;width:100%}.audiomap-search{padding:0 1rem}.search-bar-wrapper{position:relative;max-width:480px;width:100%}.search-input-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;color:#4a5568;pointer-events:none}.search-input-container input{width:100%;padding:14px 14px 14px 44px;border:2px solid #e8e4df;border-radius:12px;font-family:Inter,sans-serif;font-size:1rem;color:#1b2e4a;background:#fff;transition:border-color .2s}.search-input-container input:focus{outline:none;border-color:#d97b3d;box-shadow:0 0 0 3px #d97b3d26}.search-input-container input::placeholder{color:#a0a0a0}.search-spinner{position:absolute;right:14px;width:18px;height:18px;border:2px solid #e8e4df;border-top-color:#d97b3d;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #e8e4df;border-radius:12px;box-shadow:0 8px 24px #1b2e4a1f;list-style:none;margin:0;padding:6px;z-index:1000;max-height:300px;overflow-y:auto}.search-suggestions li{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;border-radius:8px;font-family:Inter,sans-serif;font-size:.9rem;color:#1b2e4a;transition:background .15s}.search-suggestions li:hover,.search-suggestions li:focus{background:#f8f5f0}.search-suggestions li svg{color:#d97b3d;flex-shrink:0}.audiomap-location-label{font-family:Inter,sans-serif;font-size:.85rem;color:#4a5568;margin-top:8px;padding-left:2px}.audiomap-layout{display:flex;flex-direction:column;height:600px;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #1b2e4a14;border:1px solid #e8e4df}@media(min-width:768px){.audiomap-layout{flex-direction:row;height:650px}}.audiomap-sidebar{width:100%;height:200px;overflow-y:auto;background:#fff;order:2}@media(min-width:768px){.audiomap-sidebar{width:360px;min-width:360px;height:100%;order:1;border-right:1px solid #e8e4df}}.audiomap-sidebar-header{position:sticky;top:0;background:#fff;padding:16px 20px 12px;border-bottom:1px solid #e8e4df;z-index:10}.audiomap-sidebar-header h2{font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;color:#1b2e4a;margin:0}.results-list{list-style:none;margin:0;padding:8px}.results-empty{padding:32px 20px;text-align:center}.results-empty p{font-family:Inter,sans-serif;font-size:.9rem;color:#4a5568;margin:0}.results-empty-hint{font-size:.82rem!important;color:#a0a0a0!important;margin-top:6px!important}.result-card{padding:14px 16px;border-radius:10px;cursor:pointer;transition:background .15s,box-shadow .15s;margin-bottom:4px}.result-card:hover{background:#f8f5f0}.result-card--active{background:#f8f5f0;box-shadow:inset 3px 0 #d97b3d}.result-card:focus-visible{outline:3px solid #D97B3D;outline-offset:-2px}.result-card-header{margin-bottom:4px}.result-enseigne{font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#d97b3d}.result-nom{font-family:Inter,sans-serif;font-size:.92rem;font-weight:600;color:#1b2e4a;margin:0 0 4px;line-height:1.3}.result-adresse{font-family:Inter,sans-serif;font-size:.82rem;color:#4a5568;margin:0 0 6px;line-height:1.4}.result-tel{font-family:Inter,sans-serif;font-size:.85rem;color:#d97b3d;font-weight:500;text-decoration:none}.result-tel:hover{text-decoration:underline}.result-card--premium{border-left:3px solid #D97B3D}.result-badge-premium{display:inline-block;font-family:Inter,sans-serif;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#d97b3d;background:#d97b3d1a;border:1px solid rgba(217,123,61,.25);border-radius:999px;padding:2px 8px;margin-left:auto}.result-cta{display:inline-block;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;color:#d97b3d}.result-link{display:inline-block;font-family:Inter,sans-serif;font-size:.78rem;font-weight:500;color:#1b2e4a;text-decoration:none;margin-top:4px}.result-link:hover{color:#d97b3d;text-decoration:underline}.audiomap-map{flex:1;min-height:350px;order:1}@media(min-width:768px){.audiomap-map{order:2}}.popup-content{font-family:Inter,sans-serif}.popup-enseigne{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#d97b3d;margin-bottom:4px}.popup-nom{font-size:1rem;font-weight:700;color:#1b2e4a;margin:0 0 6px;line-height:1.3}.popup-adresse{font-size:.85rem;color:#4a5568;margin:0 0 8px;line-height:1.5}.popup-tel{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:#d97b3d;text-decoration:none;margin-bottom:6px}.popup-tel:hover{text-decoration:underline}.popup-horaires{font-size:.82rem;color:#4a5568;margin:6px 0}.popup-horaires strong{color:#1b2e4a}.popup-web{display:inline-block;margin-top:8px;padding:6px 14px;background:#d97b3d;color:#fff;font-size:.82rem;font-weight:600;border-radius:6px;text-decoration:none;transition:background .15s}.popup-web:hover{background:#c46a2e;color:#fff;text-decoration:none}.popup-badge-premium{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#d97b3d;background:#d97b3d1a;border:1px solid rgba(217,123,61,.25);border-radius:999px;padding:2px 8px;margin-bottom:6px}.popup-cta{display:inline-block;margin-top:8px;padding:6px 14px;background:#d97b3d;color:#fff;font-size:.82rem;font-weight:600;border-radius:6px;text-decoration:none;transition:background .15s}.popup-cta:hover{background:#c46a2e;color:#fff;text-decoration:none}.popup-link{display:block;margin-top:6px;font-size:.78rem;font-weight:500;color:#1b2e4a;text-decoration:none}.popup-link:hover{color:#d97b3d;text-decoration:underline}.cluster-icon{background:transparent!important;border:none!important}.marker-premium{filter:drop-shadow(0 2px 4px rgba(217,123,61,.4))}.marker-active{filter:drop-shadow(0 3px 8px rgba(217,123,61,.6))}.leaflet-popup-content-wrapper{border-radius:12px!important;box-shadow:0 4px 20px #1b2e4a26!important}.leaflet-popup-content{margin:14px 16px!important}.leaflet-popup-tip{box-shadow:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
