/* 
 * DCM Core - Certification Badge System
 * Premium Glassmorphism & High-Contrast Institutional Branding
 */

.dcm-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 100px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: help;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    user-select: none;
    white-space: nowrap;
}

.dcm-badge i {
    font-size: 13px;
}

/* GTDS Compliant Badge (Gold / Cyber) */
.badge-gtds {
    background: linear-gradient(135deg, rgba(201, 168, 76, 0.15) 0%, rgba(201, 168, 76, 0.05) 100%);
    border-color: rgba(201, 168, 76, 0.4);
    color: #fcd34d;
    box-shadow: 0 0 15px rgba(201, 168, 76, 0.1);
}

.badge-gtds:hover {
    background: rgba(201, 168, 76, 0.25);
    border-color: #fbbf24;
    box-shadow: 0 0 25px rgba(201, 168, 76, 0.2);
    transform: scale(1.05);
}

/* TFIN Verified Badge (Indigo / Professional) */
.badge-tfin {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.15) 0%, rgba(99, 102, 241, 0.05) 100%);
    border-color: rgba(99, 102, 241, 0.4);
    color: #a5b4fc;
    box-shadow: 0 0 15px rgba(99, 102, 241, 0.1);
}

.badge-tfin:hover {
    background: rgba(99, 102, 241, 0.25);
    border-color: #818cf8;
    box-shadow: 0 0 25px rgba(99, 102, 241, 0.2);
    transform: scale(1.05);
}

/* DORA Ready Badge (Green / Resilience) */
.badge-dora {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(16, 185, 129, 0.05) 100%);
    border-color: rgba(16, 185, 129, 0.4);
    color: #6ee7b7;
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.1);
}

.badge-dora:hover {
    background: rgba(16, 185, 129, 0.25);
    border-color: #34d399;
    box-shadow: 0 0 25px rgba(16, 185, 129, 0.2);
    transform: scale(1.05);
}

/* Badge Micro-Animation for 'Active' state */
.badge-active-pulse {
    position: relative;
}

.badge-active-pulse::after {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 100px;
    border: 1px solid currentColor;
    opacity: 0;
    animation: badge-pulse 2s infinite;
}

@keyframes badge-pulse {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(1.2); opacity: 0; }
}
