/* Carte des coins de peche - Leaflet (audit 2026-09-19) */
.gob-carte, .gob-mini { position: relative; overflow: hidden; width: 100%;
    max-width: 100%; box-sizing: border-box; background: #e8eef1; z-index: 0; }
.gob-carte { height: 480px; margin: 20px 0; }
.gob-carte img, .gob-mini img { max-width: none !important;
    max-height: none !important; padding: 0 !important; border: 0 !important;
    box-shadow: none !important; }
.gob-carte .leaflet-tile, .gob-mini .leaflet-tile { width: 256px !important;
    height: 256px !important; }
@media (max-width: 600px) { .gob-carte { height: 380px; } }

.gob-pin span { display: block; width: 22px; height: 22px; margin: 2px;
    border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
    background: #008fed; border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .4); }
.gob-pin-res span { background: #d97b29; }
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large {
    background: rgba(0, 143, 237, .25); }
.marker-cluster-small div, .marker-cluster-medium div,
.marker-cluster-large div { background: #008fed; color: #fff; font-weight: 700; }

.gob-pop img { display: block; width: 100%; height: auto; margin-bottom: 6px;
    border-radius: 3px; }
.gob-pop a { font-weight: 700; color: #008fed; font-size: 15px; }
.gob-pop p { margin: 4px 0 0 !important; font-size: 13px; line-height: 1.4; }

.gob-carte-bas { display: flex; gap: 20px; align-items: flex-start; }
.gob-filtres { flex: 0 0 240px; background: #f5f5f5; padding: 14px;
    box-sizing: border-box; font-size: 14px; }
.gob-liste-zone { flex: 1; min-width: 0; }
@media (max-width: 767px) {
    .gob-carte-bas { flex-direction: column; }
    .gob-filtres { flex: none; width: 100%; }
}
.gob-f { border: 0; margin: 0 0 14px; padding: 0; }
.gob-f legend { font-weight: 700; margin-bottom: 6px; font-size: 14px; }
.gob-f label { display: block; margin: 4px 0; line-height: 1.35;
    cursor: pointer; font-weight: 400; }
.gob-f input { width: 16px !important; height: 16px !important;
    margin: 0 6px 0 0; vertical-align: -3px; }
.gob-n { color: #888; font-size: 12px; }
.gob-lieu { margin-bottom: 14px; }
.gob-lieu label { display: block; font-weight: 700; margin-bottom: 6px; }
.gob-lieu input, .gob-lieu select { width: 100%; box-sizing: border-box;
    margin-bottom: 6px; padding: 7px 8px; border: 1px solid #ccc;
    border-radius: 3px; font-size: 16px; }
.gob-lieu button, .gob-raz { width: 100%; margin-bottom: 6px; padding: 8px;
    border: 0; border-radius: 3px; background: #008fed; color: #fff;
    cursor: pointer; font-size: 14px; }
#gob-moi, .gob-raz { background: #555; }
#gob-lieu-msg { margin: 0; font-size: 13px; color: #555; }

.gob-compte { font-weight: 700; margin: 0 0 10px; }
.gob-item { display: flex; gap: 16px; background: #fff; margin-bottom: 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .15); }
.gob-img { flex: 0 0 38%; max-width: 260px; display: block; background: #eee; }
.gob-img img { width: 100%; height: 100%; min-height: 150px; object-fit: cover;
    display: block; }
.gob-noimg { display: block; min-height: 150px; }
.gob-txt { flex: 1; padding: 12px 12px 12px 0; min-width: 0; }
.gob-txt h3 { margin: 0 0 4px; font-size: 20px; line-height: 1.3; }
.gob-txt h3 a { color: #008fed; }
.gob-meta { margin: 0 0 6px !important; font-size: 13px; color: #777; }
.gob-txt p { font-size: 14px; margin: 0 0 8px; }
.gob-voir { border: 1px solid #008fed; background: #fff; color: #008fed;
    border-radius: 3px; padding: 5px 10px; font-size: 13px; cursor: pointer; }
@media (max-width: 480px) {
    .gob-item { flex-direction: column; gap: 0; }
    .gob-img { max-width: none; }
    .gob-img img { height: 180px; }
    .gob-txt { padding: 12px; }
}
.gob-pages { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 20px; }
.gob-pages button { min-width: 40px; height: 40px; border: 1px solid #ddd;
    background: #fff; cursor: pointer; border-radius: 3px; }
.gob-pages button[aria-current] { background: #008fed; color: #fff;
    border-color: #008fed; }
.gob-pages span { line-height: 40px; }
