/* ===== Dom Chłopa — prototyp strony ofertowej ===== */
:root{
  --tlo:#f7f2ea;
  --tlo-alt:#ede5d9;
  --karta:#fffdf9;
  --atrament:#1d1d1b;          /* czerń z logo */
  --atrament-2:#5f5c55;
  --linia:rgba(29,29,27,.14);
  --brand:#1d1d1b;
  --brand-jasny:#35342f;
  --akcent:#ff5757;            /* koral z logo */
  --akcent-tekst:#c03434;      /* koral przyciemniony do tekstu na jasnym tle */
  --akcent-jasny:#ff8a7a;      /* koral rozjaśniony do tekstu na ciemnym tle */
  --ciemne:#1d1d1b;
  --r:14px;
  --cien:0 1px 2px rgba(29,29,27,.05), 0 12px 32px -12px rgba(29,29,27,.18);
  --cien-hi:0 2px 4px rgba(29,29,27,.06), 0 22px 48px -14px rgba(29,29,27,.28);
  --wrap:1180px;
}
*{box-sizing:border-box}
/* Atrybut `hidden` musi wygrywać z regułami komponentów (np. .modal{display:grid}),
   inaczej ukryty element i tak się renderuje. */
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;background:var(--tlo);color:var(--atrament);
  font:16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.12;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(2.3rem,5.4vw,4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.75rem)}
h3{font-size:1.2rem}
p{margin:0 0 1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.wrap--waskie{max-width:800px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 16px;border-radius:8px}
.kicker{
  font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;color:var(--akcent-tekst);margin:0 0 .8rem;
}

/* ===== przyciski ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--akcent);color:var(--atrament);border:1px solid var(--akcent);
  padding:12px 22px;border-radius:999px;font-weight:600;font-size:.95rem;
  text-decoration:none;cursor:pointer;transition:.18s ease;
}
.btn:hover{background:var(--brand);color:#fff;border-color:var(--brand);transform:translateY(-1px)}
.btn--lg{padding:15px 30px;font-size:1rem}
.btn--sm{padding:9px 18px;font-size:.875rem}
.btn--pelny{width:100%}
.btn--ghost{background:transparent;color:var(--atrament);border-color:rgba(29,29,27,.28)}
.btn--ghost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ===== topbar ===== */
.topbar{position:sticky;top:0;z-index:50;background:rgba(247,242,234,.86);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:.25s}
.topbar.jest-scroll{border-bottom-color:var(--linia);box-shadow:0 8px 24px -18px rgba(32,28,23,.5)}
.topbar__in{display:flex;align-items:center;gap:28px;height:74px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.logo__mark{
  width:52px;height:52px;flex-shrink:0;object-fit:contain;display:block;
}
.logo__txt{display:flex;flex-direction:column;line-height:1.2}
.logo__txt b{font-family:Fraunces,serif;font-size:1.12rem}
.logo__txt i{font-style:normal;font-size:.72rem;color:var(--atrament-2);letter-spacing:.02em}
.nav{display:flex;gap:26px;margin-left:auto;font-size:.925rem;font-weight:500}
.nav a{text-decoration:none;color:var(--atrament-2);padding:6px 0;border-bottom:2px solid transparent;transition:.16s}
.nav a:hover,.nav a.jest-aktywny{color:var(--atrament);border-bottom-color:var(--akcent)}
.topbar__cta{display:flex;align-items:center;gap:16px;margin-left:auto}
.tel{font-weight:600;text-decoration:none;font-size:.925rem;white-space:nowrap}
.tel:hover{color:var(--akcent)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--linia);border-radius:10px;background:var(--karta);cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:12px;width:20px;height:2px;background:var(--atrament);border-radius:2px;transition:.2s;content:""}
.burger span{top:21px}
.burger span::before{top:-6px;left:0}
.burger span::after{top:6px;left:0}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* ===== hero ===== */
/* Zdjęcie idzie przez całą szerokość. Pod tekstem jest rozmyte i przykryte czernią,
   z prawej zostaje ostre. Trzy warstwy: ostre zdjęcie -> rozmyta kopia -> gradient czerni. */
.hero{
  position:relative;overflow:hidden;background:var(--ciemne);color:#f6f0e7;display:flex;flex-direction:column;
  /* lewa krawędź tekstu - do niej czerń jest pełna, dalej zaczyna się prześwit */
  --tekst-lewo:max(24px, calc((100% - 1180px) / 2 + 24px));
}
.hero__foto{position:absolute;inset:0;background-size:cover;background-position:center 60%}
/* rozmyta kopia - widoczna tylko po lewej, tam gdzie leży tekst; skala ukrywa miękkie brzegi */
.hero__foto--rozmyte{
  filter:blur(18px);transform:scale(1.1);
  -webkit-mask-image:linear-gradient(to right,#000 0 46%,transparent 66%);
          mask-image:linear-gradient(to right,#000 0 46%,transparent 66%);
}
.hero__zaslona{
  position:absolute;inset:0;
  background:linear-gradient(to right,
    var(--ciemne) 0,
    var(--ciemne) var(--tekst-lewo),
    rgba(29,29,27,.80) calc(var(--tekst-lewo) + 140px),
    rgba(29,29,27,.64) 46%,
    rgba(29,29,27,.30) 60%,
    rgba(29,29,27,0) 74%);
}
.hero__in{position:relative;z-index:2;padding:clamp(72px,10vw,124px) 24px clamp(52px,6vw,80px);max-width:var(--wrap);width:100%}
.hero__tresc{max-width:min(600px,53%)}
.hero .kicker{color:var(--akcent-jasny)}
.hero h1{max-width:15ch}
.lead{font-size:clamp(1.02rem,1.5vw,1.16rem);margin:1.4rem 0 2.2rem;color:rgba(246,240,231,.88)}
.hero__akcje{display:flex;gap:14px;flex-wrap:wrap}
.hero .btn--ghost{color:#f6f0e7;border-color:rgba(246,240,231,.4)}
.hero .btn--ghost:hover{background:#f6f0e7;color:var(--atrament);border-color:#f6f0e7}
.hero__fakty{
  list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:26px 0 0;
  border-top:1px solid rgba(246,240,231,.22);
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:min(700px,62%);
}
.hero__fakty li{display:flex;flex-direction:column}
.hero__fakty b{font-family:Fraunces,serif;font-size:1.8rem;color:var(--akcent-jasny);line-height:1.1}
.hero__fakty span{font-size:.82rem;color:rgba(246,240,231,.78);margin-top:3px}

/* ===== sekcje ===== */
.sekcja{padding:clamp(64px,8vw,104px) 0}
.sekcja--alt{background:var(--tlo-alt)}
.sekcja--ciemna{background:var(--ciemne);color:#f4ede2}
.sekcja--ciemna .sekcja__lead{color:rgba(244,237,226,.72)}
.sekcja__hd{max-width:70ch;margin-bottom:clamp(34px,4vw,52px)}
.sekcja__lead{color:var(--atrament-2);font-size:1.05rem;margin-top:1rem;max-width:62ch}

/* ===== okazje ===== */
.okazje{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:18px}
.okazja{
  background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);
  padding:26px 24px;transition:.2s;
}
.okazja:hover{transform:translateY(-3px);box-shadow:var(--cien);border-color:rgba(255,87,87,.45)}
.okazja svg{width:30px;height:30px;color:var(--akcent-tekst);margin-bottom:14px}
.okazja h3{margin-bottom:.5rem}
.okazja p{color:var(--atrament-2);font-size:.94rem;margin:0}

/* ===== filtr sal ===== */
.filtr{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);
  padding:16px 18px;margin-bottom:28px;
}
.filtr__pole{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500}
.filtr__pole input{width:92px;padding:9px 12px;border:1px solid var(--linia);border-radius:9px;font:inherit;background:var(--tlo)}
.filtr__chipsy{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.chip{
  border:1px solid var(--linia);background:var(--tlo);border-radius:999px;
  padding:7px 15px;font-size:.85rem;font-weight:500;cursor:pointer;transition:.16s;font-family:inherit;color:var(--atrament-2);
}
.chip:hover{border-color:var(--akcent)}
.chip:focus-visible{outline:2px solid var(--akcent);outline-offset:2px}
.chip.jest-aktywny{background:var(--akcent);color:var(--atrament);border-color:var(--akcent);font-weight:600}
.filtr__reset{background:none;border:0;color:var(--atrament-2);font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer}

/* ===== karty sal ===== */
/* 7 kart + blok organizacji (2 kolumny) = pełne rzędy przy 3 i przy 2 kolumnach */
.sale{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sale__pusto{
  margin:0 0 22px;padding:14px 18px;border-radius:11px;font-size:.95rem;
  background:rgba(255,87,87,.1);border:1px solid rgba(255,87,87,.45);color:var(--atrament);
}
.sala{
  background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:.22s;
}
.sala:hover{transform:translateY(-4px);box-shadow:var(--cien-hi)}
.sala.jest-przygaszona{opacity:.4;filter:saturate(.5)}
.sala__foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--tlo-alt)}
.sala__foto img{width:100%;height:100%;object-fit:cover;transition:.5s}
.sala:hover .sala__foto img{transform:scale(1.04)}
.sala__badge{
  position:absolute;left:14px;top:14px;background:rgba(27,32,25,.88);color:#fff;
  padding:7px 14px;border-radius:999px;font-size:.8rem;font-weight:600;backdrop-filter:blur(6px);
}
.sala__pasuje{
  position:absolute;right:14px;top:14px;background:var(--akcent);color:var(--atrament);
  padding:7px 14px;border-radius:999px;font-size:.76rem;font-weight:700;
}
.sala__tresc{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.sala__nazwa{margin:0;text-wrap:balance}
.sala__pod{font-size:.84rem;color:var(--akcent-tekst);font-weight:600;margin:.3rem 0 0}
.sala__opis{color:var(--atrament-2);font-size:.93rem;margin:.75rem 0 1rem}
.tagi{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:1.2rem}
.tag{background:var(--tlo-alt);border-radius:6px;padding:4px 10px;font-size:.78rem;color:var(--atrament-2);font-weight:500}
.sala__meta{display:flex;justify-content:space-between;gap:18px;font-size:.84rem;color:var(--atrament-2);border-top:1px solid var(--linia);padding-top:14px;margin-top:auto}
.organizacja{
  grid-column:span 2;background:var(--ciemne);color:#f6f0e7;border-radius:var(--r);
  padding:clamp(26px,3vw,38px);display:flex;flex-direction:column;gap:18px;
}
.organizacja .kicker{color:var(--akcent-jasny);margin:0}
.organizacja h3{font-size:clamp(1.35rem,2.2vw,1.7rem);text-wrap:balance}
.organizacja dl{margin:0;display:grid;gap:0}
.organizacja dl div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-top:1px solid rgba(246,240,231,.16)}
.organizacja dt{font-family:Fraunces,Georgia,serif;font-weight:600;color:var(--akcent-jasny)}
.organizacja dd{margin:0;color:rgba(246,240,231,.86);font-size:.95rem}
.organizacja .btn{align-self:flex-start;margin-top:auto}
.organizacja .btn:hover{background:#f6f0e7;color:var(--atrament);border-color:#f6f0e7}
.sala__meta b{color:var(--atrament)}
.sala__akcje{display:flex;gap:10px;margin-top:16px}
.sala__akcje .btn{flex:1;white-space:nowrap}

/* ===== kroki ===== */
.kroki{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;counter-reset:k}
.kroki li{position:relative;padding-top:20px;border-top:2px solid var(--akcent)}
.kroki b{font-family:Fraunces,serif;font-size:.95rem;color:var(--akcent-tekst);display:block;margin-bottom:10px}
.kroki h3{margin-bottom:.5rem}
.kroki p{color:var(--atrament-2);font-size:.94rem;margin:0}

/* ===== oferty / menu ===== */
.grupa{margin-bottom:clamp(44px,5vw,72px)}
.grupa:last-of-type{margin-bottom:0}
.grupa__hd{max-width:64ch;margin-bottom:24px}
.grupa__hd h3{font-size:clamp(1.4rem,2.4vw,1.9rem);text-wrap:balance}
.grupa__hd p{margin:.6rem 0 0;color:rgba(246,240,231,.74);font-size:.97rem}
.grupa__uwaga{margin:16px 0 0;font-size:.85rem;color:rgba(246,240,231,.55)}

.pakiety{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;align-items:start}
.pakiet{
  background:var(--karta);color:var(--atrament);border:1px solid transparent;
  border-radius:var(--r);padding:28px 26px 26px;display:flex;flex-direction:column;
}
.pakiet--wyroznione{border-color:var(--akcent);box-shadow:0 0 0 4px rgba(255,87,87,.18)}
.pakiet h4{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.5rem;margin:0}
.pakiet__cena{
  font-family:Fraunces,Georgia,serif;font-size:1.9rem;color:var(--akcent-tekst);
  margin:.5rem 0 0;font-variant-numeric:tabular-nums;
}
.pakiet__cena span{font-family:Inter,sans-serif;font-size:.9rem;color:var(--atrament-2)}
.pakiet__czas{
  margin:.2rem 0 1.3rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;
  font-weight:600;color:var(--atrament-2);
}
.pakiet__skrot{
  margin:0;padding-top:16px;border-top:1px solid var(--linia);
  font-size:.9rem;color:var(--atrament-2);line-height:1.6;
}
.pakiet__uwaga{margin:18px 0 0;font-size:.82rem;color:var(--atrament-2)}
.pakiet .btn{margin-top:22px;align-self:flex-start}
.pakiet__czas{margin-bottom:1.1rem}

/* dodatki i zasady */
.oferta__stopka{
  display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,60px);
  margin-top:clamp(52px,6vw,80px);padding-top:clamp(36px,4vw,52px);
  border-top:1px solid rgba(246,240,231,.2);
}
.oferta__h{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:0 0 22px}
.dodatki{display:grid;gap:26px}
.dodatki__grupa h4{
  font-family:Inter,sans-serif;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--akcent-jasny);margin:0 0 10px;
}
.dodatki__co{margin:14px 0 6px;font-size:.88rem;font-weight:600;color:rgba(246,240,231,.9)}
.dodatki ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dodatki li{
  display:flex;align-items:baseline;gap:12px;padding:7px 0;
  border-bottom:1px solid rgba(246,240,231,.12);font-size:.92rem;
}
.dodatki li span{color:rgba(246,240,231,.8)}
.dodatki li b{margin-left:auto;white-space:nowrap;color:var(--akcent-jasny);font-variant-numeric:tabular-nums}

.zasady{margin:0;display:flex;flex-direction:column}
.zasady div{padding:13px 0;border-bottom:1px solid rgba(246,240,231,.14)}
.zasady dt{
  font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;
  color:var(--akcent-jasny);margin-bottom:5px;
}
.zasady dd{margin:0;font-size:.93rem;color:rgba(246,240,231,.82)}

/* ===== galeria ===== */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.galeria figure{position:relative;margin:0;border-radius:11px;overflow:hidden;aspect-ratio:1;background:var(--tlo-alt)}
/* 1. i 6. zdjęcie na dwa rzędy: 10 zdjęć domyka siatkę 4x3 i 3x4 */
.galeria figure:nth-child(1),.galeria figure:nth-child(6){grid-row:span 2;aspect-ratio:auto}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.galeria figure:hover img{transform:scale(1.05)}
.galeria__lupa{
  position:absolute;inset:0;z-index:2;border:0;padding:0;cursor:zoom-in;
  background:transparent;-webkit-appearance:none;appearance:none;
}
.galeria__lupa:focus-visible{outline:3px solid var(--akcent);outline-offset:-3px}
.galeria figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;
  font-size:.8rem;font-weight:500;color:#fff;
  background:linear-gradient(to top,rgba(20,19,17,.78),rgba(20,19,17,0));
}

/* ===== formularz ===== */
.zapytanie{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(32px,5vw,64px);align-items:start}
.zapytanie__plusy{list-style:none;padding:0;margin:1.6rem 0;display:flex;flex-direction:column;gap:11px;font-size:.95rem}
.zapytanie__plusy li{padding-left:28px;position:relative;color:var(--atrament-2)}
.zapytanie__plusy li::before{content:"";position:absolute;left:2px;top:8px;width:12px;height:7px;border-left:2px solid var(--akcent);border-bottom:2px solid var(--akcent);transform:rotate(-45deg)}
.zapytanie__kontakt{margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--linia)}
.zapytanie__kontakt p{font-size:.88rem;color:var(--atrament-2);margin-bottom:.5rem}
.zapytanie__tel{display:block;font-family:Fraunces,serif;font-size:1.45rem;text-decoration:none;font-weight:600}
.zapytanie__mail{display:block;font-size:.93rem;color:var(--atrament-2);margin-top:.3rem}
.form{background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);padding:clamp(24px,3vw,34px);box-shadow:var(--cien)}
.form__rzad{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.pole{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0;min-width:0}
.pole--pelne{grid-column:1/-1}
.pole--honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pole__et{font-size:.85rem;font-weight:600;color:var(--atrament)}
.pole__et i,.zgoda i{color:#b1442f;font-style:normal}
.pole__hint{font-size:.8rem;color:var(--akcent-tekst);min-height:1.1em}
.pole input,.pole select,.pole textarea{
  font:inherit;padding:12px 14px;border:1px solid var(--linia);border-radius:10px;
  background:var(--tlo);color:var(--atrament);width:100%;transition:.16s;
}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:0;border-color:var(--akcent);box-shadow:0 0 0 3px rgba(255,87,87,.22);background:#fff}
.pole textarea{resize:vertical}
.pole.jest-blad input,.pole.jest-blad select,.zgoda.jest-blad{border-color:#b1442f}
.chipsy{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.chipsy label{cursor:pointer}
.chipsy input{position:absolute;opacity:0;width:0}
.chipsy span{
  display:inline-block;border:1px solid var(--linia);background:var(--tlo);
  padding:8px 14px;border-radius:999px;font-size:.86rem;transition:.16s;color:var(--atrament-2);
}
.chipsy label:hover span{border-color:var(--akcent)}
.chipsy input:checked+span{background:var(--akcent);color:var(--atrament);border-color:var(--akcent);font-weight:600}
.chipsy input:focus-visible+span{box-shadow:0 0 0 3px rgba(255,87,87,.3)}
.zgoda{display:flex;gap:11px;align-items:flex-start;font-size:.85rem;color:var(--atrament-2);margin:6px 0 20px;padding:12px;border:1px solid transparent;border-radius:10px}
.zgoda input{margin-top:3px;flex-shrink:0;width:17px;height:17px;accent-color:var(--akcent)}
.form__stopka{font-size:.8rem;color:var(--atrament-2);text-align:center;margin:14px 0 0}
.form__odp{margin-top:18px;padding:16px 18px;border-radius:11px;font-size:.93rem}
.form__odp.ok{background:rgba(29,29,27,.06);border:1px solid var(--atrament);color:var(--atrament)}
.form__odp.blad{background:rgba(177,68,47,.08);border:1px solid #b1442f;color:#8e3524}

/* ===== faq ===== */
.faq{border-top:1px solid var(--linia)}
.faq details{border-bottom:1px solid var(--linia)}
.faq summary{
  cursor:pointer;padding:20px 40px 20px 0;font-weight:600;font-size:1.03rem;
  list-style:none;position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:17px;font-size:1.45rem;color:var(--akcent);font-weight:400;transition:.2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 40px 20px 0;color:var(--atrament-2);margin:0;font-size:.96rem}

/* ===== kontakt ===== */
.kontakt__dane{margin:1.8rem 0 2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,4vw,56px)}
.kontakt__akcje{display:flex;gap:12px;flex-wrap:wrap}
.kontakt__dane div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--linia)}
.kontakt__dane dt{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--atrament-2);font-weight:600}
.kontakt__dane dd{margin:0;font-size:.96rem}
.kontakt__dane a{color:var(--akcent-tekst);font-weight:600}
/* ===== polecają nas ===== */
.polecaja{display:grid;grid-template-columns:1fr 360px;gap:clamp(32px,5vw,64px);align-items:center}
.polecaja__tresc h2{text-wrap:balance}
.polecaja__zrodlo{font-size:.88rem;color:var(--atrament-2);margin:1.4rem 0 1.8rem}
.polecaja__zrodlo a{color:var(--akcent-tekst);font-weight:600}
.polecaja__film{
  margin:0;border-radius:var(--r);overflow:hidden;background:var(--ciemne);
  box-shadow:var(--cien-hi);
}
.polecaja__film iframe{display:block;width:100%;aspect-ratio:9/16;border:0}
.polecaja__start{
  position:relative;display:block;width:100%;aspect-ratio:9/16;
  padding:0;border:0;background:var(--ciemne);cursor:pointer;overflow:hidden;
}
.polecaja__start img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:.3s}
.polecaja__start:hover img{opacity:.9;transform:scale(1.03)}
.polecaja__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:76px;height:76px;border-radius:50%;background:var(--akcent);
  display:grid;place-items:center;transition:.2s;
}
.polecaja__play::after{
  content:"";border-left:22px solid var(--atrament);
  border-block:13px solid transparent;margin-left:6px;
}
.polecaja__start:hover .polecaja__play{transform:translate(-50%,-50%) scale(1.08)}
.polecaja__start:focus-visible{outline:3px solid var(--akcent);outline-offset:-3px}
.polecaja__etykieta{
  position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;
  color:#fff;font-size:.86rem;font-weight:600;
  background:linear-gradient(to top,rgba(20,19,17,.85),rgba(20,19,17,0));
}
.polecaja__nota{padding:10px 14px;font-size:.78rem;color:rgba(246,240,231,.6);text-align:center}

/* ===== dojazd ===== */
.dojazd{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,60px);align-items:start}
.dojazd__adres{font-family:Fraunces,Georgia,serif;font-size:1.4rem;margin:1.6rem 0 1.5rem}
.dojazd__akcje{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2.2rem}
.dojazd__lista{margin:0;border-top:1px solid var(--linia)}
.dojazd__lista div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--linia)}
.dojazd__lista dt{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--atrament-2);font-weight:600}
.dojazd__lista dd{margin:0;font-size:.95rem}
.dojazd__mapa{border-radius:var(--r);overflow:hidden;border:1px solid var(--linia);background:var(--karta);box-shadow:var(--cien)}
.dojazd__mapa iframe{display:block;width:100%;aspect-ratio:4/3;border:0}
.dojazd__pelna{
  display:block;padding:13px 16px;font-size:.9rem;font-weight:600;text-align:center;
  text-decoration:none;border-top:1px solid var(--linia);background:var(--karta);transition:.16s;
}
.dojazd__pelna:hover{background:var(--tlo-alt);color:var(--akcent-tekst)}

/* ===== stopka ===== */
.stopka{background:var(--ciemne);color:rgba(244,237,226,.72);padding:52px 0 34px}
.stopka__in{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:start}
.stopka .logo__mark{width:66px;height:66px}
.stopka p{font-size:.9rem;margin:12px 0 0}
.stopka nav{display:flex;gap:22px;font-size:.9rem}
.stopka a{text-decoration:none}
.stopka a:hover{color:var(--akcent-jasny)}
.stopka__cr{grid-column:1/-1;border-top:1px solid rgba(244,237,226,.14);padding-top:20px;font-size:.82rem;color:rgba(244,237,226,.45)}

/* ===== pasek mobilny ===== */
.mobilny{display:none;position:fixed;left:0;right:0;bottom:0;z-index:45;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(247,242,234,.95);backdrop-filter:blur(12px);border-top:1px solid var(--linia)}
.mobilny .btn{flex:1}

/* ===== modal ===== */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}
.modal__tlo{position:absolute;inset:0;background:rgba(20,18,15,.62);backdrop-filter:blur(3px)}
.modal__box{
  position:relative;background:var(--karta);border-radius:18px;max-width:960px;width:100%;
  max-height:88vh;overflow:auto;box-shadow:var(--cien-hi);
}
.modal__x{position:absolute;right:14px;top:14px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:var(--cien)}
/* zdjęcie sali w całości (contain) - klient ma zobaczyć całe wnętrze, nie wycinek */
.modal__foto{position:relative;aspect-ratio:3/2;overflow:hidden;background:#141312;border-radius:18px 18px 0 0}
.modal__foto img{width:100%;height:100%;object-fit:contain}
.modal__foto--pelna{aspect-ratio:3/2;background:#141312}
.modal__akcje{display:flex;gap:12px;flex-wrap:wrap}
.modal__podpis{
  margin:0;padding:16px 30px 24px;text-align:center;font-size:.95rem;color:var(--atrament-2);
}
.modal__strzalka{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(20,19,17,.72);color:#fff;font-size:1.7rem;line-height:1;
  display:grid;place-items:center;transition:background .16s;
}
.modal__strzalka:hover{background:var(--akcent);color:var(--atrament)}
.modal__strzalka:focus-visible{outline:2px solid var(--akcent);outline-offset:2px}
.modal__strzalka--wstecz{left:12px}
.modal__strzalka--dalej{right:12px}
.modal__licznik{
  position:absolute;left:14px;bottom:14px;z-index:2;padding:5px 11px;border-radius:999px;
  background:rgba(20,19,17,.8);color:#fff;font-size:.78rem;font-variant-numeric:tabular-nums;
}
.modal__mini{display:flex;gap:8px;padding:12px 30px 2px;overflow-x:auto}
.modal__miniBtn{flex:0 0 auto;padding:0;border:2px solid transparent;border-radius:9px;background:none;cursor:pointer;opacity:.6;transition:opacity .16s,border-color .16s}
.modal__miniBtn img{width:84px;height:63px;object-fit:cover;border-radius:7px;display:block}
.modal__miniBtn:hover,.modal__miniBtn.jest-aktywny{opacity:1}
.modal__miniBtn.jest-aktywny{border-color:var(--akcent)}
.modal__miniBtn:focus-visible{outline:2px solid var(--akcent);outline-offset:2px}
.modal__cialo{padding:24px 30px 32px}
.modal__cialo h2{margin-bottom:.3rem}
.modal__h{font-size:1.1rem;margin:0 0 .75rem}
.modal__uwagi{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:8px;font-size:.93rem}
.modal__uwagi li{padding:10px 14px;border-radius:9px;background:var(--tlo-alt);color:var(--atrament)}
.modal__specy{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin:20px 0;padding:18px 0;border-block:1px solid var(--linia)}
.modal__specy div span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--atrament-2);margin-bottom:4px}
.modal__specy div b{font-family:Fraunces,serif;font-size:1.1rem;font-variant-numeric:tabular-nums}
.modal__wyp{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;font-size:.93rem;color:var(--atrament-2)}
.modal__wyp li{padding-left:24px;position:relative}
.modal__wyp li::before{content:"";position:absolute;left:2px;top:8px;width:11px;height:6px;border-left:2px solid var(--akcent);border-bottom:2px solid var(--akcent);transform:rotate(-45deg)}

/* ===== responsywność ===== */
@media (max-width:1100px){
  .hero__foto{width:40%}
  .hero__tresc{max-width:58%}
  .hero__fakty{max-width:100%}
}
@media (max-width:1040px){
  .sale{grid-template-columns:repeat(2,1fr)}
  .organizacja{grid-column:auto}
  .organizacja dl div{grid-template-columns:1fr;gap:4px}
}
@media (max-width:960px){
  .zapytanie,.dojazd,.oferta__stopka{grid-template-columns:1fr}
  .polecaja{grid-template-columns:1fr;justify-items:center}
  .polecaja__film{max-width:340px;width:100%}
  .polecaja__tresc{justify-self:stretch}
  .galeria{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .hero__foto{position:relative;inset:auto;width:100%;height:clamp(200px,42vw,300px);order:-1;flex-shrink:0}
  .hero__foto--rozmyte{display:none}
  .hero__zaslona{
    position:absolute;left:0;right:0;top:0;bottom:auto;height:clamp(200px,42vw,300px);
    background:linear-gradient(to bottom,rgba(29,29,27,0) 62%,rgba(29,29,27,.55) 84%,var(--ciemne) 100%);
  }
  .hero__in{padding-top:clamp(28px,6vw,44px)}
  .hero__tresc{max-width:100%}
  .hero__fakty{grid-template-columns:repeat(2,1fr);gap:18px;max-width:100%}
  .nav{
    position:absolute;top:74px;left:0;right:0;background:var(--karta);
    flex-direction:column;gap:0;padding:8px 24px 18px;border-bottom:1px solid var(--linia);
    box-shadow:var(--cien);display:none;
  }
  .nav.jest-otwarte{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid var(--linia)}
  .topbar__cta{display:none}
  .burger{display:block;margin-left:auto}
  .mobilny{display:flex}
  body{padding-bottom:74px}
  html{scroll-padding-top:80px}
}
@media (max-width:640px){
  .form__rzad{grid-template-columns:1fr}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .galeria figure:nth-child(1),.galeria figure:nth-child(6){grid-row:auto;aspect-ratio:1}
  .sale{grid-template-columns:1fr}
  .kontakt__dane{grid-template-columns:1fr}
  .kontakt__dane div,.dojazd__lista div{grid-template-columns:1fr;gap:3px}
  .stopka__in{grid-template-columns:1fr}
  .modal__cialo,.modal__mini{padding-inline:20px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
