a {
  color: #a71317;
  text-decoration: none;
}
a:hover {
  color: #9a9a9a;
  text-decoration: underline;
}
.section ul {
  padding: 10px 0px 10px 20px;
  margin: 0px 0px 0px 10px;
  list-style: square outside url("../../images/bgr-ul.png");
}
.section ul li {
  font-size: 1.05em;
  line-height: 1.2em;
  padding: 0px 0px 10px 0px;
}
.section ol {
  padding: 0px 0px 10px 15px;
}
.section ol li {
  color: #737373;
  font-size: 0.95em;
  padding: 0px 0px 0px 0px;
}
.full {
  float: left;
  width: 100%;
  margin: 0px 0px 0px 0px;
}
.half {
  float: left;
  width: 50%;
  margin: 0px 0px 0px 0px;
}
.third {
  float: left;
  width: 33%;
  margin: 0px 0px 0px 0px;
}
.col {
  float: left;
}
.col5 {
  float: left;
  width: 5%;
}
.col10 {
  float: left;
  width: 10%;
}
.col12 {
  float: left;
  width: 12%;
}
.col14 {
  float: left;
  width: 14%;
}
.col15 {
  float: left;
  width: 15%;
}
.col16 {
  float: left;
  width: 16.66%;
}
.col20 {
  float: left;
  width: 20%;
}
.col24 {
  float: left;
  width: 24%;
}
.col25 {
  float: left;
  width: 25%;
}
.col30 {
  float: left;
  width: 30%;
}
.col33 {
  float: left;
  width: 33%;
}
.col35 {
  float: left;
  width: 35%;
}
.col40 {
  float: left;
  width: 40%;
}
.col45 {
  float: left;
  width: 45%;
}
.col50 {
  float: left;
  width: 50%;
}
.col50r {
  float: right;
  width: 50%;
}
.col55 {
  float: left;
  width: 55%;
}
.col60 {
  float: left;
  width: 60%;
}
.col65 {
  float: left;
  width: 65%;
}
.col66 {
  float: left;
  width: 66%;
}
.col70 {
  float: left;
  width: 70%;
}
.col75 {
  float: left;
  width: 75%;
}
.col80 {
  float: left;
  width: 80%;
}
.col100 {
  float: left;
  width: 100%;
}
.imgleft {
  float: left;
  margin: 0px 10px 20px 0px;
  border-radius: 20px;
}
.imgright {
  float: right;
  margin: 0px 0px 20px 10px;
  border-radius: 20px;
}
img.resp {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
img.round {
  border-radius: 50%;
}
.center {
  text-align: center;
}
.taleft {
  text-align: left;
}
.toright {
  float: right;
}
.rpad {
  padding-right: 30px;
}
.lpad {
  padding-left: 30px;
}

.verpad0 {
  padding: 0px 0px 0px 0px;
}
.verpad40 {
  padding: 60px 0px 60px 0px;
}
.verpad400 {
  padding: 60px 0px 0px 0px;
}
.verpad040 {
  padding: 0px 0px 60px 0px;
}
.verpad50 {
  padding: 50px 0px 50px 0px;
}
.verpad70 {
  padding: 70px 0px 70px 0px;
}
.verpad4020 {
  padding: 40px 0px 20px 0px;
}
.verpad4070 {
  padding: 40px 0px 70px 0px;
}
div.section.darkbg {
  color: #fff;
  background: #212121;
  padding: 40px 0px 20px 0px;
}
div.section.redbgr {
  color: #fff;
  background: #ac0c12;
  padding: 60px 0px 40px 0px;
}
div.section.lightbgr {
  background: #e6e6e6;
}

.btn {
  padding: 10px 20px 10px 20px;
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
  font-size: 14px;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  margin-right: 10px;
  border: none;
}
.btn.norm {
  color: #fff;
  background: #ac0c12;
}
.btn.norm:hover {
  color: #fff;
  background: #000;
  text-decoration: none;
}
.btn.light {
  color: #000;
  background: #fff;
}
.btn.light:hover {
  color: #fff;
  background: #000;
  text-decoration: none;
}
.btn.dark {
  color: #fff;
  background: #2b395c;
}
.btn.dark:hover {
  color: #fff;
  background: #308fce;
  text-decoration: none;
}
.btn.hilght {
  color: #ac0c12;
  background: #fff;
}
.btn.hilght:hover {
  color: #fff;
  background: #000;
  text-decoration: none;
}
.btn i {
  padding: 0px 0px 0px 20px;
}
button {
  padding: 0px; margin:0px;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-border-radius: none;
}
p {
  font-size: 15px;
  line-height: 22px;
  padding-bottom: 20px;
  margin: 0px;
}
p strong {
  font-size: 16px;
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
  line-height: 24px;
  padding-bottom: 20px;
}
div#home p strong {
  color: #fff;
  font-size: 18px;
}
p.btns {
  float: left;
  width: 100%;
  margin: 0px;
  padding: 20px 0px 0px 0px;
}
p.btnsml {
  float: left;
  width: 100%;
  margin-bottom: 20px;
}
strong {
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
  font-weight: normal
}
hr {
  float: left;
  width: 100%;
  border: none;
  border-bottom: 1px solid silver;
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 40px 0px;
}
h1, h2 {
  position: relative;
  color: #000;
  font-size: 40px;
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.1em;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 30px 0px;
  text-transform: uppercase;
}

h2 {
  font-size: 36px;
}
h2 span {
  color: #ac0c12;
}
div#o-spolecnosti h2, div#kontakt h2 {
  color: #fff;
}
h3, h4 {
  color: #a81317;
  font-family: 'montserratextrabold', Tahoma, Arial, sans-serif;
  line-height: 1.1em;
  font-weight: normal;
}
h3 {
  font-size: 20px;
  padding: 0px 0px 0px 0px;
  margin: 10px 0px 10px 0px;
}
div#intro h3 {
  color: #fff;
  margin: 0px 0px 10px 0px;
}
h4 {
  font-size: 18px;
  padding: 0px 0px 0px 0px;
  margin: 10px 0px 15px 0px;
  background: none;
}
h4 span, h3 span {
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
}
.dottxt {
  float: left;
  width: auto;
}
.dotmap {
  position: relative;
  float: right;
  width: 100%;
  max-width: 800px;
  height: auto;
}
.dotmap img {
  display: block;
  width: 100%;
}
.hotspot {
  position: absolute;
  background: #f7941d;
  background: rgba(247,148,29,1);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  /*correct centered position...*/
  -webkit-transform: translateX(-10px) translateY(-10px);
  transform: translateX(0%) translateY(0%);
}
#hot1.hotspot {
  left: 8%;
  top: 40%;
}
#hot2.hotspot {
  left: 10%;
  top: 30%;
}
#hot3.hotspot {
  left: 17%;
  top: 46%;
}
#hot4.hotspot {
  left: 22%;
  top: 65%;
}
#hot5.hotspot {
  left: 30%;
  top: 75%;
}
#hot6.hotspot {
  left: 25%;
  top: 51%;
}
#hot7.hotspot {
  left: 29%;
  top: 44%;
}
#hot8.hotspot {
  left: 35%;
  top: 37%;
}
#hot9.hotspot {
  left: 40%;
  top: 39%;
}
#hot10.hotspot {
  left: 44%;
  top: 43%;
}
#hot11.hotspot {
  left: 50%;
  top: 36%;
}

.pulse-dot{
  animation: pulse-dot infinite 3.5s;
}
.pulse-ring {
  content: '';
  width: 20px;
  height: 20px;
  border: 8px solid #f7941d;
  border-radius: 50%;
  position: absolute;
  top: 0px;
  left: 0px;
  animation: pulse-ring infinite 3.5s;
}

/* Animations */
@-webkit-keyframes pulse-dot {
  0% {
    -webkit-transform: scale(1, 1);
  }

  30%{
    -webkit-transform: scale(1.25, 1.25);
  }

  100% {
    -webkit-transform: scale(1, 1);
  }
}
@keyframes pulse-dot {
  0% {
    transform: scale(1, 1);
  }

  30%{
    transform: scale(1.25, 1.25);
  }

  100% {
    transform: scale(1, 1);
  }
}

@-webkit-keyframes pulse-ring {
  0% {
    -webkit-transform: scale(1, 1);
    opacity: 0;
  }

  25%{
    opacity: .5;
  }

  100% {
    -webkit-transform: scale(1.8, 1.8);
    opacity: 0;
  }
}
@keyframes pulse-ring {
  0% {
    transform: scale(1, 1);
    opacity: 0;
  }

  25%{
    opacity: .5;
  }

  100% {
    transform: scale(1.8, 1.8);
    opacity: 0;
  }
}

div.logos {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  float: left;
  width: 100%;
  border-left: 0px solid #dddddd;
}
div.logos div.logo {
  display: flex;
  justify-content: center;
  align-items: center;
  float: left;
  width: 20%;
  text-align: center;
  background: #fff;
  border: 0px solid #dddddd;
  border-left: none;
}
div.logos div.logo img {
  float: left;
  width: 100%;
  height: auto;
  max-width: 246px;
}


form.supp {
  float: left;
  width: 100%;
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
  margin-bottom: 40px;
}
form.supp label {
    display: block;
    margin-bottom: 6px;
    font-weight: bold;
}

form.supp input, 
form.supp select, 
form.supp textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin-bottom: 18px;
    font-size: 15px;
    font-family: 'montserratregular', Tahoma, Arial, sans-serif;
}

form.supp .col100 .col50:first-child {
    padding-right:30px;
}

/* Honeypot pole — nezobrazovat */
.honey {
    display: none !important;
}

.alert {
  float: left;
  width: 100%;
  padding: 15px 20px;
  margin-bottom: 20px;
  border-radius: 8px;
  font-size: 16px;
}

.alert.success {
    background: #d1f3d1;
    color: #1d6a1d;
    border: 1px solid #84d084;
}

.alert.error {
    background: #ffd5d5;
    color: #9c1c1c;
    border: 1px solid #ff7a7a;
}

.alert.warning {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
}

/* Overlay */
.hp-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
/* Modal */
.hp-modal {
  background: #ffffff;
  width: 95%;
  max-width: 520px;
  padding: 30px 30px 0px 30px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.25);
  position: relative;
  text-align: center;
  font-family: 'montserratregular', Tahoma, Arial, sans-serif;
  
}

.hp-close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
}
/* Text */
.hp-title {
  font-size: 24px;
  margin-bottom: 8px;
}
.hp-subtitle {
  font-size: 15px;
  margin-bottom: 24px;
  color: #555;
}
/* Pricing */
.hp-pricing {
  margin-bottom: 20px;
}
.hp-plan {
  padding: 16px;
  border: 1px solid #ddd;
  margin-bottom: 10px;
  position: relative;
}
.hp-plan--recommended {
  border: 2px solid #ac0c12;
  background: #f4f9ff;
  padding-top: 28px;
}
.hp-badge {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  background: #ac0c12;
  color: #fff;
  font-size: 12px;
  padding: 4px 10px;
}
.hp-price {
  font-size: 20px;
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
  color:#000;
  padding-top: 20px;
}
.hp-price--secondary {
  font-weight: normal;
  color: #444;
}
.hp-or {
  font-size: 14px;
  margin: 8px 0;
  color: #777;
}
.hp-note {
  font-size: 13px;
  color: #666;
  margin-bottom: 0px;
}
/* Buttons */
.hp-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hp-btn-primary {
  display: inline-block;
  padding: 12px;
  background: #ac0c12;
  color: #fff;
  text-decoration: none;
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
  transition: 0.2s ease;
}
.hp-btn-primary:hover {
  color: #fff;
  background: #8C8C8C;
  text-decoration: none;
}
.hp-btn-secondary {
  padding: 10px;
  background: none;
  border: none;
  cursor: pointer;
  color: #777;
}

.hp-hero-sub {
  font-size: 16px;
  color: #555;
  margin-bottom: 30px;
}

/* Pricing box */
.hp-pricing-wrapper {
  background: #fff;
  padding: 20px 30px 20px 30px;
  max-width: 1300px;
  margin: 0 auto 40px auto;
  text-align: center;
}

/* Grid vedle sebe */
.hp-plans {
  margin-bottom: 15px;
}

/* Karta */
.hp-plan-card {
  flex: 1;
  padding: 30px;
  border: 2px solid #e0e0e0;
  text-align: center;
  position: relative;
  cursor: pointer;
  transition: all 0.25s ease;
  background: #fff;
}

.hp-plan-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/*.hp-plan-card.active {
  border-color: #ac0c12;
  background: #f4f9ff;
  transform: scale(1.03);
}

.hp-plan-card--recommended {
  border: 2px solid #ac0c12;
}*/

.hp-badge {
  position: absolute;
  top: -12px;
  right: 20px;
  background: #ac0c12;
  color: #fff;
  font-size: 12px;
  padding: 4px 10px;
}
/* výchozí aktivní stav */
.hp-plan-card.active {
  transform: scale(1.03);
}

/* ROČNÍ – modrá */
.hp-plan-card.active.plan-year {
  border-color: #ac0c12;
  background: #f4f9ff;
}

/* MĚSÍČNÍ – šedá */
.hp-plan-card.active.plan-month {
  border-color: #999;
  background: #f5f5f5;
}

/* badge zůstane modrý jen u ročního */
.hp-plan-card.plan-month .hp-badge {
  background: #999;
}



.hp-plan-card h3 {
  margin-bottom: 10px;
  font-size: 18px;
}

.hp-price {
  font-size: 28px;
  font-weight: bold;
}

.hp-price--secondary {
  font-weight: bold;
  color: #444;
}

.hp-period {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
  margin-top: 10px;
}

.hp-plan-note {
  font-size: 13px;
  color: #555;
}

.hp-activation-note {
  font-size: 13px;
  color: #666;
  margin-bottom: 20px;
}

/* Responsive */
@media (max-width: 768px) {
  .hp-plans {
    grid-template-columns: 1fr;
  }

  .hp-plan-card--recommended {
    transform: none;
  }
}


/* Buttons */


/* TABLE */

.hp-comparison h2 {
  text-align: center;
  margin-bottom: 30px;
}

.hp-table {
  display: grid;
  gap: 0;
  overflow: hidden;
}

.hp-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  color:#212121;
  background: #fff;
  border-bottom: 1px solid #eee;
  align-items: center;
}
.hp-row div {
  padding: 10px 15px;
}
.hp-row div.hp-small-note {
  padding: 0px;
}

.hp-header {
  background: #ac0c12;
  color: #fff;
  font-family: 'montserratbold', Tahoma, Arial, sans-serif;
  text-align: center;
}

.hp-yes {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  color: #ac0c12;
  background: #D9D9D9;
}

.hp-no {
  text-align: center;
  font-size: 18px;
}

.hp-small-note {
  font-size: 12px;
  margin-top: 4px;
  padding: 0px;
}

.hp-bottom-cta {
  text-align: center;
  margin-top: 40px;
}

/* Responsive */

@media (max-width: 768px) {
  .hp-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .hp-header {
    display: none;
  }

  .hp-yes,
  .hp-no {
    text-align: left;
  }
}