﻿:root {
    --crm-pink: #c0396b;
    --crm-pink-dk: #a02e58;
    --crm-teal: #1a3a4a;
    --crm-teal-dk: #122a37;
    --crm-olive: #8a9a2a;
    --crm-olive-dk: #6e7b21;
    --crm-green: #BADA55;
    --crm-green-dk: #a3c43d;
    --crm-danger: #c0392b;
    --crm-danger-dk: #a02e22;
}

/* =============================================
     BASE BUTTON
     ============================================= */
.crm-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 30px;
    padding: 0 12px; /* vertical padding removed, horizontal kept */
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 30px;
    border-radius: 4px;
    border: 1px solid var(--crm-pink);
    background-color: transparent;
    color: var(--crm-pink);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    white-space: nowrap;
    font-family: inherit;
    text-decoration: none;
}

    .crm-button:hover:not(:disabled) {
        background-color: var(--crm-pink);
        color: white;
        box-shadow: 0 2px 8px rgba(192,57,107,0.35);
    }

    .crm-button:active:not(:disabled) {
        background-color: var(--crm-pink-dk);
        border-color: var(--crm-pink-dk);
        color: white;
    }

    .crm-button:disabled {
        opacity: 0.4;
        cursor: not-allowed;
    }

.controlbutton-icon {
    font-size: 0.82rem;
}

/* Teal */
.crm-button--teal {
    border-color: var(--crm-teal);
    color: var(--crm-teal);
}

    .crm-button--teal:hover:not(:disabled) {
        background-color: var(--crm-teal);
        color: white;
        box-shadow: 0 2px 8px rgba(26,58,74,0.35);
    }

    .crm-button--teal:active:not(:disabled) {
        background-color: var(--crm-teal-dk);
        border-color: var(--crm-teal-dk);
    }

/* Olive */
.crm-button--olive {
    border-color: var(--crm-olive);
    color: var(--crm-olive);
}

    .crm-button--olive:hover:not(:disabled) {
        background-color: var(--crm-olive);
        color: white;
        box-shadow: 0 2px 8px rgba(138,154,42,0.35);
    }

    .crm-button--olive:active:not(:disabled) {
        background-color: var(--crm-olive-dk);
        border-color: var(--crm-olive-dk);
    }

/* Green */
.crm-button--green {
    border-color: var(--crm-green);
    color: #5a7010;
}

    .crm-button--green:hover:not(:disabled) {
        background-color: var(--crm-green);
        color: #3a4a08;
        box-shadow: 0 2px 8px rgba(186,218,85,0.45);
    }

    .crm-button--green:active:not(:disabled) {
        background-color: var(--crm-green-dk);
        border-color: var(--crm-green-dk);
        color: #3a4a08;
    }

/* Danger */
.crm-button--danger {
    border-color: var(--crm-danger);
    color: var(--crm-danger);
}

    .crm-button--danger:hover:not(:disabled) {
        background-color: var(--crm-danger);
        color: white;
        box-shadow: 0 2px 8px rgba(192,57,43,0.35);
    }

    .crm-button--danger:active:not(:disabled) {
        background-color: var(--crm-danger-dk);
        border-color: var(--crm-danger-dk);
    }

/* Filled */
.crm-button--filled {
    background-color: var(--crm-pink);
    color: white;
}

    .crm-button--filled:hover:not(:disabled) {
        background-color: var(--crm-pink-dk);
        border-color: var(--crm-pink-dk);
        color: white;
    }

.crm-button--teal.crm-button--filled {
    background-color: var(--crm-teal);
    border-color: var(--crm-teal);
    color: white;
}

    .crm-button--teal.crm-button--filled:hover:not(:disabled) {
        background-color: var(--crm-teal-dk);
        border-color: var(--crm-teal-dk);
    }

.crm-button--green.crm-button--filled {
    background-color: var(--crm-green);
    border-color: var(--crm-green);
    color: #3a4a08;
}

    .crm-button--green.crm-button--filled:hover:not(:disabled) {
        background-color: var(--crm-green-dk);
        border-color: var(--crm-green-dk);
    }

/* Sizes */
.crm-button--sm {
    padding: 3px 10px;
    font-size: 0.78rem;
}

.crm-button--lg {
    padding: 9px 22px;
    font-size: 1rem;
}

.crm-button--icon-only {
    padding: 6px 10px;
    gap: 0;
}

/* Field demo */
.field-demo {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.field-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label {
    font-size: 0.75rem;
    color: #666;
    font-weight: 500;
}

.fake-input {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 0.875rem;
    background: white;
    width: 240px;
    color: #333;
}

.controlbutton-icon {
    font-size: 0.82rem;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
}

.controlbutton-icon::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f0e7"; /* fa-bolt */
}