/* Carte nationale des pollens (/pollens). Fonctionne sans JavaScript : seule la recherche est alors affichée. */
.pollen-map{--pm-bg:#0f1b23;--pm-panel:#172832;--pm-line:#ffffff24;--pm-soft:#b9c7d0;--pm-accent:#7cf0d8;position:relative;margin:6px 0 30px;padding:30px;border-radius:22px;background:var(--pm-bg);color:#fff;overflow:hidden}
.pollen-map *{box-sizing:border-box}
.pollen-map .pm-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,400px);gap:18px 32px;align-items:end;margin-bottom:22px}
.care .pollen-map h2{margin:0 0 10px;color:#fff;font-size:clamp(23px,2.5vw,30px);letter-spacing:-.6px;line-height:1.2}
.care .pollen-map h3{margin:2px 0 12px;color:#fff;font-size:22px;line-height:1.25;letter-spacing:-.3px}
.pollen-map .pm-sub{margin:0;max-width:62ch;color:var(--pm-soft);font-size:15px;line-height:1.6}
.pollen-map :focus-visible{outline:3px solid var(--pm-accent)!important;outline-offset:3px}
.pollen-map button{font:inherit;color:inherit;cursor:pointer}
.pollen-map button:disabled{cursor:default}

.pm-search{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}
.pm-search label{grid-column:1/-1;font-size:13px;font-weight:650;color:#fff}
.pm-search input{width:100%;height:48px;padding:10px 14px;border:1px solid #ffffff3d;border-radius:12px;background:#ffffff14;color:#fff;font-size:15px}
.pm-search input::placeholder{color:#a9b9c3}
.pm-search input:hover{border-color:#ffffff66}
.pm-search>button{height:48px;padding:0 18px;border:0;border-radius:12px;background:#fff;color:#0f1b23;font-family:var(--msm-display,inherit);font-size:14px;font-weight:700}
.pm-search>button:hover{background:var(--pm-accent)}
.pm-suggest{position:absolute;z-index:6;top:100%;left:0;right:0;margin:6px 0 0;padding:6px!important;list-style:none;border-radius:14px;background:#fff;color:#17242e;box-shadow:0 18px 40px #00000059}
.pm-suggest li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:650;line-height:1.3;cursor:pointer}
.pm-suggest li small{margin-left:auto;color:#51616d;font-size:12px;font-weight:500;white-space:nowrap}
.pm-suggest li[aria-selected=true],.pm-suggest li:hover{background:#edf5f1}

.pm-app[hidden]{display:none}
.pm-controls{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-bottom:16px}
.pm-seg{display:inline-flex;padding:4px;border-radius:14px;background:#ffffff12}
.pm-seg button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:118px;padding:8px 14px;border:0;border-radius:10px;background:transparent;text-align:left;font-size:14px;font-weight:700;line-height:1.25;transition:background .2s,color .2s}
.pm-seg small{font-size:11px;font-weight:500;color:var(--pm-soft)}.pm-seg small::first-letter{text-transform:uppercase}
.pm-seg button:hover:not(:disabled){background:#ffffff14}
.pm-seg button[aria-pressed=true]{background:#fff;color:#0f1b23}
.pm-seg button[aria-pressed=true] small{color:#51616d}
.pm-seg button:disabled{opacity:.42}
.pm-chips{display:flex;flex-wrap:wrap;gap:8px}
.pm-chips button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--pm-line);border-radius:999px;background:transparent;font-size:13px;font-weight:650;line-height:1.3;transition:background .2s,border-color .2s,color .2s}
.pm-chips button:hover{border-color:#ffffff75}
.pm-chips button[aria-pressed=true]{border-color:var(--pm-accent);background:var(--pm-accent);color:#0f1b23}

.pm-body{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;align-items:start}
.pm-main{min-width:0}
.pm-stage{position:relative;width:100%;aspect-ratio:1000/930;max-height:780px;border:1px solid var(--pm-line);border-radius:18px;background:radial-gradient(120% 90% at 50% 45%,#fff 0%,#fff 55%,#f1f5f7 100%);overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.pm-stage.is-zoomed{touch-action:none}
.pm-stage.is-dragging{cursor:grabbing}
.pm-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pm-fx{pointer-events:none}
.pollen-map .pm-loading{position:absolute;inset:auto 0 46%;margin:0;padding:0 24px;text-align:center;color:#51616d;font-size:14px}
.pm-loading[hidden],.pm-hint[hidden],.pm-tip[hidden]{display:none}
.pollen-map .pm-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(88%,440px);margin:0;padding:16px 20px;border-radius:14px;background:#0f1b23f0;color:#fff;font-size:14px;line-height:1.55;text-align:center;box-shadow:0 12px 32px #0f1b2340;pointer-events:none}.pollen-map .pm-empty[hidden]{display:none}
.pollen-map .pm-loading.is-error{color:#17242e}
.pollen-map .pm-hint{position:absolute;left:50%;bottom:52px;transform:translateX(-50%);margin:0;padding:8px 14px;border-radius:999px;background:#0f1b23e6;color:#fff;font-size:12px;white-space:nowrap;pointer-events:none}
.pm-tip{position:absolute;z-index:3;top:0;left:0;display:flex;flex-direction:column;gap:3px;max-width:260px;padding:9px 12px;border-radius:11px;background:#fff;color:#17242e;box-shadow:0 10px 28px #00000066;font-size:12px;line-height:1.35;pointer-events:none;white-space:nowrap}
.pm-tip strong{font-size:13px}
.pm-tip span{display:flex;align-items:center;gap:7px;color:#40505c}
.pm-zoom{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px}
.pm-zoom button{width:40px;height:40px;border:1px solid #0f1b23;border-radius:11px;background:#0f1b23;color:#fff;font-size:19px;font-weight:600;line-height:1;backdrop-filter:blur(6px)}
.pm-zoom button:hover{background:#2c4352}
.pm-scale{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:3px;padding:7px 11px;border:1px solid #ffffff26;border-radius:11px;background:#0f1b23eb;font-size:11px;font-weight:650;color:#fff;pointer-events:none;backdrop-filter:blur(6px)}.pm-scale[hidden]{display:none}.pm-scale i{display:block;width:22px;height:9px}.pm-scale i:first-of-type{border-radius:5px 0 0 5px;margin-left:6px}.pm-scale i:last-of-type{border-radius:0 5px 5px 0;margin-right:6px}
.pm-dot{flex:0 0 auto;display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #0000002e}

.pm-legend{margin-top:14px}
.pm-legend-title{margin:0 0 10px;color:var(--pm-soft);font-size:13px;line-height:1.5}
.pm-legend-title strong{color:#fff}
.pm-legend-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:0;padding:0!important;list-style:none}
.pm-legend-list button{display:grid;grid-template-columns:10px 132px minmax(40px,1fr) 46px;align-items:center;gap:10px;width:100%;padding:7px 10px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:13px;line-height:1.3;text-align:left}
.pm-legend-list button:hover:not(:disabled){background:#ffffff0f}
.pm-legend-list button[aria-pressed=true]{border-color:var(--pm-accent);background:#ffffff14}
.pm-legend-list button:disabled{opacity:.5}
.pm-legend-label{font-weight:650}
.pollen-map[data-access-map] .pm-legend-list button{grid-template-columns:10px minmax(0,1fr) auto}.pollen-map[data-access-map] .pm-legend-count{white-space:nowrap}
.pm-legend-count{text-align:right;color:var(--pm-soft);font-variant-numeric:tabular-nums;font-size:12px}
.pm-bar,.pm-meter{display:block;height:6px;border-radius:99px;background:#ffffff17;overflow:hidden}
.pm-bar i,.pm-meter i{display:block;width:0;height:100%;border-radius:99px}

.pm-panel{position:relative;min-height:240px;padding:24px;border:1px solid var(--pm-line);border-radius:18px;background:var(--pm-panel)}
.pm-kicker{margin:0 0 4px;color:var(--pm-accent);font-size:12px;font-weight:700;letter-spacing:.3px}
.pm-quick+.pm-kicker,.pm-note+.pm-kicker{margin-top:18px}
.pollen-map .pm-lead{margin:0 0 14px;font-size:15px;line-height:1.75}
.pollen-map .pm-note{margin:0 0 12px;color:var(--pm-soft);font-size:13px;line-height:1.6}
.pm-pill{display:inline-block;padding:1px 10px;border-radius:999px;color:#0f1b23;box-shadow:inset 0 0 0 1px #ffffff26;font-size:13px;font-weight:750;line-height:1.7;white-space:nowrap}
.pm-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--pm-line);border-radius:50%;background:transparent;font-size:20px;line-height:1}
.pm-close:hover{background:#fff;color:#0f1b23}
.pm-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.pm-quick button{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--pm-line);border-radius:999px;background:transparent;font-size:13px;font-weight:600;line-height:1.3}
.pm-quick button:hover{border-color:#ffffff80;background:#ffffff0f}
.pm-table-wrap{margin:4px -6px 14px;overflow-x:auto}
.pm-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.35}
.pm-table th,.pm-table td{padding:8px 6px;border-bottom:1px solid #ffffff14;text-align:left;vertical-align:top;font-weight:500}
.pm-table thead th{color:var(--pm-soft);font-size:11px;font-weight:650}
.pm-table tbody th{font-weight:700;white-space:nowrap}.pm-table tbody th .pm-dot{margin-right:7px;width:9px;height:9px}
.pm-table td{min-width:78px;color:#dfe7ec}
.pm-table td.is-day{color:#fff;font-weight:650}
.pm-table tr.is-active th{color:var(--pm-accent)}
.pm-table tbody tr:last-child th,.pm-table tbody tr:last-child td{border-bottom:0}
.pm-meter{margin:3px 0 5px}
.pm-actions{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.pollen-map button.pm-button-ghost{display:flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border:1px solid #ffffff66;border-radius:12px;background:transparent;color:#fff;font-family:var(--msm-display,inherit);font-size:14px;font-weight:700}.pollen-map button.pm-button-ghost:hover{background:#ffffff14;border-color:#fff}
.care .pollen-map a.pm-button{display:flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border-radius:12px;background:#fff;color:#0f1b23;font-family:var(--msm-display,inherit);font-size:14px;font-weight:700;text-decoration:none}.care .pollen-map a.pm-button:hover{background:var(--pm-accent);text-decoration:none}
.care .pollen-map a.pm-link{color:#cfc9ff;font-size:13px;font-weight:650}
.pm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.pm-credit{margin:16px 0 0;color:var(--pm-soft);font-size:12px;line-height:1.6}
.care .pollen-map .pm-credit a{color:#cfc9ff}

@media(max-width:1080px){.pm-body{grid-template-columns:minmax(0,1fr);gap:16px}.pm-main{display:contents}.pm-stage{order:1}.pm-panel{order:2;min-height:0}.pm-legend{order:3;margin-top:0}}
@media(max-width:820px){.pollen-map .pm-head{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  .pollen-map{margin-inline:-12px;padding:22px 16px;border-radius:18px}
  .pm-controls{gap:12px}
  .pm-seg{display:flex;width:100%}
  .pm-seg button{flex:1 1 0;min-width:0;padding:8px 10px;font-size:13px}
  .pm-seg small{font-size:10px}
  .pm-chips{flex-wrap:nowrap;width:calc(100% + 32px);margin-inline:-16px;padding:2px 16px 6px;overflow-x:auto;scrollbar-width:none}
  .pm-chips::-webkit-scrollbar{display:none}
  .pm-chips button{flex:0 0 auto}
  .pm-legend-list{grid-template-columns:minmax(0,1fr)}
  .pm-panel{padding:20px 18px}
  .pm-zoom button{width:44px;height:44px}
  .pm-scale{left:8px;bottom:8px;padding:6px 9px;font-size:10px}.pm-scale i{width:15px}
}
@media(prefers-reduced-motion:reduce){.pollen-map *{transition:none!important}}
