/* Whooks Brand Variables */
:root {
    --whooks-red: #dc3545; /* Brand color */
    --whooks-red-hover: #bb2d3b;
    --whooks-light-red: rgba(220, 53, 69, 0.08);
}

/* Standard Typography */
.fw-extrabold { font-weight: 800; }

/* The Standard Whooks Button */
.btn-whooks {
    background-color: var(--whooks-red) !important;
    color: white !important;
    border: none !important;
    border-radius: 50px !important; /* Rounded pill style */
    font-weight: 700;
    padding: 10px 24px;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 4px 6px rgba(220, 53, 69, 0.11);
}

.btn-whooks:hover {
    background-color: var(--whooks-red-hover) !important;
    transform: translateY(-2px); /* Subtle lift */
    box-shadow: 0 7px 14px rgba(220, 53, 69, 0.15);
}

/* Standard Card Style */
.card-whooks {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden;
}

/* Standard Inputs */
.form-control-whooks {
    border-radius: 10px !important;
    border: 1px solid #dee2e6 !important;
    padding: 12px 16px !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-control-whooks:focus {
    border-color: var(--whooks-red) !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.1) !important;
    outline: none;
}


/* Whooks Standard Typography & Layout */
.fw-extrabold { font-weight: 800; }
.card-whooks { border-radius: 20px; border: none; box-shadow: 0 10px 40px rgba(0,0,0,0.08); }

/* The Standardized Button */
.btn-whooks {
    background-color: #dc3545 !important;
    color: white !important;
    border-radius: 50px !important;
    padding: 12px 30px;
    font-weight: 700;
    border: none !important;
    transition: all 0.2s ease-in-out;
}
.btn-whooks:hover:not(:disabled) {
    background-color: #bb2d3b !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(220, 53, 69, 0.3);
}
.btn-whooks:disabled {
    background-color: #e9ecef !important;
    color: #adb5bd !important;
    cursor: not-allowed;
}

/* Perfect Y-Alignment for Badges */
.badge-whooks-sm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 16px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1; /* Critical for Y-centering */
}

/* Security Pulse Animation */
.dot-pulse-green {
    width: 8px;
    height: 8px;
    background-color: #20c997;
    border-radius: 50%;
    animation: pulse-timer 1.5s infinite;
}
@keyframes pulse-timer {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.2); }
    100% { opacity: 1; transform: scale(1); }
}