@font-face{font-family:"Cormorant Garamond";src:url("font/cormorant-garamond.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
:root{
  --tlo:#f7f2e9;--granat:#0b1240;--kobalt:#0f1a6e;--niebieski:#1a35a6;
  --tekst:#3a3f5a;--szary:#6a6e86;--linia:#8b95c9;--linia-mocna:#4655a8;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--tlo);color:var(--granat);font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
.strona{max-width:1240px;margin:0 auto;padding:22px 40px 48px}
a{color:var(--niebieski)}
button{font-family:inherit}
img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

/* Góra */
.gora{position:relative;text-align:center;padding-bottom:16px;border-bottom:.5px solid var(--linia-mocna)}
.autorka{font-size:14px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--kobalt)}
.powrot{position:absolute;left:0;top:1px;font-size:15px;color:var(--kobalt);text-decoration:none}
.powrot:hover{text-decoration:underline;text-underline-offset:3px}

/* Nagłówek */
.naglowek{margin-top:26px}
h1{font-size:clamp(46px,6.4vw,84px);line-height:1;font-weight:400;margin:0;letter-spacing:-.005em;white-space:nowrap}
.podtytul{font-size:13px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--kobalt);margin:16px 0 10px}
.zaproszenie{font-size:21px;color:var(--tekst);margin:0}
.instrukcja{font-size:17px;color:var(--szary);margin:6px 0 0;max-width:760px}

/* Przyciski */
.pasek{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}
.btn{font-size:16px;font-weight:500;padding:9px 22px;border:.5px solid var(--kobalt);background:transparent;color:var(--granat);cursor:pointer;white-space:nowrap;border-radius:0;transition:background .2s,color .2s}
.btn:hover,.btn[aria-pressed="true"],.btn-pelny{background:var(--kobalt);color:var(--tlo)}
.btn-pelny:hover{background:var(--niebieski)}
.btn-maly{font-size:15px;padding:6px 18px;color:var(--niebieski);border-color:var(--niebieski)}
.btn:focus-visible,.karta:focus-visible,summary:focus-visible{outline:1px solid var(--niebieski);outline-offset:4px}

/* Galeria */
.galeria{display:grid;grid-template-columns:repeat(6,1fr);gap:18px 16px;margin-top:16px}
.karta{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:center;color:var(--kobalt)}
.karta .im{display:block;aspect-ratio:3/4.1;overflow:hidden;position:relative;background:var(--kobalt)}
.karta img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .35s}
.karta:hover img{transform:scale(1.025)}
.karta.na-stole .im{outline:.5px solid var(--niebieski);outline-offset:5px}
.karta .nr{display:block;font-size:15px;margin-top:10px}
.zakryte .karta img{opacity:0}
.zakryte .karta .im::after{content:"";position:absolute;inset:10px;border:.5px solid rgba(247,242,233,.45)}
.zakryte .karta .nr{visibility:hidden}
.wiecej{text-align:center;margin-top:26px}
.wiecej[hidden]{display:none}

/* Stół */
.stol{display:flex;align-items:center;gap:24px;margin-top:40px;padding-top:28px;border-top:.5px solid var(--linia)}
.stol-opis{flex:0 0 30%}
h2{font-size:46px;font-weight:400;margin:0;line-height:1.05}
.licznik{font-size:17px;color:var(--tekst);margin:10px 0 0}
.stol-pomoc{font-size:15px;color:var(--szary);margin:4px 0 0}
.stol-karty{flex:1;display:flex;gap:18px;min-height:170px;align-items:center;flex-wrap:wrap}
.na-stole-karta{position:relative;width:124px}
.na-stole-karta .im{display:block;width:124px;height:168px;overflow:hidden;cursor:pointer;padding:0;border:0;background:none}
.na-stole-karta img{width:100%;height:100%;object-fit:cover;display:block}
.usun{position:absolute;top:5px;right:5px;width:24px;height:24px;border:0;background:rgba(247,242,233,.92);color:var(--granat);font-size:16px;line-height:24px;cursor:pointer;padding:0}
.przesun{display:flex;justify-content:space-between;margin-top:4px}
.przesun button{border:0;background:none;color:var(--kobalt);font-size:18px;cursor:pointer;padding:0 6px;line-height:1}
.przesun button:disabled{opacity:.2;cursor:default}

/* Rozwijane */
.rozwin{margin-top:0;border-top:.5px solid var(--linia)}
.stol+.rozwin{margin-top:34px}
.rozwin summary{cursor:pointer;list-style:none;font-size:19px;padding:14px 0;display:flex;align-items:center;gap:12px}
.rozwin summary::-webkit-details-marker{display:none}
.rozwin summary::before{content:"";width:8px;height:8px;border-right:1px solid var(--granat);border-bottom:1px solid var(--granat);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.rozwin[open] summary::before{transform:rotate(225deg) translate(-2px,0)}
.rozwin-tresc{max-width:760px;padding:0 0 18px 20px;color:var(--tekst);font-size:18px}
.rozwin-tresc p{margin:0 0 12px}
.stopka{border-top:.5px solid var(--linia);margin-top:0;padding-top:18px;font-size:15px;color:var(--szary)}
.stopka p{margin:0 0 4px}

/* Okno powiększenia */
body.zablokuj{overflow:hidden}
.okno{position:fixed;inset:0;z-index:50;background:var(--tlo);display:flex;align-items:center;gap:48px;padding:48px 64px}
.okno[hidden]{display:none}
.okno-obraz{flex:0 0 56%;height:100%;display:flex;align-items:center;justify-content:center;gap:14px}
.ramka-obrazu{flex:1;height:100%;display:flex;align-items:center;justify-content:center;min-width:0}
.ramka-obrazu img{max-width:100%;max-height:100%;display:block;box-shadow:0 14px 40px rgba(11,18,64,.12)}
.strzalka{border:0;background:none;font-size:44px;line-height:1;color:var(--kobalt);cursor:pointer;padding:6px;opacity:.6}
.strzalka:hover{opacity:1}
.okno-tekst{flex:1;border-left:.5px solid var(--linia);padding-left:40px;max-width:520px}
.nr-karty{font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--kobalt);margin:0 0 6px}
h3{font-size:48px;font-weight:400;margin:0 0 20px;line-height:1.05}
.kroki{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:16px}
.kroki button{background:none;border:0;border-bottom:.5px solid transparent;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--szary);cursor:pointer;padding:3px 0;white-space:nowrap}
.kroki button.aktywny{color:var(--kobalt);border-bottom-color:var(--kobalt)}
.pytania{min-height:150px;font-size:21px;line-height:1.5}
.pytania p{margin:0 0 6px}
.okno-przyciski{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.komunikat{font-size:15px;color:var(--niebieski);min-height:22px;margin:10px 0 0}
.okno-copy{font-size:14px;color:var(--szary);margin:8px 0 0}
.zamknij-x{position:absolute;top:14px;right:22px;border:0;background:none;font-size:34px;color:var(--granat);cursor:pointer;line-height:1}

/* Tablet */
@media (max-width:1000px){
  .galeria{grid-template-columns:repeat(4,1fr)}
  .okno{flex-direction:column;gap:16px;padding:52px 24px 24px;overflow-y:auto;align-items:stretch}
  .okno-obraz{flex:0 0 auto;height:58vh}
  .okno-tekst{border-left:0;border-top:.5px solid var(--linia);padding:18px 0 0;max-width:none}
  h3{font-size:36px;margin-bottom:14px}
  .pytania{min-height:0}
}
/* Telefon */
@media (max-width:640px){
  body{font-size:17px}
  .strona{padding:16px 18px 36px}
  .gora{padding-top:26px}
  .powrot{top:0;font-size:14px}
  .autorka{font-size:12px}
  h1{font-size:clamp(34px,11vw,52px)}
  .podtytul{font-size:11px;letter-spacing:.2em}
  .zaproszenie{font-size:19px}
  .instrukcja{font-size:16px}
  .pasek{justify-content:stretch}
  .pasek .btn{flex:1;padding:9px 8px;font-size:15px}
  .galeria{grid-template-columns:repeat(2,1fr);gap:14px 12px}
  .stol{flex-direction:column;align-items:flex-start;gap:14px}
  .stol-karty{min-height:0}
  .na-stole-karta,.na-stole-karta .im{width:96px}
  .na-stole-karta .im{height:130px}
  h2{font-size:38px}
  .okno-obraz{height:52vh;gap:4px}
  .strzalka{font-size:34px;padding:2px}
  .pytania{font-size:19px}
  .kroki{gap:14px}
  .kroki button{font-size:11.5px;letter-spacing:.08em}
}

/* Druk – karty nie są drukowane */
.druk-info{display:none}
@media print{
  .strona,.okno{display:none!important}
  .druk-info{display:block;font:18px/1.6 Georgia,serif;text-align:center;padding:40px}
}
