/* Na Szczycie — polska wersja witryny, 29.10.2026.
   Dodatek do default13. Bez zmian logiki i pól silnika rezerwacji. */
:root {
  --ns-ink: #17334a;
  --ns-copy: #475f70;
  --ns-blue: #176d9b;
  --ns-blue-hover: #10547a;
  --ns-sky: #b9e0f2;
  --ns-pale: #eff8fc;
  --ns-line: #dbe9f0;
}

/* Korekty elementów dostarczanych przez szablon. */
html, body { overflow-x: clip !important; }
.page-index #bounce { display: none !important; }
header.default13 .navbar-toggler i,
header.default13 .navbar-toggler span { color: var(--ns-ink) !important; }
.payment-info-item:has(.icon-piggybank) { display: none !important; }
#amenities h2::after {
  content: "Wyposażenie pokoju i udogodnienia wspólne. Lodówka, czajnik oraz zestaw do kawy i herbaty są w każdym pokoju. Dwa aneksy kuchenne, grill i miejsca do zabawy są wspólne dla gości.";
  display: block;
  max-width: 900px;
  margin: 16px auto 24px;
  color: var(--ns-copy);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: normal;
  text-transform: none;
}

/* Istniejący nagłówek i hero. Zachowujemy nawigację oraz przyciski rezerwacji. */
header.default13 .menu-wrapper { border-bottom: 1px solid rgba(23, 51, 74, .09); }
header.default13 .navbar-brand img { object-fit: contain; }
header.default13 .nav-link { letter-spacing: .01em; }
header.default13 .nav-link:hover,
header.default13 .nav-link:focus { color: var(--ns-blue); }
header.default13 .navbar-reservation.btn,
.page-index .index-info > div > .navbar-reservation.btn {
  border-radius: 6px;
  font-weight: 650;
  letter-spacing: 0;
}
.navbar-reservation.btn,
.page-index #iai_book_form .formbutton button {
  background-color: #176d9b !important;
  border-color: #176d9b !important;
  color: #fff !important;
}
.navbar-reservation.btn:hover,
.navbar-reservation.btn:focus-visible,
.page-index #iai_book_form .formbutton button:hover,
.page-index #iai_book_form .formbutton button:focus-visible {
  background-color: #10547a !important;
  border-color: #10547a !important;
}
.page-index #pageContent > .section.parallax,
.page-index #pageContent > .section.parallax > .fp-tableCell {
  height: 520px !important;
  min-height: 520px !important;
}
.page-index #pageContent > .section.parallax {
  position: relative;
  overflow: hidden;
  padding-top: 0 !important;
  background: #395f76;
}
.page-index #parallax_topslider {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: 100%;
  width: 100%;
  background-image: url('/images/frontpageGallery/pictures/large/0/0/574.jpg') !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 48%;
}
.page-index #parallax_topslider > .slick-list,
.page-index #parallax_topslider > .slick-arrow,
.page-index #parallax_topslider > .slick-dots { display: none !important; }
.page-index #parallax_topslider::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block !important;
  background: linear-gradient(90deg, rgba(13, 36, 51, .62), rgba(13, 36, 51, .3) 70%, rgba(13, 36, 51, .22));
}
.page-index .index-info {
  top: 55%;
  padding-right: 24px;
  padding-left: 24px;
  max-width: 1180px;
}
.page-index .index-info h1 {
  max-width: 1000px;
  margin: 0 auto 16px;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -.035em;
  text-transform: none;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .2);
}
.page-index .index-info h2 {
  max-width: 860px;
  margin: 0 auto 28px;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .22);
}
.page-index #pageContent > .fp-auto-height,
.page-index #pageContent > .fp-auto-height > .fp-tableCell {
  height: auto !important;
  min-height: 0;
}
.page-index #pageContent > .parallax + .section {
  padding-top: 0;
  padding-bottom: 0 !important;
  background: #fff;
}
.page-index #pageContent > .parallax + .section .section_sub {
  max-width: 1248px;
  padding-right: 24px;
  padding-left: 24px;
}

/* Wspólny język wizualny własnych treści. */
.ns-home, .ns-content {
  color: var(--ns-copy);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  text-align: left;
}
.ns-home *, .ns-content * { box-sizing: border-box; }
.ns-home h2, .ns-home h3, .ns-content h2, .ns-content h3 { color: var(--ns-ink); }
.ns-home p, .ns-content p { margin: 0 0 20px; }
.ns-home h2 {
  margin: 0 0 24px;
  font-size: clamp(30px, 3.2vw, 43px);
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: -.035em;
  text-transform: none;
}
.ns-home h3 {
  margin: 0 0 13px;
  font-size: 23px;
  line-height: 1.25;
  font-weight: 650;
  letter-spacing: -.02em;
  text-transform: none;
}
.ns-home .ns-eyebrow {
  margin: 0 0 14px;
  color: var(--ns-blue);
  font-size: 11px;
  line-height: 1.5;
  font-weight: 750;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ns-home .ns-lead, .ns-content .ns-lead { font-size: 20px; line-height: 1.6; color: var(--ns-ink); }
.ns-home img { display: block; width: 100%; max-width: 100%; object-fit: cover; }
.ns-home figure { margin: 0; }
.ns-home a, .ns-content a { text-underline-offset: 4px; }
.ns-home a:focus-visible, .ns-content a:focus-visible {
  outline: 3px solid var(--ns-blue);
  outline-offset: 5px;
}
.ns-home .ns-text-link {
  display: inline-flex;
  align-items: baseline;
  gap: 16px;
  color: var(--ns-blue);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.5;
}
.ns-home .ns-text-link span { font-size: 22px; font-weight: 400; }
.ns-home .ns-text-link:hover { color: var(--ns-blue-hover); text-decoration: underline; }
.ns-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
.ns-home .ns-button, .ns-content .ns-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid var(--ns-blue);
  border-radius: 6px;
  background: var(--ns-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease;
}
.ns-home .ns-button:hover, .ns-content .ns-button:hover { background: var(--ns-blue-hover); border-color: var(--ns-blue-hover); color: #fff; }
.ns-home .ns-button-secondary, .ns-content .ns-button-secondary { background: transparent; color: var(--ns-blue); }
.ns-home .ns-button-secondary:hover, .ns-content .ns-button-secondary:hover { background: #fff; color: var(--ns-blue-hover); }

/* Strona główna. */
.ns-highlights {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 30px 0;
  border-bottom: 1px solid var(--ns-line);
  color: var(--ns-ink);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
}
.ns-highlights span { display: flex; align-items: center; gap: 12px; }
.ns-highlights span::before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #7ec6e7; }
.ns-welcome { display: grid; grid-template-columns: 1fr 1.12fr; align-items: center; gap: 70px; padding: 76px 0 90px; }
.ns-welcome-copy { max-width: 475px; }
.ns-welcome h2 { font-size: clamp(36px, 4vw, 52px); }
.ns-welcome-image { position: relative; }
.ns-welcome-image img { aspect-ratio: 1.38; height: auto; border-radius: 10px; }
.ns-welcome-image figcaption { margin-top: 12px; font-size: 11px; letter-spacing: .06em; color: #647a89; }
.ns-section-heading { display: grid; grid-template-columns: 1.45fr 1fr; align-items: end; gap: 48px; margin-bottom: 36px; }
.ns-section-heading h2 { max-width: 570px; margin-bottom: 0; }
.ns-section-heading > p { margin: 0 0 2px; max-width: 380px; }
.ns-paths { padding: 0 0 88px; }
.ns-path-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; }
.ns-path-card { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.ns-image-link { display: block; border-radius: 8px; overflow: hidden; }
.ns-path-card img { aspect-ratio: 4 / 3; height: auto; transition: transform .25s ease; }
.ns-image-link:hover img { transform: scale(1.025); }
.ns-path-copy { display: flex; flex-direction: column; flex: 1; padding-top: 23px; }
.ns-path-copy .ns-eyebrow { margin-bottom: 8px; font-size: 10px; }
.ns-path-copy h3 { font-size: 22px; }
.ns-path-copy p:not(.ns-eyebrow) { font-size: 14px; line-height: 1.7; margin-bottom: 22px; }
.ns-path-copy .ns-text-link { margin-top: auto; gap: 10px; font-size: 13px; }
.ns-together { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; padding: 55px; background: var(--ns-pale); border-radius: 12px; }
.ns-together-image { height: auto; align-self: center; }
.ns-together-image img { height: auto; min-height: 0; max-height: none; aspect-ratio: 4 / 3; border-radius: 8px; }
.ns-together-copy h2 { font-size: clamp(30px, 3vw, 39px); }
.ns-together-copy > p { font-size: 15px; }
.ns-feature-list { margin: 28px 0 22px; }
.ns-feature-list > div { border-left: 2px solid #a4d6ec; padding-left: 19px; margin-bottom: 20px; }
.ns-feature-list h3 { font-size: 17px; margin-bottom: 5px; }
.ns-feature-list p { font-size: 14px; line-height: 1.6; margin: 0; }
.ns-together-copy .ns-small-note { font-size: 12px; }
.ns-seasons { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; padding: 85px 0; }
.ns-seasons > div > p:last-child { max-width: 440px; margin-bottom: 0; }
.ns-season-links { display: flex; flex-direction: column; border-top: 1px solid var(--ns-line); }
.ns-season-links a { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 19px 0; border-bottom: 1px solid var(--ns-line); color: var(--ns-ink); font-size: 17px; font-weight: 600; text-decoration: none; line-height: 1.5; }
.ns-season-links a:hover { color: var(--ns-blue); }
.ns-season-links a > span:last-child { font-size: 23px; color: var(--ns-blue); font-weight: 400; }
.ns-contact-panel { display: grid; grid-template-columns: 1.4fr 1fr; gap: 75px; align-items: center; margin-bottom: 72px; padding: 60px; border-radius: 12px; background: #dff1fa; }
.ns-contact-copy > p:not(.ns-eyebrow) { max-width: 430px; }
.ns-contact-phone { display: inline-flex; gap: 26px; align-items: center; color: var(--ns-ink); font-size: clamp(27px, 3vw, 38px); font-weight: 650; line-height: 1.3; letter-spacing: -.03em; text-decoration: none; }
.ns-contact-phone:hover { color: var(--ns-blue); text-decoration: underline; }
.ns-contact-phone span { color: var(--ns-blue); font-size: 28px; font-weight: 400; }
.ns-contact-details { padding-left: 40px; border-left: 1px solid #b8d7e6; }
.ns-contact-details p { font-size: 14px; }
.ns-contact-details .ns-address { color: var(--ns-ink); font-size: 16px; line-height: 1.8; }
.ns-contact-details .ns-pet-note { margin: 30px 0 0; padding-top: 25px; border-top: 1px solid #b8d7e6; font-size: 12px; line-height: 1.7; }

/* Treści podstron przygotowane w tym samym systemie. */
.ns-content { max-width: 1000px; margin: 10px auto 44px; }
.ns-content > .ns-lead { max-width: 860px; margin-bottom: 34px; }
.ns-content h2 { margin: 36px 0 15px; font-size: 28px; line-height: 1.25; font-weight: 650; letter-spacing: -.025em; }
.ns-content h3 { margin: 26px 0 12px; font-size: 21px; line-height: 1.3; }
.ns-content ul, .ns-content ol { margin: 18px 0 28px; padding-left: 24px; }
.ns-content li { padding-left: 5px; margin-bottom: 9px; }
.ns-content li::marker { color: var(--ns-blue); }
.ns-content > p a:not(.ns-button) { color: var(--ns-blue); }
.ns-content .ns-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 32px 0; }
.ns-content .ns-card { padding: 28px; border: 1px solid var(--ns-line); border-radius: 8px; background: #f6fbfe; }
.ns-content .ns-card h2 { margin: 0 0 15px; font-size: 21px; }
.ns-content .ns-card p { font-size: 14px; line-height: 1.7; }
.ns-content .ns-card p:last-child { margin-bottom: 0; }
.ns-content .ns-actions { margin-top: 34px; padding-top: 25px; border-top: 1px solid var(--ns-line); }
.ns-content .ns-room-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 34px 0; }
.ns-content .ns-room-card { min-width: 0; padding-bottom: 23px; overflow: hidden; border: 1px solid var(--ns-line); border-radius: 10px; background: #fff; }
.ns-content .ns-room-card img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.ns-content .ns-room-card h3 { margin: 23px 24px 13px; font-size: 23px; line-height: 1.3; }
.ns-content .ns-room-card p { margin: 0 24px 17px; font-size: 15px; line-height: 1.65; }
.ns-content .ns-room-card a { color: var(--ns-blue); text-underline-offset: 4px; }
.ns-content .ns-room-card h3 a { color: var(--ns-ink); text-decoration: none; }
.ns-content .ns-room-card h3 a:hover { color: var(--ns-blue); text-decoration: underline; }
.ns-content .ns-room-card .ns-button { margin: 0 24px; color: #fff; }
.ns-content .ns-room-card .ns-button-secondary { color: var(--ns-blue); }

@media (max-width: 1100px) {
  .ns-welcome { gap: 40px; }
  .ns-path-grid { gap: 20px; }
  .ns-path-copy h3 { font-size: 20px; }
  .ns-together { gap: 36px; padding: 38px; }
  .ns-seasons { gap: 55px; }
  .ns-contact-panel { gap: 42px; padding: 42px; }
  .ns-contact-details { padding-left: 30px; }
}
@media (max-width: 800px) {
  .ns-highlights { grid-template-columns: 1fr 1fr; gap: 16px 28px; }
  .ns-welcome { gap: 30px; padding: 55px 0 65px; }
  .ns-welcome h2 { font-size: 39px; }
  .ns-welcome .ns-lead { font-size: 18px; }
  .ns-welcome-image img { aspect-ratio: 4 / 5; }
  .ns-section-heading { grid-template-columns: 1fr; gap: 20px; }
  .ns-section-heading > p { max-width: 560px; }
  .ns-paths { padding-bottom: 60px; }
  .ns-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 24px; }
  .ns-path-copy h3 { font-size: 23px; }
  .ns-together { grid-template-columns: 1fr; padding: 34px; gap: 34px; }
  .ns-together-image img { aspect-ratio: 4 / 3; height: auto; min-height: 0; max-height: none; }
  .ns-seasons { grid-template-columns: 1fr; padding: 60px 0; gap: 30px; }
  .ns-contact-panel { grid-template-columns: 1fr; gap: 35px; padding: 38px; margin-bottom: 45px; }
  .ns-contact-details { border-left: none; border-top: 1px solid #b8d7e6; padding: 30px 0 0; }
  .ns-contact-details .ns-pet-note { max-width: 440px; padding: 0; border: 0; }
  .ns-content .ns-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .page-index #pageContent > .section.parallax,
  .page-index #pageContent > .section.parallax > .fp-tableCell { height: 480px !important; min-height: 480px !important; }
  .page-index #parallax_topslider { background-position: 50% 50%; }
  .page-index .index-info { top: 55%; padding: 0 22px; }
  .page-index .index-info h1 { font-size: 37px; line-height: 1.12; margin-bottom: 18px; }
  .page-index .index-info h2 { font-size: 18px; line-height: 1.5; margin-bottom: 24px; }
  .page-index #pageContent > .parallax + .section .section_sub { padding-right: 20px; padding-left: 20px; }
  .ns-home { font-size: 15px; }
  .ns-home h2 { font-size: 31px; }
  .ns-highlights { padding: 25px 0; gap: 14px 16px; font-size: 11px; }
  .ns-highlights span { align-items: flex-start; gap: 8px; }
  .ns-highlights span::before { margin-top: 5px; flex-basis: 5px; width: 5px; height: 5px; }
  .ns-welcome { grid-template-columns: 1fr; padding: 42px 0 55px; gap: 30px; }
  .ns-welcome-copy { max-width: none; }
  .ns-welcome h2 { font-size: 39px; }
  .ns-welcome-image img { aspect-ratio: 4 / 3; }
  .ns-section-heading { margin-bottom: 27px; }
  .ns-path-grid { grid-template-columns: 1fr; gap: 34px; }
  .ns-path-copy { padding-top: 17px; }
  .ns-path-copy .ns-eyebrow { font-size: 10px; letter-spacing: .09em; }
  .ns-path-copy h3 { font-size: 24px; }
  .ns-path-copy p:not(.ns-eyebrow) { font-size: 15px; line-height: 1.65; }
  .ns-path-copy .ns-text-link { font-size: 14px; gap: 8px; }
  .ns-path-copy .ns-text-link span { font-size: 18px; }
  .ns-together { padding: 24px; border-radius: 8px; gap: 28px; }
  .ns-together-copy h2 { font-size: 29px; }
  .ns-together-copy > p { font-size: 14px; }
  .ns-feature-list { margin-top: 24px; }
  .ns-feature-list > div { padding-left: 14px; }
  .ns-feature-list h3 { font-size: 16px; }
  .ns-feature-list p { font-size: 13px; }
  .ns-seasons { padding: 50px 0; }
  .ns-season-links a { font-size: 15px; padding: 16px 0; }
  .ns-contact-panel { padding: 30px 24px; border-radius: 8px; }
  .ns-contact-panel h2 { font-size: 29px; }
  .ns-contact-phone { font-size: 32px; gap: 15px; }
  .ns-contact-panel .ns-actions { gap: 10px; }
  .ns-contact-panel .ns-button { padding: 11px 16px; font-size: 13px; }
  .ns-content { font-size: 15px; }
  .ns-content .ns-lead { font-size: 18px; }
  .ns-content h2 { font-size: 25px; }
  .ns-content .ns-grid { grid-template-columns: 1fr; gap: 15px; }
  .ns-content .ns-card { padding: 24px; }
  .ns-content .ns-room-grid { grid-template-columns: 1fr; gap: 24px; }
  .ns-content .ns-room-card h3 { margin-right: 21px; margin-left: 21px; font-size: 22px; }
  .ns-content .ns-room-card p { margin-right: 21px; margin-left: 21px; }
  .ns-content .ns-room-card .ns-button { margin-right: 21px; margin-left: 21px; }
}
@media (max-width: 380px) {
  .ns-path-grid { grid-template-columns: 1fr; gap: 34px; }
  .ns-path-copy p:not(.ns-eyebrow) { font-size: 14px; }
  .ns-path-copy h3 { font-size: 24px; }
  .ns-path-copy .ns-text-link { font-size: 14px; }
  .ns-path-copy .ns-eyebrow { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ns-home *, .ns-content * { transition: none !important; }
  .ns-image-link:hover img { transform: none; }
}
