.b60-wrapper {
    --b60-red: var(--color-main, #e30612);
    --b60-red-soft: #ff4540;
    --b60-panel: #fbdadd;
    --b60-text: var(--color-sub, #171717);
    color: var(--b60-text);
    font-family: var(--font-family-base, inherit);
    width: 100%;
}

.b60-wrapper .wpcf7 {
    width: 100%;
}

.b60-wrapper:has(.wpcf7-form.sent) > .wpcf7,
.b60-wrapper:has(.wpcf7.sent) > .wpcf7 {
    display: none !important;
}

.b60-wrapper:has(.wpcf7-form.sent) > .b60-success[hidden],
.b60-wrapper:has(.wpcf7.sent) > .b60-success[hidden] {
    display: block !important;
}

.b60-wrapper:has(.wpcf7-form.sent) > .b60-success .b60-progress,
.b60-wrapper:has(.wpcf7.sent) > .b60-success .b60-progress {
    display: flex;
}

.b60-wrapper form {
    margin: 0;
}

.b60-progress {
    align-items: center;
    display: none;
    gap: 0;
    justify-content: center;
    margin: 0 0 30px;
    min-height: 22px;
}

.b60-progress.is-active {
    display: flex;
}

.b60-step-pill,
.b60-dot {
    align-items: center;
    background: rgba(227, 6, 18, 0.18);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 18px;
    justify-content: center;
    min-height: 30px;
    min-width: 30px;
    position: relative;
}

.b60-progress > * + * {
    margin-left: 65px;
}

.b60-progress > * + *::after {
    background: rgba(227, 6, 18, 0.18);
    content: "";
    height: 2px;
    position: absolute;
    right: calc(100% + 5px);
    top: 50%;
    transform: translateY(-50%);
    width: 55px;
}

.b60-step-pill {
    background: var(--b60-red);
    padding: 4px 12px;
}

.b60-dot::before {
    content: "";
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    height: 10px;
    transform: rotate(45deg) translate(-1px, -1px);
    width: 6px;
}

.b60-progress--done .b60-dot {
    background: var(--b60-red);
}

.b60-panel {
    background: var(--b60-panel);
    border-radius: 25px;
    margin: 0 auto;
    padding: 50px 40px;
}

.b60-step {
    display: none;
}

.b60-step.is-active {
    display: block;
}

.b60-step__head {
    margin: 0 auto 40px;
    text-align: center;
}

.b60-step__head h3 {
    color: var(--b60-text);
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 15px;
}

.b60-step__head p {
    color: var(--b60-text);
    font-weight: 600;
    margin: 0;
}

.b60-choice-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin: 0 auto 40px;
}

.b60-choice {
    align-items: center;
    background: #ffffff;
    border: 2px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
    height: 160px;
    margin-bottom: 0;
    padding: 15px 20px;
    text-align: center;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    width: 160px;
}

.b60-choice img {
    height: 60px;
    object-fit: contain;
    width: 60px;
}

.b60-choice .wpcf7-form-control-wrap,
.b60-choice .wpcf7-list-item-label {
    display: contents;
}

.b60-choice input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.b60-choice span {
    color: var(--b60-text);
    margin-left: 0;
}

.b60-choice.is-active,
.b60-choice:has(input:checked) {
    background: linear-gradient(207deg, #FF4540 0%, #E30612 83.33%);
    color: #ffffff;
}

.b60-choice:has(input:focus-visible) {
    border-color: blue;
    box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.28);
    outline: 2px solid transparent;
    outline-offset: 3px;
}

.b60-choice.is-active span,
.b60-choice:has(input:checked) span {
    color: #ffffff;
}

.b60-choice.is-active img,
.b60-choice:has(input:checked) img {
    filter: brightness(0) invert(1);
}

.b60-fields {
    display: grid;
    gap: 15px 30px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b60-field--wide {
    grid-column: 1 / -1;
}

.b60-field label,
.b60-privacy {
    color: var(--b60-text);
    display: block;
    font-size: inherit;
    font-weight: 400;
    margin: 0 0 8px;
}

.b60-wrapper input[type="text"],
.b60-wrapper input[type="email"],
.b60-wrapper input[type="tel"],
.b60-wrapper select {
    background: #ffffff;
    border: 1px solid rgba(171, 3, 12, 0.20) !important;
    border-radius: 8px;
    box-sizing: border-box;
    color: var(--b60-text);
    height: 55px;
    line-height: 1.2;
    padding: 11px 18px;
    width: 100%;
}

.b60-wrapper select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6.25 6L11.5 1' stroke='%23171717' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 16px center;
    background-repeat: no-repeat;
    padding-right: 42px;
}

.b60-wrapper input:focus,
.b60-wrapper select:focus {
    border-color: var(--b60-red) !important;
    outline: none;
}

.b60-wrapper .b60-error input,
.b60-wrapper .b60-error select,
.b60-wrapper .b60-error.b60-privacy {
    border-color: var(--b60-red) !important;
}

.b60-actions {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr 1.4fr;
    margin-top: 34px;
}

.b60-step[data-step="1"] .b60-actions {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 860px;
}

.b60-wrapper button.b60-button,
.b60-wrapper .b60-button {
    align-items: center;
    background: linear-gradient(270deg, var(--b60-red-soft) 0%, var(--b60-red) 100%);
    border: 0 !important;
    border-radius: 999px !important;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: inherit;
    font-weight: 600;
    height: 52px;
    justify-content: center;
    padding: 0 30px;
    text-decoration: none;
    width: 100%;
}

.b60-wrapper button.b60-button:hover,
.b60-wrapper button.b60-button:focus,
.b60-wrapper .b60-button:hover,
.b60-wrapper .b60-button:focus {
    color: #ffffff;
    opacity: 0.9;
}

.b60-wrapper button.b60-button--back,
.b60-wrapper .b60-button--back {
    align-items: center;
    background: rgba(255, 255, 255, 0.50);
    border: 1px solid rgba(23, 23, 23, 0.20) !important;
    border-radius: 100px !important;
    color: var(--b60-red);
    gap: 10px;
    height: 50px;
    font-weight: 600;
    justify-content: center;
    justify-self: start;
    max-width: 130px;
    padding: 15px 20px;
}

.b60-wrapper button.b60-button--back::before,
.b60-wrapper .b60-button--back::before {
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.59466 15.0782L13.3717 19.8553C13.6649 20.1483 14.0624 20.3128 14.4768 20.3127C14.8912 20.3126 15.2887 20.1479 15.5816 19.8548C15.8746 19.5617 16.0392 19.1642 16.0391 18.7497C16.039 18.3353 15.8742 17.9379 15.5811 17.6449L10.804 12.8689C10.7555 12.8205 10.717 12.763 10.6908 12.6997C10.6645 12.6365 10.651 12.5686 10.651 12.5001C10.651 12.4316 10.6645 12.3638 10.6908 12.3005C10.717 12.2372 10.7555 12.1797 10.804 12.1314L15.5811 7.35532C15.8742 7.06234 16.039 6.66492 16.0391 6.25048C16.0392 5.83604 15.8746 5.43855 15.5816 5.14543C15.2887 4.85231 14.8912 4.68758 14.4768 4.68748C14.0624 4.68738 13.6649 4.85192 13.3717 5.1449L8.59466 9.92199C7.91212 10.6064 7.52884 11.5335 7.52884 12.5001C7.52884 13.4667 7.91212 14.3938 8.59466 15.0782Z' fill='%23E30612'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 25px 25px;
    content: "";
    display: block;
    flex: 0 0 25px;
    height: 25px;
    width: 25px;
}

.b60-wrapper button.b60-button--back:hover,
.b60-wrapper button.b60-button--back:focus,
.b60-wrapper .b60-button--back:hover,
.b60-wrapper .b60-button--back:focus {
    color: #ffffff;
}

.b60-wrapper button.b60-button--back:hover::before,
.b60-wrapper button.b60-button--back:focus::before,
.b60-wrapper .b60-button--back:hover::before,
.b60-wrapper .b60-button--back:focus::before {
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.59466 15.0782L13.3717 19.8553C13.6649 20.1483 14.0624 20.3128 14.4768 20.3127C14.8912 20.3126 15.2887 20.1479 15.5816 19.8548C15.8746 19.5617 16.0392 19.1642 16.0391 18.7497C16.039 18.3353 15.8742 17.9379 15.5811 17.6449L10.804 12.8689C10.7555 12.8205 10.717 12.763 10.6908 12.6997C10.6645 12.6365 10.651 12.5686 10.651 12.5001C10.651 12.4316 10.6645 12.3638 10.6908 12.3005C10.717 12.2372 10.7555 12.1797 10.804 12.1314L15.5811 7.35532C15.8742 7.06234 16.039 6.66492 16.0391 6.25048C16.0392 5.83604 15.8746 5.43855 15.5816 5.14543C15.2887 4.85231 14.8912 4.68758 14.4768 4.68748C14.0624 4.68738 13.6649 4.85192 13.3717 5.1449L8.59466 9.92199C7.91212 10.6064 7.52884 11.5335 7.52884 12.5001C7.52884 13.4667 7.91212 14.3938 8.59466 15.0782Z' fill='white'/%3E%3C/svg%3E");
}

.b60-wrapper button.b60-button--small,
.b60-wrapper .b60-button--small {
    height: 42px;
    margin-top: 18px;
    width: auto;
}

.b60-submit-wrap {
    position: relative;
}

.b60-submit-wrap.is-submitting::after {
    animation: b60-spin 0.8s linear infinite;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    border-top-color: #ffffff;
    content: "";
    height: 18px;
    left: 50%;
    margin-left: -9px;
    margin-top: -9px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    width: 18px;
}

.b60-wrapper .wpcf7-submit {
    background: linear-gradient(270deg, var(--b60-red-soft) 0%, var(--b60-red) 100%);
    border: 0 !important;
    border-radius: 999px !important;
    color: #ffffff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    height: 48px;
    padding: 0 30px;
    width: 100%;
}

.b60-submit-wrap.is-submitting .wpcf7-submit {
    color: transparent;
    cursor: wait;
    pointer-events: none;
}

.b60-wrapper .wpcf7-spinner {
    position: absolute;
    right: -34px;
    top: 10px;
}

.b60-wrapper .wpcf7-response-output {
    border-radius: 8px;
    font-size: 13px;
    margin: 22px 0 0 !important;
    padding: 10px 14px !important;
}

.b60-privacy .wpcf7-list-item {
    margin: 0;
}

.b60-privacy label {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.b60-privacy input {
    margin-top: 2px;
}

.b60-success__panel {
    max-width: 1100px;
    padding: 54px 80px 60px;
    text-align: center;
}

.b60-success h2 {
    color: var(--b60-text);
    margin: 0 0 25px;
}

.b60-success p {
    color: var(--b60-text);
    font-size: inherit;
    font-weight: 400;
    margin: 0 auto 16px;
}

.b60-kicker {
    color: var(--b60-red) !important;
    font-size: 24px !important;
    margin-bottom: 13px !important;
}

@keyframes b60-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 991px) {
    .b60-panel {
        padding: 30px 15px;
    }

    .b60-success__panel{
        padding: 30px;
    }
}

@media (max-width: 767px) {
    .b60-progress > * + *::after {
        width: 45px;
    }

    .b60-progress > * + * {
        margin-left: 55px;
    }

    .b60-choice-grid {
        column-gap: 10px;
        row-gap: 15px;
        margin-bottom: 25px;
    }

    .b60-fields {
        grid-template-columns: 1fr;
    }

    .b60-actions {
        gap: 20px;
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .b60-choice {
        min-height: 112px;
    }

    .b60-wrapper button.b60-button--back,
    .b60-wrapper .b60-button--back {
        font-size: 0 !important;
        gap: 0;
        height: 50px;
        max-width: 50px;
        min-width: 50px;
        padding: 0;
        width: 50px;
    }

    .b60-wrapper button.b60-button--back::before,
    .b60-wrapper .b60-button--back::before {
        background-size: 22px 22px;
        flex: 0 0 22px;
        height: 22px;
        width: 22px;
    }

    .b60-submit-wrap {
        width: 100%;
    }

    .b60-wrapper button.b60-button,
    .b60-wrapper .b60-button {
        height: 50px;
    }
}
