:root{color-scheme:dark;--bg:#080b14;--panel:#101522;--line:#242c3e;--text:#f6f7fc;--muted:#929bad;--blue:#538aff;--red:#ff425d;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:radial-gradient(ellipse at 85% 3%,#15224466,transparent 35%),var(--bg);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #9dbaff;outline-offset:4px}button{color:inherit;background:none;border:0}button,a{touch-action:manipulation}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button,.shop-card{transition:border-color .2s,background .2s,transform .2s}.topbar{height:92px;max-width:1280px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0c}.wordmark{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:850;letter-spacing:.6px}.wordmark img{width:48px;height:56px;object-fit:contain}.wordmark b,.footer-brand b{color:#679cff}.wordmark small{display:block;font-size:9px;color:var(--muted);letter-spacing:2.4px;margin-top:2px}.topbar nav{display:flex;align-items:center;gap:26px;color:var(--muted);font-size:13px}.topbar nav .nav-active{color:#fff}.topbar nav span{display:inline-grid;place-items:center;font-size:10px;background:#222b40;border-radius:50%;width:19px;height:19px;margin-left:6px}.admin-link{font-size:20px}main{max-width:1280px;margin:auto;padding:0 32px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:52px 0 56px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#939fb7}.live-dot{display:inline-block;background:#6e9dff;width:6px;height:6px;border-radius:50%;margin-right:7px;box-shadow:0 0 15px #478bff}.intro h1{font-size:clamp(44px,5.5vw,76px);font-weight:850;line-height:1.07;letter-spacing:-3.5px;margin:23px 0}.intro h1 span{background:linear-gradient(105deg,#fff 15%,#9ebcff 70%,#789fff);background-clip:text;color:transparent}.intro-copy{color:#a5aec1;font-size:16px;line-height:1.7}.intro-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:12px;padding:14px 20px;background:linear-gradient(105deg,#4076ec,#5c91ff);color:#fff;font-weight:700;box-shadow:0 8px 32px #326df526}.primary:hover{background:#6299ff;transform:translateY(-1px)}.primary span{font-size:20px;line-height:1}.intro-note{font-size:11px;letter-spacing:1.5px;color:#838fa8}.hero-art{height:350px;position:relative;border:1px solid #33446160;border-radius:26px;overflow:hidden;box-shadow:0 15px 80px #041a3c66}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#040810e8,transparent 48%)}.art-caption{position:absolute;z-index:1;bottom:22px;left:26px}.art-caption span{font-size:9px;letter-spacing:2.8px;color:#a8c2ef}.art-caption b{display:block;font-size:18px;font-weight:600;margin-top:5px}.explorer{padding-top:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.section-heading h2{font-size:28px;letter-spacing:-.8px;margin-top:5px}.text-btn{font-size:12px;color:#b2c7f8}.explorer-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.map-panel{padding:22px;background:linear-gradient(145deg,#111927,#0e1320);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.search-wrap{position:relative;z-index:5}.search{display:flex;align-items:center;gap:10px;padding:0 14px;height:48px;border:1px solid #303d55;border-radius:12px;background:#090f1c;box-shadow:0 2px 6px #0002}.search>span{font-size:28px;color:#a7bbde}.search input{width:100%;min-width:0;background:none;color:#f0f3fa;border:0;outline:none;font-size:13px}.search input::placeholder{color:#8691a6}.search kbd{font:9px system-ui;letter-spacing:1px;border:1px solid #303b50;padding:2px 4px;border-radius:4px;color:#8897af}.suggestions{list-style:none;margin:5px 0 0;padding:6px;background:#192235;border:1px solid #3b4a67;border-radius:12px;position:absolute;left:0;right:0;max-height:300px;overflow:auto;box-shadow:0 15px 40px #0008}.suggestions button{width:100%;text-align:left;padding:11px;border-radius:8px}.suggestions button:hover,.suggestions button:focus{background:#2b3a55}.map-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.segmented{display:flex;padding:3px;background:#080d1788;border:1px solid #263047;border-radius:9px;gap:3px}.segmented button{font-size:10px;padding:6px 11px;color:#8594ad;border-radius:6px}.segmented button.selected{color:#e6edff;background:#243047}.locate{border:1px solid #303c53;border-radius:9px;width:32px;height:32px;font-size:23px;line-height:1}.map-stage{aspect-ratio:1.1;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 53%,#21427420,transparent 60%)}.map-stage svg{width:100%;height:100%;overflow:visible;user-select:none}.map-stage svg.zoomed{touch-action:none}.department{cursor:pointer;outline:none}.department path{fill:#192435;stroke:#53627d;stroke-opacity:.48;stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .15s,stroke .15s}.department text{fill:#70809a;font-size:8px;text-anchor:middle;dominant-baseline:middle;pointer-events:none;user-select:none}.department.covered path{fill:color-mix(in srgb,var(--shop-color) 28%,#142032);stroke:var(--shop-color);stroke-opacity:.75}.department.draft path{fill:color-mix(in srgb,var(--shop-color) 12%,#142032);stroke-dasharray:3 3;stroke:var(--shop-color);stroke-opacity:.7}.department:hover path,.department:focus path{fill:#3e5b85;stroke:#a7c8ff;stroke-opacity:1}.department.chosen path{fill:#395680;stroke:#f3f7ff;stroke-width:2;stroke-opacity:1}.department.chosen text{fill:#fff;font-weight:bold}.department.city-department text{font-size:6px}.map-pin{cursor:pointer;outline:none}.map-pin circle{fill:#0c1223;stroke:var(--shop-color);stroke-width:1.5;filter:drop-shadow(0 0 5px #649aff30)}.map-pin image{pointer-events:none}.map-pin:focus circle,.map-pin:hover circle{stroke:white;stroke-width:3}.map-pin text{font-size:8px;fill:#ecf2ff;text-anchor:middle}.map-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px;color:#94a2ba;font-size:9px}.map-bottom>span{display:flex;gap:6px;align-items:center}.legend-dot{width:6px;height:6px;background:#79a7ff;border-radius:50%;display:inline-block}.legend-draft{width:7px;height:7px;border:1px dashed #a2acc0;margin-left:8px;display:inline-block}.zoom-controls{display:flex;border:1px solid #2c3850;border-radius:8px;overflow:hidden}.zoom-controls button{width:28px;height:27px;color:#b7c5df;font-size:17px}.zoom-controls button:hover{background:#2b3a52}.map-help{font-size:10px;color:#8595ae;margin-top:14px}.map-credit{font-size:8px;color:#65728b;margin-top:8px}.map-credit a{text-decoration:underline}.map-loading{display:grid;place-items:center;height:100%;color:#8ba4ce;font-size:12px}.results-panel{padding:4px 0}.result-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.result-heading h3{font-size:23px;letter-spacing:-.7px;margin-top:3px}.result-heading .eyebrow{font-size:9px}.count-badge{background:#19243b;border:1px solid #2c3b59;border-radius:10px;padding:5px 12px;color:#a9c3ff;font-size:13px}.selection-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.chip{font-size:10px;padding:5px 9px;border:1px solid #344968;border-radius:7px;background:#1b2a42;color:#d0dfff}.notice{border:1px solid #a78b4d40;color:#c9bc95;background:#7b5a1610;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.5;margin-bottom:13px}.shops{display:grid;gap:11px}.shop-card{position:relative;border:1px solid #273147;border-radius:15px;background:linear-gradient(105deg,color-mix(in srgb,var(--shop-color) 8%,#101521),#101521);overflow:hidden}.shop-card:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;border-radius:3px;background:var(--shop-color);box-shadow:0 0 14px var(--shop-color)}.shop-card:hover{border-color:color-mix(in srgb,var(--shop-color) 60%,#273147);transform:translateY(-1px)}.shop-card-main{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:17px 45px 17px 15px;min-height:111px}.shop-logo{width:100px;height:74px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 4px 9px #0006)}.shop-info{min-width:0}.shop-info h4{font-size:14px;letter-spacing:.4px;margin:0 0 4px;font-weight:750}.shop-zone{font-size:11px;color:#a1adc2}.shop-state{display:inline-flex;gap:5px;align-items:center;margin-top:8px;font-size:9px;color:#b1bed5}.shop-state:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--shop-color)}.shop-state.active{color:#9fdfb7}.shop-state.active:before{background:#78dca1}.shop-chevron{margin-left:auto;color:#a4b3cc;font-size:23px}.favorite{position:absolute;right:10px;top:10px;color:#71829e;font-size:20px;width:28px;height:28px;line-height:1}.favorite.saved{color:#ffcf78}.empty-state{border:1px dashed #35435e;border-radius:18px;padding:40px 22px;text-align:center;margin-top:12px}.empty-state>span{font-size:38px;color:#7596c9}.empty-state h3{font-size:18px;margin:12px 0 8px}.empty-state p{color:#8f9db5;font-size:12px;margin-bottom:18px}.secondary{border:1px solid #3b4b68;border-radius:10px;padding:10px 15px;font-weight:600;font-size:12px;background:#1b283e}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:43px 0 48px;margin-top:20px;border-bottom:1px solid #ffffff0c}.how>div{position:relative;padding-left:36px}.how>div>span{position:absolute;left:0;top:2px;font-size:11px;color:#648ad2}.how h3{font-size:13px;font-weight:650}.how p{font-size:11px;color:#8794ac;margin-top:5px}footer{max-width:1280px;padding:25px 32px 35px;margin:auto;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#717e95}.footer-brand{font-size:11px;letter-spacing:1px;color:#bdc9df;font-weight:800}dialog{border:1px solid #354562;border-radius:22px;max-width:440px;width:calc(100% - 32px);padding:24px;color:var(--text);background:radial-gradient(ellipse at 0 0,#24395966,transparent 70%),#111826;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#020610ba;backdrop-filter:blur(8px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head button{font-size:28px;color:#a7b4ca}#dialogContent>.detail-logo{width:210px;height:135px;object-fit:contain;margin:8px auto 12px}#dialogContent h2{text-align:center;font-size:22px}#dialogContent .detail-description{color:#a5b3c8;text-align:center;font-size:13px;margin:12px 0 20px}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #29364c;font-size:12px}.detail-row>span{color:#8d9eb8}.detail-row>b{text-align:right;font-weight:550}.detail-actions{display:grid;gap:10px;margin-top:22px}.detail-note{font-size:11px;color:#a6b0c4;margin-top:12px;text-align:center}#toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);padding:12px 18px;background:#233350;border:1px solid #4e6790;box-shadow:0 10px 50px #0009;border-radius:12px;font-size:12px;max-width:calc(100% - 28px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1400px){.hero-art{height:375px}.intro{padding-top:62px}}
@media(max-width:850px){.topbar,main,footer{padding-left:20px;padding-right:20px}.intro{gap:30px}.intro h1{font-size:53px}.hero-art{height:310px}.intro-note{display:none}.explorer-grid{grid-template-columns:1fr 1fr;gap:18px}.map-panel{padding:15px}.shop-card-main{gap:8px;padding-left:12px;padding-right:30px}.shop-logo{width:78px}.shop-info h4{font-size:12px}.shop-chevron{display:none}.map-help{font-size:9px}.shop-card-main{min-height:104px}.map-bottom>span{font-size:8px}.section-heading h2{font-size:25px}}
@media(max-width:620px){.topbar{height:76px;padding-top:env(safe-area-inset-top)}.wordmark{font-size:12px;gap:8px}.wordmark img{width:35px;height:43px}.wordmark small{font-size:7px;letter-spacing:1.6px}.topbar nav{gap:12px;font-size:10px}.topbar nav .nav-active{display:none}.admin-link{font-size:17px}.intro{display:flex;flex-direction:column;align-items:stretch;padding:30px 0 34px;gap:25px}.intro h1{font-size:49px;letter-spacing:-2px;margin:17px 0}.intro>.hero-art{order:2;height:205px;border-radius:18px}.hero-art img{object-position:center 40%}.intro .eyebrow{font-size:8px;letter-spacing:1.5px}.intro-copy{font-size:13px}.desktop-break{display:none}.intro-actions{margin-top:20px}.primary{padding:13px 17px;font-size:12px}.intro-note{display:block;font-size:9px;letter-spacing:.8px}.art-caption{bottom:15px;left:18px}.art-caption span{font-size:7px}.art-caption b{font-size:14px}.section-heading h2{font-size:23px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.section-heading{gap:10px;align-items:end;margin-bottom:18px}.text-btn{font-size:10px;white-space:nowrap}.explorer-grid{grid-template-columns:1fr;gap:26px}.map-panel{padding:16px;border-radius:18px}.map-stage{aspect-ratio:1.08}.map-toolbar{margin-top:15px}.search input{font-size:12px}.results-panel{padding:0}.shop-card-main{gap:17px;padding:15px 40px 15px 17px;min-height:108px}.shop-logo{width:95px}.shop-info h4{font-size:14px}.shop-zone{font-size:11px}.shop-chevron{display:block;font-size:20px}.shop-state{font-size:9px}.how{grid-template-columns:1fr;gap:24px;padding:32px 0;margin-top:10px}.how h3{font-size:13px}.how p{font-size:11px}footer{flex-wrap:wrap;font-size:9px;gap:14px;padding-bottom:calc(25px + env(safe-area-inset-bottom))}.map-credit{font-size:8px}.map-help{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* V2 — direction artistique du réseau, pensée pour le téléphone. */
body{background:radial-gradient(ellipse at 5% 15%,#54102a22,transparent 45%),radial-gradient(ellipse at 100% 30%,#123d8f22,transparent 45%),#070a12;padding-bottom:95px}html{scroll-padding-top:24px}.topbar{height:79px;border:0}.topbar .wordmark img{width:46px;height:53px}.topbar nav{gap:20px}.intro{position:relative;display:block;min-height:475px;padding:0;border:1px solid #4b5f854a;border-radius:25px;overflow:hidden;isolation:isolate;margin:6px 0 22px;box-shadow:0 25px 80px #0006}.intro .hero-art{position:absolute;inset:0;height:auto;border:0;border-radius:0;box-shadow:none}.intro .hero-art img{object-position:center 42%;opacity:.95}.intro .hero-art:after{background:linear-gradient(90deg,#060a12f5 0%,#060a12bc 28%,#060a1230 63%),linear-gradient(0deg,#060a12f2,transparent 65%)}.hero-copy{position:relative;z-index:2;padding:64px 42px;max-width:580px}.intro h1{font-size:65px;line-height:1.02;letter-spacing:-3px;margin:22px 0 18px;text-shadow:0 5px 40px #0008}.intro h1 span{background:linear-gradient(90deg,#fff,#c1d4ff 40%,#73a0ff);background-clip:text;color:transparent}.intro .eyebrow{color:#d0ddf5;font-size:9px;letter-spacing:1.8px}.intro-copy{font-size:14px;max-width:330px;color:#b4c4e0;line-height:1.6}.hero-stamp{position:absolute;right:25px;top:25px;z-index:2;padding:10px 13px;border:1px solid #e4efff38;border-radius:10px;background:#080d1a80;backdrop-filter:blur(8px);text-align:right}.hero-stamp span{display:block;font-size:7px;letter-spacing:1.6px;color:#b3c6e9}.hero-stamp b{font-size:10px;letter-spacing:.8px}.hero-map-link{color:#d5e2f9;font-size:12px;padding:12px 0}.intro .primary{background:linear-gradient(105deg,#ec314f,#c43170 44%,#507dff);box-shadow:0 5px 30px #ef36514a;border:1px solid #ffafc32b}.hero-neon{position:absolute;width:230px;height:230px;border-radius:50%;filter:blur(70px);opacity:.26;pointer-events:none;z-index:1;animation:neon-breathe 8s ease-in-out infinite alternate}.hero-neon-red{background:#fc294b;left:-120px;top:10%}.hero-neon-blue{background:#2f6cff;right:-100px;bottom:0;animation-delay:-4s}@keyframes neon-breathe{to{opacity:.14;transform:translateY(-25px)}}.family-rail{display:flex;align-items:center;justify-content:center;gap:26px;padding:1px 0 20px;overflow-x:auto;scrollbar-width:none}.family-rail::-webkit-scrollbar{display:none}.family-button{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:4px;position:relative;width:87px;height:83px;border:1px solid color-mix(in srgb,var(--shop-color) 55%,transparent);border-radius:16px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--shop-color) 14%,transparent),#0e1421 75%);box-shadow:inset 0 0 22px color-mix(in srgb,var(--shop-color) 10%,transparent)}.family-button img{width:78px;height:57px;object-fit:contain}.family-button>span{font-size:9px;color:var(--shop-color);font-weight:750;letter-spacing:1.5px}.family-button:hover{transform:translateY(-2px);border-color:#dce9ff}.search-dock{position:relative;margin:3px 0 25px}.search-dock .search{height:54px;border-color:#364f79;background:linear-gradient(90deg,#111d33,#0b1220);box-shadow:0 0 25px #2250a414}.search-dock>.text-btn{display:block;margin:8px 0 0 auto;font-size:11px}.search-dock .search input{font-size:13px}.section-heading{margin-bottom:20px}.section-heading h2{font-size:27px;letter-spacing:-1px}.section-heading .eyebrow{font-size:8px;color:#ae8cbe}.explorer-grid{grid-template-columns:1fr 1.15fr;align-items:start;gap:24px}.results-panel{grid-column:2;grid-row:1;padding:0}.map-panel{grid-column:1;grid-row:1;position:sticky;top:20px;border-color:#334466;background:radial-gradient(ellipse at 15% 50%,#25325633,transparent 60%),linear-gradient(140deg,#101a2c,#0c1320);box-shadow:0 0 50px #315ab50c}.map-section-title h3{font-size:19px;letter-spacing:-.5px;margin-top:4px}.map-section-title .eyebrow{font-size:8px}.map-stage{aspect-ratio:1}.map-toolbar{margin-top:18px}.map-bottom>span{font-size:8px}.result-heading{margin-bottom:14px}.result-heading h3{font-size:22px}.service-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 15px;padding-bottom:4px;white-space:nowrap}.service-filters button{font-size:10px;border:1px solid #344157;border-radius:20px;padding:8px 12px;background:#0f1725;flex-shrink:0;color:#aab7ce;min-height:36px}.service-filters button.selected{color:#fff;background:linear-gradient(120deg,#313f60,#263659);border-color:#7399dc;box-shadow:0 0 15px #4177e525}.shops{gap:16px}.shop-card{border-radius:19px;border-color:color-mix(in srgb,var(--shop-color) 40%,#26314a);box-shadow:0 9px 35px #0003,inset 0 0 40px color-mix(in srgb,var(--shop-color) 4%,transparent);background:linear-gradient(115deg,color-mix(in srgb,var(--shop-color) 17%,#0d1320),#0b1120)}.shop-card:before{top:0;bottom:0;width:3px;box-shadow:0 0 20px var(--shop-color);z-index:3}.shop-card:after{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px #ffffff10}.shop-card-main{display:block;position:relative;min-height:235px;padding:0;overflow:hidden}.character-scene{position:absolute;right:0;top:0;height:100%;width:76%;background-image:url('/assets/equipe.webp');background-size:250% auto;background-position:50% 10%;opacity:.85;transition:transform .4s;mask-image:linear-gradient(90deg,transparent,black 35%)}.character-12 .character-scene{background-position:0% 10%}.character-34 .character-scene{background-position:50% 10%}.character-45 .character-scene{background-position:100% 10%}.character-48 .character-scene{background-position:20% 95%}.character-81 .character-scene{background-position:100% 95%}.shop-card-main:after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#090e19bb 0%,#090e1940 60%,transparent),linear-gradient(0deg,#080d18ff 0%,#080d18b0 30%,transparent 85%)}.shop-card:hover .character-scene{transform:scale(1.035)}.shop-logo{position:absolute;top:12px;left:16px;width:140px;height:94px;object-fit:contain;z-index:2;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--shop-color) 22%,transparent))}.shop-info{position:absolute;z-index:2;left:20px;bottom:62px;right:18px}.shop-info h4{font-size:12px;letter-spacing:1.2px;margin-bottom:3px;color:#f7f9ff}.shop-zone{font-size:10px;max-width:85%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#a8bbd9}.shop-state{margin-top:7px;font-size:9px;color:#becae0}.shop-cta{position:absolute;z-index:2;left:18px;right:18px;bottom:14px;padding:11px 13px;min-height:40px;border:1px solid color-mix(in srgb,var(--shop-color) 46%,transparent);background:linear-gradient(105deg,color-mix(in srgb,var(--shop-color) 24%,#101a2c),#101827c0);border-radius:10px;text-align:left;font-size:11px;font-weight:650;letter-spacing:.3px;box-shadow:0 4px 18px #0003}.favorite{z-index:4;right:12px;top:12px;width:35px;height:35px;border:1px solid #d9e7ff26;border-radius:50%;background:#07101d66;backdrop-filter:blur(6px);font-size:23px;color:#b4c8e8}.service-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.service-badge{font-size:8px;color:#d4dff3;background:#111e32c9;border:1px solid #8da8d330;border-radius:5px;padding:3px 6px;line-height:1.4}.shop-state.active{color:#a6e8be}.notice{font-size:10px}.how{grid-template-columns:repeat(3,1fr);margin-top:18px;gap:20px}.how>div{padding:18px;border:1px solid #2c3d5b;border-radius:14px;background:linear-gradient(120deg,#17223c4d,#101624)}.how>div>span{position:static;display:block;color:#9cbbff;font-size:10px;margin-bottom:7px}.how h3{font-size:12px}.how p{font-size:10px}footer{padding-bottom:30px}.mobile-nav{display:none}.desktop-music{display:flex;gap:10px;align-items:center;position:fixed;bottom:22px;right:22px;border:1px solid #5075b5;border-radius:40px;background:#0d192deb;backdrop-filter:blur(12px);padding:8px 17px 8px 9px;z-index:20;box-shadow:0 7px 40px #0007}.desktop-music>span:last-child{font-size:8px;letter-spacing:1px;text-align:left}.desktop-music small{display:block;font-size:9px;letter-spacing:0;color:#95a7c6;margin-top:2px}.vinyl{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid #849fc255;border-radius:50%;background:repeating-radial-gradient(circle,#091120 0 3px,#2e3a50 4px 5px);color:#89afec;font-size:16px}.is-playing .vinyl{animation:vinyl-spin 3s linear infinite;box-shadow:0 0 15px #5689ff66;border-color:#a8c5ff}@keyframes vinyl-spin{to{transform:rotate(360deg)}}.music-sheet{position:fixed;z-index:35;bottom:22px;right:22px;width:380px;max-width:calc(100% - 28px);border:1px solid #6387c85c;border-radius:20px;padding:20px;background:linear-gradient(145deg,#172743,#0b1426);box-shadow:0 15px 100px #000b;transform:translateY(calc(100% + 60px));visibility:hidden;transition:transform .25s,visibility .25s}.music-sheet.open{transform:translateY(0);visibility:visible}.music-sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.music-sheet-head h3{font-size:19px;margin-top:4px}.music-sheet-head .eyebrow{font-size:8px}.music-sheet-head button{font-size:30px;color:#b6c9e8;padding:0 5px}.music-status{font-size:11px;color:#9eb1d0;margin:8px 0 13px}#spotifyPlayer{min-height:0;border-radius:12px;overflow:hidden}#spotifyPlayer iframe{display:block;width:100%;border:0}.music-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.music-actions .primary{font-size:11px;padding:10px 15px}.music-actions a{font-size:10px;color:#b2c8ee}#toast{bottom:95px}dialog{box-shadow:0 0 70px #456fc324,0 30px 120px #0009}
@media(min-width:1050px){.shops{grid-template-columns:1fr 1fr}.shop-card-main{min-height:255px}.shop-logo{width:125px}.shop-info{left:17px}.shop-cta{font-size:10px;left:14px;right:14px}.character-scene{width:95%;background-size:270% auto}.shop-zone{max-width:100%}.shop-info h4{font-size:10px}.service-badge{font-size:7px}.service-badges{gap:3px}.favorite{width:29px;height:29px;font-size:20px}.explorer-grid{grid-template-columns:.85fr 1.15fr}}
@media(max-width:850px){.intro{min-height:440px}.hero-copy{padding:50px 28px}.intro h1{font-size:57px}.family-rail{gap:19px}.family-button{width:78px;height:75px}.family-button img{height:51px}.map-panel{padding:15px}.shop-card-main{min-height:239px}.hero-stamp{right:18px;top:18px}.hero-stamp span{font-size:6px}.hero-stamp b{font-size:8px}.service-filters button{font-size:9px;padding:8px 9px}.how{gap:12px}}
@media(max-width:620px){body{padding-bottom:90px}.topbar{height:70px;padding-left:16px;padding-right:16px;padding-top:env(safe-area-inset-top)}.topbar .wordmark{font-size:11px}.topbar .wordmark img{width:36px;height:43px}.topbar .wordmark small{font-size:6px}.topbar nav{gap:14px}.topbar #favoriteNav{display:none}.topbar .admin-link{border:1px solid #516a9638;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;font-size:16px}main{padding:0 14px}.intro{min-height:445px;margin:0 0 17px;border-radius:20px;padding:0;display:block;box-shadow:0 10px 60px #2958bb1a}.intro>.hero-art{position:absolute;height:auto;inset:0;border-radius:0}.intro .hero-art img{object-position:50% 21%;object-fit:cover;width:100%;height:100%;opacity:1}.intro .hero-art:after{background:linear-gradient(0deg,#070c18ff 0%,#070c18f0 13%,#070c1899 38%,#070c1800 72%),linear-gradient(90deg,#070c1825,transparent)}.hero-copy{position:absolute;left:0;right:0;bottom:0;max-width:none;padding:0 20px 23px}.intro h1{font-size:39px;line-height:1.04;letter-spacing:-1.8px;margin:12px 0 10px;max-width:280px}.intro .eyebrow{font-size:7px;letter-spacing:1px;max-width:290px;line-height:1.6}.intro-copy{font-size:11px;color:#becde4;max-width:295px;line-height:1.6}.intro-actions{gap:19px;margin-top:16px;align-items:center}.intro .primary{font-size:11px;min-height:43px;padding:10px 13px;border-radius:10px;gap:12px}.hero-map-link{font-size:10px;padding:10px 2px;min-height:43px}.hero-stamp{right:13px;top:13px;padding:7px 9px;background:#0812259c}.hero-stamp span{font-size:5px;letter-spacing:1px}.hero-stamp b{font-size:7px}.hero-neon{filter:blur(55px);width:170px;height:170px}.family-rail{justify-content:space-between;gap:9px;padding:0 1px 19px}.family-button{width:calc((100vw - 70px)/5);min-width:54px;max-width:78px;height:68px;border-radius:13px;gap:0}.family-button img{width:100%;height:48px;padding:2px}.family-button>span{font-size:8px;letter-spacing:.8px}.search-dock{margin-bottom:23px}.search-dock .search{height:49px;border-radius:12px;padding:0 12px}.search-dock .search input{font-size:11px}.search-dock .search>span{font-size:25px}.search kbd{font-size:8px}.section-heading h2{font-size:22px;letter-spacing:-.7px}.section-heading .eyebrow{font-size:7px;letter-spacing:1.1px}.section-heading{margin-bottom:20px;align-items:center}.section-heading .text-btn{font-size:9px}.explorer-grid{display:flex;flex-direction:column;gap:26px}.results-panel{order:1;width:100%}.map-panel{order:2;width:100%;position:static;border-radius:18px;padding:16px}.map-section-title h3{font-size:18px}.map-stage{aspect-ratio:1.05}.result-heading h3{font-size:20px}.result-heading .eyebrow{font-size:7px;letter-spacing:1.4px}.count-badge{font-size:11px;padding:4px 11px}.service-filters{gap:6px;margin-bottom:14px;overflow-x:auto;padding-bottom:5px}.service-filters button{font-size:9px;padding:8px 11px;min-height:35px}.shops{grid-template-columns:1fr;gap:15px}.shop-card{border-radius:18px}.shop-card-main{min-height:231px;padding:0;display:block}.shop-logo{top:8px;left:14px;width:142px;height:94px}.shop-info{left:18px;bottom:62px;right:17px}.shop-info h4{font-size:11px;letter-spacing:.9px}.shop-zone{font-size:10px;max-width:90%}.shop-state{font-size:8px}.shop-cta{left:16px;right:16px;bottom:13px;font-size:11px;min-height:41px;padding:11px 13px}.service-badge{font-size:8px;padding:3px 5px}.favorite{width:33px;height:33px;right:12px;top:12px;font-size:22px}.character-scene{width:78%;background-size:250% auto}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#0b1221ed;border-top:1px solid #546b982e;backdrop-filter:blur(18px);box-shadow:0 -8px 40px #0004}.mobile-nav button{font-size:8px;color:#8ea2c6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:46px;padding:0}.mobile-nav button>span:not(.vinyl){font-size:23px;line-height:1.2}.mobile-nav button.active{color:#d7e7ff;text-shadow:0 0 14px #81a8ff}.mobile-nav button.active:after{content:"";height:2px;width:15px;background:#82adff;border-radius:2px;margin-top:2px;box-shadow:0 0 10px #739aff}.mobile-nav .vinyl{width:27px;height:27px;font-size:14px}.desktop-music{display:none}.music-sheet{right:12px;left:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:auto;max-width:none;padding:17px;border-radius:18px}.music-sheet-head h3{font-size:18px}.music-actions .primary{min-height:42px}.how{grid-template-columns:1fr;gap:9px;padding:25px 0;margin-top:0}.how>div{padding:13px 15px 13px 43px;position:relative}.how>div>span{position:absolute;left:15px;top:17px}.how h3{font-size:11px}.how p{font-size:10px;margin-top:2px}footer{padding:15px 16px 25px;font-size:8px}.footer-brand{font-size:9px}#toast{bottom:calc(92px + env(safe-area-inset-bottom));font-size:11px}.detail-row{font-size:11px}dialog{padding:18px;border-radius:19px}.detail-actions .primary,.detail-actions .secondary{min-height:44px}}
@media(prefers-reduced-motion:reduce){.hero-neon,.vinyl{animation:none!important}.shop-card:hover .character-scene{transform:none}.music-sheet{transition:none}}
@media(max-width:620px){.family-button{flex:1;width:0;min-width:0}.character-12 .character-scene{background-position:0% 22%}.character-34 .character-scene{background-position:50% 22%}.character-45 .character-scene{background-position:100% 22%}}
.character-48 .character-scene{background-position:20% 70%}.character-81 .character-scene{background-position:100% 70%}
/* Musique dans l’en-tête : la navigation basse reste centrée sur les boutiques. */
.top-music{display:flex;align-items:center;gap:7px;min-width:40px;min-height:44px;padding:0}.top-music .vinyl{width:35px;height:35px;box-shadow:0 0 18px #4272cf30;border-color:#6086c780}.music-label{font-size:10px;color:#bacce9}.music-sheet{top:84px;bottom:auto;transform:translateY(-15px);opacity:0}.music-sheet.open{transform:translateY(0);opacity:1}.desktop-music{display:none!important}
@media(max-width:620px){.mobile-nav{grid-template-columns:repeat(3,1fr)}.topbar nav{gap:10px}.topbar .music-label{display:none}.topbar .top-music{min-width:38px}.topbar .top-music .vinyl{width:32px;height:32px}.music-sheet{top:calc(76px + env(safe-area-inset-top));bottom:auto;right:12px;left:12px;transform:translateY(-15px)}.music-sheet.open{transform:translateY(0)}}
