/**
 * Unified timer styles.
 * Previously split with @import; now inlined to reduce blocking style requests.
 */

/* Base */
.cpc-timer {
    position: relative;
    background: rgba(255, 255, 255, 0.95);
    color: #e74c3c;
    border-radius: 0;
    border-bottom: 2px solid #e74c3c;
    padding-bottom: 3px;
    font-size: 12px;
    font-weight: 600;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: inherit;
    margin-top: 6px;
    margin-bottom: 17px;
}

.cpc-timer:hover {
    background: rgba(255, 255, 255, 1);
}

.cpc-timer-label {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
    opacity: 1;
    font-family: inherit;
    color: #e74c3c;
    direction: ltr;
}

.cpc-timer-display {
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    letter-spacing: 1px;
    color: #e74c3c;
    direction: ltr;
    text-align: center;
}

.cpc-expired .cpc-timer {
    background: rgba(108, 117, 125, 0.9) !important;
    color: #6c757d;
    border-bottom-color: #6c757d;
}

.cpc-expired .cpc-timer-display,
.cpc-expired .cpc-timer-label {
    color: #6c757d;
}

/* States */
.cpc-timer.running {
    animation: cpc-timer-pulse 2s ease-in-out infinite;
}

@keyframes cpc-timer-pulse {
    0%, 100% { background: rgba(255, 255, 255, 0.95); }
    50% { background: rgba(231, 76, 60, 0.1); }
}

.cpc-timer.warning {
    background: rgba(255, 193, 7, 0.1);
    border-bottom-color: var(--cpc-warning-color);
    animation: cpc-timer-warning 1s ease-in-out infinite;
}

.cpc-timer.warning .cpc-timer-display,
.cpc-timer.warning .cpc-timer-label {
    color: var(--cpc-warning-color);
}

@keyframes cpc-timer-warning {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}

.cpc-timer.critical {
    background: rgba(231, 76, 60, 0.1);
    border-bottom-color: var(--cpc-danger-color);
    animation: cpc-timer-critical 0.5s ease-in-out infinite;
}

.cpc-timer.critical .cpc-timer-display,
.cpc-timer.critical .cpc-timer-label {
    color: var(--cpc-danger-color);
}

@keyframes cpc-timer-critical {
    0%, 100% {
        transform: scale(1);
        background: rgba(231, 76, 60, 0.1);
    }
    50% {
        transform: scale(1.05);
        background: rgba(231, 76, 60, 0.2);
    }
}

/* Animations */
.cpc-timer.typewriter .cpc-timer-display {
    overflow: hidden;
    border-right: 2px solid var(--cpc-danger-color);
    white-space: nowrap;
    animation: cpc-typewriter 3s steps(40, end) infinite;
}

@keyframes cpc-typewriter {
    0% { width: 0; }
    50% { width: 100%; }
    100% { width: 0; }
}

/* Styles */
.cpc-timer.style-minimal {
    background: transparent;
    border: var(--cpc-border-width-thin) solid var(--cpc-danger-color);
    border-radius: var(--cpc-border-radius-sm);
}

.cpc-timer.style-rounded { border-radius: var(--cpc-border-radius-md); }
.cpc-timer.style-pill { border-radius: var(--cpc-border-radius-xl); }

.cpc-timer.with-icon::before {
    content: '⏰';
    margin-left: var(--cpc-spacing-xs);
    font-size: var(--cpc-font-size-sm);
}

.cpc-timer.with-prefix .cpc-timer-display::before {
    content: '⏱️ ';
    margin-right: var(--cpc-spacing-xs);
}

.cpc-timer.with-suffix .cpc-timer-display::after {
    content: ' باقی‌مانده';
    margin-right: var(--cpc-spacing-xs);
    font-size: var(--cpc-font-size-sm);
    font-weight: var(--cpc-font-weight-normal);
}

.cpc-timer.full-width {
    width: 100%;
    margin-left: calc(-1 * var(--cpc-spacing-xl));
    margin-right: calc(-1 * var(--cpc-spacing-xl));
    padding-left: var(--cpc-spacing-xl);
    padding-right: var(--cpc-spacing-xl);
}

.cpc-timer.floating {
    position: absolute;
    top: var(--cpc-spacing-sm);
    left: var(--cpc-spacing-sm);
    right: var(--cpc-spacing-sm);
    z-index: var(--cpc-z-index-fixed);
    box-shadow: var(--cpc-button-shadow);
}

.cpc-timer.corner {
    position: absolute;
    top: var(--cpc-spacing-sm);
    right: var(--cpc-spacing-sm);
    z-index: var(--cpc-z-index-dropdown);
    min-width: auto;
    padding: var(--cpc-spacing-xs) var(--cpc-spacing-sm);
    font-size: var(--cpc-font-size-xs);
}

.cpc-timer.corner .cpc-timer-display { font-size: var(--cpc-font-size-sm); }

.cpc-timer.bg-danger {
    background: var(--cpc-danger-color);
    color: var(--cpc-text-white);
}

.cpc-timer.bg-danger .cpc-timer-display,
.cpc-timer.bg-danger .cpc-timer-label { color: var(--cpc-text-white); }

.cpc-timer.bg-warning {
    background: var(--cpc-warning-color);
    color: var(--cpc-text-primary);
}

.cpc-timer.bg-info {
    background: var(--cpc-info-color);
    color: var(--cpc-text-white);
}

.cpc-timer.bg-info .cpc-timer-display,
.cpc-timer.bg-info .cpc-timer-label { color: var(--cpc-text-white); }

.cpc-timer.bordered {
    border: var(--cpc-border-width-medium) solid var(--cpc-danger-color);
    border-radius: var(--cpc-border-radius-sm);
}

.cpc-timer.shadowed { box-shadow: var(--cpc-button-shadow); }

.cpc-timer.transparent {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(4px);
}

/* Effects */
.cpc-timer.neon {
    text-shadow: 0 0 5px var(--cpc-danger-color),
                 0 0 10px var(--cpc-danger-color),
                 0 0 15px var(--cpc-danger-color);
    box-shadow: 0 0 10px rgba(231, 76, 60, 0.5);
}

.cpc-timer.matrix .cpc-timer-display {
    font-family: 'Courier New', monospace;
    color: #00ff00;
    text-shadow: 0 0 5px #00ff00;
}

.cpc-timer.glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: var(--cpc-border-width-thin) solid rgba(255, 255, 255, 0.2);
    border-radius: var(--cpc-border-radius-md);
}

.cpc-timer.gradient {
    background: linear-gradient(45deg, var(--cpc-danger-color), #ff6b6b);
    color: var(--cpc-text-white);
}

.cpc-timer.gradient .cpc-timer-display,
.cpc-timer.gradient .cpc-timer-label {
    color: var(--cpc-text-white);
}