/* KERTS — premium single property · dark editorial #1E1E1E */
.kp{--kp-dark:#0C0A07;--kp-panel:#1E1E1E;--kp-cream:#F3EEE3;--kp-gold:#C6A15B;--kp-gold-d:#D9B978;--kp-mut:rgba(243,238,227,.68);font-family:'Jost',sans-serif;color:var(--kp-cream)}
.kp .kp-eyebrow{letter-spacing:.28em;text-transform:uppercase;font-size:12px;font-weight:400;color:var(--kp-gold);margin:0 0 14px}

/* Hero */
.kp-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;background:var(--kp-dark) center/cover no-repeat;isolation:isolate;animation:kpHero 1.6s cubic-bezier(.22,1,.36,1) both}
@keyframes kpHero{from{opacity:0}to{opacity:1}}
.kp-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,7,.3) 0%,rgba(12,10,7,.12) 40%,rgba(30,30,30,.96) 100%)}
.kp-hero-inner{position:relative;width:100%;max-width:1180px;margin:0 auto;padding:0 24px 64px;color:var(--kp-cream);animation:kpRise 1.1s .25s cubic-bezier(.22,1,.36,1) both}
@keyframes kpRise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.kp-title{font-size:clamp(34px,5vw,64px);font-weight:400;line-height:1.06;letter-spacing:-.015em;margin:0 0 10px;max-width:16em}
.kp-addr{margin:0 0 22px;font-weight:300;font-size:17px;color:var(--kp-mut)}
.kp-price-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.kp-price span{display:inline-block;border:1px solid var(--kp-gold);color:var(--kp-gold);padding:12px 26px;font-size:20px;letter-spacing:.06em;border-radius:2px;background:rgba(12,10,7,.45);backdrop-filter:blur(4px)}
.kp-ppm{font-weight:300;letter-spacing:.08em;color:var(--kp-mut)}

/* Facts — na tle #1E1E1E z Elementora */
.kp-facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:30px 40px}
.kp-fact{display:flex;flex-direction:column;gap:8px;padding-left:16px;border-left:1px solid var(--kp-gold)}
.kp-fact-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--kp-gold)}
.kp-fact-val{font-size:20px;font-weight:400;color:var(--kp-cream)}

/* Opis */
.kp-prose{font-weight:300;font-size:17px;line-height:1.85;color:rgba(243,238,227,.82);max-width:66ch}
.kp-prose p{margin:0 0 1.2em}
.kp-prose ul{margin:0 0 1.2em;padding-left:1.1em}
.kp-prose li{margin:0 0 .45em}
.kp-prose li::marker{color:var(--kp-gold)}
.kp-prose h3,.kp-prose h4{color:var(--kp-cream);font-weight:400;letter-spacing:-.01em;margin:1.6em 0 .6em}
.kp-prose p:first-child::first-letter{initial-letter:2;-webkit-initial-letter:2;color:var(--kp-gold);padding-right:.12em;font-weight:400}

/* Galeria — siatka */
.kp-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.kp-gal-item{display:block;overflow:hidden;border-radius:3px;aspect-ratio:4/3;cursor:zoom-in}
.kp-gal-item img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform 1s cubic-bezier(.22,1,.36,1),filter 1s}
.kp-gal-item:hover img{transform:scale(1.06);filter:brightness(1.08)}
.kp-gal-grid .kp-gal-item:first-child{grid-column:span 2;aspect-ratio:16/8}

/* Lightbox */
.kp-lb{position:fixed;inset:0;z-index:99999;background:rgba(12,10,7,.94);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .35s;backdrop-filter:blur(6px)}
.kp-lb.kp-lb-on{opacity:1}
.kp-lb img{max-width:88vw;max-height:86vh;object-fit:contain;border-radius:3px;box-shadow:0 30px 80px rgba(0,0,0,.6);transition:opacity .3s}
.kp-lb-btn{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid rgba(198,161,91,.6);color:var(--kp-gold,#C6A15B);width:52px;height:52px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;transition:background .3s,border-color .3s}
.kp-lb-btn:hover{background:rgba(198,161,91,.15);border-color:#C6A15B}
.kp-lb-prev{left:26px}.kp-lb-next{right:26px}
.kp-lb-close{position:absolute;top:22px;right:26px;background:none;border:0;color:#F3EEE3;font-size:34px;cursor:pointer;line-height:1;opacity:.8}
.kp-lb-close:hover{opacity:1}
.kp-lb-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(243,238,227,.6);letter-spacing:.2em;font-size:13px;font-family:'Jost',sans-serif}

/* Mapa */
.kp-map-frame{border:1px solid var(--kp-gold);border-radius:14px;overflow:hidden;filter:saturate(.65)}
.kp-map-frame iframe{display:block;width:100%;height:440px;border:0}
.kp-map-addr{margin:16px 0 0;font-weight:300;color:var(--kp-gold);letter-spacing:.04em}

/* Kontakt */
.kp-contact-grid{display:grid;grid-template-columns:5fr 6fr;gap:70px;align-items:center}
.kp-contact-h{font-size:clamp(30px,3.6vw,48px);font-weight:400;margin:0 0 16px;letter-spacing:-.01em;color:var(--kp-cream)}
.kp-contact-h i{font-style:italic;color:var(--kp-gold)}
.kp-contact-sub{font-weight:300;color:var(--kp-mut);margin:0}
.kp-contact-form{background:rgba(243,238,227,.04);border:1px solid rgba(198,161,91,.45);border-radius:14px;padding:36px}
.kp-contact-form .wpforms-field input,.kp-contact-form .wpforms-field textarea,.kp-contact-form .wpforms-field select{background:rgba(243,238,227,.06)!important;border:1px solid rgba(198,161,91,.35)!important;color:var(--kp-cream)!important;border-radius:3px!important;transition:border-color .4s}
.kp-contact-form .wpforms-field input:focus,.kp-contact-form .wpforms-field textarea:focus{border-color:var(--kp-gold)!important;outline:none}
.kp-contact-form .wpforms-field-label,.kp-contact-form label{color:var(--kp-cream)!important;font-weight:300!important}
.kp-contact-form ::placeholder{color:rgba(243,238,227,.4)}
.kp-contact-form .wpforms-submit,.kp-contact-form button[type=submit]{background:var(--kp-gold)!important;color:#0C0A07!important;border:1px solid var(--kp-gold)!important;letter-spacing:.14em;text-transform:uppercase;font-size:13px;padding:15px 34px!important;border-radius:2px!important;transition:background .4s,color .4s,transform .4s}
.kp-contact-form .wpforms-submit:hover{background:transparent!important;color:var(--kp-gold)!important;transform:translateY(-2px)}

@media(max-width:900px){.kp-contact-grid{grid-template-columns:1fr;gap:34px}.kp-hero{min-height:64vh}.kp-gal-grid .kp-gal-item:first-child{grid-column:span 1;aspect-ratio:4/3}.kp-lb-prev{left:10px}.kp-lb-next{right:10px}}
@media(prefers-reduced-motion:reduce){.kp-hero,.kp-hero-inner{animation:none}.kp-gal-item img,.kp-lb{transition:none}}
