:root{
  --bg: #ffffff; --text:#141518; --muted:#6b7280;
  --accent:#1f2937; /* rovnaký akcent ako na indexe */
  --accent-ink:#ffffff;
  --card:#f6f7fb; --radius:14px; --shadow:0 8px 20px rgba(0,0,0,.08);
  --ring: rgba(47,109,246,.28);
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0f1115; --text:#eef1f7; --muted:#b5bcc9; --card:#171a21; --accent:#e5e7eb; --accent-ink:#0f1115 }
}

body{margin:0; font:16px/1.6 system-ui, sans-serif; color:var(--text); background:var(--bg)}
.container{max-width:720px; margin:0 auto; padding:40px 20px}
h1{font-size:2rem; margin-bottom:.5em}
p{color:var(--muted)}
form{display:grid; gap:18px; background:var(--card); padding:28px; border-radius:var(--radius); box-shadow:var(--shadow)}
label{font-weight:600}
input,
textarea {
  width: 97.5%;
  padding: .8em;
  padding-right: 0.1em;
  border: 1px solid #d1d5db;
  border-radius: calc(var(--radius) - 4px);
  font: inherit;
  resize: vertical;
  background: #fff;
  color: var(--text);
  box-shadow: var(--shadow);
}
@media (prefers-color-scheme: dark){
  input,textarea{background:#0f1115; border-color:#2b2f37; color:var(--text)}
}
input::placeholder,textarea::placeholder{color:rgba(107,114,128,.85)}
input:focus,textarea:focus{outline:3px solid var(--ring); border-color:var(--accent)}

.btn,
button,
input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.9em 1.4em; border-radius:14px; font-weight:700;
  background:var(--accent); color:var(--accent-ink); border:1px solid transparent;
  box-shadow:var(--shadow); cursor:pointer;
  transition: transform .06s ease, filter .18s ease, opacity .18s ease, background .18s ease;
  text-decoration:none;
}
.btn:disabled,
button:disabled,
input[type="submit"]:disabled{
  opacity:.5;
  cursor:not-allowed;
  filter:none;
  transform:none;
}
.btn:hover:not(:disabled){filter:brightness(1.03)}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn:focus-visible{outline:3px solid var(--ring); outline-offset:2px}
.gdpr-wrap label {
  display: flex;
  align-items: center;
  gap: .5em;
  font-weight: 400;
  color: var(--text);
}
input[type="checkbox"] {
  width: auto;
  margin: 0;
  transform: translateY(1px);
}
.success{background:#ecfdf5; border:1px solid #10b981; padding:12px; border-radius:var(--radius); color:#065f46}
@media (max-width: 900px) {

  .container {
    padding: 32px 22px;
  }

  form {
    padding: 24px;
    gap: 16px;
  }

  input,
  textarea {
    width: 97%; /* nech sa nestláčajú */
    font-size: 16px;
  }

  h1 {
    font-size: 1.8rem;
    text-align: center;
  }

  .btn {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 600px) {

  .container {
    padding: 28px 16px;
  }

  form {
    padding: 20px;
    border-radius: 12px;
  }

  input,
  textarea {
    padding: 0.75em;
    font-size: 15px;
    width: 93%;
  }

  textarea {
    rows: 5; /* trocha menší default */
  }

  h1 {
    font-size: 1.6rem;
    margin-bottom: 0.4em;
    text-align: center;
  }

  /* GDPR checkbox – lepšia čitateľnosť */
  .gdpr-wrap label {
    font-size: 15px;
    line-height: 1.4;
    gap: 0.6em;
  }

  input[type="checkbox"] {
    transform: scale(1.05);
  }

  /* Submit button */
  .btn {
    padding: 0.85em 1.2em;
    font-size: 15px;
    width: 100%; /* na mobile lepšie */
  }
}

@media (max-width: 400px) {

  form {
    padding: 18px;
    gap: 14px;
  }

  input,
  textarea {
    font-size: 14px;
    padding: 0.7em;
    width: 93%;
  }

  .btn {
    padding: 0.75em 1.1em;
    font-size: 14px;
  }
}

.modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,17,21,.55);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:100;
}
.modal{
  background:var(--card);
  border-radius:var(--radius);
  padding:22px 24px;
  box-shadow:var(--shadow);
  max-width:320px;
  margin:0 16px;
  text-align:center;
}
.modal-backdrop[aria-hidden="false"]{
  display:flex;
}
.modal h2{
  margin-top:0;
  margin-bottom:.4em;
  font-size:1.2rem;
}
.modal p{
  margin:0 0 1em;
  color:var(--muted);
}

/* Modern button hover */
.btn,
.nav-cta {
  transition: transform 0.18s ease, box-shadow 0.2s ease, filter 0.18s ease;
}

.btn:hover,
.nav-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
}

.btn:active,
.nav-cta:active {
  transform: translateY(0);
  box-shadow: var(--shadow);
}

/* Card hover */
.card {
  transition: transform 0.20s ease, box-shadow 0.25s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(0,0,0,.14);
}

/* Image hover */
.hero-media img,
.card img {
  transition: transform .35s ease, filter .3s ease;
}

.hero-media img:hover,
.card img:hover {
  transform: scale(1.02);
  filter: brightness(1.04);
}

/* Footer links */
footer a {
  transition: color .15s ease;
}

footer a:hover {
  color: var(--accent);
}
