/* LUNE 29 / illustrated Paris guide / 20260915-9-guide.
   This stylesheet is loaded only by /paris/ and /en/paris/. */
:root{--paper:#f5f1e8;--white:#fffdf8;--ink:#253849;--muted:#70675e;--clay:#805442;--line:#ddd3c4;--sand:#eae1d2;--serif:'Iowan Old Style','Baskerville','Palatino Linotype',Georgia,serif;--sans:'Avenir Next','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}.category-card svg,.guide-search svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}:focus-visible{outline:3px solid #315a85;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.guide-skip{position:absolute;top:-100px;left:18px;padding:14px 20px;background:var(--white);z-index:3000}.guide-skip:focus{top:10px}.guide-header{min-height:98px;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line);padding:20px max(24px,4vw)}.guide-brand{font:400 29px/1 var(--serif);letter-spacing:.1em;white-space:nowrap}.guide-brand small{display:block;font:400 8px/1.2 var(--sans);letter-spacing:.29em;text-align:center;margin-top:9px}.guide-header-nav{margin-left:auto;display:flex;gap:30px;align-items:center}.guide-back{font-size:12px;padding:12px 0;color:var(--muted)}.guide-back:hover{text-decoration:underline;text-underline-offset:4px}.guide-book{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 23px;min-height:48px;background:var(--ink);color:var(--white);border-radius:30px;font-size:12px;white-space:nowrap;transition:background .2s}.guide-book:hover{background:var(--clay)}.guide-language{display:flex;align-items:center;gap:6px;font-size:11px}.guide-language a{padding:12px 7px}.guide-language a[aria-current]{text-decoration:underline;text-underline-offset:5px}.guide-language span{opacity:.45}
.guide-intro{max-width:1420px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:7vw;align-items:center;padding:52px max(24px,4vw) 46px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:.2em;line-height:1.7;text-transform:uppercase;color:var(--clay);margin-bottom:12px}.guide-intro h1{font-size:clamp(48px,5.4vw,76px);letter-spacing:-.035em;line-height:1.04}.guide-intro h1>span{color:var(--clay)}.guide-subtitle{font:400 clamp(22px,2.3vw,29px)/1.3 var(--serif);margin:10px 0 18px;color:#635a50}.guide-lead{max-width:620px;color:var(--muted);font-size:14px;line-height:1.8}.guide-count{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.1em;margin-top:21px;color:#756951}.tiny-moon{font-size:20px}.intro-postcard{transform:rotate(2deg);padding:10px 10px 0;background:var(--white);border:1px solid #e9dfd0;box-shadow:0 8px 26px #59412f0b;border-radius:125px 125px 8px 8px}.intro-postcard img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:116px 116px 4px 4px}.intro-postcard figcaption{padding:15px 5px 13px;text-align:center;font:italic 21px/1.3 var(--serif);color:var(--clay)}.intro-postcard figcaption small{display:block;margin-top:6px;font:400 8px/1.5 var(--sans);letter-spacing:.1em;color:var(--muted)}
.guide-explorer{max-width:1500px;margin:0 auto;padding:0 max(24px,3vw) 46px;scroll-margin-top:16px}.map-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:8px;background:var(--white);border:1px solid #e6ddd0;border-radius:24px;margin-bottom:25px;box-shadow:0 5px 20px #54443306}.category-card{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 10px;background:transparent;border:1px solid transparent;border-radius:17px;min-height:60px;transition:background .2s,color .2s}.category-card span{font:400 17px/1.2 var(--serif)}.category-card svg{flex-shrink:0;width:22px;height:22px}.category-card small{font-size:9px;opacity:.7}.category-card.active{background:var(--clay);color:var(--white)}.category-card:not(.active):hover{background:#f2ece1}.mobile-views{display:none}
.guide-discovery{display:grid;grid-template-columns:340px minmax(0,1fr);gap:26px;align-items:start;min-width:0}.place-panel{min-width:0}.list-heading{padding:2px 5px 13px}.list-heading .eyebrow{margin-bottom:5px}.list-heading h2{font-size:29px;margin:0 0 9px}.list-heading>p:last-child{font-size:12px;color:var(--muted);line-height:1.7;max-width:330px}.guide-search{display:flex;align-items:center;position:relative;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:0 11px;gap:9px}.guide-search svg{width:18px;height:18px;flex-shrink:0;color:var(--muted)}.guide-search input{min-width:0;flex:1;border:0;background:transparent;min-height:46px;font-size:12px;width:100%;color:var(--ink);outline-offset:1px}.guide-search input::placeholder{color:#79716a}.guide-search input::-webkit-search-cancel-button{display:none}.guide-search button{border:0;background:transparent;font-size:21px;line-height:1;min-width:32px;min-height:36px}.list-count{font-size:10px;letter-spacing:.05em;color:var(--muted);padding:10px 5px 9px;min-height:36px}.destination-list{display:grid;gap:9px;max-height:642px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfc2ad transparent;padding:3px 7px 5px 3px;scroll-padding:12px}.place-card{display:grid;grid-template-columns:96px minmax(0,1fr) 16px;gap:13px;align-items:center;width:100%;min-height:95px;border:1px solid #e7dece;background:var(--white);border-radius:16px;padding:7px 10px 7px 7px;text-align:left;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}.place-card:hover{background:#fcf9f2;border-color:#bca892}.place-card.active{border-color:var(--clay);box-shadow:0 0 0 1px var(--clay);background:#f6eee1}.place-art{display:block;position:relative;width:96px;height:76px;border-radius:11px;overflow:hidden;background:#e7ddcb}.place-art img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.place-card:hover img{transform:scale(1.04)}.place-number{position:absolute;top:5px;left:5px;min-width:23px;height:23px;display:grid;place-items:center;background:#fffaf0ed;border-radius:50%;color:var(--clay);font-size:9px}.place-copy{display:block;min-width:0}.place-copy small{display:block;color:#75654f;font-size:8px;letter-spacing:.05em;line-height:1.5;margin-bottom:5px}.place-copy strong{display:block;font:400 19px/1.15 var(--serif);overflow-wrap:anywhere}.place-arrow{font-size:18px;color:#916b50}.place-card.active .place-arrow{color:var(--ink)}.art-note{font-size:10px;color:#777065;line-height:1.75;padding:15px 5px 0}.no-results{background:#ebe3d5;border-radius:15px;padding:24px;font-size:13px}.no-results button{min-height:42px;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px}
.map-panel{min-width:0}.map-frame{overflow:hidden;border-radius:23px;border:1px solid #dfd4c2;background:var(--white);box-shadow:0 9px 34px #57433108}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 21px;background:var(--white)}.map-address{display:flex;align-items:center;gap:11px;min-width:0}.map-address>span{font:32px/1 var(--serif)}.map-address strong{display:block;font:400 20px/1.15 var(--serif);letter-spacing:.07em}.map-address small{display:block;font-size:9px;letter-spacing:.05em;color:var(--muted);margin-top:3px}.map-basemap-toggle{display:flex;background:#eee7dc;border:1px solid #e3d9ca;border-radius:22px;padding:3px;gap:2px}.map-basemap-toggle button{border:0;background:transparent;padding:9px 13px;font-size:10px;line-height:1.5;border-radius:18px;min-height:36px}.map-basemap-toggle button[aria-pressed=true]{background:var(--ink);color:#fffdf8}.map-stage{position:relative;height:440px;background:#e8e6df;isolation:isolate}#paris-map{width:100%;height:100%;z-index:1;background:#ece8df}.map-loading{position:absolute;z-index:1002;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,85%);text-align:center;padding:20px 26px;background:#fffdf8f5;border:1px solid #dfd5c7;box-shadow:0 8px 25px #66533a16;border-radius:15px;font-size:13px;color:var(--muted);pointer-events:none}.map-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 15px}.map-bottom button{background:transparent;border:0;padding:8px 7px;font-size:11px;min-height:40px;border-radius:12px}.map-bottom button:hover{background:#f1ece2}.basemap-status{padding:12px 17px;border-top:1px solid var(--line);font-size:11px;color:var(--clay);background:#f3ebdd}
.place-detail{margin-top:20px;display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:25px;row-gap:16px;padding:21px;background:var(--white);border:1px solid #e4d9c8;border-radius:22px;box-shadow:0 8px 25px #66533a07;min-width:0}.detail-art{align-self:start;border-radius:13px;overflow:hidden;background:#eee5d5;position:relative}.detail-art img{width:100%;height:180px;object-fit:cover}.detail-art figcaption{padding:8px 8px;font-size:8px;line-height:1.5;color:#706454;letter-spacing:.03em;text-align:center}.detail-copy{min-width:0}.detail-copy .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:7px}.detail-copy h2{font-size:32px;line-height:1.1;margin-bottom:11px;overflow-wrap:anywhere}.detail-copy>p:not(.eyebrow):not(.route-status){font-size:12px;line-height:1.75;color:#665e54}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:15px}.detail-actions button{border:0;background:var(--clay);color:var(--white);border-radius:22px;display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:11px 17px;min-height:43px;font-size:11px}.detail-actions a{font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:10px 0}.route-status{font-size:10px;color:#736553;line-height:1.7;margin-top:11px}.route-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.route-stats span{border:1px solid #e0d4c1;border-radius:20px;padding:5px 12px;color:var(--clay);font-size:11px}.detail-pagination{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #e8e0d4;padding-top:10px}.detail-pagination button{background:transparent;border:0;min-height:40px;padding:7px 0;display:flex;align-items:center;gap:11px;font-size:11px}.detail-pagination p{font-size:10px;color:var(--muted)}.detail-pagination button:hover{color:var(--clay)}.detail-copy .place-notice{padding:11px 12px;margin-top:11px;border-left:2px solid var(--clay);background:#f1e9db}.official-link{font-size:11px;display:inline-block;text-decoration:underline;text-underline-offset:3px;margin-top:6px}.map-legal{font-size:9px;color:#776f64;line-height:1.8;padding:14px 9px 0}.map-legal a{text-decoration:underline;text-underline-offset:3px}
/* Native cartographic colours: parks remain green; no tile filters. */
.leaflet-tile-pane{filter:none!important;opacity:1}.l29-map-marker{border:0!important;background:transparent!important}.l29-place-marker{display:grid;place-items:center;width:35px;height:35px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--white);border:2px solid var(--clay);box-shadow:0 3px 12px #3333;color:var(--clay)}.l29-place-marker>span{transform:rotate(45deg);font:600 10px var(--sans)}.l29-place-marker.selected{background:var(--clay);color:var(--white);outline:4px solid #fffdf8b8}.l29-home-marker{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--ink);color:var(--white);border:3px solid var(--white);font:27px var(--serif);box-shadow:0 3px 15px #26384940}.leaflet-tooltip.l29-home-label{background:var(--ink);color:var(--white);border:0;border-radius:5px;font:600 9px var(--sans);letter-spacing:.09em;padding:7px 9px;box-shadow:none}.leaflet-tooltip{font:12px var(--sans);border-radius:8px;padding:7px 10px}.leaflet-control-attribution{font:9px/1.6 var(--sans)!important;background:#fffdf8e8!important}.leaflet-control-zoom{border:1px solid #d1c4ae!important;box-shadow:0 4px 12px #54432220!important;overflow:hidden;border-radius:16px!important}.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;color:var(--ink)!important;background:var(--white)!important}.transit-explorer{margin-top:15px;border-top:1px solid var(--line);padding-top:10px}.transit-lines{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 11px}.transit-label{font-size:9px;letter-spacing:.1em;color:var(--clay)}.transit-line-button{width:36px;height:36px;border:2px solid transparent;border-radius:50%;font-size:11px;font-weight:600}.transit-line-button[aria-pressed=true]{outline:3px solid var(--clay);outline-offset:2px}.transit-line-button.bus{border-radius:9px}.transit-connection{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:32px;border:1px solid var(--line);border-radius:9px;padding:4px 7px;font-size:10px}.transit-caption{font-size:10px;color:#6e6356;line-height:1.65}
.guide-return{display:flex;justify-content:space-between;align-items:center;gap:26px;max-width:1320px;margin:0 auto 15px;padding:37px 43px;border:1px solid #e0d3be;border-radius:28px;background:#ebe3d6}.guide-return h2{font-size:36px;margin:0 0 9px}.guide-return p:last-child{font-size:12px;color:var(--muted)}.guide-return .eyebrow{margin-bottom:7px}.guide-footer{max-width:1420px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin:auto;padding:27px max(24px,4vw) 35px;font-size:11px;color:var(--muted)}.guide-footer>a:first-child{font-family:var(--serif);letter-spacing:.1em;font-size:18px;color:var(--ink)}.guide-footer>span{font-size:8px;letter-spacing:.15em}.guide-footer>a:last-child{text-decoration:underline;text-underline-offset:4px}.guide-noscript{max-width:1200px;margin:0 auto;padding:25px}.guide-noscript h3{margin:22px 0 8px}.guide-noscript a{text-decoration:underline}
@media(min-width:1600px){.map-stage{height:480px}.guide-discovery{grid-template-columns:365px minmax(0,1fr)}}
@media(max-width:1380px){.guide-return{margin-inline:3vw}.guide-discovery{grid-template-columns:310px minmax(0,1fr);gap:23px}.place-card{grid-template-columns:86px minmax(0,1fr) 13px;gap:10px}.place-art{width:86px;height:74px}.place-copy strong{font-size:18px}.detail-art img{height:167px}.place-detail{grid-template-columns:150px minmax(0,1fr);gap:18px}.detail-copy h2{font-size:29px}}
@media(max-width:1100px){.guide-discovery{grid-template-columns:295px minmax(0,1fr);gap:19px}.guide-header{gap:22px}.guide-header-nav{gap:20px}.guide-intro{grid-template-columns:minmax(0,1fr) 250px;gap:38px}.category-card{gap:7px;padding-inline:8px}.category-card span{font-size:15px}.category-card svg{width:19px}.place-detail{grid-template-columns:120px minmax(0,1fr);padding:17px;gap:16px}.detail-copy h2{font-size:27px}.detail-art img{height:151px}.map-toolbar{padding:15px;flex-wrap:wrap}.map-stage{height:414px}.detail-actions{gap:7px 12px}}
@media(max-width:960px){.guide-intro{padding-top:36px;padding-bottom:35px}.guide-header-nav{gap:16px}.guide-back{font-size:11px}.guide-intro h1{font-size:56px}.guide-discovery{display:block}.mobile-views{display:flex;gap:5px;margin:0 0 20px;padding:4px;background:#e9e0d2;border-radius:22px;width:fit-content}.mobile-views button{border:0;min-height:42px;padding:10px 27px;border-radius:20px;background:transparent;font-size:12px}.mobile-views button[aria-pressed=true]{background:var(--white);box-shadow:0 2px 6px #533c200c}.js-ready .guide-explorer[data-mobile-view=list] .map-panel{display:none}.js-ready .guide-explorer[data-mobile-view=map] .place-panel{display:none}.destination-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible;padding:3px;gap:14px}.place-card{grid-template-columns:minmax(0,1fr) 20px;padding:8px 8px 15px;gap:11px 6px;align-items:start}.place-art{grid-column:1/-1;width:100%;height:auto;aspect-ratio:1.55}.place-copy{padding-left:6px}.place-copy strong{font-size:23px}.place-copy small{font-size:9px}.place-number{top:10px;left:10px;width:27px;height:27px}.place-arrow{padding-top:13px}.list-heading h2{font-size:35px}.list-heading>p:last-child{max-width:600px;font-size:13px}.guide-search input{min-height:48px;font-size:13px}.art-note{font-size:11px;max-width:640px;padding-top:20px}.map-stage{height:430px}.place-detail{grid-template-columns:215px minmax(0,1fr);padding:22px;gap:25px}.detail-art img{height:203px}.detail-copy h2{font-size:33px}.detail-copy>p:not(.eyebrow):not(.route-status){font-size:13px}.guide-explorer{padding-bottom:35px}.guide-return{margin-inline:3vw}.list-count{font-size:11px}.guide-count{font-size:9px}}
@media(max-width:680px){.guide-header{flex-wrap:wrap;padding:18px 20px;gap:12px 20px}.guide-brand{font-size:26px}.guide-language{order:1;margin-left:auto}.guide-header-nav{order:2;flex-basis:100%;justify-content:space-between;margin-left:0;gap:10px}.guide-back{font-size:11px;max-width:47%;line-height:1.4}.guide-book{padding:11px 16px;min-height:44px;font-size:11px;gap:14px}.guide-intro{grid-template-columns:1fr 136px;gap:14px;padding:32px 20px 25px;align-items:start}.intro-copy{display:contents}.intro-copy>.eyebrow,.guide-lead,.guide-count{grid-column:1/-1}.intro-copy>.eyebrow{font-size:8px;margin-bottom:0}.guide-intro h1{font-size:46px;line-height:1.02;grid-column:1;grid-row:2}.guide-subtitle{grid-column:1;grid-row:3;font-size:20px;margin:0}.intro-postcard{grid-column:2;grid-row:2/4;padding:6px 6px 0;align-self:center;border-radius:68px 68px 6px 6px}.intro-postcard img{aspect-ratio:1.1;border-radius:61px 61px 4px 4px}.intro-postcard figcaption{font-size:13px;padding:10px 2px}.intro-postcard figcaption small{font-size:7px;margin-top:4px}.guide-lead{font-size:12px;line-height:1.85;margin-top:5px}.guide-count{margin:0;gap:8px}.guide-explorer{padding:0 15px 30px}.map-categories{display:flex;overflow-x:auto;scrollbar-width:thin;gap:5px;padding:6px;border-radius:19px;scroll-snap-type:x proximity;margin-bottom:18px}.category-card{flex:0 0 auto;min-height:52px;padding:12px 15px;gap:8px;scroll-snap-align:start;border-radius:14px}.category-card span{font-size:15px}.category-card small{font-size:9px}.category-card svg{width:18px;height:18px}.mobile-views{margin-bottom:18px}.mobile-views button{min-height:40px;padding:9px 24px;font-size:11px}.list-heading h2{font-size:30px}.list-heading>p:last-child{font-size:12px}.place-copy strong{font-size:20px}.place-copy small{font-size:8px}.destination-list{gap:10px}.place-card{border-radius:15px;padding:7px 7px 12px;gap:10px 5px}.place-art{border-radius:10px}.place-number{width:24px;height:24px;min-width:24px;top:6px;left:6px}.place-copy{padding-left:4px}.map-toolbar{padding:13px 14px;gap:12px}.map-address>span{font-size:27px}.map-address strong{font-size:18px}.map-address small{font-size:8px}.map-basemap-toggle button{padding:8px 11px;min-height:34px;font-size:9px}.map-stage{height:340px}.map-bottom{gap:5px;padding:7px 8px}.map-bottom button{font-size:10px;min-height:38px;padding:7px 5px}.map-frame{border-radius:18px}.place-detail{grid-template-columns:1fr;padding:15px;border-radius:18px;gap:15px}.detail-art{display:grid;grid-template-columns:1fr}.detail-art img{width:100%;height:auto;aspect-ratio:1.8;object-fit:cover}.detail-art figcaption{text-align:right;padding:6px 9px;font-size:8px}.detail-copy{padding:0 3px}.detail-copy h2{font-size:33px}.detail-copy .eyebrow{font-size:8px}.detail-actions button{font-size:12px;min-height:44px;padding:12px 19px}.detail-actions a{font-size:11px}.route-status{font-size:11px}.detail-pagination{gap:4px}.detail-pagination button{font-size:10px;gap:7px}.detail-pagination p{font-size:9px}.guide-return{margin:0 20px;padding:27px;flex-direction:column;align-items:flex-start;gap:20px;border-radius:24px}.guide-return h2{font-size:31px}.guide-return p:last-child{font-size:12px}.guide-footer{flex-wrap:wrap;gap:15px;padding:28px 22px}.guide-footer>span{display:none}}
@media(max-width:360px){.guide-intro{grid-template-columns:1fr 112px;gap:12px}.guide-intro h1{font-size:40px}.guide-subtitle{font-size:18px}.intro-postcard figcaption{font-size:11px}.map-toolbar{flex-wrap:wrap}.map-address{width:100%}.place-copy strong{font-size:18px}.place-art{aspect-ratio:1.4}.map-basemap-toggle{margin-left:auto}.detail-pagination button>span{max-width:90px}.guide-book{padding-inline:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.guide-header-nav,.guide-language,.guide-intro,.map-categories,.mobile-views,.place-panel,.map-frame,.detail-actions,.detail-pagination,.guide-return,.guide-skip,.guide-footer,.map-legal,.transit-explorer{display:none!important}.guide-discovery,.guide-explorer .map-panel{display:block!important}.place-detail{break-inside:avoid;border:0;box-shadow:none}.guide-header{border:0}.guide-explorer{padding:0}}
.art-unavailable::before{content:'LUNE 29';display:grid;place-items:center;min-height:76px;width:100%;height:100%;font:400 17px/1.3 var(--serif);letter-spacing:.08em;color:var(--clay);background:linear-gradient(135deg,#eee1c9,#f8f2e6)}
.detail-art.art-unavailable::before{min-height:150px}

/* Keep artwork disclosures readable, including on small screens. */
.detail-art figcaption{font-size:10px}
.intro-postcard figcaption small{font-size:9px}

/* =========================================================
   MAISON CARTOGRAPHIQUE · 2026-10-21
   A single editorial composition for rail, map and place card.
   ========================================================= */
:root{
  --map-bordeaux:#743a3e;
  --map-bordeaux-deep:#53262b;
  --map-cream:#f8f4ec;
  --map-champagne:#c9aa73;
  --map-shadow:0 28px 80px rgba(67,48,37,.13);
}
.guide-intro{padding-top:40px;padding-bottom:36px;grid-template-columns:minmax(0,1fr) 236px;gap:6vw}
.guide-intro h1{font-size:clamp(46px,5vw,70px)}
.intro-postcard{box-shadow:0 22px 55px rgba(65,44,31,.10)}
.guide-explorer{max-width:1540px;padding-bottom:54px}
.map-categories{margin-bottom:15px;border-radius:20px;padding:6px;background:rgba(255,253,248,.82);backdrop-filter:blur(12px);box-shadow:0 12px 38px rgba(73,54,39,.07)}
.category-card{min-height:54px;border-radius:15px;transition:transform .28s ease,background .28s ease,color .28s ease,box-shadow .28s ease}
.category-card.active{background:var(--map-bordeaux);box-shadow:0 8px 22px rgba(83,38,43,.20)}
.category-card:not(.active):hover{transform:translateY(-1px);background:#f0e8dc}

.guide-discovery{grid-template-columns:324px minmax(0,1fr);gap:0;background:var(--white);border:1px solid #ddd1c0;border-radius:30px;box-shadow:var(--map-shadow);overflow:hidden}
.place-panel{padding:25px 16px 18px;background:linear-gradient(155deg,#eee5d7 0%,#f5efe5 54%,#ede3d4 100%);border-right:1px solid #ded2c1}
.list-heading{padding:0 7px 15px}
.list-heading h2{font-size:31px}
.guide-search{border-color:#d8cbbb;background:rgba(255,253,248,.82);box-shadow:0 5px 16px rgba(64,45,31,.04)}
.destination-list{max-height:655px;gap:5px;padding:3px 5px 6px 2px}
.place-card{grid-template-columns:78px minmax(0,1fr) 14px;min-height:81px;gap:11px;padding:6px 9px 6px 6px;border-color:transparent;background:transparent;border-radius:15px;box-shadow:none}
.place-art{width:78px;height:68px;border-radius:10px;box-shadow:0 6px 16px rgba(58,41,29,.10)}
.place-copy strong{font-size:18px}
.place-card:hover{background:rgba(255,253,248,.72);border-color:rgba(128,84,66,.18)}
.place-card.active{background:var(--white);border-color:rgba(116,58,62,.34);box-shadow:0 10px 28px rgba(74,49,34,.11)}
.place-card.active::before{content:"";position:absolute;left:-2px;top:17px;bottom:17px;width:3px;border-radius:3px;background:var(--map-bordeaux)}
.place-arrow{color:var(--map-bordeaux)}
.art-note{padding:14px 7px 0}

.map-panel{min-width:0;background:var(--white)}
.map-frame{position:relative;overflow:hidden;border:0;border-radius:0 29px 29px 0;box-shadow:none;background:var(--white)}
.map-toolbar{position:relative;z-index:1100;min-height:76px;padding:15px 22px;border-bottom:1px solid rgba(221,211,196,.74);box-shadow:0 8px 24px rgba(46,36,29,.05)}
.map-address>span{color:var(--map-bordeaux)}
.map-basemap-toggle button[aria-pressed=true]{background:var(--map-bordeaux-deep)}
.map-stage{height:655px;background:#e8e1d5}
#paris-map{background:#e8e1d5}
#paris-map[data-basemap="map"] .leaflet-tile-pane{filter:grayscale(.62) sepia(.18) saturate(.72) contrast(.93) brightness(1.055)!important;opacity:.92}
#paris-map[data-basemap="satellite"] .leaflet-tile-pane{filter:saturate(.78) contrast(.96) brightness(.94)!important}
.map-bottom{position:absolute;z-index:1060;left:18px;bottom:17px;gap:6px;padding:5px;background:rgba(255,253,248,.91);border:1px solid rgba(221,211,196,.9);border-radius:24px;box-shadow:0 10px 30px rgba(48,36,27,.13);backdrop-filter:blur(13px)}
.map-bottom button{min-height:36px;padding:7px 12px;border-radius:18px}
.map-bottom button:hover{background:#ebe1d4}
.basemap-status{position:absolute;left:18px;bottom:72px;z-index:1100;max-width:320px;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #372b201e}

/* The selected place floats inside the map, like an editorial map legend. */
.map-frame>.place-detail{position:absolute;z-index:1050;top:98px;right:22px;width:min(356px,calc(100% - 44px));max-height:535px;overflow:auto;margin:0;display:block;padding:12px;background:rgba(255,253,248,.945);border:1px solid rgba(215,199,180,.92);border-radius:24px;box-shadow:0 28px 70px rgba(44,31,24,.23);backdrop-filter:blur(17px) saturate(1.06);scrollbar-width:thin}
.map-frame>.place-detail.is-changing{animation:l29-card-arrive .52s cubic-bezier(.2,.75,.2,1)}
@keyframes l29-card-arrive{0%{opacity:.55;transform:translateY(8px) scale(.985)}100%{opacity:1;transform:none}}
.map-frame>.place-detail .detail-art{border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}
.map-frame>.place-detail .detail-art img{width:100%;height:145px;object-fit:cover}
.map-frame>.place-detail .detail-art figcaption{position:absolute;right:8px;bottom:7px;padding:4px 7px;border-radius:10px;color:#fffdf8;background:rgba(37,56,73,.66);backdrop-filter:blur(5px);font-size:7px}
.map-frame>.place-detail .detail-copy{padding:16px 8px 3px}
.map-frame>.place-detail .detail-copy h2{font-size:29px;margin-bottom:9px;color:var(--ink)}
.map-frame>.place-detail .detail-copy>p:not(.eyebrow):not(.route-status){font-size:11px;line-height:1.7}
.map-frame>.place-detail .detail-actions{margin-top:12px}
.map-frame>.place-detail .detail-actions button{background:var(--map-bordeaux);box-shadow:0 7px 18px rgba(83,38,43,.18)}
.map-frame>.place-detail .route-status{margin-top:8px}
.map-frame>.place-detail .detail-pagination{margin:11px 8px 0;padding-top:7px}
.map-frame>.place-detail .transit-explorer{margin-inline:8px}
.map-legal{padding:13px 20px 17px;background:var(--white)}

.l29-place-marker{position:relative;width:36px;height:36px;border-radius:50%;transform:none;background:rgba(255,253,248,.94);border:1.5px solid var(--map-bordeaux);box-shadow:0 8px 22px rgba(62,40,34,.24);color:var(--map-bordeaux);backdrop-filter:blur(4px);transition:transform .28s ease,background .28s ease,color .28s ease,box-shadow .28s ease}
.l29-place-marker>span{transform:none;font-weight:650}
.l29-place-marker:hover{transform:translateY(-2px) scale(1.05)}
.l29-place-marker.selected{background:var(--map-bordeaux);color:var(--white);border-color:var(--white);outline:3px solid rgba(201,170,115,.78);box-shadow:0 10px 30px rgba(83,38,43,.38)}
.l29-place-marker.selected::after{content:"";position:absolute;inset:-9px;border:1px solid rgba(116,58,62,.34);border-radius:50%;animation:l29-marker-breathe 2.6s ease-out infinite}
@keyframes l29-marker-breathe{0%,100%{opacity:.75;transform:scale(.82)}60%{opacity:0;transform:scale(1.25)}}
.l29-home-marker{background:var(--map-bordeaux-deep);border-color:#fff9ef;box-shadow:0 8px 28px rgba(50,27,30,.38)}
.leaflet-tooltip.l29-home-label{background:var(--map-bordeaux-deep)}
.leaflet-control-zoom{border:0!important;box-shadow:0 10px 30px rgba(54,38,28,.18)!important}
.leaflet-control-zoom a{background:rgba(255,253,248,.94)!important}
.leaflet-control-attribution{opacity:.72}
.l29-walking-route{animation:l29-route-in .9s ease-out both}
@keyframes l29-route-in{from{stroke-opacity:0;stroke-width:1}to{stroke-opacity:.95}}

@media(max-width:1100px) and (min-width:961px){
 .guide-discovery{grid-template-columns:286px minmax(0,1fr)}
 .place-panel{padding-inline:12px}
 .place-card{grid-template-columns:68px minmax(0,1fr) 12px}
 .place-art{width:68px;height:62px}
 .map-frame>.place-detail{width:325px;right:16px}
 .map-stage{height:625px}
}
@media(max-width:960px){
 .guide-discovery{display:block;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
 .place-panel{padding:22px;border:1px solid #ded2c1;border-radius:24px;background:linear-gradient(155deg,#eee5d7,#f6f0e7);box-shadow:0 18px 50px rgba(66,47,34,.09)}
 .map-panel{border:1px solid #ded2c1;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(66,47,34,.10)}
 .map-frame{border-radius:24px 24px 0 0}
 .map-stage{height:500px}
 .map-bottom{bottom:14px}
 .map-frame>.place-detail{position:static;width:auto;max-height:none;overflow:visible;margin:0;display:grid;grid-template-columns:205px minmax(0,1fr);padding:19px;border:0;border-top:1px solid #e1d6c6;border-radius:0;background:var(--white);box-shadow:none;backdrop-filter:none}
 .map-frame>.place-detail .detail-art img{height:190px}
 .map-frame>.place-detail .detail-copy{padding:2px 3px}
 .map-frame>.place-detail .detail-pagination{grid-column:1/-1}
 .map-legal{border-top:1px solid #e8dfd2}
}
@media(max-width:680px){
 .guide-intro{grid-template-columns:1fr 126px;padding-top:28px}
 .guide-intro h1{font-size:43px}
 .map-categories{box-shadow:0 8px 24px rgba(73,54,39,.07)}
 .mobile-views{position:sticky;top:8px;z-index:1200;width:100%;justify-content:center;background:rgba(234,225,211,.9);backdrop-filter:blur(14px);box-shadow:0 8px 22px rgba(61,44,32,.08)}
 .mobile-views button{flex:1}
 .place-panel{padding:18px 12px}
 .destination-list{grid-template-columns:1fr;gap:7px}
 .place-card{grid-template-columns:102px minmax(0,1fr) 17px;min-height:94px;padding:7px;align-items:center}
 .place-art{grid-column:auto;width:102px;height:80px;aspect-ratio:auto}
 .place-copy{padding-left:4px}
 .place-arrow{padding-top:0}
 .map-stage{height:min(62vh,470px);min-height:390px}
 .map-toolbar{min-height:70px}
 .map-bottom{left:10px;bottom:10px;max-width:calc(100% - 65px)}
 .map-bottom button{padding-inline:8px;font-size:9px}
 .map-frame>.place-detail{display:block;padding:13px}
 .map-frame>.place-detail .detail-art img{height:auto;aspect-ratio:1.65}
 .map-frame>.place-detail .detail-copy{padding:15px 4px 2px}
 .map-frame>.place-detail .detail-copy h2{font-size:31px}
 .map-frame>.place-detail .detail-pagination{margin-inline:4px}
}
@media(prefers-reduced-motion:reduce){.map-frame>.place-detail.is-changing,.l29-place-marker.selected::after,.l29-walking-route{animation:none!important}}

/* LUNE 29 mobile flow fix · 2026-10-24
   Maison Cartographique reintroduced a 655px list cap after the original
   mobile rule. Let the list and its glass panel grow with every place so
   the artwork note and following section remain in normal document flow. */
@media(max-width:960px){
 .place-panel{height:auto;min-height:0;overflow:visible}
 .destination-list{height:auto;max-height:none;overflow:visible}
 .art-note{position:static;clear:both}
}
