/* Веб-камеры Беларуси /kamery/ (12.11.2026): «пульт» — большой экран, стена окошек, список и карта.
   На загрузке нет ни одного плеера: только превью с размерами (без сдвигов вёрстки). */
.cams-hero{padding-bottom:10px}
.cams-stats .v2-pill-live::before{animation:camsBlink 1.4s infinite}
@keyframes camsBlink{0%,100%{opacity:1}50%{opacity:.25}}

/* Большой экран */
.cams-stage-wrap{margin-top:6px}
.cams-stage{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px;align-items:stretch;
  background:linear-gradient(160deg,#151b2b 0%,#232c45 100%);border-radius:30px;padding:16px;box-shadow:var(--shadow);color:#fff;position:relative;overflow:hidden}
.cams-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% -10%,rgba(255,200,61,.18),transparent 60%),
  radial-gradient(500px 260px at -10% 110%,rgba(123,97,255,.22),transparent 60%);pointer-events:none}
.cams-screen{position:relative;border-radius:20px;overflow:hidden;background:#0b0e16;aspect-ratio:16/9;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 24px 50px -20px rgba(0,0,0,.6)}
.cams-screen-btn{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}
.cams-screen img,.cams-screen iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;display:block}
.cams-screen::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
.cams-screen.playing::after{display:none}
.cams-hud{position:absolute;left:14px;right:14px;top:12px;display:flex;justify-content:space-between;pointer-events:none;
  font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.cams-rec{background:rgba(240,50,90,.92);padding:6px 9px;border-radius:8px}
.cams-clock{background:rgba(11,14,22,.55);padding:6px 9px;border-radius:8px;backdrop-filter:blur(4px)}
.cams-screen.playing .cams-hud{opacity:0;transition:opacity .4s}
.cams-info{position:relative;padding:14px 10px 10px 4px;display:flex;flex-direction:column}
.cams-info .v2-kicker{color:#ffc83d}
body.v2 .cams-info-title{margin:0 0 6px;font-size:28px;line-height:1.15;letter-spacing:-.02em;color:#fff}
.cams-info-place{margin:0 0 12px;color:#aeb8cf;font-size:15px}
.cams-info-about{margin:0 0 12px;color:#dfe5f2;font-size:15px;line-height:1.55}
.cams-info-src{margin:auto 0 14px;color:#8590a8;font-size:13px}
.cams-info-act{display:flex;gap:10px;flex-wrap:wrap}

/* Кнопка «смотреть» */
.cam-play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;
  background:rgba(255,200,61,.95);box-shadow:0 10px 30px -8px rgba(0,0,0,.6);transition:transform .2s}
.cam-play::after{content:"";position:absolute;left:21px;top:16px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #1c2333}
.cam-play.big{width:84px;height:84px;margin:-42px 0 0 -42px}
.cam-play.big::after{left:33px;top:25px;border-width:17px 0 17px 26px}
.cams-screen-btn:hover .cam-play,.cam-shot:hover .cam-play{transform:scale(1.08)}

/* Панель фильтров */
.cams-bar-wrap{position:sticky;top:calc(var(--nav-h) + 8px);z-index:5;margin-top:22px}
.cams-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);
  border-radius:20px;padding:10px;box-shadow:var(--shadow-sm)}
.cams-search{flex:1 1 220px}
.cams-search input{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 14px 11px 40px;font:inherit;font-size:15px;background:#fff
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%237c869a' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='m13 13 4 4'/%3E%3C/svg%3E") 13px 50% no-repeat}
.cams-search input:focus{outline:2px solid var(--violet);outline-offset:1px}
.cams-chips{display:flex;gap:6px;flex-wrap:wrap}
.cams-chip,.cams-view button{border:0;font:inherit;font-size:14px;font-weight:600;padding:9px 13px;border-radius:12px;background:#eef1f6;color:var(--ink-2);cursor:pointer}
.cams-chip i{font-style:normal;font-weight:700;color:var(--muted);margin-left:2px}
.cams-chip.on{background:#1c2333;color:#fff}.cams-chip.on i{color:#ffc83d}
.cams-view{display:flex;background:#eef1f6;border-radius:13px;padding:3px}
.cams-view button{background:transparent;padding:7px 12px}
.cams-view button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px -2px rgba(56,78,130,.3)}
.cams-cities{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cams-city{background:#fff;border-radius:12px;padding:7px 12px;font-size:14px;font-weight:600;box-shadow:var(--shadow-sm)}
.cams-city i{font-style:normal;color:var(--violet);margin-left:4px}

/* Стена */
.cams-wall-wrap{margin-top:18px}
.cams-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cam{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.cam:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cam.on{outline:3px solid #ffc83d;outline-offset:-3px}
.cam-shot{all:unset;cursor:pointer;display:block;position:relative;aspect-ratio:16/9;background:#1c2333;overflow:hidden}
.cam-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cam:hover .cam-shot img{transform:scale(1.04)}
.cam-live{position:absolute;left:10px;top:10px;background:#f0325a;color:#fff;font:800 11px/1 var(--font);letter-spacing:.08em;padding:5px 7px 5px 18px;border-radius:7px}
.cam-live::before{content:"";position:absolute;left:7px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#fff;animation:camsBlink 1.4s infinite}
.cam.off .cam-live{background:#7c869a}.cam.off .cam-live::before{animation:none}
.cam .cam-play{width:44px;height:44px;margin:-22px 0 0 -22px;opacity:0;transition:opacity .2s,transform .2s}
.cam .cam-play::after{left:17px;top:12px;border-width:10px 0 10px 15px}
.cam:hover .cam-play,.cam-shot:focus-visible .cam-play{opacity:1}
.cam-meta{padding:12px 14px 14px}
.cam-title{display:block;font-weight:700;font-size:15.5px;line-height:1.3}
.cam-title:hover{color:#5b3fe0}
.cam-meta small{color:var(--muted);font-size:13px}

/* Список */
.cams-wall[data-view="list"]{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}
.cams-wall[data-view="list"] .cam{display:grid;grid-template-columns:120px 1fr;align-items:center;border-radius:16px}
.cams-wall[data-view="list"] .cam-shot{height:68px;aspect-ratio:auto}
.cams-wall[data-view="list"] .cam-live{font-size:9px;padding:3px 5px 3px 13px;left:6px;top:6px}
.cams-wall[data-view="list"] .cam-live::before{left:5px;width:5px;height:5px}
.cams-wall[data-view="list"] .cam:hover{transform:none}
.cams-wall-mini{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.cams-empty{text-align:center;color:var(--muted);padding:30px 0}

/* Карта */
.cams-map{position:relative;height:560px;border-radius:24px;overflow:hidden;background:#dfe5ee;box-shadow:var(--shadow-sm)}
.cams-map-canvas{position:absolute;inset:0}
.cams-map-wait{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--muted);font-weight:600}
.cams-map.ready .cams-map-wait{display:none}
.cams-pin{width:34px;height:34px;border-radius:50%;background:#1c2333;border:3px solid #fff;box-shadow:0 6px 16px -4px rgba(0,0,0,.45);cursor:pointer;position:relative}
.cams-pin::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#f0325a;animation:camsBlink 1.4s infinite}
.cams-pop{font:14px/1.4 var(--font);width:220px}
.cams-pop img{width:100%;border-radius:10px;display:block;margin-bottom:6px}
.cams-pop b{display:block}.cams-pop button{margin-top:6px;border:0;background:#ffc83d;border-radius:10px;padding:7px 10px;font:inherit;font-weight:700;cursor:pointer}

.cams-stage.offair .cams-screen img{filter:grayscale(1) brightness(.45)}
.cams-stage.offair .cam-play{display:none}
.cams-stage.offair .cams-rec{background:#7c869a}
.cams-stage.offair .cams-screen-btn::after{content:"Камера сейчас не в эфире — проверяем каждый час, вернётся сама";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:80%;text-align:center;color:#fff;font-weight:700;font-size:17px;line-height:1.4}
.cams-how{margin-top:34px}
.cams-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cams-how-grid>div{background:#fff;border-radius:20px;padding:20px;box-shadow:var(--shadow-sm)}
.cams-how-grid b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1c2333;color:#ffc83d;font-size:16px}
.cams-how-grid p{margin:10px 0 0;color:var(--ink-2)}
.cams-back{margin-top:16px}

@media (max-width:900px){
  .cams-stage{grid-template-columns:1fr;padding:10px;border-radius:24px}
  .cams-info{padding:6px 8px 8px}
  body.v2 .cams-info-title{font-size:22px}
  .cams-bar-wrap{position:static}
  .cams-how-grid{grid-template-columns:1fr}
  .cams-map{height:440px}
}
@media (max-width:560px){
  .cams-wall{grid-template-columns:1fr 1fr;gap:10px}
  .cam-meta{padding:9px 10px 11px}.cam-title{font-size:14px}
  .cams-wall[data-view="list"]{grid-template-columns:1fr}
  .cams-view{width:100%}.cams-view button{flex:1}
}
@media (prefers-reduced-motion:reduce){.cam,.cam-shot img,.cam-play{transition:none}.cams-stats .v2-pill-live::before,.cam-live::before,.cams-pin::after{animation:none}}

/* Частые вопросы (12.11.2026, владелец: «вопросы прилипли — другим шрифтом, с отступами, красиво»):
   карточки с «?», плюс-минус в кружке, ответ мягким цветом. Общий блок для /kamery/ и /pdd/ (+ штрафы). */
.poi-faq{display:grid;gap:12px;margin-top:22px;counter-reset:faq}
details.poi-q{background:#fff;border-radius:20px;box-shadow:var(--shadow-sm);padding:0;transition:box-shadow .2s,transform .2s;counter-increment:faq}
details.poi-q:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
details.poi-q summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px;padding:18px 20px;
  font-family:var(--font);font-weight:650;font-size:17px;line-height:1.35;letter-spacing:-.015em;color:var(--ink)}
details.poi-q summary::-webkit-details-marker{display:none}
details.poi-q summary::before{content:"?";flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;
  background:linear-gradient(135deg,#efeaff,#e3dcff);color:#5b3fe0;font-weight:800;font-size:17px}
details.poi-q summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;margin-left:auto;border-radius:50%;
  background:#f1f3f8;color:var(--ink-2);font-weight:500;font-size:20px;line-height:1;transition:transform .25s,background .25s;border:0}
details.poi-q[open]{box-shadow:var(--shadow)}
details.poi-q[open] summary::before{background:linear-gradient(135deg,#ffd24d,#ffaa1f);color:#1c2333}
details.poi-q[open] summary::after{transform:rotate(45deg);background:#1c2333;color:#fff}
details.poi-q p{margin:0 20px 20px 70px;padding:2px 0 2px 16px;border-left:3px solid #ffc83d;color:var(--ink-2);font-size:15.5px;line-height:1.65}
@media (max-width:560px){
  details.poi-q summary{font-size:15.5px;padding:15px 14px;gap:11px}
  details.poi-q summary::before{width:30px;height:30px;font-size:15px;border-radius:10px}
  details.poi-q p{margin:0 14px 16px 14px;font-size:15px}
}
/* отступы секций (poi.css на этой странице не подключён) */
.poi-sec{padding-top:54px}
.poi-sec>.v2-kicker{display:block;margin-bottom:6px}
body.v2 .poi-sec h2{margin:0 0 10px;font-size:clamp(24px,3.4vw,34px);letter-spacing:-.03em;line-height:1.15}
.cams-how{margin-top:0}
/* снимки вместо видео (граница): без кнопки «смотреть», пометка «КАДР» синяя */
.cam[data-type="image"] .cam-live{background:#5a7cfa}.cam[data-type="image"] .cam-live::before{animation:none}
.cam[data-type="image"] .cam-play,.cams-stage[data-type="image"] .cam-play{display:none}
.cams-stage[data-type="image"] .cams-rec{background:rgba(90,124,250,.92)}
.cams-stage[data-type="image"] .cams-screen-btn{cursor:default}
