/* ==========================================================================
ОХРАННО-ПОЖАРНАЯ СИГНАЛИЗАЦИЯ — popup-fire-alarm.css
Всё инкапсулировано под #popup-fire-alarm
=========================================================================== */

#popup-fire-alarm{ display:none; }
#popup-fire-alarm.active{ display:flex; }
#popup-fire-alarm{
  --fa-bg:#2a2a2a;
  --fa-panel:#242424;
  --fa-text:#fff;
  --fa-muted:#ccc;
  --fa-border:rgba(255,255,255,.35);
  --fa-accent:#ff0000;
  --fa-accent-hover:#cc0000;
  --fa-radius:10px;
  --fa-gutter:12px;
}

#popup-fire-alarm .fa__overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.6);
}

#popup-fire-alarm .fa__frame{
  position:relative;
  max-width:1080px;
  width:96%;
  margin:auto;
  border:2px solid var(--fa-border);
  background:var(--fa-bg);
  color:var(--fa-text);
  border-radius:12px;
  padding:24px;
}

/* Узкий override: перебивает глобальный .popup-content из styles-vyborgskaya.css */
#popup-fire-alarm .popup-content.fa__frame{
  max-width:1080px !important;
  width:96% !important;
  padding:24px !important;
  border:2px solid var(--fa-border) !important;
  background:var(--fa-bg) !important;
  color:var(--fa-text) !important;
  border-radius:12px !important;
  margin:0 auto !important;
  max-height:none !important;
  overflow:visible !important;
  position:relative !important;
}

#popup-fire-alarm .popup-content{
  background-color:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  max-width:none !important;
  width:auto !important;
  max-height:none !important;
  overflow:visible !important;
  position:static !important;
}

#popup-fire-alarm .fa__close{
  position:absolute; top:10px; right:10px;
}

.fa__callwrap{ display:flex; justify-content:center; margin-bottom:10px; }
.fa-callbtn{
  display:inline-flex; align-items:center; gap:40px;
  background:var(--fa-accent); color:var(--fa-text);
  border:2px solid #fff; border-radius:10px;
  padding:12px 80px; font-size:28px; font-weight:600; cursor:pointer;
}
.fa-callbtn:hover{ background:var(--fa-accent-hover); }
.fa-callbtn__icon img{ width:64px; height:64px; object-fit:contain; }

.fa__section-title{
  text-align:center; font-size:36px; font-weight:600; margin:6px 0 14px 0;
}

/* --- Карточка комплекта (горизонтальный блок) --- */
#popup-fire-alarm .fa-card{
  position: relative;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 16px;
  align-items: start;
  border: 2px solid var(--fa-border);
  border-radius: 8px;
  padding: 8px;
  color: var(--fa-text);
  overflow: hidden;
  min-height: 200px;
  margin-bottom: 16px;
  background: transparent;
}

#popup-fire-alarm .fa-card__img{
  width: 320px;
  height: 320px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
}

#popup-fire-alarm .fa-card__inner{
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100%;
}

#popup-fire-alarm .fa-card__top{
  flex: 0 1 auto;
  display:flex;
  flex-direction:column;
  gap:8px;
}

#popup-fire-alarm .fa-card__title{
  font-size:22px !important;
  font-weight:700 !important;
  margin:0;
  color:var(--fa-text) !important;
  text-align: center;
  padding-left: 40px;
  padding-right: 40px;
}

#popup-fire-alarm .fa-card__list{
  margin:0;
  color:var(--fa-text) !important;
  font-size:14px !important;
  line-height:1.2;
}

/* Нижняя область: два столбца — список+цена слева, бейдж+кнопки справа */
#popup-fire-alarm .fa-card__bottom{
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 12px;
  align-items:start;
  margin-top: 6px;
}

#popup-fire-alarm .fa-card__features{
  list-style:none;
  margin:0 0 8px 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

#popup-fire-alarm .fa-card__features li{
  position:relative;
  padding-left:22px;
  color:var(--fa-text);
  font-size: 22px;
  line-height: 1.1;
}

#popup-fire-alarm .fa-card__features li::before{
  content: "";
  position:absolute;
  left:0; top:50%;
  width:18px; height:18px;
  transform:translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ff0000' d='M6.173 11.414 L2.293 7.536 L0.879 8.95 L6.173 14.243 L15.121 5.295 L13.707 3.881 Z'/%3E%3C/svg%3E");
  background-size:contain;
  background-repeat:no-repeat;
}

#popup-fire-alarm .fa-card__price{
  font-size:22px;
  font-weight:700;
  color:var(--fa-text);
  margin-top:8px;
  margin-left: 35px;
}

#popup-fire-alarm .fa-card__note{
  font-size:13px;
  color:var(--fa-muted);
  margin-top:6px;
}

/* inline price + note wrapper */
#popup-fire-alarm .fa-card__pricewrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin-top:8px;
  padding-right: 200px;
}

#popup-fire-alarm .fa-card__price{ margin-top:0; }
#popup-fire-alarm .fa-card__note{ margin-top:0; }

#popup-fire-alarm .fa-card__col-right{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  margin-right: 15px;
}

#popup-fire-alarm .fa-card__badge{
  display:inline-block;
  font-size:14px !important;
  color:var(--fa-text) !important;
  padding:4px 8px;
  border-radius:6px;
  text-align:center;
  font-weight:600;
  background:transparent;
  border:none;
}

#popup-fire-alarm .fa-card__buttons{ display:flex; flex-direction:column; gap:8px; }

/* гарантируем, что в правой колонке кнопки идут в столбец */
#popup-fire-alarm .fa-card__col-right .fa-card__buttons{ flex-direction:column !important; align-items:stretch !important; }

/* Кнопки */
.fa-btn{ 
  height:40px; 
  padding:0 14px; 
  border-radius:8px; 
  border:1px solid var(--fa-border); 
  background:var(--fa-text); 
  color:var(--fa-accent); 
  cursor:pointer; 
  font-size:18px; 
  width:100%; 
  font-weight: 700;
}
.fa-btn:hover{ background:rgba(255,255,255,.85); }
.fa-btn--accent{ background:var(--fa-accent); border:none; color:var(--fa-text);}
.fa-btn--accent:hover{ background:var(--fa-accent-hover); color:var(--fa-text);}

/* Секция применения и преимуществ */
.fa__features-section{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:var(--fa-gutter);
  margin-bottom:16px;
}

/* Более специфичное правило, чтобы перебить глобальные стили, если они влияют на .fa__features-section */
#popup-fire-alarm .fa__features-section{
  display:grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: var(--fa-gutter) !important;
  align-items: start !important;
}

/* Левая часть: Применяется (2/3) - светлая карточка с красной рамкой */
#popup-fire-alarm .fa__applications{
  background:#f7f7f7;
  border:2px solid var(--fa-accent);
  border-radius:12px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:0;
  overflow:hidden;
}

#popup-fire-alarm .fa__apps-title{
  font-size:22px;
  font-weight:700;
  margin:0 0 6px 0;
  color:var(--fa-panel);
  text-align:center;
}

#popup-fire-alarm .fa__apps-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
  align-items:center;
  min-height:0;
}

#popup-fire-alarm .fa-app-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-align:center;
}

#popup-fire-alarm .fa-app-item__img{
  width:120px;
  height:120px;
  object-fit:contain;
}
#popup-fire-alarm .fa-app-item__label{
  font-size:20px;
  font-weight:600;
  margin:0;
  color:var(--fa-panel);
  line-height:1.2;
}

/* Правый вертикальный столбец (изображения + блок дополнительно) */
#popup-fire-alarm .fa__right-vertical{
  display:flex;
  flex-direction:column;
  gap:12px;
}

#popup-fire-alarm .fa__additional{
  background: var(--fa-panel);
  border-radius:8px;
  padding:0px;
  color:var(--fa-text);
  border:1px solid var(--fa-border);
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
}

#popup-fire-alarm .fa__additional-img{ width:100%; display:flex; justify-content:center; }
#popup-fire-alarm .fa__additional-img img{ width:auto; max-width:100%; object-fit:contain; border-radius:6px; background:#fff; padding:6px; border:2px solid var(--fa-border); }

#popup-fire-alarm .fa__additional-title{
  font-size:25px;
  font-weight:700;
  margin:0 0 4px 0;
  text-align:center;
}

#popup-fire-alarm .fa__additional-list{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:22px;
}

#popup-fire-alarm .fa__additional-list li{ display:flex; align-items:center; gap:8px; color:var(--fa-text); }

#popup-fire-alarm .fa-add__check{ display:inline-block; width:14px; height:14px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ff0000' d='M6.173 11.414 L2.293 7.536 L0.879 8.95 L6.173 14.243 L15.121 5.295 L13.707 3.881 Z'/%3E%3C/svg%3E"); background-size:contain; background-repeat:no-repeat; }

#popup-fire-alarm .fa__additional-price{ margin-top:0px; font-weight:700; color:var(--fa-text); text-align:center; margin-bottom: 15px;}

/* Правая часть: Преимущества (1/3) */
.fa__benefits-panel{
  background:#ffffff;
  border:2px solid var(--fa-accent);
  border-radius:10px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:0;
  height:100%;
  justify-content:space-between;
}

.fa__benefits-title{
  font-size:16px;
  font-weight:600;
  margin:0;
  color:var(--fa-panel);
  text-align:center;
}

.fa__benefits-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.fa__benefits-list li{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:var(--fa-panel);
  line-height:1.3;
}

.fa-benefit__icon{
  width:40px;
  height:40px;
  object-fit:contain;
  flex-shrink:0;
}

/* Два блока внизу */
.fa__bottom-blocks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--fa-gutter);
  margin-top:16px;
  min-height: 240px;
}

.fa-subcard{
  background:var(--fa-panel);
  border:1px solid var(--fa-border);
  border-radius:8px;
  padding:10px;
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  text-align:center;
}

/* Центровка подписи по центру блока и фоновая картинка */
.fa-subcard--bg{
  position:relative;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fa-subcard--bg::before{
  content:"";
  position:absolute; inset:0;
  background:rgba(0,0,0,.35);
}
.fa-subcard__title{
  position:relative; 
  z-index:1; 
  text-align:center;
  font-size:18px; 
  margin:0;
  color: #ffffff;
  font-weight: 600;
}

@media (max-width: 1100px){
  .fa__apps-grid{ grid-template-columns: repeat(2, 1fr); }
  .fa__features-section{ grid-template-columns: 1fr; }
}

@media (max-width: 800px){
  #popup-fire-alarm .fa__frame{
    padding:16px 20px;
  }

  .fa-card{
    grid-template-columns:1fr;
    padding:12px;
  }

  .fa__section-title{ font-size:28px; }
  .fa-card__title{ font-size:22px; }
  
  .fa__apps-grid{ grid-template-columns: repeat(2, 1fr); }
  .fa__features-section{ grid-template-columns: 1fr; }
  .fa__bottom-blocks{ grid-template-columns: 1fr; }
}

/* Важные overrides для кнопок и внутренних блоков внутри popup-fire-alarm */
#popup-fire-alarm .fa-btn{
  height:40px !important;
  padding:0 16px !important;
  border-radius:8px !important;
  border:1px solid var(--fa-border) !important;
  background:var(--fa-text) !important;
  color:var(--fa-accent) !important;
  font-size:16px !important;
  width:100% !important;
  box-sizing:border-box !important;
}

#popup-fire-alarm .fa-btn--accent{
  background:var(--fa-accent) !important;
  color:var(--fa-text) !important;
  border:none !important;
}

#popup-fire-alarm .fa-callbtn{
  padding:12px 80px !important;
  font-size:28px !important;
  font-weight: 600 !important;
}

#popup-fire-alarm .fa-card{
  border:2px solid var(--fa-border) !important;
  padding:0px !important;
  background-size:cover !important;
  background-position:center !important;
}

#popup-fire-alarm .fa-card__title{
  font-size:25px !important;
  font-weight:700 !important;
  color:var(--fa-text) !important;
}

#popup-fire-alarm .fa-card__list{
  color:var(--fa-text) !important;
  font-size:18px !important;
}

#popup-fire-alarm .fa-card__buttons{
  display:flex !important;
  gap:8px !important;
  flex-direction:column !important;
  align-items:stretch !important;
}

#popup-fire-alarm .fa-subcard--bg{
  height:235px !important;
  background-size:cover !important;
  background-position:center !important;
}

#popup-fire-alarm .fa-subcard__title{
  color:#ffffff !important;
  font-weight:600 !important;
  font-size:30px !important;
}

/* make sure apps grid items keep their sizing */
#popup-fire-alarm .fa__apps-grid .fa-app-item{ 
  padding:8px !important;
}

