@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--green:#173e33;--green2:#346b55;--cream:#fbf9f2;--sand:#eae7d9;--amber:#eacb8f;--text:#1a342d;--muted:#6e7b73;--border:#e5e7dd;--shadow:0 12px 35px #2d40331a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'DM Sans',system-ui,sans-serif;color:var(--text);background:var(--cream);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d6a454;outline-offset:2px}
.site-header{height:79px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1370px)/2));gap:15px;border-bottom:1px solid #ecede6}.brand{display:flex;align-items:center;gap:10px;color:var(--green);text-decoration:none}.brand-symbol{background:var(--green);color:#eed7a8;border-radius:15px;width:43px;height:43px;display:grid;place-items:center;font-size:38px;line-height:1}.brand strong{font-size:26px;letter-spacing:-1.6px;font-weight:800;display:block;line-height:1}.brand-green{color:#7d9b73}.brand small{font-size:8px;letter-spacing:1.4px;font-weight:800}.header-actions{display:flex;gap:19px;align-items:center}.header-link{border:0;background:transparent;color:var(--green);font-size:13px;font-weight:700;white-space:nowrap}.version-tag{font-size:9px;letter-spacing:1.5px;color:#718379;border:1px solid #d8e1d8;border-radius:50px;padding:8px 10px}.btn{border:0;padding:13px 19px;border-radius:10px;font-size:13px;font-weight:800;white-space:nowrap;transition:.18s transform,.18s background}.btn:hover{transform:translateY(-2px)}.btn-amber{background:var(--amber);color:var(--green)}.btn-dark{background:var(--green);color:#fff}.btn-outline{border:1px solid #b6c8bb;background:#fff;color:var(--green)}
.hero{background:var(--green);color:#fff;padding:48px max(30px,calc((100vw - 1370px)/2)) 44px;position:relative;display:flex;min-height:320px;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:760px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px;color:#dfc68f}.eyebrow.dark{color:#b58c45}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(32px,3.8vw,53px);line-height:1.16;letter-spacing:-1.1px;margin:14px 0}.hero h1 em{color:#e4cc9a}.hero p{max-width:600px;color:#c5d4ca;font-size:14px;line-height:1.65;margin:0}.hero-stats{display:flex;flex-wrap:wrap;gap:25px;margin-top:23px;color:#e6d5aa;font-size:12px}.hero-stats strong{color:#e5ece4;margin-left:6px;font-weight:600}.hero-ornament{position:absolute;right:0;bottom:0;width:35%;height:100%;opacity:.52;overflow:hidden}.sun{position:absolute;right:18%;top:38px;background:#e7cd92;border-radius:50%;width:118px;height:118px}.hill{position:absolute;bottom:-115px;border-radius:50% 50% 0 0;width:140%;height:260px}.hill-back{right:-34%;background:#507866;bottom:-81px;transform:rotate(-13deg)}.hill-front{left:-25%;background:#8aa17c;transform:rotate(13deg)}.road{position:absolute;bottom:0;left:46%;width:70px;height:150px;background:#d6c491;transform:perspective(80px) rotateX(35deg);clip-path:polygon(49% 0,58% 0,100% 100%,0 100%)}.tiny-van{position:absolute;bottom:54px;right:26%;color:#173e33;font-size:45px;transform:rotate(-4deg)}
.explore{padding:44px max(30px,calc((100vw - 1370px)/2)) 52px}.explore-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.explore-top h2,.community h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(24px,2.5vw,34px);margin:8px 0 0}.explorer{display:grid;grid-template-columns:350px minmax(0,1fr);background:#fff;border-radius:19px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);height:650px}.sidebar{padding:20px;overflow:auto;scrollbar-width:thin}.searchbox{background:#f8f9f6;display:flex;align-items:center;border:1px solid var(--border);padding:0 13px;border-radius:10px;margin-bottom:22px}.searchbox span{font-size:27px;color:var(--green2)}.searchbox input{width:100%;background:transparent;border:0;outline:0;padding:13px 9px;font-size:13px}.section-label{font-size:10px;letter-spacing:1.45px;font-weight:800;color:#8a968c;margin-bottom:11px}.section-label.spaced{margin-top:22px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:11px;font-weight:700;background:#fff;color:#51645b;border:1px solid #dde4de;border-radius:50px;padding:8px 11px}.chip.active{background:var(--green);color:#fff;border-color:var(--green)}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;margin:10px 0}.filter-row select{border:1px solid var(--border);background:#fff;padding:9px 8px;border-radius:8px;color:#496257;max-width:175px}.toggle-line{display:flex;flex-wrap:wrap;gap:13px;margin:14px 0;font-size:12px;color:#4c6156}.toggle-line label{display:flex;gap:5px;align-items:center;white-space:nowrap}input[type=checkbox]{accent-color:var(--green);width:15px;height:15px}.results-heading{border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding-top:19px;margin-top:19px;font-size:14px}.text-button{border:0;background:none;padding:5px;color:var(--green2);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.results-list{margin-top:15px;display:flex;flex-direction:column;gap:10px}.place-card{border:1px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;text-align:left;background:#fff;width:100%;transition:background .15s,border-color .15s}.place-card:hover,.place-card.selected{background:#f5f9f4;border-color:#8bad9a}.place-card h3{margin:8px 0 5px;font-family:'Playfair Display',Georgia,serif;font-size:18px}.place-card p{color:#718076;font-size:12px;line-height:1.5;margin:0 0 11px}.pill-row{display:flex;flex-wrap:wrap;gap:7px}.pill{padding:5px 8px;background:#f0f4ed;border-radius:40px;font-size:10px;color:#456653;font-weight:800}.pill.gold{background:#faefd9;color:#94703c}.card-meta{display:flex;justify-content:space-between;color:#748379;font-size:11px;margin-top:11px}.no-places{text-align:center;padding:33px 12px;color:#78867a;font-size:13px;line-height:1.6}.no-places .empty-icon{font-size:35px;display:block;margin-bottom:8px}.map-wrap{position:relative;background:#d9e6d7;min-width:0}#map{width:100%;height:100%;z-index:0}.map-caption{position:absolute;right:14px;bottom:24px;background:#fff;padding:10px 13px;z-index:410;border-radius:7px;box-shadow:0 4px 20px #0002;font-size:10px;color:#61746a;font-weight:700}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5fa77c;margin-right:4px}.map-pin{height:34px;width:34px;background:#173e33;border:2px solid white;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 4px 8px #213f3a40}.map-pin span{transform:rotate(45deg);font-size:17px}.leaflet-popup-content-wrapper{border-radius:12px}.popup-title{font-weight:800}.popup-meta{font-size:12px;color:#687c70;margin:7px 0}.popup-link{display:block;font-weight:800;font-size:12px;color:#346b55;margin:10px 0 0}
.community{margin:0 max(30px,calc((100vw - 1370px)/2)) 45px;background:#eaf0e5;border-radius:15px;padding:29px 32px;display:flex;gap:26px;align-items:center}.community-icon{background:#d1e1d0;min-width:70px;height:70px;display:grid;place-items:center;border-radius:50%;font-size:46px;color:#346b55}.community div:nth-child(2){flex:1}.community h2{font-size:25px}.community p{font-size:12px;line-height:1.6;color:#69766e;max-width:640px;margin:6px 0 0}footer{display:flex;align-items:center;justify-content:space-between;background:#f2f2e8;color:#7d897f;padding:22px max(30px,calc((100vw - 1370px)/2));font-size:11px;gap:10px}footer strong{font-size:18px;color:var(--green)}
.modal{border:0;padding:0;background:transparent;max-height:92vh;width:min(560px,96vw);color:var(--text);box-shadow:0 20px 80px #102c235b;border-radius:18px}.modal:focus{outline:0}.modal::backdrop{background:#10281eb8;backdrop-filter:blur(3px)}.modal:has(.modal-wide){width:min(700px,96vw)}.modal-card{background:#fff;border-radius:18px;padding:30px;position:relative;display:flex;flex-direction:column;max-height:92vh;overflow:auto}.modal-card h2{font-family:'Playfair Display',Georgia,serif;font-size:29px;margin:4px 0}.modal-eyebrow{font-size:10px;letter-spacing:2px;color:#a98443;font-weight:800}.modal-help{font-size:12px;color:#728177;line-height:1.6;margin:4px 0 20px}.close{position:absolute;right:16px;top:11px;font-size:30px;color:#819084;background:none;border:0}.modal-card label{font-weight:700;font-size:12px;margin:10px 0 6px}.modal-card input:not([type=checkbox]),.modal-card select,.modal-card textarea{border:1px solid #dbe4dc;border-radius:8px;padding:11px 12px;width:100%;color:var(--text);background:#fff;font-size:13px}.modal-card textarea{resize:vertical}.modal-card button.wide{margin-top:15px;padding:14px}.center{align-self:center;margin-top:14px}.form-error{font-size:12px;color:#af3428;min-height:1em;margin:12px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 15px}.form-grid>div{display:flex;flex-direction:column}.form-grid>div.full{grid-column:1/-1}.form-grid .checks{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding-top:18px}.form-grid .checks label{font-weight:500}.permission-check{margin-top:16px;background:#f5f8f3;border-radius:9px;padding:10px}.permission-check label{display:flex;align-items:start;gap:10px;line-height:1.5}.permission-check input{flex:none;margin-top:3px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;transition:.25s;z-index:9999;background:#173e33;color:#fff;padding:13px 22px;border-radius:50px;box-shadow:var(--shadow);font-size:13px;max-width:90vw;text-align:center}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}.moderation{border:1px solid #d8e4d8;border-radius:12px;padding:14px;margin:12px 0;font-size:13px}.moderation p{white-space:pre-wrap;color:#697b6c;font-size:12px}.moderation .mod-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.moderation .mod-actions button{font-size:12px;padding:9px 11px}.badge-status{padding:4px 8px;border-radius:20px;background:#f2ead4;font-size:10px;font-weight:800}.badge-status.approved{background:#def1e3}.badge-status.rejected{background:#fee4df}
@media(max-width:1000px){.site-header{padding:0 20px}.header-actions{gap:9px}.hero{padding:35px 25px;min-height:280px}.explore{padding:32px 20px}.explorer{grid-template-columns:310px 1fr}.community{margin-left:20px;margin-right:20px}.version-tag{display:none}}
@media(max-width:740px){.site-header{height:67px;padding:0 14px}.brand strong{font-size:21px}.brand small{font-size:6px}.brand-symbol{width:35px;height:35px}.header-link{font-size:12px}.header-actions{gap:5px}.header-actions .btn{font-size:0;padding:10px 12px}.header-actions .btn::after{content:'+';font-size:19px}.hero{padding:30px 19px;min-height:310px}.hero-copy{max-width:93%}.hero h1{font-size:34px}.hero p{font-size:12px}.hero-stats{gap:10px;font-size:10px}.hero-ornament{opacity:.21;width:80%}.explore{padding:27px 11px}.explore-top{padding:0 8px;align-items:end}.explore-top h2{font-size:24px}.explore-top .btn{font-size:11px;padding:10px 9px}.explorer{height:auto;display:flex;flex-direction:column;overflow:visible;border-radius:13px}.sidebar{order:2;overflow:visible;padding:16px}.map-wrap{order:1;height:320px;border-radius:13px 13px 0 0;overflow:hidden}.map-caption{font-size:9px;left:10px;right:auto;bottom:23px}.sidebar .results-list{max-height:340px;overflow:auto}.community{padding:20px 15px;gap:12px;flex-wrap:wrap;margin:0 12px 25px}.community-icon{height:52px;min-width:52px;font-size:30px}.community h2{font-size:21px}.community .btn{margin-left:64px}footer{padding:20px;flex-wrap:wrap}.modal-card{padding:22px}.form-grid{grid-template-columns:1fr}.form-grid>div.full{grid-column:auto}.modal-card h2{font-size:25px}}

/* V0.1.2 : panneau de réglages et annonce visible */
.site-notice{background:#f7eaca;color:#3e402d;display:block;max-width:800px;margin:0 auto 18px;padding:12px 17px;border-radius:10px;position:relative;z-index:2}.site-notice[hidden]{display:none}.settings-check{display:flex;align-items:center;gap:12px;margin:14px 0}.settings-check small{color:#777;display:block}.settings-check input{width:auto!important;flex:none}.installer-help{color:#56635c;font-size:.94rem}

/* V0.1.5 : recherche commune et état du chargement cartographique */
.searchbox{gap:4px}.searchbox input{min-width:0;flex:1}.searchbox button{border:0;background:#173e33;color:white;border-radius:7px;padding:8px 11px;font-size:12px;font-weight:800;flex-shrink:0}.searchbox button:hover{background:#346b55}.map-status[hidden]{display:none}.map-status{position:absolute;left:12px;top:12px;z-index:1001;max-width:min(350px,calc(100% - 95px));padding:9px 11px;color:#663b10;background:#fff8e4;border:1px solid #dfbd75;border-radius:9px;font-size:12px;box-shadow:0 4px 12px #0002}.map-status button{background:#fff;border:1px solid #d8b96e;border-radius:6px;padding:5px 8px;font-size:12px;margin-left:5px;cursor:pointer}

/* Liens de navigation administrateur, dont Mises à jour. */
.header-actions a.header-link{text-decoration:none;display:inline-flex;align-items:center;color:inherit}.header-actions a.header-link[hidden]{display:none!important}

/* v0.1.7 — découverte Facebook (liens externes, pas de collecte) */
.facebook-search {max-width:1230px;margin:22px auto 50px;padding:32px clamp(18px,4vw,42px);background:#f0f5f0;border-radius:22px;color:#204739}
.facebook-search h2 {font-size:clamp(22px,3vw,30px);max-width:840px;margin:10px 0}
.facebook-search p {max-width:870px;line-height:1.55}
.fb-inline {display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0}
.fb-inline input {min-width:200px;max-width:440px;flex:1;background:#fff;border:1px solid #cbdcd2;border-radius:12px;padding:13px;font:inherit}
.fb-inline label {font-weight:700}
@media(max-width:700px){.facebook-search{margin:20px 12px}.fb-inline>*{width:100%}}

/* V0.1.9 : recherche réelle, résultats vérifiés et pistes distinctes. */
.search-heading{display:block;font-size:12px;font-weight:800;margin:0 0 8px;color:#365548}
.sidebar .search-action{width:100%;text-align:center;margin-top:16px;font-size:13px;padding:13px 10px}
.search-feedback{font-size:12px;color:#536c60;background:#eef4eb;padding:11px 12px;border-radius:9px;margin-top:10px;line-height:1.55}
.search-feedback.search-error{background:#fbe9e7;color:#a02b26}
.search-feedback.search-working{background:#f8f1db;color:#695222}
.place-card.external{border-style:dashed;border-color:#cfb681;background:#fffcf5}
.place-card.external .badge-unverified{display:inline-block;border-radius:50px;background:#f7ebd3;color:#765521;padding:5px 8px;font-weight:750;font-size:10px}
.map-pin.unverified{background:#a87724}
.import-controls{background:#f1f6ed;border-radius:9px;padding:10px;margin-top:9px;font-size:11px;color:#4a6852;line-height:1.5}
.import-controls[hidden]{display:none}
.import-controls .btn{padding:10px;margin-bottom:5px;width:100%;font-size:12px}
.import-controls span{display:block}
.result-source{font-size:10px;color:#966b2e;font-weight:800}

.search-feedback.search-warning{background:#fff2d6;color:#735212}
