/* =========================================================
   ZWIERZAK 5.6.7 — niezależny layout strony /kontakt/
   ========================================================= */
.contact-page{
    --contact-green:var(--green,#07813f);
    --contact-ink:var(--ink,#10251b);
    --contact-line:var(--line,#dce9e2);
    overflow:hidden;
    color:var(--contact-ink);
}
.contact-page .page-hero{
    padding:64px 0 58px;
    border-bottom:1px solid var(--contact-line);
    background:linear-gradient(135deg,#eef8f2,#fbfdfc);
}
.contact-page .breadcrumbs{margin-bottom:22px}
.contact-page .page-hero>div>p:not(.breadcrumbs),
.contact-page .page-hero .container>p{
    margin:0 0 10px;color:var(--contact-green);font-size:11px;font-weight:850;
    letter-spacing:.08em;text-transform:uppercase;
}
.contact-page .page-hero h1{
    max-width:920px;margin:0;font-size:clamp(40px,5vw,68px);line-height:1;
    letter-spacing:-.04em;overflow-wrap:anywhere;
}
.contact-page .page-hero__lead{max-width:760px;margin-top:18px}
.contact-page .page-hero__lead p{margin:0;color:#50645a;font-size:16px;line-height:1.65;text-transform:none;font-weight:500;letter-spacing:0}
.contact-page .page-content--complete{
    width:min(calc(100% - 32px),1240px);max-width:1240px;margin-inline:auto;
    padding-top:46px;padding-bottom:72px;
}
.contact-cards{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 28px;
}
.contact-cards>a{
    display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;align-items:center;
    min-width:0;min-height:120px;padding:20px;border:1px solid var(--contact-line);
    border-radius:18px;background:#fff;color:var(--contact-ink);text-decoration:none;
    box-shadow:0 12px 34px rgba(10,55,32,.06);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.contact-cards>a:hover,.contact-cards>a:focus-visible{
    outline:0;transform:translateY(-3px);border-color:#85c9a2;box-shadow:0 18px 42px rgba(10,95,48,.11);
}
.contact-cards>a>span{
    grid-row:1/4;display:grid;width:44px;height:44px;place-items:center;border-radius:13px;
    background:#eaf8f0;color:var(--contact-green);
}
.contact-cards>a>span svg{width:22px;height:22px}
.contact-cards small{min-width:0;color:#6d7c74;font-size:11px}
.contact-cards strong{min-width:0;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.contact-cards em{color:var(--contact-green);font-size:11px;font-style:normal;font-weight:800}
.contact-layout{
    display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
    gap:24px;align-items:start;
}
.contact-form-card,.contact-sidebar>section,.contact-map{
    min-width:0;border:1px solid var(--contact-line);border-radius:22px;background:#fff;
    box-shadow:0 16px 46px rgba(10,55,32,.06);
}
.contact-form-card{padding:34px}
.contact-form-card .eyebrow,.contact-sidebar .eyebrow,.contact-map .eyebrow{
    margin:0 0 8px;color:var(--contact-green);font-size:10px;font-weight:900;
    letter-spacing:.08em;text-transform:uppercase;
}
.contact-form-card h2,.contact-sidebar h2,.contact-map h2{
    margin:0;font-size:clamp(25px,3vw,38px);line-height:1.08;letter-spacing:-.025em;
}
.contact-form-card__intro,.contact-map p,.contact-sidebar section>p{
    color:#5b6f64;line-height:1.6;
}
.contact-form{
    position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:16px;margin-top:24px;
}
.contact-form__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;grid-column:1/-1}
.contact-form>label:not(.contact-form__honeypot),
.contact-form__row label{
    display:grid;min-width:0;gap:7px;color:#24372d;font-size:12px;font-weight:800;
}
.contact-form>label:has(textarea),.contact-form__consent,.contact-form>button,.contact-form__required,.form-message{grid-column:1/-1}
.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{
    box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:12px 14px;
    border:1px solid #cdded4;border-radius:12px;background:#fbfdfc;color:#17251e;
    font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{
    outline:0;border-color:#1a9b56;box-shadow:0 0 0 4px rgba(25,154,85,.12);background:#fff;
}
.contact-form__consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-weight:500!important;line-height:1.5}
.contact-form__consent input{flex:0 0 auto;margin-top:4px}
.contact-form__consent a{color:var(--contact-green)}
.contact-form>button{justify-self:start}
.contact-form__required{margin:0;color:#6d7c74;font-size:11px}
.contact-form__honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-message{padding:13px 15px;border-radius:12px;background:#eef9f3;color:#0d6d39}
.contact-sidebar{display:grid;min-width:0;gap:18px}
.contact-sidebar>section{padding:28px}
.contact-sidebar dl{display:grid;gap:13px;margin:22px 0}
.contact-sidebar dl>div{display:flex;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:1px solid #e5eee9}
.contact-sidebar dt{color:#52675c}
.contact-sidebar dd{margin:0;font-weight:850;text-align:right}
.urgent-card{background:linear-gradient(145deg,#11211d,#0d7040)!important;color:#fff}
.urgent-card .eyebrow,.urgent-card a{color:#9af0bd}
.urgent-card>span{display:grid;width:48px;height:48px;place-items:center;margin-bottom:18px;border-radius:14px;background:rgba(255,255,255,.1)}
.urgent-card>span svg{width:24px;height:24px}
.urgent-card h2{color:#fff}
.urgent-card>p{color:#e3f4e9!important}
.urgent-card>a{display:inline-block;margin-top:8px;font-size:25px;font-weight:900;text-decoration:none}
.contact-map{
    display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:30px;
    align-items:center;margin-top:24px;padding:28px;
}
.contact-map>a{position:relative;display:block;min-width:0;overflow:hidden;border-radius:16px}
.contact-map img{display:block;width:100%;height:310px;object-fit:cover}
.contact-map>a span{
    position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;
    padding:11px 15px;border-radius:999px;background:var(--contact-green);color:#fff;
    font-size:12px;font-weight:800;
}
.contact-map>a span svg{width:15px;height:15px}
.contact-page .zw-page-editor-content{max-width:none;margin-top:28px}

@media(max-width:1050px){
    .contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
    .contact-layout,.contact-map{grid-template-columns:1fr}
    .contact-map img{height:min(360px,52vw)}
}
@media(max-width:640px){
    .contact-page .page-hero{padding:42px 0 36px}
    .contact-page .page-hero h1{font-size:clamp(34px,10vw,48px)}
    .contact-page .page-hero__lead p{font-size:14px}
    .contact-page .page-content--complete{width:min(calc(100% - 24px),1240px);padding-top:28px;padding-bottom:50px}
    .contact-cards{grid-template-columns:1fr}
    .contact-cards>a{min-height:104px;padding:17px}
    .contact-form-card,.contact-sidebar>section,.contact-map{border-radius:17px}
    .contact-form-card{padding:22px}
    .contact-form,.contact-form__row{grid-template-columns:1fr}
    .contact-form__row>*{grid-column:1/-1}
    .contact-sidebar>section,.contact-map{padding:21px}
    .contact-sidebar dl>div{display:grid;gap:5px}
    .contact-sidebar dd{text-align:left}
    .contact-map img{height:260px}
}
@media(prefers-reduced-motion:reduce){.contact-cards>a{transition:none}}
