
:root{--cream:#fbf6ee;--paper:#fffdf9;--sage:#e7eee0;--sage2:#d7e1cf;--green:#5e7147;--green2:#71835a;--ink:#283225;--muted:#66705f;--line:rgba(94,113,71,.18);--shadow:0 24px 70px rgba(43,54,37,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}h1,h2,h3{font-family:'Fraunces',Georgia,serif;margin:0 0 18px;line-height:1.08;color:var(--green)}h1{font-size:clamp(46px,7.2vw,90px);letter-spacing:-.04em}h2{font-size:clamp(32px,4vw,48px);text-align:center}h3{font-size:23px;color:var(--green)}p{margin:0 0 14px}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 26px}.brand{display:flex;align-items:center;text-decoration:none;color:var(--green);gap:12px}.brand img{height:52px;width:auto}.brand strong{font-family:'Fraunces',Georgia,serif;font-size:30px;font-weight:650;line-height:.9}.brand small{display:block;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);font-weight:700}.menu{display:flex;align-items:center;gap:20px}.menu a{position:relative;text-decoration:none;color:#1f271d;font-weight:650;padding:10px 3px;transition:.25s ease}.menu a:before{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:center;transition:.25s ease}.menu a:hover,.menu a.active{color:var(--green);transform:translateY(-2px)}.menu a:hover:before,.menu a.active:before{transform:scaleX(1)}.nav-cta,.btn{border:1px solid var(--green);background:var(--green);color:white!important;text-decoration:none;border-radius:999px;padding:13px 25px;font-weight:850;text-transform:uppercase;font-size:13px;letter-spacing:.03em;box-shadow:0 12px 28px rgba(94,113,71,.2);transition:.25s}.nav-cta:hover,.btn:hover{transform:translateY(-3px);filter:brightness(1.05)}.btn.secondary{background:transparent;color:var(--green)!important;box-shadow:none}.hamb{display:none;border:0;background:var(--green);color:white;border-radius:13px;padding:10px 13px}.hero{position:relative;min-height:710px;overflow:hidden;background:#fbf6ee}.hero:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#fbf6ee 0%,#fbf6ee 33%,rgba(251,246,238,.88) 46%,rgba(251,246,238,.48) 60%,rgba(251,246,238,.08) 78%,rgba(251,246,238,0) 100%),radial-gradient(circle at 18% 25%,rgba(255,255,255,.92),rgba(255,255,255,.45) 28%,rgba(255,255,255,0) 54%),linear-gradient(180deg,rgba(255,255,255,.18),rgba(251,246,238,.08));pointer-events:none}.hero:after{content:'';position:absolute;inset:auto 0 0 0;height:190px;z-index:1;background:linear-gradient(180deg,rgba(251,246,238,0) 0%,rgba(251,246,238,.52) 50%,#edf3e7 100%);pointer-events:none}.leaf-bg{position:absolute;z-index:2;left:-30px;top:70px;width:170px;height:500px;opacity:.18;background:repeating-linear-gradient(120deg,transparent 0 28px,rgba(94,113,71,.7) 29px 31px,transparent 32px 60px);mask:linear-gradient(#000,transparent)}.hero-inner{position:relative;z-index:3;max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr .95fr;min-height:710px;align-items:center;padding:70px 26px 0}.hero-copy{position:relative;z-index:5;padding-bottom:40px}.hero-kicker{font-size:32px;color:var(--green);margin-bottom:6px}.lead{font-size:18px;max-width:520px;color:#4f594c}.cta{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px}.hero-photo{position:absolute;z-index:1;inset:0 0 0 auto;width:66%;display:block;pointer-events:none}.hero-photo:before{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#fbf6ee 0%,rgba(251,246,238,.94) 17%,rgba(251,246,238,.66) 34%,rgba(251,246,238,.18) 54%,rgba(251,246,238,0) 75%),linear-gradient(180deg,rgba(251,246,238,0) 66%,rgba(251,246,238,.28) 83%,#edf3e7 100%);pointer-events:none}.hero-photo img{position:absolute;right:0;bottom:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 43%;filter:saturate(1.03) contrast(1.02)}.features{background:linear-gradient(90deg,#edf3e7,#f9f4ea);padding:64px 26px}.features-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:35px;text-align:center}.feature-icon{font-size:42px;color:var(--green);line-height:1;margin-bottom:16px}.feature h3{font-family:'Inter',system-ui,sans-serif;font-size:20px;font-weight:760;margin-bottom:8px;color:var(--green)}.section{max-width:1180px;margin:auto;padding:58px 26px}.section.compact{padding-top:26px}.section-title:after{content:'';display:block;width:86px;height:2px;background:var(--green);margin:20px auto 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:42px}.card,.panel{background:#f6f1ea;border:1px solid rgba(94,113,71,.1);border-radius:14px;padding:32px;box-shadow:0 18px 45px rgba(43,54,37,.08);text-align:center;transition:.25s}.card:hover,.panel:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card .ico{font-size:36px;color:var(--green);margin-bottom:14px}.split{display:grid;grid-template-columns:0.75fr 1fr;gap:26px;align-items:start}.split .panel{text-align:left}.list{padding-left:20px;margin:0}.list li{margin:8px 0}.banner{margin-top:48px;border-radius:18px;background:linear-gradient(100deg,#f4eadf,#fbf7f0);padding:42px 52px;display:flex;align-items:center;justify-content:space-between;gap:25px;overflow:hidden;position:relative}.banner:before{content:'☘';position:absolute;left:28px;top:16px;font-size:90px;color:rgba(94,113,71,.12)}.banner div{position:relative;margin-left:150px}.banner h3{font-size:28px;margin-bottom:4px}.page-hero{background:linear-gradient(135deg,#f3eadf,#eef3e8);padding:58px 26px 30px;text-align:center}.page-hero p{max-width:760px;margin:0 auto;color:var(--muted);font-size:18px}.offer-grid,.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.price{display:flex;justify-content:space-between;gap:18px;border-bottom:1px dashed rgba(94,113,71,.24);padding:14px 0}.price b{white-space:nowrap;color:var(--green);font-size:20px}.contact-grid{display:grid;grid-template-columns:0.75fr 1fr;gap:26px}.form input,.form textarea{width:100%;border:1px solid #ddd3c6;background:white;border-radius:14px;padding:14px 16px;font:inherit;margin-bottom:12px}.form textarea{min-height:145px}.footer{background:linear-gradient(90deg,#83926f,#60704d);color:white;margin-top:48px}.footer .section{padding:42px 26px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}.footer a{color:white}.footer .brand{color:white}.footer .brand small{color:rgba(255,255,255,.78)}.footnote{background:rgba(0,0,0,.15);padding:12px 26px;font-size:12px}.fade{opacity:0;transform:translateY(20px);transition:.7s ease}.fade.show{opacity:1;transform:none}.pulse{animation:pulse .35s ease}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 0 0 9px rgba(94,113,71,.17)}}@media(max-width:900px){.hamb{display:block}.menu{position:absolute;left:20px;right:20px;top:78px;background:white;display:none;flex-direction:column;padding:18px;border-radius:18px;box-shadow:var(--shadow);gap:8px}.menu.open{display:flex}.nav-cta{display:none}.hero,.hero-inner{min-height:auto}.hero-inner{grid-template-columns:1fr;padding-top:42px}.hero-photo img{max-height:590px}.features-grid,.cards,.offer-grid,.price-grid,.contact-grid,.split,.footer-grid{grid-template-columns:1fr}.banner{display:block;padding:34px 28px}.banner div{margin-left:0}.brand strong{font-size:24px}h1{font-size:46px}}

@media(max-width:900px){.hero{min-height:auto}.hero:after{height:120px}.hero-inner{grid-template-columns:1fr;min-height:auto;padding-top:42px}.hero-photo{position:relative;width:100%;height:560px;inset:auto;margin-top:10px}.hero-photo:before{background:linear-gradient(180deg,#fbf6ee 0%,rgba(251,246,238,.15) 22%,rgba(251,246,238,0) 55%,#edf3e7 100%)}.hero-photo img{object-position:center center}.features-grid,.cards,.offer-grid,.price-grid,.contact-grid,.split,.footer-grid{grid-template-columns:1fr}.banner{display:block;padding:34px 28px}.banner div{margin-left:0}.brand strong{font-size:24px}h1{font-size:46px}.hamb{display:block}.menu{position:absolute;left:20px;right:20px;top:78px;background:white;display:none;flex-direction:column;padding:18px;border-radius:18px;box-shadow:var(--shadow);gap:8px}.menu.open{display:flex}.nav-cta{display:none}}


/* --- wersja interaktywna z nowym zdjęciem i miękkim gradientem --- */
.hero{isolation:isolate;background:linear-gradient(135deg,#fffaf1 0%,#f5eadc 42%,#e8f2df 100%)}
.hero:before{background:
  linear-gradient(90deg,#fbf6ee 0%,rgba(251,246,238,.98) 28%,rgba(251,246,238,.78) 45%,rgba(251,246,238,.30) 63%,rgba(251,246,238,0) 88%),
  radial-gradient(circle at 22% 22%,rgba(255,255,255,.96),rgba(255,255,255,.42) 30%,rgba(255,255,255,0) 57%),
  radial-gradient(circle at 72% 20%,rgba(255,197,90,.32),rgba(255,197,90,0) 34%)}
.hero-photo{width:68%;filter:drop-shadow(-18px 26px 55px rgba(57,72,45,.16))}
.hero-photo:before{background:
  linear-gradient(90deg,#fbf6ee 0%,rgba(251,246,238,.97) 14%,rgba(251,246,238,.76) 31%,rgba(251,246,238,.23) 54%,rgba(251,246,238,0) 78%),
  radial-gradient(circle at 84% 18%,rgba(255,190,71,.28),rgba(255,190,71,0) 34%),
  linear-gradient(180deg,rgba(251,246,238,0) 62%,rgba(237,243,231,.48) 85%,#edf3e7 100%)}
.hero-photo img{object-position:center 34%;transform:scale(1.035);transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .5s ease}
.hero:hover .hero-photo img{transform:scale(1.065)}
.glow{position:absolute;z-index:2;border-radius:999px;filter:blur(3px);pointer-events:none;mix-blend-mode:multiply;opacity:.58;animation:floaty 7s ease-in-out infinite}
.glow-one{right:14%;top:98px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,175,64,.38),rgba(255,175,64,0) 68%)}
.glow-two{right:37%;bottom:86px;width:160px;height:160px;background:radial-gradient(circle,rgba(94,113,71,.24),rgba(94,113,71,0) 70%);animation-delay:-2s}
@keyframes floaty{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-18px,0)}}
.scroll-cue{position:absolute;z-index:6;left:50%;bottom:24px;translate:-50% 0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,253,249,.76);border:1px solid rgba(94,113,71,.2);color:var(--green);text-decoration:none;font-weight:900;box-shadow:0 14px 32px rgba(43,54,37,.12);animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(7px)}}
.card,.feature,.panel,.banner{will-change:transform}.card:hover,.feature:hover{transform:translateY(-7px)}
.feature{border-radius:18px;padding:22px 18px;transition:.25s ease}.feature:hover{background:rgba(255,255,255,.46);box-shadow:0 16px 38px rgba(43,54,37,.08)}
.form button,.form .btn{cursor:pointer}
.toast{position:fixed;right:22px;bottom:22px;z-index:50;background:var(--green);color:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);transition:.25s ease}.toast.show{opacity:1;transform:none}
@media(max-width:900px){.hero-photo{width:100%;height:560px}.hero-photo img{object-position:center 32%;transform:scale(1.02)}.hero:hover .hero-photo img{transform:scale(1.03)}.glow-one{right:4%;top:44%}.scroll-cue{display:none}}

/* --- poprawka: zdjęcie tylko w prawej połowie, tekst bez nachodzenia --- */
@media (min-width:901px){
  .hero-inner{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    max-width:1180px;
  }
  .hero-copy{
    max-width:560px;
    padding-right:36px;
  }
  .hero-photo{
    left:50%;
    right:0;
    width:37.5%;
    inset:0 0 0 50%;
  }
  .hero-photo:before{
    background:
      linear-gradient(90deg,#fbf6ee 0%,rgba(251,246,238,.92) 8%,rgba(251,246,238,.58) 22%,rgba(251,246,238,.18) 42%,rgba(251,246,238,0) 68%),
      radial-gradient(circle at 84% 18%,rgba(255,190,71,.28),rgba(255,190,71,0) 34%),
      linear-gradient(180deg,rgba(251,246,238,0) 62%,rgba(237,243,231,.48) 85%,#edf3e7 100%);
  }
  .hero-photo img{
    object-position:center 34%;
    transform:scale(1.02);
  }
  .hero:hover .hero-photo img{
    transform:scale(1.045);
  }
  .hero:before{
    background:
      linear-gradient(90deg,#fbf6ee 0%,rgba(251,246,238,.99) 34%,rgba(251,246,238,.86) 49%,rgba(251,246,238,.30) 61%,rgba(251,246,238,0) 78%),
      radial-gradient(circle at 22% 22%,rgba(255,255,255,.96),rgba(255,255,255,.42) 30%,rgba(255,255,255,0) 57%),
      radial-gradient(circle at 72% 20%,rgba(255,197,90,.32),rgba(255,197,90,0) 34%);
  }
}

/* --- finalna korekta: całość bardziej centralnie, mniejsze zdjęcie i tekst, bez animacji zdjęcia --- */
@media (min-width:901px){
  .hero{
    min-height:640px;
  }
  .hero-inner{
    max-width:1040px;
    min-height:640px;
    grid-template-columns:minmax(0, .92fr) minmax(0, .78fr);
    transform:translateX(42px);
    padding-top:48px;
  }
  .hero-copy{
    max-width:430px;
    padding-right:20px;
    transform:scale(.75);
    transform-origin:center right;
  }
  .hero-copy h1{
    font-size:clamp(34px,5.2vw,68px);
  }
  .hero-kicker{
    font-size:24px;
  }
  .hero-copy .lead{
    font-size:16px;
    max-width:430px;
  }
  .hero-copy .cta{
    gap:14px;
    margin-top:24px;
  }
  .hero-photo{
    left:auto;
    right:7%;
    top:72px;
    bottom:56px;
    width:33%;
    height:auto;
    inset:72px 7% 56px auto;
    overflow:hidden;
    border-radius:28px;
    filter:drop-shadow(-14px 22px 42px rgba(57,72,45,.14));
  }
  .hero-photo img{
    width:100%;
    height:100%;
    transform:scale(1.01) !important;
    transition:none !important;
    object-position:center 34%;
  }
  .hero:hover .hero-photo img{
    transform:scale(1.01) !important;
  }
  .hero-photo:before{
    background:
      linear-gradient(90deg,#fbf6ee 0%,rgba(251,246,238,.90) 10%,rgba(251,246,238,.54) 27%,rgba(251,246,238,.14) 48%,rgba(251,246,238,0) 72%),
      radial-gradient(circle at 84% 18%,rgba(255,190,71,.24),rgba(255,190,71,0) 34%),
      linear-gradient(180deg,rgba(251,246,238,0) 62%,rgba(237,243,231,.42) 85%,#edf3e7 100%);
  }
  .hero:before{
    background:
      linear-gradient(90deg,#fbf6ee 0%,rgba(251,246,238,.99) 35%,rgba(251,246,238,.86) 50%,rgba(251,246,238,.36) 63%,rgba(251,246,238,0) 82%),
      radial-gradient(circle at 26% 24%,rgba(255,255,255,.96),rgba(255,255,255,.42) 30%,rgba(255,255,255,0) 57%),
      radial-gradient(circle at 72% 20%,rgba(255,197,90,.30),rgba(255,197,90,0) 34%);
  }
}

/* --- korekta: tekst wyżej, zdjęcie większe i bliżej tekstu, całość centralnie --- */
@media (min-width:901px){
  .hero{
    min-height:660px;
  }
  .hero-inner{
    max-width:1120px;
    min-height:660px;
    grid-template-columns:minmax(0, .92fr) minmax(0, .88fr);
    transform:translateX(18px);
    align-items:center;
    padding-top:34px;
  }
  .hero-copy{
    justify-self:end;
    max-width:455px;
    padding-right:6px;
    transform:translateY(-48px) scale(.75);
    transform-origin:center right;
  }
  .hero-photo{
    width:39.5%;
    inset:58px 8.5% 46px auto;
    border-radius:28px;
    filter:drop-shadow(-14px 22px 42px rgba(57,72,45,.14));
  }
  .hero-photo img,
  .hero:hover .hero-photo img{
    transform:scale(1.01) !important;
    transition:none !important;
    object-position:center 34%;
  }
}

/* v4 text lower */
.hero-text{margin-top:1.2rem!important;}
/* v5: text slightly higher */
.hero-text{margin-top:0.6rem!important;}

/* v6: move text 10px up */
.hero-text{transform:translateY(-10px)!important;}


/* v7: realne przesunięcie bloku tekstu do góry - niemal równo ze zdjęciem */
@media (min-width:901px){
  .hero-copy{
    transform:translateY(-125px) scale(.75) !important;
    transform-origin:center right !important;
  }
}


/* all-pages-menu-v1: wspólny układ menu/nagłówka/stopki jak na stronie głównej */
header, .header, .site-header, nav, .navbar {
  box-sizing: border-box;
}
.site-header, header {
  width: min(1180px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.site-header, header,
.navbar, nav {
  display: flex;
  align-items: center;
}
.site-header, header {
  justify-content: space-between;
}
nav ul, .nav-links, .menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(22px, 3vw, 48px) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
nav a, .nav-links a, .menu a {
  text-decoration: none;
}
.footer, footer {
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .site-header, header {
    width: min(100% - 28px, 1180px) !important;
  }
  nav ul, .nav-links, .menu {
    gap: 16px !important;
    flex-wrap: wrap !important;
  }
}


/* menu-fix-v2: menu jak na stronie głównej, bez nachodzenia na logo */
.topbar{
  width:100% !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.topbar .nav{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:14px 26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  flex-wrap:nowrap !important;
}
.topbar .brand{
  flex:0 0 auto !important;
  min-width:250px !important;
  max-width:270px !important;
  gap:12px !important;
  white-space:nowrap !important;
}
.topbar .brand img{
  height:52px !important;
  flex:0 0 auto !important;
}
.topbar .brand span{
  display:block !important;
  min-width:0 !important;
}
.topbar .menu{
  position:static !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.topbar .menu a{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  font-size:14px !important;
  padding:10px 2px !important;
}
.topbar .nav-cta{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  padding:12px 20px !important;
}
@media (max-width:1050px) and (min-width:901px){
  .topbar .nav{gap:12px !important;padding-left:18px !important;padding-right:18px !important;}
  .topbar .brand{min-width:220px !important;max-width:235px !important;}
  .topbar .brand strong{font-size:25px !important;}
  .topbar .brand small{font-size:9px !important;letter-spacing:.18em !important;}
  .topbar .menu{gap:12px !important;}
  .topbar .menu a{font-size:13px !important;}
  .topbar .nav-cta{padding:11px 16px !important;font-size:12px !important;}
}
@media (max-width:900px){
  .topbar .nav{max-width:100% !important;padding:14px 20px !important;}
  .topbar .brand{min-width:auto !important;max-width:none !important;}
  .topbar .menu{
    position:absolute !important;
    left:20px !important;
    right:20px !important;
    top:78px !important;
    display:none !important;
    flex-direction:column !important;
    padding:18px !important;
    background:white !important;
    border-radius:18px !important;
    box-shadow:var(--shadow) !important;
    gap:8px !important;
  }
  .topbar .menu.open{display:flex !important;}
}


/* subpage-headings-v2: mniejsze nagłówki na podstronach jak w hero "Poznajmy się" */
main > .page-hero h1,
main > .page-intro h1,
main > .section > h1 {
  font-size: clamp(36px, 4.2vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 16px !important;
}

@media (max-width: 900px) {
  main > .page-hero h1,
  main > .page-intro h1,
  main > .section > h1 {
    font-size: 38px !important;
  }
}




/* same-subpage-intro-v2: Cennik i Kontakt identycznie jak Oferta / Pierwsza wizyta */
main > .section.page-intro {
  max-width: 1180px !important;
  margin: auto !important;
  padding: 58px 26px !important;
  background: transparent !important;
  text-align: left !important;
}

main > .section.page-intro h1,
main > .section:not(.grid):not(.compact) > h1 {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(36px, 4.2vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  color: var(--green) !important;
  margin: 0 0 18px !important;
  text-align: left !important;
}

main > .section.page-intro .lead,
main > .section:not(.grid):not(.compact) > .lead {
  font-size: 18px !important;
  line-height: 1.65 !important;
  max-width: 520px !important;
  color: #4f594c !important;
  margin: 0 0 14px !important;
  text-align: left !important;
}

@media (max-width: 900px) {
  main > .section.page-intro h1,
  main > .section:not(.grid):not(.compact) > h1 {
    font-size: 38px !important;
  }
}


/* spacing-fix-v2 */
.page-intro,
.page-hero{
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}

.page-intro + section,
.page-hero + section,
main section:first-of-type + section{
  margin-top: -45px !important;
}

.section{
  padding-top: 24px !important;
}


/* logo-size-final: rzeczywiste powiększenie logo w nagłówku i stopce */
:root{
  --header-logo-size-final: 125px;
  --footer-logo-size-final: 200px;
}

header .site-logo,
header .header-logo,
header img[src*="logo-przejmij-ster"],
.site-header .site-logo,
.site-header img[src*="logo-przejmij-ster"],
.navbar img[src*="logo-przejmij-ster"]{
  width: var(--header-logo-size-final) !important;
  height: var(--header-logo-size-final) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
  border-radius: 50% !important;
  transform: none !important;
}

footer .site-logo,
footer .footer-logo-img,
footer img[src*="logo-przejmij-ster"],
.site-footer .site-logo,
.site-footer img[src*="logo-przejmij-ster"]{
  width: var(--footer-logo-size-final) !important;
  height: var(--footer-logo-size-final) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
  border-radius: 50% !important;
  transform: none !important;
}

header .logo,
header .brand,
header .navbar-brand,
.site-header .logo,
.site-header .brand{
  flex: 0 0 auto !important;
  min-width: var(--header-logo-size-final) !important;
}

footer .logo,
footer .footer-logo,
.site-footer .logo,
.site-footer .footer-logo{
  flex: 0 0 auto !important;
  min-width: var(--footer-logo-size-final) !important;
  min-height: var(--footer-logo-size-final) !important;
}

@media (max-width: 760px){
  :root{
    --header-logo-size-final: 105px;
    --footer-logo-size-final: 150px;
  }
}


/* cennik-accordion-v1 */
.pricing-wide{max-width:100%;text-align:left;padding:42px 46px;background:#f6f1ea}
.pricing-wide .section-title{text-align:left;margin-bottom:10px}
.pricing-wide .section-title:after{margin:18px 0 0}
.pricing-note{color:var(--muted);margin-bottom:28px}
.pricing-category{font-family:'Fraunces',Georgia,serif;color:var(--green);font-size:30px;margin:20px 0 18px}
.price-accordion{display:grid;gap:12px}
.price-item{background:rgba(255,253,249,.76);border:1px solid rgba(94,113,71,.16);border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(43,54,37,.06)}
.price-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 22px;font-weight:760;color:var(--ink);transition:.25s ease}
.price-item summary::-webkit-details-marker{display:none}
.price-item summary:after{content:'+';flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--green);font-size:22px;font-weight:700;transition:.25s ease}
.price-item[open] summary{background:#fffdf9;color:var(--green)}
.price-item[open] summary:after{content:'−';transform:rotate(180deg);background:var(--green);color:#fff}
.price-item summary b{white-space:nowrap;color:var(--green);font-size:20px;margin-left:auto}
.price-details{padding:2px 24px 22px;color:#4f594c;animation:accordionIn .24s ease}
.price-details p{margin:0 0 12px}
.price-details ul{margin:0 0 14px 20px;padding:0}
.price-details li{margin:6px 0}
@keyframes accordionIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:900px){.pricing-wide{padding:30px 22px}.price-item summary{align-items:flex-start;flex-wrap:wrap}.price-item summary b{margin-left:0}.price-item summary:after{margin-left:auto}}

/* pakiety-accordion-v1 */
.packages-wide{margin-top:28px;background:#fffaf4;}
.package-accordion .price-item summary span{font-weight:750;}

/* Cennik: widoczny od razu po wejściu na podstronę, bez oczekiwania na animację przewijania/myszkę */
.cennik-loaded{opacity:1!important;transform:none!important}


/* kontakt-google-map-v1 */
.map-box{margin-top:22px;border-radius:18px;overflow:hidden;background:#fffdf9;border:1px solid rgba(94,113,71,.18);box-shadow:0 14px 30px rgba(43,54,37,.08)}
.map-box iframe{display:block;width:100%;height:320px;border:0}
.map-expand{display:flex;align-items:center;justify-content:center;padding:13px 16px;background:var(--green);color:#fff!important;font-weight:750;text-decoration:none;transition:.22s ease}
.map-expand:hover{filter:brightness(.96);transform:translateY(-1px)}
@media(max-width:760px){.map-box iframe{height:260px}}

/* footer-contact-update-v1 */
.footer-grid{
  grid-template-columns: 1.25fr 1fr !important;
  align-items: center !important;
}
.footer-contact{
  text-align: left;
  justify-self: end;
  max-width: 460px;
}
.footer-contact b{
  display:block;
  font-family:'Fraunces', Georgia, serif;
  font-size:26px;
  letter-spacing:.04em;
  margin-bottom:12px;
}
.footer-person{
  margin:0 0 12px;
  font-weight:750;
  min-height:0;
  line-height:1.18;
  color:rgba(255,255,255,.95);
}
.footer-contact-list{
  display:grid;
  gap:10px;
  margin:0;
}
.footer-contact-row{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff !important;
  text-decoration:none;
  line-height:1.35;
}
.footer-contact-row:hover span:last-child{
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-icon{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.32);
  color:#fff;
  font-weight:850;
  font-family:'Inter',system-ui,sans-serif;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr !important;}
  .footer-contact{justify-self:start;max-width:100%;}
}


/* oferta-modern-accordion-v1 */
.offer-intro{text-align:center;padding-bottom:28px}.offer-intro .lead{margin:0 auto}.offer-accordion-section{padding-top:18px}.offer-list-modern{display:grid;gap:22px}.offer-modern-card{background:#f6f1ea;border:1px solid rgba(94,113,71,.13);border-radius:20px;overflow:hidden;box-shadow:0 18px 45px rgba(43,54,37,.08);transition:.25s ease}.offer-modern-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.offer-modern-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:260px 1fr;align-items:center;gap:28px;padding:0;position:relative}.offer-modern-card summary::-webkit-details-marker{display:none}.offer-modern-card summary:after{content:'+';position:absolute;right:28px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-size:28px;font-weight:400;line-height:1;box-shadow:0 10px 24px rgba(94,113,71,.2)}.offer-modern-card[open] summary:after{content:'−'}.offer-modern-card summary img{width:100%;height:190px;object-fit:cover;display:block}.offer-modern-card summary span{display:flex;flex-direction:column;padding:28px 88px 28px 0}.offer-modern-card summary small{font-size:13px;font-weight:850;letter-spacing:.18em;color:var(--green2);text-transform:uppercase;margin-bottom:7px}.offer-modern-card summary strong{font-family:'Fraunces',Georgia,serif;color:var(--green);font-size:clamp(27px,3vw,40px);line-height:1.05}.offer-modern-card summary em{font-style:normal;color:#4f594c;margin-top:8px;font-size:16px}.offer-modern-content{padding:0 42px 30px 288px;color:#4f594c;animation:accordionIn .25s ease}.offer-modern-content p{max-width:780px}.offer-modern-content b{color:var(--green)}@media(max-width:760px){.offer-modern-card summary{grid-template-columns:1fr;gap:0}.offer-modern-card summary img{height:210px}.offer-modern-card summary span{padding:24px 80px 24px 24px}.offer-modern-card summary:after{right:22px;top:auto;bottom:28px;transform:none}.offer-modern-content{padding:0 24px 26px}}

/* oferta-fix: karty bez ruchu i bez animacji rozwijania */
.offer-modern-card,
.offer-modern-card:hover{
  transform:none!important;
  transition:none!important;
}
.offer-modern-card:hover{
  box-shadow:0 18px 45px rgba(43,54,37,.08)!important;
}
.offer-modern-content{
  animation:none!important;
}


/* menu-search-v1: lupka i wyszukiwanie w menu */
.topbar .menu.search-active a{
  display:none !important;
}
.menu-search-toggle{
  border:0;
  background:transparent;
  color:var(--green);
  font-size:24px;
  line-height:1;
  width:38px;
  height:38px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.2s ease;
  flex:0 0 auto;
}
.menu-search-toggle:hover{
  background:rgba(94,113,71,.10);
  transform:translateY(-1px);
}
.menu-search-form{
  display:none;
  align-items:center;
  width:min(520px,100%);
  gap:8px;
  margin:0;
}
.topbar .menu.search-active .menu-search-form{
  display:flex !important;
}
.topbar .menu.search-active .menu-search-toggle{
  display:none !important;
}
.menu-search-form input{
  width:100%;
  border:1px solid rgba(94,113,71,.28);
  background:#fffdf9;
  border-radius:999px;
  padding:11px 18px;
  font:inherit;
  color:var(--ink);
  outline:none;
  box-shadow:0 10px 24px rgba(43,54,37,.08);
}
.menu-search-form input:focus{
  border-color:var(--green);
}
.menu-search-close{
  border:0;
  background:var(--green);
  color:#fff;
  width:34px;
  height:34px;
  border-radius:999px;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}
.search-highlight{
  background:rgba(218,183,92,.38);
  border-radius:4px;
  padding:0 2px;
}
@media(max-width:900px){
  .topbar .menu.search-active{align-items:stretch !important;}
  .topbar .menu.search-active .menu-search-form{width:100%;}
}


/* Darmowe materiały - Poznajmy się */
.free-materials-box{
  margin-top:28px;
  border-radius:18px;
  background:linear-gradient(100deg,#f4eadf,#fbf7f0);
  padding:42px 52px;
  overflow:hidden;
  position:relative;
  text-align:left;
}
.free-materials-head{
  display:block;
  margin-bottom:1.15rem;
  position:relative;
  z-index:1;
}
.free-materials-icon{
  position:absolute;
  left:28px;
  top:16px;
  width:auto;
  min-width:0;
  height:auto;
  background:transparent;
  font-size:90px;
  line-height:1;
  color:rgba(94,113,71,.14);
  transform:none;
}
.free-materials-head > div:not(.free-materials-icon){
  margin-left:150px;
  transform:translateY(-4px);
}
.free-materials-head h3{
  font-size:28px;
  margin:0 0 4px;
}
.free-materials-head p{
  margin:0;
  color:var(--muted);
}
.materials-accordion{
  display:grid;
  gap:.45rem;
  position:relative;
  z-index:1;
}
.material-item{
  border:1px solid rgba(76,96,70,.16);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  overflow:hidden;
}
.material-item summary{
  cursor:pointer;
  list-style:none;
  padding:.55rem .9rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  font-weight:750;
  min-height:0;
  line-height:1.18;
}
.material-item summary::-webkit-details-marker{display:none;}
.material-item summary:after{content:'+';font-size:1.4rem;line-height:1;}
.material-item[open] summary:after{content:'–';}
.material-content{
  padding:0 .9rem .75rem;
  color:var(--ink);
}
.download-btn{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-top:.2rem;
  padding:.55rem .9rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  background:var(--green);
  color:#fff;
}
.download-btn:before{content:'↓';font-weight:900;}
@media(max-width:900px){
  .free-materials-box{padding:34px 28px;}
  .free-materials-icon{left:20px;top:14px;font-size:64px;}
  .free-materials-head > div:not(.free-materials-icon){margin-left:0;padding-top:72px;transform:none;}
}

/* Korekta: niższe pozycje materiałów do pobrania */
.materials-accordion{gap:.45rem;}
.material-item{border-radius:14px;}
.material-item summary{padding:.55rem .9rem; min-height:0; line-height:1.18;}
.material-content{padding:0 .9rem .75rem;}
.download-btn{margin-top:.2rem; padding:.55rem .9rem;}


/* Fix free materials layout */
.free-materials-head{align-items:flex-start}
.free-materials-icon{margin-top:0}
.materials-accordion .material-item summary{
min-height:auto!important;
padding:12px 16px!important;
line-height:1.2!important;
}
.materials-accordion .material-item{
margin-bottom:8px!important;
}
.materials-accordion .material-item summary span{
display:block;
}

/* Final alignment for free materials: compact attachment boxes aligned with heading */
.free-materials-box .materials-accordion{
  margin-left:150px !important;
  width:calc(100% - 150px) !important;
  max-width:620px !important;
  gap:6px !important;
}
.free-materials-box .material-item{
  margin:0 0 6px 0 !important;
  border-radius:12px !important;
}
.free-materials-box .material-item summary{
  min-height:36px !important;
  height:auto !important;
  padding:8px 14px !important;
  line-height:1.15 !important;
  font-size:.95rem !important;
}
.free-materials-box .material-item summary:after{
  font-size:1.1rem !important;
}
.free-materials-box .material-content{
  padding:0 14px 10px !important;
}
@media(max-width:900px){
  .free-materials-box .materials-accordion{
    margin-left:0 !important;
    width:100% !important;
    max-width:none !important;
  }
}

/* Precyzyjne wyrównanie ikony materiałów pod koniczynką z boxu powyżej */
.free-materials-head .free-materials-icon{
  transform:translateX(-55px) !important;
}
@media(max-width:900px){
  .free-materials-head .free-materials-icon{
    transform:none !important;
  }
}

/* mobile-menu-fix-v3: tylko mobile — pasek menu mieści się w ekranie bez pomniejszania strony */
@media (max-width: 900px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .topbar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .topbar .nav {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  .topbar .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 50px) !important;
    margin: 0 !important;
    gap: 8px !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  .topbar .brand img {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    object-fit: cover !important;
  }

  .topbar .brand span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: block !important;
    overflow: hidden !important;
  }

  .topbar .brand strong {
    display: block !important;
    font-size: 22px !important;
    line-height: .95 !important;
    letter-spacing: -.02em !important;
    white-space: nowrap !important;
  }

  .topbar .brand small {
    display: block !important;
    font-size: 7.6px !important;
    line-height: 1.25 !important;
    letter-spacing: .15em !important;
    white-space: nowrap !important;
  }

  .topbar .hamb,
  .hamb {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    margin: 0 0 0 4px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    line-height: 1 !important;
    z-index: 30 !important;
  }

  .topbar .menu {
    position: absolute !important;
    left: 8px !important;
    right: 8px !important;
    top: calc(100% + 0px) !important;
    width: auto !important;
    max-width: none !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding: 16px !important;
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: var(--shadow) !important;
    gap: 6px !important;
    z-index: 40 !important;
  }

  .topbar .menu.open {
    display: flex !important;
  }

  .topbar .menu a,
  .topbar .menu-search-toggle {
    width: 100% !important;
    text-align: left !important;
  }

  .topbar .nav-cta {
    display: none !important;
  }
}

@media (max-width: 370px) {
  .topbar .nav { padding-left: 6px !important; padding-right: 6px !important; gap: 4px !important; }
  .topbar .brand { gap: 6px !important; max-width: calc(100% - 48px) !important; }
  .topbar .brand img { flex-basis: 40px !important; width: 40px !important; height: 40px !important; max-width: 40px !important; }
  .topbar .brand strong { font-size: 20px !important; }
  .topbar .brand small { font-size: 7px !important; letter-spacing: .13em !important; }
  .topbar .hamb, .hamb { flex-basis: 40px !important; width: 40px !important; height: 40px !important; min-width: 40px !important; max-width: 40px !important; margin-left: 2px !important; }
}

/* mobile-brand-size-v2: tylko telefon — większe logo i tekst, bez zmiany układu menu */
@media (max-width: 900px) {
  .topbar .brand img {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
  }

  .topbar .brand strong {
    font-size: 25px !important;
    line-height: .95 !important;
  }

  .topbar .brand small {
    font-size: 8.5px !important;
    line-height: 1.25 !important;
    letter-spacing: .15em !important;
  }
}

@media (max-width: 370px) {
  .topbar .brand img {
    flex-basis: 45px !important;
    width: 45px !important;
    height: 45px !important;
    max-width: 45px !important;
    max-height: 45px !important;
  }

  .topbar .brand strong {
    font-size: 22px !important;
  }

  .topbar .brand small {
    font-size: 7.6px !important;
    letter-spacing: .13em !important;
  }
}
