/* Doplnky k sablone (main.package.min.css) - styly pro prvky, ktere sablona neobsahuje. */

/* clanek */
.hero__image-action { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; }
.hero__image-subtitle a { text-decoration: underline; }

/* popisek hlavni fotky - vysune se po kliknuti na "i" */
.hero__photo { position: relative; }
/* text ma porad konecny rozmer, zavreny je orezany na kruh s "i" vlevo dole a po otevreni se odkryje (bez preskladani radku) */
.photo-caption { position: absolute; left: 0.75rem; bottom: 0.75rem; max-width: calc(100% - 1.5rem); }
.photo-caption .photo-caption__toggle { position: absolute; left: 0; bottom: 0; z-index: 1; width: 1.75rem; height: 1.75rem; padding: 0; font-family: Georgia, serif; font-size: 1rem; font-weight: 700; line-height: 1.75rem; text-align: center; color: #fff; background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.photo-caption__text { display: block; box-sizing: border-box; min-height: 1.75rem; padding: 0.28rem 0.875rem 0.28rem 1.875rem; font-family: "Fustat", sans-serif; font-size: 0.875rem; font-weight: 700; line-height: 1.1875rem; letter-spacing: 0.03em; color: transparent; background-color: rgba(0, 0, 0, 0.65); border-radius: 0.875rem; clip-path: inset(calc(100% - 1.75rem) calc(100% - 1.75rem) 0 0 round 0.875rem); transition: clip-path 0.4s ease, color 0.2s ease; }
.photo-caption.is-open .photo-caption__text { color: #fff; clip-path: inset(0 0 0 0 round 0.875rem); transition: clip-path 0.4s ease, color 0.3s ease 0.1s; }

.article__body img { max-width: 100%; height: auto; }
.article__body iframe { max-width: 100%; }
.article__body .video-responsive { position: relative; height: 0; margin: 1.5rem 0; padding-bottom: 56.25%; }
.article__body .video-responsive iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
.article__body .table-responsive { margin: 1.5rem 0; overflow-x: auto; }
.article__body table { width: 100%; border-collapse: collapse; }
.article__body th,
.article__body td { padding: 0.5rem; text-align: left; border-bottom: 1px solid #cfcfcf; }
.article__body h2,
.article__body h3,
.article__body h4 { color: #003a70; }
.article__body .banner { margin: 1.5rem 0; }
.article__gallery { margin: 1.5rem 0; }

/* styly z editoru: "Zdroj k obrázku", "Citace", "Text v rámečku" (span i odstavec) */
.zdrojimg { display: block; margin-top: 0.5rem; font-family: "Fustat", sans-serif; font-size: 0.875rem; line-height: 1.35; letter-spacing: 0.03em; color: #707070; }
.article__body p:has(> .zdrojimg) img { vertical-align: bottom; }

.citace { display: block; max-width: 35.3125rem; margin: 2.5rem auto; font-family: "Fustat", sans-serif; font-size: clamp(1.1875rem, 0.95rem + 1vw, 1.625rem); font-weight: 800; line-height: 1.07; text-align: center; color: #003a70; }
.citace:has(+ .citace) { margin-bottom: 1.25rem; }

.ramecek { display: block; max-width: 35.3125rem; margin: 2.5rem auto; padding: 2.25rem 3rem; font-family: "Fustat", sans-serif; font-size: clamp(1.125rem, 0.95rem + 0.8vw, 1.625rem); font-weight: 700; line-height: 1.27; color: #003a70; border: 3px solid #003a70; border-radius: 25px; }
@media (max-width: 40rem) { .ramecek { padding: 1.5rem 1.5rem; } }

/* fotogalerie */
.gallery__title { color: #003a70; }
.gallery__thumb--active img { outline: 2px solid #003a70; }

/* stranka, vyhledavani, chybova stranka */
.page-title { color: #003a70; }
.search-form { display: flex; margin-bottom: 1.5rem; }
.search-form .search__input { border: 1px solid #cfcfcf; }
.search-form .search__submit { background-color: #003a70; }

/* anketa */
.poll { margin-bottom: 1.5rem; }
.poll li { margin-bottom: 0.75rem; }
.poll li p { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 0.25rem; }
.poll .progress { background-color: #edeaea; }

/* formulare */
.form-row { margin-bottom: 1rem; }
.form-row label { display: block; margin-bottom: 0.25rem; font-family: "Fustat", sans-serif; font-weight: 700; color: #003a70; }
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="password"],
.form-row select,
.form-row textarea { width: 100%; max-width: 30rem; padding: 0.5rem; font: inherit; border: 1px solid #cfcfcf; }
.form-message { margin-bottom: 1rem; padding: 0.75rem 1rem; border: 1px solid #cfcfcf; }
.form-message--error { color: #970000; border-color: #970000; }
.form-message--ok { color: #003a70; border-color: #003a70; }
button.btn { cursor: pointer; }

/* logo v hlavicce (sablona pocita s logem 100 x 36 px) */
.brand { width: auto; }
