.mikolajki-poster {
  --red: #ae1118;
  --red-dark: #79070c;
  --green: #075d43;
  --green-dark: #043a2b;
  --gold: #ffc42e;
  --paper: #fff5d5;
  position: relative;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(860px - 62px - 1rem);
  margin: 0 !important;
  overflow: hidden;
  padding-block: max(1rem, calc(clamp(1.5rem, 4vw, 3.5rem) - 31px - .5rem)) !important;
  padding-inline: clamp(1.5rem, 4vw, 3.5rem) !important;
  background-color: #073f50;
  /* Tymczasowe tło. Podmień hero.jpg na docelową grafikę bez tekstu. */
  background-image: url("../public/hero.jpg");
  background-position: center;
  background-size: cover;
  color: #2b130d;
  isolation: isolate;
}

.mikolajki-poster__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(2,23,40,.4), rgba(4,38,47,.08) 35%, rgba(2,24,33,.58)), radial-gradient(circle at 50% 45%, transparent 0 24%, rgba(0,25,42,.24) 75%); }
.snowflakes { position: absolute; inset: 0; z-index: 3; overflow: hidden; pointer-events: none; }
.snowflake { color: #fff; font-size: 1em; font-family: Arial, sans-serif; text-shadow: 0 0 5px #000; }
.snowflake, .snowflake .inner { animation-iteration-count: infinite; animation-play-state: running; }
@keyframes snowflakes-fall { 0% { transform: translateY(0); } 100% { transform: translateY(110vh); } }
@keyframes snowflakes-shake { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(80px); } }
.snowflake { position: absolute; top: -10%; z-index: 3; -webkit-user-select: none; user-select: none; cursor: default; pointer-events: none; animation-name: snowflakes-shake; animation-duration: 3s; animation-timing-function: ease-in-out; }
.snowflake .inner { animation-duration: 10s; animation-name: snowflakes-fall; animation-timing-function: linear; }
.snowflake:nth-of-type(0) { left: 1%; animation-delay: 0s; }
.snowflake:nth-of-type(0) .inner { animation-delay: 0s; }
.snowflake:first-of-type { left: 10%; animation-delay: 1s; }
.snowflake:first-of-type .inner, .snowflake:nth-of-type(8) .inner { animation-delay: 1s; }
.snowflake:nth-of-type(2) { left: 20%; animation-delay: .5s; }
.snowflake:nth-of-type(2) .inner, .snowflake:nth-of-type(6) .inner { animation-delay: 6s; }
.snowflake:nth-of-type(3) { left: 30%; animation-delay: 2s; }
.snowflake:nth-of-type(11) .inner, .snowflake:nth-of-type(3) .inner { animation-delay: 4s; }
.snowflake:nth-of-type(4) { left: 40%; animation-delay: 2s; }
.snowflake:nth-of-type(10) .inner, .snowflake:nth-of-type(4) .inner { animation-delay: 2s; }
.snowflake:nth-of-type(5) { left: 50%; animation-delay: 3s; }
.snowflake:nth-of-type(5) .inner { animation-delay: 8s; }
.snowflake:nth-of-type(6) { left: 60%; animation-delay: 2s; }
.snowflake:nth-of-type(7) { left: 70%; animation-delay: 1s; }
.snowflake:nth-of-type(7) .inner { animation-delay: 2.5s; }
.snowflake:nth-of-type(8) { left: 80%; animation-delay: 0s; }
.snowflake:nth-of-type(9) { left: 90%; animation-delay: 1.5s; }
.snowflake:nth-of-type(9) .inner { animation-delay: 3s; }
.snowflake:nth-of-type(10) { left: 25%; animation-delay: 0s; }
.snowflake:nth-of-type(11) { left: 65%; animation-delay: 2.5s; }
.mikolajki-poster__frame { position: relative; z-index: 2; width: min(1736px, 109.89%); margin: 0 auto; zoom: .91; }
.mikolajki-poster__header { position: relative; width: min(720px, 92%); margin: 0 auto 1.2rem; text-align: center; text-transform: uppercase; filter: drop-shadow(0 .65rem 1rem rgba(0,0,0,.35)); }
.mikolajki-poster__header h2 { margin: 0; padding: .45rem 1rem .75rem; overflow: hidden; border: .35rem solid #fff0bd; border-radius: 1.2rem; background: linear-gradient(#d92525, #9d080d); box-shadow: inset 0 0 0 .18rem #ffbd2f, 0 .4rem 0 var(--red-dark); color: #fff5c7; font-size: clamp(3rem, 7vw, 6.5rem); font-weight: 1000; line-height: .8; letter-spacing: .01em; text-shadow: 0 .06em 0 #7b0708, 0 0 .12em #ffd65d; }
.mikolajki-poster__header h2 span, .mikolajki-poster__header h2 small { display: block; }
.mikolajki-poster__header h2 small { margin-top: .5rem; color: #fff; font-size: .36em; letter-spacing: .07em; text-shadow: 0 .08em 0 #063a32; }
.mikolajki-poster__date { display: inline-block; margin: -.2rem auto 0; padding: .45rem 2rem; border: .2rem solid #d69b1d; border-radius: 0 0 1rem 1rem; background: var(--paper); color: var(--red); font-size: clamp(1.1rem, 2.5vw, 1.8rem); font-weight: 1000; }

.mikolajki-poster__stage { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(270px, .9fr) minmax(290px, 1.1fr); gap: clamp(1rem, 2vw, 2rem); align-items: center; }
.mikolajki-board { border: .32rem solid #7a3a0a; border-radius: 1.2rem; background: linear-gradient(rgba(255,249,221,.97), rgba(255,239,195,.97)); box-shadow: inset 0 0 0 .2rem #f7c354, 0 1rem 2rem rgba(0,0,0,.3); transform: rotate(-.7deg); }
.mikolajki-board h3 { margin: -.45rem .65rem .7rem; padding: .65rem 1rem; border: .2rem solid #8b160f; border-radius: .7rem; background: linear-gradient(#d62525, #9e080d); color: #fff; font-size: clamp(1.25rem, 2.4vw, 2rem); line-height: 1; text-align: center; text-transform: uppercase; text-shadow: 0 .08em 0 #700000; }
.mikolajki-icon-list, .mikolajki-board--prizes ul { margin: 0; padding: .2rem 1rem 1rem; list-style: none; }
.mikolajki-icon-list li { display: grid; grid-template-columns: 2.6rem 1fr; margin: 0; padding: .72rem .2rem; border-bottom: 1px solid #d9b26c; line-height: 1.12; }
.mikolajki-icon-list li:last-child { border: 0; }
.mikolajki-icon-list li > span { grid-row: span 2; font-size: 2rem; }
.mikolajki-icon-list strong, .mikolajki-icon-list small { display: block; }
.mikolajki-icon-list strong { color: #831017; font-size: 1.05rem; }
.mikolajki-icon-list small { margin-top: .15rem; }

.mikolajki-poster__center { align-self: end; min-height: 430px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.mikolajki-poster__welcome { max-width: 30rem; margin-bottom: 1rem; padding: .8rem 1rem; border-radius: 1rem; background: rgba(3,54,47,.88); box-shadow: 0 .7rem 1.6rem rgba(0,0,0,.3); color: #fff; text-align: center; }
.mikolajki-poster__welcome p { margin: .2rem; }
.mikolajki-poster__welcome p:first-child { color: var(--gold); font-weight: 900; }
.mikolajki-letter { position: relative; width: min(100%, 430px); padding: 1.2rem 4rem 1.2rem 1.5rem; border: .35rem dashed #d52a2a; border-radius: .8rem; background: #fff1c9; box-shadow: 0 1rem 2rem rgba(0,0,0,.32); transform: rotate(2deg); }
.mikolajki-letter h3 { margin: 0 0 .35rem; color: var(--red); font-family: Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.5rem); font-style: italic; line-height: .95; }
.mikolajki-letter p { margin: 0; font-size: .9rem; line-height: 1.35; }
.mikolajki-letter__stamp { position: absolute; top: 1rem; right: 1rem; font-size: 2rem; }

.mikolajki-poster__right { display: grid; gap: 1.2rem; }
.mikolajki-gift { display: flex; align-items: center; gap: .7rem; padding: .8rem 1rem; border: .25rem solid #d79b1c; border-radius: 1rem; background: var(--paper); box-shadow: 0 .7rem 1.5rem rgba(0,0,0,.3); transform: rotate(1deg); }
.mikolajki-gift > span { font-size: clamp(3rem, 6vw, 5rem); }
.mikolajki-gift h3 { margin: 0; color: var(--red); font-size: clamp(1.15rem, 2vw, 1.7rem); line-height: 1; text-transform: uppercase; }
.mikolajki-gift p { margin: .4rem 0 0; font-size: .86rem; line-height: 1.3; }
.mikolajki-board--prizes { transform: rotate(.6deg); }
.mikolajki-board--prizes h3 { border-color: #064331; background: linear-gradient(#148b5f, #075238); }
.mikolajki-board--prizes > p { margin: .4rem 1.2rem; text-align: center; }
.mikolajki-board--prizes li { padding: .5rem .2rem; border-bottom: 1px solid #d9b26c; font-weight: 700; }
.mikolajki-board--prizes li:last-child { border: 0; }
.mikolajki-board--prizes li span { display: inline-block; width: 2rem; font-size: 1.35rem; }

.mikolajki-poster__note { width: min(850px, 100%); margin: 1.2rem auto; padding: .6rem 1rem; border-radius: 999px; background: rgba(124,4,9,.9); color: #fff; font-weight: 700; text-align: center; }
.mikolajki-poster__tickets { margin: -.55rem auto .7rem; text-align: center; }
.mikolajki-poster__tickets a { display: inline-flex; align-items: center; gap: .55rem; padding: .72rem 2rem; border: .2rem solid #fff0bd; border-radius: .8rem; background: linear-gradient(#e22a2a, #a2080d); box-shadow: inset 0 0 0 .15rem var(--gold), 0 .45rem 0 var(--red-dark), 0 .8rem 1.5rem rgba(0,0,0,.3); color: #fff; font-size: 1.15rem; font-weight: 1000; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: transform .18s ease, filter .18s ease; }
.mikolajki-poster__tickets a:hover { filter: brightness(1.12); transform: translateY(-2px); }
.mikolajki-poster__tickets a:focus-visible { outline: .22rem solid #fff; outline-offset: .22rem; }
.mikolajki-poster__footer { display: grid; grid-template-columns: repeat(3, 1fr) 1.25fr; align-items: center; overflow: hidden; border: .3rem solid #d6a32d; border-radius: 1.3rem; background: rgba(255,250,232,.97); box-shadow: 0 1rem 2rem rgba(0,0,0,.32); }
.mikolajki-poster__footer p { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 .7rem; margin: 0; padding: .8rem 1rem; border-right: 2px solid #c9a55b; }
.mikolajki-poster__footer p > span { grid-row: span 2; font-size: 2rem; }
.mikolajki-poster__footer strong, .mikolajki-poster__footer small { display: block; }
.mikolajki-poster__footer strong { color: #751017; font-size: 1.05rem; }
.mikolajki-poster__footer small { grid-column: 2; }
.mikolajki-poster__footer p:nth-child(2) > span,
.mikolajki-poster__footer p:nth-child(2) strong { grid-row: auto; align-self: center; }
.mikolajki-poster__footer .mikolajki-poster__bye { border: 0; background: var(--red); }
.mikolajki-poster__footer .mikolajki-poster__bye strong { color: #fff; font-size: 1.25rem; line-height: 1.05; }

@media (max-width: 1050px) {
  .mikolajki-poster__stage { grid-template-columns: 1fr 1fr; }
  .mikolajki-poster__center { grid-column: 1 / -1; grid-row: 2; min-height: 0; flex-direction: row; gap: 1rem; align-items: stretch; }
  .mikolajki-poster__welcome, .mikolajki-letter { width: 50%; margin: 0; }
  .mikolajki-poster__footer { grid-template-columns: repeat(2, 1fr); }
  .mikolajki-poster__footer p:nth-child(2) { border-right: 0; }
  .mikolajki-poster__footer p:nth-child(-n+2) { border-bottom: 2px solid #c9a55b; }
}
@media (max-width: 680px) {
  .mikolajki-poster { padding: 1rem .65rem !important; }
  .mikolajki-poster__frame { width: 100%; zoom: 1; }
  .mikolajki-poster__stage { grid-template-columns: 1fr; }
  .mikolajki-poster__center { grid-column: auto; grid-row: auto; flex-direction: column; }
  .mikolajki-poster__welcome, .mikolajki-letter { width: 100%; }
  .mikolajki-board, .mikolajki-letter, .mikolajki-gift { transform: none; }
  .mikolajki-poster__footer { grid-template-columns: 1fr; }
  .mikolajki-poster__footer p { border-right: 0; border-bottom: 2px solid #c9a55b; }
  .mikolajki-poster__footer p:nth-child(3) { border-bottom: 2px solid #c9a55b; }
}
@media (prefers-reduced-motion: reduce) {
  .mikolajki-poster *, .mikolajki-poster *::before, .mikolajki-poster *::after { animation: none !important; transition: none !important; }
  .snowflakes { display: none; }
}
