@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;1,400&display=swap');

:root{
  --green:#0e5b35;
  --green-2:#164a31;
  --green-3:#082b1a;
  --lime:#9bcf61;
  --black:#0b0d0c;
  --white:#fff;
  --off:#f7f8f5;
  --line:#dfe5df;
  --muted:#68746b;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#121a14;font-family:var(--sans);overflow-x:hidden}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
button,input,textarea{font:inherit}
button{cursor:pointer}

/* HEADER */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:88px;background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(14,91,53,.08);
  backdrop-filter:blur(18px);
  transition:.3s;
}
.site-header.is-scrolled{height:72px;box-shadow:0 10px 30px rgba(10,50,29,.08)}
.nav-wrap{width:min(var(--max),calc(100% - 56px));height:100%;margin:auto;display:grid;grid-template-columns:190px 1fr auto;gap:28px;align-items:center}
.brand img{width:130px;height:auto}
.main-nav{display:flex;justify-content:center;gap:30px;height:100%}
.main-nav a{display:flex;align-items:center;position:relative;font-size:10px;color:#25372b}
.main-nav a:after{content:"";position:absolute;bottom:0;left:50%;right:50%;height:2px;background:var(--green);transition:.3s}
.main-nav a:hover:after,.main-nav a.active:after{left:0;right:0}
.nav-actions{display:flex;align-items:center;gap:16px}
.phone{font-size:10px;color:#173b27;white-space:nowrap}
.book-btn{height:46px;padding:0 8px 0 18px;border-radius:999px;background:var(--green);color:#fff;display:flex;align-items:center;gap:14px;font-size:8px;font-weight:600;letter-spacing:.08em}
.book-btn i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-style:normal;transition:.3s}
.book-btn:hover i{transform:rotate(45deg)}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid #cbd8cf;border-radius:50%;background:#fff;position:relative}
.menu-toggle span{position:absolute;left:11px;right:11px;height:1px;background:var(--green)}.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:24px}
.mobile-menu{position:fixed;inset:0;z-index:900;background:#fff;transform:translateY(-105%);transition:.4s;padding:115px 24px}
.mobile-menu.open{transform:none}
.mobile-menu nav{display:grid}
.mobile-menu a{font-family:var(--serif);font-size:44px;padding:8px 0;border-bottom:1px solid var(--line)}

/* HERO */
.hero{padding-top:88px;min-height:720px;display:grid;grid-template-columns:43% 57%;background:#fff}
.hero-copy{padding:80px 5vw 55px max(5vw,calc((100vw - var(--max))/2 + 28px));display:flex;flex-direction:column;justify-content:center;position:relative}
.eyebrow,.section-number{font-size:9px;letter-spacing:.14em;color:var(--green);font-weight:600}
.hero h1{font-family:var(--serif);font-size:clamp(56px,5.8vw,92px);line-height:.93;font-weight:400;letter-spacing:-.045em;margin:20px 0 24px;color:#07190e}
.hero h1 em{color:var(--green);font-weight:400}
.hero-copy>p{max-width:520px;font-size:15px;line-height:1.8;color:#536158}
.hero-actions{display:flex;gap:12px;margin-top:26px}
.primary-btn,.secondary-btn{min-height:46px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:0 19px;font-size:8px;font-weight:600;letter-spacing:.08em}
.primary-btn{background:var(--green);color:#fff}.primary-btn span{font-size:16px}
.secondary-btn{border:1px solid #83978a;color:#1c3e29}
.hero-rating{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:10px;margin-top:38px}
.rating-mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:conic-gradient(#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);color:#fff}
.rating-copy{display:grid}.rating-copy strong{font-size:17px}.rating-copy small,.rating-note{font-size:7px;color:#8a958c}
.stars{color:#f7b500;letter-spacing:2px}
.hero-social-proof{display:flex;align-items:center;gap:13px;margin-top:42px}
.avatars{display:flex}.avatars span{width:30px;height:30px;border-radius:50%;background:#d4dbd5;border:2px solid #fff;display:grid;place-items:center;font-size:8px;margin-right:-8px}
.hero-social-proof p{font-size:9px;color:#607068;line-height:1.6}.proof-arrow{font-size:28px;color:#5e8b67;transform:rotate(-12deg)}

.hero-photo{position:relative;overflow:hidden;min-height:632px}
.hero-photo:before{
  content:"";position:absolute;z-index:2;left:-1px;top:0;bottom:0;width:90px;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.9) 30%,rgba(255,255,255,0) 100%);
  clip-path:polygon(0 0,70% 0,100% 8%,55% 16%,100% 25%,54% 34%,100% 43%,58% 52%,100% 61%,55% 70%,100% 79%,60% 88%,100% 100%,0 100%);
}
.hero-photo>img{filter:saturate(1.05) contrast(1.02)}
.weather-pill{position:absolute;top:28px;right:28px;z-index:3;background:rgba(255,255,255,.6);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.55);border-radius:18px;padding:13px 16px;display:grid;grid-template-columns:auto auto auto;gap:10px;align-items:center}
.weather-icon{font-size:27px}.weather-temp{font-family:var(--serif);font-size:25px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.2)}.weather-text{display:grid;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.2)}.weather-text strong{font-size:8px}.weather-text span{font-size:7px;opacity:.8}.weather-hidden{display:none}
.view-card{position:absolute;right:26px;bottom:28px;z-index:3;width:270px;padding:20px;border-radius:16px;background:rgba(31,44,17,.72);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.35)}
.view-card small{font-size:8px;letter-spacing:.13em}.view-card strong{display:block;font-family:var(--serif);font-size:23px;font-weight:400;font-style:italic;margin:8px 0}.view-line{height:1px;background:rgba(255,255,255,.25);margin:12px 0}.view-card span{font-size:8px}

/* BENEFITS */
.benefits-strip{background:linear-gradient(90deg,#06351e,#0d5a34);color:#fff}
.benefits-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(5,1fr);padding:26px 28px}
.benefit{display:flex;gap:13px;align-items:center;padding:0 22px;border-right:1px solid rgba(255,255,255,.13)}.benefit:last-child{border-right:0}
.benefit .icon{font-size:25px;color:#d8ead1}.benefit strong{display:block;font-size:9px}.benefit small{display:block;font-size:7px;color:#b7c6ba;margin-top:3px}

/* SECTIONS */
.about-section,.rooms-section,.gallery-section{max-width:var(--max);margin:auto;padding:90px 28px}
.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}
.section-copy h2,.section-head h2,.breakfast-copy h2,.contact-copy h2{font-family:var(--serif);font-size:clamp(46px,5vw,70px);line-height:.98;font-weight:400;letter-spacing:-.035em;margin:14px 0 20px}
.section-copy h2 em,.section-head h2 em,.breakfast-copy h2 em,.contact-copy h2 em{color:var(--green);font-weight:400}
.section-copy p{font-size:14px;line-height:1.8;color:#5d685f}.text-link{font-size:9px;letter-spacing:.1em;color:var(--green);font-weight:600}.about-image{height:460px;border-radius:28px;overflow:hidden}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-arrow{font-size:8px;letter-spacing:.08em;display:flex;align-items:center;gap:12px}.section-arrow span{width:36px;height:36px;border:1px solid #8aa191;border-radius:50%;display:grid;place-items:center}

.rooms-section{background:#fff}
.rooms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.room-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(20,55,33,.09);transition:.3s}
.room-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(20,55,33,.15)}
.room-image{height:250px;position:relative;overflow:hidden}.room-image img{transition:.5s}.room-card:hover img{transform:scale(1.04)}
.room-badge{position:absolute;top:12px;left:12px;background:var(--green);color:#fff;border-radius:999px;padding:7px 10px;font-size:7px}
.room-info{padding:18px}.room-features{display:flex;gap:14px;font-size:8px;color:#617166}.room-info p{font-size:10px;color:#69746d}.room-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:18px}.room-bottom strong{font-size:16px}.room-bottom small{font-size:8px;font-weight:400}.room-bottom a{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}

.breakfast-section{display:grid;grid-template-columns:1.1fr .9fr;background:var(--green);color:#fff}
.breakfast-image{min-height:520px}.breakfast-copy{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.section-number.light{color:#d8e9d0}.breakfast-copy h2 em{color:#d6edbd}.breakfast-copy p{font-size:14px;line-height:1.8;color:#dce6de}.breakfast-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.breakfast-tags span{padding:8px 11px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:7px}

/* ATTRACTIONS */
.attractions-section{background:linear-gradient(180deg,#0a0d0b,#121713);padding:80px max(28px,calc((100vw - var(--max))/2 + 28px));color:#fff}
.section-head.dark h2{color:#fff;font-size:50px}.light-arrow{color:#fff}.light-arrow span{border-color:#83958a}
.attractions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.attraction-card{border:1px solid rgba(255,255,255,.13);border-radius:16px;overflow:hidden;background:#0f1210;transition:.3s}.attraction-card:hover{transform:translateY(-6px);border-color:rgba(155,207,97,.35)}
.attraction-photo{height:240px;position:relative;overflow:hidden}.attraction-photo img{transition:.5s}.attraction-card:hover img{transform:scale(1.05)}.attraction-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.68))}
.attraction-icon{position:absolute;z-index:2;left:14px;bottom:13px;font-size:24px}
.attraction-info{padding:18px;position:relative}.attraction-info h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:0 0 5px}.attraction-info strong{font-size:8px;color:#d2dfd4}.attraction-info p{font-size:9px;line-height:1.6;color:#aeb9b0;max-width:230px}.attraction-info a{position:absolute;right:15px;bottom:15px;width:35px;height:35px;border-radius:50%;border:1px solid #859487;display:grid;place-items:center}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{height:230px;border:0;padding:0;overflow:hidden;border-radius:12px}.gallery-item img{transition:.5s}.gallery-item:hover img{transform:scale(1.05)}

/* CONTACT */
.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--black);color:#fff}
.contact-copy{padding:85px 7vw}.contact-copy h2 em{color:var(--lime)}.contact-copy p{font-size:14px;color:#b9c3bb}.contact-phone{display:block;font-family:var(--serif);font-size:30px;color:#fff;margin-top:28px}.address{font-size:10px!important}
.contact-form{background:#fff;color:#111;padding:75px 7vw}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:grid;gap:7px;font-size:9px;margin-bottom:14px}.contact-form input,.contact-form textarea{padding:12px;border:1px solid #dce3dd;border-radius:9px;background:#fafafa}.contact-form button{border:0;border-radius:999px;padding:14px 20px;background:var(--green);color:#fff;font-size:8px;letter-spacing:.08em}.form-status{margin-top:12px;font-size:9px;color:var(--green)}

/* FOOTER */
.footer{background:#050706;color:#fff}.footer-inner{max-width:var(--max);margin:auto;padding:28px;display:flex;justify-content:space-between;align-items:center}.footer img{width:110px;height:auto;filter:brightness(0) invert(1)}.footer span,.footer a{font-size:8px;color:#9aa59c}

/* LIGHTBOX */
.lightbox{position:fixed;z-index:1200;inset:0;background:rgba(0,0,0,.92);display:none;place-items:center;padding:5vw}.lightbox.open{display:grid}.lightbox img{max-width:1200px;max-height:82vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:25px;background:none;border:0;color:#fff;font-size:42px}

/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(26px);transition:.7s cubic-bezier(.2,.75,.2,1)}.reveal.in{opacity:1;transform:none}

@media(max-width:1100px){
  .main-nav{display:none}.menu-toggle{display:block}.nav-wrap{grid-template-columns:1fr auto}
  .hero{grid-template-columns:1fr}.hero-copy{padding:60px 24px}.hero-photo{min-height:520px}
  .benefits-inner{grid-template-columns:repeat(2,1fr)}.benefit{padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}
  .about-section{grid-template-columns:1fr}.rooms-grid,.attractions-grid{grid-template-columns:1fr 1fr}.breakfast-section{grid-template-columns:1fr}.contact-section{grid-template-columns:1fr}
}
@media(max-width:700px){
  .site-header{height:74px}.nav-wrap{width:calc(100% - 28px)}.brand img{width:105px}.phone,.book-btn{display:none}
  .hero{padding-top:74px}.hero h1{font-size:52px}.hero-photo{min-height:430px}.hero-photo:before{display:none}.weather-pill{top:14px;right:14px}.view-card{left:14px;right:14px;bottom:14px;width:auto}
  .benefits-inner{grid-template-columns:1fr}.benefit{border-right:0}
  .about-section,.rooms-section,.gallery-section{padding:70px 20px}.rooms-grid,.attractions-grid,.gallery-grid{grid-template-columns:1fr}.section-head{display:block}.section-arrow{margin-top:20px}
  .room-image,.gallery-item{height:280px}.breakfast-copy,.contact-copy,.contact-form{padding:65px 20px}.form-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:14px}
}


/* SMART MAP V7.2 */
.explore-map-section{
  background:#fff;
  padding:90px max(28px,calc((100vw - var(--max))/2 + 28px));
}
.map-section-head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:end;
  margin-bottom:32px;
}
.map-section-head h2{
  font-family:var(--serif);
  font-size:clamp(46px,5vw,70px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.035em;
  margin:14px 0 0;
}
.map-section-head h2 em{color:var(--green);font-weight:400}
.map-section-head>p{
  max-width:580px;
  margin:0;
  color:#66736a;
  font-size:13px;
  line-height:1.8;
}

.smart-map-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.map-search{
  flex:1;
  min-width:0;
  height:54px;
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:center;
  border:1px solid #dce4dd;
  border-radius:999px;
  background:#f8faf8;
  overflow:hidden;
  transition:.25s;
}
.map-search:focus-within{
  border-color:#7da88a;
  box-shadow:0 0 0 4px rgba(14,91,53,.07);
  background:#fff;
}
.search-icon{display:grid;place-items:center;color:var(--green);font-size:21px}
.map-search input{
  border:0;
  outline:0;
  background:transparent;
  min-width:0;
  font-size:13px;
  color:#1b2a20;
}
.map-search button{
  height:42px;
  margin-right:6px;
  border:0;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  padding:0 18px;
  font-size:8px;
  font-weight:600;
  letter-spacing:.09em;
  display:flex;
  align-items:center;
  gap:10px;
}
.map-quick-search{display:flex;gap:6px;flex-wrap:wrap}
.map-quick-search button{
  border:1px solid #d7e0d8;
  border-radius:999px;
  background:#fff;
  color:#35503e;
  padding:10px 12px;
  font-size:8px;
  transition:.2s;
}
.map-quick-search button:hover{background:#eaf2e8;border-color:#9db49f}

.smart-map-shell{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr);
  min-height:610px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(14,91,53,.11);
  box-shadow:0 24px 60px rgba(18,67,37,.12);
  background:#0a2115;
}
.smart-map-canvas{position:relative;min-width:0}
#smartMap{height:100%;min-height:610px;background:#dde5dd}
.map-legend{
  position:absolute;
  z-index:500;
  left:16px;
  bottom:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  max-width:calc(100% - 32px);
  padding:10px 13px;
  border-radius:13px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.map-legend span{display:flex;align-items:center;gap:5px;font-size:7px;color:#48564c}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dot-stay{background:#0e5b35}.dot-thermal{background:#e88b38}.dot-ski{background:#2b70b5}.dot-active{background:#8caf4b}.dot-search{background:#a34dd8}

.smart-map-panel{
  background:linear-gradient(180deg,#092316,#0c321e);
  color:#fff;
  padding:26px 22px;
  min-width:0;
}
.panel-kicker{
  font-size:7px;
  letter-spacing:.16em;
  color:#98b09e;
  margin-bottom:10px;
}
.selected-place{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.11)}
.selected-type{font-size:7px;letter-spacing:.15em;color:#a9cd81}
.selected-place h3{
  font-family:var(--serif);
  font-size:30px;
  font-weight:400;
  margin:7px 0 9px;
}
.selected-place p{
  font-size:10px;
  line-height:1.65;
  color:#b9c7bc;
  margin:0 0 12px;
}
.selected-meta{display:grid;gap:5px;font-size:8px;color:#9fb0a3}
.route-btn{
  margin-top:15px;
  min-height:42px;
  border-radius:999px;
  background:#fff;
  color:#0c3c24;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:0 15px;
  font-size:8px;
  font-weight:600;
  letter-spacing:.09em;
}
.route-btn span{font-size:14px}

.place-filters{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin:18px 0 12px;
}
.place-filter{
  border:1px solid rgba(255,255,255,.13);
  background:transparent;
  color:#b9c7bc;
  border-radius:999px;
  padding:8px 10px;
  font-size:7px;
}
.place-filter.active,.place-filter:hover{
  background:#a4ce6d;
  border-color:#a4ce6d;
  color:#0a2c19;
}
.places-list{
  display:grid;
  max-height:250px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#46634f transparent;
}
.place-row{
  display:grid;
  grid-template-columns:30px 1fr 22px;
  gap:8px;
  align-items:center;
  min-height:51px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:transparent;
  color:#fff;
  text-align:left;
  padding:8px 4px;
}
.place-row:hover,.place-row.active{background:rgba(255,255,255,.055)}
.place-no{font-family:var(--serif);color:#8ca18f}
.place-row strong{display:block;font-size:9px}
.place-row small{display:block;font-size:7px;color:#90a194;margin-top:3px}
.place-row i{font-style:normal;color:#99b59f}
.search-status{
  min-height:20px;
  padding-top:10px;
  font-size:8px;
  line-height:1.5;
  color:#a9b9ac;
}

.custom-map-pin{
  width:34px;
  height:34px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  border:3px solid #fff;
  box-shadow:0 5px 15px rgba(0,0,0,.28);
  position:relative;
}
.custom-map-pin:after{
  content:"";
  position:absolute;
  width:8px;height:8px;
  border-radius:50%;
  background:#fff;
  top:10px;left:10px;
}
.custom-map-pin.stay{background:#0e5b35}
.custom-map-pin.thermal{background:#e88b38}
.custom-map-pin.ski{background:#2b70b5}
.custom-map-pin.active{background:#8caf4b}
.custom-map-pin.search{background:#a34dd8}

.leaflet-control-zoom a{
  color:#17462b!important;
  border-color:#d5ded7!important;
}
.leaflet-popup-content-wrapper{
  border-radius:14px!important;
  box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
}
.leaflet-popup-content{
  font-family:var(--sans)!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.leaflet-popup-content strong{color:#0e5b35}

@media(max-width:1050px){
  .smart-map-toolbar{align-items:stretch;flex-direction:column}
  .map-quick-search{width:100%}
  .smart-map-shell{grid-template-columns:1fr}
  #smartMap{min-height:500px}
  .smart-map-panel{padding:22px}
  .places-list{max-height:none}
}
@media(max-width:700px){
  .explore-map-section{padding:70px 20px}
  .map-section-head{grid-template-columns:1fr;gap:15px}
  .map-section-head h2{font-size:44px}
  .map-search{grid-template-columns:38px 1fr auto}
  .map-search button{padding:0 13px}
  .map-quick-search{display:grid;grid-template-columns:1fr 1fr}
  #smartMap{min-height:430px}
  .map-legend{position:static;border-radius:0;max-width:none;box-shadow:none}
}

/* V7.3 — zmiany klientki */
.rooms-grid-five{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.rooms-grid-five .room-image{height:220px}
.rooms-grid-five .room-info h3{
  font-family:var(--serif);
  font-size:21px;
  font-weight:400;
  margin:11px 0 7px;
}
.room-select{
  width:auto!important;
  height:36px!important;
  padding:0 13px;
  border-radius:999px!important;
  font-size:7px;
  letter-spacing:.07em;
  display:inline-flex!important;
  gap:9px;
  align-items:center;
}
.contact-address{
  font-family:var(--serif);
  font-size:20px!important;
  line-height:1.35;
  color:#fff!important;
  margin-top:12px;
}
.bank-details{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.16);
  display:grid;
  gap:5px;
}
.bank-details>span{
  font-size:7px;
  letter-spacing:.15em;
  color:#9bcf61;
  margin-bottom:7px;
}
.bank-details strong{
  font-size:8px;
  color:#fff;
}
.bank-details p{
  margin:0 0 8px!important;
  font-size:13px!important;
  color:#d9e0db!important;
}
@media(max-width:1250px){
  .rooms-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .rooms-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .rooms-grid-five{grid-template-columns:1fr!important}
  .rooms-grid-five .room-image{height:280px}
}

/* V7.4 — większa czytelność */
.nav-links a{font-size:10px!important;font-weight:700!important}.book-btn,.hero-primary,.hero-secondary,.room-select,.map-search button,.route-btn,.place-filter,.map-quick-search button{font-size:10px!important;font-weight:700!important}
.amenity-title{font-size:13px!important}.amenity-sub{font-size:11px!important}.amenity-icon{font-size:23px!important}.section-number,.eyebrow,.panel-kicker,.selected-type,.room-badge{font-size:9px!important}
.room-features span{font-size:11px!important}.room-card p{font-size:12px!important;line-height:1.65!important}.room-card{cursor:pointer;transition:.3s}.room-card:hover{transform:translateY(-7px);box-shadow:0 24px 50px #0002}
.room-details{padding:90px max(28px,calc((100vw - var(--max))/2 + 28px));background:#071d12;color:#fff}.room-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:25px 0 34px}.room-tab{border:1px solid #ffffff33;background:transparent;color:#fff;padding:12px 15px;border-radius:999px;font-size:10px;font-weight:800}.room-tab.active{background:#a4ce6d;color:#092316;border-color:#a4ce6d}.room-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px}.room-detail h2{font-family:var(--serif);font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1;margin:12px 0 20px}.room-detail p{font-size:14px;line-height:1.8;color:#c9d5cc}.room-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.room-detail-meta span{border:1px solid #ffffff2b;border-radius:999px;padding:9px 12px;font-size:10px}.room-detail-cta{display:inline-flex;background:#a4ce6d;color:#092316;padding:13px 18px;border-radius:999px;font-size:10px;font-weight:800}.room-gallery{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:220px 220px;gap:8px}.room-gallery img{width:100%;height:100%;object-fit:cover;border-radius:16px}.room-gallery img:first-child{grid-row:1/3}@media(max-width:800px){.room-detail{grid-template-columns:1fr}.room-gallery{grid-template-rows:170px 170px}.nav-links a{font-size:11px!important}}


/* V7.5 — większa typografia wskazanych elementów */

/* Formularz kontaktowy */
.contact-form label,
.contact-form .field label,
.contact-form-grid label {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  margin-bottom: 7px !important;
}
.contact-form input,
.contact-form select,
.contact-form textarea,
.contact-form-grid input,
.contact-form-grid select,
.contact-form-grid textarea {
  font-size: 15px !important;
}
.contact-form input,
.contact-form select,
.contact-form-grid input,
.contact-form-grid select {
  min-height: 48px !important;
}
.contact-form textarea,
.contact-form-grid textarea {
  min-height: 130px !important;
}
.contact-form button,
.contact-submit,
button[type="submit"] {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  min-height: 48px;
}

/* Lista miejsc obok mapy */
.place-row {
  min-height: 64px !important;
  padding: 11px 7px !important;
}
.place-no {
  font-size: 17px !important;
}
.place-row strong {
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.place-row small {
  font-size: 10px !important;
  line-height: 1.35 !important;
  margin-top: 5px !important;
}
.place-row i {
  font-size: 17px !important;
}

/* Karty atrakcji */
.attraction-card h3,
.attractions-grid h3 {
  font-size: 25px !important;
  line-height: 1.08 !important;
}
.attraction-card strong,
.attractions-grid strong {
  font-size: 12px !important;
}
.attraction-card p,
.attractions-grid p {
  font-size: 13px !important;
  line-height: 1.65 !important;
}
.attraction-card a,
.attractions-grid a {
  font-size: 16px !important;
}

/* Śniadania: ŚWIEŻE / REGIONALNE / W CENIE */
.breakfast-tags span,
.breakfast-features span,
.breakfast-badges span,
.breakfast-section .tag,
.breakfast-section .pill {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

/* Pasek: widok / śniadania / parking / wifi / termy */
.amenity-title {
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}
.amenity-sub {
  font-size: 12px !important;
  line-height: 1.35 !important;
}
.amenity-icon {
  font-size: 26px !important;
}
.amenity-item {
  min-height: 88px !important;
}

/* Drobne napisy w sekcjach, które wcześniej były zbyt małe */
.section-number,
.eyebrow,
.panel-kicker,
.selected-type,
.room-badge {
  font-size: 10px !important;
}

@media (max-width: 700px) {
  .contact-form label,
  .contact-form .field label,
  .contact-form-grid label {
    font-size: 14px !important;
  }
  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .contact-form-grid input,
  .contact-form-grid select,
  .contact-form-grid textarea {
    font-size: 16px !important;
  }
  .place-row strong { font-size: 14px !important; }
  .place-row small { font-size: 11px !important; }
  .attraction-card h3,
  .attractions-grid h3 { font-size: 27px !important; }
  .attraction-card p,
  .attractions-grid p { font-size: 14px !important; }
  .amenity-title { font-size: 14px !important; }
  .amenity-sub { font-size: 11px !important; }
}

/* V7.6 — delikatnie większe menu */
.nav-links a{
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
}
@media(max-width:1100px){
  .nav-links a{font-size:11px!important}
}

/* V7.9 — finalna poprawka wielkości menu */
.site-header .nav-wrap .nav-links a,
header.site-header .nav-links a,
.nav-wrap .nav-links a{
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
}
.site-header .nav-wrap .book-btn,
header.site-header .book-btn{
  font-size:12px!important;
  font-weight:800!important;
}
@media (min-width:1101px){
  .site-header .nav-wrap .nav-links{
    gap:clamp(13px,1.25vw,23px)!important;
  }
}
@media (min-width:851px) and (max-width:1100px){
  .site-header .nav-wrap .nav-links a{
    font-size:12px!important;
    letter-spacing:0!important;
  }
}

/* =========================================================
   V7.10 HEADER / MENU — większe i poprawione logo
   ========================================================= */

/* nagłówek ma zawsze kontrolowaną wysokość */
.site-header,
header.site-header{
  height:96px !important;
  min-height:96px !important;
  background:#fff !important;
  overflow:visible !important;
}
.site-header.scrolled,
header.site-header.scrolled{
  height:84px !important;
  min-height:84px !important;
}

.site-header .nav-wrap,
header.site-header .nav-wrap{
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
}

/* LOGO — nie może wychodzić poza białe menu */
.site-header .brand,
header.site-header .brand{
  height:72px !important;
  max-height:72px !important;
  width:170px !important;
  flex:0 0 170px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
  padding:4px 0 !important;
}
.site-header .brand img,
header.site-header .brand img,
.nav-wrap .brand img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:165px !important;
  max-height:62px !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
  transform:none !important;
}

/* MENU — celowo dużo większe niż dotychczas */
.site-header .nav-links a,
header.site-header .nav-links a,
.site-header nav a,
header.site-header nav a{
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}

/* odstępy dostosowane do większego fontu */
.site-header .nav-links,
header.site-header .nav-links{
  gap:clamp(12px,1.05vw,20px) !important;
  align-items:center !important;
}

/* główny przycisk w menu */
.site-header .book-btn,
header.site-header .book-btn{
  font-size:14px !important;
  line-height:1 !important;
  font-weight:800 !important;
  padding:15px 19px !important;
  white-space:nowrap !important;
}

/* telefon */
.site-header .nav-phone,
header.site-header .nav-phone,
.site-header .phone,
header.site-header .phone{
  font-size:14px !important;
}

/* na mniejszych desktopach lekko redukujemy, aby menu się nie łamało */
@media (min-width:1001px) and (max-width:1280px){
  .site-header .nav-links a,
  header.site-header .nav-links a,
  .site-header nav a,
  header.site-header nav a{
    font-size:14px !important;
  }
  .site-header .nav-links,
  header.site-header .nav-links{
    gap:10px !important;
  }
  .site-header .brand,
  header.site-header .brand{
    width:145px !important;
    flex-basis:145px !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-width:140px !important;
    max-height:58px !important;
  }
  .site-header .book-btn,
  header.site-header .book-btn{
    font-size:12px !important;
    padding:13px 14px !important;
  }
}

/* mobile/tablet — logo również zawsze w białym pasku */
@media (max-width:1000px){
  .site-header,
  header.site-header,
  .site-header.scrolled,
  header.site-header.scrolled{
    height:78px !important;
    min-height:78px !important;
  }
  .site-header .brand,
  header.site-header .brand{
    width:145px !important;
    height:62px !important;
    max-height:62px !important;
    flex-basis:145px !important;
  }
  .site-header .brand img,
  header.site-header .brand img{
    max-width:140px !important;
    max-height:54px !important;
  }
}

/* V7.11 — menu lekko zmniejszone względem V7.10 */
@media (min-width:1281px){
  .site-header .nav-links a,
  header.site-header .nav-links a,
  .site-header nav a,
  header.site-header nav a{
    font-size:15px !important;
  }
  .site-header .book-btn,
  header.site-header .book-btn{
    font-size:13px !important;
  }
}
@media (min-width:1001px) and (max-width:1280px){
  .site-header .nav-links a,
  header.site-header .nav-links a,
  .site-header nav a,
  header.site-header nav a{
    font-size:13px !important;
  }
}

/* V8.2 — udogodnienia pokoi */
.room-amenities-cms{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 22px}
.room-amenity{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(14,91,53,.16);background:#f7faf7;border-radius:999px;font-size:12px;font-weight:700;color:#173d29}
.room-amenity-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e4f0e7;color:#0e5b35;font-size:13px;font-weight:900}

/* V8.3 — delikatna sekcja wykonawcy strony */
.site-credit-section{
  background:#f7f8f5;
  border-top:1px solid rgba(14,91,53,.10);
  padding:22px clamp(20px,4vw,64px);
}
.site-credit-inner{
  width:min(1280px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.site-credit-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.site-credit-brand img{
  width:54px;
  height:54px;
  object-fit:contain;
  flex:0 0 54px;
}
.site-credit-brand div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.site-credit-kicker{
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.10em;
  color:#6f7d73;
}
.site-credit-brand strong{
  font-size:13px;
  line-height:1.3;
  font-weight:700;
  color:#15271c;
}
.site-credit-brand strong i{
  color:#0e5b35;
  font-style:normal;
}
.site-credit-inner>p{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:#68766d;
  text-align:center;
}
.site-credit-inner>a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#0e5b35;
  text-decoration:none;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.06em;
  white-space:nowrap;
  transition:opacity .2s ease;
}
.site-credit-inner>a:hover{opacity:.68}
.site-credit-inner>a span{font-size:14px}
@media(max-width:800px){
  .site-credit-section{padding:20px}
  .site-credit-inner{
    grid-template-columns:1fr auto;
    gap:14px 18px;
  }
  .site-credit-inner>p{
    grid-column:1/-1;
    grid-row:2;
    text-align:left;
    font-size:12px;
  }
  .site-credit-brand img{width:48px;height:48px;flex-basis:48px}
}
@media(max-width:520px){
  .site-credit-inner{grid-template-columns:1fr}
  .site-credit-inner>a{padding-left:62px}
}

/* V8.4 — animowane logo Internet System + telefon */
.site-credit-brand img{
  transform-origin:center;
  animation:isLogoFloat 4.8s ease-in-out infinite;
  filter:drop-shadow(0 5px 10px rgba(0,70,120,.10));
}
.site-credit-brand{position:relative}
.site-credit-brand:before{
  content:"";
  position:absolute;
  left:27px;
  top:50%;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(14,91,53,.12);
  transform:translate(-50%,-50%) scale(.82);
  opacity:0;
  animation:isLogoPulse 4.8s ease-out infinite;
  pointer-events:none;
}
@keyframes isLogoFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  45%{transform:translateY(-4px) rotate(-2deg)}
  55%{transform:translateY(-4px) rotate(2deg)}
}
@keyframes isLogoPulse{
  0%,35%,100%{opacity:0;transform:translate(-50%,-50%) scale(.82)}
  48%{opacity:.65}
  72%{opacity:0;transform:translate(-50%,-50%) scale(1.42)}
}
.site-credit-contact{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-width:0;
}
.site-credit-contact p{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:#68766d;
  text-align:center;
}
.site-credit-phone{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#15271c;
  text-decoration:none;
  font-size:13px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}
.site-credit-phone span{color:#0e5b35}
.site-credit-phone:hover{color:#0e5b35}
@media(max-width:800px){
  .site-credit-contact{
    grid-column:1/-1;
    grid-row:2;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .site-credit-contact p{text-align:left;font-size:12px}
}
@media(max-width:520px){
  .site-credit-contact{gap:10px}
  .site-credit-phone{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .site-credit-brand img,.site-credit-brand:before{animation:none!important}
}

/* V8.5 — stabilizacja układu sekcji Pokoje */
.room-details{
  overflow:hidden;
}
.room-details #roomDetailsMount,
.room-detail-panel,
.room-detail{
  min-width:0;
  max-width:100%;
}
.room-detail-panel *,
.room-detail *{
  box-sizing:border-box;
}
.room-gallery{
  min-width:0;
  max-width:100%;
}
.room-gallery img{
  max-width:100%;
}
.room-amenities-cms{
  width:100%;
  max-width:100%;
}
@media(max-width:760px){
  .room-details{
    padding-left:20px;
    padding-right:20px;
  }
  .room-tabs{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* V8.7 — lightbox galerii pokoi */
.room-gallery img{cursor:zoom-in!important}
.room-gallery-lightbox{
  position:fixed;inset:0;z-index:100000;
  display:none;align-items:center;justify-content:center;
  background:rgba(3,13,8,.95);backdrop-filter:blur(8px);
  padding:70px 85px;
}
.room-gallery-lightbox.open{display:flex}
.rgl-stage{width:min(1250px,92vw);height:min(820px,82vh);display:flex;align-items:center;justify-content:center;position:relative}
.rgl-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.35)}
.rgl-close,.rgl-prev,.rgl-next{
  position:absolute;z-index:3;border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.11);color:#fff;display:grid;place-items:center;
  cursor:pointer;backdrop-filter:blur(10px);transition:.2s;
}
.rgl-close:hover,.rgl-prev:hover,.rgl-next:hover{background:#fff;color:#0e5b35}
.rgl-close{right:24px;top:22px;width:46px;height:46px;border-radius:50%;font-size:25px}
.rgl-prev,.rgl-next{top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;font-size:32px}
.rgl-prev{left:22px}.rgl-next{right:22px}
.rgl-count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.42);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}
@media(max-width:700px){
 .room-gallery-lightbox{padding:65px 12px 48px}
 .rgl-stage{width:100%;height:76vh}
 .rgl-prev,.rgl-next{width:44px;height:44px;font-size:26px}
 .rgl-prev{left:7px}.rgl-next{right:7px}.rgl-close{top:12px;right:12px}
}

/* V8.8 — strzałki w głównej galerii */
#gallery .gallery-item,
#gallery .gallery-item img,
#gallery .gallery-grid img{cursor:zoom-in}

.main-gallery-viewer{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:68px 96px;
  background:rgba(2,10,6,.96);
  backdrop-filter:blur(9px);
}
.main-gallery-viewer.is-open{display:flex!important}
.mgv-stage{
  position:relative;
  width:min(1320px,90vw);
  height:min(850px,84vh);
  display:flex;
  align-items:center;
  justify-content:center;
}
.mgv-image{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:9px;
  box-shadow:0 25px 90px rgba(0,0,0,.45);
}
.mgv-close,
.mgv-arrow{
  position:fixed;
  z-index:2147483001;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.16);
  color:#fff;
  cursor:pointer;
  display:flex!important;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.mgv-close:hover,.mgv-arrow:hover{background:#fff;color:#0e5b35}
.mgv-close{
  top:22px;
  right:24px;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:27px;
}
.mgv-arrow{
  top:50%;
  transform:translateY(-50%);
  width:62px;
  height:62px;
  border-radius:50%;
}
.mgv-arrow:hover{transform:translateY(-50%) scale(1.06)}
.mgv-arrow span{
  display:block;
  font-family:Arial,sans-serif;
  font-size:46px;
  line-height:.7;
  font-weight:300;
  margin-top:-4px;
}
.mgv-prev{left:24px}
.mgv-next{right:24px}
.mgv-counter{
  position:absolute;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  padding:8px 13px;
  border-radius:999px;
  background:rgba(0,0,0,.52);
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
}
@media(max-width:700px){
  .main-gallery-viewer{padding:64px 10px 48px}
  .mgv-stage{width:100%;height:76vh}
  .mgv-arrow{width:46px;height:46px}
  .mgv-arrow span{font-size:35px}
  .mgv-prev{left:8px}.mgv-next{right:8px}
  .mgv-close{top:12px;right:12px;width:44px;height:44px}
}

/* V8.14 — Hero CMS bez wpływu na sekcję śniadań */
.hero-photo{position:relative;overflow:hidden}
.hero-photo .cms-hero-stage{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-photo .cms-hero-slide{
 position:absolute;inset:0;background-size:cover;background-position:center;
 opacity:0;transition:opacity 1.15s ease,transform 6.5s ease;transform:scale(1.01)
}
.hero-photo .cms-hero-slide.active{opacity:1}
.hero-photo .cms-hero-slide.zoom.active{transform:scale(1.07)}
.hero-photo .cms-hero-slide.kenburns{transform:scale(1.03) translate3d(-1%,0,0)}
.hero-photo .cms-hero-slide.kenburns.active{transform:scale(1.10) translate3d(1%,-.5%,0)}
.hero-photo .cms-hero-slide.slide{opacity:1;transform:translateX(100%);transition:transform 1s cubic-bezier(.65,0,.2,1)}
.hero-photo .cms-hero-slide.slide.active{transform:translateX(0)}
/* Zachowujemy wszystkie istniejące nakładki/karty Hero ponad zdjęciem. */
.hero-photo > :not(.cms-hero-stage):not(img){position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){
 .hero-photo .cms-hero-slide{transition:opacity .3s ease!important;transform:none!important}
}

/* V8.15 — stabilne Hero renderowane z PHP */
.hero-photo{position:relative!important;overflow:hidden!important}
.hero-photo .hero-fallback-image{display:block;width:100%;height:100%;object-fit:cover}
.hero-photo .cms-hero-stage{position:absolute;inset:0;z-index:1;overflow:hidden}
.hero-photo .cms-hero-stage + .hero-fallback-image{visibility:hidden}
.hero-photo .cms-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease,transform 6.5s ease;transform:scale(1.01)}
.hero-photo .cms-hero-slide.active{opacity:1}
.hero-photo .cms-hero-slide.zoom.active{transform:scale(1.07)}
.hero-photo .cms-hero-slide.kenburns{transform:scale(1.03) translate3d(-1%,0,0)}
.hero-photo .cms-hero-slide.kenburns.active{transform:scale(1.10) translate3d(1%,-.5%,0)}
.hero-photo .cms-hero-slide.slide{opacity:1;transform:translateX(100%);transition:transform 1s cubic-bezier(.65,0,.2,1)}
.hero-photo .cms-hero-slide.slide.active{transform:translateX(0)}
.hero-photo .weather-pill,.hero-photo .view-card{z-index:3!important}

/* V8.16 — stabilizacja zdjęć */
.hero-photo{background:#eef3ef}
.breakfast-image{background:linear-gradient(135deg,#0a2919,#0e5b35);min-height:100%}
.breakfast-image img{display:block;width:100%;height:100%;object-fit:cover}


/* V8.17 — Hero responsywne: zdjęcie dopasowane do ekranu */
.hero{
  min-height:calc(100svh - 84px);
}
.hero-photo{
  min-height:calc(100svh - 84px);
  height:auto;
  overflow:hidden!important;
}
.hero-photo .cms-hero-stage,
.hero-photo .cms-hero-slide{
  width:100%;
  height:100%;
}
.hero-photo .cms-hero-slide{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.hero-photo .hero-fallback-image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media (min-width:1001px){
  .hero{
    min-height:calc(100svh - 84px)!important;
  }
  .hero-photo{
    height:calc(100svh - 84px)!important;
    min-height:620px!important;
    max-height:920px!important;
  }
}
@media (max-width:1000px){
  .hero{
    min-height:auto!important;
  }
  .hero-photo{
    width:100%!important;
    height:clamp(360px,62svh,680px)!important;
    min-height:0!important;
  }
}
@media (max-width:600px){
  .hero-photo{
    height:clamp(320px,54svh,520px)!important;
  }
}

/* V8.21 — formularz kontaktowy */
.contact-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-form button[disabled]{opacity:.6;cursor:wait}
.contact-form .form-status{margin-top:12px;font-weight:700;min-height:20px}
.contact-form .form-status.ok{color:#0e5b35}
.contact-form .form-status.error{color:#a72b2b}


/* V8.23 — premium weather widget */
.weather-widget{position:relative;z-index:20;background:#082b1a;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.weather-widget-inner{max-width:1440px;margin:auto;min-height:78px;padding:10px clamp(20px,4vw,64px);display:flex;align-items:center;gap:clamp(20px,3vw,50px)}
.weather-place{display:flex;align-items:center;gap:11px;min-width:185px}
.weather-live-dot{width:8px;height:8px;border-radius:50%;background:#9bcf61;box-shadow:0 0 0 5px rgba(155,207,97,.12)}
.weather-place small,.weather-details small,.weather-day small{display:block;font-size:8px;letter-spacing:1.3px;font-weight:800;opacity:.58}
.weather-place strong{display:block;margin-top:3px;font-size:13px}
.weather-current{display:flex;align-items:center;gap:10px;white-space:nowrap}
.weather-icon{font-size:27px}.weather-temp{font-family:Georgia,serif;font-size:31px;line-height:1}.weather-desc{font-size:12px;opacity:.78}
.weather-details{display:flex;gap:25px;margin-left:auto}
.weather-details span{padding-left:18px;border-left:1px solid rgba(255,255,255,.13)}
.weather-details b{display:block;margin-top:4px;font-size:12px}
.weather-days{display:flex;align-items:center;border-left:1px solid rgba(255,255,255,.13);padding-left:20px}
.weather-day{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:7px;align-items:center;padding:0 10px;min-width:67px}
.weather-day small{grid-column:1/3;margin-bottom:3px}.weather-day i{grid-row:2;font-style:normal;font-size:17px}.weather-day b{font-size:12px}.weather-day em{font-size:9px;font-style:normal;opacity:.55;margin-left:3px}
@media(max-width:1000px){
 .weather-widget-inner{overflow-x:auto;gap:25px;min-height:72px;scrollbar-width:none}
 .weather-widget-inner::-webkit-scrollbar{display:none}
 .weather-details{margin-left:0}.weather-place{min-width:170px}.weather-days{min-width:max-content}
}
@media(max-width:640px){
 .weather-widget-inner{padding:9px 16px;min-height:66px}
 .weather-place{min-width:145px}.weather-place strong{font-size:11px}
 .weather-current{gap:7px}.weather-icon{font-size:23px}.weather-temp{font-size:26px}.weather-desc{display:none}
 .weather-details{gap:13px}.weather-details span{padding-left:12px}.weather-details span:nth-child(3){display:none}
 .weather-days{padding-left:12px}.weather-day{min-width:58px;padding:0 7px}
}

/* V8.25 — naprawa po V8.24: bez zmian w strukturze Hero.
   Używamy oryginalnego widgetu pogody, który już był w projekcie. */
.hero{
  margin-top:0!important;
}
.hero-photo{
  position:relative!important;
}
.hero-photo .weather-pill{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  z-index:40!important;
  top:24px!important;
  right:24px!important;
  grid-template-columns:auto auto auto!important;
  align-items:center!important;
  gap:10px!important;
  min-width:205px!important;
  padding:13px 16px!important;
  border-radius:16px!important;
  background:rgba(8,43,26,.88)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  color:#fff!important;
}
.hero-photo .weather-pill .weather-icon{
  display:block!important;
  font-size:25px!important;
  line-height:1!important;
}
.hero-photo .weather-pill .weather-temp{
  display:block!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  text-shadow:none!important;
}
.hero-photo .weather-pill .weather-text{
  display:grid!important;
  color:#fff!important;
  text-shadow:none!important;
}
.hero-photo .weather-pill .weather-text strong{
  font-size:10px!important;
  line-height:1.2!important;
}
.hero-photo .weather-pill .weather-text span{
  margin-top:3px!important;
  font-size:8px!important;
  opacity:.72!important;
}
@media(max-width:700px){
  .hero-photo .weather-pill{
    top:12px!important;
    right:12px!important;
    min-width:185px!important;
    padding:11px 13px!important;
  }
}


/* V8.26 — usuwa przypadkowy dodatkowy element nachodzący nad pasek udogodnień */
.hero-photo > .hero-badge,
.hero-photo > .hero-card,
.hero-photo > .floating-card,
.hero-photo > .view-card{
  display:none!important;
}

/* pasek udogodnień ma zaczynać się czysto bez nakładania elementów z Hero */
.amenities-strip,
.benefits-strip{
  position:relative!important;
  z-index:20!important;
}

.special-offers{padding:105px 0;background:#f7f8f5}.offers-wrap{width:min(1240px,calc(100% - 48px));margin:auto}.offers-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:38px}.offers-heading>div>span{color:#0e5b35;font-size:12px;font-weight:900;letter-spacing:.17em}.offers-heading h2{font-family:"Playfair Display",serif;font-size:clamp(42px,5vw,70px);line-height:1;margin:12px 0 0;font-weight:500}.offers-heading h2 em{color:#0e5b35}.offers-heading p{font-size:17px;line-height:1.7;color:#606861}.offers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.offer-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 15px 50px rgba(8,43,26,.08);transition:.3s}.offer-card:hover{transform:translateY(-5px)}.offer-photo{height:320px;background:linear-gradient(135deg,#0e5b35,#082b1a);position:relative}.offer-photo img{width:100%;height:100%;object-fit:cover}.offer-photo b{position:absolute;right:18px;top:18px;background:#fff;color:#082b1a;padding:9px 13px;border-radius:99px;font-size:11px}.offer-copy{padding:28px}.offer-copy small{color:#0e5b35;font-weight:900;letter-spacing:.15em}.offer-copy h3{font-family:"Playfair Display",serif;font-size:32px;margin:8px 0 12px}.offer-copy p{color:#606861;line-height:1.7}.offer-bottom{border-top:1px solid #e7ece8;margin-top:22px;padding-top:19px;display:flex;justify-content:space-between;align-items:center;gap:15px}.offer-bottom a{color:#0e5b35;font-size:12px;font-weight:900;text-decoration:none}.offer-bottom strong{color:#082b1a}@media(max-width:800px){.special-offers{padding:70px 0}.offers-wrap{width:calc(100% - 28px)}.offers-heading{grid-template-columns:1fr;gap:10px}.offers-grid{grid-template-columns:1fr}.offer-photo{height:245px}}
.offer-empty{grid-column:1/-1;min-height:280px;border:1px solid rgba(14,91,53,.14);border-radius:24px;background:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.offer-empty>span{font-size:11px;font-weight:900;letter-spacing:.17em;color:#0e5b35}.offer-empty h3{font-family:"Playfair Display",serif;font-size:clamp(30px,4vw,46px);font-weight:500;margin:10px 0 12px;color:#082b1a}.offer-empty p{max-width:620px;color:#606861;font-size:16px;line-height:1.7;margin:0 0 22px}.offer-empty a{font-size:12px;font-weight:900;color:#0e5b35;text-decoration:none}@media(max-width:800px){.offer-empty{padding:30px 24px;min-height:240px}}
/* V8.38 — premium powiększenie zdjęcia oferty */
.offer-photo{overflow:hidden}
.offer-zoom-img{cursor:zoom-in;transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .3s ease}
.offer-card:hover .offer-zoom-img{transform:scale(1.045)}
.offer-photo:has(.offer-zoom-img)::after{content:"＋  POWIĘKSZ";position:absolute;left:18px;bottom:18px;z-index:2;padding:9px 13px;border-radius:999px;background:rgba(8,43,26,.76);backdrop-filter:blur(10px);color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em;pointer-events:none;opacity:0;transform:translateY(7px);transition:.25s}
.offer-photo:has(.offer-zoom-img):hover::after{opacity:1;transform:none}
.offer-lightbox{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:42px;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s}
.offer-lightbox.is-open{opacity:1;visibility:visible}
.offer-lightbox-backdrop{position:absolute;inset:0;background:rgba(3,15,9,.92);backdrop-filter:blur(14px)}
.offer-lightbox-stage{position:relative;z-index:2;max-width:min(92vw,1500px);max-height:88vh;transform:scale(.96) translateY(10px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.offer-lightbox.is-open .offer-lightbox-stage{transform:none}
.offer-lightbox-stage img{display:block;max-width:100%;max-height:82vh;object-fit:contain;border-radius:12px;box-shadow:0 35px 100px rgba(0,0,0,.45)}
.offer-lightbox-caption{color:#fff;text-align:center;margin-top:14px;font-family:"Playfair Display",serif;font-size:18px}
.offer-lightbox-close{position:absolute;z-index:4;right:26px;top:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:.2s}
.offer-lightbox-close:hover{background:#fff;color:#082b1a;transform:rotate(90deg)}
.offer-lightbox-hint{position:absolute;z-index:3;bottom:18px;color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.12em}
html.offer-lightbox-open{overflow:hidden}
@media(max-width:700px){.offer-lightbox{padding:18px}.offer-lightbox-close{right:14px;top:14px}.offer-lightbox-stage img{max-height:76vh}.offer-lightbox-hint{display:none}.offer-photo:has(.offer-zoom-img)::after{opacity:1;transform:none}}
