/* ==========================================================
   Domki Rainers – aktualizacja 2026
   Uzupełnia main.css (nie zmienia go). Kolejność: baza → komponenty → sekcje.

   Skala odstępów:
   nagłówek sekcji → 40px → treść      (≤991: 28px)
   blok w sekcji   → 80px → blok       (≤991: 56px, ≤575: 48px)
   nagłówek bloku  → 28px → treść      (≤991: 22px)
   akapit          → 20px → akapit     (≤991: 18px)

   Kolory: #003554 granat · #00a6fb niebieski · #f6ae2d pomarańcz
   ========================================================== */


/* ---------- czcionka podpisów: Caveat 600 (licencja OFL, plik lokalny) ---------- */
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/caveat-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/caveat-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


/* ==========================================================
   BAZA
   ========================================================== */

/* jednolite tło całej strony */
body,.ofert,.reservation{background:#fafbfc url(../images/content/pattern-2026.png) left top/21px 21px repeat}

/* odstęp pod nagłówkiem sekcji */
.about-us .heading-section-box,
.ofert .heading-section-box,
.beach .heading-section-box,
.reviews .heading-section-box{margin-bottom:40px}

/* nagłówek bloku z falą (nawiązanie do logo) */
.heading-feature{
  position:relative;
  margin:0 0 28px 0;
  padding-bottom:22px;
  font-size:2.8rem;
  font-weight:500;
  line-height:1.3;
  color:#003554;
}
.heading-feature:after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:72px;height:15px;
  background:url(../images/svg/fala.svg) left bottom/contain no-repeat;
}

/* akapity */
.primary-text p{margin:0;line-height:1.75}
.primary-text p + p{margin-top:20px}

/* odstępy między blokami */
.feature-row{margin-top:80px}

/* ikony (lucide, wstawiane inline) */
.ico{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* przyciski */
.btn-accent{background:#f6ae2d;border-color:#de9718}
.btn-accent:hover{background:#003554;border-color:#003554;color:#fff}

.btn-booking{
  display:block;
  position:relative;
  width:200px;height:56px;
  margin:0 auto;
  background:#00a6fb;
  border-radius:5px;
  border-bottom:4px solid #0095e2;
  transition:background .2s ease,border-color .2s ease;
}
.btn-booking img{position:absolute;top:50%;left:0;right:0;width:136px;height:23px;margin:2px auto 0 auto;transform:translateY(-50%)}
.btn-booking:hover{background:#003554;border-color:#003554}

.text-accent{color:#f6ae2d;font-weight:700;letter-spacing:.03em}


/* ==========================================================
   NAGŁÓWEK STRONY – przełącznik języka DE / EN
   ========================================================== */
.header-primary__lang{display:flex;align-items:flex-start;gap:6px;width:auto;padding-left:14px}
.header-primary__lang a{float:none;flex:0 0 auto}


/* ==========================================================
   ZDJĘCIA W TREŚCI – odbitki z taśmą
   ========================================================== */
.photo-print{
  --rot:-2deg;
  position:relative;
  display:block;
  margin:0;
  padding:12px 12px 0 12px;
  background:#fff;
  box-shadow:0 18px 35px -12px rgba(0,53,84,.35),0 3px 8px rgba(0,53,84,.1);
  transform:rotate(var(--rot));
  transition:transform .35s ease,box-shadow .35s ease;
}
.photo-print:before{ /* taśma */
  content:"";
  position:absolute;
  top:-13px;left:50%;
  z-index:2;
  width:96px;height:28px;
  background:rgba(246,174,45,.55);
  box-shadow:0 1px 3px rgba(0,0,0,.08);
  transform:translateX(-50%) rotate(-4deg);
}
.photo-print__link{display:block;overflow:hidden}
.photo-print img{display:block;width:100%;height:auto;transition:transform .5s ease}
.photo-print figcaption{
  padding:10px 6px 14px 6px;
  font-family:'Caveat',cursive;
  font-weight:600;
  font-size:2.4rem;
  line-height:1.2;
  color:#003554;
  text-align:center;
}
.photo-print:hover{z-index:5;transform:rotate(0deg) scale(1.015);box-shadow:0 24px 45px -12px rgba(0,53,84,.4),0 3px 8px rgba(0,53,84,.1)}
.photo-print:hover img{transform:scale(1.04)}

/* dwa zdjęcia nachodzące na siebie */
.photo-stack{position:relative;padding:20px 10px 10px 10px}
.photo-stack .photo-print:first-child{width:72%}
.photo-stack .photo-print:first-child figcaption{padding-left:14px;text-align:left}
.photo-print--overlap{z-index:3;width:52%;margin:-20% 0 0 auto}
.photo-print--overlap:before{left:30%;background:rgba(0,166,251,.35)}

.photo-single{padding:20px 15px}


/* ==========================================================
   SEKCJA: O NAS
   ========================================================== */
.about-us__intro .about-us__text{margin:0 0 28px 0} /* nadpisuje margines z main.css */
.motto{
  margin:0;
  padding:16px 20px;
  border-left:4px solid #f6ae2d;
  background:rgba(255,255,255,.75);
  font-size:2rem;
  font-weight:500;
  line-height:1.5;
  color:#003554;
}
.about-us__intro .photo-stack{padding:5px 10px 10px 10px}
.about-us__intro .photo-stack .photo-print:first-child{width:68%}
.about-us__intro .photo-print--overlap{width:48%;margin-top:-18%}


/* ==========================================================
   SEKCJA: OFERTA
   ========================================================== */
.photo-single--offer{padding-top:0}

/* pasek z liczbami */
.stats-strip{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin-top:56px;
  overflow:hidden;
  background:#003554;
  border-radius:8px;
  box-shadow:0 20px 40px -20px rgba(0,53,84,.6);
}
.stats-strip__item{position:relative;padding:24px 12px 20px 12px;color:#fff;text-align:center}
.stats-strip__item + .stats-strip__item:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:rgba(255,255,255,.2)}
.stats-strip__item strong{display:block;font-size:4rem;font-weight:500;line-height:1.1;color:#f6ae2d}
.stats-strip__item strong small{font-size:1.6rem;font-weight:400;color:#fff;opacity:.8}
.stats-strip__item strong sup{font-size:.5em}
.stats-strip__item span{display:block;margin-top:6px;font-size:1.4rem;line-height:1.35;text-transform:uppercase;letter-spacing:.05em;opacity:.9}

/* karty wyposażenia */
.equip-cards{row-gap:30px}
.equip-card{
  height:100%;
  padding:28px 28px 24px 28px;
  background:rgba(255,255,255,.92);
  border-radius:8px;
  box-shadow:0 12px 30px -15px rgba(0,53,84,.35);
  transition:transform .25s ease,box-shadow .25s ease;
}
.equip-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px -15px rgba(0,53,84,.45)}
.equip-card__head{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.equip-card__icon{
  display:flex;align-items:center;justify-content:center;
  flex:0 0 52px;width:52px;height:52px;
  background:#00a6fb;
  border-radius:50%;
  border-bottom:4px solid #0095e2;
  color:#fff;
}
.equip-card__icon .ico{width:26px;height:26px}
.equip-card__title{margin:0;font-size:2rem;font-weight:600;line-height:1.3}
.equip-card p{margin:0;font-size:1.8rem;font-weight:400;line-height:1.6;text-align:left}

/* udogodnienia z ikonami */
.icon-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;margin:0;padding:0;list-style:none}
.icon-chips li{
  display:flex;align-items:center;gap:12px;
  padding:10px 14px;
  background:rgba(255,255,255,.88);
  border-radius:6px;
  font-size:1.7rem;
  font-weight:500;
  line-height:1.3;
  transition:background .2s ease,color .2s ease;
}
.icon-chips li .ico{color:#00a6fb;transition:color .2s ease}
.icon-chips li:hover{background:#00a6fb;color:#fff}
.icon-chips li:hover .ico{color:#fff}
.icon-chips--accent li .ico{color:#f6ae2d}
.icon-chips--accent li:hover{background:#f6ae2d}
.icon-chips--single{grid-template-columns:1fr}

/* w okolicy */
.ofert .box-list{margin-top:80px}
.ofert .box-list .heading-feature{margin-bottom:36px} /* miejsce na kółka ze strzałkami */


/* ==========================================================
   SEKCJA: 670 METRÓW DO PLAŻY
   ========================================================== */
.beach{padding-bottom:30px}
.beach-facts{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px 0;padding:0;list-style:none}
.beach-facts li{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  align-items:center;
  flex:1 1 150px;
  padding:10px 12px;
  background:#fff;
  border-radius:8px;
  box-shadow:0 10px 25px -14px rgba(0,53,84,.4);
}
.beach-facts .ico{grid-row:1 / 3;box-sizing:content-box;width:28px;height:28px;padding:5px;background:rgba(0,166,251,.1);border-radius:50%;color:#00a6fb}
.beach-facts strong{font-size:2.4rem;font-weight:500;line-height:1.1;color:#003554}
.beach-facts span{font-size:1.3rem;line-height:1.3;text-transform:uppercase;letter-spacing:.04em;opacity:.75}

.beach .photo-stack{padding-top:5px}
.photo-stack--beach .photo-print:first-child{width:74%}
.photo-stack--beach .photo-print--portrait{width:33%;margin-top:-27%;margin-right:0}


/* ==========================================================
   SEKCJA: PROMOCJA – pupil gratis
   ========================================================== */
.promo{padding-top:20px}
.promo-box{padding:10px 0}
.promo-box__title{margin:0 0 22px 0;font-family:'Caveat',cursive;font-weight:600;font-size:4.6rem;line-height:1.1;color:#00a6fb}
.promo-box__cta{display:flex;flex-wrap:wrap;align-items:center;gap:15px 25px;margin-top:28px}
.promo-box__cta strong{font-size:2rem;font-weight:500}


/* ==========================================================
   SEKCJA: GALERIA
   ========================================================== */
.gallery__nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.gallery__nav li{margin:0;text-transform:none}
.gallery-more{margin-top:35px;text-align:center}
.gallery-more .btn-primary{cursor:pointer}
.gallery-more .btn-primary span{opacity:.75}


/* ==========================================================
   SEKCJA: OPINIE
   ========================================================== */
.reviews-intro{position:relative;z-index:2;margin:0 0 10px 0}
.reviews-intro__text{
  position:relative;
  padding-left:26px;
  border-left:4px solid #00a6fb;
  font-size:2.2rem;
  font-weight:300;
  line-height:1.6;
  text-align:left;
}
.reviews-intro .photo-single{padding-top:10px;padding-bottom:10px}
.reviews .container:before{top:auto;bottom:-140px}


/* ==========================================================
   SEKCJA: REZERWACJA
   ========================================================== */
.reservation .circle-list{margin-top:45px}
.reservation .circle-list li{margin-top:18px;padding-top:9px;padding-bottom:9px}
.reservation .circle-list li:first-child{margin-top:0}
.reservation .circle-list li:before{top:50%;margin-top:-25px}
.reservation .circle-list a{text-decoration:underline}

.cta-box{
  margin-top:45px;
  padding:35px 30px;
  background:#fff;
  box-shadow:0 0 25px rgba(0,0,0,.12);
  text-align:center;
}
.cta-box__title{margin-bottom:12px;font-size:2.8rem;font-weight:500;color:#00a6fb}
.cta-box p{margin-bottom:20px}
.cta-box__phone{margin-top:28px;padding-top:22px;border-top:1px solid rgba(0,53,84,.15)}
.cta-box__phone span{display:block;font-size:1.4rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.cta-box__phone a{display:inline-block;margin-top:4px;font-size:3rem;font-weight:500;color:#003554}
.cta-box__phone a:hover{color:#00a6fb}


/* ==========================================================
   SEKCJA: KONTAKT – Facebook
   ========================================================== */
.social-link{display:flex;align-items:center;gap:10px;margin:25px 0 20px 0;font-weight:500}
.social-link svg{flex:0 0 36px;width:36px;height:36px;padding:7px;background:#1877f2;border-radius:50%;color:#fff;transition:background .2s ease}
.social-link:hover svg{background:#003554}
.social-link:hover span{color:#00a6fb}


/* logotypy nagród – bez tła, równa wysokość i odstępy */
.contact__logotypes{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:360px}
.contact__logotypes a{display:block;flex:0 0 auto}
.contact__logotypes img{display:block;flex:0 0 auto;width:auto;height:58px;max-width:none;margin:0}


/* ==========================================================
   RESPONSYWNOŚĆ (breakpointy jak w main.css)
   ========================================================== */
@media (min-width:992px){
  .about-us__intro .photo-stack{padding:0 10px 0 30px}
  .about-us__intro .photo-stack .photo-print:first-child{width:64%}
  .about-us__intro .photo-print--overlap{width:46%;margin-top:-24%}

  .gallery-slider:not(.is-open) .swiper-slide:nth-child(n+13){display:none}

  .reservation .cta-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:calc(100% - 45px)}
}

/* wersja DE: dłuższe pozycje menu i numer z +48 – ciaśniej przy 1200–1365 px */
@media (min-width:1200px) and (max-width:1365px){
  .de .header-primary nav li{margin-right:12px}
  .de .header-primary__phone{width:168px}
}

@media (max-width:1440px){
  .heading-feature{font-size:2.6rem}
  .motto{font-size:1.8rem}
  .equip-card__title{font-size:1.8rem}
  .equip-card p{font-size:1.6rem}
  .icon-chips li{font-size:1.5rem}
  .reviews-intro__text{font-size:2rem}
}

@media (max-width:1199px){
  .header-primary__lang{padding-left:10px}
  .header-primary__lang a{margin:25px 0 0 0}
  .reservation .circle-list li:before{margin-top:-22px}
  .reservation .cta-box{margin-left:-50px}
}

@media (max-width:991px){
  .header-primary__lang a{margin-top:20px}

  .about-us .heading-section-box,
  .ofert .heading-section-box,
  .beach .heading-section-box,
  .reviews .heading-section-box{margin-bottom:28px}

  .heading-feature{margin-bottom:22px;padding-bottom:20px;font-size:2.3rem}
  .heading-feature:after{width:64px;height:13px}
  .primary-text p + p{margin-top:18px}
  .feature-row,.ofert .box-list{margin-top:56px}

  .photo-stack{max-width:560px;margin:36px auto 0 auto}
  .photo-single{max-width:480px;margin:36px auto 0 auto}

  .stats-strip{grid-template-columns:repeat(3,1fr);margin-top:40px}
  .stats-strip__item:nth-child(4):before{display:none}
  .stats-strip__item:nth-child(n+4){border-top:1px solid rgba(255,255,255,.15)}

  .amenities .col-lg-4{margin-top:44px}
  .icon-chips--single{grid-template-columns:repeat(2,1fr)}

  .promo-box__title{font-size:3.8rem}
  .promo .photo-single{margin-top:0}

  .gallery-more{display:none}

  .reviews-intro__text{font-size:1.8rem}

  .reservation .cta-box{margin:50px 0 0 0}
}

@media (max-width:767px){
  .equip-cards{row-gap:18px}
}

@media (max-width:575px){
  .header-primary__lang{gap:4px;padding-left:8px}
  .header-primary__lang a{margin-top:14px}

  .heading-feature{font-size:2.1rem}
  .primary-text p{text-align:left}
  .feature-row,.ofert .box-list{margin-top:48px}

  .photo-print{padding:8px 8px 0 8px}
  .photo-print:before{top:-10px;width:70px;height:22px}
  .photo-print figcaption{padding:8px 4px 10px 4px;font-size:2rem}
  .photo-print--portrait figcaption{font-size:1.8rem}
  .photo-stack--beach .photo-print:first-child{width:82%}
  .photo-stack--beach .photo-print--portrait{width:44%;margin-top:-30%}

  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .stats-strip__item:nth-child(3):before,
  .stats-strip__item:nth-child(5):before{display:none}
  .stats-strip__item:nth-child(4):before{display:block}
  .stats-strip__item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.15)}
  .stats-strip__item:last-child{grid-column:1 / -1}
  .stats-strip__item strong{font-size:3.2rem}

  .promo-box__title{font-size:3.2rem}

  .gallery__nav ul{flex-direction:column;gap:10px}
  .gallery__nav li{display:block}
}

@media (max-width:420px){
  .contact__logotypes img{height:50px}
  .icon-chips,.icon-chips--single{grid-template-columns:1fr}
}

/* adnotacja pod opiniami (wersje DE / EN) */
.reviews-note{margin:16px 0 0 0;font-size:1.3rem;font-style:italic;text-align:center;opacity:.6}
