.project-cta-btn {
    --project-cta-bg: transparent;
    --project-cta-hover-bg: transparent;
    --project-cta-border: rgba(255, 255, 255, 0.08);
    --project-cta-hover-border: rgba(255, 255, 255, 0.12);
    --project-cta-color: #eef6ff;
    --project-cta-hover-color: #ffffff;
    --project-cta-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    --project-cta-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    --project-cta-text-shadow: none;
    --project-cta-gap: 8px;
    --project-cta-min-height: 48px;
    --project-cta-min-width: 0px;
    --project-cta-padding: 0 20px;
    --project-cta-radius: 14px;
    --project-cta-font-size: 14px;
    --project-cta-font-weight: 700;
    --project-cta-letter-spacing: normal;
    --project-cta-white-space: normal;
    --project-cta-icon-size: 16px;
    --project-cta-icon-color: currentColor;
    --project-cta-icon-filter: none;
    color: var(--project-cta-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--project-cta-gap);
    width: auto;
    max-width: 100%;
    min-width: var(--project-cta-min-width);
    min-height: var(--project-cta-min-height);
    padding: var(--project-cta-padding);
    border-radius: var(--project-cta-radius);
    font-size: var(--project-cta-font-size);
    font-weight: var(--project-cta-font-weight);
    letter-spacing: var(--project-cta-letter-spacing);
    white-space: var(--project-cta-white-space);
    background: var(--project-cta-bg);
    border-color: var(--project-cta-border);
    box-shadow: var(--project-cta-shadow);
    text-shadow: var(--project-cta-text-shadow);
}

.project-cta-btn:hover,
.project-cta-btn:focus-visible,
.project-cta-btn:active {
    outline: none;
    transform: none;
    color: var(--project-cta-hover-color);
    background: var(--project-cta-hover-bg);
    border-color: var(--project-cta-hover-border);
    box-shadow: var(--project-cta-hover-shadow);
}

.project-cta-btn:disabled,
.project-cta-btn[aria-disabled="true"] {
    box-shadow: none;
}

/* CTA family:
   Launch: panel actions
   Compact: header actions
   Small: table and card actions */
.project-cta-btn--block,
.project-cta-btn--full-width {
    width: 100%;
}

.project-cta-btn--launch,
.project-cta-btn--lg {
    --project-cta-min-height: 58px;
}

.project-cta-btn--compact {
    --project-cta-gap: 10px;
    --project-cta-min-height: 48px;
    --project-cta-padding: 0 22px;
    --project-cta-radius: 16px;
    --project-cta-white-space: nowrap;
    --project-cta-icon-size: 14px;
    --project-cta-letter-spacing: 0;
}

.project-cta-btn--small {
    --project-cta-gap: 6px;
    --project-cta-min-height: 38px;
    --project-cta-padding: 0 14px;
    --project-cta-radius: 12px;
    --project-cta-font-size: 12px;
    --project-cta-font-weight: 700;
    --project-cta-white-space: nowrap;
    --project-cta-icon-size: 14px;
}

.project-cta-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--project-cta-icon-size);
    height: var(--project-cta-icon-size);
    flex: 0 0 auto;
    color: var(--project-cta-icon-color);
    filter: var(--project-cta-icon-filter);
}

.project-cta-btn__icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.project-cta-btn__icon--fill svg {
    fill: currentColor;
    stroke: none;
}

.project-cta-btn__label {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.project-cta-btn--primary {
    --project-cta-bg: linear-gradient(180deg, #6588dc 0%, #4c70c4 100%);
    --project-cta-hover-bg: linear-gradient(180deg, #6f92e6 0%, #567acf 100%);
    --project-cta-border: #142136;
    --project-cta-hover-border: #142136;
    --project-cta-color: #f4f8ff;
    --project-cta-hover-color: #ffffff;
    --project-cta-shadow: inset 0 0 0 1px #142136, inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 0 14px rgba(59, 130, 246, 0.12), 0 12px 22px rgba(28, 54, 110, 0.2);
    --project-cta-hover-shadow: inset 0 0 0 1px #142136, inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 16px rgba(59, 130, 246, 0.14), 0 14px 24px rgba(28, 54, 110, 0.22);
    --project-cta-text-shadow: 0 1px 0 rgba(16, 34, 79, 0.12);
}

.project-cta-btn--primary-soft {
    --project-cta-bg: linear-gradient(180deg, #5a7dcf 0%, #4368bd 100%);
    --project-cta-hover-bg: linear-gradient(180deg, #6387da 0%, #4a70c6 100%);
    --project-cta-border: rgba(141, 180, 247, 0.24);
    --project-cta-hover-border: rgba(154, 192, 255, 0.28);
    --project-cta-color: #f4f8ff;
    --project-cta-hover-color: #ffffff;
    --project-cta-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 0 14px rgba(59, 130, 246, 0.12), 0 12px 22px rgba(28, 54, 110, 0.2);
    --project-cta-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 16px rgba(59, 130, 246, 0.14), 0 14px 24px rgba(28, 54, 110, 0.22);
    --project-cta-text-shadow: 0 1px 0 rgba(16, 34, 79, 0.12);
    --project-cta-icon-color: #f4f8ff;
    --project-cta-icon-filter: drop-shadow(0 1px 1px rgba(21, 52, 136, 0.18));
}

.project-cta-btn--danger {
    --project-cta-bg: rgba(113, 74, 74, 0.22);
    --project-cta-hover-bg: rgba(133, 74, 74, 0.28);
    --project-cta-border: rgba(220, 143, 143, 0.14);
    --project-cta-hover-border: rgba(220, 143, 143, 0.14);
    --project-cta-color: #f6dede;
    --project-cta-hover-color: #fff0f0;
    --project-cta-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    --project-cta-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    --project-cta-min-width: 170px;
}
.project-cta-btn--surface {
    --project-cta-bg: rgba(8, 15, 28, 0.88);
    --project-cta-hover-bg: rgba(11, 19, 34, 0.94);
    --project-cta-border: rgba(83, 109, 156, 0.18);
    --project-cta-hover-border: rgba(104, 136, 191, 0.24);
    --project-cta-color: #d2deef;
    --project-cta-hover-color: #e0e9f7;
    --project-cta-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
    --project-cta-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.project-cta-btn--surface-soft {
    --project-cta-bg: linear-gradient(180deg, rgba(21, 34, 54, 0.92) 0%, rgba(14, 24, 40, 0.94) 100%);
    --project-cta-hover-bg: linear-gradient(180deg, rgba(27, 42, 64, 0.94) 0%, rgba(19, 32, 51, 0.96) 100%);
    --project-cta-border: rgba(255, 255, 255, 0.07);
    --project-cta-hover-border: rgba(255, 255, 255, 0.1);
    --project-cta-color: #d6e3fb;
    --project-cta-hover-color: #eef5ff;
    --project-cta-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    --project-cta-hover-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
