body {
  font-family: var(--font-primary);
  color: var(--epic-text-color);
  top: 0px !important; /* Prevent page content from shifting down */
}

.font-headings {
  font-family: var(--font-headings);
}

.font-body {
  font-family: var(--font-primary);
}

@media (prefers-color-scheme: dark) {
  body {
    color: var(--epic-text-light);
  }
}


/* Hide the Google Translate toolbar */
.goog-te-banner-frame {
    display: none !important;
}

/* Ensure the Google Translate widget itself is not accidentally shown if not already hidden by inline style */
#google_translate_element {
    display: none;
}

/* Ocultar visualmente pero mantener accesible */
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* Tagline backgrounds */
#memoria {
    background-color: rgba(var(--epic-purple-emperor-rgb), 0.1);
}

#memoria h2.gradient-text, .tagline-background {
    display: inline-block;
    padding: 0.3em 0.6em;
    background-color: rgba(var(--epic-purple-emperor-rgb), 0.3);
    border-radius: var(--border-radius-medio, 8px);
}

/* Purple shadow utility for timeline cards */
.purple-shadow {
    box-shadow: 0 4px 10px rgba(var(--epic-purple-emperor-rgb, 74, 13, 103), 0.4);
}

/* Utility classes using project color variables */
.bg-epic-purple { background-color: var(--epic-purple-emperor); }
.bg-epic-purple-50 { background-color: rgba(var(--epic-purple-emperor-rgb), 0.5); }
.bg-epic-purple-70 { background-color: rgba(var(--epic-purple-emperor-rgb), 0.7); }
.bg-epic-gold { background-color: var(--epic-gold-main); }
.text-epic-light { color: var(--epic-text-light); }
.text-epic-gold { color: var(--epic-gold-main); }
.border-epic-purple { border-color: var(--epic-purple-emperor); }

/* help toggle and panel */
#help-toggle {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(var(--epic-purple-emperor-rgb), 0.8);
    color: var(--epic-gold-main);
    font-size: 1.5rem;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1100;
}

#help-panel {
    position: fixed;
    bottom: 80px;
    right: 20px;
    max-width: 300px;
    background-color: rgba(var(--epic-alabaster-bg-rgb), 0.95);
    border: 2px solid var(--epic-gold-main);
    box-shadow: var(--global-box-shadow-dark);
    padding: 1em;
    border-radius: var(--global-border-radius);
    color: var(--epic-text-color);
    z-index: 1100;
}

#help-panel.hidden {
    display: none;
}

#help-panel h2 {
    margin-top: 0;
    color: var(--epic-purple-emperor);
    font-size: 1.2rem;
}

#help-close {
    float: right;
    background: none;
    border: none;
    color: var(--epic-purple-emperor);
    font-size: 1.2rem;
    cursor: pointer;
}
