/* Camí v3.7 · Camins de la comunitat (mapa de calor) */
.heat-toggle{display:flex;align-items:center;gap:7px;border:1px solid #d9ded6;background:#fff;color:#2c3b33;border-radius:10px;padding:8px 11px;font:700 12px Manrope,sans-serif;cursor:pointer;box-shadow:0 2px 10px #1d2b2214}
.heat-toggle .icon{width:17px;height:17px}
.heat-toggle:hover{background:#f7f3fb}
.heat-toggle.on{background:#4b1d6e;border-color:#4b1d6e;color:#fff}
.heat-legend{position:absolute;left:12px;top:104px;z-index:800;width:min(260px,calc(100% - 24px));background:#fffffff2;border:1px solid #e1e4de;border-radius:14px;padding:11px 12px;box-shadow:0 8px 28px #1d2b2222;font-size:12px;color:#33433a;backdrop-filter:blur(6px)}
.heat-legend[hidden]{display:none}
.heat-legend-head{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.heat-legend-head .icon{width:17px;height:17px;color:#7b2cbf}
.heat-legend-head b{font:800 12.5px Manrope,sans-serif;margin-right:auto}
.heat-x{border:0;background:none;color:#7a817c;cursor:pointer;padding:2px;display:grid;place-items:center}
.heat-x .icon{width:15px;height:15px}
.heat-scale{display:flex;align-items:center;gap:7px;font-size:11px;color:#6b746e}
.heat-scale i{flex:1;height:7px;border-radius:9px;background:linear-gradient(90deg,#7b2cbf,#e22e60 45%,#ff7a1a 75%,#ffd640)}
.heat-own{display:flex;align-items:center;gap:7px;font-size:11px;color:#6b746e;margin-top:5px}
.heat-own i{width:10px;height:10px;border-radius:50%;background:#2f7de18c}
.heat-msg{margin:8px 0 0;padding:7px 9px;border-radius:9px;background:#f4f1f8;color:#4b3a5c;line-height:1.45}
.heat-tip{margin:8px 0 0;color:#5b6660;line-height:1.45}
.heat-privacy{display:block;margin:8px 0 0;font-size:11px;color:#6b746e}
.heat-privacy .icon{width:13px;height:13px;vertical-align:-2px;margin-right:4px}
.heat-privacy .link-button{font-size:11px;padding:0;border:0;background:none;color:#4b1d6e;text-decoration:underline;cursor:pointer}
/* Trams alternatius al resum del planificador */
.heat-legs{border:1px solid #e4daee;background:linear-gradient(180deg,#faf6fd,#fff);border-radius:16px;padding:14px;margin:0 0 14px;display:grid;gap:10px}
.heat-legs h4{display:flex;align-items:center;gap:8px;margin:0;font:800 14px Manrope,sans-serif;color:#3d1859}
.heat-legs h4 .icon{width:18px;height:18px;color:#7b2cbf}
.heat-legs>p{margin:0;font-size:12.5px;color:#5c5266;line-height:1.5}
.heat-legs.empty{display:flex;gap:8px;align-items:center;font-size:12.5px;color:#6b746e;padding:10px 12px}
.heat-legs.empty .icon{width:16px;height:16px;flex-shrink:0;color:#9b84b0}
.heat-leg{display:grid;gap:6px}
.heat-leg>b{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#8a7a99}
.heat-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.heat-opts label{display:flex;gap:9px;align-items:flex-start;border:1px solid #e6e1ea;background:#fff;border-radius:12px;padding:10px;cursor:pointer;min-width:0}
.heat-opts label.on{border-color:#7b2cbf;box-shadow:0 0 0 2px #7b2cbf26}
.heat-opts input{accent-color:#7b2cbf;margin-top:3px}
.heat-opts strong{display:block;font-size:12.5px;color:#2c3b33}
.heat-opts small{display:block;font-size:11.5px;color:#6b746e;line-height:1.45}
.heat-opts .sw{width:16px;height:4px;border-radius:3px;margin-top:9px;flex-shrink:0}
.heat-opts .sw.osm{background:#e78251}
.heat-opts .sw.alt{background:repeating-linear-gradient(90deg,#8f2bd1 0 3px,transparent 3px 6px)}
.heat-note{display:flex;gap:7px;margin:0;font-size:11.5px;color:#7a6f84;line-height:1.5}
.heat-note .icon{width:14px;height:14px;flex-shrink:0;margin-top:2px}
/* Privacitat (Connexions i finestra informativa) */
.service-logo.heat{background:linear-gradient(135deg,#4b1d6e,#e22e60);color:#fff;display:grid;place-items:center}
.service-logo.heat .icon{width:26px;height:26px}
.heat-rules{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px;font-size:12.5px;color:#4d5a52;line-height:1.5}
.heat-rules li{display:flex;gap:9px}
.heat-rules .icon{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:#7b2cbf}
.heat-switch{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:650;cursor:pointer;margin-top:6px}
.heat-switch input{position:absolute;opacity:0;width:1px;height:1px}
.heat-switch span{width:38px;height:22px;border-radius:12px;background:#cfd5cc;position:relative;flex-shrink:0;transition:background .2s}
.heat-switch span::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.heat-switch input:checked+span{background:#7b2cbf}
.heat-switch input:checked+span::after{transform:translateX(16px)}
.heat-switch input:focus-visible+span{outline:2px solid #daab6c;outline-offset:2px}
@media(max-width:680px){.heat-legend .heat-own,.heat-legend .heat-tip,.heat-legend .heat-privacy{display:none}.heat-legend{width:210px;padding:8px 10px}.heat-toggle span{display:none}.heat-toggle{padding:8px}.heat-opts{grid-template-columns:1fr}.heat-legend{top:auto;bottom:10px;font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.heat-switch span,.heat-switch span::after{transition:none}}
