/* corsica.forhikers.com — vzhled převzatý z původní šablony corsica6
   (Drupal 6, 2006). Paleta, písmo i rozvržení zůstávají; pevná šířka 770 px
   je nahrazená pružnou, aby se to dalo číst na mobilu. */

:root {
  --pozadi: #ccc;
  --papir: #fff;
  --ram: #999;
  --tmava: #2c4855;
  --svetla: #eec;
  --odkaz: #06c;
  --galerie-ram: #859eb3;
}

* { box-sizing: border-box; }

body {
  background: var(--pozadi);
  color: #000;
  margin: 0;
  padding: 0;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 100%;
  line-height: 1.5;
}

#body-wrap {
  max-width: 770px;
  margin: 10px auto;
  border: 1px solid var(--ram);
  background: var(--papir);
}

/* --- hlavička --- */

#header {
  position: relative;
  background: var(--tmava) url(/img/bgtop.jpg) no-repeat top center;
  background-size: cover;
  border: 2px solid #fff;
  padding-top: 0.6em;
}

#site-name {
  padding: 0 16px;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0;
}
#site-name a { color: var(--svetla); text-decoration: none; }
#site-name a:hover { text-decoration: underline; }

#site-slogan {
  margin: 0.2em 0 0;
  padding: 0 16px;
  font-weight: bold;
  color: #000;
  font-size: 0.85rem;
}

#top-nav {
  margin-top: 5.5rem;
  padding: 0 1em;
  border-top: 2px solid #fff;
}
#top-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}
#top-nav li a {
  display: block;
  font-weight: bold;
  white-space: nowrap;
  padding: 4px 8px;
  color: var(--svetla);
  text-decoration: none;
}
#top-nav li a:hover,
#top-nav li.tady a { text-decoration: underline; }

#prepinac-menu { display: none; }

/* --- obsah --- */

#content { padding: 0 1em 1em; }
/* Dlaždice galerie plavou; bez tohohle by je patička podlezla. */
#content::after { content: ""; display: block; clear: both; }

h1 { font-size: 1.5rem; }
h2 { font-size: 1.3rem; }
h3 { font-size: 1.15rem; }

a { color: var(--odkaz); }

p, li { line-height: 1.5; }

.breadcrumb {
  margin: 1em 0;
  font-size: 0.75rem;
}

img { max-width: 100%; height: auto; }

.content img.image-preview,
.content .image-preview {
  padding: 2px;
  border: 6px solid #333;
}

/* Obrázky vsazené do textu. Pravidla jsou převzatá z modulu img_assist
   a z původní šablony — bez `display: block` u popisku se plovoucí blok
   roztáhne na šířku celého popisku a text se zalomí do úzkého sloupce. */
span.inline .caption { display: block; }
span.right, span.inline-right { float: right; margin: 5px 0 5px 10px; }
span.left, span.inline-left { float: left; margin: 5px 10px 5px 0; }
span.inline-center { display: block; text-align: center; }
.inline img { border: 1px solid #000; }

/* <br class="clear" /> a .image-clear ukončují obtékání — beze změny
   z původní šablony a z modulu img_assist. */
.clear, .image-clear {
  display: block;
  clear: both;
  height: 1px;
  line-height: 0;
  font-size: 0;
  margin-bottom: -1px;
}

table, table.data {
  border-collapse: collapse;
  border: 2px solid var(--ram);
  max-width: 100%;
}
td, th { padding: 0.2em 0.4em; border: 1px solid var(--ram); }
/* Zarovnání doleva dělalo jádro Drupalu (modules/system/defaults.css),
   ne šablona. Bez něj by prohlížeč hlavičky řádků vycentroval. */
th { background: #ddd; text-align: left; }
table.nodata, table.nodata td { border: 0; padding: 0; }

/* široké tabulky se posouvají uvnitř sebe, ne celou stránkou */
.node table { display: block; overflow-x: auto; }

/* --- fotogalerie --- */

/* Galerie — stejná pravidla pro výpisy generované šablonou i pro galerie
   vsazené přímo do textu stránek. Obojí používá značkování div.galitem
   z původního webu.

   Float, ne inline-block: mezi inline-block prvky vzniká mezera z bílého
   znaku v kódu a do řádku se pak vejdou jen tři dlaždice místo čtyř.
   Místo `height` u popisku je `min-height`, aby se delší názvy neořízly. */
.galitem {
  float: left;
  width: 168px;
  max-width: 100%;
  margin: 10px 15px 10px 0;
  border: 1px solid var(--galerie-ram);
  text-align: center;
}
/* Pevné výšky jsou z původní šablony a nejsou kosmetika: bez nich mají
   dlaždice různou výšku, plovoucí prvky se o sebe zachytávají a v řádku
   pak zůstane místo čtyř jediná. */
.galitem > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 170px;
  margin: 1px;
  background: #ccc;
  text-decoration: none;
}
.galitem > a:hover { background: #999; }
.galitem img {
  margin: 2px;
  border: 1px solid #fff;
  max-width: 160px;
  max-height: 164px;
}
.galitem p, .galitem p.title {
  height: 4.5em;
  overflow: hidden;
  margin: 4px 3px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9em;
  text-align: center;
}
.galitem br { display: none; }
.galerie li a { display: block; text-decoration: none; }
.galerie li img { display: block; margin: 0 auto; }
.galerie li span { display: block; font-size: 0.8rem; padding: 4px 2px; }

.stitky { font-size: 0.8rem; margin: 1em 0; }
.stitky a { margin-right: 0.6em; }

.skupina-stitku { list-style: none; padding: 0; column-width: 14em; }

/* --- navigace v knize --- */

.podstranky ul { margin: 1em 0; }

.book-navigation {
  display: flex;
  justify-content: space-between;
  gap: 1em;
  border-top: 1px solid #888;
  border-bottom: 1px solid #888;
  padding: 0.5em 0;
  margin: 2em 0 1em;
  font-size: 0.85rem;
}
.book-navigation .page-next { text-align: right; }

.zmeneno { font-size: 0.75rem; color: #555; }

/* --- výpisy --- */

.vypis { list-style: none; padding: 0; }
.vypis li { margin: 0.6em 0; }
.vypis .datum { color: #555; font-size: 0.8rem; }

/* --- mapa --- */

.mapa {
  height: 420px;
  max-height: 70vh;
  margin: 1em 0;
  border: 1px solid var(--ram);
  background: #e8e8e8;
}
/* Mapy dědily z původních stránek plovoucí rámeček s pevnou šířkou v pixelech.
   Na mobilu by přetékal, a mapa vypadá líp přes celou šířku textu. */
div:has(> .mapa) {
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 1em 0 !important;
  border: 0 !important;
  padding: 0 !important;
}

.mapa:empty::before {
  content: "Map data is loading…";
  display: block;
  padding: 1em;
  color: #666;
  font-size: 0.85rem;
}
.leaflet-popup-content { font-size: 0.85rem; }

/* --- vyhledávání --- */

.vyhledavani { margin: 1em 0; }

/* --- patička --- */

#footer {
  clear: both;
  padding: 0.5em 1em 1em;
}
#footer p {
  border-top: 1px solid var(--ram);
  text-align: center;
  padding-top: 0.5em;
  font-size: 0.8rem;
}

/* --- mobil --- */

@media (max-width: 700px) {
  #body-wrap { margin: 0; border: 0; }

  #header { padding-bottom: 0.5em; }
  #site-name { font-size: 1.25rem; }
  #top-nav { margin-top: 3.5rem; }

  #prepinac-menu {
    display: block;
    margin: 0.4em 0;
    padding: 0.4em 0.8em;
    background: var(--tmava);
    color: var(--svetla);
    border: 1px solid var(--svetla);
    font: inherit;
    font-weight: bold;
    cursor: pointer;
  }
  #top-nav ul {
    display: none;
    flex-direction: column;
    padding-bottom: 0.5em;
  }
  #top-nav ul.otevreno { display: flex; }
  #top-nav li a { padding: 0.5em 0; }

  /* plovoucí obrázky na úzké obrazovce vedle sebe nedávají smysl */
  span.right, span.left, span.inline-right, span.inline-left {
    float: none;
    display: block;
    margin: 1em 0;
  }
  span.inline .caption { width: auto !important; }

  /* Pevných 168 px by na mobilu nechalo v řádku jedinou dlaždici */
  .galitem {
    width: calc(50% - 8px);
    margin: 8px 8px 8px 0;
  }

  .book-navigation { flex-direction: column; }
  .book-navigation .page-next { text-align: left; }

  .mapa { height: 320px; }
}
