
.hidden-bullets li {
  list-style-type: none;
}
.hidden {
    opacity: 0;
    visibility: hidden;
}

.grecaptcha-badge { visibility: hidden; }


#social-buts{
  position:fixed;
  right:0px;
  width:48px;
  z-index: 1000;
  bottom: 115px!important;
}


/*  -----------------------------------Mobil-----------------------------------------------  */

@media screen and (max-width: 1200px) {
  #social-buts{
      width: 40px;
      background-size: contain!important;
  }
}

@media screen and (max-width: 950px) {

/*
    tr {display: table;  width:100%;}
    td {
        display: block;
        width:100%!important;
        height:auto!important;
        clear:both;
        float:left;
        padding:0px; 
    }
    th {
        display: block;
        width: 100% !important;
        height: auto !important;
        clear: both;
        float: left;
        text-align: left;
        padding: 0px;
    }
    tr td:last-child{padding-bottom:0px; }
*/

}


@media screen and (max-width: 750px) {
  #social-buts {display:none;}
}



/* ================================
   WX PATRA – navigace budov/pater
   ================================ */

/* Celý wrapper */
.wxpatra-container{
  display: block;            /* jistota */
  width: 100%;
}

/* building = flex kontejner pro levý + pravý sloupec */
.wxpatra-building{
  display: flex;
  width: 100%;
  gap: 12px;
  align-items: flex-start;
}

/* levý sloupec: náhledy pater */
.wxpatra-column{
  flex: 0 0 320px;           /* pevná šířka */
  max-height: 80vh;
  overflow: auto;
  position: relative;
  z-index: 3;                /* nad plánem – aby šly klikat náhledy */
}

/* pravý sloupec: půdorys */
.wxpatra-main-column{
  flex: 1 1 auto;
  max-height: 80vh;
  overflow: hidden;          /* nebo auto pokud chcete scroll */
  position: relative;
  z-index: 1;
  min-width: 0;              /* důležité pro flex – aby se obsah správně zmenšoval */
}

/* řádek s plánem (volitelné, pokud existuje) */
.wxpatra-floor-plan-row{
  width: 100%;
}

/* ================================
   Náhledy pater (levý sloupec)
   ================================ */
.wxpatra-image-container{
  max-width: 360px;          /* nebo 100% */
  margin-bottom: 8px;
  cursor: pointer;
  overflow: hidden;
}

.wxpatra-image-container img{
  width: 100%;
  height: auto;
  display: block;
}

/* hover náhledu */
.wxpatra-image-container:hover{
  outline-color: rgba(196, 62, 55, 0.35);
}

/* aktivní náhled patra – používáte class="active" */
.wxpatra-image-container.active{
  outline-color: rgba(196, 62, 55, 0.85);
}

/* ================================
   Půdorys vpravo – rozměry
   ================================ */
/* obecné nastavení velikosti (ponecháno), ale display už NEřešíme tady */
.wxpatra-main-column svg,
.wxpatra-main-column img,
.wxpatra-main-column object,
.wxpatra-main-column embed{
  width: 100% !important;
  height: auto !important;
  max-height: 80vh !important;
}

/* pokud je SVG inline */
.wxpatra-floor-svg{
  max-width: 100%;
  height: auto;
  pointer-events: auto;
}

/* ================================
   KLÍČ: zobrazuj jen aktivní patro
   (přebíjí jakékoli display:block)
   ================================ */
.wxpatra-main-column svg.wxpatra-floor-svg{
  display: none !important;
}
.wxpatra-main-column svg.wxpatra-floor-svg.active{
  display: block !important;
}

/* ================================
   Plochy místností (rect/polygon/path…)
   ================================ */
.wxpatra-floor-svg [id^="room-"]{
  fill: rgba(255, 215, 0, 0.35) !important;
  stroke: rgba(196, 62, 55, 0.9) !important;
  stroke-width: 6 !important;
  cursor: pointer;
  pointer-events: all;
}

/* hover místnosti */
.wxpatra-floor-svg [id^="room-"]:hover{
  fill: rgba(255, 0, 0, 0.55) !important;
}

/* aktivní místnost */
.wxpatra-floor-svg [id^="room-"].active-room-shape{
  fill: rgba(255, 215, 0, 0.70) !important;
}

/* volitelné: když chcete aby se klik dřív “chytil” na místnost,
   i když je uvnitř stroke apod. */
.wxpatra-floor-svg [id^="room-"] *{
  pointer-events: none;
}



/* =====================================================    AKTUALITY – DETAIL POLISH / STABILIZACE    ===================================================== */

/* hlavička více podobná ostatním podstránkám */
#aktuality .sub-header{
  align-items: flex-start;
}

#aktuality .subpage-title{
  color: var(--color-primary);
  font-weight: 800;
  max-width: 100%;
}

/* perex čitelnější, ale ne přehnaně velký */
#aktuality .perex{
  color: var(--color-dark);
  font-weight: 650;
}

/* obsah – zabrání příliš širokému řádku */
#aktuality .text-content{
  max-width: 100%;
}

#aktuality .text-content p{
  max-width: 72ch;
}

/* pokud jsou obrázky obtékané, text se kolem nich chová lépe */
#aktuality .news-detail-images{
  max-width: min(42%, 460px);
  margin: 0 0 24px 36px;
}

/* footer detailu */
#aktuality .news-detail-footer{
  clear: both;
}

/* baner ve footeru */
#aktuality .news-detail-footer img{
  max-width: 100%;
  height: auto;
}


/* =====================================================
   AKTUALITY – RESPONSIVE
   ===================================================== */

@media (max-width: 1100px){

  #aktuality .u-news-detail__side{
    background: var(--color-primary);
  }

}

@media (max-width: 700px){

  #aktuality .text-content{
    font-size: 1rem;
    line-height: 1.55;
  }

  #aktuality .text-content p{
    max-width: none;
  }

  #aktuality .perex{
    font-size: 1.12rem;
    line-height: 1.42;
  }

  #aktuality .news-detail-footer{
    margin-top: 32px;
  }

}

/* =====================================================
   AKTUALITY – KATEGORIE
   ===================================================== */

#aktuality .news-mini-filter{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;

  padding-bottom: 14px;
  margin-bottom: 4px;

  border-bottom: 1px solid rgba(255,255,255,.18);
}

/* default */
#aktuality .news-mini-filter a{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 38px;
  padding: 6px 14px;

  border-radius: 999px;

  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);

  text-decoration: none;
  font-size: .95rem;
  font-weight: 650;
  line-height: 1;

  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease;
}

/* hover */
#aktuality .news-mini-filter a:hover{
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.28);
  transform: translateY(-1px);
}

/* aktivní */
#aktuality .news-mini-filter a.nav-active{
  background: #fff;
  color: var(--color-primary);
  border-color: #fff;

  box-shadow:
    0 4px 14px rgba(0,0,0,.14);
}

/* focus */
#aktuality .news-mini-filter a:focus-visible{
  outline: 3px solid rgba(255,255,255,.55);
  outline-offset: 2px;
}

/* =====================================================
   AKTUALITY – PRAVÝ PANEL
   ===================================================== */

#aktuality .c-news-panel{
  padding: 0;
  padding-top: 70px;
}

/* filtr kategorií jako kompaktní navigace */
#aktuality .news-mini-filter{
  gap: 6px;
}

#aktuality .news-mini-filter a{
  min-height: 38px;
  padding: 6px 12px;
  border-radius: 6px;

  font-size: .95rem;
}

/* vyhledávání jako samostatný blok */
#aktuality .news-search{
  padding: 14px;

}

#aktuality .news-search label{
  margin-bottom: 8px;

  font-size: .95rem;
  line-height: 1.2;
}

#aktuality #news-filter-input{
  height: 52px;
  width: 100%;
  padding: 0 16px;
  border-radius: 8px;
  line-height: 52px;
}

#aktuality #news-filter-input::placeholder{
  line-height: 52px;
}

#aktuality #aktuality-seznam{
  gap: 12px;
}

/* karta mini aktuality */
#aktuality .c-news-card--mini{
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 12px;

  padding: 8px;

  transition:
    background-color .18s ease,
    transform .18s ease;
}

#aktuality .c-news-card--mini:hover{
  transform: translateX(2px);
}

#aktuality .c-news-card__thumb{
  width: 68px;
  height: 68px;
}

#aktuality .c-news-card__date{
  font-size: 0.8em;
  margin-bottom: 5px;
  opacity: .8;
}

#aktuality .c-news-card--mini .c-news-card__title{
  font-weight: 650;
}

/* tlačítka dole */
#aktuality .aktuality-nav-buttons{
  gap: 10px;
  padding-top: 16px;
}

#aktuality .aktuality-nav-buttons .c-button{
  min-height: 42px;
}


/* responsive pravého panelu */
@media (max-width: 1100px){

  #aktuality .c-news-panel{
    max-width: 760px;
    padding: 32px 20px;
    margin-inline: auto;
  }

}



/* =====================================================   LIST CARD – seznamy s obrázkem vlevo a textem vpravo   ===================================================== */

.infinite-list{
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 100%;
}

/* default – s obrázkem */
.infinite-list .c-list-card{
  display: grid;
  grid-template-columns: clamp(150px, 16vw, 190px) minmax(0, 1fr);
  gap: clamp(18px, 2vw, 26px);

  align-items: start;

  padding: 0;
  
  color: var(--color-dark);
  text-decoration: none !important;

  border-bottom: 1px solid rgba(0,0,0,0.1);
}

/* varianta BEZ obrázku */
.infinite-list .c-list-card:not(:has(.c-news-card__thumb)){
  grid-template-columns: 1fr;
}

.infinite-list .c-list-card *{
  text-decoration: none !important;
}

.infinite-list .c-list-card:first-child{
  padding-top: 0;
}

.infinite-list .c-list-card .c-news-card__thumb{
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  display: block;
}

.infinite-list .c-list-card .c-news-card__content{
  display: block;
  min-width: 0;
  padding-top: 12px;
}

.infinite-list .c-list-card .c-news-card__title{
  display: block;
  margin: 18px 0 0 0;

  color: var(--color-dark);
  font-size: clamp(1.25rem, 1.6vw, 1.8rem);
  line-height: 1.15;
  font-weight: 800;
}

.infinite-list .c-list-card .c-news-card__desc{
  display: block;

  color: var(--color-dark);
  font-size: clamp(1rem, 1vw, 1.1rem);
  line-height: 1.45;
  font-weight: 400;
}

.infinite-list .c-list-card:hover .c-news-card__title{
  text-decoration: underline;
}

.infinite-list .c-list-card:focus-visible{
  outline: 3px solid var(--color-primary);
  outline-offset: 4px;
}

@media (max-width: 700px){

  .infinite-list .c-list-card{
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 16px;
    padding: 22px 0;
  }

  .infinite-list .c-list-card .c-news-card__title{
    font-size: 1.15rem;
    margin-bottom: 8px;
  }

  .infinite-list .c-list-card .c-news-card__desc{
    font-size: 0.95rem;
    line-height: 1.4;
  }
}

@media (max-width: 520px){

  .infinite-list .c-list-card{
    grid-template-columns: 1fr;
  }

  .infinite-list .c-list-card .c-news-card__content{
    order: -1;
  }

  .infinite-list .c-list-card .c-news-card__desc{
    text-align: justify;
  }

  .infinite-list .c-list-card .c-news-card__thumb{
    width: 100%;
    max-width: 360px;

    margin: 12px auto 0; /* vycentrování */

    display: block;
  }
}



    
/************************************************* struktura webu ****************************************************************/

.struktura-tree {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 1.5rem 0 3rem;
}

/* všechny položky mají stejné chování */
.struktura-item {
    position: relative;
    padding: 2px 0;
}

/* univerzální tečka / spojovací bod */
.struktura-item::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 0.95em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d0d0d0;
}

/* odkazy a texty */
.struktura-title a {
    text-decoration: none;
    color: #ba0c2f;
    border-bottom: 1px solid transparent;
}

.struktura-title a:hover {
    border-bottom-color: #ba0c2f;
}

/* --- ÚROVNĚ --- */

/* LEVEL 2 — pozadí přes celou šířku */
.struktura-level-2 {
    margin-left: 0 !important;
    padding: 6px 16px;
    background: rgba(186, 12, 47, 0.06);  /* jemné červené pozadí */
    border-left: 10px solid #ba0c2f;
    width: 100%;
    box-sizing: border-box;
    margin-top: 1em;
}

/* title už nemusí mít pozadí, jen text */
.struktura-level-2 .struktura-title {
    display: inline-block;
    padding: 0;
    font-weight: 700;
    font-size: 1.15rem;
}

/* zrušení tečky před level 2 */
.struktura-level-2::before {
    display: none !important;
}

/* LEVEL 3 – sekce (Aktuality, Městský zpravodaj LILIE, Služby...) */
.struktura-level-3 {
    margin-left: 1.8rem;
    font-weight: 600; 
    font-size: 1.2rem;
    margin-top: 12px;    
}

/* jemná tečka pro level 3  */
.struktura-level-3::before {
    width: 6px;
    height: 6px;
    background: #d0d0d0;
    left: -12px;
}

/* ztučnění textu v levelu 3 */
.struktura-level-3 .struktura-title,
.struktura-level-3 .struktura-title a {
    font-weight: 600 !important;
}


/* LEVEL 4 – jemné zvýraznění */
.struktura-level-4 .struktura-title,
.struktura-level-4 .struktura-title a {
    font-weight: 600 !important; 
    font-size: 1.0rem; 
    color: #444; 
}

.struktura-level-4 {
    margin-left: 2.6rem;
    margin-top: 6px; 
}

/* odrážka level 4 – decentní */
.struktura-level-4::before {
    width: 6px;
    height: 6px;
    background: #d8d8d8;
    left: -10px;
}


/* LEVEL 5  */
.struktura-level-5 {
    margin-left: 3.4rem;
    margin-top: 4px;
}

.struktura-level-5 .struktura-title,
.struktura-level-5 .struktura-title a {
    font-weight: 500;  
    font-size: 0.98rem;
}

.struktura-level-5::before {
    width: 5px;
    height: 5px;
    background: #d5d5d5;
    left: -10px;
}

/* LEVEL 6  */
.struktura-level-6 {
    margin-left: 4.6rem;
    margin-top: 2px;
}

.struktura-level-6 .struktura-title,
.struktura-level-6 .struktura-title a {
    font-weight: 400;
    font-size: 0.92rem; 
    color: #666; 
}

/* menší, světlejší tečka */
.struktura-level-6::before {
    width: 3px;
    height: 3px;
    background: #e0e0e0;
    left: -8px;
}

/* LEVEL 7 – nejnižší drobná úroveň */
.struktura-level-7 {
    margin-left: 5.4rem;
    margin-top: 1px;
}

.struktura-level-7 .struktura-title,
.struktura-level-7 .struktura-title a {
    font-weight: 400;  
    font-size: 0.9rem;  
    color: #777; 
}

.struktura-level-7::before {
    width: 2px;
    height: 2px;
    background: #e5e5e5; 
    left: -6px;
}

/* ************************************* USNESENÍ ************************************** */

/* upozornění nad usneseními */
.article-detail {
    padding: 10px 16px;
    margin: 1rem 0 2rem;
    border-left: 4px solid #ba0c2f;
    background: #fafafa;
    font-size: 0.92rem;
    line-height: 1.45;
    border-radius: 4px;
}

.article-detail b,
.article-detail strong {
    color: #ba0c2f; 
}

/* wrapper pro seznam usnesení */
.usneseni-list {
    margin-top: 1.5rem;
}

/* jednotlivá usnesení – „kartičky“ */
.usneseni-item {
    padding: 0.9rem 1.2rem;
    margin-bottom: 1rem;
    border-left: 4px solid #e0e0e0;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(0,0,0,0.04);
}

/* jemné střídání pozadí pro lepší čtení dlouhého seznamu */
.usneseni-item:nth-child(odd) {
    background: #fdfdfd;
}

/* hlavička usnesení (číslo) */
.usneseni-header {
    margin-bottom: 0.4rem;
    font-size: 0.95rem;
}

.usneseni-label {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.78rem;
    color: #888;
    margin-right: 0.3rem;
}

.usneseni-number {
    font-weight: 700;
    color: #ba0c2f;
}

/* vlastní text usnesení */
.usneseni-body {
    font-size: 0.95rem;
    line-height: 1.5;
}

.ram-archiv{
  max-width: 900px;
}

.zasedani-rok{
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  margin: 0 0 12px 0;
  background: #fff;
  overflow: hidden;
}

.zasedani-rok__sum{
  list-style: none;
  cursor: pointer;
  padding: 14px 16px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  user-select: none;
}

.zasedani-rok__sum::-webkit-details-marker{ display: none; }

.zasedani-rok__year{
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .3px;
}

.zasedani-rok__count{
  color: #777;
  font-size: 14px;
}

.zasedani-rok__sum::after{
  content: "▾";
  margin-left: auto;
  transition: transform .15s ease;
  opacity: .75;
}

.zasedani-rok[open] .zasedani-rok__sum::after{
  transform: rotate(180deg);
}

.zasedani-rok__body{
  padding: 0 8px 8px 8px;
}

.zasedani-list{
  margin: 0;
  padding: 0;
  list-style: none;
}

.zasedani-item{
  margin: 0;
}

.zasedani-link{
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 12px;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
}

.zasedani-link:hover{
  background: #f6f6f6;
}

.zasedani-title{
  font-weight: 600;
}

.zasedani-date{
  color: #666;
  white-space: nowrap;
}




/* **************************************************************  STAROSTOVA ODPOVĚDNA **************************************************************  */

.qa-question-box {
    padding: 14px 18px;
    margin-bottom: 1.8rem;
    border-left: 4px solid #ba0c2f;
    background: #fff5f7;  
    border-radius: 4px;
}

.qa-question-meta {
    color: #555;
    margin-bottom: 0.3rem;
}

.qa-question-author {
    font-weight: 600;
    margin-left: 0.5rem;
}

.qa-title {
    margin: 0.2rem 0 0.8rem;
    font-size: 1.4rem;
    color: #ba0c2f;
    font-weight: 700;
}

.qa-question-text {
    line-height: 1.55;
    font-style: italic; 
}

.qa-answer-box {
    background: #ffffff;
    border-left: 4px solid #e0e0e0;
    box-shadow: 0 1px 0 rgba(0,0,0,0.04);
    border-radius: 4px;
    padding: 16px 20px;
}

.qa-answer-meta {
    margin-bottom: 0.4rem;
}

.qa-answer-meta b {
    color: #ba0c2f;
}

.qa-answer-text {
    line-height: 1.6;
    color: #333;
}

.qa-answer-text p {
    margin: 0.7rem 0;
}

/* Galerie uvnitř starostovy odpovědi */
.qa-answer-text .content-gallery {
    float: none;
    width: min(560px, 100%);
    max-width: 100%;
    margin: 1.5rem auto 0;
}

.qa-answer-text .content-gallery__main {
    display: block;
    width: 100%;
}

.qa-answer-text .content-gallery img {
    display: block;
    width: 100%;
    height: auto;
}

/* ****************************************************** PARTICIPATIVNÍ ROZPOČET ****************************************************** */
/* skutečný čtverec */
.voteBox{
  position: relative;
  width: 100% !important;  
  max-width: 9rem;
  aspect-ratio: 1 / 1;

  border-radius: .6em;
  font-weight: 600;
  box-sizing: border-box;

  transition: transform .15s ease, box-shadow .15s ease;
}
.voteBox:hover{
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
}
/* checked PRO */
.voteBox--pro:has(input:checked){
  box-shadow:
    0 0 0 3px #3fbf3f,
    0 4px 10px rgba(0,0,0,.25);
  transform: translateY(-2px);
}
/* checked  PROTI */
.voteBox--proti:has(input:checked){
  box-shadow:
    0 0 0 3px #e14b4b,
    0 4px 10px rgba(0,0,0,.25);
  transform: translateY(-2px);
}
/* barvy */
.voteBox--pro { background: #c9ffaaff; }
.voteBox--proti { background: #fdbdbdff; }
/* label přes celou plochu => kliká se všude */
.voteBox__label{
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
}
/* checkbox necháme viditelný a “nad” labelem */
.voteBox input{
  position: absolute;
  top: .4rem;
  left: .4rem;
  z-index: 2;
  margin: 0;
}


/* ****************************************************** Sekce + karty pro organizační stránku / kontakty ****************************************************** */

.u-org{
  max-width: 1100px;
}

.u-org__section{
  margin: 28px 0;
}

.u-org__section h2{
  margin: 0 0 14px 0;
}

.u-orgcard{
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  margin: 0 0 14px 0;
}

.u-orgcard__title{
  display:block;
  margin:0 !important;
  padding:14px 16px;

  font-size:18px;
  line-height:1.25;
  font-weight:800;
}

.u-orgcard__title--accent{
  background:#C20116;
  color:#fff;
}

.u-orgcard__body{
  padding: 12px 16px 16px 16px;
}

.u-orgcard__meta{
  margin: 8px 0 12px 0;
  color: #444;
}

.u-orgcard__link{
  display: inline-block;
  margin: 0 0 10px 0;
}

.u-hr{
  border: 0;
  border-top: 1px solid #eee;
  margin: 14px 0;
}

/* Pracovníci – 4 sloupce */

.u-orgcard .u-people .u-gridtable__head,
.u-orgcard .u-people .u-gridtable__row{
  display: grid !important;
  grid-template-columns:
    minmax(160px, 1.1fr)
    minmax(120px, .65fr)
    minmax(120px, .65fr)
    minmax(260px, 1.8fr) !important;
  gap: 18px !important;
}

.u-orgcard .u-people .u-gridtable__cell,
.u-orgcard .u-people .u-gridtable__cell a{
  min-width: 0;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.u-orgcard .u-people .u-email a{
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

/* Popis pracovníka (řádek přes celou šířku) */
.u-personnote{
  padding: 0 12px 12px 12px;
  color: #444;
}

@media (max-width: 950px){

  .u-orgcard .u-people .u-gridtable__head{
    display:none !important;
  }

  .u-orgcard .u-people .u-gridtable__row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:12px 0;
  }

  .u-orgcard .u-people .u-gridtable__cell{
    display:grid;
    grid-template-columns:90px minmax(0, 1fr);
    gap:12px;

    padding:8px 12px;
    border-bottom:1px solid rgba(0,0,0,.06);
  }

  .u-orgcard .u-people .u-gridtable__cell::before{
    content:attr(data-label) ":";
    font-weight:800;
    color:var(--color-dark);
  }

  .u-orgcard .u-people .u-gridtable__cell:last-child{
    border-bottom:0;
  }

  .u-orgcard .u-people .u-gridtable__cell,
  .u-orgcard .u-people .u-gridtable__cell a{
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  .u-orgcard .u-people .u-email a{
    overflow-wrap:anywhere !important;
  }

  .u-personnote{
    padding:12px;
  }
}


/* ****************************************************** plánování akcí ****************************************************** */

.cal{
  width: 50%;
  border-collapse: separate;
  border-spacing: 8px;
  table-layout: fixed;
}

.cal__nav th{
  padding: 6px 0 10px 0;
}

.cal__nav-left{ text-align: left; }
.cal__nav-right{ text-align: right; }

.cal__navlink{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.cal__dowcell{
  font-weight: 700;
  text-align: center;
  padding: 6px 0;
}

.cal__cell{
  text-align: center;
  vertical-align: middle;
  height: 44px;
}

.cal__cell--empty{
  height: 44px;
}

.cal__day{
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  text-decoration: none;
  border: 1px solid #e6e6e6;
}

.cal__day:hover{
  background: #f6f6f6;
}

.cal__day.is-selected{
  border-color: #C20116;
  box-shadow: 0 0 0 2px rgba(194, 1, 22, .2);
  font-weight: 800;
}

.cal__day:focus-visible{
  outline: 3px solid #C20116;
  outline-offset: 2px;
}

.arrow-rotate{ transform: rotate(180deg); }


/* ****************************************************** Organigram / struktura města ****************************************************** */

/* obal pro tok */
.org-flow{
  width: 100%;
  max-width: 900px;
  margin: 12px auto 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 36px;
}

/* jednotná šířka pro uzly i boxy */
.org-node,
.org-box{
  width: min(560px, 96%);
  box-sizing: border-box;
}

/* uzel */
.org-node{
  padding: 12px 16px;
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  background: #fff;
  text-align: center;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  position: relative;
}

.org-node__action{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 26px;
  height: 26px;
  margin-left: 6px;

  border-radius: 50%;
  border: 1px solid #d8d8d8;

  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #f3f3f3 100%
  );

  color: #333;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;

  text-decoration: none !important;
  vertical-align: middle;

  /* plastický efekt */
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,0,0,.04) inset,
    0 2px 6px rgba(0,0,0,.12);

  transition:
    background .15s ease,
    box-shadow .15s ease,
    transform .12s ease;
}

/* hover – lehce „vystoupí“ */
.org-node__action:hover{
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #eaeaea 100%
  );

  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 -1px 0 rgba(0,0,0,.06) inset,
    0 4px 10px rgba(0,0,0,.18);

  transform: translateY(-1px);
}

/* aktivní stav – jemné „zmáčknutí“ */
.org-node__action:active{
  transform: translateY(0);
  box-shadow:
    0 1px 2px rgba(0,0,0,.18) inset;
}

/* box (seznamy) */
.org-box{
  display: block;
  margin: 8px auto;
  text-align: left;
  padding: 12px 14px;
  border: 1px solid #e9e9e9;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
  float: none !important;
}

/* vícerádkový box */
.org-box--list{
  border-radius: 14px;
  font-weight: 500;
  line-height: 1.6;
}

/* SEPARÁTOR mezi uzly – jako osa + šipka (už ne 100% šířky) */
.org-separator{
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 32px;
  margin: 6px 0 10px;

  font-size: 18px;
  font-weight: 600;
  color: #000;
}



/* ****************************************************** Leaflet - odstranění bílých švů mezi tiles ****************************************************** */
.leaflet-tile {
  outline: 1px solid transparent;       /* nejčastější fix */
  -webkit-backface-visibility: hidden;  /* pomáhá v Chrome */
  backface-visibility: hidden;
}

