body{background:#edf3f8}
.webcams-page{padding:120px clamp(18px,5vw,70px) 70px}
.webcams-intro{width:min(1180px,100%);margin:0 auto 30px}
.webcams-intro h1{font-size:clamp(2.6rem,6vw,5rem);margin:.15em 0}
.webcam-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:22px}
.webcam-toolbar span{color:var(--muted);font-size:.92rem}
.webcam-grid-full{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.live-webcam{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.live-webcam-media{position:relative;background:#132538;aspect-ratio:16/9;overflow:hidden}
.live-webcam-media img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .35s ease,transform .35s ease}
.live-webcam-media.loading img{opacity:.55;transform:scale(1.01)}
.live-badge{position:absolute;top:14px;left:14px;background:rgba(7,20,32,.78);color:white;padding:7px 11px;border-radius:999px;font-size:.82rem;font-weight:800;backdrop-filter:blur(7px)}
.live-badge::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#48bb78;margin-right:7px}
.webcam-error{position:absolute;inset:0;display:none;place-items:center;padding:20px;text-align:center;background:#132538;color:white}
.live-webcam.has-error .webcam-error{display:grid}
.live-webcam-body{padding:22px}
.live-webcam-body h2{margin:0 0 5px;font-size:1.5rem}
.live-webcam-body p{color:var(--muted)}
.webcam-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid #e5ecf3;font-size:.88rem}
.webcam-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.webcam-actions button,.webcam-actions a{border:0;background:#edf3f8;color:var(--blue-dark);padding:9px 13px;border-radius:999px;font-weight:750;cursor:pointer}
@media(max-width:800px){.webcam-grid-full{grid-template-columns:1fr}.webcams-nav{display:none}}


.webcam-full-placeholder{
  min-height:320px;
}

.live-webcam-media .webcam-external-placeholder{
  height:100%;
}

.live-webcam-media img{
  object-fit:contain;
  background:#111;
}

.webcam-actions{
  flex-wrap:wrap;
}
