/* This stylesheet is loaded only by Les spots and its historical alias. */
.spots-route main{background:#fcf8f0;padding-bottom:40px}
.spots-route .breadcrumb,.spots-page.wrap{width:min(90%,1000px);margin-left:auto;margin-right:auto}
.spots-route .breadcrumb{padding-top:24px;padding-bottom:14px}
.spots-title{margin:0 0 28px}
.spots-title h1{font-size:clamp(3.25rem,9vw,6.7rem);line-height:1.03;letter-spacing:-.075em;font-weight:700;margin:0 0 14px;color:#080a0f}
.spots-page h1 span,.spots-page h2 span{color:#dc0089}
.spots-title>p{font-size:clamp(1.05rem,2.65vw,1.7rem);line-height:1.4;color:#6b6c74;margin:0}
.spots-page .atlas-map-card{margin:0;background:#f0ece3;border:0;border-radius:22px;overflow:hidden;box-shadow:none}
.spots-page .france-geography{display:block;position:static;width:100%;height:auto;aspect-ratio:2/1;overflow:visible}
.spots-country{fill:#fffcf5;stroke:#cbbb9e;stroke-width:1.1;vector-effect:non-scaling-stroke}
.spots-country-name{fill:#b4a58e;font-size:18px;letter-spacing:6px;font-weight:400}
.spots-page .map-callout-line{stroke:#b9a68b;stroke-width:1;vector-effect:non-scaling-stroke}
.spots-page .map-callout-line[data-region=monaco]{stroke:#dc0089}
.spots-map-dot{fill:#10224e;stroke:#fffcf5;stroke-width:1;vector-effect:non-scaling-stroke}
.spots-map-dot[data-dot-region=monaco]{fill:#dc0089}
.spots-page .france-pin{position:static;transform:none;cursor:pointer;transition:opacity .2s}
.spots-page .france-pin text{fill:#0e1b32;font-size:34px;font-weight:700;letter-spacing:-1px}
.spots-page .france-pin[data-map-filter=monaco] text{fill:#dc0089}
.spots-map-hit{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke}
.spots-page .france-pin:focus-visible{outline:0}
.spots-page .france-pin:focus-visible .spots-map-hit{stroke:#dc0089}
.spots-page .france-pin.is-muted{opacity:.42}
.spots-discover{scroll-margin-top:90px}
.spots-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:22px 0;border-bottom:1px solid #d9c7ac;margin:0}
.spots-filters[hidden]{display:none}
.spots-filters button{font:inherit;font-size:clamp(.93rem,2.4vw,1.3rem);color:#343b4a;background:transparent;border:1px solid transparent;border-radius:14px;min-height:46px;padding:9px 6px;cursor:pointer}
.spots-filters button[aria-pressed=true]{background:#10214f;color:#fcf8f0}
.spots-filters button:hover{border-color:#c7b493}
.spots-filters button:focus-visible,.spots-page a:focus-visible,.spots-archive summary:focus-visible,.spot-dialog-close:focus-visible{outline:2px solid #dc0089;outline-offset:4px}
.spots-discover>h2,.spots-archive-body>h2{font-size:clamp(2.3rem,6.3vw,4.2rem);font-weight:700;line-height:1.1;letter-spacing:-.065em;margin:28px 0 16px;color:#080a0f}
.spot-card{display:grid;grid-template-columns:.62fr 1fr 36px;gap:30px;align-items:center;padding:18px 0;border-bottom:1px solid #d9c7ac;min-width:0}
.spot-card:first-child{padding-top:0}
.spot-card[hidden]{display:none}
.spot-art{display:block;min-width:0;border-radius:18px;overflow:hidden}
.spot-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.spot-copy{min-width:0}
.spots-page .spot-city{font-size:clamp(.79rem,1.9vw,1.03rem);line-height:1.35;font-weight:400;text-transform:uppercase;letter-spacing:.055em;color:#6b6c74;margin:0 0 8px}
.spots-page .spot-copy h3{font-size:clamp(1.45rem,4.5vw,2.65rem);line-height:1.08;letter-spacing:-.055em;font-weight:700;color:#080a0f;margin:0 0 7px}
.spots-page .spot-caption{font-size:clamp(.94rem,2.35vw,1.4rem);line-height:1.4;color:#6b6c74;margin:0 0 10px}
.spots-page .spot-discover{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#152451;font-size:clamp(.94rem,2.3vw,1.25rem);line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.spot-row-arrow{display:flex;align-items:center;justify-content:center;align-self:stretch;color:#13264f;font-size:36px;line-height:1;text-decoration:none;min-height:44px}
.spots-archive{border:0;margin:24px 0 0;padding:0;background:transparent}
.spots-archive>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:48px;color:#152451;font-size:clamp(1.05rem,2.7vw,1.5rem);width:fit-content;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.spots-archive>summary::-webkit-details-marker{display:none}
.spots-archive[open]>summary>span{transform:rotate(90deg)}
.spots-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.spots-page .spot-record{min-width:0;border:1px solid #dccbb3;border-radius:16px;padding:24px;background:#fffcf6;scroll-margin-top:120px}
.spots-page .spot-record h3{font-size:1.7rem;letter-spacing:-.035em;line-height:1.15;margin:0 0 18px}
.spot-record address,.spot-dialog address{font-style:normal;font-size:1.05rem;line-height:1.5;color:#172443;margin:18px 0}
.spot-record p,.spot-dialog-body p{font-size:1rem;line-height:1.6;color:#4c4e55}
.spot-evidence{display:inline-block;border:1px solid #d9c7ac;border-radius:24px;padding:5px 10px;font-size:.76rem;color:#172443}
.spot-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.spots-page .spot-action{display:inline-flex;align-items:center;gap:14px;background:#10214f;color:#fcf8f0;border-radius:10px;text-decoration:none;min-height:44px;padding:10px 16px;font-size:.93rem}
.spot-record h4,.spot-dialog h4{font-size:1rem;margin:24px 0 10px}
.spot-sources{padding-left:18px;margin:0;font-size:.86rem;line-height:1.6;overflow-wrap:anywhere}
.spot-sources li{margin:8px 0}
.spots-page .spot-sources a{color:#1a2c58;text-decoration:underline;text-underline-offset:3px}
.spots-note{color:#6b6c74;font-size:.75rem;line-height:1.5;margin:22px 0 0;max-width:600px}
.spots-page .spot-dialog{width:min(92vw,620px);max-height:90dvh;padding:28px;border:1px solid #d8c6aa;border-radius:20px;background:#fcf8f0;color:#080a0f;margin:auto;overflow-y:auto;box-shadow:0 20px 80px #0a183b40}
.spot-dialog::backdrop{background:#09172dd6}
.spot-dialog-close{display:flex;align-items:center;gap:12px;margin:0 0 18px auto;border:1px solid #dccbb3;border-radius:10px;background:transparent;color:#172443;min-height:44px;padding:8px 12px;font:inherit;cursor:pointer}
.spot-dialog h2{font-size:clamp(2rem,5vw,2.8rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 22px}
.spot-dialog-body>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;margin-bottom:22px}
.spot-dialog-body{overflow-wrap:anywhere}
body.spots-dialog-open{overflow:hidden}
@media(max-width:640px){.spots-route main{padding-bottom:28px}.spots-route .breadcrumb{padding-top:20px;padding-bottom:14px}.spots-title{margin-bottom:22px}.spots-title h1{margin-bottom:10px}.spots-page .atlas-map-card{border-radius:16px}.spots-filters{gap:4px;padding:16px 0}.spots-filters button{border-radius:10px}.spots-discover>h2{margin:24px 0 14px}.spot-card{grid-template-columns:.62fr 1fr 22px;gap:14px;padding:15px 0}.spot-art{border-radius:12px}.spots-page .spot-city{margin-bottom:5px}.spots-page .spot-copy h3{margin-bottom:5px}.spots-page .spot-caption{margin-bottom:6px}.spot-row-arrow{font-size:27px}.spots-records{grid-template-columns:1fr;gap:14px}.spots-page .spot-record{padding:20px}.spots-page .spot-dialog{padding:20px;border-radius:16px}.spots-archive{margin-top:18px}}
@media(max-width:640px){.spots-page .france-pin text{font-size:42px}}
@media(max-width:350px){.spot-card{gap:10px;grid-template-columns:.6fr 1fr 18px}.spots-page .spot-copy h3{font-size:1.32rem}.spots-page .spot-caption{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.spots-page *{scroll-behavior:auto;transition:none}}
