:root{--concrete:#dcdedf;--panel:#eceeef;--ink:#1f2326;--steel:#4a545c;--dark:#22262a;--brass:#b08d4c;--line:#9aa2a8;
--head:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--body:"Barlow",Arial,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{font:400 17px/1.6 var(--body);background:var(--concrete);color:var(--ink)}
a{color:inherit}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.05}
h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:1.2rem;padding-left:.9rem;border-left:8px solid var(--brass)}
h3{font-size:1.6rem;margin-bottom:.3rem}
section{padding:clamp(3rem,7vw,5.5rem) 1.2rem}
.wrap{max-width:1080px;margin:auto}
header{position:sticky;top:0;z-index:9;background:var(--dark);color:#e8eaeb;border-bottom:3px solid var(--brass)}
.bar{max-width:1080px;margin:auto;display:flex;align-items:center;gap:1rem;padding:.55rem 1.2rem;flex-wrap:wrap}
.brand{font:700 1.5rem var(--head);text-decoration:none;margin-right:auto;letter-spacing:.02em}
nav{display:flex;gap:1.1rem;flex-wrap:wrap}
nav a{text-decoration:none;font-size:.95rem;padding:.2rem 0;border-bottom:2px solid transparent}
nav a:hover{border-color:var(--brass)}
.lang button,.burger{background:none;border:1px solid var(--steel);color:inherit;font:500 .85rem var(--body);padding:.25rem .55rem;cursor:pointer}
.lang button[aria-pressed=true]{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.burger{display:none}
@media(max-width:820px){.burger{display:block}nav{display:none;width:100%;flex-direction:column;gap:.4rem;padding:.5rem 0}nav.open{display:flex}}
.hero{background:linear-gradient(rgba(34,38,42,.86),rgba(34,38,42,.94)),repeating-linear-gradient(90deg,#3a4046 0 14px,#2d3237 14px 28px);color:#f1f2f2;padding:clamp(4rem,11vw,8rem) 1.2rem}
.hero h1{font-size:clamp(2.8rem,8vw,5.6rem);max-width:12ch;margin-bottom:1.2rem}
.hero p{max-width:52ch;color:#c9cdd0;margin-bottom:2rem}
.btn{display:inline-block;background:var(--brass);color:var(--ink);font:600 1.15rem var(--head);padding:.7rem 1.6rem;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:#c4a15f}
.ph{background:repeating-linear-gradient(135deg,#b9bec2 0 12px,#c6cacd 12px 24px);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--steel);font-size:.9rem;aspect-ratio:4/3}
.ph img{width:100%;height:100%;object-fit:cover}
.about{display:grid;gap:2rem;grid-template-columns:1fr 1fr;align-items:start}
.about .shots{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.about .shots .ph:first-child{grid-column:span 2;aspect-ratio:16/9}
@media(max-width:760px){.about{grid-template-columns:1fr}}
.rooms{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.room{background:var(--panel);border:1px solid var(--line);border-top:5px solid var(--steel)}
.room .txt{padding:1rem 1.1rem 1.2rem}
.dark{background:var(--dark);color:#e8eaeb}
.dark h2{color:#fff}
.offer{list-style:none;padding:0;display:grid;gap:.8rem 2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.offer li{padding:.7rem 0 .7rem 1rem;border-left:3px solid var(--brass);background:rgba(255,255,255,.04)}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:var(--panel);min-width:460px}
th,td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--steel);color:#fff;font:600 1.1rem var(--head)}
td:not(:first-child){font-weight:500}
.note{margin-top:.8rem;color:var(--steel);font-size:.95rem}
.map{display:grid;gap:1.6rem;grid-template-columns:1fr 1.4fr}
.map iframe{width:100%;height:100%;min-height:320px;border:1px solid var(--line);filter:grayscale(.9) contrast(1.05)}
@media(max-width:760px){.map{grid-template-columns:1fr}}
.rules{max-width:70ch;padding-left:1.2rem}
.rules li{margin-bottom:.6rem}
form{display:grid;gap:.9rem;max-width:560px}
input,textarea{width:100%;font:inherit;padding:.75rem;background:var(--panel);border:1px solid var(--line);border-bottom:3px solid var(--steel);color:var(--ink)}
textarea{min-height:130px;resize:vertical}
footer{background:var(--dark);color:#aeb3b7;padding:1.6rem 1.2rem;font-size:.9rem}
.alt{background:var(--panel)}
.ok{padding:.9rem;border-left:5px solid var(--brass);background:var(--panel);color:var(--ink)}
.contact-line{margin-top:1.5rem}
.lead{max-width:60ch;margin-bottom:1.6rem;color:var(--steel)}
.brand{display:inline-flex;align-items:center;gap:.5rem}
.logo{width:1.7rem;height:1.7rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.phone{margin-top:.8rem;font:600 1.5rem var(--head)}
.phone a{text-decoration:none;border-bottom:2px solid var(--brass)}
/* Galeria */
.gallery{list-style:none;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);background:var(--line)}
.gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery a:hover img{transform:scale(1.05)}
/* Lightbox */
html.has-lightbox{overflow:hidden}
.lightbox{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff}
.lightbox::backdrop{background:rgba(20,22,24,.94)}
.lightbox__stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:3.5rem 4.5rem}
.lightbox__figure{display:flex;flex-direction:column;align-items:center;max-width:100%;margin:0}
.lightbox__img{display:block;max-width:100%;max-height:calc(100vh - 10rem);max-height:calc(100dvh - 10rem);object-fit:contain;background:#111;transition:opacity .2s}
.lightbox__img.is-loading{opacity:.35}
.lightbox__caption{margin-top:.7rem;font-size:.95rem;text-align:center;color:#c9cdd0}
.lightbox__btn{position:absolute;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(34,38,42,.85);color:#fff;cursor:pointer}
.lightbox__btn:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.lightbox__btn svg{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lightbox__btn--prev{left:.8rem;top:50%;transform:translateY(-50%)}
.lightbox__btn--next{right:.8rem;top:50%;transform:translateY(-50%)}
.lightbox__btn--close{top:.8rem;right:.8rem}
@media(max-width:600px){
.lightbox__stage{padding:3.5rem .5rem 5rem}
.lightbox__btn--prev,.lightbox__btn--next{top:auto;bottom:.8rem;transform:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img,.lightbox__img{transition:none}}
/* Opinie */
.reviews__sum{margin-bottom:1.2rem;color:var(--steel);text-align:center}
.reviews__track{list-style:none;padding:0;margin:0 -.5rem;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.reviews__track::-webkit-scrollbar{display:none}
.review{flex:0 0 100%;scroll-snap-align:start;padding:0 .5rem;display:flex}
@media(min-width:640px){.review{flex-basis:50%}}
@media(min-width:960px){.review{flex-basis:calc(100% / 3)}}
.review__box{flex:1;background:var(--concrete);border:1px solid var(--line);border-top:5px solid var(--brass);padding:1.4rem 1.3rem}
.review__stars{color:var(--brass);font-size:1.5rem;letter-spacing:.12em}
.review__text{margin:.8rem 0 1.1rem}
.review__meta{font-weight:500;color:var(--steel);font-size:.95rem}
.reviews__nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.3rem}
.reviews__nav[hidden]{display:none}
.reviews__dots{display:flex;align-items:center;gap:.3rem}
.reviews__dots button{width:2rem;height:2rem;padding:0;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.reviews__dots button::before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--line);transition:transform .2s,background .2s}
.reviews__dots button:hover::before{background:var(--steel)}
.reviews__dots button[aria-current=true]::before{background:var(--brass);transform:scale(1.35)}
.reviews__more{margin-top:1rem;text-align:center}
.carousel-btn{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;background:var(--dark);color:#fff;border:1px solid var(--steel);cursor:pointer}
.carousel-btn:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.carousel-btn svg,.totop svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
/* Przycisk do góry */
.totop{position:fixed;right:1rem;bottom:1rem;z-index:8;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--dark);color:#fff;border:1px solid var(--brass);text-decoration:none}
.totop[hidden]{display:none}
.totop:hover{background:var(--brass);color:var(--ink)}
/* Stopka */
.footer{display:grid;gap:1.6rem}
.footer__title{font:600 1.2rem var(--head);color:#fff;margin-bottom:.6rem}
.footer__links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.footer__links a{color:#e8eaeb;text-decoration:none;border-bottom:2px solid transparent}
.footer__links a:hover{border-color:var(--brass)}
.fb{display:inline-flex;flex:none;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--steel);color:#e8eaeb}
.fb:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.fb svg{width:18px;height:18px;fill:currentColor}
.footer__copy{border-top:1px solid var(--steel);padding-top:1rem}
@media(prefers-reduced-motion:reduce){.reviews__dots button::before{transition:none}}
.rules__pdf{margin-top:1.6rem}
