/* Slniečko – zdieľané základné štýly. Väčšina vzhľadu je riešená inline (1:1 podľa dizajnu). */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: 'Nunito', sans-serif;
}

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

input, textarea, button, select { font-family: inherit; }

button { cursor: pointer; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid #e07a3f;
  outline-offset: 2px;
}

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Cookie lišta – skrytá kým JS/localStorage nerozhodne */
#cookie-banner { display: none; }
#cookie-banner.show { display: flex; }

/* Banery s výsledkom odoslania formulára – skryté kým ich JS neodkryje podľa ?parametra */
[data-success-banner] { display: none; }

/* Responzívne mriežky – originál používa pevné počty stĺpcov, tu ich na malých obrazovkách zredukujeme */
@media (max-width: 900px) {
  [style*="grid-template-columns:repeat(4"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [style*="grid-template-columns:repeat(3"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
  [style*="grid-template-columns:repeat(4"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns:repeat(3"] { grid-template-columns: 1fr !important; }
  [style*="grid-template-columns:repeat(2"] { grid-template-columns: 1fr !important; }
}
