/* ==========================================================================
   HOMEPAGE
   ========================================================================== */

/* ==========================================================================
   1. Layout
   ========================================================================== */

.home-main {
    width: 100%;
    overflow: hidden;
}

.home-main {
    width: 100%;
    overflow: hidden;
    background: #fff;
}
.home-main > section {
    width: min(
        calc(100% - (2 * var(--lp-container-gutter))),
        var(--lp-container-max)
    );
    margin-inline: auto;
}


/* ==========================================================================
   2. Hero
   ========================================================================== */

.home-hero {
  border-bottom: var(--lp-border);
}

.home-hero__main {
  display: grid;
  min-height: 24rem;

grid-template-columns:
  minmax(0, 48fr)
  minmax(0, 52fr);

  align-items: stretch;
  gap: 1rem;

  padding-block:
    3rem
    4rem;
}

.home-hero__copy {
    position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;

  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.home-hero__title {
  z-index: 1;
  max-width: 40rem;
  margin: 0;

  font-size: clamp(
    3.5rem,
    4.55vw,
    3.75rem
  );
  line-height: 1.06;
}

.home-hero__title span {
  display: block;
}

.home-hero__lead {
  max-width: 30rem;
  margin: 1.25rem 0 0;

  color: var(--lp-color-text-secondary);

  font-size: 1rem;
  line-height: 1.5;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;

  align-items: center;
  gap: 1.5rem;

  margin-top: 1.5rem;
}

.home-hero__primary-action {
  min-width: 9rem;
}

.home-hero__secondary-action {
  display: inline-flex;

  align-items: center;
  gap: var(--lp-space-2);

  padding-bottom: 0.2rem;

  border-bottom: 2px solid var(--lp-color-pollen);

  color: var(--lp-color-link);
  text-decoration: none;
}

.home-hero__secondary-action > span {
  color: var(--lp-color-pollen);
}

.home-hero__visual {
  position: relative;
  z-index: 0;

  min-width: 0;
  height: 100%;
}

.home-hero__visual img {
  position: absolute;

  right: 0;
bottom: -4rem;

  display: block;

 width: 56rem;
max-width: none;
max-height: none;

  object-fit: contain;
}
  /* ==========================================================================
   4. Flying now
   ========================================================================== */

.home-flying {
    padding-block: var(--lp-space-16);
    border-bottom: var(--lp-border);
}

.home-flying__layout {
    display: grid;

    grid-template-columns:
        13.5rem
        minmax(0, 1fr);

    align-items: start;
    gap: var(--lp-space-6);
}

.home-flying__intro {
    display: flex;
    min-width: 0;

    flex-direction: column;
    align-items: flex-start;
}

.home-flying__intro h2 {
    margin: 0;
}

.home-flying__intro p {
    max-width: 30ch;
    margin: var(--lp-space-4) 0 0;

    color: var(--lp-color-muted);
}

.home-flying__intro .btn {
    margin-top: var(--lp-space-6);
}

.home-flying__grid {
    display: grid;
    min-width: 0;

    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: var(--lp-space-3);
}

.home-flying-species {
    min-width: 0;
    overflow: hidden;

    border: var(--lp-border);
    border-radius: var(--lp-radius-panel);

    background: var(--lp-color-surface);

    transition:
        border-color var(--lp-duration-fast) var(--lp-ease),
        transform var(--lp-duration-base) var(--lp-ease);
}

.home-flying-species:hover {
    border-color: var(--lp-color-line-strong);
    transform: translateY(-2px);
}

.home-flying-species__link {
    display: flex;
    height: 100%;
    min-width: 0;

    color: inherit;
    text-decoration: none;

    flex-direction: column;
}

.home-flying-species__illustration {
    display: flex;
    width: 100%;
    aspect-ratio: 5 / 3;

    padding: var(--lp-space-3);

    align-items: center;
    justify-content: center;
}

.home-flying-species__illustration img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;

    object-fit: contain;

    transition:
        transform var(--lp-duration-base) var(--lp-ease);
}

.home-flying-species:hover
.home-flying-species__illustration img {
    transform: scale(1.025);
}

.home-flying-species__body {
    min-width: 0;
    padding:
        var(--lp-space-2)
        var(--lp-space-4)
        var(--lp-space-3);

    text-align: center;
}

.home-flying-species__latin {
    margin: 0;

    overflow-wrap: anywhere;

    color: var(--lp-color-ink);
    font-family: var(--lp-font-display);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.25;
    margin-bottom: 0.15rem;
}

.home-flying-species__sk {
    margin: 0;

    color: var(--lp-color-muted);
    font-size: var(--lp-type-small-size);
    line-height: var(--lp-type-small-line);
}

.home-flying-species__activity {
    display: flex;
    min-height: 3.5rem;

    margin-top: auto;
padding:
    var(--lp-space-1)
    var(--lp-space-3);
    border-top: var(--lp-border);

    align-items: center;
    justify-content: center;
    gap: var(--lp-space-2);
}

.home-flying-species__activity-icon {
    display: block;
    width: 2.5rem;
    height: 2.5rem;

    flex: 0 0 2.5rem;
    object-fit: contain;
}
/* ==========================================================================
   5. Atlas search
   ========================================================================== */
/* ==========================================================================
   5. Discover / Atlas
   ========================================================================== */

.home-discover {
  padding: 0;
}


/* ==========================================================================
   Section header
   ========================================================================== */

.home-discover__header {
  width: min(100%, 50rem);
  min-height: 4.125rem;

  margin-inline: auto;
  padding-block:
    var(--lp-space-6)
    var(--lp-space-6);

  text-align: center;
}

.home-discover__title {
  margin: 0;
  letter-spacing: 0.01em;
}

.home-discover__title span {
  display: inline;
}

.home-discover__lead {
  margin:
    0.375rem
    0
    0;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-small-size);
  line-height: 1.5;
}


/* ==========================================================================
   Main three-column composition
   ========================================================================== */

.home-discover__story {
  display: grid;

  min-height: 45.5rem;

  grid-template-columns:
    minmax(0, 19.2fr)
    minmax(0, 28.0fr)
    minmax(0, 52.8fr);


  align-items: stretch;

  margin: 0;

}

.home-discover__clues,
.home-discover__species,
.home-discover__knowledge {
  min-width: 0;

  padding:
    1.125rem
    1rem;
}

.home-discover__knowledge {
  padding-inline: 1.125rem;
}


.home-discover__knowledge {
  position: relative;
}

.home-discover__knowledge::before {
  position: absolute;

  top: 3rem;
  bottom: 3rem;
  left: 0;

  width: 1px;

background: var(--lp-color-border);

  content: "";
}
.home-discover__eyebrow {
  margin: 0 0 1.25rem;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: uppercase;
}

.home-discover__clues > .home-discover__eyebrow,
.home-discover__knowledge > .home-discover__eyebrow {
  padding-bottom: 0.75rem;

  border-bottom: var(--lp-border);
}

.home-discover__species > .home-discover__eyebrow {
  padding-bottom: 0.75rem;

  border-bottom: 0;
}


/* ==========================================================================
   Column 1 — Čo vieme
   ========================================================================== */

.home-discover__clues {
  position: relative;

  display: flex;

  flex-direction: column;
  align-items: stretch;
}

.home-discover__clues::after {
  position: absolute;

  top: 6.5rem;
  right: -0.45rem;
  bottom: 11.5rem;

  width: 0.9rem;

  border-top: 1px solid var(--lp-color-border);
  border-right: 1px solid var(--lp-color-border);
  border-bottom: 1px solid var(--lp-color-border);
  content: "";
  pointer-events: none;
}


.home-discover-clue:first-of-type {
  transform: translateY(4px);
}

.home-discover-clue + .home-discover-clue {
  margin-top: 0.1rem;
}

.home-discover-clue img {
  display: block;

    width: 95%;
  aspect-ratio: 4 / 3;

  object-fit: cover;

  border-radius: var(--lp-radius-media);
  padding-bottom: 0.5rem;
}

.home-discover-clue--plant {
   margin-top: 0.75rem;
}

.home-discover-clue--plant img {
  width: auto;
  height: 13rem;
  max-width: 100%;
  margin-inline: 0;

  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 0;
}


.home-discover-clue figcaption {
  margin-top: 0.05rem;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.4;
}

.home-discover-month {
  margin-top: 1.75rem;
  padding: 0;

}
.home-discover-month strong {
  display: block;
    position: relative;
  left: 1.8rem;

  margin-bottom: 10px;

  color: var(--lp-color-identity);

  font-family: var(--lp-font-display);
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
}

.home-discover-month span {
  display: block;

  margin-top: 1rem;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.4;
}

.home-discover__plant-name {
  margin-top: -0.5em;

  color: var(--lp-color-text);
  font-weight: 600;
}


/* ==========================================================================
   Column 2 — Vedie nás to k druhu
   ========================================================================== */

.home-discover__species {
  position: relative;
  text-align: center;
}

.home-discover__species::before {
  position: absolute;

  top: 19.5rem;
  left: 0.4rem;

  width: 3.25rem;
  height: 1px;

background: var(--lp-color-border);

  content: "";
  pointer-events: none;
}
.home-discover__species::after {
  position: absolute;

  top: 19.5rem;
  right: 0rem;

  width: 3.25rem;
  height: 1px;

background: var(--lp-color-border);

  content: "";
  pointer-events: none;
}

.home-discover-species-focus {
  display: flex;

  width: 100%;
  margin:
    3rem
    0
    0;

  flex-direction: column;
  align-items: center;
}

.home-discover-species-focus img {
  display: block;

  width: min(100%, 21rem);
  aspect-ratio: 4 / 3;

  object-fit: contain;
}

.home-discover-species-focus figcaption {
  width: 100%;
  margin-top: 1rem;

  text-align: center;
}

.home-discover-species-focus figcaption em {
  display: block;

  color: var(--lp-color-identity);

  font-family: var(--lp-font-display);
  font-size: 1.4rem;
  line-height: 1.3;
}

.home-discover-species-focus figcaption span {
  display: block;

  margin-top: 0.25rem;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-small-size);
  line-height: 1.4;
}
.home-discover-species-focus figcaption::after {
  display: block;

  width: 2.75rem;
  height: 2px;

  margin:
    var(--lp-space-3)
    auto
    0;

  background: var(--lp-color-pollen);

  content: "";
}

/* ==========================================================================
   Column 3 — Atlas otvára svet poznania
   ========================================================================== */

.home-discover__knowledge {
  display: flex;

  flex-direction: column;
}


/* --------------------------------------------------------------------------
   Three species photographs
   -------------------------------------------------------------------------- */

.home-discover__species-row {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 0.625rem;

  padding-bottom: 0.5rem;

}

.home-discover-species-card {
  min-width: 0;
  margin: 0;
}

.home-discover-species-card img {
  display: block;

  width: 100%;
  aspect-ratio: 4 / 3;

  object-fit: cover;

  border-radius: var(--lp-radius-media);
}

.home-discover-species-card figcaption {
  min-height: 2.5rem;

  margin-top: 0.5rem;
}

.home-discover-species-card figcaption em {
  display: block;

  overflow-wrap: anywhere;

  color: var(--lp-color-identity);

  font-family: var(--lp-font-display);
  font-size: 0.9rem;
  line-height: 1.3;
}

.home-discover-species-card figcaption span {
  display: block;

  margin-top: 0.125rem;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.3;
}


/* --------------------------------------------------------------------------
   Biology row
   -------------------------------------------------------------------------- */

.home-discover__biology {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 1.45fr);

  align-items: start;
  gap: 0.625rem;

  margin: 0;

  padding-block: 1rem;
}

.home-discover-biology-item {
  min-width: 0;
  margin: 0;
}

.home-discover-biology-item img {
  display: block;

  width: 100%;
  height: 7rem;
aspect-ratio: 1 / 1;

  object-fit: cover;

  border-radius: var(--lp-radius-media);
}

.home-discover-biology-item figcaption {
  margin-top: 0.5rem;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.35;
}


/* --------------------------------------------------------------------------
   Development stages
   -------------------------------------------------------------------------- */

.home-discover-stages-block {
  min-width: 0;
}

.home-discover-stages {
  display: grid;


  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 0.5rem;
}

.home-discover-stages img {
  display: block;

  width: 100%;
  height: 7rem;

  object-fit: cover;

  border-radius: var(--lp-radius-media);
}

.home-discover-stages__label {
  display: flex;

  width: 100%;
  margin: 0.75rem 0 0;

  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;

  color: var(--lp-color-text);

  font-size: var(--lp-type-label-size);
  line-height: 1.35;
  text-align: center;
}

.home-discover-stages__label strong {
  font-weight: 600;
}

.home-discover-stages__label span {
  margin: 0;

  color: var(--lp-color-text-muted);
  font-weight: 400;
}


/* --------------------------------------------------------------------------
   Distribution
   -------------------------------------------------------------------------- */

.home-discover__distribution {
  display: grid;

  grid-template-columns:
    minmax(0, 63.5fr)
    minmax(0, 36.5fr);

  align-items: center;
  gap: 0.5rem;

  margin: 0;

  padding-top: 1rem;
}

.home-discover__map {
  position: relative;
  z-index: 0;

  width: 100%;
  height: 12.5rem;

  overflow: hidden;

  border-radius: var(--lp-radius-media);
}

.home-discover__map .leaflet-tile-pane {
  filter:
    saturate(0.25)
    contrast(0.86)
    brightness(1.1);
}

.home-discover__distribution p {
  margin: 0;

  color: var(--lp-color-text);

  font-size: var(--lp-type-small-size);
  line-height: 1.45;
}

.home-discover__distribution p span {
  display: block;

  margin-top: 0.25rem;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.4;
}


/* ==========================================================================
   CTA row
   ========================================================================== */

.home-discover__actions {
  display: flex;

  min-height: 2.75rem;
padding-bottom: 1rem;
  margin: 0;

  align-items: center;
  justify-content: center;
  gap: 1.25rem;

  border-bottom: var(--lp-border);
}

.home-discover__actions .lp-button {
  min-width: 9.5rem;
}

.home-discover__search-link {
  display: inline-flex;
  align-items: center;
  gap: var(--lp-space-2);

  padding-bottom: 0.25rem;
  margin-left: 1rem;

  border-bottom: 2px solid var(--lp-color-pollen);

  color: var(--lp-color-identity);
  text-decoration: none;
}

.home-discover__search-link span {
  color: var(--lp-color-pollen);
}

/* ==========================================================================
   6. Live activity
   ========================================================================== */

.home-live-section {
    padding-block: var(--lp-space-16);
    border-bottom: var(--lp-border);
}

.home-live__header {
    display: flex;
    margin-bottom: var(--lp-space-8);

    align-items: flex-end;
    justify-content: space-between;
    gap: var(--lp-space-8);
}

.home-live__header h2 {
    margin-top: var(--lp-space-2);
}

.home-live__header p {
    margin-top: var(--lp-space-2);
    color: var(--lp-color-muted);
}

.home-live-layout {
    display: grid;
    min-width: 0;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(22rem, 0.85fr);

    align-items: stretch;
    gap: var(--lp-space-6);
}


/* Mapa
   -------------------------------------------------------------------------- */

.home-live-map {
    min-width: 0;
    overflow: hidden;

    border: var(--lp-border);
    border-radius: var(--lp-radius-panel);

    background: var(--lp-color-surface);
}

#home-live-map {
    width: 100%;
    min-height: 34rem;
}

.home-live-map__status {
    min-height: 2.5rem;
    padding:
        var(--lp-space-2)
        var(--lp-space-4);

    border-top: var(--lp-border);

    color: var(--lp-color-muted);
    font-size: var(--lp-type-small-size);
    line-height: var(--lp-type-small-line);
}


/* Feed
   -------------------------------------------------------------------------- */

.home-live-feed {
    display: grid;
    min-width: 0;

    align-content: start;
    gap: var(--lp-space-3);
}

.home-live-item {
    min-width: 0;
    overflow: hidden;

    border: var(--lp-border);
    border-radius: var(--lp-radius-panel);

    background: var(--lp-color-surface);

    transition:
        border-color var(--lp-duration-fast) var(--lp-ease),
        transform var(--lp-duration-base) var(--lp-ease);
}

.home-live-item:hover {
    border-color: var(--lp-color-line-strong);
    transform: translateY(-1px);
}

.home-live-item__link {
    display: grid;
    min-width: 0;

    grid-template-columns:
        7.5rem
        minmax(0, 1fr);

    color: inherit;
    text-decoration: none;
}

.home-live-item__media {
    min-width: 0;
    overflow: hidden;

    aspect-ratio: 4 / 3;

    background: var(--lp-color-sky-soft);
}

.home-live-item__media img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform var(--lp-duration-base) var(--lp-ease);
}

.home-live-item:hover
.home-live-item__media img {
    transform: scale(1.025);
}

.home-live-item__media-placeholder {
    display: block;
    width: 100%;
    height: 100%;

    background:
        linear-gradient(
            145deg,
            var(--lp-color-sky-soft),
            var(--lp-color-surface)
        );
}

.home-live-item__content {
    display: flex;
    min-width: 0;

    padding:
        var(--lp-space-3)
        var(--lp-space-4);

    flex-direction: column;
    justify-content: center;
}

.home-live-item__time {
    display: block;

    margin-bottom: var(--lp-space-1);

    color: var(--lp-color-muted);
}

.home-live-item__latin {
    display: block;

    margin: 0;

    overflow-wrap: anywhere;

    color: var(--lp-color-ink);
    font-family: var(--lp-font-display);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.25;
}

.home-live-item__sk {
    display: block;

    margin-top: var(--lp-space-1);

    color: var(--lp-color-text);
    font-size: var(--lp-type-small-size);
    line-height: var(--lp-type-small-line);
}

.home-live-item__locality {
    display: block;

    margin-top: var(--lp-space-2);

    color: var(--lp-color-muted);
    font-size: var(--lp-type-small-size);
    line-height: var(--lp-type-small-line);
}

.home-live__empty {
    padding: var(--lp-space-6);

    border: var(--lp-border);
    border-radius: var(--lp-radius-panel);

    color: var(--lp-color-muted);
}

.home-live-item__locality {

    display: block;

    margin-top: var(--lp-space-3);

    color: var(--lp-color-muted);

    font-size: .9rem;
}

/* ==========================================================================
   7. Contribution
   ========================================================================== */

.home-contribute {
  padding-block: 0;

}

.home-contribute__lead {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);

  align-items: stretch;
  gap: 0;
}

.home-contribute__intro {
  display: flex;

  min-width: 0;
  max-width: none;

  padding:
    var(--lp-space-10)
    clamp(2rem, 4vw, 4rem)
    var(--lp-space-10)
    0;

  flex-direction: column;
  justify-content: center;
}

.home-contribute__title {
  margin-top: var(--lp-space-2);
}

.home-contribute__text {
  max-width: 34rem;

  margin:
    var(--lp-space-3)
    0
    0;

  color: var(--lp-color-text-secondary);

  font-size: 1rem;
  line-height: 1.55;
}

.home-contribute__primary {
  max-width: 34rem;

  margin-top: var(--lp-space-6);
}

.home-contribute__primary-title {
  margin: 0;

  color: var(--lp-color-identity);

  font-family: var(--lp-font-display);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
}

.home-contribute__primary-text {
  max-width: 30rem;

  margin:
    var(--lp-space-2)
    0
    0;

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-small-size);
  line-height: 1.5;
}

.home-contribute__open {
  margin-top: var(--lp-space-4);
}

.home-contribute__diary {
  margin:
    auto
    0
    0;

  padding-top: var(--lp-space-10);

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.45;
}
.home-contribute__diary a {
  color: var(--lp-color-identity);

  font-weight: 600;
  text-decoration: none;
}

.home-contribute__diary a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.home-contribute__visual {
  min-width: 0;
  min-height: 22rem;

  overflow: hidden;
}

.home-contribute__visual img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  border: 0;
  border-radius: 0;
}
/* Expanded form
   -------------------------------------------------------------------------- */

.home-contribute__form-panel {
    margin-top: var(--lp-space-10);
    padding-top: var(--lp-space-8);
     padding-bottom: var(--lp-space-10);

    border-top: var(--lp-border);
}

.home-contribute__notice {
    max-width: 56rem;
    margin-bottom: var(--lp-space-8);
}

.home-contribute__notice strong {
    display: block;

    color: var(--lp-color-ink);
}

.home-contribute__notice p {
    margin-top: var(--lp-space-2);

    color: var(--lp-color-muted);
    font-size: var(--lp-type-small-size);
    line-height: var(--lp-type-small-line);
}


/* Form
   -------------------------------------------------------------------------- */

.home-contribute-form__honeypot {
  position: absolute;

  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;

  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);

  white-space: nowrap;
}

.home-contribute-form {
    max-width: 64rem;
}

.home-contribute-form__fields {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

gap:
    var(--lp-space-4)
    var(--lp-space-5);
}

.home-contribute-form__field {
    display: grid;
    min-width: 0;

    align-content: start;
    gap: var(--lp-space-2);
}

.home-contribute-form__field--photo,
.home-contribute-form__field--note {
    grid-column: 1 / -1;
}

.home-contribute-form__field > span {
    color: var(--lp-color-ink);
    font-size: var(--lp-type-small-size);
    font-weight: 700;
    line-height: 1.3;
}

.home-contribute-form__field input:not([type="file"]),
.home-contribute-form__field textarea {
  width: 100%;
  min-height: var(--lp-control-height);

  padding: 0.68rem 0.85rem;

  border: var(--lp-border);
  border-radius: var(--lp-radius-control);

  background: var(--lp-color-surface-v1);
  color: var(--lp-color-text-primary);
}

.home-contribute-form__field textarea {
    min-height: 5rem;
    resize: vertical;
}

.home-contribute-form__field small {
    color: var(--lp-color-muted);
    font-size: var(--lp-type-small-size);
    line-height: var(--lp-type-small-line);
}


/* File input
   -------------------------------------------------------------------------- */
.home-contribute-form__field input[type="file"] {
  width: 100%;
  min-height: var(--lp-control-height);

  padding: var(--lp-space-3);

  border: var(--lp-border);
  border-radius: var(--lp-radius-control);

  background: var(--lp-color-surface-v1);
  color: var(--lp-color-text-primary);
}


.home-contribute-form__field input:focus,
.home-contribute-form__field textarea:focus {
  border-color: var(--lp-focus-color);
  outline: none;
  box-shadow: var(--lp-focus-ring);
}

/* Consents
   -------------------------------------------------------------------------- */

.home-contribute-form__consents {
  display: grid;

  margin-top: var(--lp-space-5);

  gap: var(--lp-space-3);
}

.home-contribute-form__consent {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items: start;
    gap: var(--lp-space-3);

    color: var(--lp-color-text);
    font-size: var(--lp-type-small-size);
    line-height: 1.5;
}

.home-contribute-form__consent input {
    width: 1.125rem;
    height: 1.125rem;

    margin-top: 0.15rem;

    accent-color: var(--lp-color-teal);
}

.home-contribute-form__consent-note {
    margin: 0 0 0 calc(1.125rem + var(--lp-space-3));

    color: var(--lp-color-muted);
    font-size: var(--lp-type-small-size);
    line-height: var(--lp-type-small-line);
}

.home-contribute-form__actions {
    margin-top: var(--lp-space-5);
}

/* ==========================================================================
   8. Numbers
   ========================================================================== */

   /* ==========================================================================
   8. Lepibase data / Numbers
   ========================================================================== */

.home-numbers-section {
  padding-block:
    var(--lp-space-10)
    var(--lp-space-12);

  border-bottom: var(--lp-border);
}

.home-numbers {
  margin: 0;
  padding: 0;

  border: 0;
  border-radius: 0;

  background: transparent;
  box-shadow: none;
}

.home-numbers__heading {
  max-width: 52rem;
  margin-inline: auto;

  text-align: center;
}

.home-numbers__title {
  margin: 0;
}

.home-numbers__grid {
  display: grid;

  max-width: 58rem;
  margin:
    var(--lp-space-6)
    auto
    0;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));
}

.home-number {
  min-width: 0;
  padding:
    var(--lp-space-2)
    var(--lp-space-6);

  text-align: center;
}

.home-number + .home-number {
  border-left: var(--lp-border);
}

.home-number__value {
  display: block;

  color: var(--lp-color-identity);

  font-family: var(--lp-font-display);
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 600;
  line-height: 1;
}

.home-number__label {
  display: block;
  margin-top: var(--lp-space-2);

  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Seasonality
   -------------------------------------------------------------------------- */

.home-seasonality {
  width: min(100%, 68rem);

  margin:
    var(--lp-space-6)
    auto
    0;
}
.home-seasonality__heading {
  display: flex;

  margin-top: var(--lp-space-3);

  align-items: baseline;
  justify-content: center;

  text-align: center;
}

.home-seasonality__title {
  color: var(--lp-color-text);

  font-size: var(--lp-type-label-size);
  font-weight: 650;
  line-height: 1.3;
}

.home-seasonality__meta {
  color: var(--lp-color-text-muted);

  font-size: var(--lp-type-label-size);
  line-height: 1.3;
}

.home-seasonality__chart {
  display: block;

  width: 100%;
height: 7rem;

  overflow: visible;
}

.home-seasonality__baseline {
  stroke: var(--lp-color-line);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.home-seasonality__day {
  stroke: var(--lp-color-identity);
  stroke-width: 3.45;

  opacity: 0.82;

  vector-effect: non-scaling-stroke;
}

.home-seasonality__point {
  display: none;
}

.home-seasonality__month {
  fill: var(--lp-color-text-muted);

  font-family: var(--lp-font-ui);
  font-size: 11px;

  text-anchor: middle;
}

/* ==========================================================================
   9. Responsive
   ========================================================================== */

   @media (max-width: 960px) {
  .home-hero__main {
    min-height: auto;

    grid-template-columns: 1fr;

    padding-block:
      var(--lp-space-10)
      var(--lp-space-8);
  }

  .home-hero__copy {
    max-width: 44rem;
  }

  .home-hero__visual {
    min-height: 24rem;
  }

  .home-hero__visual img {
    right: 50%;
    bottom: 0;

    max-width: 36rem;

    transform: translateX(50%);
  }
}
@media (max-width: 1200px) {

    .home-flying__grid {
        grid-template-columns: repeat(4, 1fr);
    }

}

@media (max-width: 960px) {

    .home-flying__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-flying__grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 640px) {

    .home-flying__grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 1200px) {
    .home-flying__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .home-flying__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-flying-species:nth-child(n) {
        padding-top: 0;
    }
}

@media (max-width: 560px) {
    .home-flying__grid {
        grid-template-columns: 1fr;
    }

    .home-flying-species__illustration {
        height: 15rem;
    }
}

@media (max-width: 960px) {
    .home-live__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-live-layout {
        grid-template-columns: 1fr;
    }

    #home-live-map {
        min-height: 28rem;
    }

    .home-live-feed {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .home-live-section {
        padding-block: var(--lp-space-12);
    }

    .home-live-feed {
        grid-template-columns: 1fr;
    }

    .home-live-item__link {
        grid-template-columns:
            6.5rem
            minmax(0, 1fr);
    }

    #home-live-map {
        min-height: 22rem;
    }
}

@media (max-width: 1000px) {
  .home-discover__story {
grid-template-columns:
  minmax(11rem, 0.8fr)
  minmax(16rem, 1.2fr)
  minmax(0, 2fr);
  }

  .home-discover__knowledge {
    grid-column: 1 / -1;

    border-top: var(--lp-border);
    border-left: 0;
  }

  .home-discover__biology {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .home-discover-stages,
  .home-discover-stages__label {
    grid-column: 1 / -1;
  }
}


@media (max-width: 680px) {
  .home-discover {
    padding-block:
      var(--lp-space-10)
      var(--lp-space-12);
  }

  .home-discover__header {
    text-align: left;
  }

  .home-discover__story {
    grid-template-columns: 1fr;
  }

  .home-discover__clues,
  .home-discover__species,
  .home-discover__knowledge {
    padding:
      var(--lp-space-5)
      0;
  }

  .home-discover__species,
  .home-discover__knowledge {
    border-top: var(--lp-border);
    border-left: 0;
  }

  .home-discover__species-row {
    grid-template-columns: 1fr;
  }

  .home-discover__biology {
    grid-template-columns: 1fr;
  }

  .home-discover-stages {
    grid-template-columns:
      repeat(4, minmax(4rem, 1fr));
  }

  .home-discover__distribution {
    grid-template-columns: 1fr;
  }

  .home-discover__map {
    min-height: 10rem;
  }

  .home-discover__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .home-discover__actions .lp-button {
    width: 100%;
    justify-content: center;
  }

  .home-discover__search-link {
    justify-content: center;
  }
}

@media (max-width: 680px) {
  .home-numbers__grid {
    grid-template-columns: 1fr;
  }

  .home-number {
    padding:
      var(--lp-space-5)
      0;
  }

  .home-number + .home-number {
    border-top: var(--lp-border);
    border-left: 0;
  }
}
@media (max-width: 960px) {
  .home-contribute__lead {
    grid-template-columns: 1fr;
    gap: var(--lp-space-8);
  }

  .home-contribute__visual {
    min-height: 18rem;
  }
}

@media (max-width: 680px) {
  .home-contribute {
    padding-block:
      var(--lp-space-10)
      var(--lp-space-12);
  }

  .home-contribute__visual {
    min-height: 14rem;
  }

  .home-contribute__open {
    width: 100%;
    justify-content: center;
  }
}
/* ==========================================================================
   Discover responsive
   ========================================================================== */

@media (max-width: 1000px) {

  .home-discover__story {
    min-height: 0;

    grid-template-columns:
      minmax(0, 40fr)
      minmax(0, 60fr);
  }

  .home-discover__knowledge {
    grid-column: 1 / -1;

    border-top: var(--lp-border);
    border-left: 0;
  }

  .home-discover__biology {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .home-discover-stages,
  .home-discover-stages__label {
    grid-column: 1 / -1;
  }
}


@media (max-width: 680px) {

  .home-discover__header {
    width: 100%;

    padding-block:
      var(--lp-space-8)
      var(--lp-space-6);

    text-align: left;
  }

  .home-discover__story {
    grid-template-columns: 1fr;
  }

  .home-discover__clues,
  .home-discover__species,
  .home-discover__knowledge {
    padding:
      var(--lp-space-5)
      0;
  }

  .home-discover__species,
  .home-discover__knowledge {
    border-top: var(--lp-border);
    border-left: 0;
  }

  .home-discover__species-row {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .home-discover__biology {
    grid-template-columns: 1fr;
  }

  .home-discover-stages {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }

  .home-discover-stages__label {
    grid-column: 1;
  }

  .home-discover__distribution {
    grid-template-columns: 1fr;
  }

  .home-discover__map {
    max-height: none;
  }

  .home-discover__actions {
    min-height: 0;

    padding-block:
      var(--lp-space-5);

    align-items: stretch;
    flex-direction: column;
  }

  .home-discover__actions .lp-button {
    width: 100%;

    justify-content: center;
  }

  .home-discover__search-link {
    min-height: auto;

    justify-content: center;
  }
}

/* Success správa po odoslaní fotografie */
.home-contribute__notice[role="status"] {
  position: fixed;
  z-index: 2000;
  top: 1.25rem;
  left: 50%;

  display: flex;
  align-items: flex-start;
  gap: 1rem;

  width: min(42rem, calc(100% - 2rem));
  padding: 1rem 1rem 1rem 1.25rem;

  transform: translateX(-50%);

  color: #3e343c;
  background: #f7f2f5;
  border: 1px solid rgba(50, 31, 46, 0.18);
  border-left: 4px solid #321f2e;
  border-radius: 0.5rem;
  box-shadow: 0 0.75rem 2rem rgba(50, 31, 46, 0.16);
}

.home-contribute__notice[role="status"] p {
  flex: 1;
  margin: 0;
}

.home-contribute__success-close {
  flex: 0 0 auto;

  width: 1.75rem;
  height: 1.75rem;
  padding: 0;

  color: #3e343c;
  background: transparent;
  border: 0;
  border-radius: 50%;

  font: inherit;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.home-contribute__success-close:hover,
.home-contribute__success-close:focus-visible {
  background: rgba(50, 31, 46, 0.08);
}

#home-discover-map .leaflet-pane svg {
  max-width: none;
  max-height: none;
}
#home-discover-map.leaflet-container {
  background: #f6f8f6;
}

.home-discover__map-legend {
  display: grid;
  gap: 0.32rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.78rem;
  line-height: 1.25;
  color: #666d68;
}

.home-discover__map-legend li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.home-discover__map-symbol {
  position: relative;
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  flex: 0 0 0.9rem;
  border-radius: 50%;
  background: #f8faf8;
}

.home-discover__map-symbol--a {
  border: 1.4px solid #1261a0;
}

.home-discover__map-symbol--b {
  width: 0.68rem;
  height: 0.68rem;
  margin-inline: 0.11rem;
  flex-basis: 0.68rem;
  border: 1.3px solid #d26a00;
}

.home-discover__map-symbol--c {
  width: 0.48rem;
  height: 0.48rem;
  margin-inline: 0.21rem;
  flex-basis: 0.48rem;
  border: 1.2px solid #7b3fb2;
}

.home-discover__map-symbol--d {
  width: 0.28rem;
  height: 0.28rem;
  margin-inline: 0.31rem;
  flex-basis: 0.28rem;
  border: 0;
  background: #08783e;
}

.home-discover__map-meta {
  align-self: center;
}

.home-discover__map-meta p {
  margin: 0;
}

.home-discover__map-meta p span {
  display: block;
}