/* Contact layout: reuse the site's Inter typography, outlined fields and colours. */
section.contact.contact-refined{--contact-column-gap:clamp(40px,7vw,110px);padding-bottom:48px}
@media(min-width:991px){section.contact-refined>.container{max-width:80%}}
@media(min-width:1537px){section.contact-refined>.container{max-width:90%}}
section.contact-refined .title{margin-bottom:38px}
section.contact-refined .title h1{line-height:1.3}
.contact-refined .contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"form details" "feedback .";gap:16px var(--contact-column-gap);align-items:stretch;padding-bottom:36px}
.contact-refined form.primary{grid-area:form;display:flex;flex-direction:column;min-width:0}
.contact-refined form.primary .input-wrap{flex-shrink:0;padding:12px 0}
.contact-refined form.primary .contact-message{display:flex;flex-direction:column;flex:1}
.contact-refined form.primary .contact-message textarea{flex:1;height:auto}
.contact-refined form.primary label.label{top:12px;font-size:12px}
.contact-refined form.primary input:not([type=checkbox]):not([type=hidden]),.contact-refined form.primary textarea{height:56px;font-family:inherit;font-size:16px}
.contact-refined form.primary textarea{height:148px;min-height:148px;padding-top:16px;resize:vertical}
.contact-refined .input-file{height:76px;background:rgba(0,0,0,.035)}
.contact-refined .input-file .text p{font-size:16px}
.contact-refined .input-file .text span{font-size:12px}
.contact-refined .checkbox{min-height:44px;padding:10px 0}
.contact-refined .checkbox label{min-height:24px}
.contact-refined .checkbox label span.label{font-size:14px;line-height:1.6}
section.contact-refined .contact-submit{margin:24px 0 0}
.contact-refined .contact-submit button[type=submit]{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;min-height:54px;padding:15px 20px;background:#2b2626;color:#fff;font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.13em}
.contact-refined .contact-submit button[type=submit]:after{display:none}
.contact-refined .contact-submit button[type=submit]:hover{background:#45403c}
.contact-refined .contact-submit button[type=submit]:disabled{opacity:.65;cursor:wait}
.contact-refined .contact-form-feedback{grid-area:feedback;min-width:0}
.contact-refined .contact-form-feedback .recaptcha-notice{font-size:12px;line-height:1.6;margin:0}
.contact-refined .contact-form-feedback>[role=status]{font-size:14px;line-height:1.6;margin:18px 0 0}
.contact-refined .contact-form-feedback>[role=status]:empty{display:none}
.contact-refined .contact-arrow{font-size:22px;line-height:1;font-weight:400;letter-spacing:0}
.contact-refined .contact-details{grid-area:details;display:flex;flex-direction:column;min-width:0}
.contact-refined .contact-photo{margin:12px 0 28px}
.contact-refined .contact-photo img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover;object-position:50% 55%}
.contact-refined .contact-eyebrow{font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:#686460;margin:0 0 10px}
.contact-refined .contact-direct{padding-bottom:23px;margin-bottom:24px;border-bottom:1px solid #cfcdca}
.contact-refined .contact-direct a{display:flex;align-items:center;width:fit-content;max-width:100%;text-decoration:none}
.contact-refined .contact-direct a:hover{text-decoration:underline}
.contact-refined .contact-phone{gap:18px;min-height:44px;font-size:clamp(22px,2vw,28px);line-height:1.4;letter-spacing:-.02em;white-space:nowrap}
.contact-refined .contact-email{min-height:44px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.contact-refined .contact-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:end;margin-top:auto}
.contact-refined .contact-location{display:flex;flex-direction:column;align-items:flex-start}
.contact-refined .contact-company{font-size:18px;line-height:1.5;margin:0 0 8px}
.contact-refined address{font-style:normal;font-size:14px;line-height:1.8;color:#686460;margin:0}
.contact-refined .contact-map-link{display:inline-flex;gap:12px;align-items:center;max-width:100%;min-height:44px;margin-top:8px;padding-block:6px;border-bottom:1px solid rgba(0,0,0,.4);font-size:13px;line-height:1.5;text-decoration:none}
.contact-refined .contact-map-link:hover{text-decoration:underline}
.contact-refined .contact-billing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--contact-column-gap);padding:27px 0 0;border-top:1px solid #cfcdca;align-items:start}
.contact-refined .contact-billing-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0}
.contact-refined .contact-billing-company p{font-size:18px;line-height:1.5;margin:0}
.contact-refined .contact-billing dl{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:10px;font-size:14px;line-height:1.8;margin:0}
.contact-refined .contact-billing dl div{display:contents}
.contact-refined .contact-billing dt{color:#686460;font-weight:400}
.contact-refined .contact-billing dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.contact-refined :is(input,textarea,button,a):focus-visible{outline:2px solid #2b2626;outline-offset:4px}
.contact-refined .checkbox input:focus-visible+.check{outline:2px solid #2b2626;outline-offset:4px}
@media(max-width:1050px) and (min-width:768px){.contact-refined .contact-locations,.contact-refined .contact-billing-details{grid-template-columns:1fr}}
@media(max-width:767px){section.contact.contact-refined{padding-bottom:36px}section.contact-refined .title h1{font-size:30px}.contact-refined .contact-layout{grid-template-columns:1fr;grid-template-areas:"form" "feedback" "details"}.contact-refined .contact-submit button[type=submit]{justify-content:center}.contact-refined .contact-submit .contact-arrow{display:none}.contact-refined .contact-form-feedback .recaptcha-notice{text-align:center}.contact-refined .contact-details{margin-top:22px}.contact-refined .contact-photo{margin-top:0}.contact-refined .contact-phone{font-size:26px}.contact-refined .contact-billing,.contact-refined .contact-billing-details{grid-template-columns:1fr;gap:18px;padding-top:0}.contact-refined .contact-billing{padding-top:24px}}
@media(max-width:375px){.contact-refined .contact-phone{font-size:24px}.contact-refined .contact-locations{grid-template-columns:1fr}}

/* Preserve the existing accessible attachment picker and upload feedback. */
#kontaktny-formular .static-file-upload { height:auto; min-height:76px; }
#kontaktny-formular .input-file-text[hidden] { display:none; }
#kontaktny-formular button.input-file-text { display:block; width:100%; min-height:74px; padding:0; color:inherit; font:inherit; }
#kontaktny-formular button.input-file-text::before,
#kontaktny-formular button.input-file-text::after { display:none; }
#kontaktny-formular .text .attachment-picker-title { font-size:16px; font-weight:700; line-height:28px; }
.contact-refined .contact-form-feedback .form-status { margin:18px 0 0; font-size:14px; line-height:1.6; }
.contact-refined .contact-form-feedback .form-status:empty { display:none; }
.contact-refined .recaptcha-notice { color:#615d58; }
/* Visible attribution replaces the floating reCAPTCHA badge. */
.grecaptcha-badge { visibility:hidden; }
#kontaktny-formular .attachment-preview {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  min-height: 76px;
  height: auto;
  padding: 18px 20px;
  color: #2b2626;
  cursor: default;
}
#kontaktny-formular .attachment-icon { flex: 0 0 26px; }
#kontaktny-formular .attachment-details { flex: 1; min-width: 0; }
#kontaktny-formular .attachment-name {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
#kontaktny-formular .attachment-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 12px;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: #625e5e;
}
#kontaktny-formular .attachment-meta strong { font-weight: 400; }
#kontaktny-formular .attachment-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 8px;
  min-height: 44px;
  padding: 8px 0 8px 8px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 12px;
  letter-spacing: .04em;
  cursor: pointer;
}
#kontaktny-formular .attachment-remove::before,
#kontaktny-formular .attachment-remove::after { display: none; }
#kontaktny-formular .attachment-remove:hover span { text-decoration: underline; }
#kontaktny-formular .attachment-remove:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }
#kontaktny-formular .attachment-preview .dz-progress {
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  overflow: hidden;
}
#kontaktny-formular .dz-upload { display: block; height: 100%; width: 0; background: #2b2626; }
#kontaktny-formular .dz-complete .dz-progress { display: none; }
#kontaktny-formular .dz-error .attachment-state { color: #a33333; }
#kontaktny-formular .dz-error .dz-error-message {
  display: block;
  margin-top: 6px;
  color: #a33333;
  font-size: 12px;
  line-height: 1.5;
}
@media (max-width: 575px) {
  #kontaktny-formular .attachment-preview { gap: 12px; padding: 14px; flex-wrap: wrap; }
  #kontaktny-formular .attachment-details { flex-basis: calc(100% - 38px); }
  #kontaktny-formular .attachment-remove { margin-left: 38px; padding-left: 0; }
}
