/* ============================================
   ESTILS BASE
   Depèn de les variables --mg-*
   ============================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: var(--mg-font-size-base);
}

body {
    font-family: var(--mg-font-primary);
    background-color: var(--mg-bg-primary);
    color: var(--mg-text-primary);
    line-height: var(--mg-line-height);
    letter-spacing: var(--mg-letter-spacing);
    text-shadow: var(--mg-text-shadow);
    min-height: 100vh;
}

/* Tipografia */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--mg-font-secondary);
    color: var(--mg-text-primary)!important;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 1rem;
    text-shadow: var(--mg-text-shadow-strong);
}

h1 { font-size: var(--mg-font-size-title); }
h2 { font-size: var(--mg-font-size-xl); }
h3 { font-size: var(--mg-font-size-lg); }
h4 { font-size: var(--mg-font-size-base); }
h5 { font-size: var(--mg-font-size-sm); }
h6 { font-size: var(--mg-font-size-sm); }

/* Enllaços */
a {
    color: var(--mg-primary-light);
    text-decoration: none;
    border-bottom: 1px dashed var(--mg-primary);
    transition: var(--mg-transition-base);
}

a:hover {
    color: var(--mg-primary-bright);
    border-bottom: 1px solid var(--mg-primary-bright);
    text-shadow: var(--mg-text-shadow-strong);
}

/* Text */
p {
    margin-bottom: 1rem;
}

strong, b {
    color: var(--mg-primary-bright);
    font-weight: bold;
}

em, i {
    color: var(--mg-secondary);
}

small {
    font-size: var(--mg-font-size-sm);
    color: var(--mg-text-muted);
}

/* Llistes */
ul, ol {
    padding-left: 2rem;
    margin-bottom: 1rem;
}

li {
    margin-bottom: 0.5rem;
}

/* Separadors */
hr {
    border: none;
    border-top: var(--mg-border-width) var(--mg-border-style) var(--mg-border-color);
    margin: 2rem 0;
}