.callback-input-group {
    max-width: 360px;
    border-bottom: 1px solid var(--gold-line);
    transition: border-color 0.2s;
}

.callback-input-group:focus-within {
    border-color: var(--gold);
}

.callback-input-group .input-group-text {
    background: transparent;
    border: 0;
    color: var(--smoke);
    opacity: 0.5;
    padding: 12px 8px 12px 0;
}

.callback-name-input,
.callback-email-input,
.callback-phone-input {
    background: transparent;
    border: 0;
    color: var(--smoke);
    border-radius: 0;
    padding: 12px 0;
}

.icon-sm {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.icon-lg {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.callback-name-input:focus,
.callback-email-input:focus,
.callback-phone-input:focus {
    background: transparent;
    border-color: transparent;
    color: var(--smoke);
    box-shadow: none;
    outline: none;
}

.callback-name-input::placeholder,
.callback-email-input::placeholder,
.callback-phone-input::placeholder {
    color: var(--smoke);
    opacity: 0.5;
}

.callback-msg {
    display: none;
}

.callback-form,
.callback-success {
    animation: callback-fade-in 0.4s ease;
}

.callback-success {
    padding: 20px 0;
}

.callback-success-content {
    display: inline-block;
    text-align: center;
}

.callback-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(109, 191, 139, 0.12);
    color: #6dbf8b;
    margin-bottom: 20px;
}

.callback-success-title {
    color: var(--smoke);
    margin-bottom: 8px;
}

.callback-success-message {
    opacity: 0.8;
}

.btn-primary--ghost.is-loading {
    opacity: 0.7;
    cursor: progress;
    letter-spacing: 0.22em;
}

@keyframes callback-fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-ext {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.btn-primary--ghost {
    background: transparent !important;
    color: var(--gold) !important;
    border: 1px solid var(--gold) !important;
    font-size: clamp(0.72rem, 0.9vw, 0.78rem);
    letter-spacing: 0.22em;
    padding: calc(0.6rem - 1px) calc(1.6rem - 1px);
    transition: background 0.3s, letter-spacing 0.3s, color 0.3s, border-color 0.3s;
}

.btn-primary--ghost:hover {
    background: #C5922A !important;
    border-color: #C5922A !important;
    color: #fff !important;
    letter-spacing: 0.28em;
}
