/* Page-owned styles for the Novinky page */

.novinky-page {
  /* Ensure page content remains within the shared layout */
  width: 100%;
}

/* Hero section */
.novinky-hero {
  padding-block: var(--section-padding);
  background-color: var(--color-paper);
}

.novinky-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-6);
  align-items: center;
}

.novinky-hero__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.novinky-hero__text h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  margin-block-end: 0;
}

.novinky-hero__date {
  font-size: var(--text-small-size);
  color: var(--color-ink-soft);
  margin-block-end: 0;
}

.novinky-hero__perex {
  max-width: 42rem;
  margin-block-end: 0;
}

.novinky-hero__cta {
  margin-block-start: var(--space-2);
}

.novinky-hero__maze {
  min-width: 0;
  width: 100%;
}

.novinky-hero__maze svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.maze-path {
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  transition: stroke-dashoffset 1.5s ease;
}

.maze-path--lime {
  stroke: var(--color-lime);
}

.maze-path--orange {
  stroke: var(--color-orange);
}

.maze-path--ink {
  stroke: var(--color-ink);
  stroke-width: 2;
  stroke-dasharray: 1200;
  stroke-dashoffset: 1200;
}

.novinky-hero.is-visible .maze-path {
  stroke-dashoffset: 0;
}

/* Articles section */
.novinky-articles {
  background-color: var(--color-paper);
}

.novinky-articles h2 {
  margin-block-end: var(--space-6);
}

.novinky-articles__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--card-gap);
}

.novinky-article-card {
  background-color: var(--color-paper);
  border: var(--border-ink);
  border-radius: var(--radius-medium);
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.novinky-article-card:hover {
  box-shadow: var(--shadow-hover);
  border-color: var(--color-lime);
}

.novinky-article-card h3 {
  margin-block-end: 0;
}

.novinky-article-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
  font-size: var(--text-small-size);
  color: var(--color-ink-soft);
  margin-block-end: 0;
}

.novinky-article-card__category {
  background-color: var(--color-paper-dark);
  color: var(--color-ink);
  padding: 0.125rem 0.5rem;
  border-radius: var(--radius-small);
  font-weight: 600;
}

.novinky-article-card p:last-child {
  margin-block-end: 0;
}

/* Download CTA section */
.novinky-download {
  background-color: var(--color-paper-dark);
  padding-block: var(--section-padding);
}

.novinky-download__inner {
  max-width: 37.5rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.novinky-download__inner h2 {
  margin-block-end: 0;
}

.novinky-download__inner p {
  margin-block-end: 0;
}

.novinky-download__cta {
  margin-block-start: var(--space-2);
}

/* Newsletter section */
.novinky-newsletter {
  background-color: var(--color-paper);
}

.novinky-newsletter__inner {
  max-width: 25rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.novinky-newsletter__inner h2 {
  margin-block-end: 0;
}

.novinky-newsletter__inner > p {
  margin-block-end: 0;
}

.novinky-newsletter__form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: stretch;
}

.novinky-newsletter__form input[type="email"] {
  min-height: var(--min-touch-target);
  padding: var(--space-2) var(--space-3);
  border: var(--border-ink);
  border-radius: var(--radius-small);
  background-color: var(--color-paper);
  color: var(--color-ink);
  font: inherit;
}

.novinky-newsletter__form input[type="email"]:focus-visible {
  outline: var(--focus-outline);
  outline-offset: 2px;
}

.novinky-newsletter__privacy {
  font-size: var(--text-small-size);
  color: var(--color-ink-soft);
  margin-block-end: 0;
}

.novinky-newsletter__privacy a {
  color: var(--color-ink);
  text-decoration: underline;
}

/* Top articles section */
.novinky-top {
  background-color: var(--color-paper-dark);
}

.novinky-top__inner {
  max-width: 37.5rem;
  margin-inline: auto;
}

.novinky-top h2 {
  margin-block-end: var(--space-5);
}

.novinky-top__list {
  list-style: decimal;
  padding-inline-start: var(--space-5);
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.novinky-top__list li {
  line-height: var(--text-body-line-height);
}

.novinky-top__list a {
  color: var(--color-ink);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color 0.2s ease;
}

.novinky-top__list a:hover {
  color: var(--color-lime);
}

/* Categories section */
.novinky-categories {
  background-color: var(--color-paper);
}

.novinky-categories h2 {
  margin-block-end: var(--space-6);
}

.novinky-categories__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--card-gap);
}

.novinky-category-card {
  background-color: var(--color-paper);
  border: var(--border-ink);
  border-radius: var(--radius-medium);
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.novinky-category-card:hover {
  box-shadow: var(--shadow-hover);
  border-color: var(--color-lime);
}

.novinky-category-card h3 {
  margin-block-end: 0;
}

.novinky-category-card p {
  margin-block-end: 0;
}

/* Quote section */
.novinky-quote {
  background-color: var(--color-paper);
}

.novinky-quote__inner {
  max-width: 37.5rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.novinky-quote h2 {
  margin-block-end: 0;
}

.novinky-quote blockquote {
  margin-block-end: 0;
  background-color: var(--color-lime);
  color: var(--color-ink-on-lime);
  border-radius: var(--radius-medium);
  padding: var(--space-5);
  font-style: italic;
  font-weight: 600;
}

.novinky-quote blockquote p {
  margin-block-end: 0;
}

/* Review link section */
.novinky-review {
  background-color: var(--color-paper);
}

.novinky-review__inner {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
  gap: var(--space-5);
  align-items: center;
}

.novinky-review__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: flex-start;
}

.novinky-review__text h2 {
  margin-block-end: 0;
}

.novinky-review__text p {
  margin-block-end: 0;
}

.novinky-review__action {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
}

.novinky-review__action .btn {
  white-space: nowrap;
}

/* Tablet breakpoint */
@media (max-width: 64rem) {
  .novinky-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .novinky-hero__maze {
    order: 2;
  }

  .novinky-hero__text {
    order: 1;
  }

  .novinky-review__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .novinky-review__action {
    justify-content: flex-start;
  }
}

/* Mobile breakpoint */
@media (max-width: 48rem) {
  .novinky-articles__grid,
  .novinky-categories__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .novinky-hero__text h1 {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
  }

  .novinky-hero__perex {
    max-width: 100%;
  }

  .novinky-download__inner,
  .novinky-newsletter__inner,
  .novinky-top__inner,
  .novinky-quote__inner {
    max-width: 100%;
  }

  .novinky-review__action .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 36rem) {
  .novinky-hero__maze svg {
    max-height: 12rem;
  }

  .novinky-article-card,
  .novinky-category-card {
    padding: var(--space-4);
  }
}
