/* Page-owned styles for vecer page */

/* Večerní úvod */
.vecer-intro {
  background-color: var(--color-buttercream);
  position: relative;
  overflow: hidden;
}

.vecer-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, var(--color-soft-beige) 1px, transparent 1px),
    linear-gradient(to bottom, var(--color-soft-beige) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.35;
  pointer-events: none;
}

.vecer-intro__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-6);
  align-items: start;
}

.vecer-intro__content {
  min-width: 0;
  max-width: 65ch;
}

.vecer-intro__lead {
  font-size: var(--text-body-large-size);
  line-height: var(--text-body-large-line-height);
  margin-block-end: var(--space-5);
}

.vecer-intro__phases {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-5);
  display: grid;
  gap: var(--space-3);
}

.vecer-intro__phase {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-paprika-red);
}

.vecer-intro__note {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-graphite-80);
}

/* Večeře */
.vecer-dinner {
  background-color: var(--color-buttercream);
  position: relative;
  overflow: hidden;
}

.vecer-dinner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, var(--color-soft-beige) 1px, transparent 1px),
    linear-gradient(to bottom, var(--color-soft-beige) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.25;
  pointer-events: none;
}

.vecer-dinner__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-6);
  align-items: start;
}

.vecer-dinner__content {
  min-width: 0;
  max-width: 60ch;
}

.vecer-dinner__dishes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block: var(--space-5);
}

.vecer-dinner__dish {
  background-color: var(--color-buttercream);
  border: var(--border-light);
  border-radius: var(--radius-default);
  padding: var(--space-4);
  min-width: 0;
}

.vecer-dinner__dish h3 {
  margin-block-end: var(--space-2);
}

.vecer-dinner__dish p {
  margin-block-end: 0;
}

.vecer-dinner__media {
  min-width: 0;
  margin-block-end: 0;
  transform: translateX(var(--space-4));
}

.vecer-dinner__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-default);
}

.vecer-dinner__media figcaption {
  margin-block-start: var(--space-2);
}

/* Salon */
.vecer-salon {
  background-color: var(--color-buttercream);
  position: relative;
  overflow: hidden;
}

.vecer-salon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, var(--color-soft-beige) 1px, transparent 1px),
    linear-gradient(to bottom, var(--color-soft-beige) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.25;
  pointer-events: none;
}

.vecer-salon__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 60%);
  gap: var(--space-6);
  align-items: start;
}

.vecer-salon__media {
  min-width: 0;
  margin-block-end: 0;
  transform: translateX(calc(-1 * var(--space-4)));
}

.vecer-salon__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-default);
}

.vecer-salon__media figcaption {
  margin-block-start: var(--space-2);
}

.vecer-salon__content {
  min-width: 0;
  max-width: 60ch;
}

.vecer-salon__content h3 {
  margin-block-start: var(--space-5);
}

/* Herní prostor */
.vecer-gaming {
  background-color: var(--color-walnut-brown);
  position: relative;
  overflow: hidden;
}

.vecer-gaming::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(247, 240, 224, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(247, 240, 224, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
}

.vecer-gaming__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-6);
  align-items: start;
}

.vecer-gaming__content {
  min-width: 0;
  max-width: 60ch;
}

.vecer-gaming__content h2,
.vecer-gaming__content h3 {
  color: var(--color-buttercream-20);
}

.vecer-gaming__content p,
.vecer-gaming__content li {
  color: var(--color-buttercream-20);
}

.vecer-gaming__content a {
  color: var(--color-pale-aqua);
}

.vecer-gaming__content a:hover {
  color: var(--color-pale-aqua-dark);
  text-decoration-color: var(--color-pale-aqua);
}

/* Pozdní večer */
.vecer-late {
  background-color: var(--color-graphite);
  position: relative;
  overflow: hidden;
}

.vecer-late::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(247, 240, 224, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(247, 240, 224, 0.06) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
}

.vecer-late__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-6);
  align-items: start;
}

.vecer-late__content {
  min-width: 0;
  max-width: 60ch;
}

.vecer-late__content h2,
.vecer-late__content h3 {
  color: var(--color-buttercream-20);
}

.vecer-late__content p,
.vecer-late__content li {
  color: var(--color-buttercream-20);
}

.vecer-late__content a {
  color: var(--color-pale-aqua);
}

.vecer-late__content a:hover {
  color: var(--color-pale-aqua-dark);
  text-decoration-color: var(--color-pale-aqua);
}

.vecer-late__schedule {
  list-style: none;
  padding-inline-start: 0;
  margin-block: var(--space-4);
  display: grid;
  gap: var(--space-2);
}

.vecer-late__schedule li {
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid var(--color-pale-aqua);
}

/* Rezervace */
.vecer-reservation {
  background-color: var(--color-buttercream);
  position: relative;
  overflow: hidden;
}

.vecer-reservation::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, var(--color-soft-beige) 1px, transparent 1px),
    linear-gradient(to bottom, var(--color-soft-beige) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.25;
  pointer-events: none;
}

.vecer-reservation__content {
  position: relative;
  max-width: 80%;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.vecer-reservation__content p {
  max-width: 60ch;
  margin-inline: auto;
}

.vecer-reservation__content .btn {
  width: auto;
}

/* Responsive */
@media (max-width: 1023px) {
  .vecer-intro__grid,
  .vecer-dinner__grid,
  .vecer-salon__grid,
  .vecer-gaming__grid,
  .vecer-late__grid {
    grid-template-columns: 1fr;
  }

  .vecer-intro__content,
  .vecer-dinner__content,
  .vecer-salon__content,
  .vecer-gaming__content,
  .vecer-late__content {
    max-width: 100%;
  }

  .vecer-dinner__media,
  .vecer-salon__media {
    transform: none;
  }

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

  .vecer-reservation__content {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .vecer-dinner__dishes {
    grid-template-columns: 1fr;
  }

  .vecer-reservation__content .btn {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .vecer-intro__lead {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
  }
}
