/* Photo-led CCTV directory. Existing local atmosphere assets only; never camera frames. */
.inner-page .camera-region-scene {position:relative;isolation:isolate;margin:25px 0 32px;height:330px;border-radius:24px;overflow:hidden;background:#eee1d6}
.inner-page .camera-region-scene.compact {height:285px}
.inner-page .camera-region-scene>img {display:block;width:100%;height:100%;object-fit:cover}
.inner-page .camera-region-scene figcaption {position:absolute;inset:auto 0 0;padding:55px 30px 36px;background:linear-gradient(transparent,#32241dc9);color:#fff}
.inner-page .camera-region-scene figcaption>span {display:block;font-size:12px;margin-bottom:8px}
.inner-page .camera-region-scene figcaption strong {display:block;font-size:clamp(24px,3vw,36px);line-height:1.4;font-family:var(--heading,serif)}
.inner-page .camera-photo-card {padding:0!important;overflow:hidden;border:1px solid #e7dcd0;box-shadow:0 6px 22px #49352308;border-radius:20px}
.inner-page .camera-card-photo {position:relative;display:block;overflow:hidden;height:190px;flex-shrink:0;background:#e9dfd4}
.inner-page .camera-card-photo::after {content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#30251ba1);pointer-events:none}
.inner-page .camera-card-photo>img {display:block;width:100%;height:100%;object-fit:cover}
.inner-page .camera-card-photo>span {position:absolute;left:20px;bottom:18px;z-index:1;color:#fff;font-size:17px;font-weight:600}
.inner-page .camera-photo-card>:not(.camera-card-photo) {margin-left:20px;margin-right:20px}
.inner-page .camera-photo-card .camera-card-top {margin-top:18px;margin-bottom:12px}
.inner-page .camera-photo-card .camera-location {display:flex;align-items:center;gap:5px;font-size:12px;margin-bottom:6px;color:#935247}
.inner-page .camera-photo-card .camera-location .ui-icon {width:15px;height:15px;margin:0;color:inherit}
.inner-page .camera-photo-card h3 {font-size:21px;line-height:1.5;margin-bottom:12px}
.inner-page .camera-photo-card dl {margin-bottom:12px;line-height:1.7}
.inner-page .camera-card-about {border-top:1px solid #eee3d9;padding:8px 0 12px;font-size:12px}
.inner-page .camera-card-about summary {cursor:pointer;min-height:35px;display:list-item;align-content:center;color:#6b5b50}
.inner-page .camera-card-about p {font-size:13px;line-height:1.8;margin:8px 0}
.inner-page .camera-photo-card .camera-card-actions {margin-top:auto;margin-bottom:18px;padding-top:14px;gap:8px}
.inner-page .camera-photo-card .camera-card-actions a {flex:1;min-width:0;font-size:12px!important;min-height:44px}
.inner-page .camera-photo-card .camera-card-actions .camera-source-link {background:#b64b3e;color:#fff;border-color:#b64b3e;text-decoration:none}
.inner-page .camera-photo-card .camera-card-actions .ui-icon {color:inherit}
.inner-page .camera-browse-note {display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#6a5d52;margin:18px 0 23px;line-height:1.8}
.inner-page .camera-browse-note .ui-icon {width:18px;height:18px;margin:0 3px 0 0}
.inner-page .camera-browse-note a {text-decoration:underline;text-underline-offset:3px;color:#975044}
.inner-page .camera-map-notes {font-size:12px;line-height:1.8;margin:12px 0;color:#6a5d52}
.inner-page .camera-map-notes summary,.inner-page .camera-source-details summary {cursor:pointer;min-height:44px;align-content:center}
.inner-page .camera-map-notes p {max-width:700px;font-size:12px;margin:8px 0}
.inner-page .camera-source-details {border:1px solid #e4d8cb;border-radius:14px;padding:10px 20px;margin-bottom:25px;background:#fffdf8}
.inner-page .camera-city-links>a {border-radius:16px;background:#fffdf8;padding:18px;border-color:#e5d8ca}
.inner-page .camera-photo-card[hidden] {display:none!important}
@media(min-width:1000px){.inner-page .camera-grid {gap:25px}}
@media(max-width:640px){
 .inner-page .camera-region-scene,.inner-page .camera-region-scene.compact {height:235px;border-radius:19px}
 .inner-page .camera-region-scene figcaption {padding:45px 20px 40px}
 .inner-page .camera-card-photo {height:205px}
 .inner-page .camera-photo-card h3 {font-size:21px}
 .inner-page .camera-city-links>a {padding:15px}
 .inner-page .camera-browse-note {align-items:flex-start}
}

/* Main camera lists respond to visible cards, including filtered/removed cards.
   Related-camera recommendation grids keep their existing layout. */
.inner-page .camera-photo-card>.camera-card-content{display:flex;flex-direction:column;flex:1;min-width:0}
@supports selector(:has(*)){
 @media(min-width:700px){
  .inner-page .camera-grid-adaptive:has(>.camera-card:not([hidden])~.camera-card:not([hidden])):not(:has(>.camera-card:not([hidden])~.camera-card:not([hidden])~.camera-card:not([hidden]))){grid-template-columns:repeat(2,minmax(0,1fr))}
  .inner-page .camera-grid-adaptive:has(>.camera-card:not([hidden])):not(:has(>.camera-card:not([hidden])~.camera-card:not([hidden]))){grid-template-columns:minmax(0,1fr)}
 }
 @media(min-width:900px){
  .inner-page .camera-grid-adaptive:has(>.camera-card:not([hidden])):not(:has(>.camera-card:not([hidden])~.camera-card:not([hidden])))>.camera-card:not([hidden]){display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.15fr);align-items:stretch}
  .inner-page .camera-grid-adaptive:has(>.camera-card:not([hidden])):not(:has(>.camera-card:not([hidden])~.camera-card:not([hidden])))>.camera-card:not([hidden])>.camera-card-photo{height:100%;min-height:320px;max-height:460px;align-self:stretch}
  .inner-page .camera-grid-adaptive:has(>.camera-card:not([hidden])):not(:has(>.camera-card:not([hidden])~.camera-card:not([hidden])))>.camera-card:not([hidden])>.camera-card-content{margin:0;padding:25px 29px 7px}
  .inner-page .camera-grid-adaptive:has(>.camera-card:not([hidden])):not(:has(>.camera-card:not([hidden])~.camera-card:not([hidden]))) .camera-card-top{margin-top:0}
  .inner-page .camera-grid-adaptive:has(>.camera-card:not([hidden])):not(:has(>.camera-card:not([hidden])~.camera-card:not([hidden]))) .camera-card-content h3{font-size:25px}
 }
}
@media(max-width:640px){.inner-page .camera-grid-adaptive{grid-template-columns:minmax(0,1fr)}}
/* Details remain easy to open and long facility names stay inside photo cards. */
.inner-page .camera-card-about summary{min-height:44px}.inner-page .camera-photo-card h3,.inner-page .camera-city-links strong{overflow-wrap:anywhere}.inner-page .camera-city-links>a{min-width:0}.inner-page .camera-card-about .source-date{font-size:11px}
