/* src/features/legislativas/provinciales/TickerWidget.css */ /* --- Contenedor Principal del Widget --- */ .ticker-card { background-color: #ffffff; border: 1px solid #e0e0e0; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); padding: 1rem; /* Usamos rem para un padding relativo */ border-radius: 8px; display: flex; flex-direction: column; /* --- CAMBIO CLAVE: Establecemos un tamaño de fuente base --- */ /* 1rem = al tamaño de fuente del contenedor padre. Si la página usa 16px, el widget usará 16px como base. Si usa 14px, se adaptará a 14px. */ font-size: 1rem; } /* --- Cabecera del Ticker --- */ .ticker-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #e0e0e0; padding-bottom: 0.8rem; margin-bottom: 1rem; } .ticker-header h3 { margin: 0; color: #212529; /* El tamaño del título es 1.1 veces el tamaño base del widget */ font-size: 1.1rem; font-weight: 700; padding-right: 1rem; } .ticker-stats { display: flex; gap: 1.25rem; /* 20px / 16px */ font-size: 0.875rem; /* 14px / 16px */ color: #555; } .ticker-stats strong { color: #0073e6; font-size: 1.1em; /* 1.1 veces el tamaño de su padre (0.875rem) */ } /* --- Resultados (Grid de Partidos) --- */ .ticker-results { display: grid; /* Mantenemos minmax para la responsividad de las columnas */ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; /* 20px */ } .ticker-party { display: flex; align-items: center; gap: 0.8rem; /* 10px */ } /* Logo del partido */ .party-logo { flex-shrink: 0; width: 65px; /* Ligeramente más pequeño para no ser tan dominante */ height: 65px; } .party-logo img { width: 100%; height: 100%; object-fit: contain; /* Usar 'contain' es más seguro para logos */ border-radius: 4px; border: 1px solid #ddd; } /* Detalles (Nombre, Barra, Candidato) */ .party-details { flex-grow: 1; min-width: 0; } .ticker-party .party-info { display: flex; justify-content: space-between; align-items: baseline; /* Alinea la base del texto */ margin-bottom: 0.3rem; /* 5px */ } .ticker-party .party-name { font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 0.6rem; font-size: 0.9rem; color: #343a40; } .ticker-party .party-percent { font-weight: 700; font-size: 0.95rem; /* Un poco más grande para destacar */ flex-shrink: 0; /* Evita que el porcentaje se comprima */ } .party-bar-background { background-color: #e9ecef; border-radius: 4px; height: 8px; /* Un poco más delgada */ overflow: hidden; } .party-bar-foreground { height: 100%; border-radius: 4px; transition: width 0.5s ease-in-out; } .party-candidate-name { font-size: 0.8rem; /* 12.8px / 16px */ color: #555; margin-top: 0.3rem; /* 4px */ font-weight: 400; /* Ligeramente menos pesado */ text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* --- Media Query para Móviles --- */ @media (max-width: 600px) { .ticker-header { flex-direction: column; align-items: center; gap: 0.8rem; } .ticker-header h3 { font-size: 1.1rem; padding-right: 0; } .ticker-results { /* En móvil, forzamos una sola columna */ grid-template-columns: 1fr; } .ticker-party .party-name, .party-candidate-name { white-space: normal; /* Permitimos que el texto se divida en varias líneas */ } }