.home_contact {
    padding: var(--spacing-xl) 0;
}

.home_contact .container {
    display: flex;
    align-items: start;
    flex-wrap: wrap;
    gap: var(--spacing-xl);
}

.home_contact_form {
    flex-basis: 100%;

    @media (min-width: 960px) {
        position: sticky;
        top: var(--spacing-xs);
        flex-basis: 35%;
    }
}

.home_contact_items {
    flex-basis: 100%;

    @media (min-width: 960px) {
        flex-basis: calc(65% - var(--spacing-xl));
    }
}

.home_contact_supertitle {
    color: var(--color);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.54px;
    padding-bottom: 10px;

    @media (min-width: 960px) {
        font-size: 18px;
    }
}

.home_contact_title {
    padding: 10px 0 10px 20px;
    margin-bottom: var(--spacing-sm);
    border-left: 5px solid var(--color);
    color: var(--black);
    font-family: var(--header-font);
    font-size: var(--font-size-h4);
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: 0.96px;
}

.home_contact_title span {
    display: inline-block;
    padding: 2px 10px;
    color: var(--white);
    background: var(--color);
    font-weight: 700;
}

.home_contact_form_title {
    color: var(--color);
    font-family: var(--header-font);
    font-size: var(--font-size-h5);
    font-weight: 400;
    padding-bottom: var(--spacing-xs);
}

.home_contact_form_subtitle {
    padding-bottom: var(--spacing-x);
    font-weight: 400;
}

.home_contact_form_subtitle {
    padding-bottom: var(--spacing-xs);
}

.home_contact_form_subtitle span,
.home_contact_form_subtitle strong {
    color: var(--color);
    font-weight: 700;
}

.home_contact_form_phone {
    position: relative;
    padding-bottom: var(--spacing-xs);
}

.home_contact_form_phone a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: var(--color);
    color: var(--white);
    text-decoration: none;
    font-size: var(--font-size-small);
    font-family: var(--header-font);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.7px;
    transition: .3s all;
    position: relative;
}

.home_contact_form_phone a::after {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="94" height="78" viewBox="0 0 94 78" fill="none"><path d="M93.5278 1.64263L82.0982 -9.39e-05L86.3904 10.7196L93.5278 1.64263ZM0.121094 76.4475L0.242413 77.4401C11.172 76.1043 18.5757 72.4338 24.3799 67.2548C30.1443 62.1113 34.2886 55.51 38.74 48.462C47.6452 34.362 58.0322 18.0202 85.5761 5.90307L85.1734 4.98772L84.7707 4.07239C56.6687 16.435 46.0155 33.197 37.049 47.394C32.5645 54.4944 28.5651 60.8399 23.0483 65.7625C17.5712 70.6496 10.5561 74.1647 -0.000225698 75.4549L0.121094 76.4475Z" fill="%23002253"/></svg>');
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translate(calc(-100% - 12px), 100%);
}

.home_contact_form_phone a:hover {
    transform: scale(1.05);
}

.home_contact .contact-form input[type=text],
.home_contact .contact-form input,
.home_contact .contact-form input[type=tel] {
    padding: var(--spacing-xs);
    color: var(--black);
    font-weight: 400;
    letter-spacing: 0.8px;
    border-radius: 0;
    border: 1px solid var(--color);
    width: 100%;
}

.home_contact .contact-form input[type=text]::placeholder,
.home_contact .contact-form input::placeholder
.home_contact .contact-form input[type=tel]::placeholder {
    color: var(--black);
}

.home_contact .contact-form .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
}

/* Ukrywamy natywny checkbox */
.home_contact .contact-form .wpcf7-acceptance input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
}

/* Stylizujemy label jako "klikany" obszar */
.home_contact .contact-form .wpcf7-acceptance label {
    position: relative;
    cursor: pointer;
    padding-left: 28px;
    /* miejsce na pseudo-checkbox */
    line-height: 1.4;
    user-select: none;
}

/* Pseudo-element — rysuje ramkę checkboxa */
.home_contact .contact-form .wpcf7-acceptance label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    border: 1px solid var(--color);
    box-sizing: border-box;
    transition: all 0.25s ease;
}

.home_contact .contact-form .wpcf7-acceptance label:has(input[type="checkbox"]:checked)::before {
    background: var(--color);
}

.home_contact .contact-form .btn-send input.wpcf7-submit {
    max-width: fit-content;
    padding: 15px 20px 15px 20px;
    color: var(--white);
    font-size: var(--font-size-h6);
    font-weight: 400;
    letter-spacing: 0.7px;
    border-radius: 0;
    background: var(--color);
    color: var(--white);
    position: relative;
    border: none;
    outline: none;
    transition: .3s all;
	display: block;
}

.home_contact .contact-form .btn-send input.wpcf7-submit:hover {
    transform: scale(1.05);
    cursor: pointer;
}

.home_contact .contact-form .btn-send p {
    padding: 0;
    margin: 0;
}

.home_contact .contact-form .wpcf7-form-control.wpcf7-submit {
    padding: 0;
    background: transparent;
    color: var(--white);
    font-size: var(--font-size-small);
    font-weight: 400;
    letter-spacing: 0.7px;
    border-radius: 0;
    border: none;
    outline: none;
}

.home_contact .contact-form .wpcf7-spinner {
    display: none;
}

.home_contact_form .home_header_buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 780px;
	margin-bottom: 50px;
    @media (min-width: 768px) {
        justify-content: start;
    }
}

.home_contact_form .home_header_buttons a {
    display: inline-block;
    padding: 10px 15px;
    padding-right: 45px;
    border: 1px solid var(--color);
    color: var(--color);
    text-decoration: none;
    font-family: var(--header-font);
    font-size: var(--font-size-small);
    position: relative;
    transition: .3s all;
	width: 100%;
}

.home_contact_form .home_header_buttons a:hover {
    transform: scale(1.05);
}

.home_contact_form .home_header_buttons a::before {
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" viewBox="0 0 16 8" fill="none"><path d="M15.3536 4.03553C15.5488 3.84027 15.5488 3.52369 15.3536 3.32842L12.1716 0.146442C11.9763 -0.0488198 11.6597 -0.0488198 11.4645 0.146442C11.2692 0.341705 11.2692 0.658287 11.4645 0.853549L14.2929 3.68198L11.4645 6.5104C11.2692 6.70567 11.2692 7.02225 11.4645 7.21751C11.6597 7.41277 11.9763 7.41277 12.1716 7.21751L15.3536 4.03553ZM0 3.68198V4.18198H15V3.68198V3.18198H0V3.68198Z" fill="white"/></svg>');
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
}

.home_contact_form .home_header_buttons a:first-child {
    border-color: var(--colorsecondary);
    background: var(--colorsecondary);
	color: white;
}

.home_contact_form .home_header_buttons a:first-child::before {
    content: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 9L15 4L20 9" stroke="white" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 20H11C12.0609 20 13.0783 19.5786 13.8284 18.8284C14.5786 18.0783 15 17.0609 15 16V4" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.home_contact_form .home_header_buttons a:first-child::after {
    content: url('data:image/svg+xml,<svg width="89" height="78" viewBox="0 0 89 78" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M88.4067 1.64272L76.9772 -2.34729e-06L81.2693 10.7196L88.4067 1.64272ZM-5 76.4476L-4.87868 77.4402C6.05092 76.1044 13.4546 72.4339 19.2588 67.2549C25.0232 62.1114 29.1675 55.5101 33.6189 48.4621C42.5241 34.3621 52.9111 18.0203 80.455 5.90316L80.0523 4.98782L79.6496 4.07248C51.5476 16.4351 40.8944 33.1971 31.9279 47.3941C27.4435 54.4945 23.4441 60.84 17.9272 65.7626C12.4501 70.6497 5.43504 74.1648 -5.12132 75.455L-5 76.4476Z" fill="white"/></svg>');
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translate(calc(-100% - 12px), 100%);
}

.home_contact--extended .container {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
}

.home_contact--extended .home_contact_top {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
    align-items: start;
}

.home_contact--extended .home_contact_left,
.home_contact--extended .home_contact_right,
.home_contact--extended .home_contact_bottom,
.home_contact--extended .home_contact_form,
.home_contact--extended .home_contact_items {
    width: 100%;
    flex-basis: auto;
}

.home_contact--extended .home_contact_form {
    position: static;
}

.home_contact--extended .home_contact_left .home_contact_form {
    margin-top: 0;
}

.home_contact--extended .home_contact_multimedia {
    width: 100%;
}

.home_contact--extended .home_contact_multimedia img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.home_contact--extended .home_contact_bottom {
    width: 100%;
}

.home_contact--extended .home_contact_items {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 960px) {
    .home_contact--extended .home_contact_top {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: var(--spacing-xl);
    }

    .home_contact--extended .home_contact_left {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .home_contact--extended .home_contact_right {
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
    }

    .home_contact--extended .home_contact_form {
        position: static;
        top: auto;
        flex-basis: auto;
        width: 100%;
    }

    .home_contact--extended .home_contact_items {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 24px;
    }
}