:root{color-scheme:dark;--bg:#091112;--side:#0b1515;--surface:#111d1d;--surface2:#162323;--surface3:#1a2928;--stroke:#293937;--stroke2:#354743;--text:#f0eee8;--muted:#99a7a2;--dim:#6c7e79;--accent:#d6b383;--green:#bdd4b1;--shadow:0 22px 65px #0006;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-size:14px;letter-spacing:.003em}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hidden{display:none!important}
.sidebar{width:244px;position:fixed;left:0;top:0;height:100dvh;background:var(--side);border-right:1px solid #243331;padding:37px 19px 20px;display:flex;flex-direction:column;z-index:30}.brand{font:normal 37px/.90 var(--serif);letter-spacing:-1.3px;color:#e6d4ba;margin:3px 10px 0}.brand span{color:#e8d6c3}.brand .brand-dot{color:#ba9c71}.brand-sub{font-size:9px;letter-spacing:2px;color:#738981;margin:18px 10px 37px}.nav{display:grid;gap:5px}.nav button{border:0;color:#a0b1ab;background:transparent;width:100%;text-align:left;display:flex;align-items:center;gap:13px;border-radius:9px;padding:13px 12px;transition:.18s;color:#b8c4be}.nav button:hover{background:#1a2926;color:#f2eee4}.nav button.active{background:#22342e;color:#e5c596}.nav button svg{width:19px;height:19px}.side-bottom{margin-top:auto;padding:10px 9px;color:var(--dim)}.privacy-note{font-size:11px;display:flex;gap:8px;align-items:center;white-space:nowrap}.status-dot{background:#bf9c66;width:5px;height:5px;border-radius:50%}.side-version{margin-top:17px;font-size:10px;letter-spacing:1.8px}.side-version span{margin:0 5px}.app-frame{margin-left:244px;min-height:100dvh}.topbar{height:76px;border-bottom:1px solid #1c2b2a;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,58px);gap:20px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:15px}.eyebrow{color:#8d9f98;font-size:10px;letter-spacing:2.3px;font-weight:650}.local-pill{color:#9caa9e;border:1px solid #34453e;border-radius:20px;padding:6px 11px;font-size:10px;letter-spacing:1px}.profile-label{font-size:12px;color:#8e9f9a}#profile-select{appearance:none;background:transparent;color:var(--text);border:0;padding:8px 5px;font-weight:650;min-width:68px}#profile-select option{background:#162323}.avatar{width:31px;height:31px;border-radius:50%;border:1px solid #927b5d;background:#292d27;color:#e4d5c0;display:grid;place-items:center;font:18px var(--serif)}.mobile-menu{display:none!important}
main{max-width:1510px;margin:auto;padding:38px clamp(22px,4vw,58px) 55px}.page-title{font:normal clamp(35px,3.8vw,53px)/1.08 var(--serif);letter-spacing:-1.4px;margin:0}.page-intro{color:var(--muted);font-size:14px;line-height:1.6;margin:12px 0 0}.section-kicker{font-size:10px;color:var(--accent);font-weight:700;letter-spacing:2px;margin-bottom:10px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.section-top h2{font:normal 26px/1.1 var(--serif);margin:0;letter-spacing:-.5px}.section-top small{color:var(--muted)}.btn,.link-btn,.icon-btn,.pill{border:1px solid var(--stroke2);background:var(--surface2);color:var(--text);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 15px;transition:.16s;line-height:1.25}.btn:hover,.icon-btn:hover,.pill:hover{background:#263a34;border-color:#65746a}.btn.primary{background:#e2c39b;border-color:#e2c39b;color:#182321;font-weight:700}.btn.primary:hover{background:#f0d6b1}.btn.light{background:#e8e4da;color:#151f1e;border-color:#e8e4da;font-weight:650}.btn.compact{padding:8px 11px;font-size:12px}.btn.danger{color:#f3b8ab}.icon-btn{height:38px;width:38px;padding:8px}.link-btn{border:0;background:transparent;padding:6px 0;color:#cbb58f;font-size:12px}.link-btn:hover{color:#f1dcb6}.pill{border-radius:30px;padding:8px 13px;font-size:12px;background:transparent;color:var(--muted)}.pill.selected{background:#e7e3da;color:#152120;border-color:#e7e3da;font-weight:700}.tag{display:inline-flex;color:#c5d0c4;border-radius:50px;background:#26342e;padding:5px 9px;font-size:10px;letter-spacing:.2px}.tag.accent{background:#3c392e;color:#e3c392}.tag.ok{background:#223c32;color:#b8daba}.secondary{color:var(--muted)}.small{font-size:12px}.fine{font-size:11px;color:var(--dim)}.empty{padding:44px 30px;background:var(--surface);border:1px dashed var(--stroke2);border-radius:14px;text-align:center;color:var(--muted)}.empty h3{color:var(--text);margin:10px 0;font:normal 25px var(--serif)}
.hero{height:235px;position:relative;background:#1d2727 url('/assets/venise-hero.webp') center 49%/cover;border-radius:13px;overflow:hidden;border:1px solid #243533;display:flex;align-items:center;padding:clamp(25px,4vw,46px)}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,17,.94) 0%,rgba(8,18,20,.80) 38%,rgba(8,18,20,.12) 100%)}.hero-content{position:relative;z-index:1}.hero h1{font:normal clamp(38px,4vw,55px)/1.05 var(--serif);letter-spacing:-1.6px;margin:7px 0 11px}.hero p{color:#c9d1c7;margin:0;font-size:14px}.hero .pretitle{font-size:10px;letter-spacing:2px;color:#d7bd95}.hero-sub{font-size:12px;color:#d3bf9f;letter-spacing:.3px;margin-top:19px}.home-section{margin-top:34px}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:17px}.destination{position:relative;min-height:235px;border:1px solid #2d3d3c;background:#1d2a29;border-radius:12px;overflow:hidden;text-align:left;padding:0;display:block}.destination img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.8);transition:transform .45s}.destination:hover img{transform:scale(1.035)}.destination::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,#071514d9 100%)}.destination-content{position:absolute;bottom:23px;left:24px;z-index:1;display:flex;justify-content:space-between;align-items:end;right:22px;gap:10px}.destination h3{font:normal 32px/1 var(--serif);margin:0 0 8px}.destination p{font-size:12px;color:#e0e7df;margin:0}.round-arrow{border:1px solid #c1c8be91;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;background:#08151465}.round-arrow svg{width:17px}.home-lower{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:17px}.home-box{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;min-height:185px;padding:20px;display:flex;flex-direction:column}.home-box h3{font:normal 22px var(--serif);margin:0}.home-box .block-text{color:var(--muted);line-height:1.65;margin:13px 0;font-size:12px;flex:1}.home-box-icon{margin-bottom:15px;color:var(--accent)}.home-box-icon svg{width:24px;height:24px}.home-box a{font-size:12px;color:#e3c492;display:flex;align-items:center;gap:7px}.mini-preview{display:flex;align-items:center;gap:10px;margin:15px 0;flex:1}.mini-preview .mini-icon{width:48px;height:48px;border:1px solid #3d4b43;border-radius:9px;background:#28352e;display:grid;place-items:center;font-size:24px;color:#c4ba9f}.subtle-banner{margin-top:24px;font-size:11px;color:#8c9b92;display:flex;align-items:center;gap:9px}.subtle-banner svg{width:15px;height:15px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 28px}.page-head .heading{max-width:780px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:23px 0 16px}.pills{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search{border:1px solid var(--stroke2);border-radius:9px;background:var(--surface);color:var(--text);padding:10px 12px;outline:none;min-width:210px}.search::placeholder{color:#6d807a}.map-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px}.map-wrap{background:var(--surface);border:1px solid var(--stroke);border-radius:13px;overflow:hidden;min-height:540px;position:relative}.map{height:100%;min-height:540px;z-index:1}.map-overlay{position:absolute;z-index:2;top:16px;left:16px;background:#111d1de8;border:1px solid #425048;color:#c6d1c5;padding:9px 12px;border-radius:8px;font-size:11px;max-width:310px}.map-fallback{display:grid;place-content:center;text-align:center;padding:30px;height:100%;color:#bdc8bd;line-height:1.7}.place-list{display:flex;flex-direction:column;gap:10px;max-height:540px;overflow:auto;padding-right:3px}.place-card,.wine-row,.idea-row,.discovery-card{background:var(--surface);border:1px solid var(--stroke);border-radius:11px;transition:.2s}.place-card{display:flex;gap:12px;padding:15px;align-items:center}.place-card:hover,.wine-row:hover,.idea-row:hover{border-color:#53685d}.place-icon{width:43px;height:43px;border-radius:10px;background:#28382f;color:#d3ba92;display:grid;place-items:center;flex-shrink:0}.place-card-text{flex:1;min-width:0}.place-card h3,.wine-row h3{font-size:14px;font-weight:650;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-card p,.wine-row p{font-size:11px;color:var(--muted);margin:0;line-height:1.5}.place-actions{display:flex;gap:3px}.place-actions .icon-btn{width:30px;height:32px;background:transparent;border:0}.place-actions svg{width:16px;height:16px}.rating{color:#e1be8b}.count{font-size:11px;color:var(--dim);margin-left:5px}.map .leaflet-popup-content-wrapper{background:#1b2a27;color:#f1eee6;border-radius:9px}.map .leaflet-popup-tip{background:#1b2a27}.map .leaflet-popup-content{font-family:var(--sans);font-size:12px}.leaflet-container{background:#1e2a29}.leaflet-control-attribution{font-size:10px!important}.custom-marker{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#cfb18a;color:#1a2925;border:3px solid #152421;box-shadow:0 3px 12px #07100cab}.custom-marker svg{height:12px;width:12px;stroke-width:2.6}
.discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.discovery-card{padding:10px;overflow:hidden}.discovery-photo{height:208px;width:100%;border-radius:8px;background:#202d2a;object-fit:cover;display:block}.discovery-photo-placeholder{height:208px;border-radius:8px;background:linear-gradient(145deg,#2d322b,#142321 58%,#2c261f);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;color:#deccb0}.discovery-photo-placeholder svg{width:28px;height:28px}.discovery-card .details{padding:12px 6px 8px}.discovery-card h3{font-weight:650;font-size:14px;margin:0 0 5px}.discovery-card p{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 12px}.discovery-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.discovery-meta .tag{font-size:10px}.disc-actions{display:flex;gap:7px;margin-top:13px}.disc-actions button{flex:1}.wine-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wine-row{display:flex;align-items:center;gap:17px;padding:15px;min-height:118px}.wine-art{height:89px;width:71px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,#384034,#192b27);border-radius:8px;overflow:hidden}.wine-art img{width:100%;height:100%;object-fit:cover}.wine-art svg{width:32px;height:49px;color:#d4bc9a;stroke-width:1}.wine-info{min-width:0;flex:1}.wine-row .row-last{align-self:center;display:flex;gap:5px;align-items:center}.bottle-rating{margin-top:10px;font-size:12px;color:#d5ba94;display:flex;gap:6px;align-items:center}.bottle-rating strong{font-weight:650}.bottle-rating span{color:var(--muted);font-size:11px}.ideas{display:grid;gap:10px}.idea-row{display:flex;align-items:center;padding:16px;gap:15px}.idea-row input[type=checkbox]{appearance:none;width:22px;height:22px;border:1px solid #6e7d70;border-radius:6px;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.idea-row input[type=checkbox]:checked{background:#d8ba90;border-color:#d8ba90}.idea-row input[type=checkbox]:checked::after{content:'✓';color:#14221e;font-weight:900}.idea-row .idea-main{flex:1}.idea-row h3{font-size:14px;margin:0 0 5px;font-weight:650}.idea-row.done h3{text-decoration:line-through;color:#778981}.idea-row p{font-size:11px;color:var(--muted);margin:0}.idea-row .icon-btn{background:transparent;border:0}.expenses-card{padding:24px;border-radius:13px;border:1px solid var(--stroke);background:var(--surface);max-width:700px}.expenses-card h2{font:normal 24px var(--serif);margin:0 0 10px}.expenses-card p{line-height:1.7;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:#000b;z-index:90;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(6px)}.modal{background:#142120;border:1px solid #40504b;border-radius:15px;width:min(550px,100%);max-height:min(90dvh,900px);overflow:auto;box-shadow:var(--shadow)}.modal-head{position:sticky;top:0;background:#142120;z-index:2;padding:22px 25px;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font:normal 27px var(--serif);margin:0}.modal-body{padding:24px 25px}.modal-foot{padding:16px 25px 24px;display:flex;justify-content:flex-end;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{color:#bccbc0;font-size:12px}.field input,.field textarea,.field select{background:#0e1919;color:var(--text);border:1px solid #3d514b;border-radius:8px;padding:12px 12px;width:100%;min-height:42px;outline:none}.field select option{background:#192523}.field textarea{resize:vertical;min-height:91px}.field input[type=file]{font-size:11px;padding:10px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#c8b18d}.field .hint{color:var(--dim);font-size:11px;line-height:1.5}.modal-note{background:#22302a;border:1px solid #374b41;border-radius:8px;padding:11px 13px;font-size:11px;color:#c0cbbd;line-height:1.6;margin:2px 0 18px}.upload-preview{width:100%;max-height:265px;object-fit:contain;background:#1b2b27;border-radius:8px;margin:0 0 12px}.single-discovery img{width:100%;max-height:410px;object-fit:contain;background:#091111;border-radius:8px}.single-discovery h3{font:normal 28px var(--serif);margin:18px 0 8px}.single-discovery p{font-size:13px;color:#b6c2b9;line-height:1.7}.comment{border-top:1px solid var(--stroke);padding:11px 0;color:#d3dcd2;font-size:12px}.comment strong{color:#e4c495}.comment-form{display:flex;gap:7px;margin-top:12px}.comment-form input{flex:1;min-width:0;background:#0e1919;color:var(--text);border:1px solid var(--stroke2);border-radius:8px;padding:11px}.comment-form .btn{white-space:nowrap}.toast{position:fixed;right:24px;bottom:22px;z-index:150;background:#d8bd95;color:#19251f;border-radius:9px;padding:12px 18px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;max-width:calc(100vw - 45px);font-size:12px;font-weight:650}.toast.show{opacity:1;transform:translateY(0)}.scrim{position:fixed;inset:0;background:#000a;z-index:25}
@media(max-width:1150px){.home-lower{grid-template-columns:1fr 1fr}.home-lower .home-box:last-child{grid-column:span 2}.discover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout{grid-template-columns:1fr}.map-wrap,.map{height:480px;min-height:480px}.place-list{max-height:none;display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.app-frame{margin-left:0}.mobile-menu{display:flex!important}.topbar{padding:0 20px;height:65px}main{padding:28px 20px 45px}.profile-label{display:none}.hero{height:222px}.local-pill{display:none}}
@media(max-width:600px){.hero{height:205px;padding:25px;background-position:61%}.hero h1{font-size:39px}.hero p{max-width:270px;line-height:1.6;font-size:12px}.section-top h2{font-size:25px}.destinations{grid-template-columns:1fr;gap:12px}.destination{min-height:190px}.home-lower{grid-template-columns:1fr}.home-lower .home-box:last-child{grid-column:auto}.home-box{min-height:145px}.page-head{align-items:flex-start;flex-direction:column}.toolbar{align-items:flex-start}.discover-grid,.wine-list,.place-list{grid-template-columns:1fr}.map-wrap,.map{height:390px;min-height:390px}.discovery-photo,.discovery-photo-placeholder{height:218px}.modal-backdrop{padding:8px;align-items:flex-end}.modal{border-radius:14px 14px 0 0;max-height:94dvh}.modal-head{padding:17px 19px}.modal-body{padding:20px 19px}.modal-foot{padding:15px 19px 19px}.form-grid{grid-template-columns:1fr;gap:0}.page-title{font-size:39px}.topbar-right{gap:6px}.topbar-left{gap:8px}.avatar{width:28px;height:28px}.eyebrow{font-size:9px;letter-spacing:1.5px}.destination h3{font-size:29px}}


/* Page de garde — version d'essai */
#app[hidden],#access-gate[hidden]{display:none!important}
.access-gate{min-height:100svh;position:relative;background:#091112;color:var(--text);display:grid;place-items:center;padding:30px;overflow:hidden;isolation:isolate}
.access-image{position:absolute;inset:0;background:url('/assets/venise-hero.webp') center/cover no-repeat;opacity:.38;z-index:-2;transform:scale(1.015)}
.access-gate:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#091112e8 0%,#091112ce 48%,#091112a8 100%);z-index:-1}
.access-shell{width:min(460px,100%);min-height:min(720px,calc(100svh - 60px));display:flex;flex-direction:column;align-items:stretch}
.access-brand{font:normal 52px/.91 var(--serif);letter-spacing:-1.5px;color:#e6d4ba;text-align:center;margin:clamp(12px,7vh,72px) 0 auto}
.access-brand span{color:#e8d6c3}
.access-card{padding:38px 38px 40px;border-radius:16px;border:1px solid #3e4c45;background:#0e1b1beb;box-shadow:0 24px 85px #0007;backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}
.access-eyebrow{font-size:10px;font-weight:650;color:var(--accent);letter-spacing:2.4px;margin:0 0 13px}
.access-card h1{font:normal 46px/1.08 var(--serif);margin:0 0 13px;letter-spacing:-1px}
.access-description{color:#aebeb6;line-height:1.6;font-size:13px;margin:0 0 27px}
.access-card label{display:block;color:#c4cec5;font-size:12px;margin-bottom:9px}
.access-card input{width:100%;height:50px;border:1px solid #516259;border-radius:9px;background:#091615;color:#f3eee7;font-size:15px;padding:12px 14px;outline:none}
.access-card input:focus{border-color:#dbc19a;box-shadow:0 0 0 3px #d6b38329}
.access-card input::placeholder{color:#6f8178}
.access-error{font-size:12px;color:#efae9f;margin:9px 0 0;min-height:18px}
.access-submit{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;height:51px;background:#d6b383;color:#17231d;border:0;border-radius:9px;padding:0 17px;font-weight:750;font-size:13px;cursor:pointer}
.access-submit:hover{background:#e4c69e}.access-submit:disabled{opacity:.75;cursor:wait}
.access-submit span{font-size:21px;font-weight:400}
.access-footer{text-align:center;margin:auto 0 6px;font-size:9px;letter-spacing:2px;color:#89978c;padding-top:35px}
@media(max-width:600px){.access-gate{padding:18px}.access-shell{min-height:calc(100svh - 36px)}.access-brand{font-size:45px}.access-card{padding:31px 24px}.access-card h1{font-size:40px}}


/* V0.3.1 — carte parchemin basée sur OSM et filtre CSS, sans clé API. */
.map-wrap.map-parchment{background:#e7d8b8;border-color:#665844;box-shadow:inset 0 0 0 5px #b5a08225}
.map-wrap.map-parchment::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background: url('/assets/map-paper.svg') 0 0 / 380px 380px repeat;mix-blend-mode:multiply;opacity:.34}
.map-wrap.map-parchment .leaflet-tile-pane{filter:sepia(.67) saturate(.64) contrast(.93) brightness(1.04)}
.map-wrap.map-parchment .leaflet-container{background:#e6d7b8}
.map-wrap.map-parchment .custom-marker{background:#463a29;color:#f4dfb8;border:2px solid #e3c99d;box-shadow:0 2px 0 #90754d,0 4px 12px #3825106b;width:29px;height:29px}
.map-wrap.map-parchment .leaflet-popup-content-wrapper{background:#f5e8ce;color:#3f3427;border:1px solid #c5aa7b;box-shadow:0 6px 22px #382c1d42}
.map-wrap.map-parchment .leaflet-popup-tip{background:#f5e8ce}
.map-wrap.map-parchment .leaflet-control-attribution{background:#f6e9dccc!important;color:#584d3a!important}
.map-wrap.map-parchment .leaflet-control-attribution a{color:#65543c!important}
.map-wrap.map-parchment .leaflet-control-zoom a{background:#f7ead2;color:#51412b;border-color:#bba784}
.map-wrap.map-parchment .leaflet-control-zoom{border:1px solid #998567!important;box-shadow:0 2px 9px #493c2966}
.map-style-switch{position:absolute;top:15px;right:15px;z-index:8;display:flex;align-items:center;padding:4px;gap:3px;border-radius:9px;background:#17211ff2;border:1px solid #66705f;box-shadow:0 7px 19px #0004;backdrop-filter:blur(6px)}
.map-style-option{border:none;border-radius:6px;padding:9px 12px;background:transparent;color:#c1c9c2;font-size:11px;line-height:1.1;min-height:33px}
.map-style-option.active{background:#e4d4ae;color:#292b21;font-weight:700}
.map-style-option:hover:not(.active){background:#39443b;color:#f6efe2}
.map-edition{position:absolute;top:20px;left:18px;z-index:3;display:flex;align-items:center;gap:7px;pointer-events:none;color:#493e2b;text-shadow:0 1px #f3e6c6d9}
.map-standard .map-edition{color:#576960;text-shadow:0 1px #f3f1e8b5}
.north-sign{border:1px solid currentColor;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font:italic 15px Georgia,serif;transform:rotate(-10deg);background:#f6e9ce80}
.edition-title{letter-spacing:2.1px;font:600 9px Georgia,serif}
.map-wrap .map-overlay{top:auto;bottom:16px;left:16px;max-width:250px;z-index:7;pointer-events:none}
.map-wrap.map-parchment .map-overlay{background:#f8e9d6eb;color:#4b4030;border:1px solid #baa27c}
.map-wrap.map-parchment .leaflet-bottom .leaflet-control-attribution{max-width:75vw}
@media(max-width:650px){.map-style-switch{top:12px;right:10px}.map-style-option{padding:9px 10px;font-size:10px}.map-edition{top:68px;left:14px}.map-wrap .map-overlay{left:12px;bottom:12px;max-width:220px;font-size:10px}}

/* Recherche d'adresses — Nominatim, recherche sur demande (sans autocomplétion) */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.geo-search-box{background:var(--surface);border:1px solid var(--stroke);border-radius:12px;padding:15px;margin:0 0 18px}
.geo-search-form{display:flex;gap:10px;align-items:center}
.geo-search-symbol{width:24px;height:24px;flex-shrink:0;color:var(--accent);margin-left:3px}.geo-search-symbol svg{width:22px;height:22px;stroke-width:1.8}
.geo-search-form input{min-width:0;flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:13px;padding:12px 0}
.geo-search-form input::placeholder{color:#87958a}.geo-search-form:focus-within{outline:1px solid #bba27b;outline-offset:5px;border-radius:5px}
.geo-search-form button:disabled{opacity:.65;cursor:wait}
.geo-search-feedback{color:var(--muted);font-size:11px;min-height:16px;padding-top:11px}
.geo-search-credit{color:var(--dim);font-size:10px;margin-top:7px;line-height:1.4}
.geo-search-credit a{color:#b6ad99;text-decoration:underline;text-underline-offset:2px}
.geo-results{display:grid;gap:5px;margin-top:5px}
.geo-result{border:1px solid var(--stroke);border-radius:8px;padding:7px;display:flex;align-items:center;gap:8px;background:#14231f}
.geo-result.geo-active{border-color:#c5a87c;background:#233027}
.geo-result-main{min-width:0;flex:1;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:5px;border:0;background:transparent;color:var(--text);padding:5px}
.geo-result-name{font-size:12px;line-height:1.3}.geo-result-coords{font-size:10px;color:var(--dim)}
.geo-add{white-space:nowrap;flex-shrink:0;font-size:11px}
.geo-result-main:hover .geo-result-name{text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.geo-search-box{padding:12px}.geo-search-form{gap:6px}.geo-search-form input{font-size:12px}.geo-search-form .btn{padding:10px;font-size:11px}.geo-result{align-items:flex-start}.geo-add{margin-top:4px}}
