/* =========================================================
   FILIP STUDIO — subpage: contact form (on top of polityka.css)
   ========================================================= */

.kf-layout{display:grid;grid-template-columns:minmax(0,62ch) minmax(220px,300px);gap:clamp(32px,6vw,110px);padding:clamp(40px,7vh,80px) var(--gutter) clamp(64px,10vh,120px)}
.kf__title{font-family:var(--display);font-weight:800;font-stretch:75%;text-transform:uppercase;font-size:clamp(30px,3.2vw,48px);line-height:.92;letter-spacing:-.01em}
.kf__req{margin-top:10px;font-size:14px;opacity:.75}
.kf__form{margin-top:clamp(20px,3.5vh,32px);display:grid;gap:18px}
.kf__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.kf__field{display:grid;gap:6px;align-content:start}
.kf__field label{font-weight:600;font-size:15px}
.kf__field label span[aria-hidden]{color:var(--brass)}
.kf__opt{font-weight:400;opacity:.7}
.kf__field input,.kf__field select,.kf__field textarea{width:100%;font:inherit;font-size:16px;color:var(--bone);background:rgba(237,230,218,.06);border:1px solid rgba(237,230,218,.32);border-radius:6px;padding:12px 14px;transition:border-color .25s,background .25s}
.kf__field textarea{resize:vertical;min-height:170px;line-height:1.5}
.kf__field select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),linear-gradient(135deg,var(--brass) 50%,transparent 50%);
  background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.kf__field select option{color:#1E1A16;background:#EDE6DA}
.kf__field input:hover,.kf__field select:hover,.kf__field textarea:hover{border-color:rgba(237,230,218,.55)}
.kf__field input:focus-visible,.kf__field select:focus-visible,.kf__field textarea:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-color:var(--brass);background:rgba(237,230,218,.09)}
.kf__field [aria-invalid="true"]{border-color:#FF8A80}
.kf__err{min-height:0;font-size:14px;color:#FFB4A9;line-height:1.4}
.kf__err:empty{display:none}
.kf__hint{font-size:14px;opacity:.7}
.kf__info{font-size:14px;line-height:1.55;opacity:.8;max-width:62ch}
.kf__info a,.kf-direct a,.kf-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brass) 70%,transparent);text-underline-offset:3px}
.kf__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px}
.kf-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;background:var(--crimson);color:var(--bone);font-weight:700;font-size:16px;text-decoration:none;transition:background .3s,transform .4s var(--ease-out)}
.kf-btn:hover{background:#B8121F}
.kf-btn:active{transform:scale(.98)}
.kf-btn[disabled]{opacity:.6;cursor:progress}
.kf__status{font-size:15px}
.kf__status.is-error{color:#FFB4A9}

/* honeypot: off screen, not display:none (some bots skip hidden fields) */
.kf__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.kf__done{margin-top:clamp(20px,3.5vh,32px);padding:24px 26px;border-left:3px solid var(--brass);background:color-mix(in srgb,var(--brass) 10%,transparent);border-radius:0 8px 8px 0;font-size:17px;line-height:1.55}
.kf__done:focus{outline:none}
.kf__done-title{font-family:var(--display);font-weight:800;font-stretch:75%;text-transform:uppercase;font-size:clamp(28px,3vw,40px);line-height:.95;margin-bottom:8px}
.kf__done .kf-link{display:inline-block;margin-top:12px;font-weight:600}

.kf-direct{align-self:start;position:sticky;top:96px}
.kf-direct dl{display:grid;gap:16px}
.kf-direct dt{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brass)}
.kf-direct dd{font-weight:600;font-size:17px;overflow-wrap:anywhere}

/* no-JS result page rendered by wyslij.php */
.kf-result{min-height:100vh;min-height:100svh}
.kf-result__title{font-size:clamp(44px,7vw,120px)}
.kf-result__list{margin:18px 0 0 1.2em;display:grid;gap:6px;max-width:60ch}
.kf-result__cta{margin-top:28px}

@media (max-width:900px){
  .kf-layout{grid-template-columns:minmax(0,1fr)}
  .kf-direct{position:static;padding:16px 18px;border:1px solid rgba(237,230,218,.14);border-radius:8px}
}
@media (max-width:600px){
  .kf__row{grid-template-columns:1fr}
  .kf-btn{width:100%;justify-content:center}
}
