/* Duży Pokój — motyw WordPress „Duży Pokój” (wygląd A „Ciepło”), WK Digital, 2026 */
:root {
  --atrament: #16130f;
  --atrament-2: #221d17;
  --papier: #f7f1e6;
  --papier-2: #efe5d3;
  --bialy: #fffdf8;
  --zolty: #f2c230;
  --zolty-2: #e0ab12;
  --cegla: #b0513a;
  --szary: #6e655a;
  --linia: rgba(22, 19, 15, .12);
  --szer: 1240px;
  --r: 18px;
  --cien: 0 18px 50px -20px rgba(22, 19, 15, .35);
  --szeryf: 'Fraunces', Georgia, 'Times New Roman', serif;
  --bezszer: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papier); color: var(--atrament); font: 400 16px/1.7 var(--bezszer); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--szeryf); font-weight: 600; line-height: 1.08; margin: 0 0 .5em; letter-spacing: -.01em; font-variation-settings: 'opsz' 96; }
h1 em, h2 em, h3 em { font-style: italic; font-weight: 400; color: var(--cegla); }
h2 { font-size: clamp(32px, 4.4vw, 58px); }
h3 { font-size: clamp(22px, 2.2vw, 28px); }
p { margin: 0 0 1em; }
.ik { width: 1.15em; height: 1.15em; fill: currentColor; flex: none; vertical-align: -.2em; }
.kont { width: min(var(--szer), 100% - 40px); margin-inline: auto; }
.pomin { position: absolute; left: -999px; top: 8px; z-index: 999; background: var(--zolty); padding: 8px 14px; border-radius: 8px; }
.pomin:focus { left: 8px; }
.srodek { text-align: center; }
.duzy { font-size: clamp(17px, 1.4vw, 19px); color: #3b342c; }

/* etykiety i przyciski */
.etykieta { display: inline-flex; align-items: center; gap: 10px; font: 600 12.5px/1 var(--bezszer); letter-spacing: .18em; text-transform: uppercase; color: var(--cegla); margin: 0 0 18px; }
.etykieta::before { content: ''; width: 28px; height: 2px; background: currentColor; }
.srodek .etykieta::after { content: ''; width: 28px; height: 2px; background: currentColor; }
.etykieta-jasna { color: #f1e6d2; }
.etykieta-zolta { color: var(--zolty); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 26px; border-radius: 999px; border: 2px solid transparent; font: 600 15px/1.1 var(--bezszer); text-decoration: none; cursor: pointer; transition: transform .25s, background .25s, color .25s, box-shadow .25s, border-color .25s; white-space: nowrap; }
.btn:hover { transform: translateY(-2px); }
.btn-zolty { background: var(--zolty); color: var(--atrament); box-shadow: 0 10px 24px -10px rgba(242, 194, 48, .8); }
.btn-zolty:hover { background: #ffd24d; box-shadow: 0 14px 30px -10px rgba(242, 194, 48, .95); }
.btn-ciemny { background: var(--atrament); color: var(--papier); }
.btn-ciemny:hover { background: var(--cegla); }
.btn-obrys { border-color: var(--atrament); color: var(--atrament); }
.btn-obrys:hover { background: var(--atrament); color: var(--papier); }
.btn-obrys-jasny { border-color: rgba(255, 253, 248, .7); color: var(--bialy); }
.btn-obrys-jasny:hover { background: var(--bialy); color: var(--atrament); }
.btn-duzy { min-height: 58px; padding: 15px 32px; font-size: 16px; }
.btn-maly { min-height: 42px; padding: 9px 18px; font-size: 14px; }
.btn-pelny { width: 100%; }
.przyciski { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.srodek-m { justify-content: center; }
.link-strz { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--zolty); padding-bottom: 3px; }
.link-strz .ik { transition: transform .25s; }
.link-strz:hover .ik { transform: translateX(5px); }

/* pasek promocji */
.pasek-promo { background: var(--zolty); color: var(--atrament); overflow: hidden; font: 600 13px/1 var(--bezszer); white-space: nowrap; }
.pasek-promo-tor { display: inline-flex; gap: 56px; padding: 10px 0; animation: tor 38s linear infinite; }
.pasek-promo span { display: inline-flex; align-items: center; gap: 8px; }
@keyframes tor { to { transform: translateX(-50%); } }

/* nagłówek */
.naglowek { position: sticky; top: 0; z-index: 50; background: rgba(247, 241, 230, .92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--linia); transition: box-shadow .3s; }
.naglowek.maly { box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .45); }
.naglowek-wn { display: flex; align-items: center; gap: 22px; min-height: 80px; transition: min-height .3s; }
.naglowek.maly .naglowek-wn { min-height: 66px; }
.logo { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; min-width: 0; }
.logo img { width: 58px; height: 58px; transition: transform .6s; }
.logo:hover img { transform: rotate(-12deg); }
.naglowek.maly .logo img { width: 48px; height: 48px; }
.logo-tekst { display: flex; flex-direction: column; line-height: 1.1; }
.logo-tekst b { font: 700 21px/1 var(--szeryf); letter-spacing: -.01em; }
.logo-tekst small { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--szary); margin-top: 5px; }
.nawigacja { display: flex; gap: 4px; }
.nawigacja a { position: relative; padding: 10px 13px; text-decoration: none; font-weight: 500; font-size: 15px; }
.nawigacja a::after { content: ''; position: absolute; left: 13px; right: 13px; bottom: 4px; height: 2px; background: var(--cegla); transform: scaleX(0); transition: transform .3s; transform-origin: left; }
.nawigacja a:hover::after, .nawigacja a[aria-current]::after { transform: scaleX(1); }
.naglowek-tel { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none; font-size: 15px; }
.naglowek-tel .ik { width: 36px; height: 36px; padding: 9px; border-radius: 50%; background: var(--atrament); fill: var(--zolty); }
.burger { display: none; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--atrament); cursor: pointer; padding: 0; position: relative; flex: none; }
.burger span { position: absolute; left: 14px; right: 14px; height: 2px; background: var(--papier); border-radius: 2px; }
.burger span:nth-child(1) { top: 17px; } .burger span:nth-child(2) { top: 23px; right: 19px; } .burger span:nth-child(3) { top: 29px; }

/* szuflada */
.szuflada { position: fixed; inset: 0; z-index: 100; }
.szuflada-tlo { position: absolute; inset: 0; background: rgba(10, 8, 6, .55); opacity: 0; transition: opacity .3s; }
.szuflada-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(360px, 88vw); background: var(--atrament); color: var(--papier); padding: 26px 24px 30px; display: flex; flex-direction: column; gap: 4px; overflow-y: auto; transform: translateX(100%); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.szuflada.otwarta .szuflada-tlo { opacity: 1; }
.szuflada.otwarta .szuflada-panel { transform: none; }
.szuflada-panel > a:not(.btn):not(.logo) { font: 500 24px/1.2 var(--szeryf); text-decoration: none; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.szuflada-panel > a[aria-current] { color: var(--zolty); }
.szuflada-panel .btn { margin-top: 12px; }
.szuflada-x { align-self: flex-end; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: none; color: var(--papier); font-size: 26px; cursor: pointer; line-height: 1; }
.logo-szuflada { margin: 0 0 16px; }
.logo-szuflada small, .logo-stopka small { color: #b9ad9b; }

/* hero */
.hero { position: relative; min-height: min(92vh, 900px); display: flex; align-items: center; color: var(--bialy); overflow: hidden; background: var(--atrament); }
.hero-tlo, .baner-tlo, .pas-tlo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-tlo { animation: kenburns 24s ease-out both; }
@keyframes kenburns { from { transform: scale(1.12); } to { transform: scale(1); } }
.hero-cien { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(14, 11, 8, .88) 0%, rgba(14, 11, 8, .62) 45%, rgba(14, 11, 8, .2) 100%), linear-gradient(0deg, rgba(14, 11, 8, .6), transparent 40%); }
.hero-wn { position: relative; display: grid; grid-template-columns: 1.35fr .9fr; gap: 40px; align-items: end; padding: 90px 0 110px; }
.hero h1 { font-size: clamp(56px, 9vw, 128px); font-weight: 700; line-height: .92; margin-bottom: 18px; }
.hero h1 em { color: var(--zolty); display: block; }
.hero-pod { font-size: clamp(18px, 1.8vw, 23px); max-width: 30ch; color: #f1e6d2; }
.hero-platnosc { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; font-size: 14px; color: #e5d8c2; }
.hero-tekst > * { animation: wejscie .9s cubic-bezier(.2, .8, .2, 1) both; }
.hero-tekst > :nth-child(2) { animation-delay: .1s; } .hero-tekst > :nth-child(3) { animation-delay: .2s; } .hero-tekst > :nth-child(4) { animation-delay: .3s; } .hero-tekst > :nth-child(5) { animation-delay: .4s; }
@keyframes wejscie { from { opacity: 0; transform: translateY(30px); } }
.hero-karta { background: rgba(255, 253, 248, .96); color: var(--atrament); border-radius: 24px; padding: 26px; box-shadow: var(--cien); animation: wejscie 1s .45s cubic-bezier(.2, .8, .2, 1) both; }
.hero-karta-status { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 7px 14px; border-radius: 999px; background: var(--papier-2); font-weight: 600; font-size: 13.5px; }
.hero-karta-status::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: #9b9185; }
.hero-karta-status.otwarte::before { background: #25a35a; box-shadow: 0 0 0 0 rgba(37, 163, 90, .6); animation: puls 2s infinite; }
@keyframes puls { 70% { box-shadow: 0 0 0 9px rgba(37, 163, 90, 0); } 100% { box-shadow: 0 0 0 0 rgba(37, 163, 90, 0); } }
.hero-karta-wiersz { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--linia); line-height: 1.45; }
.hero-karta-wiersz > .ik { width: 42px; height: 42px; padding: 11px; border-radius: 12px; background: var(--zolty); }
.hero-karta-wiersz small { display: block; color: var(--szary); font-size: 12.5px; }
.hero-karta-wiersz b { display: block; font-size: 17px; }
.hero-karta-wiersz a { text-decoration: none; }
.hero-godziny summary { cursor: pointer; padding: 14px 0 4px; font-weight: 600; list-style: none; display: flex; align-items: center; gap: 8px; }
.hero-godziny summary::-webkit-details-marker { display: none; }
.hero-godziny summary::after { content: '+'; margin-left: auto; font-size: 22px; line-height: 1; transition: transform .3s; }
.hero-godziny[open] summary::after { transform: rotate(45deg); }
.hero-scroll { position: absolute; left: 50%; bottom: 26px; width: 28px; height: 46px; border: 2px solid rgba(255, 255, 255, .6); border-radius: 20px; transform: translateX(-50%); }
.hero-scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 9px; margin-left: -2px; border-radius: 2px; background: var(--zolty); animation: scroll 1.8s infinite; }
@keyframes scroll { 60% { transform: translateY(14px); opacity: 0; } 61% { transform: none; opacity: 0; } 100% { opacity: 1; } }

/* godziny */
.godziny { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.godziny th { text-align: left; font-weight: 400; text-transform: capitalize; padding: 5px 0; }
.godziny td { text-align: right; padding: 5px 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.godziny tr + tr { border-top: 1px dashed var(--linia); }
.godziny tr.dzis th, .godziny tr.dzis td { font-weight: 700; color: var(--cegla); }
.godziny tr.dzis th::after { content: ' · dziś'; font-size: 12px; text-transform: none; }

/* sekcje */
.sekcja { padding: clamp(70px, 9vw, 130px) 0; position: relative; }
.naglowek-sekcji { max-width: 760px; margin-bottom: clamp(36px, 5vw, 60px); }
.naglowek-sekcji.srodek { margin-inline: auto; }
.naglowek-sekcji.z-linkiem { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; }
.naglowek-sekcji h2 { margin: 0; }
.dwie { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 90px); align-items: center; }
.dwie-7-5 { grid-template-columns: 7fr 5fr; align-items: start; }

/* o nas + kolaż */
.o-nas-tekst h2 { margin-bottom: 26px; }
.kolaz { position: relative; aspect-ratio: 1 / 1.05; }
.kolaz figure { position: absolute; margin: 0; border-radius: var(--r); overflow: hidden; box-shadow: var(--cien); }
.kolaz img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s; }
.kolaz figure:hover img { transform: scale(1.06); }
.kolaz-a { left: 0; top: 0; width: 64%; height: 68%; }
.kolaz-b { right: 0; top: 16%; width: 44%; height: 44%; border: 6px solid var(--papier); }
.kolaz-c { left: 18%; bottom: 0; width: 46%; height: 36%; border: 6px solid var(--papier); }
.kolaz-plakietka { position: absolute; right: 4%; bottom: 8%; width: 150px; height: 150px; border-radius: 50%; background: var(--zolty); display: grid; place-content: center; text-align: center; box-shadow: var(--cien); animation: kolysanie 6s ease-in-out infinite; }
.kolaz-plakietka b { font: 700 38px/1 var(--szeryf); }
.kolaz-plakietka span { font-size: 12px; line-height: 1.25; padding: 4px 18px 0; }
@keyframes kolysanie { 50% { transform: rotate(-6deg) translateY(-6px); } }

/* opinie */
.opinie-sekcja { background: var(--papier-2); }
.opinie-sekcja::before { content: '„'; position: absolute; left: 4%; top: 30px; font: 700 clamp(160px, 22vw, 320px)/1 var(--szeryf); color: rgba(176, 81, 58, .09); pointer-events: none; }
.licznik-duzy { font-size: 19px; margin-top: 14px; }
.licznik-duzy b { font: 700 44px/1 var(--szeryf); color: var(--cegla); }
.opinie { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 22px; align-items: stretch; }
.opinia { margin: 0; background: var(--bialy); border-radius: var(--r); padding: 30px; box-shadow: 0 10px 30px -22px rgba(0, 0, 0, .5); display: flex; flex-direction: column; transition: transform .35s; }
.opinia:hover { transform: translateY(-6px) rotate(-.4deg); }
.opinia p { font: italic 400 19px/1.55 var(--szeryf); flex: 1; }
.opinia cite { font-style: normal; font-weight: 600; display: flex; align-items: center; gap: 10px; }
.opinia cite::before { content: ''; width: 24px; height: 2px; background: var(--zolty); }
.opinia-wyr { background: var(--atrament); color: var(--papier); }

/* galeria smaków */
.smaki { background: var(--atrament); color: var(--papier); }
.smaki h2 em { color: var(--zolty); }
.smaki-siatka { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 14px; grid-auto-flow: dense; }
.smaki-siatka .gal-el:nth-child(4) { grid-column: span 2; grid-row: span 2; }
.gal-el { display: block; position: relative; overflow: hidden; border-radius: 14px; background: #2a241d; }
.gal-el img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .8, .2, 1), filter .5s; }
.gal-el::after { content: '+'; position: absolute; right: 12px; bottom: 12px; width: 38px; height: 38px; border-radius: 50%; background: var(--zolty); color: var(--atrament); display: grid; place-items: center; font-size: 24px; transform: scale(0); transition: transform .35s; }
.gal-el:hover img { transform: scale(1.08); }
.gal-el:hover::after { transform: scale(1); }

/* kroki */
.kroki3 { list-style: none; margin: 0 0 50px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; counter-reset: k; position: relative; }
.kroki3::before { content: ''; position: absolute; top: 58px; left: 16%; right: 16%; border-top: 2px dashed rgba(176, 81, 58, .35); }
.kroki3 li { position: relative; text-align: center; padding: 0 10px; }
.kroki3 li > .ik { width: 116px; height: 116px; padding: 34px; border-radius: 50%; background: var(--bialy); box-shadow: var(--cien); margin: 0 auto 22px; display: block; position: relative; transition: transform .4s, background .4s; }
.kroki3 li:hover > .ik { transform: translateY(-6px) rotate(-6deg); background: var(--zolty); }
.kroki3-nr { position: absolute; top: -6px; left: calc(50% + 30px); z-index: 2; width: 38px; height: 38px; border-radius: 50%; background: var(--cegla); color: #fff; font: 700 18px/38px var(--szeryf); }
.kroki3 p { color: var(--szary); }

/* poznaj nas */
.poznaj { background: var(--papier-2); }
.poznaj-blok { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 6vw, 80px); align-items: center; }
.poznaj-blok + .poznaj-blok { margin-top: clamp(50px, 7vw, 90px); }
.poznaj-odwr figure { order: 2; }
.poznaj-blok figure { margin: 0; border-radius: 28px 28px 28px 120px; overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--cien); }
.poznaj-odwr figure { border-radius: 28px 120px 28px 28px; }
.poznaj-blok figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s; }
.poznaj-blok:hover figure img { transform: scale(1.05); }
.poznaj-nr { font: italic 400 72px/1 var(--szeryf); color: var(--zolty-2); display: block; margin-bottom: 8px; -webkit-text-stroke: 1px var(--zolty-2); color: transparent; }
.poznaj-tekst p { font-size: 18px; color: #3b342c; }

/* pasy ze zdjęciem */
.przyjecia-pas { color: var(--bialy); text-align: center; overflow: hidden; background: var(--atrament); }
.przyjecia-pas::before { content: ''; position: absolute; inset: 0; background: rgba(14, 11, 8, .68); z-index: 1; }
.przyjecia-pas-wn { position: relative; z-index: 2; max-width: 900px; }
.przyjecia-pas h2 em { color: var(--zolty); }
.pas-tlo { transform: scale(1.15); }

/* kontakt skrót, mapa */
.kontakt-lista { list-style: none; padding: 0; margin: 24px 0; display: grid; gap: 14px; }
.kontakt-lista li { display: flex; gap: 14px; align-items: flex-start; }
.kontakt-lista .ik { width: 40px; height: 40px; padding: 10px; border-radius: 12px; background: var(--atrament); fill: var(--zolty); }
.kontakt-lista li > span { padding-top: 7px; }
.mapa { position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 3.4; box-shadow: var(--cien); background: #2a241d; }
.mapa > img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.7); }
.mapa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mapa-btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.mapa-btn:hover { transform: translate(-50%, calc(-50% - 2px)); }
.mapa-info { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 12px 18px; background: rgba(14, 11, 8, .75); color: #e8dcc8; font-size: 13px; text-align: center; }
.mapa-info a { color: var(--zolty); }
.mapa.zaladowana > img, .mapa.zaladowana .mapa-btn, .mapa.zaladowana .mapa-info { display: none; }
.mapa-wysoka { aspect-ratio: auto; min-height: 480px; }

/* baner podstron */
.baner { position: relative; padding: clamp(90px, 13vw, 170px) 0 clamp(80px, 10vw, 130px); color: var(--bialy); overflow: hidden; background: var(--atrament); }
.baner::before { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(14, 11, 8, .86), rgba(14, 11, 8, .45)); z-index: 1; }
.baner-tlo { animation: kenburns 20s ease-out both; }
.baner-wn { position: relative; z-index: 2; }
.baner h1 { font-size: clamp(44px, 7vw, 92px); max-width: 16ch; animation: wejscie .9s both; }
.baner h1 em { color: var(--zolty); }
.baner-pod { font-size: clamp(17px, 1.6vw, 21px); color: #eadfcb; max-width: 50ch; animation: wejscie .9s .15s both; }
.fala { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 50px; z-index: 3; fill: var(--papier); }

/* menu: PDF */
.pdf-siatka { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.pdf-karta { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 26px 22px 22px; border-radius: var(--r); background: var(--bialy); text-decoration: none; box-shadow: 0 10px 30px -22px rgba(0, 0, 0, .5); overflow: hidden; transition: transform .35s, background .35s, color .35s; }
.pdf-karta::before { content: ''; position: absolute; right: -40px; top: -40px; width: 120px; height: 120px; border-radius: 50%; background: var(--papier-2); transition: transform .5s; }
.pdf-karta:hover { transform: translateY(-6px); background: var(--atrament); color: var(--papier); }
.pdf-karta:hover::before { transform: scale(3); background: #2a241d; }
.pdf-karta > * { position: relative; }
.pdf-ik .ik { width: 46px; height: 46px; padding: 11px; border-radius: 14px; background: var(--zolty); color: var(--atrament); margin-bottom: 16px; }
.pdf-karta b { font: 600 22px/1.15 var(--szeryf); }
.pdf-karta small { color: var(--szary); }
.pdf-karta:hover small { color: #b9ad9b; }
.pdf-otworz { display: inline-flex; gap: 6px; align-items: center; margin-top: 14px; font-weight: 600; font-size: 14px; }

.nagrody { padding-top: 0; }
.nagrody-siatka { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.nagroda { padding: 30px; border-radius: var(--r); background: var(--atrament); color: var(--papier); }
.nagroda > .ik { width: 52px; height: 52px; padding: 12px; border-radius: 50%; background: var(--zolty); color: var(--atrament); margin-bottom: 16px; }
.nagroda h3 { font-size: 23px; }
.nagroda p { color: #d3c7b4; margin: 0; font-size: 15px; }

/* karta dań */
.karta-sekcja { background: var(--papier-2); }
.karta-zakladki { position: sticky; top: 66px; z-index: 20; display: flex; gap: 8px; overflow-x: auto; padding: 12px 4px; margin: 0 -4px 30px; background: var(--papier-2); scrollbar-width: none; }
.karta-zakladki::-webkit-scrollbar { display: none; }
.karta-zakladki a { flex: none; padding: 9px 18px; border-radius: 999px; border: 1.5px solid var(--linia); background: var(--bialy); text-decoration: none; font-weight: 500; font-size: 14.5px; transition: background .25s, color .25s; }
.karta-zakladki a:hover, .karta-zakladki a.aktywna { background: var(--atrament); color: var(--papier); border-color: var(--atrament); }
.karta-grupa { scroll-margin-top: 150px; margin-bottom: 50px; }
.karta-grupa-tyt { display: flex; align-items: center; gap: 12px; font-size: clamp(28px, 3vw, 38px); padding-bottom: 14px; border-bottom: 2px solid var(--atrament); }
.karta-grupa-tyt span { font: 600 13px/1 var(--bezszer); padding: 6px 10px; border-radius: 999px; background: var(--zolty); }
.karta-lista { display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; }
.danie { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px dashed rgba(22, 19, 15, .2); }
.danie-foto { flex: none; width: 104px; height: 104px; border-radius: 50%; overflow: hidden; background: var(--bialy); box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .6); }
.danie-foto img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform .6s; }
.danie:hover .danie-foto img { transform: scale(1.25) rotate(8deg); }
.danie-foto .danie-logo { object-fit: contain; padding: 18px; transform: none; opacity: .5; }
.danie-tresc { flex: 1; min-width: 0; }
.danie-gora { display: flex; align-items: baseline; gap: 10px; }
.danie h4 { font: 600 19px/1.25 var(--szeryf); margin: 0; }
.danie-kropki { flex: 1; border-bottom: 2px dotted rgba(22, 19, 15, .3); min-width: 16px; transform: translateY(-4px); }
.danie-cena { font: 700 18px/1 var(--szeryf); color: var(--cegla); white-space: nowrap; }
.danie p { margin: 6px 0 0; font-size: 14px; color: var(--szary); line-height: 1.5; }
.danie-tagi { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.danie-tagi:empty { display: none; }
.tag { font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--papier); border: 1px solid var(--linia); }
.tag-bestseller { background: var(--zolty); border-color: var(--zolty); }
.tag-recommended { background: var(--atrament); color: var(--papier); border-color: var(--atrament); }
.tag-specialoffer { background: var(--cegla); color: #fff; border-color: var(--cegla); }
.danie-niedost { opacity: .5; }
.karta-zamow { text-align: center; padding: 40px 20px 0; }
.karta-zamow p { color: var(--szary); }

/* oferty */
.oferty-siatka { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.oferta-karta { position: relative; display: block; border-radius: 22px; overflow: hidden; text-decoration: none; color: var(--bialy); min-height: 360px; background: var(--atrament); scroll-margin-top: 110px; }
.oferta-duza { grid-column: span 2; grid-row: span 2; }
.oferta-karta:last-child { grid-column: 1 / -1; min-height: 300px; }
.oferta-karta figure { position: absolute; inset: 0; margin: 0; }
.oferta-karta img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s; }
.oferta-karta::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14, 11, 8, .92) 0%, rgba(14, 11, 8, .25) 55%, rgba(14, 11, 8, .05)); }
.oferta-karta:hover img { transform: scale(1.07); }
.oferta-tresc { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 26px; }
.oferta-tresc small { letter-spacing: .16em; text-transform: uppercase; font-size: 11.5px; color: var(--zolty); font-weight: 600; }
.oferta-tresc h3 { font-size: clamp(24px, 2.4vw, 34px); margin: 6px 0 14px; }
.oferta-duza .oferta-tresc h3 { font-size: clamp(32px, 4vw, 54px); }
.oferta-pobierz { display: inline-flex; gap: 8px; align-items: center; padding: 10px 18px; border-radius: 999px; background: var(--zolty); color: var(--atrament); font-weight: 600; font-size: 14px; transition: transform .3s; }
.oferta-karta:hover .oferta-pobierz { transform: translateX(6px); }
.sale-sekcja { background: var(--papier-2); overflow: hidden; }
.pasmo-zdjec { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-width: thin; }
.pasmo-zdjec .gal-el { flex: none; width: min(320px, 72vw); aspect-ratio: 3 / 4; scroll-snap-align: start; }

/* galeria */
.filtry { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 34px; }
.filtr { padding: 10px 20px; border-radius: 999px; border: 1.5px solid var(--linia); background: var(--bialy); font: 500 15px/1 var(--bezszer); cursor: pointer; transition: background .25s, color .25s; }
.filtr.aktywny, .filtr:hover { background: var(--atrament); color: var(--papier); border-color: var(--atrament); }
.galeria-siatka { columns: 4 240px; column-gap: 14px; }
.galeria-siatka .gal-el { margin-bottom: 14px; break-inside: avoid; }
.galeria-siatka .gal-el img { height: auto; }
.galeria-siatka .gal-el[hidden] { display: none; }

/* formularz */
.formularz { background: var(--bialy); border-radius: 26px; padding: clamp(24px, 4vw, 44px); box-shadow: var(--cien); }
.pola { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.pola label { display: flex; flex-direction: column; gap: 6px; font-weight: 500; font-size: 14px; }
.pole-szer { grid-column: 1 / -1; }
.pola input, .pola select, .pola textarea { font: 400 16px/1.4 var(--bezszer); padding: 13px 15px; border-radius: 12px; border: 1.5px solid rgba(22, 19, 15, .2); background: var(--papier); color: var(--atrament); width: 100%; min-width: 0; }
.pola input:focus, .pola select:focus, .pola textarea:focus { outline: none; border-color: var(--zolty-2); box-shadow: 0 0 0 4px rgba(242, 194, 48, .3); }
.zgoda { display: flex; gap: 10px; font-size: 13.5px; color: var(--szary); margin-bottom: 22px; align-items: flex-start; }
.zgoda input { width: 20px; height: 20px; flex: none; margin-top: 2px; accent-color: var(--atrament); }
.rez-bok { display: grid; gap: 18px; }
.rez-karta { padding: 28px; border-radius: 22px; background: var(--atrament); color: var(--papier); }
.rez-karta p { color: #cfc3b0; margin: 0; }
.rez-karta-jasna { background: var(--papier-2); color: var(--atrament); }
.rez-karta h3 { font-size: 24px; }
.rez-tel { display: inline-flex; gap: 10px; align-items: center; font: 700 30px/1.2 var(--szeryf); color: var(--zolty); text-decoration: none; margin-bottom: 10px; }
.rez-foto { margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3; }
.rez-foto img { width: 100%; height: 100%; object-fit: cover; }

/* kontakt */
.osoby { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: clamp(50px, 7vw, 90px); }
.osoba { padding: 30px; border-radius: 22px; background: var(--bialy); box-shadow: 0 10px 30px -22px rgba(0, 0, 0, .5); display: flex; flex-direction: column; gap: 8px; transition: transform .35s; }
.osoba:hover { transform: translateY(-6px); }
.osoba h3 { margin: 6px 0 6px; }
.osoba a { display: inline-flex; gap: 10px; align-items: center; text-decoration: none; font-weight: 500; overflow-wrap: anywhere; }
.osoba-ik .ik { width: 52px; height: 52px; padding: 13px; border-radius: 50%; background: var(--papier-2); }
.osoba-zolta { background: var(--zolty); }
.osoba-zolta .osoba-ik .ik { background: var(--atrament); fill: var(--zolty); color: var(--zolty); }
.kontakt-dane { align-items: start; }
.godziny-dwie { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 28px 0; }
.godziny-dwie h3 { font-size: 19px; display: flex; gap: 8px; align-items: center; }
.stopka-social-ciemne { display: flex; gap: 10px; align-items: center; }
.stopka-social-ciemne a { background: var(--atrament); color: var(--zolty); }

/* tekst prawny */
.tekst-prawny { max-width: 820px; }
.tekst-prawny h2 { font-size: 26px; margin-top: 34px; }
.uwaga-demo { padding: 14px 18px; border-radius: 12px; background: var(--zolty); font-weight: 500; }

/* stopka */
.stopka { position: relative; background: var(--atrament); color: #d9cdb9; overflow: hidden; }
.stopka-cta { position: relative; background: var(--zolty); color: var(--atrament); padding: 54px 0 0; }
.stopka-cta-wn { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; padding-bottom: 44px; }
.stopka-cta .etykieta { color: var(--cegla); }
.stopka-cta h2 { font-size: clamp(30px, 3.6vw, 48px); max-width: 20ch; margin: 0; }
.stopka-cta h2 em { color: var(--atrament); text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.stopka-cta-przyciski { display: flex; gap: 12px; flex-wrap: wrap; }
.stopka-cta .btn-zolty { background: var(--atrament); color: var(--zolty); box-shadow: none; }
.stopka-cta .btn-obrys-jasny { border-color: var(--atrament); color: var(--atrament); }
.stopka-cta .btn-obrys-jasny:hover { background: var(--atrament); color: var(--zolty); }
.stopka-promo { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 34px; padding: 16px 20px; background: rgba(22, 19, 15, .08); font-weight: 600; font-size: 14px; }
.stopka-promo span { display: inline-flex; gap: 8px; align-items: center; }
.stopka-siatka { display: grid; grid-template-columns: 1.3fr 1fr 1fr .9fr; gap: 40px; padding: 70px 0 50px; position: relative; z-index: 1; }
.stopka h3 { font: 600 13px/1 var(--bezszer); letter-spacing: .18em; text-transform: uppercase; color: var(--zolty); margin-bottom: 22px; }
.logo-stopka { margin-bottom: 20px; }
.logo-stopka b { color: var(--bialy); }
.stopka-marka p { font-size: 15px; max-width: 34ch; }
.stopka-social { display: flex; gap: 10px; margin-top: 20px; }
.stopka-social a { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #2a241d; color: var(--papier); transition: background .25s, transform .25s; }
.stopka-social a:hover { background: var(--zolty); color: var(--atrament); transform: translateY(-3px); }
.stopka-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; font-size: 15px; }
.stopka-lista li { display: flex; gap: 12px; }
.stopka-lista .ik { fill: var(--zolty); margin-top: 3px; }
.stopka-lista a { text-decoration: none; color: var(--bialy); }
.stopka-lista a:hover { color: var(--zolty); }
.stopka-lista small { color: #a99c88; }
.stopka-trasa { display: inline-flex; gap: 8px; align-items: center; margin-top: 18px; color: var(--zolty); font-weight: 600; text-decoration: none; }
.stopka-trasa:hover .ik { transform: translateX(4px); }
.stopka-trasa .ik { transition: transform .25s; }
.godziny-stopka { font-size: 14px; }
.godziny-stopka tr + tr { border-top-color: rgba(255, 255, 255, .08); }
.godziny-stopka tr.dzis th, .godziny-stopka tr.dzis td { color: var(--zolty); }
.stopka-dziś { margin: 12px 0 0; font-weight: 600; color: var(--bialy); font-size: 14px; }
.stopka-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.stopka-menu a { text-decoration: none; position: relative; transition: color .25s, padding .25s; }
.stopka-menu a:hover { color: var(--zolty); padding-left: 8px; }
.stopka-dol { position: relative; z-index: 1; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 24px 0 34px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: 13.5px; color: #a99c88; }
.stopka-dol p { margin: 0; }
.stopka-prawne { display: flex; gap: 20px; flex-wrap: wrap; }
.stopka-prawne a { text-decoration: none; }
.stopka-prawne a:hover { color: var(--zolty); }
.do-gory { display: inline-flex; gap: 6px; align-items: center; color: var(--zolty); }
.stopka-ornament { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 120px; fill: rgba(242, 194, 48, .04); pointer-events: none; }

/* pigułka demo */
.demo-pigulka { position: fixed; left: 16px; bottom: 16px; z-index: 60; display: inline-flex; gap: 8px; align-items: center; padding: 10px 16px; border-radius: 999px; background: var(--atrament); color: var(--zolty); font: 600 12.5px/1 var(--bezszer); text-decoration: none; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .6); }

/* lightbox */
.lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(10, 8, 6, .94); display: grid; place-items: center; padding: 20px; }
.lightbox[hidden] { display: none; }
.lightbox figure { margin: 0; max-width: min(1400px, 100%); }
.lightbox img { max-height: 84vh; width: auto; margin: 0 auto; border-radius: 10px; }
.lightbox figcaption { text-align: center; color: #d9cdb9; padding-top: 12px; font-size: 14px; }
.lb-x, .lb-nav { position: absolute; border: 0; background: rgba(255, 255, 255, .12); color: #fff; width: 50px; height: 50px; border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; }
.lb-x { top: 16px; right: 16px; }
.lb-wst { left: 16px; top: 50%; transform: translateY(-50%); }
.lb-dal { right: 16px; top: 50%; transform: translateY(-50%); }
.lb-x:hover, .lb-nav:hover { background: var(--zolty); color: var(--atrament); }
.kom-demo { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 210; background: var(--atrament); color: var(--papier); padding: 16px 22px; border-radius: 14px; box-shadow: var(--cien); max-width: calc(100% - 32px); font-size: 15px; border-left: 4px solid var(--zolty); }

/* ruch: odsłanianie (tylko z JS, bez „ogranicz ruch”) */
.ruch .odslon { opacity: 0; transform: translateY(34px); transition: opacity .9s cubic-bezier(.2, .8, .2, 1), transform .9s cubic-bezier(.2, .8, .2, 1); }
.ruch .odslon.widoczne { opacity: 1; transform: none; }
.ruch .grupa-ruch > * { opacity: 0; transform: translateY(26px); transition: opacity .7s, transform .7s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 80ms); }
.ruch .grupa-ruch.widoczne > * { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* responsywność */
@media (max-width: 1180px) {
  .nawigacja a { padding: 10px 9px; font-size: 14.5px; }
  .naglowek-tel span { display: none; }
  .pdf-siatka { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
  .nawigacja, .naglowek-tel { display: none; }
  .burger { display: block; }
  .hero-wn { grid-template-columns: 1fr; padding: 70px 0 90px; }
  .hero-karta { max-width: 460px; }
  .dwie, .dwie-7-5, .poznaj-blok { grid-template-columns: 1fr; }
  .poznaj-odwr figure { order: 0; }
  .opinie { grid-template-columns: 1fr; }
  .smaki-siatka { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 190px; }
  .kroki3 { grid-template-columns: 1fr; gap: 40px; }
  .kroki3::before { display: none; }
  .nagrody-siatka, .osoby { grid-template-columns: 1fr; }
  .oferty-siatka { grid-template-columns: 1fr 1fr; }
  .oferta-duza { grid-column: span 2; grid-row: auto; min-height: 420px; }
  .karta-lista { grid-template-columns: 1fr; }
  .stopka-siatka { grid-template-columns: 1fr 1fr; }
  .kolaz { max-width: 560px; }
}
@media (max-width: 640px) {
  body { font-size: 15.5px; }
  .kont { width: calc(100% - 32px); }
  .naglowek-wn { gap: 10px; min-height: 68px; }
  .logo img { width: 46px; height: 46px; }
  .logo-tekst b { font-size: 18px; }
  .logo-tekst small { font-size: 9.5px; letter-spacing: .12em; }
  .naglowek-zam { padding: 8px 12px; min-height: 40px; font-size: 13px; }
  .naglowek-zam .ik { display: none; }
  .hero { min-height: auto; }
  .hero-wn { padding: 56px 0 80px; }
  .hero .btn-duzy { width: 100%; }
  .hero-scroll { display: none; }
  .pdf-siatka { grid-template-columns: 1fr 1fr; }
  .pdf-karta:last-child { grid-column: span 2; }
  .oferty-siatka { grid-template-columns: 1fr; }
  .oferta-duza { grid-column: auto; min-height: 380px; }
  .oferta-karta:last-child { grid-column: auto; }
  .oferta-karta { min-height: 300px; }
  .smaki-siatka .gal-el:nth-child(4) { grid-column: span 2; grid-row: span 1; }
  .pola, .godziny-dwie, .stopka-siatka { grid-template-columns: 1fr; }
  .danie-foto { width: 82px; height: 82px; }
  .danie h4 { font-size: 17px; }
  .danie-gora { flex-wrap: wrap; }
  .danie-kropki { display: none; }
  .danie-cena { margin-left: auto; }
  .kolaz-plakietka { width: 118px; height: 118px; }
  .kolaz-plakietka b { font-size: 30px; }
  .stopka-cta-przyciski, .stopka-cta-przyciski .btn { width: 100%; }
  .stopka-promo { justify-content: flex-start; }
  .mapa-wysoka { min-height: 360px; }
  .demo-pigulka { left: 50%; transform: translateX(-50%); bottom: 12px; white-space: nowrap; }
  .karta-zakladki { top: 68px; }
  .btn { white-space: normal; text-align: center; }
}

/* propozycja */
.prop { padding-top: clamp(50px, 6vw, 80px); }
.prop-tyt { font-size: clamp(46px, 7vw, 92px); }
.prop-tyt em { color: var(--cegla); font-style: italic; font-weight: 400; }
.dwie-5-7-prop { grid-template-columns: 5fr 7fr; align-items: start; }
.cena-karta { position: sticky; top: 100px; background: var(--atrament); color: var(--papier); border-radius: 26px; padding: clamp(26px, 3vw, 38px); box-shadow: var(--cien); }
.cena-kwota { font: 700 clamp(80px, 9vw, 116px)/1 var(--szeryf); color: var(--zolty); margin: 0; }
.cena-kwota small { font-size: .35em; margin-left: 6px; }
.cena-pod { color: #b9ad9b; font-size: 14px; }
.cena-karta h3 { font-size: 22px; margin-top: 24px; }
.lista-ok { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; color: #e3d8c5; }
.lista-ok li { position: relative; padding-left: 30px; }
.lista-ok li::before { content: '✓'; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: var(--zolty); color: var(--atrament); font-size: 12px; font-weight: 700; display: grid; place-items: center; }
.lista-ok b { color: var(--bialy); }
.cena-przyciski { display: grid; gap: 10px; margin-top: 26px; }
.cena-uwaga { color: #a99c88; font-size: 13px; margin: 16px 0 0; }
.prop-h2 { font-size: clamp(30px, 3.4vw, 44px); }
.kroki-prop { list-style: none; margin: 0; padding: 0; counter-reset: p; display: grid; gap: 14px; }
.kroki-prop li { counter-increment: p; position: relative; padding: 20px 22px 20px 70px; background: var(--bialy); border-radius: 16px; box-shadow: 0 10px 30px -24px rgba(0, 0, 0, .5); color: #3b342c; font-size: 15.5px; }
.kroki-prop li::before { content: counter(p); position: absolute; left: 20px; top: 18px; width: 34px; height: 34px; border-radius: 50%; background: var(--zolty); font: 700 17px/34px var(--szeryf); text-align: center; color: var(--atrament); }
.kroki-prop b { display: block; color: var(--atrament); font: 600 19px/1.3 var(--szeryf); margin-bottom: 4px; }
.maly { font-size: 13.5px; color: var(--szary); margin-top: 26px; }
@media (max-width: 980px) { .dwie-5-7-prop { grid-template-columns: 1fr; } .cena-karta { position: static; } }
@media (max-width: 640px) { .kroki-prop li { padding: 18px 16px 18px 58px; } .kroki-prop li::before { left: 14px; } }

/* 06.10.2026 — zdjęcie główne wyraźne i prawie w całości: po prawej bez przyciemnienia, tekst na ciemnym tle po lewej */
.hero-tlo { inset: 0 0 0 auto; width: 56%; animation: none; }
.hero-cien { background: linear-gradient(90deg, var(--atrament) 0%, var(--atrament) 44%, rgba(14, 11, 8, .55) 50%, rgba(14, 11, 8, 0) 60%); }
.hero-wn { grid-template-columns: 1fr 340px; align-items: end; }
.hero-karta { padding: 20px; }
@media (max-width: 1000px) {
  .hero { flex-direction: column; align-items: stretch; }
  .hero-tlo { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .hero-cien { display: none; }
  .hero-wn { grid-template-columns: 1fr; padding-top: 36px; }
}

/* 06.10.2026 — nowy dół strony: stopka „st2” (pas kontaktu, skróty ze zdjęciami, karta zamówienia, złota linia) */
.st2 { background: radial-gradient(1100px 520px at 12% 0%, rgba(176, 81, 58, .22), transparent 62%), radial-gradient(900px 600px at 100% 100%, rgba(242, 194, 48, .10), transparent 60%), linear-gradient(180deg, #1d1812 0%, #110e0a 100%); padding-top: 64px; }
.st2-linia { position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, var(--cegla), var(--zolty) 30%, #ffe08a 50%, var(--zolty) 70%, var(--cegla)); background-size: 200% 100%; animation: st2-linia 9s linear infinite; }
@keyframes st2-linia { to { background-position: -200% 0; } }
.st2-poswiata { position: absolute; right: -180px; bottom: -220px; width: 620px; height: 620px; border-radius: 50%; border: 70px solid rgba(242, 194, 48, .045); box-shadow: 0 0 0 70px rgba(242, 194, 48, .025); pointer-events: none; }
.st2 > .kont { position: relative; z-index: 1; }
.st2-kontakt { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(242, 194, 48, .22); border-radius: 22px; background: rgba(255, 253, 248, .04); overflow: hidden; }
.st2-kafel { display: flex; align-items: center; gap: 16px; padding: 22px 26px; text-decoration: none; color: var(--bialy); transition: background .3s; min-width: 0; }
.st2-kafel + .st2-kafel { border-left: 1px solid rgba(242, 194, 48, .16); }
.st2-kafel:hover { background: rgba(242, 194, 48, .08); }
.st2-ik { flex: 0 0 auto; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(160deg, #ffd655, var(--zolty) 55%, #d9a514); box-shadow: 0 10px 24px rgba(242, 194, 48, .22); transition: transform .3s; }
.st2-ik .ik { fill: var(--atrament); width: 22px; height: 22px; }
.st2-kafel:hover .st2-ik { transform: translateY(-3px) rotate(-4deg); }
.st2-kafel small { display: block; font: 600 11.5px/1 var(--bezszer); letter-spacing: .18em; text-transform: uppercase; color: var(--zolty); margin-bottom: 7px; }
.st2-kafel b { display: block; font-weight: 600; font-size: 16.5px; line-height: 1.3; overflow-wrap: anywhere; }
.st2-siatka { display: grid; grid-template-columns: 1.15fr 1.05fr 1fr 1.1fr; gap: 44px; padding: 60px 0 44px; align-items: start; }
.st2-nad { font: 600 12px/1.3 var(--bezszer); letter-spacing: .2em; text-transform: uppercase; color: var(--zolty); margin: 0 0 8px; }
.st2-marka .logo-stopka { margin-bottom: 22px; }
.st2-nazwa { font: 600 40px/1.05 var(--szeryf); color: var(--bialy); margin: 0 0 14px; }
.st2-opis { font: italic 400 17px/1.6 var(--szeryf); color: #d9cdb9; max-width: 32ch; margin: 0; }
.st2-skroty { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.st2-skroty a { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--bialy); font-weight: 500; padding: 4px; border-radius: 14px; transition: background .25s, transform .25s, color .25s; }
.st2-skroty img { width: 56px; height: 44px; object-fit: cover; border-radius: 10px; flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(255, 255, 255, .12); }
.st2-skroty a:hover { background: rgba(255, 253, 248, .06); transform: translateX(4px); color: var(--zolty); }
.st2 .stopka-trasa { margin-top: 16px; }
.st2-karta { border: 1px solid rgba(242, 194, 48, .4); border-radius: 22px; padding: 26px 24px 24px; background: linear-gradient(160deg, rgba(242, 194, 48, .14), rgba(255, 253, 248, .03) 60%); box-shadow: 0 24px 60px rgba(0, 0, 0, .35); display: grid; gap: 12px; }
.st2-karta h2 { font-size: 28px; line-height: 1.12; color: var(--bialy); margin: 0 0 8px; }
.st2-karta h2 em { color: var(--zolty); }
.st2-promo { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; padding: 0 0 40px; }
.st2-promo span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 99px; background: var(--zolty); color: var(--atrament); font-weight: 600; font-size: 13.5px; }
.st2-promo .ik { fill: var(--atrament); width: 16px; height: 16px; }
.st2-seo { border-top: 1px solid rgba(242, 194, 48, .16); padding: 26px 0 30px; text-align: center; }
.st2-seo ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; }
.st2-seo a { color: #d9cdb9; text-decoration: none; font-size: 14px; line-height: 2; transition: color .2s; }
.st2-seo a:hover, .st2-seo a:focus-visible { color: var(--zolty); text-decoration: underline; }
.st2-dol { align-items: center; padding: 22px 0 28px; }
.st2-dol .stopka-prawne { align-items: center; }
.st2-gora { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(242, 194, 48, .5); transition: background .25s, transform .25s; }
.st2-gora .ik { fill: var(--zolty); }
.st2-gora:hover { background: var(--zolty); transform: translateY(-3px); }
.st2-gora:hover .ik { fill: var(--atrament); }
@media (max-width: 1180px) {
  .st2-siatka { grid-template-columns: 1fr 1fr; gap: 40px 36px; }
}
@media (max-width: 760px) {
  .st2 { padding-top: 44px; }
  .st2-kontakt { grid-template-columns: 1fr; }
  .st2-kafel { padding: 16px 18px; }
  .st2-kafel + .st2-kafel { border-left: 0; border-top: 1px solid rgba(242, 194, 48, .16); }
  .st2-siatka { grid-template-columns: 1fr; padding: 44px 0 34px; }
  .st2-nazwa { font-size: 34px; }
  .st2-promo { justify-content: flex-start; }
  .st2-dol { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .st2-linia { animation: none; } }

/* ==== WordPress (motyw „Duży Pokój”, 19.10.2026) ==== */
.admin-bar .naglowek { top: 32px; }
@media (max-width: 782px) { .admin-bar .naglowek { top: 46px; } }
@media (max-width: 600px) { .admin-bar .naglowek { top: 0; } }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.tresc-wp img { max-width: 100%; height: auto; }
.tresc-wp figure { margin: 1.2em 0; }
.tresc-wp .aligncenter { display: block; margin-inline: auto; }
.tresc-wp .alignleft { float: left; margin: .3em 1.2em 1em 0; }
.tresc-wp .alignright { float: right; margin: .3em 0 1em 1.2em; }
.tresc-wp .wp-caption, .tresc-wp .wp-caption-text { max-width: 100%; font-size: 14px; }
.tresc-wp table { width: 100%; border-collapse: collapse; }
.tresc-wp td, .tresc-wp th { border: 1px solid var(--linia); padding: 6px 10px; }
.tresc-wp a { color: var(--cegla); }
.tresc-wp ul, .tresc-wp ol { padding-left: 1.3em; }
.tresc-onas h2 { margin-bottom: 26px; }
.tresc-onas > p:first-of-type { font-size: clamp(17px, 1.4vw, 19px); color: #3b342c; }
.tresc-onas + .btn { margin-top: 8px; }
.sekcja-wstep { padding-bottom: 0; }
.oferta-wstep { margin-bottom: clamp(28px, 4vw, 48px); }
.kontakt-tresc { margin: 0 0 24px; }
.st2-zgody { background: none; border: 0; padding: 0; color: inherit; font: inherit; cursor: pointer; }
.st2-zgody:hover { color: var(--zolty); }
.przyciski-404 { display: flex; flex-wrap: wrap; gap: 12px; }

/* Pasek „chwilowa przerwa zamówień online” — na górze każdej strony (Restauracja → Zamówienia online) */
.pasek-przerwa { background: var(--atrament); color: var(--papier); font: 500 14px/1.35 var(--bezszer); border-bottom: 3px solid var(--zolty); position: relative; z-index: 51; }
.pasek-przerwa-wn { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 18px; padding: 10px 0; text-align: center; }
.pasek-przerwa-t { display: block; }
.pasek-przerwa-t .ik { fill: none; color: var(--zolty); margin-right: 6px; }
@media (max-width: 640px) { .pasek-przerwa { font-size: 13px; } .pasek-przerwa-wn { padding: 8px 0; gap: 6px 12px; } .pasek-przerwa-t .ik { display: none; } .pasek-przerwa-tel { padding: 4px 12px; } }
.pasek-przerwa-tel { display: inline-flex; align-items: center; gap: 8px; background: var(--zolty); color: var(--atrament); font-weight: 700; padding: 6px 14px; border-radius: 999px; text-decoration: none; white-space: nowrap; transition: background .25s; }
.pasek-przerwa-tel:hover { background: var(--bialy); }
.pasek-przerwa-alt { background: var(--bialy); }
.pasek-przerwa-alt:hover { background: var(--zolty); }
.dp-przerwa-alt { margin: 4px 0 18px; }

/* /zamow/ i /rezerwacja/: komunikat, karta z przyciskiem, osadzone menu Restaumatic */
.dp-przerwa-karta { background: var(--bialy); border-radius: 26px; padding: clamp(28px, 4.5vw, 54px); box-shadow: var(--cien); position: relative; overflow: hidden; }
.dp-przerwa-karta::after { content: ''; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: var(--zolty); opacity: .18; }
.dp-przerwa-ik .ik { width: 58px; height: 58px; padding: 14px; border-radius: 50%; background: var(--zolty); color: var(--atrament); margin-bottom: 22px; }
.dp-przerwa-ik .ik path[fill="none"] { stroke: var(--atrament); }
.dp-przerwa-karta h2 { font-size: clamp(28px, 3.4vw, 44px); max-width: 20ch; }
.dp-przerwa-tel { display: inline-flex; gap: 12px; align-items: center; font: 700 clamp(28px, 3.6vw, 40px)/1.2 var(--szeryf); color: var(--cegla); text-decoration: none; margin: 6px 0 14px; }
.dp-przerwa-tel .ik { width: .9em; height: .9em; }
.dp-przerwa-pod { color: var(--szary); max-width: 52ch; margin: 0 0 6px; }
.dp-karta-ok .btn { margin-top: 14px; }
.dp-modul-pelny { min-height: 300px; }
.dp-active-menu, #restaumatic_menu_widget_wrapper { width: 100%; }
.dp-active-menu iframe, #restaumatic_menu_widget_wrapper iframe { display: block; width: 100%; min-height: 720px; border: 0; border-radius: 18px; background: var(--bialy); }
.dp-modul-wlasny { max-width: none; }
.dp-modul-wlasny iframe { max-width: 100%; border: 0; }

/* pasek cookies (tylko gdy wpisano Google Analytics) */
.zgody { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 300; max-width: 980px; margin-inline: auto; background: var(--atrament); color: var(--papier); border-radius: 18px; box-shadow: 0 20px 60px -20px rgba(0, 0, 0, .6); border-left: 4px solid var(--zolty); transform: translateY(20px); opacity: 0; transition: transform .3s, opacity .3s; }
.zgody.widoczny { transform: none; opacity: 1; }
.zgody-wn { display: flex; gap: 14px 24px; align-items: center; flex-wrap: wrap; padding: 18px 22px; }
.zgody-wn p { margin: 0; flex: 1 1 380px; font-size: 14.5px; line-height: 1.55; }
.zgody-wn a { color: var(--zolty); }
.zgody-przyciski { display: flex; gap: 10px; flex-wrap: wrap; }
.zgody-przyciski .btn { min-height: 44px; padding: 10px 20px; }
.zgody-przyciski [data-zgoda="tak"] { background: var(--zolty); border-color: var(--zolty); color: var(--atrament); }

/* drobne poprawki szerokości 320–360 px */
@media (max-width: 380px) {
  .naglowek-zam { padding-inline: 12px; }
  .pasek-przerwa { font-size: 13px; }
  .dp-przerwa-tel { font-size: 26px; }
}
