       #grafico-partidos-aragon {
      --ep-gray: #bdbdbd; --text-main: #1a1a1a; --muted: #666; --card: #fff; --border: #ececec;
      font-family: 'Open Sans', sans-serif; width: 100%; max-width: 900px; margin: 0 auto; 
      background: var(--card); border-top: 5px solid var(--ep-gray); padding: 28px; 
      color: var(--text-main); box-sizing: border-box; position: relative;
    }
    #grafico-partidos-aragon h2 { font-family: 'Heebo', sans-serif; font-weight: 900; font-size: 1.7rem; margin: 0; line-height: 1.15; }
    #grafico-partidos-aragon p { margin: 10px 0 22px; color: var(--muted); font-size: 0.98rem; }
    
    .rect-unit { transition: opacity 0.3s ease; cursor: pointer; }
    .bar-label { font-family: 'Heebo', sans-serif; font-size: 15px; font-weight: 900; fill: white; pointer-events: none; }
    .year-label { font-family: 'Heebo', sans-serif; font-size: 13px; font-weight: 800; fill: #888; }

    /* TOOLTIP: Fixed para evitar problemas de inserción en otras webs */
    .tooltip-aragon {
      position: absolute; background: rgba(26, 26, 26, 0.98); color: white; padding: 14px;
      font-size: 13px; pointer-events: none; display: none; z-index: 100000;
      box-shadow: 0 8px 20px rgba(0,0,0,0.3); border-radius: 6px; line-height: 1.5;
      font-family: 'Open Sans', sans-serif; min-width: 200px;
    }

    .legend-section { margin-top: 25px; border-top: 1px solid var(--border); padding-top: 20px; }
    .party-grid { display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; margin-bottom: 20px; }
    .legend-item { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; }
    .dot { width: 10px; height: 10px; border-radius: 50%; }
    
    .controls-info { display: flex; justify-content: center; gap: 25px; align-items: center; font-size: 13px; font-weight: 600; font-family: 'Heebo', sans-serif; }
    .majority-line-desc { width: 30px; border-top: 3px dashed #1a1a1a; }

    /* TU FOOTER PERSONALIZADO */
    #grafico-partidos-aragon .footer-source {
      margin-top: 20px;
      padding-top: 10px;
      font-size: 12px;
      color: #999;
      font-family: 'Open Sans', sans-serif;
      text-align: left;
      border-top: 1px solid var(--border);
    }

    @media (max-width: 500px) {
      #grafico-partidos-aragon { padding: 15px; }
      #grafico-partidos-aragon h2 { font-size: 1rem; }
            #grafico-partidos-aragon p { font-size: 0.8rem; }
    }
