.king-addons-ajax-atc {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

.king-addons-ajax-atc__button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    background-color: #111827;
    color: #ffffff;
    border: 1px solid #111827;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
    overflow: hidden;
    --king-addons-atc-indicator-size: 14px;
    --king-addons-atc-indicator-color: currentColor;
}

.king-addons-ajax-atc__button:hover {
    background-color: #0b1220;
    border-color: #0b1220;
}

.king-addons-ajax-atc__button.loading {
    opacity: 0.7;
    pointer-events: none;
}

.king-addons-ajax-atc__button.loading .king-addons-ajax-atc__label,
.king-addons-ajax-atc__button.added .king-addons-ajax-atc__label,
.king-addons-ajax-atc__button.loading .king-addons-ajax-atc__icon,
.king-addons-ajax-atc__button.added .king-addons-ajax-atc__icon {
    visibility: hidden;
}

.king-addons-ajax-atc__button.loading::after {
    content: "";
    display: inline-block;
    width: var(--king-addons-atc-indicator-size, 14px);
    height: var(--king-addons-atc-indicator-size, 14px);
    border: 2px solid var(--king-addons-atc-indicator-color, currentColor);
    border-right-color: transparent;
    border-radius: 50%;
    animation: king-addons-ajax-atc-spin 0.8s linear infinite;
    color: var(--king-addons-atc-indicator-color, currentColor);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.king-addons-ajax-atc__button.added::after {
    content: "✓";
    display: inline-block;
    font-size: var(--king-addons-atc-indicator-size, 14px);
    line-height: 1;
    color: var(--king-addons-atc-indicator-color, currentColor);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.king-addons-ajax-atc__button.loading.added::after {
    content: "";
    display: inline-block;
    width: var(--king-addons-atc-indicator-size, 14px);
    height: var(--king-addons-atc-indicator-size, 14px);
    border: 2px solid var(--king-addons-atc-indicator-color, currentColor);
    border-right-color: transparent;
    border-radius: 50%;
    animation: king-addons-ajax-atc-spin 0.8s linear infinite;
    color: var(--king-addons-atc-indicator-color, currentColor);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.king-addons-ajax-atc__icon {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    font-size: 1em;
}

.king-addons-ajax-atc__icon svg,
.king-addons-ajax-atc__icon img {
    display: block;
    width: 1em;
    height: 1em;
}

/* Make SVG icons follow the configured icon color (some SVGs ship with fixed fills). */
.king-addons-ajax-atc__icon svg {
    fill: currentColor;
    stroke: currentColor;
}

.king-addons-ajax-atc__icon svg [fill] {
    fill: currentColor;
}

.king-addons-ajax-atc__icon svg [stroke] {
    stroke: currentColor;
}

.king-addons-ajax-atc__icon i {
    display: block;
    font-size: 1em;
    line-height: 1;
}

.king-addons-ajax-atc .added_to_cart {
    display: none;
    align-items: center;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.king-addons-ajax-atc__button.added + .added_to_cart {
    display: inline-flex;
}

.king-addons-ajax-atc__notice {
    font-size: 13px;
    color: #16a34a;
    min-height: 18px;
}

.king-addons-ajax-atc__quantity {
    width: 70px;
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
}

@keyframes king-addons-ajax-atc-spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}






