.camera-content{padding:34px 0 60px;background:#f5f7fa}.camera-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 22px}.camera-intro>div:first-child{max-width:760px}.camera-eyebrow{color:#b93a83;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.camera-intro h2{margin:5px 0 6px;color:#203e65;font-size:clamp(26px,4vw,34px);line-height:1.12}.camera-intro p{max-width:720px;margin:0;color:#64748b}.camera-summary{display:flex;align-items:center;gap:11px;flex:none;padding:12px 15px;border:1px solid #e0e8f1;border-radius:15px;background:#fff;color:#203e65;box-shadow:0 5px 18px #18304b08}.camera-summary-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f7eaf2;color:#96316d}.camera-summary-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.camera-summary strong,.camera-summary small{display:block}.camera-summary strong{font-size:13px;font-weight:850}.camera-summary small{margin-top:2px;color:#718096;font-size:11px}.camera-panel{overflow:hidden;border:1px solid #e2e8ef;border-radius:22px;background:#fff;box-shadow:0 12px 35px #172d4510}.camera-tools{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid #e8edf2}.camera-search,.camera-filter-label{display:flex;align-items:center;gap:9px;min-width:0;height:44px;padding:0 12px;border:1px solid #dbe3ec;border-radius:11px;background:#fff;color:#54708d}.camera-search{flex:1}.camera-search svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.camera-search input,.camera-filter-label select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#203e65;font:inherit;font-size:13px}.camera-search input::placeholder{color:#8997a8}.camera-filter-label{width:min(320px,42%);font-size:11px;font-weight:800}.camera-filter-label select{cursor:pointer}.camera-map-wrap{position:relative;padding:16px 16px 0}.camera-map{width:100%;height:clamp(370px,58vw,610px);overflow:hidden;border-radius:16px;background:#eaf0f6}.camera-map-badge{position:absolute;z-index:500;top:28px;left:28px;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #e3e9f1;border-radius:999px;background:#fffffff2;box-shadow:0 4px 14px #1731531a;color:#203e65;font-size:12px;font-weight:850}.camera-map-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#96316d;box-shadow:0 0 0 4px #96316d1a}.camera-marker{display:grid;place-items:center;width:36px;height:36px;border:2px solid #fff;border-radius:50%;background:#96316d;color:#fff;box-shadow:0 4px 12px #39172d44;transition:transform .16s ease}.camera-marker:hover{transform:scale(1.1)}.camera-marker svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.camera-map .leaflet-popup-content-wrapper{border-radius:12px;color:#203e65}.camera-map .leaflet-popup-content{margin:12px 15px;line-height:1.45}.camera-popup{display:grid;gap:4px;min-width:150px}.camera-popup strong{font-size:14px;color:#203e65}.camera-popup span{font-size:12px;color:#64748b}.camera-results-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 20px 12px}.camera-results-head h2{margin:0;color:#203e65;font-size:20px;line-height:1.2}.camera-results-head p{margin:5px 0 0;color:#758498;font-size:12px}.camera-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 18px}.camera-location{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:14px;border:1px solid #e4eaf1;border-radius:13px;background:#fff;color:#203e65;text-align:left;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.camera-location:hover,.camera-location:focus-visible{outline:0;border-color:#b783a4;background:#fdf9fb;transform:translateY(-1px)}.camera-location-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:#f7eaf2;color:#96316d}.camera-location-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.camera-location-copy{display:grid;gap:4px;min-width:0}.camera-location-copy strong{font-size:13px;font-weight:850;line-height:1.35}.camera-location-copy small{color:#64748b;font-size:11px;line-height:1.4}.camera-location-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.camera-location-meta span{padding:3px 7px;border:1px solid #e9dce5;border-radius:999px;background:#fbf5f9;color:#743155;font-size:10px;font-weight:750}.camera-empty{display:grid;gap:4px;margin:0 16px 18px;padding:16px;border-radius:13px;background:#f5f7fa;color:#203e65}.camera-empty[hidden]{display:none}.camera-empty strong{font-size:14px}.camera-empty span{color:#6e7e92;font-size:13px}.camera-note{display:flex;align-items:flex-start;gap:12px;margin:18px 2px 0;padding:16px 19px;border:1px solid #eadde6;border-radius:15px;background:#fdf9fb;color:#203e65}.camera-note-icon{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;background:#96316d;color:#fff;font-size:14px;font-weight:850}.camera-note strong{font-size:14px}.camera-note p{margin:4px 0 0;color:#68798d;font-size:13px;line-height:1.55}.camera-note a,.camera-source a{color:#315e95;font-weight:800;text-decoration:underline;text-underline-offset:2px}.camera-source{margin:14px 2px 0;color:#74849a;font-size:11px;line-height:1.55}.camera-source a{font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.camera-intro{align-items:flex-start;flex-direction:column;gap:13px}.camera-summary{align-self:flex-start}.camera-list{grid-template-columns:1fr}}
@media(max-width:600px){.camera-tools{align-items:stretch;flex-wrap:wrap;padding:12px}.camera-search{flex-basis:100%}.camera-filter-label{width:100%}.camera-map-wrap{padding:10px 10px 0}.camera-map{height:390px;border-radius:13px}.camera-map-badge{top:18px;left:18px}.camera-results-head{align-items:flex-start;flex-direction:column;gap:5px;padding:17px 13px 10px}.camera-list{padding:0 10px 12px}.camera-empty{margin:0 10px 12px}.camera-note{padding:14px}}
@media(prefers-reduced-motion:reduce){.camera-marker,.camera-location{transition:none}}
