/* Page tourisme/photos (01/11/2026) */
.tp-section{margin:1.5em 0 2em}
.tp-choix{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0 0 10px}
.tp-choix label{display:flex;align-items:center;gap:8px;font-weight:bold;margin:0}
.tp-choix select{width:auto;max-width:100%;margin:0;font-weight:normal}
.tp-carte-cadre{position:relative;border-radius:10px;overflow:hidden;background:#dfe6ea}
.tp-carte{height:480px;width:100%}
.tp-badge{position:absolute;bottom:30px;z-index:800;background:rgba(17,34,51,.82);color:#fff;font-size:.8em;font-weight:bold;padding:4px 9px;border-radius:12px;pointer-events:none}
.tp-badge-gauche{left:10px}.tp-badge-droite{right:10px}
.tp-badge:empty{display:none}
/* Curseur posé sur la carte : seule la poignée réagit, la carte reste déplaçable */
.tp-curseur{-webkit-appearance:none;appearance:none;position:absolute;left:0;bottom:60px;width:100%;margin:0;height:44px;padding:0;border:0;background:transparent;z-index:850;pointer-events:none;outline:none}
.tp-curseur::-webkit-slider-runnable-track{background:transparent;border:0;height:44px}
.tp-curseur::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:44px;height:44px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6' fill='none' stroke='%23125b91' stroke-width='2.4'/%3E%3C/svg%3E") center/26px no-repeat;border:2px solid #125b91;box-shadow:0 1px 6px rgba(0,0,0,.4);cursor:ew-resize;pointer-events:auto}
.tp-curseur::-moz-range-thumb{width:40px;height:40px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6' fill='none' stroke='%23125b91' stroke-width='2.4'/%3E%3C/svg%3E") center/26px no-repeat;border:2px solid #125b91;box-shadow:0 1px 6px rgba(0,0,0,.4);cursor:ew-resize;pointer-events:auto}
.tp-curseur::-moz-range-track{background:transparent;border:0}
.tp-curseur:focus-visible::-webkit-slider-thumb{outline:3px solid #f39200}
.tp-curseur:focus-visible::-moz-range-thumb{outline:3px solid #f39200}
.tp-ligne{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.5);z-index:820;pointer-events:none}
.tp-etat{font-size:.9em;color:#5c7080;margin:.5em 0}
.tp-etat:empty{display:none}
.tp-note{font-size:.85em;color:#5c7080}
/* Recherche d'adresse */
.tp-adresse{position:relative;margin:0 0 12px}
.tp-adresse label{display:block;font-weight:bold;margin:0 0 6px}
.tp-adresse-ligne{display:flex;flex-wrap:wrap;gap:8px}
.tp-adresse-ligne input{flex:1 1 240px;min-width:0;margin:0;padding:10px 12px;font:inherit;border:1px solid #b9c7d3;border-radius:8px;height:auto;box-sizing:border-box}
.tp-adresse-ligne button{margin:0;padding:10px 16px;font:inherit;border:0;border-radius:8px;background:#125b91;color:#fff;cursor:pointer}
.tp-adresse-ligne button.tp-secondaire{background:#eaf2fa;color:#125b91}
.tp-adresse-ligne button:focus-visible,.tp-adresse-choix button:focus-visible{outline:3px solid #f39200;outline-offset:2px}
.tp-adresse-choix{position:absolute;left:0;right:0;z-index:900;list-style:none;margin:4px 0 0;padding:4px;background:#fff;border:1px solid #b9c7d3;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.tp-adresse-choix[hidden]{display:none}
.tp-adresse-choix li{margin:0}
.tp-adresse-choix button{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:6px;background:none;font:inherit;color:inherit;cursor:pointer}
.tp-adresse-choix button:hover{background:#eaf2fa}
/* Balade dans les rues (visualiseur Panoramax) */
.tp-balade{margin:0 0 10px}
.tp-balade-cadre-ext{position:relative;border-radius:10px;overflow:hidden;background:#1b2a38}
.tp-balade-cadre{position:relative;height:520px;display:flex;align-items:center;justify-content:center;padding:0 20px;text-align:center;color:#dfe8f0;background:#1b2a38 linear-gradient(160deg,#27455f,#1b2a38)}
.tp-balade-cadre>pnx-photo-viewer{position:absolute;inset:0;display:block;width:100%;height:100%}
.tp-plein-ecran{position:absolute;left:10px;bottom:10px;z-index:5;padding:6px 10px;border:0;border-radius:8px;background:rgba(17,34,51,.82);color:#fff;font:inherit;font-size:.8em;cursor:pointer}
.tp-balade-cadre-ext:fullscreen .tp-balade-cadre{height:100vh}
.tp-balade-plein{position:fixed;inset:0;z-index:10000;border-radius:0}
.tp-balade-plein .tp-balade-cadre{height:100%}
@media(max-width:600px){.tp-carte{height:360px}.tp-balade-cadre{height:70vh;min-height:380px}}
