/**
 * Base CSS - DirectaLog
 * Tipografia, body e estilos base
 */

/* Body e HTML */
body {
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    font-family: var(--font-primary);
    font-weight: var(--font-weight-normal);
    color: var(--color-text-muted);
}

body,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
}

/* Tipografia - Títulos */
h1 {
    font-size: var(--font-size-5xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    font-family: var(--font-primary);
    color: var(--color-text-dark);
}

h2 {
    font-size: var(--font-size-4xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    font-family: var(--font-primary);
    color: var(--color-text-dark);
}

h3 {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-normal);
    font-family: var(--font-primary);
    color: var(--color-text-dark);
}

h4 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-normal);
    font-family: var(--font-primary);
    color: var(--color-text-dark);
}

h5 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-normal);
    font-family: var(--font-primary);
    color: var(--color-text-dark);
}

h6 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-normal);
    font-family: var(--font-primary);
    color: var(--color-text-dark);
}

/* Exceções: Títulos em fundos escuros */
.bg-dark h1, .bg-dark h2, .bg-dark h3,
section[class*="dark"] h1, section[class*="dark"] h2,
.banner h1, .banner h2,
#chamada-para-acao h1, #chamada-para-acao h2 {
    color: var(--color-text-white);
}

/* Parágrafos */
p {
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
    font-family: var(--font-primary);
    font-weight: var(--font-weight-normal);
    color: var(--color-text-list);
}

/* Links */
a {
    color: inherit;
    transition: color var(--transition);
}

/* Acessibilidade - Foco */
a:focus-visible, 
button:focus-visible, 
input:focus-visible, 
select:focus-visible, 
textarea:focus-visible, 
[tabindex]:focus-visible { 
    outline: 2px solid var(--color-primary); 
    outline-offset: 2px; 
}

/* Iframes */
iframe {
    border: none;
}
