/* Awssome UI 2.0 — buttons.
   Hierarchy: primary (one per view, solid orange) → secondary (white, hairline)
   → tertiary (soft grey fill) → ghost/link. Radius 12, 40px default height. */

.btn {
    border-radius: var(--ui-r-md) !important;
    font-family: var(--ui-font-semibold) !important;
    font-size: 14px !important;
    letter-spacing: -0.005em;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
    transition: background-color var(--ui-fast) var(--ui-ease),
                border-color var(--ui-fast) var(--ui-ease),
                box-shadow var(--ui-fast) var(--ui-ease),
                color var(--ui-fast) var(--ui-ease),
                transform var(--ui-fast) var(--ui-ease);
}

.btn:not(.btn-icon):not(.aws-btn-icon):not(.btn-close):not(.btn-flush):not(.aws-btn-unset):not(.btn-sm):not(.btn-lg) {
    padding: 9px 18px !important;
}

.btn:active:not(:disabled):not(.disabled) {
    transform: scale(.98);
}

.btn svg,
.btn .svg-icon svg {
    width: 16px;
    height: 16px;
}

.btn .svg-icon.me-2,
.btn svg.me-2 {
    margin-right: 0 !important;
}

.btn.btn-sm {
    min-height: 32px;
    padding: 6px 12px !important;
    font-size: 13px !important;
    border-radius: var(--ui-r-sm) !important;
}

.btn.btn-lg {
    min-height: 48px;
    padding: 12px 24px !important;
    font-size: 15px !important;
}

/* Primary */
.btn.aws-btn-primary,
.btn.btn-primary {
    background: var(--ui-primary) !important;
    border: 1px solid var(--ui-primary) !important;
    color: #fff !important;
    box-shadow: 0 1px 2px rgba(199, 66, 7, .24), inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

.btn.aws-btn-primary:hover,
.btn.btn-primary:hover {
    background: var(--ui-primary-hover) !important;
    border-color: var(--ui-primary-hover) !important;
    box-shadow: var(--ui-shadow-primary) !important;
}

.btn.aws-btn-primary svg path[stroke],
.btn.aws-btn-primary .stroke-white path {
    stroke: #fff;
}

.btn.aws-btn-primary.disabled,
.btn.aws-btn-primary:disabled,
.btn.btn-primary:disabled {
    background: var(--ui-brand-200) !important;
    border-color: var(--ui-brand-200) !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

/* Secondary: white with a hairline — the default companion to primary */
.btn.aws-btn-secondary,
.btn.aws-btn-primary-border,
.btn.aws-btn-white,
.btn.btn-light,
.btn.btn-secondary {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-line) !important;
    color: var(--ui-ink) !important;
    box-shadow: var(--ui-shadow-xs) !important;
}

.btn.aws-btn-secondary:hover,
.btn.aws-btn-primary-border:hover,
.btn.aws-btn-white:hover,
.btn.btn-light:hover,
.btn.btn-secondary:hover {
    background: var(--ui-fill-2) !important;
    border-color: #D6D6DA !important;
    color: var(--ui-ink) !important;
}

/* Tinted: soft orange for "do this next" actions that are not the page primary */
.btn.aws-btn-primary-700,
.btn.btn-light-primary {
    background: var(--ui-primary-tint) !important;
    border: 1px solid var(--ui-primary-tint-2) !important;
    color: var(--ui-brand-700) !important;
    box-shadow: none !important;
}

.btn.aws-btn-primary-700:hover,
.btn.btn-light-primary:hover {
    background: var(--ui-primary-tint-2) !important;
    color: var(--ui-brand-700) !important;
}

/* Tertiary: quiet grey fill for toolbars (export, filters) */
.btn.aws-btn-tertiary,
.btn.aws-btn-neutral,
.btn.aws-btn-filter,
.btn.aws-btn-tertiary-outline {
    background: var(--ui-fill) !important;
    border: 1px solid transparent !important;
    color: var(--ui-ink) !important;
    box-shadow: none !important;
}

.btn.aws-btn-tertiary:hover,
.btn.aws-btn-neutral:hover,
.btn.aws-btn-filter:hover,
.btn.aws-btn-tertiary-outline:hover {
    background: #EDEDF0 !important;
}

.btn.aws-btn-tertiary-outline {
    border-color: var(--ui-line) !important;
    background: var(--ui-surface) !important;
}

/* Destructive */
.btn.aws-btn-error,
.btn.btn-danger {
    background: var(--ui-surface) !important;
    border: 1px solid #FECDCA !important;
    color: var(--ui-red-700) !important;
    box-shadow: none !important;
}

.btn.aws-btn-error:hover,
.btn.btn-danger:hover {
    background: var(--ui-red-50) !important;
}

/* Icon buttons: 36px squircle, hairline, quiet */
.btn.aws-btn-icon,
.btn.btn-icon.btn-light,
.btn.btn-icon.btn-bg-light {
    width: 36px !important;
    height: 36px !important;
    min-height: 36px;
    padding: 0 !important;
    border-radius: var(--ui-r-sm) !important;
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-line) !important;
    box-shadow: none !important;
    color: var(--ui-muted) !important;
}

.btn.aws-btn-icon:hover,
.btn.btn-icon.btn-light:hover {
    background: var(--ui-fill) !important;
    color: var(--ui-ink) !important;
}

.btn.aws-btn-unset {
    min-height: 0;
}

.btn.btn-link,
.btn.btn-active-color-primary {
    box-shadow: none !important;
}

/* Keen loading indicator keeps its label width */
.btn[data-kt-indicator="on"] .indicator-progress {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Icon buttons are square and border-box so width/height are the real outer size */
.btn.aws-btn-icon,
.btn.btn-icon {
    box-sizing: border-box !important;
    flex: none;
}
