.christmas-campaign .section[id] {
  scroll-margin-top: calc(var(--header-height) + 16px);
}

.christmas-campaign .section > .container > p {
  max-width: 68ch;
}

.christmas-campaign .page-hero .hero-kicker {
  margin-bottom: 8px;
}

.christmas-campaign .xmas-theme-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 560px;
  margin-top: 24px;
  border-radius: 24px;
  object-fit: cover;
}

.christmas-campaign :is(.xmas-theme-details, .xmas-food-gallery, .xmas-bento-photos, .xmas-bento-options) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 2.5vw, 28px);
  margin-block: 24px 32px;
}

.christmas-campaign figure {
  margin: 0;
}

.christmas-campaign :is(.xmas-theme-details, .xmas-food-gallery, .xmas-bento-photos) img {
  display: block;
  width: 100%;
  border-radius: 24px;
}

.christmas-campaign .xmas-theme-details img {
  height: clamp(240px, 35vw, 440px);
  object-fit: cover;
}

.christmas-campaign .xmas-food-gallery img {
  height: clamp(170px, 28vw, 370px);
  object-fit: cover;
}

.christmas-campaign .xmas-bento-photos img {
  height: clamp(90px, 19vw, 245px);
  object-fit: contain;
}

.christmas-campaign figcaption {
  margin-top: 12px;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 600;
}

.christmas-campaign figcaption p {
  margin: 6px 0 0;
  color: var(--blue-grey);
  font-weight: 400;
}

.christmas-campaign .stations .experience-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 24px;
}

.christmas-campaign .experience-product-card img {
  display: block;
}

.christmas-campaign .experience-product-card p {
  margin-bottom: 0;
}

.christmas-campaign .xmas-bento-options article {
  padding: clamp(18px, 2.5vw, 26px);
  border-radius: 24px;
  background: var(--white);
  box-shadow: var(--soft-shadow);
}

.christmas-campaign .xmas-bento-options h3 {
  font-size: 1.15rem;
}

.christmas-campaign .xmas-bento-options p {
  margin-bottom: 0;
}

.christmas-campaign .fine {
  margin-block: 24px;
  font-size: 0.9rem;
}

.christmas-campaign .xmas-food-note,
.christmas-campaign .end > p {
  margin-bottom: 24px;
}

.christmas-campaign a.button {
  color: var(--navy) !important;
}

@media (max-width: 900px) {
  .christmas-campaign .stations .experience-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .christmas-campaign :is(.xmas-theme-details, .xmas-bento-options) {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .christmas-campaign .xmas-theme-details figure {
    max-width: 460px;
  }

  .christmas-campaign .xmas-theme-details img {
    height: auto;
    max-height: 430px;
    object-fit: cover;
  }

  .christmas-campaign .xmas-food-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .christmas-campaign .xmas-food-gallery img {
    height: auto;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 520px) {
  .christmas-campaign .stations .experience-product-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
