.gz-cams-page{padding:56px 0 72px;background:#fff}
.gz-cams-hero{max-width:980px;margin:0 auto 34px}
.gz-cams-hero__eyebrow{font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#168a91;margin-bottom:8px}
.gz-cams-hero h1{margin:0 0 18px;font-size:40px;line-height:1.15}
.gz-cams-hero p{font-size:17px;line-height:1.75;color:#4c5963;margin:0 0 12px}
.gz-cams-hero__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.gz-cams-hero__links a{display:inline-flex;padding:10px 14px;border-radius:8px;background:#f1f8f8;font-weight:700;color:#176e73}

.gz-cams-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.gz-cam-card{display:flex;flex-direction:column;border:1px solid #e5ecee;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 7px 24px rgba(22,52,63,.065);scroll-margin-top:100px}
.gz-cam-card__head{padding:18px 18px 14px}
.gz-cam-card__region{display:inline-block;margin-bottom:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#168a91}
.gz-cam-card h2{font-size:22px;line-height:1.22;margin:0}
.gz-cam-card__location{margin:6px 0 0;color:#65727b;font-size:14px;line-height:1.45}
.gz-cam-card__media{background:#e8f1f2;min-height:0;overflow:hidden}
.gz-cam-card__media a{display:block}
.gz-cam-card__media img{display:block;width:100%;height:200px;max-width:100%;margin:0;object-fit:cover}
.gz-cam-card__description{padding:15px 18px 3px;font-size:14.5px;line-height:1.6;color:#4b5961;flex:1}
.gz-cam-card__description p{margin:0 0 10px}
.gz-cam-card__actions{padding:12px 18px 18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:auto}
.gz-cam-card__button{display:inline-flex;padding:8px 10px;border-radius:7px;background:#168a91;color:#fff!important;font-weight:700;font-size:13px;line-height:1.35}
.gz-cam-card__button--secondary{background:#eef6f6;color:#176e73!important}
.gz-cam-card__source{width:100%;margin-top:4px;font-size:12.5px;color:#66757d;line-height:1.45}

.gz-cams-info{max-width:980px;margin:42px auto 0;padding:28px 30px;background:#f7fafb;border-radius:14px}
.gz-cams-info h2{font-size:28px;margin:0 0 14px}
.gz-cams-info p{line-height:1.72;color:#4c5963}
.gz-cams-info__source{font-size:14px}
.gz-cams-empty{padding:35px;border:1px dashed #b8c8cc;border-radius:14px;text-align:center}

@media(max-width:991px){
  .gz-cams-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .gz-cams-hero h1{font-size:34px}
  .gz-cam-card h2{font-size:23px}
  .gz-cam-card__media img{height:220px}
}

@media(max-width:767px){
  .gz-cams-grid{grid-template-columns:1fr}
  .gz-cam-card__media img{height:auto;object-fit:contain}
}

@media(max-width:575px){
  .gz-cams-page{padding:34px 0 50px}
  .gz-cams-hero h1{font-size:29px}
  .gz-cams-hero p{font-size:16px}
  .gz-cam-card__head,.gz-cam-card__description,.gz-cam-card__actions{padding-left:18px;padding-right:18px}
  .gz-cam-card h2{font-size:23px}
  .gz-cams-info{padding:22px 20px}
  .gz-cams-hero__links a{width:100%;justify-content:center}
}
