.trending-battles{max-width:1280px;margin:3rem auto;padding:0 20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-title{font-size:2rem;font-weight:700;color:var(--secondary)}.battles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.battle-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition);cursor:pointer;display:block}.battle-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.battle-card-header{height:180px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.battle-card-header .bg-left{position:absolute;top:0;left:0;width:50%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1}.battle-card-header .bg-right{position:absolute;top:0;right:0;width:50%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:1}.battle-card-header .bg-left::after{content:'';position:absolute;top:0;right:0;width:100px;height:100%;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.3) 100%)}.battle-card-header .bg-right::before{content:'';position:absolute;top:0;left:0;width:100px;height:100%;background:linear-gradient(to left,transparent 0%,rgba(0,0,0,.3) 100%)}.battle-card-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;opacity:.7}.battle-live-badge{position:absolute;top:12px;right:12px;z-index:5;display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#ef4444;border-radius:20px;font-size:.75rem;font-weight:700;color:white;letter-spacing:.5px;box-shadow:0 2px 8px rgba(239,68,68,.4)}.battle-live-badge .live-dot{width:6px;height:6px;background:white;border-radius:50%;animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}.battle-vs-icon{position:relative;z-index:4;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.battle-vs-icon::before{content:'';position:absolute;width:100%;height:100%;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,255,255,.1) 0deg,rgba(255,255,255,.3) 90deg,rgba(255,255,255,.6) 180deg,rgba(255,255,255,.3) 270deg,rgba(255,255,255,.1) 360deg);animation:rotate 3s linear infinite;z-index:-1}.battle-vs-icon::after{content:'';position:absolute;width:85%;height:85%;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.9) 0%,rgba(255,193,7,.7) 50%,rgba(255,152,0,.5) 100%);box-shadow:0 0 20px rgba(255,215,0,.5);z-index:-1}.battle-vs-icon img{width:60%;height:60%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.8));animation:heartbeat 2s ease-in-out infinite;position:relative;z-index:1}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes heartbeat{0%,100%{transform:scale(1)}10%{transform:scale(1.15)}20%{transform:scale(1)}30%{transform:scale(1.15)}40%{transform:scale(1)}}.battle-card-body{padding:1.5rem}.battle-title{font-size:1.25rem;font-weight:700;color:var(--secondary);margin:0 0 .5rem 0}.battle-desc{font-size:.9rem;color:var(--text-muted);margin:0 0 1rem 0}.battle-btn{display:inline-block;padding:.6rem 1.5rem;background:var(--primary);color:white;border-radius:8px;font-weight:600;font-size:.9rem;transition:var(--transition)}.battle-card:hover .battle-btn{background:var(--primary-dark);transform:translateX(4px)}@media (max-width:768px){.battles-grid{grid-template-columns:1fr}.battle-card-header{height:140px}.battle-live-badge{top:8px;right:8px;padding:.3rem .6rem;font-size:.7rem}.battle-live-badge .live-dot{width:5px;height:5px}.battle-vs-icon{width:80px;height:80px}}

/* --- New Stats Section Styles --- */
.card-stats-container {
    margin-bottom: 1rem;
    padding: 0 0.5rem;
}

.mini-progress-track {
    width: 100%;
    height: 8px; /* Slightly thicker */
    background: #f1f5f9;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.6rem;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
}

.mini-progress-bar {
    height: 100%;
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 4px; /* Soft edges */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.stats-text-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
    font-family: 'Inter', sans-serif;
    color: var(--text-muted);
}

.stat-count {
    font-weight: 700;
    color: var(--secondary);
    letter-spacing: -0.02em;
}

.stat-status {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #ef4444; /* Live red */
    display: flex;
    align-items: center;
    gap: 4px;
}

.stat-status::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #ef4444;
    border-radius: 50%;
    animation: blink 1.5s infinite;
}

/* --- Unified App Style Card (Desktop & Mobile) --- */

/* The Container */
.battle-card.constituency-mobile-card {
    padding: 0;
    border-radius: 16px;
    overflow: hidden;
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* Soft shadow */
    display: block;
    height: auto;
    background: white;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.battle-card.constituency-mobile-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

/* Hide Old Elements if present */
.battle-card.constituency-mobile-card .battle-card-header,
.battle-card.constituency-mobile-card .battle-card-body {
    display: none !important;
}

/* Main Layout Wrapper */
.app-style-card {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Visuals Section (Top) */
.app-card-visuals {
    height: auto;
    position: relative;
    display: flex;
    width: 100%;
}

.visual-side {
    width: 50%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.visual-side::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.4)); /* Reduced top opacity */
    z-index: 1;
}

.visual-bg-color {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.15;
}

.visual-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom center;
    position: relative;
    z-index: 0;
    transform: scale(1.1);
    transition: transform 0.3s ease;
}

.battle-card.constituency-mobile-card:hover .visual-img {
    transform: scale(1.15);
}

/* VS Badge */
.visual-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    width: 48px; /* Slightly larger for desktop */
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    color: var(--secondary);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    border: 3px solid rgba(255,255,255,0.3);
    background-clip: padding-box;
}

/* Content Section (Bottom) */
.app-card-content {
    padding: 1.5rem; /* More padding for desktop comfort */
    text-align: center;
    background: white;
    position: relative;
    z-index: 2;
    margin-top: -20px; /* Stronger overlap */
    border-radius: 20px 20px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.app-card-title {
    font-size: 1.25rem; /* Larger title */
    font-weight: 700;
    color: var(--secondary);
    margin: 0 0 0.25rem 0;
}

.app-card-subtitle {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 0.5rem;
}

.app-live-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #ef4444;
    background: #fef2f2;
    padding: 0.4rem 1rem;
    border-radius: 20px;
    margin-bottom: 1.25rem;
    border: 1px solid #fee2e2;
}

.app-live-status .dot {
    width: 8px;
    height: 8px;
    background: #ef4444;
    border-radius: 50%;
    animation: blink 1.5s infinite;
}

.app-vote-btn {
    display: block;
    width: 100%;
    padding: 0.9rem;
    background: var(--primary);
    color: white;
    border-radius: 12px;
    font-weight: 600;
    font-size: 1.05rem;
    text-align: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(37, 99, 235, 0.2);
    transition: background 0.2s, transform 0.1s;
}

.app-vote-btn:hover {
    background: #1d4ed8; /* Darker shade */
}

.app-vote-btn:active {
    transform: scale(0.98);
}
