/* =========================
   PARTIAL RESET
   Ajustes sobre GeneratePress.
   No es un reset universal.
========================= */

body,
h1, h2, h3, h4, h5, h6,
p,
ul, ol,
figure,
blockquote {
    margin: 0;
}

ul,
ol {
    margin: 0;
    padding: 0;
}

/* Reset de listas solo para UI */
nav ul,
nav ol,
.menu,
.sub-menu,
.c-list-reset {
    list-style: none;
}


/* =========================
   BASE DOCUMENT
========================= */

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--lh-normal);
    font-weight: var(--font-weight-body, var(--font-weight-regular));
    color: var(--color-text);
}

button,
input,
select,
textarea {
    font-family: var(--font-body);
    color: inherit;
}


/* =========================
   TYPOGRAPHY FALLBACKS
========================= */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-display);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-title, 0);
    font-weight: var(--font-weight-title, var(--font-weight-regular));
}

p,
blockquote {
    font-family: var(--font-body);
    line-height: var(--lh-normal);
}

small {
    font-size: var(--text-small);
}


/* =========================
   LINKS
========================= */

a {
    color: inherit;
}

/* Links dentro de contenido editorial */
.entry-content a,
.c-article-body a {
    color: var(--color-link, var(--color-primary));
    text-decoration: var(--link-decoration, underline);
    text-underline-offset: var(--link-underline-offset, 0.15em);
}

.entry-content a:hover,
.c-article-body a:hover {
    color: var(--color-link-hover, var(--color-accent));
    text-decoration: var(--link-decoration-hover, underline);
}


/* =========================
   MEDIA
========================= */

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

img,
picture,
video {
    height: auto;
}

iframe,
embed,
object {
    max-width: 100%;
}


/* =========================
   EDITORIAL CONTENT SAFEGUARDS
   Recupera comportamiento natural
   dentro del contenido editorial.
========================= */

.entry-content ul,
.c-article-body ul {
    list-style: disc;
}

.entry-content ol,
.c-article-body ol {
    list-style: decimal;
}

.entry-content ul,
.entry-content ol,
.c-article-body ul,
.c-article-body ol {
    padding-left: 1.25em;
}

.entry-content li,
.c-article-body li {
    font-family: var(--font-body);
    line-height: var(--lh-normal);
}

.entry-content li + li,
.c-article-body li + li {
    margin-top: var(--space-8);
}


/* =========================
   FOCUS
========================= */

:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: 3px;
}


/* =========================
   TITLE PRIMITIVES
========================= */

.t-display {
    font-family: var(--font-display);
    font-size: var(--text-display);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-display, 0);
    font-weight: var(--font-weight-display, var(--font-weight-regular));
}

.t-title {
    font-family: var(--font-display);
    font-size: var(--text-title);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-title, 0);
    font-weight: var(--font-weight-title, var(--font-weight-regular));
}

.t-title-xl {
    font-family: var(--font-display);
    font-size: var(--text-title-xl);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-title, 0);
    font-weight: var(--font-weight-title, var(--font-weight-regular));
}

.t-title-lg {
    font-family: var(--font-display);
    font-size: var(--text-title-lg);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-title, 0);
    font-weight: var(--font-weight-title, var(--font-weight-regular));
}

.t-title-md {
    font-family: var(--font-display);
    font-size: var(--text-title-md);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-title, 0);
    font-weight: var(--font-weight-title, var(--font-weight-regular));
}

.t-title-sm {
    font-family: var(--font-display);
    font-size: var(--text-title-sm);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-title, 0);
    font-weight: var(--font-weight-title, var(--font-weight-regular));
}

.t-title-xs {
    font-family: var(--font-display);
    font-size: var(--text-title-xs);
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-title, 0);
    font-weight: var(--font-weight-title, var(--font-weight-regular));
}

.t-section-title {
    font-family: var(--font-section-title, var(--font-display));
    font-size: var(--text-section-title);
    line-height: var(--lh-section-title, var(--lh-tight));
    letter-spacing: var(--tracking-section-title, 0);
    font-weight: var(--font-weight-section-title, var(--font-weight-title, var(--font-weight-regular)));
    text-transform: var(--transform-section-title, none);
}

.t-lead {
    font-family: var(--font-lead, var(--font-body));
    font-size: var(--text-lead);
    line-height: var(--lh-lead);
    letter-spacing: var(--tracking-lead, 0);
    font-weight: var(--font-weight-lead, var(--font-weight-body, var(--font-weight-regular)));
    color: var(--color-description);
}

.t-body {
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--lh-normal);
    letter-spacing: var(--tracking-body, 0);
    font-weight: var(--font-weight-body, var(--font-weight-regular));
    color: var(--color-text);
}

.t-label {
    font-family: var(--tag-font, var(--font-body));
    font-size: var(--tag-size, var(--text-label));
    line-height: var(--tag-line-height, var(--lh-label));
    letter-spacing: var(--tag-tracking, var(--tracking-label, 0));
    font-weight: var(--tag-weight, var(--font-weight-label, var(--font-weight-medium)));
    text-transform: var(--tag-transform, var(--transform-label, none));
}

.t-meta {
    font-family: var(--font-body);
    font-size: var(--text-meta);
    line-height: var(--lh-meta);
    letter-spacing: var(--tracking-meta, 0);
    font-weight: var(--font-weight-meta, var(--font-weight-regular));
}