/* ==========================================================================
   1. ZÁKLADNÍ NASTAVENÍ DOKUMENTU
   ========================================================================== */

html {
  line-height: 1.15; /* Standardní řádkování */
  -webkit-text-size-adjust: 100%; /* Zabrání iOS zvětšovat písmo při rotaci */
}

body {
  margin: 0;
}

main {
  display: block;
}

/* ==========================================================================
   2. PŘÍSTUPNOST (A11Y) - VAŠE ÚPRAVA
   ========================================================================== */

/* Vizuální indikátor pro navigaci klávesnicí */
/* 1. Odstraníme výchozí outline prohlížeče pro všechna zaměření (myš i klávesnice), 
   abychom předešli zdvojeným čarám */
:focus {
  outline: none;
}

/* 2. Definujeme styl POUZE pro navigaci klávesnicí */
:focus-visible {
  outline: 3px solid white;
  outline-offset: 4px;
  border-radius: 4px;
}

/* 3. Pojistka pro prohlížeče, které by mohly aplikovat focus-visible i na kliknutí 
   (volitelné, ale doporučené pro čistý design u tlačítek a odkazů) */
:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/* Skryje focus při kliknutí myší, ponechá pro klávesnici */
:focus:not(:focus-visible) {
  outline: none;
}

/* ==========================================================================
   3. TEXT A PRVKY
   ========================================================================== */

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace; /* Oprava font stacku */
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub { bottom: -0.25em; }
sup { top: -0.5em; }

img {
  border-style: none; /* Pro starší IE, neuškodí nechat */
}

/* ==========================================================================
   4. FORMULÁŘE A INTERAKTIVNÍ PRVKY (PRO RESET)
   ========================================================================== */

/* Sjednocení fontů ve formulářích */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

/* --- BUTTON RESET (Hard Reset) --- */
/* Odstraní veškeré nativní stylování tlačítek (včetně iOS bublin) */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

/* Odstranění vnitřního paddingu a borderu ve Firefoxu */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Obnovení focus ringu pro Firefox (pokud by selhal focus-visible) */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/* Ostatní form prvky */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield; 
  appearance: textfield;
  outline-offset: -2px;
  box-sizing: border-box;
}
[type="search"]::-webkit-search-decoration,
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-results-button,
[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/* Skryté prvky */
[hidden],
template {
  display: none;
}