/* Zero BS: wspólne formularze i reCAPTCHA. Ładowany warunkowo. */

#contact .width-90{width:100%;}
.grecaptcha-badge{visibility:hidden;}

/* Wspólny komponent formularzy inline. */
.zbs-inline-form,
.zbs-inline-form * {
box-sizing:border-box;
}

.zbs-inline-form {
width:100%;
max-width:960px;
margin:48px auto 30px;
padding:36px 32px 34px;
border-top:3px solid #ed1846;
background:#f7f7f7;
color:#232323;
text-align:left;
}

.zbs-inline-form__title {
margin:0 0 22px!important;
padding:0!important;
font-family:"Montserrat",sans-serif;
font-size:26px!important;
font-weight:600;
line-height:1.25!important;
text-align:center;
text-transform:none!important;
}

.zbs-inline-form__lead {
margin:0 0 14px!important;
padding:0!important;
font-size:16px;
font-weight:300;
line-height:1.5;
text-align:center;
}

.zbs-inline-form__visually-hidden {
position:absolute!important;
width:1px!important;
height:1px!important;
margin:-1px!important;
padding:0!important;
overflow:hidden!important;
clip:rect(0,0,0,0)!important;
white-space:nowrap!important;
border:0!important;
}

.zbs-inline-form__intent {
min-width:0;
margin:0 0 10px;
padding:0;
border:0;
}

.zbs-inline-form__intent>p,
.zbs-inline-form__field>p,
.zbs-inline-form__actions>p {
margin:0!important;
padding:0!important;
}

.zbs-inline-form__choices {
display:grid!important;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:10px;
}

.zbs-inline-form__choices .wpcf7-list-item {
display:block;
margin:0;
}

.zbs-inline-form__choices label {
display:flex;
min-height:46px;
height:100%;
align-items:center;
margin:0;
padding:9px 13px;
border:1px solid #ccc;
background:#fff;
color:#232323;
font-family:inherit!important;
font-size:15px!important;
font-weight:300!important;
line-height:1.4;
letter-spacing:0;
text-transform:none;
cursor:pointer;
}

.zbs-inline-form__choices label:hover,
.zbs-inline-form__choices label:has(input:checked) {
border-color:#ed1846;
}

.zbs-inline-form__choices input[type="radio"] {
flex:0 0 auto;
width:18px;
height:18px;
margin:0 10px 0 0;
accent-color:#ed1846;
}

.zbs-inline-form__choices .wpcf7-list-item-label {
color:#232323;
font-family:inherit!important;
font-size:15px!important;
font-weight:300!important;
line-height:1.4;
letter-spacing:0;
text-transform:none;
}

.zbs-inline-form__grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:10px;
}

.zbs-inline-form__field {
margin:0!important;
padding:0!important;
}

.zbs-inline-form__field--full {
grid-column:1/-1;
}

.zbs-inline-form__field label,
.zbs-inline-form .wpcf7-form-control-wrap {
display:block;
width:100%;
}

.zbs-inline-form__field br,
.zbs-inline-form__actions br {
display:none;
}

.zbs-inline-form input[type="text"],
.zbs-inline-form input[type="email"],
.zbs-inline-form input[type="tel"],
.zbs-inline-form textarea {
display:block;
width:100%;
margin:0!important;
border:1px solid #ccc;
border-radius:0;
background:#fff;
color:#232323;
font-family:inherit;
font-size:15px!important;
font-weight:300;
}

.zbs-inline-form input[type="text"],
.zbs-inline-form input[type="email"],
.zbs-inline-form input[type="tel"] {
height:46px;
padding:0 13px;
}

.zbs-inline-form textarea {
height:82px!important;
min-height:82px;
padding:11px 13px;
line-height:1.45;
resize:vertical;
}

.zbs-inline-form input::placeholder,
.zbs-inline-form textarea::placeholder {
color:#232323;
font-family:inherit;
font-size:15px;
font-weight:300;
opacity:1;
}

.zbs-inline-form input:focus,
.zbs-inline-form textarea:focus {
border-color:#232323;
outline:2px solid rgba(237,24,70,.15);
}

.zbs-inline-form__actions {
position:relative;
margin:18px 0 0!important;
padding:0!important;
text-align:center;
}

.zbs-inline-form__actions input.wpcf7-submit {
margin:0!important;
font-weight:600!important;
}

.zbs-inline-form__actions .wpcf7-spinner {
position:absolute;
top:50%;
margin:0 0 0 8px;
transform:translateY(-50%);
}

.zbs-inline-form__privacy {
margin:36px auto 0!important;
padding:0!important;
color:#6f6f6f;
font-size:12px;
line-height:1.45;
text-align:center;
}

.zbs-inline-form .wpcf7-not-valid-tip {
margin-top:3px;
font-size:12px;
}

.zbs-inline-form .wpcf7-response-output {
float:none!important;
margin:18px 0 0!important;
padding:10px 14px;
font-size:14px;
line-height:1.45;
text-align:center;
}

/* Wariant dla Portfolio Simple. */
.zbs-inline-form--compact {
max-width:900px;
margin:64px auto 32px;
padding:36px 40px 34px;
}

/* Wariant formularza w istniejącej kolumnie strony Kontakt. */
.zbs-inline-form--contact {
max-width:none;
margin:0;
padding:0;
border-top:0;
background:transparent;
color:#fff;
}

.zbs-inline-form--contact .zbs-inline-form__grid {
grid-template-columns:1fr;
}

.zbs-inline-form--contact textarea {
height:110px!important;
min-height:110px;
}

.zbs-inline-form--contact .zbs-inline-form__actions {
margin-top:20px!important;
}

.zbs-inline-form--contact .zbs-inline-form__actions .wpcf7-spinner {
left:50%;
margin-left:100px;
}

.zbs-inline-form--contact .zbs-inline-form__privacy {
margin-top:24px!important;
color:#fff!important;
font-size:13px;
line-height:1.55;
}

.zbs-inline-form--contact .zbs-inline-form__privacy a,
.zbs-inline-form--contact .wpcf7-response-output {
color:#fff!important;
}

@media (max-width:899px) {
.zbs-inline-form__choices {
grid-template-columns:1fr;
}
}

@media (max-width:767px) {
.zbs-inline-form {
margin:38px auto 24px;
padding:30px 18px;
text-align:center;
}

.zbs-inline-form__title {
margin-bottom:22px!important;
font-size:26px!important;
}

.zbs-inline-form__choices,
.zbs-inline-form__grid {
grid-template-columns:1fr;
}

.zbs-inline-form__choices label,
.zbs-inline-form__choices .wpcf7-list-item-label,
.zbs-inline-form input[type="text"],
.zbs-inline-form input[type="email"],
.zbs-inline-form input[type="tel"],
.zbs-inline-form textarea {
font-size:16px!important;
}

.zbs-inline-form__choices label {
justify-content:center;
text-align:center;
}

.zbs-inline-form input[type="text"],
.zbs-inline-form input[type="email"],
.zbs-inline-form input[type="tel"],
.zbs-inline-form textarea,
.zbs-inline-form input::placeholder,
.zbs-inline-form textarea::placeholder,
.zbs-inline-form .wpcf7-not-valid-tip {
text-align:center;
}

.zbs-inline-form input::placeholder,
.zbs-inline-form textarea::placeholder {
font-size:16px;
}

.zbs-inline-form__field--full {
grid-column:auto;
}

.zbs-inline-form textarea {
height:110px!important;
min-height:110px;
}

.zbs-inline-form--compact {
margin:42px auto 20px;
padding:28px 20px;
}

.zbs-inline-form--contact {
margin:0;
padding:0;
}

.zbs-inline-form--contact textarea {
height:150px!important;
min-height:150px;
}

.zbs-inline-form--contact .zbs-inline-form__privacy {
font-size:12px;
}
}
