@import url(https://fonts.googleapis.com/css?family=Plus Jakarta Sans:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900italic,900);

html, body, html * {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-style:normal;
  /*font-weight:400;*/
  font-stretch:100%;
  font-size: 20px;
}


/* Společný obal, který drží obrázek i blok pohromadě */
.top-wrapper {
  position: relative;     /* DŮLEŽITÉ: Určuje počáteční bod pro vnitřní prvky */
  width: fit-content;     /* Šířka obalu se přesně přizpůsobí šířce obrázku */
  /*max-width: 100%;*/        /* Aby nepřetekl na malých displejích */
  margin: 0 auto;         /* Vycentruje celý obal (obrázek + blok) na střed stránky */
}

/* Obrázek */
.top-img {
  display: block;
  max-width: 100%;
  height: auto;
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.3);
}

.top-box {
  position: relative;
  z-index: 10;
  width: auto;             
  max-width: 90%;          
  margin-left: 15px;       
  margin-top: -20px;
  padding: 25px;
  background: #DCCEC9;
  background: linear-gradient(90deg, rgba(220, 206, 201, 1) 0%, rgba(236, 229, 226, 1) 100%);
  font-size:20px;
  color: #747474;
  float:left;
  text-align:left;
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {
  .top-box {
    width: 780px;          
    margin-left: 30px;   
    margin-top: -40px;
    font-size:30px;
  }
}

.h160 {
  height: 160px !important;
}
.h200 {
  height: 200px !important;
}
.clear {
  clear: both;
}

.border-r {
   border-right: 3px solid grey;
}
@media (max-width: 768px) {
  .border-r {
    border-right: none;
  }
}

.blue-box {
  color:#fff;
  background: #10309D;
  background: linear-gradient(90deg,rgba(16, 48, 157, 1) 0%, rgba(42, 85, 202, 1) 100%);
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.4);
  position: relative;
}

/* Obal, který vytáhneme nahoru nad modrou plochu */
.red-box-wrapper {
  position: relative;     /* Důležité: udrží absolutně pozicovaný text uvnitř */
  margin: 0 auto -180px -20px; /* -60px nahoře vytáhne obal NAD modrou plochu */
  width: fit-content;    /* Smrští obal přesně na šířku obrázku */
  z-index: 10;            /* Zaručí, že bude NAD modrou plochou */
}

/* Samotný obrázek */
.red-box-img {
  display: block;
  max-width: 500px;       /* Nastav si podle potřeby */
  height: auto;
  /*margin-bottom:40px;*/

}

/* Text pozicovaný Přes obrázek */
.red-box-text {
  position: absolute;
  top: 55%;               /* Vycentrování svisle */
  left: 50%;              /* Vycentrování vodorovně */
  transform: translate(-50%, -50%); /* Přesné dosednutí na střed */
  
  color: #ffffff;         /* Barva textu */
  font-weight: bold;
  font-size: 24px;
  text-align: left;
  pointer-events: none;   /* Volitelné: myš proklikne přímo na obrázek pod textem */
  white-space: nowrap;    /* Zabrání nechtěnému zalomení textu */
}

/* Responzivní úprava pro mobily */
@media (max-width: 768px) {
  .blue-box {
    margin-top: 50px;
  }
  
  .red-box-wrapper {
    margin-top: -40px;    /* Menší přesah na mobilu */
  }

  .red-box-img {
    max-width: 300px;
  }

  .red-box-text {
    font-size: 18px;      /* Zmenšení písma na mobilu */
  }
}

/* Sekce s modrým obrázkem na pozadí */
.vize-section {
  background-image: url('img/vize-bg.webp');
  background-size: cover;
  background-position: center;
  color: #ffffff;
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.3);
}

/* Nadpis vlevo nahoře */
.vize-title {
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: 1px;
}

/* Velikost a zarovnání ikon */
.vize-icon {
  height: 70px; /* Jednotná výška ikon pro hezké zarovnání */
  width: auto;
  display: block;
  margin: 0 auto;
}

/* Styl textu pod ikonami */
.vize-text {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.3;
}



/* Nasi kandidati */
.kandidatka-section {
  background-color: #ded1cc; /* Světle béžové pozadí z návrhu */
}

.kandidatka-title {
  color: #ff0053; /* Výrazná růžová/červená */
  font-weight: 800;
  font-size: 2.2rem;
  letter-spacing: 1px;
}

/* Běžná kartička kandidáta */
.kandidat-card {
  background-color: #ffffff;
  padding: 15px 20px;
  border-radius: 2px;
  box-shadow: 0 0 15px 2px rgba(0, 0, 0, 0.3);
}

.kandidat-cislo {
  font-size: 2.8rem;
  font-weight: 300;
  color: #333333;
  width: 50px;
  flex-shrink: 0;
  line-height: 1;
}

.kandidat-jmeno {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
  color: #222222;
}

.kandidat-detail {
  margin: 2px 0 0 0;
  font-size: 0.9rem;
  color: #555555;
}

.kandidat-strana {
  margin: 0;
  font-size: 0.8rem;
  color: #888888;
}

/* Speciální kartička pro lídra (Číslo 1) */
.leader-card {
  background-color: #ff0053; /* Růžovo-červená */
  color: #ffffff;
  position: relative;
}

.leader-card .kandidat-cislo,
.leader-card .kandidat-jmeno,
.leader-card .kandidat-detail,
.leader-card .kandidat-strana {
  color: #ffffff !important;
}

/* Štítek "KANDIDÁT NA STAROSTU" */
.badge-starosta {
  display: inline-block;
  background-color: #f4edeb;
  color: #ff0053;
  font-weight: 800;
  font-size: 0.8rem;
  padding: 4px 10px;
  margin-top: 6px;
  letter-spacing: 0.5px;
}

/* Spodní banner "9 LIDÍ..." */
.slogan-banner {
  background-color: #f4edeb;
  box-shadow: 0 4px 10px rgba(0,0,0,0.03);
  margin-left:30px !important;
}

.slogan-banner h2, .slogan-banner h2 span {
  margin: 0;
  font-size: 2rem !important;
  font-weight: 800;
  letter-spacing: 1px;
}

.text-primary-pink {
  color: #ff0053;
}

/* Přizpůsobení na mobilu */
@media (max-width: 768px) {
  .kandidat-cislo {
    font-size: 2.2rem;
    width: 40px;
  }
  
  .slogan-banner h2, .slogan-banner h2 span {
    font-size: 1.4rem;
  }
}

.rd-box {
  color:#fff;
  background: #ff0053;
  font-weight: bold;
  box-shadow: 0 15px 50px 5px rgba(0, 0, 0, 0.3);
  position: relative;
}

/* Obal, který vytáhneme nahoru nad modrou plochu */
.light-box-wrapper {
  position: relative;     /* Důležité: udrží absolutně pozicovaný text uvnitř */
  margin: auto 50px -80px auto; /* -60px nahoře vytáhne obal NAD modrou plochu */
  width: fit-content;    /* Smrští obal přesně na šířku obrázku */
  z-index: 10;            /* Zaručí, že bude NAD modrou plochou */
}

/* Samotný obrázek */
.light-box-img {
  display: block;
  max-width: 300px;       /* Nastav si podle potřeby */
  height: auto;
  /*margin-bottom:40px;*/

}

/* Text pozicovaný Přes obrázek */
.light-box-text {
  position: absolute;
  top: 40%;               /* Vycentrování svisle */
  left: 50%;              /* Vycentrování vodorovně */
  transform: translate(-50%, -50%); /* Přesné dosednutí na střed */
  
  color: #000000;         /* Barva textu */
  font-weight: bold;
  font-size: 24px;
  text-align: left;
  pointer-events: none;   /* Volitelné: myš proklikne přímo na obrázek pod textem */
  white-space: nowrap;    /* Zabrání nechtěnému zalomení textu */
  line-height: 0.8;
  text-align: center;
}
.light-box-text-sm {
  font-size: 15px;
  line-height: 0.8;
}

/* Responzivní úprava pro mobily */
@media (max-width: 768px) {
  .rd-box {
    margin-top: 50px;
  }
  
  .light-box-wrapper {
    margin-top: -40px;    /* Menší přesah na mobilu */
  }

  .light-box-img {
    max-width: 300px;
  }

  .light-box-text {
    font-size: 18px;      /* Zmenšení písma na mobilu */
  }
}

.eml-box {
  color:#fff;
  background: #ff0053;
  font-weight: bold;
  box-shadow: 0 15px 50px 5px rgba(0, 0, 0, 0.3);
  text-align: center;
  width:300px;

}
.eml-box a {
  color:#fff;
  text-decoration: none;
}