/* Univerzální vnitřní "panel" pro podstránky */
.psd-page-frame{
  border-radius: 26px;
  overflow: hidden;
  padding: 34px;

  border: 1px solid rgba(156,140,255,.40);
  background: rgba(255,255,255,.86);

  /* výraznější stín */
  box-shadow:
    0 26px 80px rgba(0,0,0,.12),
    0 2px 0 rgba(156,140,255,.10);
}

/* iframe uvnitř */
.psd-page-frame iframe{
  display:block;
  width:100%;
  border:0;
}

.psd-page-frame{
  position: relative;   /* nutné pro lesk */
}

.psd-page-frame::before{
  content: "";
  position: absolute;
  inset: 0;                 /* roztáhne přes celý panel */
  border-radius: inherit;   /* zachová zaoblení */
  pointer-events: none;     /* aby to neblokovalo kliknutí */

  /* jemný horní lesk */
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.psd-page-frame{ overflow: visible; }
.psd-page-inner{ border-radius: inherit; overflow: hidden; }



/*---------------- fialková mokrolinka -----------------*/
.section-divider {
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, transparent, #8e6dfc, transparent);
    margin: 60px 0;
    opacity: 0.7;
}




.doc-title {
  font-weight: 600;
  margin-bottom: 20px;
  border-bottom: 2px solid #eee;
  padding-bottom: 10px;
}

.doc-list {
  list-style: none;
  padding-left: 0;
}

.doc-list li {
  margin-bottom: 12px;
}

.doc-list a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
}

.doc-list a:hover {
  color: #6c63ff; /* tvoje fialová */
}

.doc-block {
  margin-bottom: 36px;
}

.doc-title {
  font-weight: 700;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e9e9ef;
}

.doc-item {
  margin: 10px 0;
}

.doc-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;    /* pryč podtržení */
  color: #111;              /* vypadá jako text */
  padding: 8px 10px;
  border-radius: 10px;
  transition: transform .06s ease, background .12s ease;
}

.doc-link:hover {
  background: rgba(108, 99, 255, 0.08); /* jemná fialová */
  transform: translateY(-1px);
}

.doc-ico {
  font-size: 18px;
  line-height: 1;
}

.doc-text {
  font-weight: 600;
}







/*--------------- ALARMY --------------------*/

.service-head h2 {
  font-weight: 800;
}

.trust-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.trust-badge {
  background: rgba(108, 99, 255, 0.10);
  border: 1px solid rgba(108, 99, 255, 0.18);
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
}

.trust-sep {
  opacity: .5;
}

/* karty */
.info-card,
.pack-card {
  background: #fff;
  border: 1px solid #ececf4;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.03);
  height: 100%;
  transition: transform .15s ease, box-shadow .15s ease;
}

.info-card:hover,
.pack-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(0,0,0,.06);
}

.info-ico {
  font-size: 22px;
  margin-bottom: 10px;
}

/* seznam */
.pack-list {
  margin: 0;
  padding-left: 18px;
}

.pack-list li {
  margin: 6px 0;
}

/* hint – propojení s CCTV */
.hint-box {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: rgba(108, 99, 255, 0.06);
  border: 1px solid rgba(108, 99, 255, 0.14);
  border-radius: 16px;
  padding: 14px 16px;
  margin-top: 10px;
}

.hint-ico {
  font-size: 20px;
  line-height: 1;
  margin-top: 3px;
}

.hint-link {
  font-weight: 700;
  text-decoration: none;
  margin-left: 6px;
}

.hint-link:hover {
  text-decoration: underline;
}

/* CTA box */
.cta-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: rgba(108, 99, 255, 0.08);
  border: 1px solid rgba(108, 99, 255, 0.18);
  border-radius: 18px;
  padding: 18px;
}

/* --- ALARMY: spodní část --- */

.alarm-figure{
  background:#fff;
  border:1px solid #ececf4;
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.03);
}

.alarm-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-top:12px;
  font-size:14px;
  color:#555;
}

.legend-item{
  display:flex;
  align-items:center;
  gap:8px;
}

.dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
  background:#999;
}

.dot-1{ background:#ff6b6b; } /* kouř */
.dot-2{ background:#6c63ff; } /* pohyb */
.dot-3{ background:#2ecc71; } /* klávesnice */
.dot-4{ background:#f1c40f; } /* siréna */
.dot-5{ background:#3498db; } /* magnet */

.note{
  background: rgba(108, 99, 255, 0.06);
  border: 1px solid rgba(108, 99, 255, 0.14);
  border-radius: 14px;
  padding: 12px 14px;
}

.note a{
  font-weight:700;
  text-decoration:none;
  margin-left:6px;
}
.note a:hover{ text-decoration:underline; }

.feature-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.feature-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 12px;
  border:1px solid #ececf4;
  border-radius:16px;
  background:#fff;
}

.feature-ico{
  font-size:20px;
  line-height:1;
  margin-top:2px;
}

.steps{
  margin:0;
  padding-left:18px;
}
.steps li{ margin:10px 0; }


/*--------------- CCTV --------------------*/

.cctv-figure{
  background:#fff;
  border:1px solid #ececf4;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.03);
}

.cctv-figure img{
  border-radius:14px;
}

.cctv-note{
  margin-top:12px;
  background: rgba(108, 99, 255, 0.06);
  border: 1px solid rgba(108, 99, 255, 0.14);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 14px;
  color:#444;
}

.section-title {
  text-align: center;
}



/*--------------- Service --------------------*/
/* zelené zatržítko */
.service-bullets.checks{
  list-style: none;
  padding-left: 0;
}

.service-bullets.checks li{
  position: relative;
  padding-left: 28px;
  margin: 8px 0;
}

.service-bullets.checks li::before{
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  color: #6c63ff;   /* můžeš dát firemní barvu */
  font-weight: 700;
}


/* ================= IPTV page content ================= */
.iptv-content{
  text-align: left;                 /* přepíše případný center z template */
  max-width: 980px;
  margin: 0 auto;
}

.iptv-content h2{
  font-weight: 700;
  font-size: 26px;
  margin: 0 0 12px 0;
}

.iptv-content p{
  margin: 0 0 12px 0;
  line-height: 1.7;
  color: #555;
}

/* odrážky – čisté a čitelné */
.iptv-content ul{
  margin: 10px 0 14px 0;
  padding-left: 18px;
}

.iptv-content li{
  margin: 6px 0;
  line-height: 1.6;
}

/* pokud chceš fialové “check” odrážky bez ikon knihovny */
.iptv-content ul li::marker{
  color: #8e6dfc;
}

/* CTA box na konci */
.iptv-cta{
  margin-top: 10px;
  padding: 18px 18px;
  border-radius: 14px;
  background: rgba(142,109,252,0.06);
  border: 1px solid rgba(142,109,252,0.18);
}

.iptv-cta p{
  margin-bottom: 12px;
  color: #333;
}

/* mobil */
@media (max-width: 768px){
  .iptv-content{
    max-width: 100%;
  }
  .iptv-content h2{
    font-size: 22px;
  }
}

.iptv-block{
  padding: 10px 0;
}

/* obal celé IPTV stránky */
.iptv-wrap{
  padding: 0; /* klidně nech 0, hlavní je container */
}

/* zúžení + okraje uvnitř */
.iptv-container{
  max-width: 980px;          /* zkus 1040–1180 dle oka */
  padding-left: 28px;
  padding-right: 28px;
}

/* pro malé displeje méně paddingu */
@media (max-width: 768px){
  .iptv-container{
    padding-left: 16px;
    padding-right: 16px;
  }
}


/* =========================
   TARIFY (Tarify.asp)
   ========================= */

/* =========================
   TARIFY (Tarify.asp) – CLEAN BLOCK
   ========================= */

/* ---- “tuning” proměnné (měň jen tady) ---- */
:root{
  --t-purple: 70, 140, 255;      /* hlavní fialová (RGB bez #) */
  --t-card-bg: rgba(255,255,255,.85);
  --t-soft-bg: rgba(255,255,255,.75);
  --t-border: rgba(var(--t-purple), .12);
  --t-shadow: 0 14px 40px rgba(0,0,0,.08);

  --t-head-bg: rgba(var(--t-purple), .04);
  --t-row-zebra: rgba(0,0,0,.018);
  --t-row-hover: rgba(var(--t-purple), .075);
  --t-row-hover-bar: rgba(var(--t-purple), .35);
}

/* wrapper stránky */
.tariffs-wrap{
  padding: 10px 0 24px 0;
}

/* horní info panel */
.tariffs-top{
  display:flex;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:16px;
  padding:16px 18px;
  border-radius:18px;
  background: var(--t-soft-bg);
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  border: 1px solid rgba(var(--t-purple), 0.10);
}

.tariffs-title{ margin:0 0 6px 0; }
.tariffs-sub{ margin:0; opacity:0.92; }

.tariffs-top__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  min-width: 220px;
}

/* karta */
.tariff-card{
  border-radius:22px;
  background: var(--t-card-bg);
  box-shadow: var(--t-shadow);
  border: 1px solid var(--t-border);
  overflow:hidden;
}

.tariff-card__head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  justify-content:space-between;
  padding:18px 18px 12px 18px;
}

.tariff-card__title{ margin:8px 0 6px 0; }

.tariff-card__desc{
  margin:0;
  opacity:0.92;
  max-width: 820px;
}

/* badge vlevo nahoře */
.tariff-badge{
  display:inline-block;
  font-size: 12px;
  line-height: 1;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(var(--t-purple),0.10);
  border: 1px solid rgba(var(--t-purple),0.18);
  font-weight: 700;
}

/* štítek vpravo */
.tariff-note{
  text-align:right;
  padding:10px 12px;
  border-radius:16px;
  background: rgba(var(--t-purple),0.06);
  border: 1px solid rgba(var(--t-purple),0.14);
  min-width: 150px;
}
.tariff-note__k{ font-weight:800; }
.tariff-note__v{ font-size: 12px; opacity:0.85; }

/* tabulka */
.tariff-table-wrap{
  padding: 0 12px 12px 12px;
}

.tariff-table{
  margin:0;
  width:100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 18px;
  overflow:hidden;
  background: rgba(255,255,255,0.70);
}

/* header tabulky */
.tariff-table thead th{
  font-size: 13px;
  font-weight: 800;
  opacity:0.92;
  border-bottom: 1px solid rgba(var(--t-purple),0.16);
  background: var(--t-head-bg);
  padding: 12px 14px;
}

/* buňky */
.tariff-table tbody td{
  padding: 14px 14px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  background: transparent;
}

.tariff-table tbody tr:last-child td{
  border-bottom: none;
}

/* zebra pruhy */
.tariff-table tbody tr:nth-child(odd) > td{
  background: var(--t-row-zebra);
}

/* hover pruh přes celý řádek */
.tariff-table tbody tr:hover > td{
  background: var(--t-row-hover) !important;
}

/* hover “lištička” vlevo */
.tariff-table tbody tr:hover > td:first-child{
  box-shadow: inset 3px 0 0 var(--t-row-hover-bar);
}

/* názvy */
.tariff-name__main{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tariff-name__sub{
  font-size: 12px;
  opacity: 0.75;
  margin-top: 2px;
}

.tariff-speed{
  display:inline-block;
  white-space: nowrap;
}

/* cena */
.tariff-price{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-end;
  line-height:1.05;
}
.tariff-price__val{
  font-weight: 900;
  font-size: 18px;
}
.tariff-price__sub{
  font-size: 12px;
  opacity: 0.75;
}

/* spodní poznámky */
.tariff-foot{
  padding: 0 18px 16px 18px;
}

/* CTA dole */
.tariffs-cta{
  margin-top: 16px;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  padding: 16px 18px;
  border-radius: 18px;
  background: var(--t-soft-bg);
  border: 1px solid rgba(var(--t-purple), 0.10);
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

/* štítek “Vybrané lokality” */
.tariff-pill{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  line-height:1.6;
  background: rgba(var(--t-purple), .10);
  border: 1px solid rgba(var(--t-purple), .22);
  color: rgb(91, 70, 230);
  vertical-align:middle;
}

/* responsive */
@media (max-width: 992px){
  .tariffs-top{
    flex-direction:column;
    align-items:stretch;
  }
  .tariffs-top__actions{
    justify-content:flex-start;
  }
  .tariff-card__head{
    flex-direction:column;
    align-items:stretch;
  }
  .tariff-note{
    text-align:left;
    min-width: unset;
  }
}

@media (max-width: 576px){
  .tariff-table thead{
    display:none; /* na mobilu schováme hlavičku */
  }
  .tariff-table, .tariff-table tbody, .tariff-table tr, .tariff-table td{
    display:block;
    width:100%;
  }
  .tariff-table tbody tr{
    padding: 10px 12px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }
  .tariff-table tbody td{
    border: none;
    padding: 8px 2px;
    background: transparent !important;
    box-shadow:none !important;
  }
  .tariff-table tbody tr:nth-child(odd) > td{
    background: transparent !important;
  }
  .tariff-table tbody tr:hover > td{
    background: transparent !important;
  }
  .tariff-table tbody td.text-end{
    text-align:left !important;
  }
  .tariff-price{
    align-items:flex-start;
  }
}

/* 1) karta a tabulka budou čistě bílé (konec "mléčného" vzhledu) */
.tariff-card{ background:#fff !important; }
.tariff-table{ background:#fff !important; }

/* 2) zjemnit fialové záhlaví tabulky (ať není "pruh") */
.tariff-table thead th{
  background: #f6f7ff !important; /* velmi jemná, skoro bílá */
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
}

/* 3) zebra pruhy neutrální, ať nesoutěží s hlavičkou */
.tariff-table tbody tr:nth-child(odd) > td{
  background: #fafbff !important;
}

/* čistě šedé záhlaví tabulky */
.tariff-table thead th{
  background: #f1f2f4 !important;   /* čistá světle šedá */
  border-bottom: 1px solid #e0e0e0 !important;
  color: #333 !important;
}

/* sjednotit sloupce napříč všemi tabulkami */
.tariff-table{
  width: 100%;
  table-layout: fixed;      /* klíčové */
}

/* pevné šířky sloupců */
.tariff-table th.col-name,
.tariff-table td.col-name { width: 40%; }

.tariff-table th.col-speed,
.tariff-table td.col-speed { width: 16%; }


.tariff-table{
  margin:0;
  border-radius: 18px;
  overflow:hidden;
  background: #ffffff;
  border: 1px solid #e3e6ea;   /* jemná čistá šedá */
}

.tariff-table th.col-price,
.tariff-table td.col-price { width: 12%; }

/* prodej zařízení – 3 sloupce */
.prodej-table { table-layout: fixed; }
.prodej-table th.col-name,  .prodej-table td.col-name  { width: 38%; }
.prodej-table th.col-desc,  .prodej-table td.col-desc  { width: 50%; }
.prodej-table th.col-price, .prodej-table td.col-price { width: 12%; }


/* větší popis jen pro prodej zařízení */
.prodej-table .tariff-name__sub{
  font-size: 15px;
  color: #444;
  line-height: 1.4;
  opacity: 1;   /* přepíšeme tu globální 0.75 */
}
/* název položky – méně těžký */
.prodej-table .tariff-name__main{
  font-weight: 600;   /* místo 900 */
}

/* celé pole ceny nebude extrémně tlusté */
.prodej-table .tariff-price__val{
  font-weight: 600;
  font-size: 18px;
}

/* samotné číslo ceny */
.price-main{
  font-weight: 700;
}

/* "od" jemnější */
.price-from{
  font-size: 12px;
  color: #666;
  font-weight: 500;
  text-transform: lowercase;
}

/* Kč lehce tlumené */
.price-currency{
  font-size: 14px;
  color: #555;
  font-weight: 500;
}


.prodej-table .tariff-price__val{
  letter-spacing: 0.3px;
}

.price-from{
  font-size: 11px;
  color: #777;
  font-weight: 400;
}


/*------------------- Contact  ---------------------*/

.form-ok-msg{
    width:90%;
    margin:20px auto 30px auto;
    padding:16px 20px;

    background:#e9f9ee;
    border:1px solid #7ed49a;
    border-radius:10px;

    color:#1c7a3f;
    font-size:18px;
    font-weight:600;
    text-align:center;

    box-shadow:0 4px 10px rgba(0,0,0,0.05);
}

#contact{
  scroll-margin-top:120px;
}

#coverage{
  scroll-margin-top:120px;
}

#techinfo{
  scroll-margin-top:120px;
}

section{
  scroll-margin-top:120px;
}


/* ===== PSD ticker ===== */
.psd-ticker{
  width:100%;
  padding:6px 0;
}

.psd-ticker-clip{
  overflow:hidden;
  white-space:nowrap;
}

.psd-ticker-track{
  display:inline-flex;
  width:max-content;
  padding-left:100%;          /* <- klíč: start mimo vpravo */
  will-change:transform;
  animation:psdTicker 25s linear infinite;
}

.psd-ticker-item{
  color:#ff8c00;
  font-weight:600;
  padding-right:50px;
}

.ticker-arrow{
  color:#ffb347;
  font-size:1.2em;
  padding:0 6px;
}

/* jede z prava do leva, plynule najíždí */
@keyframes psdTicker{
  0%   { transform:translateX(0); }
  100% { transform:translateX(-100%); }
}





/*------------------  banner --------------------*/
/* text2 – menší, fialkový, jasný, se stínem */
.akce-sub{
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  color: #b39bff;
  text-shadow:
    0 0 10px rgba(156, 140, 255, 0.45),
    0 0 22px rgba(156, 140, 255, 0.25);
}



/* ===== Akční nabídky ===== */
/* Akce – jen doplňky k existujícím service-* */
.badge-validto{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  font-weight:700;
  font-size:.95rem;
  line-height:1;
  background:rgba(255,140,0,.14);
  color:#c85b00;
  border:1px solid rgba(255,140,0,.35);
}

.action-detail{
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(124,106,255,.06);
  border:1px solid rgba(124,106,255,.15);
}


/* ===== PSD: CONTACT - mapa a formulář ZA SEBOU (bez overlay) ===== */

.get_in_touch{
  padding: 60px 0;            /* ať má sekce výšku a nedrží se u paty */
}

/* zrušíme absolutní pozicování containeru => už nebude přes mapu */
.get_in_touch .container{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;

  pointer-events: auto !important; /* ať jde normálně klikat do formuláře */
}

/* zrušíme plovoucí formulář */
.get_in_touch .form_wrapper{
  float: none !important;
  margin: 24px 0 0 0;          /* když máš mapu nad, formulář pod */
  max-width: 100% !important;  /* ať se roztáhne na container */
}

/* mapa jako normální blok */
.get_in_touch .map{
  margin: 0;
}

.get_in_touch .map iframe{
  display: block;
  border: 0;
  border-radius: 18px;         /* volitelně hezčí */
  overflow: hidden;
}

/* ===== PSD: zúžení formuláře na kontaktech ===== */
.get_in_touch .form_wrapper{
  max-width: 860px !important;   /* zkus 760/820/900 podle vkusu */
  width: 100%;
  margin: 0 auto 24px auto !important; /* vycentrovat + mezera pod */
}

@media (max-width: 992px){
  .get_in_touch .form_wrapper{
    max-width: 100% !important;
    margin: 0 auto 18px auto !important;
  }
}


/* ===== QR kod ===== */

.qr_contact_box{
  max-width: 740px;
  margin: 0 auto 30px auto;
  padding: 28px 24px;
  background: #fff;
  border: 1px solid var(--ac-border);
  border-radius: 30px;
  text-align: center;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}

.qr_contact_title{
  margin: 0 0 8px 0;
  font-size: 28px;
  font-weight: 700;
  color: var(--ac-black);
  font-family: var(--primary-font);
}

.qr_contact_text{
  margin: 0 0 18px 0;
  color: var(--ac-ash);
  font-size: 16px;
  line-height: 1.6;
}

.qr_contact_image{
  display: flex;
  justify-content: center;
  align-items: center;
}

.qr_contact_image img{
  width: 170px;
  height: 170px;
  display: block;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--ac-border);
  border-radius: 18px;
}

@media screen and (max-width: 768px){
  .qr_contact_box{
    padding: 22px 16px;
    border-radius: 24px;
  }

  .qr_contact_title{
    font-size: 24px;
  }

  .qr_contact_image img{
    width: 150px;
    height: 150px;
  }
}


