/* Kontakt B: wybór sprawy, proces i formularz na jednym otwarciu. */
.page-contact .contact-entry{padding-block:clamp(1.25rem,2vw,2rem)}
.contact-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}
.contact-heading h1{font-family:var(--font-head);font-size:clamp(2rem,4vw,3.5rem);line-height:1.15;letter-spacing:-.025em;margin:0}
.contact-heading p{font-size:.9rem;color:var(--slate);line-height:1.55;max-width:36ch;margin:0}
.contact-routing{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.contact-choice-side{min-width:0;background:var(--green-100);padding:1.5rem 1.75rem}
.contact-choices{padding:0;margin:0;border:0;min-width:0}
.contact-choices legend{font-size:.85rem;font-weight:600;margin-bottom:.75rem}
.contact-choice{display:grid;grid-template-columns:1.25rem minmax(0,1fr) 1.25rem;gap:.75rem;align-items:center;padding:.75rem 0;border-top:1px solid var(--slate-d);cursor:pointer;min-height:3rem}
.contact-choice input{appearance:none;width:1.125rem;height:1.125rem;margin:0;border:1px solid var(--slate);border-radius:50%;background:transparent}
.contact-choice input:checked{border:5px solid var(--accent-text);background:var(--white)}
.contact-choice:has(input:checked){color:var(--accent-text)}
.contact-choice strong{display:block;font-family:var(--font-head);font-size:1.3rem;font-weight:500;line-height:1.3}
.contact-choice small{display:block;font-size:.8rem;line-height:1.5;color:var(--slate);margin-top:.25rem}
.contact-choice>span:last-child{font-size:1.4rem}
.contact-choices:disabled .contact-choice{cursor:default}
.contact-direct{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--slate-d)}
.contact-direct p{font-size:.8rem;color:var(--slate);margin:0}
.contact-direct a{display:block;width:fit-content;padding:.5rem 0;font-size:.9rem;overflow-wrap:break-word;max-width:100%}
.contact-direct .contact-phone{font-family:var(--font-head);font-size:1.75rem;text-decoration:none;line-height:1.3}
.page-contact .contact-panel{grid-area:auto;align-self:stretch;border:0;border-radius:0;box-shadow:none;padding:1.5rem 2rem;min-width:0}
.contact-panel h2{font-family:var(--font-head);font-size:1.7rem;line-height:1.2;margin:0}
.contact-panel h2::after{display:none}
.contact-panel .contact-process{margin:.7rem 0 1rem;border-left:2px solid var(--accent);padding-left:1rem}
.contact-process h3{font:600 .85rem/1.5 var(--font-body);color:var(--slate);margin:0 0 .4rem}
.contact-process ol{padding-left:1.2rem;margin:0;font-size:.85rem;line-height:1.5}
.contact-process li{padding-left:.15rem;margin:.2rem 0}
.contact-process li::marker{color:var(--accent-text);font-weight:600}
.contact-process strong{color:var(--accent-text);font-size:.9rem}
.page-contact .contact-panel .field:not([hidden]){font-size:.9rem;margin-bottom:.8rem;gap:.3rem}
.contact-panel .field small{font-size:.75rem;color:var(--slate);font-weight:400}
.page-contact .contact-panel input,.page-contact .contact-panel textarea,.page-contact .contact-panel select{padding:.6rem .75rem;font-size:1rem;min-height:2.8rem}
.page-contact .contact-panel textarea{min-height:5rem}
.page-contact .contact-panel .row2{gap:1rem;align-items:start}
.contact-topic-context{font-size:.8rem;color:var(--slate);margin:0 0 .7rem}
.contact-honeypot{position:absolute;left:-9999px;top:auto}
.contact-send{width:100%;display:flex;justify-content:space-between;min-height:3.1rem}
.contact-privacy{font-size:.8rem;line-height:1.6;color:var(--slate);margin-top:.5rem}
.contact-privacy summary{cursor:pointer;padding:.5rem 0;min-height:2.75rem}
.contact-privacy p{margin:.25rem 0 .75rem}
.contact-reassurance{margin:.2rem 0 0;font-size:.8rem;color:var(--slate)}
.contact-field-error{font-size:.8rem;color:var(--error);line-height:1.5}
.page-contact .contact-panel input[aria-invalid=true]{border:2px solid var(--error)}
.contact-confirmed-topic{font-size:.9rem;color:var(--slate);margin-top:.75rem}
.contact-answer-time{margin:1.8rem 0;color:var(--accent-text);border-left:3px solid var(--accent);padding-left:1rem}
.contact-answer-time strong{font:500 2rem/1.35 var(--font-head)}
.contact-confirmation h3{font:600 1rem/1.4 var(--font-body)}
.contact-confirmation p,.contact-confirmation-steps{font-size:.9rem;line-height:1.7}
.contact-confirmation-steps{padding-left:1.3rem;margin:.75rem 0 1.2rem}
.contact-confirmation-steps li{margin-bottom:.5rem;padding-left:.2rem}
.contact-confirmation-direct{margin-top:1.5rem}
.page-contact [hidden]{display:none}
html:not(.js) [data-contact-routes],html.js [data-topic-fallback]{display:none}
@media(max-width:760px){.contact-heading{display:block}.contact-heading p{margin-top:.75rem;max-width:45ch}.contact-routing{grid-template-columns:minmax(0,1fr)}.contact-choice-side,.page-contact .contact-panel{padding:1.25rem}.contact-choice strong{font-size:1.2rem}.contact-direct{margin-top:.8rem;padding-top:.75rem}}
@media(max-width:380px){.contact-choice-side,.page-contact .contact-panel{padding:1rem}.contact-choice{gap:.5rem}.contact-direct a{font-size:.8rem}.contact-direct .contact-phone{font-size:1.55rem}}

.page-contact #contact-form{container:kontakt-formularz / inline-size}
@container kontakt-formularz (max-width:29.99rem){
.page-contact .contact-panel .row2{grid-template-columns:minmax(0,1fr);gap:0}
}

/* Schemat dojazdu: barwy i typografia z tokenów. */
.contact-map { font-family: var(--font-body); }
.map-fill-surface { fill: var(--map-surface); }
.map-stroke-road { stroke: var(--map-road); }
.map-stroke-road-secondary { stroke: var(--map-road-secondary); }
.map-fill-city { fill: var(--map-city); }
.map-fill-label { fill: var(--map-label); }
.map-fill-muted { fill: var(--map-muted); }
.map-fill-point { fill: var(--map-point); }
.map-fill-north { fill: var(--map-north); }
.map-stroke-north { stroke: var(--map-north); }
.map-fill-white { fill: var(--white); }

.contact-topic-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-height:44px}
.contact-topic-toggle[hidden]{display:none}
.contact-topic-toggle>span:last-child{text-decoration:underline;white-space:nowrap}
@media(max-width:760px){.contact-choice-side--compact .contact-direct{display:none}.contact-choices[hidden]{display:none}}

/* Przegląd właścicielski 15.10: zwarte otwarcie i widoczna droga do adresu. */
.contact-heading{flex-wrap:wrap;gap:.7rem 1.5rem;margin-bottom:1rem}
.contact-heading h1{font-size:clamp(1.9rem,3vw,2.6rem)}
.contact-heading p{padding:.65rem 1rem;border-left:3px solid var(--accent);background:var(--white);border-radius:0 .5rem .5rem 0}
.contact-choices legend{font-family:var(--font-head);font-size:1.2rem}
.page-contact .contact-panel{padding:1.2rem 1.6rem}
.contact-map{display:block;width:100%;height:clamp(18rem,32vw,27rem);border:0;border-radius:var(--r-lg)}
#dane-firmy{scroll-margin-top:7rem}
@media(max-width:760px){.contact-heading p{margin:.65rem 0}.dojazd__info{order:-1}.dojazd__btns{display:grid;gap:.6rem}.dojazd__btns .btn{width:100%;justify-content:center}.contact-choice{padding:.6rem 0}.contact-choice-side,.page-contact .contact-panel{padding:1rem}}

/* Mapa łączy się z Google dopiero po osobnym wyborze użytkownika. */
.map-embed__prompt{min-height:clamp(18rem,32vw,27rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem;padding:clamp(1.25rem,3vw,2.5rem);border:0;border-radius:var(--r-lg);background:var(--white)}
.map-embed__prompt h3,.map-embed__prompt p{margin:0}
.map-embed__prompt p{font-size:.9rem;line-height:1.65;max-width:50ch}
.map-embed__prompt .btn{white-space:normal;text-align:left}
.map-embed__close{margin-top:.75rem}
.map-embed [hidden]{display:none!important}
