/* Typography system for RedLogistica Magazine */
:root {
    --font-brand: 'Montagu Slab', serif;
    --font-display: "Jost", sans-serif;
    --font-body: 'Manrope', sans-serif;
}

html {
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    line-height: 1.6;
}

/* Tailwind-compatible utility aliases */
.font-brand,
.font-montagu {
    font-family: var(--font-brand) !important;
}

.font-display,
.font-imbue {
    font-family: var(--font-brand) !important;
}

.font-body,
.font-manrope {
    font-family: var(--font-display) !important;
}

/* Global element defaults */
.logo,
[aria-label="Inicio"] {
    font-family: var(--font-brand);
}

h1, h2, h3, h4, h5, h6,
.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
    font-family: var(--font-display);
    letter-spacing: -0.03em;
    color: #0f172a;
}

h1, .prose h1 {
    font-weight: 900;
    line-height: 1.02;
}

h2, .prose h2 {
    font-weight: 900;
    line-height: 1.08;
}

h3, .prose h3 {
    font-weight: 700;
    line-height: 1.12;
}

h4, .prose h4 {
    font-weight: 700;
    line-height: 1.18;
}

h5, .prose h5,
h6, .prose h6 {
    font-weight: 700;
    line-height: 1.2;
}

p,
.prose p,
a,
.prose a,
li,
.prose li,
span,
label {
    font-family: var(--font-body);
}

.prose p {
    font-weight: 300;
    letter-spacing: 0.15px;
}

strong,
b {
    font-family: var(--font-body);
    font-weight: 700;
}

.text-meta,
.uppercase,
.tracking-widest,
.font-black {
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: 1.2px;
}

blockquote,
.prose blockquote {
    font-family: var(--font-display);
    font-weight: 400;
    font-style: italic;
}

code,
pre,
.prose code,
.prose pre {
    font-family: 'Courier New', monospace;
}

/* Article layout helpers */
.contenido-wp p {
    margin-bottom: 1.25rem;
    line-height: 1.8;
    color: var(--mag-ink-soft);
    font-family: var(--font-body);
    font-weight: 400;
    letter-spacing: 0.1px;
    font-size: 1.02rem;
}

.contenido-wp h2 {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.08;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    color: var(--mag-ink);
    letter-spacing: -0.03em;
}

.contenido-wp h3 {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.12;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    color: var(--mag-ink);
    letter-spacing: -0.025em;
}

.contenido-wp strong,
.contenido-wp b {
    font-family: var(--font-body);
    font-weight: 700;
}

.contenido-wp blockquote {
    font-family: var(--font-display);
    font-weight: 400;
    font-style: italic;
    border-left: 4px solid var(--mag-accent-soft);
    padding-left: 1.5rem;
    margin: 1.5rem 0;
    color: var(--mag-ink-soft);
    background-color: var(--mag-surface-alt-bg);
    padding: 1rem 1.5rem;
}

.contenido-wp img {
    width: 100%;
    height: auto;
    border-radius: 0;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--mag-border);
}

.magazine-shell {
    width: min(100%, 80rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 768px) {
    .magazine-shell {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (min-width: 1280px) {
    .magazine-shell {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

.magazine-rule {
    border-top: 3px solid #0f172a;
}

.magazine-kicker {
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--mag-ink-faint);
}

.magazine-article {
    width: 100%;
}

.magazine-article-lead {
    font-family: var(--font-display);
    font-size: 1.2rem;
    line-height: 1.7;
    font-style: italic;
    color: var(--mag-ink-soft);
}

.magazine-article-body {
    max-width: none;
    font-size: 1.04rem;
    line-height: 1.8;
    color: var(--mag-ink-soft);
}

.magazine-article-body h2 {
    font-family: var(--font-display);
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.08;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    letter-spacing: -0.03em;
    color: var(--mag-ink);
}

.magazine-article-body h3 {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.12;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    letter-spacing: -0.025em;
    color: var(--mag-ink);
}

.magazine-article-body p {
    margin-bottom: 1.2rem;
}

.magazine-article-body p a {
    color: var(--mag-accent) !important;
    text-decoration: underline;
}

.magazine-article-body blockquote {
    font-family: var(--font-display);
    font-size: 1.08rem;
    line-height: 1.75;
    font-style: italic;
    border-left: 4px solid var(--mag-accent-soft);
    background: var(--mag-surface-alt-bg);
    padding: 1.1rem 1.4rem;
    margin: 1.6rem 0;
    color: var(--mag-ink-soft);
}

.magazine-article-body img,
.magazine-article-body figure {
  display: block;          /* evita inline gaps */
  max-width: 100%;         /* nunca más ancho que el contenedor */
  height: auto;            /* mantiene la relación de aspecto */
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  object-fit: contain;     /* asegura que no se deforme */
}


.prose h1,
.prose h2,
.prose h3,
.prose h4 {
    font-family: var(--font-display);
    font-weight: bolder;
}

.prose p {
    font-family: var(--font-body);
    font-weight: 400;
}

.prose strong {
    font-family: var(--font-body);
    font-weight: 700;
}

.prose blockquote {
    font-family: var(--font-display);
    border-left-color: var(--mag-accent-soft);
}
