/* Appiform Domain Availability Checker
 * Brand palette: #3572B8 / #00193E / #4DBCC5
 */
.appiform-dac {
    --appiform-blue: #3572B8;
    --appiform-navy: #00193E;
    --appiform-cyan: #4DBCC5;
    --appiform-text: #00193E;
    --appiform-muted: #5F6F82;
    --appiform-border: #D9E3EE;
    --appiform-bg: #F6F9FC;
    --appiform-success: #168A62;
    --appiform-error: #C9364D;
    --appiform-warning: #A56A00;
    box-sizing: border-box;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    color: var(--appiform-text);
    font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.appiform-dac *,
.appiform-dac *::before,
.appiform-dac *::after {
    box-sizing: border-box;
}

.appiform-dac__form {
    margin: 0;
}

.appiform-dac__form label {
    display: block;
    margin: 0 0 10px;
    color: var(--appiform-navy);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}

.appiform-dac__row {
    display: flex;
    width: 100%;
    align-items: stretch;
}

.appiform-dac__domain {
    min-width: 0;
    flex: 1 1 auto;
    height: 54px;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1px solid var(--appiform-blue) !important;
    border-right: 0 !important;
    border-radius: 27px 0 0 27px !important;
    outline: 0;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--appiform-navy) !important;
    font: inherit;
    font-size: 16px;
    line-height: 54px;
}

.appiform-dac__domain::placeholder {
    color: #8797A9;
    opacity: 1;
}

.appiform-dac__domain:focus {
    border-color: var(--appiform-cyan) !important;
    box-shadow: 0 0 0 3px rgba(77, 188, 197, 0.18) !important;
    position: relative;
    z-index: 1;
}

.appiform-dac__row > button {
    flex: 0 0 auto;
    min-width: 145px;
    height: 54px;
    margin: 0 !important;
    padding: 0 28px !important;
    border: 1px solid var(--appiform-blue) !important;
    border-radius: 0 27px 27px 0 !important;
    background: var(--appiform-blue) !important;
    box-shadow: none !important;
    color: #fff !important;
    cursor: pointer;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 54px;
    text-align: center;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.appiform-dac__row > button:hover:not(:disabled),
.appiform-dac__row > button:focus-visible:not(:disabled) {
    border-color: var(--appiform-navy) !important;
    background: var(--appiform-navy) !important;
}

.appiform-dac__row > button:active:not(:disabled) {
    transform: translateY(1px);
}

.appiform-dac__row > button:disabled {
    cursor: wait;
    opacity: 0.65;
}

.appiform-dac__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.appiform-dac__loader {
    display: flex;
    min-height: 28px;
    margin: 18px 0 0;
    align-items: center;
    justify-content: center;
    color: var(--appiform-blue);
    font-size: 14px;
    font-weight: 700;
}

.appiform-dac__loader::before {
    width: 16px;
    height: 16px;
    margin-right: 9px;
    border: 2px solid #D7E3F0;
    border-top-color: var(--appiform-cyan);
    border-radius: 50%;
    content: "";
    animation: appiform-dac-spin 700ms linear infinite;
}

.appiform-dac__loader[hidden] {
    display: none;
}

.appiform-dac__results {
    margin-top: 22px;
}

.appiform-dac__table {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--appiform-border);
    border-radius: 14px;
    border-spacing: 0;
    border-collapse: separate;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 25, 62, 0.07);
}

.appiform-dac__table th,
.appiform-dac__table td {
    padding: 15px 18px;
    border-bottom: 1px solid var(--appiform-border);
    text-align: left;
    vertical-align: middle;
}

.appiform-dac__table th {
    background: var(--appiform-navy);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.appiform-dac__table th:first-child {
    border-radius: 13px 0 0 0;
}

.appiform-dac__table th:last-child {
    border-radius: 0 13px 0 0;
}

.appiform-dac__table td {
    color: var(--appiform-text);
    font-size: 15px;
}

.appiform-dac__table tr:last-child td {
    border-bottom: 0;
}

.appiform-dac__table tbody tr:hover td {
    background: #F8FBFE;
}

.appiform-dac__available,
.appiform-dac__unavailable,
.appiform-dac__unknown {
    font-weight: 700;
}

.appiform-dac__available {
    color: var(--appiform-success) !important;
}

.appiform-dac__available::before,
.appiform-dac__unavailable::before,
.appiform-dac__unknown::before {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-radius: 50%;
    content: "";
    vertical-align: 1px;
}

.appiform-dac__available::before {
    background: var(--appiform-success);
}

.appiform-dac__unavailable {
    color: var(--appiform-error) !important;
}

.appiform-dac__unavailable::before {
    background: var(--appiform-error);
}

.appiform-dac__unknown {
    color: var(--appiform-warning) !important;
}

.appiform-dac__unknown::before {
    background: var(--appiform-warning);
}

.appiform-dac__error {
    margin: 18px 0 0;
    padding: 13px 16px;
    border: 1px solid #F1CDD3;
    border-radius: 10px;
    background: #FFF7F8;
    color: var(--appiform-error);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

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

@media (max-width: 600px) {
    .appiform-dac__row {
        display: block;
    }

    .appiform-dac__domain,
    .appiform-dac__row > button {
        width: 100%;
        border-radius: 27px !important;
    }

    .appiform-dac__domain {
        border-right: 1px solid var(--appiform-blue) !important;
    }

    .appiform-dac__row > button {
        margin-top: 10px !important;
    }

    .appiform-dac__table th,
    .appiform-dac__table td {
        padding: 13px 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .appiform-dac__loader::before,
    .appiform-dac__row > button {
        animation: none;
        transition: none;
    }
}
