/* Base */
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: #08111f;
  font-family: Inter, system-ui, sans-serif;
}
::selection {
  background: #35b8ff;
  color: #08111f;
}

/* Animations */
@keyframes drawLine {
  from {
    stroke-dashoffset: 1400;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes floatUp {
  from {
    transform: translateY(8px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Accordions (rozbalovací boxy) */
summary {
  list-style: none;
  cursor: pointer;
  transition: background 0.15s;
}
summary::-webkit-details-marker {
  display: none;
}
.rm-chev {
  transition: transform 0.22s ease;
}
details[open] summary .rm-chev {
  transform: rotate(180deg);
}
details .rm-detail {
  animation: floatUp 0.28s ease;
}

/* Hover states */
a {
  transition:
    color 0.15s,
    filter 0.15s,
    transform 0.15s,
    background 0.15s;
}
.lnk:hover {
  color: #e8eef6 !important;
}
.bp:hover {
  filter: brightness(1.08);
}
.bpu:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}
.strava:hover {
  background: rgba(255, 181, 71, 0.16) !important;
}
.lift:hover {
  transform: translateY(-2px);
}
.accsum:hover {
  background: rgba(255, 255, 255, 0.02);
}

/* Mobil (<=760px): přepisuje inline styly přes !important */
@media (max-width: 760px) {
  /* Vodorovné odsazení sekcí */
  .pad {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Header: jen logo + CTA, textové odkazy skryté */
  .site-nav {
    gap: 12px !important;
  }
  .site-nav .lnk {
    display: none !important;
  }

  /* Hero: sloupec místo dvou sloupců, menší svislé odsazení */
  .hero {
    flex-direction: column !important;
    gap: 32px !important;
    padding-top: 32px !important;
    padding-bottom: 36px !important;
  }
  .hero h1 {
    font-size: 32px !important;
  }

  /* Karty: zruš pevnou min-šířku, ať se vejdou do 360px */
  .hero-card,
  .team-card {
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  /* Nadpisy sekcí menší */
  h2 {
    font-size: 26px !important;
  }

  /* Feature grid: jeden sloupec */
  .feat-grid {
    grid-template-columns: 1fr !important;
  }

  /* Strava box: sloupec a menší padding */
  .strava-box {
    flex-direction: column !important;
    padding: 32px 24px !important;
    gap: 24px !important;
  }
}
