/*
Theme Name: Coobit
Theme URI: https://www.coobit.pl
Author: Coobit Consulting Piotr Mikołajczyk
Description: Motyw strony www.coobit.pl. Identyfikacja wizualna Coobit (Cinzel, Montserrat, butelkowa zieleń i kość słoniowa), oferty nieruchomości, formularze kontaktowe.
Version: 1.4.14
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: coobit
Language: pl-PL
*/

/* ---------- czcionki marki (księga znaku v1.3): tylko Cinzel SemiBold, Montserrat Regular i SemiBold ---------- */
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/Cinzel-SemiBold.woff2) format('woff2'),url(assets/fonts/Cinzel-SemiBold.ttf) format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 500;font-display:swap;src:url(assets/fonts/Montserrat-Regular.woff2) format('woff2'),url(assets/fonts/Montserrat-Regular.ttf) format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600 800;font-display:swap;src:url(assets/fonts/Montserrat-SemiBold.woff2) format('woff2'),url(assets/fonts/Montserrat-SemiBold.ttf) format('truetype')}
html{font-synthesis:none}

:root{
  --green:#173A2F;
  --paper:#FBF9F4;
  --ivory:#F6F2E7;
  --sand:#EFE9DA;
  --text:#3E4F46;
  --soft:#5B6A62;
  --gold:#665A32;
  --line:rgba(23,58,47,.14);
  --line2:rgba(23,58,47,.28);
  --serif:'Cinzel', serif;
  --sans:'Montserrat', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(88px + env(safe-area-inset-top, 0px))}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--green);margin:0;letter-spacing:.01em}
a{color:inherit;text-decoration:none;cursor:pointer}
p{margin:0}
.tel{font-variant-numeric:oldstyle-nums;white-space:nowrap}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 48px}
@media(max-width:760px){.wrap{padding:0 24px}}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.hdr-inner{max-width:1180px;margin:0 auto;padding:0 48px;height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{flex-shrink:0;display:block;line-height:0}
.logo svg{--lw:220px;width:var(--lw);height:auto;display:block;margin-left:calc(var(--lw) * -.0809)}
nav.main{display:flex;align-items:center;gap:24px}
nav.main a{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--green);padding:8px 0;border-bottom:1px solid transparent;white-space:nowrap}
nav.main a:hover{border-bottom-color:var(--line2)}
nav.main a.active{border-bottom-color:var(--green)}
.hdr-right{display:flex;align-items:center;gap:24px;flex-shrink:0}
.phone-txt{font-size:15px;font-weight:500;color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 24px;border-radius:2px;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid var(--green);transition:background .2s,color .2s}
.btn-primary{background:var(--green);color:var(--ivory)}
.btn-primary:hover{background:#0F2A21}
.btn-outline{background:transparent;color:var(--green)}
.btn-outline:hover{background:var(--green);color:var(--ivory)}
.btn-primary-inv{background:var(--green);color:var(--ivory)}
.hdr-cta{height:42px;padding:0 24px;font-size:11.5px}
.link{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green);border-bottom:1px solid var(--green);padding-bottom:4px}
.burger{display:none;flex-direction:column;gap:8px;width:26px;background:none;border:none;padding:0;cursor:pointer}
.burger span{height:1.5px;background:var(--green);transition:transform .2s,opacity .2s}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media(max-width:1400px){.phone-txt{display:none}nav.main{gap:24px}}
@media(max-width:1200px){
  nav.main,.hdr-right{display:none}
  .burger{display:flex}
  .hdr-inner{padding:0 48px;height:72px}
  .logo svg{--lw:204px}
}

#mobileMenu{position:fixed;inset:0;background:var(--paper);z-index:100;display:none;flex-direction:column;padding:calc(18px + env(safe-area-inset-top,0px)) 22px calc(28px + env(safe-area-inset-bottom,0px));overflow-y:auto}
#mobileMenu.open{display:flex}
.mm-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.mm-top svg{--lw:204px;width:var(--lw);height:auto;display:block;margin-left:calc(var(--lw) * -.0809)}
.mm-close{background:none;border:none;color:var(--green);font-size:30px;line-height:1;cursor:pointer;padding:4px}
.mm-links{display:flex;flex-direction:column}
.mm-links a{padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:21px;color:var(--green)}
.mm-cta{margin-top:32px;height:52px}
.mm-phone{margin-top:16px;text-align:center;font-size:17px;font-weight:500;color:var(--green)}


/* ---------- podmenu ---------- */
.dd{position:relative;display:flex;align-items:center}
.dd>a::after{content:"";display:inline-block;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 0 4px 8px}
.dd-menu{position:absolute;top:100%;left:-18px;min-width:290px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 30px rgba(23,58,47,.08);padding:8px 0;display:none;flex-direction:column;z-index:60}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:flex}
nav.main .dd-menu a{padding:8px 16px;border:none;letter-spacing:.06em;text-transform:none;font-size:14px;white-space:normal}
nav.main .dd-menu a:hover,nav.main .dd-menu a.active{background:var(--ivory);border:none}
.mm-sub{display:flex;flex-direction:column;padding:4px 0 8px 16px;border-bottom:1px solid var(--line)}
.mm-links .mm-sub a{font-family:var(--sans);font-size:15.5px;padding:8px 0;border-bottom:none;color:var(--green)}
.mm-links a:has(+ .mm-sub){border-bottom:none}
.f-col a{display:inline-block}
.f-links a{display:block;padding:4px 0}
/* ---------- sekcje ---------- */
.band{padding:96px 0}
.band.ivory{background:var(--ivory)}
.band.sand{background:var(--sand)}
.band.tight{padding-top:0}
@media(max-width:760px){.band{padding:64px 0}}
.head-c{text-align:center;max-width:680px;margin:0 auto 64px}
.head-c h2{font-size:36px;line-height:1.25}
.head-c p{margin-top:16px;color:var(--soft);font-size:17px}
.kicker{display:block;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-bottom:16px}
@media(max-width:760px){.head-c{margin-bottom:48px}.head-c h2{font-size:27px}}

/* ---------- hero ---------- */
.hero{padding:96px 0 64px;text-align:center}
.hero h1{font-size:62px;line-height:1.14;letter-spacing:.015em}
.hero .lead{max-width:640px;margin:32px auto 0;font-size:18px;line-height:1.7;color:var(--soft)}
.hero .ctas{display:flex;justify-content:center;gap:16px;margin-top:48px;flex-wrap:wrap}
.hero .place{margin-top:24px;font-size:13px;letter-spacing:.06em;color:var(--gold);font-weight:600}
.panorama{display:block;width:100%;height:340px;object-fit:cover;object-position:60% 55%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22%);mask-image:linear-gradient(to bottom,transparent 0,#000 22%)}
@media(max-width:760px){
  .hero{padding:64px 0 48px}
  .hero h1{font-size:30px}
  .hero .lead{font-size:16px;margin-top:24px}
  .hero .ctas{flex-direction:column;align-items:stretch;margin-top:32px}
  .panorama{height:220px}
}

/* ---------- sprzedaż / zakup ---------- */
.split{display:grid;grid-template-columns:1fr 1fr}
.split > div{padding:0 64px}
.split > div:first-child{padding-left:0;border-right:1px solid var(--line)}
.split > div:last-child{padding-right:0}
.split h2{font-size:30px;line-height:1.3}
.split p.desc{margin-top:16px;color:var(--soft)}
.plain-list{list-style:none;margin:24px 0 32px;padding:0}
.plain-list li{padding:8px 0;border-top:1px solid var(--line)}
.plain-list li:last-child{border-bottom:1px solid var(--line)}
@media(max-width:860px){
  .split{grid-template-columns:1fr;gap:64px}
  .split > div{padding:0 !important;border:none !important}
  .split h2{font-size:25px}
}

/* ---------- oferty ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.card{display:flex;flex-direction:column;color:var(--text)}
.card .photo{aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:var(--sand)}
.card .photo svg{display:block;width:100%;height:100%;filter:saturate(.72) brightness(1.05);transition:transform .5s}
.card:hover .photo svg{transform:scale(1.03)}
.card .body{padding:24px 0 0;display:flex;flex-direction:column;gap:4px}
.chip{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.price{font-size:22px;font-weight:500;color:var(--green);font-variant-numeric:lining-nums}
.loc{font-size:16px;color:var(--text)}
.meta{display:flex;gap:16px;font-size:14px;color:var(--soft);margin-top:4px;flex-wrap:wrap}
.see-all-row{text-align:center;margin-top:64px}
@media(max-width:900px){.grid3{grid-template-columns:1fr;gap:48px}}

/* ---------- proces ---------- */
.process{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.process h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-bottom:24px}
.steps-line{list-style:none;margin:0;padding:0;position:relative}
.steps-line li{position:relative;padding:0 0 32px 64px}
.steps-line li:last-child{padding-bottom:0}
.steps-line li::before{content:"";position:absolute;left:23px;top:48px;bottom:0;width:1px;background:var(--line2)}
.steps-line li:last-child::before{display:none}
.steps-line .num{position:absolute;left:0;top:0;width:47px;height:47px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:var(--green);background:var(--ivory)}
.steps-line b{display:block;font-weight:600;color:var(--green);padding-top:8px}
.steps-line span.d{display:block;color:var(--soft);margin-top:4px}
@media(max-width:860px){.process{grid-template-columns:1fr;gap:64px}}

/* ---------- zakres usług ---------- */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px}
.svc{padding:24px 0 32px;border-top:1px solid var(--line)}
.svc b{display:block;font-weight:600;color:var(--green)}
.svc span{display:block;color:var(--soft);margin-top:8px;font-size:15px}
.partners{margin:64px auto 0;max-width:720px;text-align:center;color:var(--soft);font-size:17px}
.partners strong{font-weight:500;color:var(--green)}
@media(max-width:860px){.services{grid-template-columns:1fr}}

/* ---------- poradnik ---------- */
.posts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
@media(max-width:1100px){.posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}}
.post{border-top:1px solid var(--green);padding-top:24px}
.post .cat{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.post h3{font-family:var(--sans);font-weight:500;font-size:18px;line-height:1.45;margin-top:16px;letter-spacing:0}
.post p{margin-top:16px;color:var(--soft);font-size:15px}
@media(max-width:860px){.posts{grid-template-columns:1fr;gap:48px}}

/* ---------- doradca ---------- */
.advisor{display:grid;grid-template-columns:340px 1fr;gap:96px;align-items:center}
.hex-frame{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);overflow:hidden}
.portrait{width:100%;aspect-ratio:1/1.12;background:linear-gradient(160deg,#E4E3D6 0%,#C9CFC3 100%);display:flex;align-items:center;justify-content:center;text-align:center}
.portrait span{font-size:12.5px;letter-spacing:.06em;color:var(--soft);max-width:60%;line-height:1.5}
.advisor h2{font-size:40px;line-height:1.2}
.advisor .role{display:block;color:var(--soft);margin-top:8px}
.advisor .desc{margin-top:24px;font-size:18px;line-height:1.7;max-width:560px}
.advisor .contact{display:flex;align-items:center;gap:32px;margin-top:32px;flex-wrap:wrap}
.advisor .contact .num{display:block;font-size:17px;font-weight:500;color:var(--green)}
.advisor .contact .mail{display:block;font-size:15px;color:var(--soft)}
@media(max-width:860px){
  .advisor{grid-template-columns:1fr;gap:48px;text-align:center}
  .advisor .ph{max-width:240px;margin:0 auto}
  .advisor h2{font-size:30px}
  .advisor .desc{margin-left:auto;margin-right:auto;font-size:16px}
  .advisor .contact{justify-content:center;flex-direction:column;gap:16px}
}

/* ---------- kontakt ---------- */
.contact-band{text-align:center}
.contact-band h2{font-size:36px;line-height:1.25;max-width:720px;margin:0 auto}
.contact-band p{max-width:600px;margin:24px auto 0;color:var(--soft);font-size:17px}
.contact-band .ctas{display:flex;justify-content:center;gap:16px;margin-top:32px;flex-wrap:wrap}
.contact-band .mail{display:block;margin-top:24px;color:var(--soft);font-size:15px}
@media(max-width:760px){.contact-band h2{font-size:27px}.contact-band .ctas{flex-direction:column;align-items:stretch}}

/* ---------- stopka ---------- */
footer.site{background:var(--green);color:#D8D2C0;padding:64px 0 48px;font-size:14.5px;line-height:1.8}
.f-top{display:grid;grid-template-columns:1.1fr 1.2fr 1fr 1fr 1.2fr;gap:32px;align-items:start}
@media(max-width:1100px) and (min-width:861px){.f-top{grid-template-columns:1fr 1fr 1fr}}
.f-logo svg{--lw:220px;width:var(--lw);height:auto;display:block;margin-left:calc(var(--lw) * -.0809)}
.f-col b{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#C9BFA0;margin-bottom:8px}
.f-col a:hover{color:var(--ivory)}
.f-bottom{margin-top:64px;padding-top:24px;border-top:1px solid rgba(246,242,231,.16);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}
.footer-social{display:flex;gap:16px}
.soc{width:34px;height:34px;border-radius:50%;border:1px solid rgba(216,210,192,.35);display:flex;align-items:center;justify-content:center;color:#D8D2C0}
.soc:hover{border-color:#D8D2C0}
details.f-acc summary{display:block;list-style:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#C9BFA0;margin-bottom:8px;cursor:default}
details.f-acc summary::-webkit-details-marker{display:none}
@media(max-width:860px){
  footer.site{padding:40px 0 calc(88px + env(safe-area-inset-bottom,0px))}
  .f-top{grid-template-columns:1fr;gap:0}
  .f-logo{order:0;margin-bottom:24px}
  .f-logo svg{--lw:204px}
  .f-kontakt{order:1;padding-bottom:24px;margin-bottom:4px}
  .f-kontakt a{display:inline-block;padding:8px 0;font-size:16px}
  details.f-acc{order:2;border-top:1px solid rgba(246,242,231,.16)}
  details.f-acc summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:48px;margin-bottom:0}
  details.f-acc summary::after{content:'+';font-size:20px;font-weight:400}
  details.f-acc[open] summary::after{content:'\2013'}
  details.f-acc a{display:block;padding:8px 0}
  .f-firma{order:3;border-top:1px solid rgba(246,242,231,.16);padding-top:16px;font-size:13px;line-height:1.6}
  .f-firma b{margin-bottom:8px}
  .f-bottom{margin-top:24px;padding-top:16px;flex-direction:row;flex-wrap:wrap;justify-content:space-between}
}

/* ---------- mobilny pasek ---------- */
.mbar{display:none}
@media(max-width:980px){
  .mbar{display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(251,249,244,.97);border-top:1px solid var(--line);position:fixed;left:0;right:0;bottom:0;z-index:40}
  .mbar .btn{flex:1;height:48px}
}

/* ---------- lista ofert ---------- */
.page-head{padding:64px 0 8px}
.page-head h1{font-size:40px;line-height:1.2}
.page-head p{margin-top:16px;color:var(--soft);max-width:640px}
@media(max-width:760px){.page-head{padding:48px 0 4px}.page-head h1{font-size:29px}}
.toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:24px 0;flex-wrap:wrap;gap:16px;margin-top:24px}
.count{color:var(--soft)}
.count strong{color:var(--green);font-weight:500}
.sort{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--soft)}
select,.field input,.field select,.filters input,.sort select{font-family:var(--sans);color:var(--green);background:#fff;border:1px solid var(--line2);border-radius:2px}
.sort select{height:40px;padding:0 8px;font-size:14px}
.listings-body{display:flex;gap:64px;padding:48px 0 64px;align-items:flex-start}
.filters{flex:0 0 240px;display:flex;flex-direction:column;gap:24px;position:sticky;top:112px}
.filters .fgroup{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:24px}
.filters .fgroup:first-child{border-top:none;padding-top:0}
.filters .flabel{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.filters label.chk{display:flex;align-items:center;gap:8px;font-size:15px}
.filters input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}
.filters .range2{display:flex;gap:8px}
.filters .range2 input,.filters input:not([type]){width:100%;height:40px;padding:0 8px;font-size:14px}
.filters .btn{height:44px}
.grid-listings{flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;align-content:start}
@media(min-width:1180px){.grid-listings{grid-template-columns:repeat(3,minmax(0,1fr))}}
.filters-mobile-toggle{display:none;gap:8px;padding:16px 0 0}
.filters-mobile-toggle .btn{flex:1;height:42px;background:transparent;color:var(--green)}
@media(max-width:900px){.listings-body{flex-direction:column;padding-top:24px}.filters{display:none}.grid-listings{grid-template-columns:1fr}.filters-mobile-toggle{display:flex}}
.pagination{display:flex;justify-content:center;gap:8px;padding:8px 0 96px}
.pagination span{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;color:var(--green);border:1px solid transparent}
.pagination span.active{border-color:var(--green)}

/* ---------- karta oferty ---------- */
.crumbs{font-size:14px;color:var(--soft);padding:48px 0 0}
.offer-title{font-size:36px;line-height:1.25;padding:16px 0 0}
.offer-body{display:flex;gap:64px;padding:32px 0 96px;align-items:flex-start}
.offer-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.offer-main > h2{font-size:26px !important;margin-top:48px !important}
.offer-main > p{font-size:17px !important;color:var(--text) !important}
.offer-hero{aspect-ratio:16/9;border-radius:2px;overflow:hidden}
.offer-hero svg{display:block;width:100%;height:100%;filter:saturate(.72) brightness(1.05)}
.offer-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.oa-link,.oa-fav{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--soft);background:none;border:none;padding:0;cursor:pointer;font-family:var(--sans)}
.oa-link:hover,.oa-fav:hover{color:var(--green)}
.oa-fav .heart-ico{transition:transform .15s}
.oa-fav.active{color:#8E3A33}
.oa-fav.active .heart-ico{fill:#8E3A33;stroke:#8E3A33;transform:scale(1.12)}
.thumbs{display:flex;gap:16px}
.thumbs .t{flex:1;aspect-ratio:4/3;border-radius:2px;overflow:hidden;cursor:pointer;opacity:.6}
.thumbs .t svg{width:100%;height:100%;filter:saturate(.72)}
.thumbs .t.active{opacity:1;outline:1px solid var(--green);outline-offset:3px}
.detail-rows .row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.detail-rows .row span:first-child{color:var(--soft)}
.detail-rows .row span:last-child{color:var(--green);font-weight:500}
.offer-side{flex:0 0 340px;display:flex;flex-direction:column;gap:32px;position:sticky;top:112px}
.price-box{border-top:1px solid var(--green);padding-top:24px}
.price-box .p{font-size:34px;font-weight:500;color:var(--green)}
.price-box .pm{color:var(--soft)}
.agent-box{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line);padding-top:24px}
.agent-box .who{display:flex;gap:16px;align-items:center;margin-bottom:8px}
.agent-box .who .ph{width:78px;flex:0 0 78px}
.agent-box .who .ph .portrait span{display:none}
.agent-box .who .kicker{margin-bottom:4px}
.agent-box .who .name{display:block;font-family:var(--serif);font-size:20px;color:var(--green)}
.agent-box .who .role{font-size:14px;color:var(--soft)}
.agent-box .btn,.calc-result .btn{height:48px;white-space:nowrap;letter-spacing:.08em;padding:0 16px}
.agent-box .mail{text-align:center;font-size:14px;color:var(--soft)}
@media(max-width:900px){.offer-body{flex-direction:column;gap:48px}.offer-side{flex:1 1 auto;width:100%;position:static}.offer-title{font-size:26px}}

/* ---------- kalkulator ---------- */
.calc-card{border-top:1px solid var(--line);padding-top:32px}
.calc-inner{display:flex;gap:48px;align-items:flex-start}
.calc-inputs{flex:1;display:flex;flex-direction:column;gap:24px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.field input,.field select{height:50px;padding:0 16px;font-size:16px;width:100%}
.field input::placeholder{color:#8A8272}
.calc-result{flex:0 0 340px;background:var(--ivory);border-radius:2px;padding:32px;display:flex;flex-direction:column;gap:4px}
.calc-result .lbl{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.calc-result .amount{font-size:42px;font-weight:500;line-height:1.2;color:var(--green)}
.calc-result .rows{margin-top:16px}
.calc-result .rrow{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line);font-size:15px}
.calc-result .rrow span:first-child{color:var(--soft)}
.calc-result .rrow span:last-child{color:var(--green);font-weight:500}
.calc-result .note{font-size:15px;line-height:1.6;color:var(--text);margin-top:16px}
.calc-result .btn{margin-top:16px}
.rangewrap{display:flex;flex-direction:column;gap:16px}
.rangewrap .rw-head{display:flex;justify-content:space-between;align-items:baseline}
.rangewrap .rw-head .lbl{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.rangewrap .rw-head .val{font-size:16px;font-weight:500;color:var(--green)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--line2);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--paper);border:1.5px solid var(--green);cursor:pointer}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--paper);border:1.5px solid var(--green);cursor:pointer}
.disc{font-size:13.5px;line-height:1.6;color:var(--soft);margin-top:24px}
@media(max-width:900px){.calc-inner{flex-direction:column}.calc-result{width:100%;flex:1 1 auto}}
.notes3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:64px}
.notes3 .n{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:8px}
.notes3 .n b{font-weight:600;color:var(--green)}
.notes3 .n span{font-size:15px;color:var(--soft)}
@media(max-width:760px){.notes3{grid-template-columns:1fr;gap:24px}}

/* ---------- formularz wyceny ---------- */
.form-body{display:flex;gap:64px;padding:64px 0 96px;align-items:flex-start}
.form-main{flex:1;display:flex;flex-direction:column;gap:24px}
.form-main > h1{font-size:40px !important;line-height:1.2}
.form-main > p{font-size:17px !important;color:var(--soft) !important}
.form-card{border-top:1px solid var(--line);padding-top:32px;margin-top:16px;display:flex;flex-direction:column;gap:24px}
.chips-row{display:flex;gap:8px;flex-wrap:wrap}
.chip-btn{height:44px;padding:0 24px;border-radius:2px;font-size:15px;font-weight:500;border:1px solid var(--line2);background:transparent;cursor:pointer;font-family:var(--sans);color:var(--green)}
.chip-btn.sel{background:var(--green);color:var(--ivory);border-color:var(--green)}
.two-col{display:flex;gap:16px}
.two-col .field{flex:1}
.opt{font-weight:400;color:var(--soft);letter-spacing:0}
.consent{display:flex;gap:16px;align-items:flex-start;font-size:14px;line-height:1.6;color:var(--text)}
.consent input{margin-top:4px;accent-color:var(--green)}
.consent a{text-decoration:underline}
.form-submit{height:54px;align-self:flex-start;padding:0 32px}
.form-side{flex:0 0 340px;display:flex;flex-direction:column;gap:48px;padding-top:16px}
.steps{display:flex;flex-direction:column;gap:24px}
.steps h3{font-size:24px}
.step{display:flex;gap:16px}
.step .n{flex:0 0 38px;height:38px;border-radius:50%;border:1px solid var(--line2);color:var(--green);font-family:var(--serif);font-size:15px;display:flex;align-items:center;justify-content:center}
.step .t{font-weight:600;color:var(--green);display:block}
.step .d{font-size:15px;color:var(--soft)}
.thanks{display:none;flex-direction:column;gap:16px;align-items:flex-start;padding:32px 0}
.thanks.show{display:flex}
.form-card.hidden{display:none}
@media(max-width:900px){.form-body{flex-direction:column;gap:64px;padding-top:48px}.form-side{width:100%;flex:1 1 auto}.two-col{flex-direction:column}.form-main > h1{font-size:29px !important}.form-submit{align-self:stretch}}


.card .photo{position:relative}
.card .photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .5s}
.card:hover .photo img{transform:scale(1.03)}
.offer-hero{position:relative;aspect-ratio:4/3}
.offer-hero img{display:block;width:100%;height:100%;object-fit:cover}
.credit{position:absolute;left:10px;bottom:10px;font-size:11px;line-height:1;color:#fff;background:rgba(0,0,0,.5);padding:4px 8px;border-radius:2px}
.credit:empty{display:none}

.sub-hero{padding:96px 0 48px;text-align:center}
.sub-hero h1{font-size:46px;line-height:1.2}
.sub-hero .lead{max-width:660px;margin:24px auto 0;font-size:18px;color:var(--soft)}
.sub-hero .ctas{display:flex;justify-content:center;gap:16px;margin-top:32px;flex-wrap:wrap}
.band.slim{padding:96px 0}
.narrow{max-width:720px;margin:0 auto}
.faq-grid{max-width:820px;margin:0 auto}
details.faq{border-top:1px solid var(--line)}
details.faq:last-child{border-bottom:1px solid var(--line)}
details.faq summary{list-style:none;cursor:pointer;padding:24px 48px 24px 0;font-weight:500;color:var(--green);position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400}
details.faq[open] summary::after{content:"\2212"}
details.faq p{padding:0 48px 24px 0;color:var(--soft)}
.area{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:64px 0;border-top:1px solid var(--line);align-items:start}
.area h2{font-size:32px;line-height:1.25}
.area .txt p{margin-top:16px;color:var(--soft);max-width:460px}
.area .sub{display:block;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:14px;padding:8px 16px;border:1px solid var(--line2);border-radius:999px;color:var(--green)}
.company{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;max-width:1000px;margin:0 auto}
.company > div{border-top:1px solid var(--line);padding-top:16px}
.company b{display:block;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-bottom:8px}
.company span{color:var(--text);font-size:15px;line-height:1.6}
.company a:hover{text-decoration:underline}
.field textarea{font-family:var(--sans);font-size:16px;color:var(--green);background:#fff;border:1px solid var(--line2);border-radius:2px;padding:16px 16px;width:100%;resize:vertical;line-height:1.6}
.contact-list{display:flex;flex-direction:column}
.contact-list > div{border-top:1px solid var(--line);padding:16px 0}
.contact-list b{display:block;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-bottom:4px}
.contact-list a,.contact-list span{color:var(--green)}
.contact-list span{color:var(--text)}
.contact-list a:hover{text-decoration:underline}
@media(max-width:860px){
  .area{grid-template-columns:1fr;gap:24px;padding:48px 0}.area h2{font-size:26px}
  .company{grid-template-columns:1fr 1fr;gap:24px}
}
@media(max-width:760px){
  .sub-hero{padding:64px 0 24px}.sub-hero h1{font-size:30px}.sub-hero .lead{font-size:16px}
  .sub-hero .ctas{flex-direction:column;align-items:stretch}
  .band.slim{padding:64px 0}
  .company{grid-template-columns:1fr}
}
@media(max-width:1300px){nav.main{gap:24px}}
.page{display:none}
.page.active{display:block}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}
@media print{header.site,.mbar,footer.site{display:none}}


/* zdjęcia agenta — portret prostokątny, avatar okrągły */
.agent-portrait{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:2px}
.agent-avatar{display:block;width:78px;height:78px;border-radius:50%;overflow:hidden;border:2px solid var(--green);background:var(--ivory)}
.agent-avatar img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- sprzedaż działki, strona lokalna, pola działki w formularzu ---------- */
.services.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px}
.svc .lk{display:inline-block;margin:16px 24px 0 0;font-size:14px;font-weight:500;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.svc .lk:hover{text-decoration-thickness:2px}
.sub-lbl{display:block;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-bottom:16px}
.plot-fields{display:none;flex-direction:column;gap:24px}
.plot-fields.show{display:flex}
.chk-row{display:flex;flex-wrap:wrap;gap:16px 24px}
.chk-row label{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text);cursor:pointer}
.chk-row input{accent-color:var(--green);width:16px;height:16px;margin:0}
.src-note{max-width:820px;margin:0 auto;font-size:13.5px;line-height:1.6;color:var(--soft)}
@media(max-width:860px){.services.two{grid-template-columns:1fr}}
/* ---------- wariant A: pasek typów, menu mobilne, drobiazgi ---------- */
.type-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:24px 0 0}
.type-bar .tb-lbl{font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-right:8px}
.type-bar .tb-hint{font-size:13px;color:var(--soft);margin-left:8px}
.chip-multi{height:42px;padding:0 16px;border-radius:2px;font-size:15px;font-weight:500;border:1px solid var(--line2);background:transparent;cursor:pointer;font-family:var(--sans);color:var(--green)}
.chip-multi.sel{background:var(--green);color:var(--ivory);border-color:var(--green)}
.empty-state{grid-column:1/-1;padding:48px 0;color:var(--soft);max-width:560px}
.empty-state[hidden]{display:none}
.linkrow{display:flex;flex-wrap:wrap;gap:16px 32px}
#mobileMenu>*{flex-shrink:0}
@media(min-width:1201px){
  .logo svg{--lw:212px}
  nav.main{gap:16px}
  nav.main a{letter-spacing:.08em}
  .hdr-cta{padding:0 16px;letter-spacing:.08em;font-size:11px}
  .phone-txt{display:none}
}
@media(max-width:760px){.type-bar .tb-hint{flex-basis:100%;margin:0}.hdr-inner{padding:0 24px}}
.mm-group .mm-sub{display:none}
.mm-group.open .mm-sub{display:flex}
.mm-links .mm-row{display:flex;align-items:stretch;border-bottom:1px solid var(--line)}
.mm-links .mm-row a{flex:1;border-bottom:none}
.mm-group.open .mm-row{border-bottom:none}
.mm-tgl{flex:0 0 56px;background:none;border:none;cursor:pointer;color:var(--green);position:relative}
.mm-tgl::after{content:'+';font-size:26px;font-weight:300;line-height:1}
.mm-group.open .mm-tgl::after{content:'\2013'}
.btn .addr{text-transform:none;letter-spacing:.02em;font-weight:600}

/* ---------- intro Coobit ---------- */
.ci{position:fixed;inset:0;z-index:99999;background:#F6F2E7;display:grid;place-items:center;padding-inline:16px;transition:opacity .9s ease}
.ci.leave{opacity:0;pointer-events:none}
.ci.gone{display:none}
.ci-logo{display:block;height:auto;overflow:visible;width:min(calc(100vw - 32px),max(450px,50vw),640px,150vh);position:relative;top:-7vh}
.ci-p{fill:#173A2F;fill-rule:nonzero;opacity:0}
@keyframes ci-drop{from{opacity:0;transform:translateY(-70px)}60%{opacity:1}to{opacity:1;transform:none}}
@keyframes ci-blk{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ci.run .ci-band{animation:ci-drop .85s cubic-bezier(.3,1.35,.5,1) var(--d) both}
.ci.run .ci-blk{animation:ci-blk .9s cubic-bezier(.22,.8,.24,1) var(--d) both}
.ci-skip{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;font:500 12px/1 var(--sans,'Montserrat',sans-serif);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:rgba(23,58,47,.72);background:#F6F2E7;border:1px solid rgba(23,58,47,.4);padding:8px 16px;cursor:pointer}
.ci-skip:hover{color:#173A2F;border-color:#173A2F}
.ci-skip:focus-visible{outline:2px solid #173A2F;outline-offset:3px}
html.ci-lock,html.ci-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.ci{transition:none}.ci.run .ci-band,.ci.run .ci-blk{animation:none;opacity:1}}

/* ---------- wersja po rekomendacjach R1-R8 ---------- */
a.tl,a.tl2{font-size:14px;font-weight:500;color:var(--green);text-decoration:underline;text-underline-offset:3px;align-self:center;white-space:nowrap}
a.tl .tel,a.tl2 .tel{font-weight:600}
@media(max-width:860px){a.tl{display:none}.page:not(#page-offer) a.tl2{display:none}}
.xlinks{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;margin-top:32px}
.pick{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;max-width:900px;margin:48px auto 0;text-align:left}
.pk{border-top:1px solid var(--line2);padding:24px 0 16px}
.pk h3{font-size:26px;line-height:1.2}
.pk span{display:block;color:var(--soft);margin-top:8px;font-size:15px}
.pk .btn{margin-top:24px}
.pkl{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}
.pk .lk{font-size:14px;font-weight:500;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.pk .lk:hover{text-decoration-thickness:2px}
.costbox{margin-top:48px;padding:24px 32px;background:var(--ivory);border:1px solid var(--line)}
.costbox b{display:block;font-weight:600;color:var(--green)}
.costbox p{margin-top:8px;color:var(--soft);font-size:15px}
.chk{margin-top:24px}
@media(max-width:760px){.pick{grid-template-columns:1fr;max-width:none}.pk .btn{width:100%}}

/* ---------- wersja po uwagach U1-U39 ---------- */
/* strona główna: nagłówek ze zdjęciem + trzy filary */
.hero2{display:grid;grid-template-columns:1.18fr .82fr;min-height:640px;background:var(--paper)}
.hero2 .hl{padding:88px 56px 56px calc(max(0px,(100vw - 1180px)/2) + 40px);display:flex;flex-direction:column;justify-content:center}
.hero2 h1{font-size:56px;line-height:1.14;letter-spacing:.015em}
.hero2 .lead{margin-top:24px;font-size:18px;line-height:1.7;color:var(--soft);max-width:560px}
.hero2 .btns{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap}
.hero2 .btns .btn{min-width:200px}
.hero2 .hr{position:relative;overflow:hidden;background:var(--sand)}
.hero2 .hr img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.hero-pan{display:none}
.pillars3{border-top:1px solid var(--line)}
.pl3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding:32px 0 48px}
.pl3 b{display:block;font-family:var(--serif);font-weight:500;color:var(--green);font-size:15px;letter-spacing:.05em;text-transform:uppercase}
.pl3 span{display:block;margin-top:8px;font-size:14.5px;line-height:1.65;color:var(--soft)}
@media(max-width:860px){
  .hero2{grid-template-columns:1fr;min-height:0}
  .hero2 .hl{padding:48px 24px 32px;text-align:center;align-items:center}
  .hero2 h1{font-size:32px}
  .hero2 .lead{font-size:16px;margin-top:24px}
  .hero2 .hr{display:none}
  .hero2 .btns{flex-direction:column;width:100%;margin-top:32px}
  .hero2 .btns .btn{width:100%}
  .hero-pan{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover}
  .pl3{grid-template-columns:1fr;gap:0;padding:16px 0 8px}
  .pl3>div{border-top:1px solid var(--line);padding:16px 0}
  .pl3>div:first-child{border-top:none}
}
/* Jak pracujemy: portret + zakładki z pięcioma etapami */
.how{display:grid;grid-template-columns:320px minmax(0,1fr);gap:96px;align-items:start}
.how-p .name{display:block;margin-top:16px;font-family:var(--serif);font-size:24px;color:var(--green)}
.how-p .role{display:block;color:var(--soft);font-size:14.5px;margin-top:2px}
.how-p p{margin-top:16px;color:var(--text);font-size:15.5px;line-height:1.65}
.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:32px}
.tab-btn{background:none;border:none;border-bottom:2px solid transparent;margin:0 32px -1px 0;padding:8px 0 16px;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);cursor:pointer}
.tab-btn.on{color:var(--green);border-bottom-color:var(--green)}
.tab-pane{display:none}.tab-pane.on{display:block}
.how-t .link{display:inline-block;margin-top:32px}
@media(max-width:860px){.how{grid-template-columns:1fr;gap:48px}.how-p{max-width:300px;margin:0 auto;text-align:center}}
/* Jak pracujemy: strona szczegółowa */
.stg{display:grid;grid-template-columns:56px minmax(0,1.15fr) minmax(0,1fr);gap:0 32px;padding:32px 0;border-top:1px solid var(--line);align-items:start}
.stg:last-child{border-bottom:1px solid var(--line)}
.stg .num{width:47px;height:47px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px;color:var(--green)}
.stg h3{font-family:var(--sans);font-size:17px;font-weight:600;color:var(--green);letter-spacing:0;padding-top:8px}
.stg .tx{margin-top:8px;color:var(--soft);font-size:15.5px;line-height:1.65}
.stg .kv+.kv{margin-top:16px}
.stg .kv b{display:block;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--gold);padding-top:8px}
.stg .kv:not(:first-child) b{padding-top:0}
.stg .kv span{display:block;margin-top:2px;font-size:15px;line-height:1.6;color:var(--text)}
.dz-note{margin-top:24px;font-size:14.5px;color:var(--soft)}
@media(max-width:860px){.stg{grid-template-columns:44px minmax(0,1fr);gap:0 16px}.stg .kvs{grid-column:2;margin-top:16px}.stg .num{width:40px;height:40px;font-size:16px}}
/* zamknięcie strony */
.cline{margin-top:24px;font-size:15.5px;color:var(--soft)}
.cline a{color:var(--green)}
.cline a:hover{text-decoration:underline}
/* kafelki Sprzedaż / Zakup: przyciski na jednym poziomie */
@media(min-width:761px){.pick .pk{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;align-content:start}.pick .pk .btn{justify-self:start;align-self:start}.pick .pk .pkl{align-self:start}}
/* zdjęcie panoramiczne pod nagłówkiem */
.pano-sec{padding:0 0 8px}
.pano-img{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover;border-radius:2px}
/* stopka jasna */
footer.site{background:var(--paper);color:var(--text);padding:48px 0 24px;border-top:1px solid var(--line);font-size:14px;line-height:1.7}
@media(min-width:861px){.f-top{grid-template-columns:1.1fr 1fr 1.25fr 1fr;gap:32px}}
@media(max-width:1100px) and (min-width:861px){.f-top{gap:24px}}
.f-logo svg{--lw:188px}
.f-col b,details.f-acc summary{color:var(--gold)}
.f-col a:hover{color:var(--green);text-decoration:underline}
.f-bottom{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--soft);font-size:12.5px;line-height:1.6;gap:16px 24px}
.f-bottom a{text-decoration:underline;text-underline-offset:3px}
.soc{border-color:var(--line2);color:var(--green)}
.soc:hover{border-color:var(--green)}
.f-line a{display:inline}
.f-line{display:block;padding:2px 0}
@media(max-width:860px){
  footer.site{padding:32px 0 calc(88px + env(safe-area-inset-bottom,0px))}
  details.f-acc{border-top:1px solid var(--line)}
  .f-kontakt a{font-size:15px}
  .f-bottom{margin-top:16px}
}
/* formularze: dwie kolumny 7/12 i 5/12, pary pól na jednym poziomie */
.form-body{align-items:stretch;gap:64px}
.form-main{flex:7 1 0;min-width:0}
.form-side{flex:5 1 0;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding-top:0}
.form-main > .kicker{margin:0}
.form-card{border-top:none;padding-top:0;margin-top:0}
.form-main > h1{margin:8px 0 0 !important}
.form-main > p.fl{font-size:17px !important;color:var(--soft) !important;margin:0 !important}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 16px;align-items:start}
@supports (grid-template-rows:subgrid){.two-col .field{display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:8px}}
.field select{height:50px;padding:0 16px;font-size:16px;width:100%}
.opt-note{font-size:14px;color:var(--soft);margin:0}
.deliver{background:var(--ivory);padding:32px 32px;border:1px solid var(--line)}
.deliver h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.deliver ul{list-style:none;margin:8px 0 0;padding:0}
.deliver li{padding:16px 0;border-top:1px solid var(--line);color:var(--text);font-size:15px;line-height:1.55}
.deliver li:first-child{border-top:none}
.deliver li b{font-weight:600;color:var(--green)}
.form-side .contact-list{margin:0}
@media(max-width:900px){.two-col{grid-template-columns:1fr}.form-side{justify-content:flex-start}}
/* oferty: wyszukiwarka i pary pól */
.filters .range2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start}
.search-row{display:flex;gap:8px;align-items:stretch}
.search-row input{flex:1;min-width:0;width:100% !important;height:44px;padding:0 16px;font-size:14px;font-family:var(--sans);color:var(--green);background:#fff;border:1px solid var(--line2);border-radius:2px}
.search-row .btn{height:44px;padding:0 16px}
.msearch{display:none}
@media(max-width:900px){.msearch{display:flex;gap:8px;padding:16px 0 0}}
.more-row{grid-column:1/-1;text-align:center;padding-top:24px}
.more-row p{margin-top:16px;font-size:13.5px;color:var(--soft)}
/* kalkulator: pary pól */
.calc-pairs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.calc-pairs .field,.calc-pairs .rangewrap{min-width:0}
@media(max-width:760px){.calc-pairs{grid-template-columns:1fr;gap:24px}}

/* ---------- dodatki motywu WordPress ---------- */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100000;background:var(--green);color:#fff;padding:8px 16px;font-size:15px}
.skip-link:focus{left:8px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}
.hp-field{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-err{border-left:3px solid var(--gold);background:var(--sand);padding:16px 16px;font-size:15px;line-height:1.5;color:var(--green);margin:0}
html.ci-seen .ci{display:none}
.coobit-form .thanks:focus{outline:none}
.form-submit:disabled{opacity:.6;cursor:default}
.prose{font-size:17px;line-height:1.7;color:var(--text)}
.prose h2{font-size:26px;margin:32px 0 16px}
.prose h3{font-size:20px;margin:32px 0 8px}
.prose p,.prose ul,.prose ol{margin:0 0 1em}
.prose ul,.prose ol{padding-left:1.4em}
.prose a{text-decoration:underline}
.offer-desc{font-size:17px;line-height:1.65;color:#2F4A3F}
.offer-desc p{margin:0 0 1em}
.crumbs a:hover{text-decoration:underline}
.sort label{font:inherit}
@media(max-width:860px){.filters.open{display:flex !important;position:static;flex:none;width:100%}}

.filters .fgroup[hidden]{display:none}
.room-chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-room{min-width:40px;height:42px;padding:0 8px;border-radius:2px;font-size:15px;font-weight:500;border:1px solid var(--line2);background:transparent;cursor:pointer;font-family:var(--sans);color:var(--green)}
.chip-room.sel{background:var(--green);color:var(--ivory);border-color:var(--green)}
/* lżejszy wygląd tekstu (uwagi 1.11.2026), tylko w ramach marki: bez zmiany krojów i wag, mniejsze nagłówki, większy oddech, nieco jaśniejszy tekst (kontrast min. 6,3:1) */
:root{--text:#46574E}
h1,h2,h3{letter-spacing:.03em}
body{line-height:1.75}
@media(min-width:861px){
  .hero h1{font-size:56px}
  .hero2 h1{font-size:52px}
  .sub-hero h1{font-size:42px}
  .page-head h1,.form-main > h1,.advisor h2{font-size:36px !important}
  .head-c h2{font-size:32px}
  .sub-hero{padding-top:96px}
  .head-c{margin-bottom:64px}
}

/* galeria-oferty: zdjęcia i wizualizacje w jednej galerii (kafelki 4:3, a obraz w środku zachowuje własne proporcje (dzięki temu powiększenie nie ucina plakietki i napisu), podpisy ukryte, bo opis jest w tekście alternatywnym) */
body .wp-block-gallery.has-nested-images { gap: 8px; }
body .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) { width: calc((100% - 20px) / 3); flex: 0 0 auto; }
@media (max-width: 599px) { body .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) { width: calc((100% - 10px) / 2); } }
body .wp-block-gallery.has-nested-images figure.wp-block-image { aspect-ratio: 4 / 3; background: #F6F2E7; align-items: center; justify-content: center; overflow: hidden; }
body .wp-block-gallery.has-nested-images figure.wp-block-image img { width: auto; height: auto; max-width: 100%; max-height: 100%; }
body .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { display: none; }
body .wp-block-gallery.has-nested-images figure.wp-block-image::before { display: none !important; content: none !important; }

/* symbol-naglowki: symbol Coobit przed naglowkami opisu oferty (decyzja wlasciciela 3.11.2026) */
/* 1.4.6: znak Coobit przed nagłówkami w opisie oferty usunięty (decyzja 5.11.2026) */
/* 1.4.2: karta oferty (cena i powierzchnia w 1 linii), sortowanie przy rodzajach, blok "Co sprawdzamy", stopka oferty */
.card .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;font-size:20px}
.card .price .pa{font-size:13px;font-weight:400;color:var(--soft);white-space:nowrap}
.type-bar .sort{margin-left:16px}
.fhint{display:block;font-size:12.5px;line-height:1.5;color:var(--soft);margin-top:8px}
.check-box{display:flex;flex-direction:column;gap:16px;background:var(--green);color:var(--ivory);padding:32px 24px;border-radius:2px}
.check-box h3{font-family:var(--serif);font-size:20px;color:var(--ivory)}
.check-box p{margin:0;font-size:15px;line-height:1.6;color:#D8D2C0}
.check-box .btn{background:var(--ivory);color:var(--green);border-color:var(--ivory);margin-top:8px}
.check-box .btn:hover{background:transparent;color:var(--ivory)}
.offer-desc .offer-note{font-size:14px;line-height:1.6;color:var(--soft);margin-top:24px}
.offer-desc .wp-block-gallery{margin-left:0;margin-right:0}

/* 1.4.3: prawa kolumna oferty dopasowana do wysokości okna, dolny pasek na telefonach, sortowanie na telefonach */
.offer-side{top:96px}
.mbar{display:none}
@media(max-width:900px){
  .type-bar .sort{display:none}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--ivory);border-top:1px solid var(--line2)}
  .mbar .mp{font-size:18px;font-weight:500;color:var(--green);white-space:nowrap}
  .mbar .mb{display:flex;gap:8px}
  .mbar .btn{height:42px;padding:0 16px;font-size:11.5px;letter-spacing:.08em;white-space:nowrap}
  #page-offer{padding-bottom:64px}
}

/* 1.4.4: skala odstępów 4/8/16/24/32/48/64/96 px na stronie oferty; węższa kolumna agenta (300 px) i szersze zdjęcie; lżejsza kolumna agenta.
   Role: 8 = między liniami w jednym bloku; 16 = między elementami komponentu; 24 = wewnętrzny margines bloku; 32 = między blokami w kolumnie;
   48 = między sekcjami; 64 i 96 = między dużymi częściami strony. */
:root{--sp-1:4px;--sp-2:8px;--sp-3:16px;--sp-4:24px;--sp-5:32px;--sp-6:48px;--sp-7:64px;--sp-8:96px}
.crumbs{padding-top:var(--sp-5)}
.offer-title{padding-top:var(--sp-3)}
.offer-body{gap:var(--sp-6);padding:var(--sp-5) 0 var(--sp-8)}
.offer-main{gap:var(--sp-3)}
.offer-main > h2{margin-top:var(--sp-5) !important}
.offer-actions{gap:var(--sp-4)}
.detail-rows .row{padding:var(--sp-3) 0}
.offer-desc .offer-note{margin-top:var(--sp-4)}
.calc-card{padding-top:var(--sp-5)}
.calc-result{padding:var(--sp-5);gap:var(--sp-2)}
.calc-result .rrow{padding:var(--sp-2) 0}
.calc-result .note{margin-top:var(--sp-3)}
.disc{margin-top:var(--sp-4)}
@media(min-width:901px){.offer-side{flex:0 0 300px}}
.offer-side{gap:var(--sp-5)}
.price-box{padding-top:var(--sp-4)}
.agent-box{gap:var(--sp-3);padding-top:var(--sp-4)}
.agent-box .who{gap:var(--sp-3);margin-bottom:0}
.check-box{padding:var(--sp-4);gap:var(--sp-3)}
.check-box h3{font-size:14px;line-height:1.3}
.check-box .btn{margin-top:0}

/* 1.4.4: kolumna agenta przyklejona na laptopach i niskich oknach (3 poziomy wg wysokości okna: od 660 px pełna; 520-659 px zwarta; 460-519 px zwarta bez tekstu bloku; poniżej 460 px kolumna przewija się ze stroną) */
@media(min-width:901px) and (max-height:659px){
  .offer-side{gap:var(--sp-3)}
  .price-box{padding-top:var(--sp-3)}.price-box .p{font-size:30px;line-height:1.3}
  .agent-box{gap:var(--sp-2);padding-top:var(--sp-3)}
  .agent-box .who .ph{width:56px;flex:0 0 56px}.agent-box .who .ph .agent-avatar,.agent-box .who .ph img{width:56px;height:56px}
  .agent-box .btn{height:44px}
  .check-box{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2)}.check-box p{font-size:14px;line-height:1.5}.check-box .btn{height:40px}
}
@media(min-width:901px) and (max-height:519px){.check-box p{display:none}}
@media(min-width:901px) and (max-height:459px){.offer-side{position:static}}

/* 1.4.5 (zaakceptowane 5.11.2026): 1.1 kolory, 1.2 przyciski i linki, 1.3 menu */
/* 1.1 Kolory: trzy powierzchnie (zieleń, kość słoniowa, jaśniejsze tło główne); piaskowy i biel pól formularzy znikają */
:root{--paper:#FDFCF8;--sand:#F6F2E7}
header.site{background:rgba(253,252,248,.96)}
.mbar{background:rgba(253,252,248,.97)}
select,.field input,.field select,.filters input,.sort select,.field textarea,.search-row input{background:var(--paper)}
/* 1.2 Przyciski z ramką: po najechaniu kość słoniowa, nie zieleń; w sekcji kremowej jaśniejsze tło, żeby zmiana była widoczna */
.btn-outline:hover{background:var(--ivory);color:var(--green)}
.band.ivory .btn-outline:hover,.band.sand .btn-outline:hover{background:var(--paper)}
/* 1.2 Jeden styl linków tekstowych */
.link,.lk{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--green);border-bottom:0;text-decoration:underline;text-underline-offset:3px;padding-bottom:0}
.link:hover,.lk:hover{text-decoration-thickness:2px}
/* 1.3 Menu: podświetlenie pozycji po najechaniu, większe pole klikalne, obracająca się strzałka */
nav.main{gap:2px}
nav.main > a,nav.main .dd > a{padding:8px 8px}
nav.main a:hover{background:var(--ivory);border-bottom-color:var(--green)}
nav.main .dd-menu a:hover{background:var(--ivory)}
.dd:hover > a::after,.dd:focus-within > a::after{transform:rotate(225deg);margin-bottom:-2px}

/* 1.4.6 (zaakceptowane 5.11.2026): lista ofert */
.page-head p{max-width:none}
.type-bar .count{margin-left:auto;color:var(--soft)}
.type-bar .count strong{color:var(--green);font-weight:500}
@media(max-width:760px){.type-bar .count{margin-left:0;flex-basis:100%}}
.filters .fgroup:first-child .flabel{line-height:1;margin-top:-1px}

/* 1.4.6 (zaakceptowane 5.11.2026): Jak pracujemy, Działki, Obszary */
/* Jak pracujemy: jeden font i poziom napisów, jedna linia pod zakładkami */
.tabs{border-bottom:0;margin-bottom:0}
.stg h3,.stg .kv b{font-family:var(--sans);font-size:17px;font-weight:600;letter-spacing:0;color:var(--green);padding-top:8px;line-height:1.7}
.stg .kv span,.stg .tx{font-size:15.5px;line-height:1.65;color:var(--soft);margin-top:8px}
.stg .kv:not(:first-child) b{padding-top:8px}
/* Działki: gminy jako przyciski z ramką, linki w jednej kolumnie */
.btn-sm{height:42px;padding:0 24px}
.pkl{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.xlinks .btn-sm{white-space:nowrap}
/* Obszary: zdjęcie głównej oferty z danego obszaru */
.area-photo{display:block;width:100%;max-width:380px;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
.area-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* 1.4.7 (zaakceptowane 5.11.2026): 1.4 stopka, 1.5 odstępy, 4.1 kontakt */
/* 1.5 Odstępy: odstęp sekcji 96 px na komputerze, 64 px na telefonie (skala 4, 8, 16, 24, 32, 48, 64, 96) */
.band{padding:96px 0}
@media(max-width:760px){.band{padding:64px 0}}
/* 1.4 Stopka: znak na poziomie nagłówków kolumn, pierwsze pozycje w jednej linii, ten sam odstęp między pozycjami */
@media(min-width:861px){
  .f-logo svg{margin-top:-13px}
  .f-col a,.f-line,.f-kontakt a,.f-kontakt span{display:block;padding:4px 0;line-height:1.7}
  .f-kontakt br{display:none}
  .f-line a{display:inline;padding:0}
}
/* 4.1 Kontakt: równe pola „Temat”, lista konsultacji, dół boksu = dół pola „Wiadomość” (wysokość pola ustawia main.js) */
#kontaktTemat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#kontaktTemat .chip-btn{width:100%;text-align:center}
.konsult span{display:block;padding:2px 0}
.form-main > p.fl{white-space:nowrap}
@media(max-width:900px){.form-main > p.fl{white-space:normal}}
@media(min-width:901px){
  .form-body{align-items:flex-start}
  .form-side{align-self:flex-start;justify-content:flex-start}
}

/* 1.4.8 (uwagi z 5.11.2026, plik 3): stopka, kontakt, kalkulator */
/* Stopka: pozycje w jednej linii (komputer); kolumna Usługi dostosowana do najdłuższej pozycji */
@media(min-width:1101px){
  .f-top{grid-template-columns:1fr auto auto auto;gap:32px 48px}
  .f-links a,.f-line,.f-kontakt a,.f-kontakt span{white-space:nowrap}
}
/* Kontakt: jeden rozmiar danych kontaktowych */
.form-side .contact-list a,.form-side .contact-list span{font-size:16px;line-height:1.6}
/* Kalkulator: box wyniku i kolumna pól mają tę samą górną i dolną krawędź */
@media(min-width:901px){
  .calc-inner{align-items:stretch}
  .calc-inputs{justify-content:space-between}
}

/* 1.4.9 galeria oferty: rama 4:3, fragmenty sąsiednich zdjęć po bokach, pasek miniatur */
.og{--cw:62%;--ogap:8px;position:relative}
.og-stage{position:relative;overflow:hidden;aspect-ratio:100/46.5;background:var(--ivory);outline-offset:4px;touch-action:pan-y;user-select:none}
.og-track{display:flex;gap:var(--ogap);height:100%;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}
.og-slide{position:relative;flex:0 0 var(--cw);height:100%;overflow:hidden;background:var(--sand);opacity:.5;transition:opacity .3s;cursor:pointer}
.og-slide.on{opacity:1;cursor:zoom-in}
.og-slide img{position:relative;display:block;width:100%;height:100%;object-fit:cover}
.og-slide .og-bg{display:none;position:absolute;inset:-16px;background-size:cover;background-position:center;filter:blur(16px) brightness(.88)}
.og-slide.fit .og-bg{display:block}
.og-slide.fit img{object-fit:contain}
.og-arrow{position:absolute;top:50%;z-index:3;width:40px;height:40px;margin-top:-20px;padding:0;border:0;border-radius:50%;background:var(--ivory);color:var(--green);font:600 24px/38px var(--sans);text-align:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.og-arrow:disabled{opacity:.35;cursor:default}
.og-arrow:not(:disabled):hover{background:#fff}
.og-stage .og-prev{left:calc(50% - var(--cw) / 2 + 8px)}
.og-stage .og-next{right:calc(50% - var(--cw) / 2 + 8px)}
.og-count{position:absolute;z-index:3;right:calc(50% - var(--cw) / 2 + 8px);bottom:8px;background:var(--green);color:var(--ivory);font:600 12px/1 var(--sans);padding:4px 8px}
.og-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.og-thumb{position:relative;flex:0 0 88px;aspect-ratio:4/3;padding:0;border:0;background:var(--sand);cursor:pointer;opacity:.6;overflow:hidden}
.og-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.og-thumb.on{opacity:1;outline:3px solid var(--green);outline-offset:-3px}
.og-thumb:hover{opacity:1}
.og .credit{z-index:2}
html.og-on .offer-desc .wp-block-gallery{display:none}
html.og-lock{overflow:hidden}
.og-viewer{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;background:rgba(15,36,29,.96)}
.og-viewer.open{display:flex}
.og-viewer > img{max-width:92vw;max-height:88vh;object-fit:contain}
.og-viewer .og-prev{left:16px}.og-viewer .og-next{right:16px}
.og-viewer .og-count{right:auto;left:50%;bottom:16px;transform:translateX(-50%);background:transparent}
.og-v-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:var(--ivory);color:var(--green);font:600 24px/38px var(--sans);cursor:pointer}
@media (max-width:700px){
  .og{--cw:82%}
  .og-stage{aspect-ratio:100/61.5}
  .og-thumb{flex-basis:64px}
  .og-arrow{width:34px;height:34px;margin-top:-17px;font-size:20px;line-height:32px}
}
@media print{.og-thumbs,.og-arrow,.og-count{display:none}.og-slide{opacity:1}}

/* 1.4.10 (uwagi z 6.11.2026): zdjęcie wypełnia całą ramę nad miniaturami, jasny podgląd pełnoekranowy */
.og{--cw:100%;--ogap:0px}
.og-stage{aspect-ratio:4/3}
.og-slide,.og-slide.on{opacity:1}
.og-stage .og-prev{left:16px}
.og-stage .og-next{right:16px}
.og-stage .og-count{top:16px;right:16px;bottom:auto}
.og-slide .og-bg{filter:blur(18px) saturate(.8);opacity:.45}
.og-slide{background:var(--ivory)}
.og-viewer{background:var(--paper)}
.og-viewer .og-arrow,.og-v-close{background:#fff;border:1px solid var(--line2);box-shadow:none}
.og-viewer .og-count{background:transparent;color:var(--green)}
@media (max-width:700px){
  .og{--cw:100%}
  .og-stage{aspect-ratio:4/3}
  .og-stage .og-prev{left:8px}.og-stage .og-next{right:8px}
  .og-stage .og-count{top:8px;right:8px}
}

/* 1.4.11: podpis zdjęcia u góry po lewej, bo w lewym dolnym rogu jest znak Coobit */
.og .credit{top:16px;left:16px;bottom:auto}
@media (max-width:700px){.og .credit{top:8px;left:8px}}

/* 1.4.13: telefon: lista zdjęć na pełnym ekranie; komputer: rozmyte tło za powiększonym zdjęciem */
.og-viewer{overflow:hidden}.og-viewer::before{content:"";position:absolute;inset:-24px;background:var(--ogv) center/cover no-repeat;filter:blur(28px);opacity:.4}.og-viewer>img{position:relative}
.og-feed{position:fixed;inset:0;z-index:100000;display:none;overflow-y:auto;background:var(--paper);-webkit-overflow-scrolling:touch}.og-feed.open{display:block}
.og-feed-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top,0px));background:var(--paper);border-bottom:1px solid var(--line);font:600 13px/1 var(--sans);color:var(--green)}
.og-feed-close{border:1px solid var(--line2);background:#fff;color:var(--green);font:600 13px/1 var(--sans);padding:12px 16px;border-radius:24px;cursor:pointer}
@media(max-width:900px){.offer-main{width:100%}}
.og-feed-list{display:flex;flex-direction:column;gap:8px;padding-bottom:16px}.og-feed-list img{display:block;width:100%;height:auto}
