/**
 * Letrases — Refinamiento visual Fase 3.1–3.4.
 * Capa de ajustes progresivos: conserva las clases existentes y mejora
 * jerarquía editorial, consistencia, accesibilidad y adaptación responsive.
 */
:root {
    --color-accent: #28545A;
    --color-accent-hover: #1D4145;
    --color-surface: #F7F5F0;
    --color-border: #D8D2C8;
    --color-muted: #625F59;
    --radius: 10px;
    --radius-sm: 7px;
    --radius-lg: 16px;
    --max-width: 1160px;
    --max-width-reading: 700px;
    --text-h1: clamp(2.35rem, 5vw, 4.25rem);
    --text-h2: clamp(1.9rem, 3.8vw, 3rem);
    --text-h3: clamp(1.45rem, 2.8vw, 2rem);
}

html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { min-width: 320px; overflow-wrap: break-word; }
:where(button, input, select, textarea) { font: inherit; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #6b9ba8;
    outline-offset: 3px;
}
::selection { background: #DCE8E5; color: #111; }

/* Cabecera: navegación y búsqueda siempre visibles, también en móvil. */
.lt-site-header {
    padding: 14px clamp(16px, 3vw, 32px);
    background: rgba(247,245,240,.96);
    border-bottom-color: var(--color-border);
    backdrop-filter: saturate(140%) blur(12px);
}
.lt-site-header__inner { gap: clamp(12px, 2vw, 26px); }
.lt-site-header__logo {
    font-size: 1.8rem;
    letter-spacing: -.045em;
    line-height: 1;
}
.lt-site-header__form {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1 1 220px;
    max-width: 430px;
    min-width: 0;
}
.lt-site-header__search {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 42px;
    background: #F7F5F0;
    border-color: transparent;
    border-radius: 7px;
}
.lt-site-header__search:focus { background: #FFFFFF; border-color: var(--color-accent); }
.lt-site-header__form .lt-btn { flex: 0 0 auto; }
.lt-site-header__inner > nav { min-width: 0; }
.lt-site-header__menu { gap: clamp(12px, 1.8vw, 24px); }
.lt-site-header__menu a { display: inline-flex; align-items: center; min-height: 40px; font-size: .9rem; }
.lt-site-header__menu a:hover { text-decoration: underline; text-underline-offset: 5px; }

/* Ritmo editorial y lectura. */
.lt-hero { padding: clamp(64px, 10vw, 128px) 24px clamp(48px, 7vw, 88px); }
.lt-hero__title {
    max-width: 950px;
    margin-inline: auto;
    font-size: clamp(2.6rem, 7vw, 5.4rem);
    line-height: .99;
    letter-spacing: -.045em;
    text-wrap: balance;
}
.lt-hero__subtitle { max-width: 600px; font-size: clamp(1.05rem, 2vw, 1.28rem); line-height: 1.75; }
.lt-hero__cta { flex-wrap: wrap; justify-content: center; }
.lt-section { padding-block: clamp(40px, 6vw, 76px); }
.lt-section__header { gap: 16px; }
.lt-section__title { letter-spacing: -.025em; line-height: 1.12; }
.lt-grid { gap: clamp(16px, 2.4vw, 28px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.lt-grid--2, .lt-grid--authors { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.lt-card { border-color: var(--color-border); border-radius: 10px; box-shadow: 0 1px 2px rgba(22,28,26,.025); }
.lt-card:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(22,28,26,.075); }
.lt-card, .lt-author-card { transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.lt-card__img { background: var(--color-surface); }
.lt-card__body { padding: clamp(18px, 2.3vw, 26px); }
.lt-card__title { font-size: clamp(1.25rem, 2vw, 1.55rem); letter-spacing: -.015em; }
.lt-card__excerpt { line-height: 1.7; }
.lt-author-card { border-radius: 10px; }
.lt-author-card:hover { transform: translateY(-2px); border-color: #B7C9C6; }
.lt-btn { min-height: 42px; border-radius: 7px; font-weight: 600; }
.lt-btn--primary { background: var(--color-accent); }
.lt-btn--primary:hover { background: var(--color-accent-hover); }
.lt-input, .lt-textarea, .lt-select { min-height: 44px; border-radius: 7px; }
.lt-publication { padding-top: clamp(40px, 7vw, 80px); }
.lt-publication__title { font-size: clamp(2.45rem, 6vw, 4.35rem); line-height: 1.03; letter-spacing: -.04em; text-wrap: balance; }
.lt-publication__content { font-size: clamp(1.08rem, 1.5vw, 1.2rem); line-height: 1.9; }
.lt-publication__content p { max-width: 68ch; }
.lt-publication__content h2 { line-height: 1.12; letter-spacing: -.025em; }
.lt-publication__content img { border-radius: 8px; }
.lt-explore__title { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.04; letter-spacing: -.04em; }
.lt-explore__filters { gap: 16px; }
.lt-site-footer { background: #F7F5F0; margin-top: clamp(48px, 8vw, 96px); }
.lt-site-footer__inner { gap: 20px; }
.lt-site-footer__menu { flex-wrap: wrap; }

@media (max-width: 1024px) {
    .lt-site-header__inner { flex-wrap: wrap; }
    .lt-site-header__inner > nav { order: 3; flex: 1 0 100%; overflow-x: auto; }
    .lt-site-header__menu { width: max-content; max-width: 100%; }
    .lt-site-header__form { margin-left: auto; }
}
@media (max-width: 768px) {
    .lt-site-header__search { display: block; }
}

@media (max-width: 680px) {
    .lt-site-header { position: relative; padding: 14px 16px 10px; }
    .lt-site-header__inner { gap: 12px; }
    .lt-site-header__logo { font-size: 1.65rem; }
    .lt-site-header__form { order: 2; flex: 1 0 100%; max-width: none; margin: 0; }
    .lt-site-header__search { display: block; }
    .lt-site-header__form .lt-btn { padding-inline: 12px; }
    .lt-site-header__inner > nav { order: 3; margin-inline: -16px; padding-inline: 16px; }
    .lt-site-header__menu { gap: 18px; }
    .lt-site-header__menu a { font-size: .86rem; }
    .lt-hero { padding: 60px 20px 44px; }
    .lt-hero__title { font-size: clamp(2.6rem, 12vw, 4rem); }
    .lt-hero__subtitle { font-size: 1.05rem; }
    .lt-section { padding-inline: 18px; }
    .lt-section__header { align-items: flex-start; flex-direction: column; }
    .lt-grid, .lt-grid--2, .lt-grid--authors { grid-template-columns: minmax(0, 1fr); }
    .lt-publication { padding: 36px 20px 64px; }
    .lt-publication__meta { flex-wrap: wrap; }
    .lt-author-profile { padding-inline: 16px; }
    .lt-author-profile__header { padding-inline: 8px; }
    .lt-author-profile__stats { flex-wrap: wrap; justify-content: center; gap: 12px 20px; }
    .lt-explore { padding: 32px 16px 56px; }
    .lt-explore__filters { align-items: stretch; }
    .lt-explore__filter-group, .lt-explore__filter-group--end { width: 100%; margin-left: 0; }
    .lt-explore__filter-group select, .lt-explore__filter-group input { max-width: 100%; min-width: 0; }
    .lt-site-footer { padding: 32px 18px; }
    .lt-site-footer__inner { align-items: flex-start; flex-direction: column; }
    .lt-site-footer__menu { gap: 10px 18px; }
    .lt-404 { padding: 80px 20px; }
}
@media (max-width: 380px) {
    .lt-site-header__form .lt-btn { font-size: .78rem; padding-inline: 9px; }
    .lt-hero__cta { align-items: stretch; flex-direction: column; }
    .lt-hero__cta .lt-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Estados compartidos: vacío, error, carga, paginación y formularios. */
.lt-empty-state {
    padding: clamp(36px, 6vw, 68px) clamp(18px, 4vw, 36px);
    background: #F7F5F0;
    border: 1px dashed #d9d6ce;
    border-radius: 12px;
}
.lt-empty-state__icon { opacity: .7; }
.lt-empty-state__title { font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
.lt-alert { border-radius: 8px; line-height: 1.55; }
.lt-skeleton { background-color: #efeee9; }
.lt-pagination { flex-wrap: wrap; }
.lt-pagination a, .lt-pagination span { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.lt-tabs { gap: 4px; overflow-x: auto; }
.lt-tabs__tab { white-space: nowrap; }
.lt-modal { max-height: min(86vh, 760px); overflow-y: auto; }
.lt-toast { max-width: min(420px, calc(100vw - 32px)); right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
.lt-explore__input { min-height: 46px; border-radius: 7px; }
.lt-explore__filter-group select,
.lt-explore__filter-group input,
.lt-explore__filter-group button { min-height: 40px; max-width: 100%; }
.lt-publication__tags a { display: inline-flex; align-items: center; min-height: 32px; text-decoration: none; }
.lt-comment { min-width: 0; }
.lt-comment__body { min-width: 0; overflow-wrap: anywhere; }
.lt-comment__text { line-height: 1.7; }

@media (max-width: 480px) {
    .lt-pagination { gap: 6px; }
    .lt-pagination a, .lt-pagination span { min-width: 36px; min-height: 36px; padding: 6px 10px; }
    .lt-modal { padding: 22px; width: calc(100% - 24px); }
    .lt-toast { left: 12px; right: 12px; bottom: 12px; width: auto; }
}

/* Fase 3.6 — portada editorial y lectura. */
.lt-hero {
    position: relative;
    isolation: isolate;
    max-width: 1280px;
}
.lt-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 8% 8% 4%;
    border-radius: clamp(18px, 3vw, 36px);
    background: radial-gradient(ellipse at 50% 0%, rgba(220, 233, 233, .62), rgba(247, 246, 242, 0) 72%);
    pointer-events: none;
}
.lt-hero__title { max-width: 900px; }
.lt-hero__subtitle { text-wrap: pretty; }
.lt-section--featured .lt-card--featured {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    overflow: hidden;
    align-items: stretch;
}
.lt-section--featured .lt-card--featured > a { display: block; min-height: 100%; }
.lt-section--featured .lt-card--featured .lt-card__img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
}
.lt-section--featured .lt-card--featured .lt-card__body {
    align-self: center;
    padding: clamp(24px, 4vw, 48px);
}
.lt-publication__cover {
    margin: 0 0 clamp(32px, 5vw, 56px);
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--color-surface);
}
.lt-publication__cover img {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(68vh, 680px);
    object-fit: cover;
}
.lt-publication__meta { row-gap: 10px; }
.lt-publication__meta .lt-btn { white-space: nowrap; }
.lt-share-status { flex-basis: 100%; }
.lt-publication__content { overflow-wrap: anywhere; }
.lt-publication__content > * { max-width: 100%; }
.lt-publication__content figure { margin-inline: 0; }
.lt-publication__content img,
.lt-publication__content video,
.lt-publication__content iframe { max-width: 100%; }
.lt-publication__content pre { max-width: 100%; overflow-x: auto; }
.lt-publication__content table { display: block; max-width: 100%; overflow-x: auto; }
.lt-author-bio__description:empty { display: none; }

@media (max-width: 720px) {
    .lt-section--featured .lt-card--featured { grid-template-columns: minmax(0, 1fr); }
    .lt-section--featured .lt-card--featured .lt-card__img { min-height: 0; max-height: 340px; }
    .lt-section--featured .lt-card--featured .lt-card__body { padding: 22px; }
    .lt-publication__cover img { max-height: 48vh; object-fit: contain; }
}


/* Fase 3.7 — descubrimiento y directorio de autores. */
.lt-explore__sort-form { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.lt-explore__sort-submit { white-space: nowrap; }
.lt-authors-directory__search { display: flex; gap: 10px; align-items: center; max-width: 680px; margin: 0 0 18px; }
.lt-authors-directory__search .lt-explore__input { flex: 1 1 18rem; min-width: 0; }
.lt-authors-directory__count { color: var(--color-muted); font-size: var(--text-small); margin-bottom: var(--space-24); }
.lt-author-card { min-width: 0; display: flex; align-items: flex-start; gap: 14px; padding: 18px; border: 1px solid var(--color-border, #e4e1d9); background: var(--color-surface, #fff); text-decoration: none; color: inherit; }
.lt-author-card__content { flex: 1; min-width: 0; }
.lt-author-card__name { display: block; overflow-wrap: anywhere; }
.lt-author-card__specialties { margin: 6px 0 0; overflow-wrap: anywhere; }
.lt-author-card__tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.lt-author-card__arrow { margin-left: auto; opacity: .6; }
.lt-author-card:focus-visible { outline: 3px solid var(--color-accent, #286c68); outline-offset: 3px; }
.lt-explore__error { margin: 0 0 16px; padding: 12px 14px; }
@media (max-width: 560px) {
    .lt-authors-directory__search { align-items: stretch; flex-direction: column; }
    .lt-authors-directory__search .lt-explore__input,
    .lt-authors-directory__search .lt-btn { width: 100%; }
    .lt-explore__sort-form { align-items: stretch; }
    .lt-explore__sort-form select, .lt-explore__sort-submit { width: 100%; }
}


/* Páginas informativas: no reutilizar el hero de la portada como contenido. */
.lt-page-shell { width: min(100% - 2.5rem, 780px); margin: clamp(3rem, 8vw, 7rem) auto; min-height: 45vh; }
.lt-page__header { margin-bottom: clamp(2rem, 5vw, 3.5rem); padding-bottom: 1.5rem; border-bottom: 1px solid var(--color-border, #e8e4de); }
.lt-page__eyebrow { margin: 0 0 .75rem; color: var(--color-muted, #6b6b68); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.lt-page__title { margin: 0; font-family: var(--font-serif, Georgia, serif); font-size: clamp(2.25rem, 6vw, 4rem); line-height: 1.05; letter-spacing: -.035em; }
.lt-page__content { color: var(--color-text, #222); font-size: 1.05rem; line-height: 1.85; overflow-wrap: anywhere; }
.lt-page__content > :first-child { margin-top: 0; }
.lt-page__content a { text-underline-offset: .2em; }
.lt-page__content img { max-width: 100%; height: auto; }



/* Fase 4.5 — accesibilidad y robustez responsive transversal. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--color-accent, #285c67);
    outline-offset: 3px;
}
:where(button, input, select, textarea) {
    max-width: 100%;
}
img, video, iframe, embed, object {
    max-width: 100%;
}
pre, code {
    overflow-wrap: anywhere;
}
html {
    scroll-padding-top: 6rem;
}
@media (max-width: 600px) {
    .lt-page-shell {
        width: min(100% - 2rem, 780px);
        margin-block: 2.5rem;
    }
    .lt-page__content {
        font-size: 1rem;
        line-height: 1.75;
    }
    .lt-page__title {
        overflow-wrap: anywhere;
    }
}
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto !important;
    }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}


/* Fase 4.9 — acceso visible y bienvenida del primer uso. */
.lt-account-nav { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex: 0 0 auto; }
.lt-account-nav__link { color: var(--color-text, #242424); text-decoration: none; font-weight: 600; padding: 9px 12px; border-radius: 6px; }
.lt-account-nav__register { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 14px; border-radius: 6px; background: var(--color-text, #242424); color: #fff; text-decoration: none; font-weight: 600; }
.lt-account-nav a:focus-visible { outline: 2px solid var(--color-accent, #2f6259); outline-offset: 3px; }
.lt-onboarding { margin-top: 30px; padding: clamp(22px, 4vw, 42px); border: 1px solid var(--color-border, #e5e1d9); border-radius: 12px; background: #F7F5F0; max-width: 900px; }
.lt-onboarding__eyebrow { margin: 0 0 10px; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 700; color: var(--color-muted, #666); }
.lt-onboarding h3 { margin: 0 0 12px; font-family: var(--font-heading, Georgia, serif); font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.15; }
.lt-onboarding > p:not(.lt-onboarding__eyebrow) { max-width: 620px; color: var(--color-muted, #666); line-height: 1.65; }
.lt-onboarding__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.lt-loading-fallback { color: var(--color-muted, #666); padding: 18px; }
@media (max-width: 768px) { .lt-account-nav { margin-left: auto; } .lt-account-nav__link, .lt-account-nav__register { min-height: 42px; } }
@media (max-width: 420px) { .lt-account-nav { width: 100%; justify-content: flex-start; } .lt-account-nav__register { flex: 1; } .lt-onboarding__actions { align-items: stretch; flex-direction: column; } .lt-onboarding__actions .lt-btn { text-align: center; } }

/* Letrases editorial relaunch: literatura contemporánea, no interfaz genérica. */
.lt-editorial-kicker{margin:0 0 14px;color:#a35c42;font-size:.72rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.lt-home-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);gap:clamp(32px,8vw,120px);align-items:center;max-width:1160px;margin:0 auto;padding:clamp(52px,8vw,104px) 24px;border-bottom:1px solid var(--color-border)}
.lt-home-intro__copy h2,.lt-writers-cta h2{max-width:760px;margin:0 0 22px;font-family:var(--font-heading,Georgia,serif);font-size:clamp(2.1rem,4.8vw,4.4rem);font-weight:500;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.lt-home-intro__copy>p:not(.lt-editorial-kicker),.lt-writers-cta p:not(.lt-editorial-kicker){max-width:650px;color:var(--color-muted);font-size:1.08rem;line-height:1.85}
.lt-home-intro__note{padding:32px;border-left:1px solid #c7a18e;background:#f7f0e9;color:#523d34;transform:rotate(1.5deg)}
.lt-home-intro__asterisk{display:block;font-size:2.5rem;color:#a35c42;margin-bottom:22px}
.lt-home-intro__note p{font-family:var(--font-heading,Georgia,serif);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.5;margin:0}
.lt-text-link{display:inline-flex;gap:12px;align-items:center;margin-top:16px;color:var(--color-accent);font-weight:750;text-decoration:none;border-bottom:1px solid #9fb6b8;padding-bottom:7px}
.lt-genre-band{max-width:1160px;margin:0 auto;padding:clamp(48px,7vw,88px) 24px}
.lt-genre-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.lt-genre-tile{position:relative;display:flex;min-height:160px;flex-direction:column;justify-content:space-between;padding:22px;background:#f5f3ee;border:1px solid #e6e1d8;border-radius:3px;color:#222;text-decoration:none;transition:background .2s,transform .2s,border-color .2s}
.lt-genre-tile:nth-child(4n+2){background:#e9efed}.lt-genre-tile:nth-child(4n+3){background:#f1e7df}.lt-genre-tile:hover{transform:translateY(-4px);border-color:#b9c9c6;background:#fff}
.lt-genre-tile__count{font-size:.72rem;color:#77736c;letter-spacing:.06em;text-transform:uppercase}.lt-genre-tile strong{font-family:var(--font-heading,Georgia,serif);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500}.lt-genre-tile__arrow{position:absolute;right:18px;bottom:18px;color:#a35c42}
.lt-writers-cta{display:flex;max-width:1160px;align-items:center;justify-content:space-between;gap:36px;margin:24px auto 60px;padding:clamp(30px,5vw,64px);background:#233f43;color:#fff;border-radius:4px}
.lt-writers-cta .lt-editorial-kicker{color:#e0ad91}.lt-writers-cta h2{max-width:620px}.lt-writers-cta p:not(.lt-editorial-kicker){color:#d4dfdc}.lt-writers-cta .lt-btn{flex:0 0 auto;background:#f0e7dc;color:#203b3e;white-space:nowrap}
.lt-editorial-hero{padding:clamp(56px,9vw,112px) 24px 64px;text-align:center;background:#f3f0e9;border-bottom:1px solid var(--color-border)}
.lt-editorial-hero h1{max-width:850px;margin:0 auto 20px;font-family:var(--font-heading,Georgia,serif);font-size:clamp(3rem,8vw,6.6rem);font-weight:500;line-height:.97;letter-spacing:-.055em;text-wrap:balance}
.lt-editorial-hero>p:not(.lt-editorial-kicker){max-width:650px;margin:0 auto;color:#68655f;font-size:1.1rem;line-height:1.8}
.lt-publications-search{display:flex;gap:10px;max-width:760px;margin:32px auto 0;padding:8px;background:#fff;border:1px solid #e1dcd3;border-radius:6px;box-shadow:0 12px 40px rgba(40,44,40,.06)}
.lt-publications-search input{flex:1;min-width:0;border:0!important;box-shadow:none!important;padding:12px 16px;background:transparent;font-size:1rem}
.lt-publications-search button{padding-inline:22px}
.lt-publications-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,5vw,64px);max-width:1200px;margin:0 auto;padding:clamp(40px,6vw,76px) 24px}
.lt-publications-filters{align-self:start;padding:20px 0;border-top:2px solid #2c555d}
.lt-publications-filters h2{margin:24px 0 12px;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:#77736c}.lt-publications-filters h2:first-child{margin-top:0}
.lt-filter-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eeece6;color:#44413d;text-decoration:none;font-size:.94rem}.lt-filter-link span{color:#969087;font-size:.78rem}.lt-filter-link:hover,.lt-filter-link.is-active{color:#a35c42;font-weight:700}
.lt-publications-results__head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.lt-publications-results__head h2{margin:0;font-family:var(--font-heading,Georgia,serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;letter-spacing:-.035em}.lt-publications-results__head>span{color:#77736c;font-size:.85rem;white-space:nowrap}
.lt-publications-grid .lt-card{height:100%}
@media(max-width:800px){.lt-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lt-publications-layout{grid-template-columns:1fr}.lt-publications-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.lt-publications-filters h2{grid-column:1/-1}.lt-writers-cta{margin-inline:16px;align-items:flex-start;flex-direction:column}.lt-home-intro{grid-template-columns:1fr}.lt-home-intro__note{max-width:420px;margin-left:auto;width:80%}}
@media(max-width:520px){.lt-publications-search{flex-direction:column;background:transparent;border:0;box-shadow:none;padding:0}.lt-publications-search input{min-height:52px;background:#fff;border:1px solid #e1dcd3!important;border-radius:5px}.lt-publications-search button{width:100%}.lt-genre-grid{gap:8px}.lt-genre-tile{min-height:130px;padding:16px}.lt-publications-filters{grid-template-columns:1fr}.lt-publications-filters h2{grid-column:auto}.lt-home-intro__note{width:90%;padding:24px}}


/* Identidad visual oficial Letrases: editorial, cálida y contemporánea. */
:root {
    --brand-ink: #171717;
    --brand-ivory: #F7F5F0;
    --brand-warm-gray: #D8D2C8;
    --brand-petrol: #28545A;
    --brand-petrol-hover: #1D4145;
    --font-heading: 'DM Serif Display', Georgia, 'Times New Roman', serif;
    --font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --color-primary: var(--brand-ink);
    --color-accent: var(--brand-petrol);
    --color-background: var(--brand-ivory);
    --color-surface: #FFFFFF;
    --color-border: var(--brand-warm-gray);
    --color-text: var(--brand-ink);
    --color-muted: #625F59;
}
html, body { background: var(--brand-ivory); color: var(--brand-ink); font-family: var(--font-body); }
h1, h2, h3, h4, h5, h6, .lt-hero__title, .lt-section__title, .lt-card__title, .lt-publication__title, .lt-explore__title { font-family: var(--font-heading); font-weight: 400; }
.lt-site-header, .lt-site-footer { background: rgba(247,245,240,.97); border-color: var(--brand-warm-gray); }
.lt-site-header__logo { font-family: var(--font-heading); color: var(--brand-ink); }
.lt-btn--primary, .lt-dash .lt-btn--primary, .wp-element-button { background: var(--brand-petrol); color: #fff; border-color: var(--brand-petrol); }
.lt-btn--primary:hover, .lt-dash .lt-btn--primary:hover, .wp-element-button:hover { background: var(--brand-petrol-hover); border-color: var(--brand-petrol-hover); }
.lt-card, .lt-author-card, .lt-dash-stat, .lt-dash-list, .lt-col-list { border-color: var(--brand-warm-gray); }
.lt-card { background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(23,23,23,.035); }
.lt-card:hover { box-shadow: 0 14px 34px rgba(23,23,23,.09); }
.lt-input:focus, .lt-textarea:focus, .lt-select:focus, .lt-explore__input:focus { border-color: var(--brand-petrol); box-shadow: 0 0 0 3px rgba(40,84,90,.12); }
.lt-dash { background: var(--brand-ivory); color: var(--brand-ink); }
.lt-dash-sidebar { background: #F0EDE6; border-color: var(--brand-warm-gray); }
.lt-dash-sidebar__logo, .lt-dash-head__title { font-family: var(--font-heading); font-weight: 400; }
.lt-dash-sidebar__nav a.is-active, .lt-dash-sidebar__nav a[aria-current="page"] { background: #E1E8E5; color: var(--brand-petrol); }
.lt-dash-stat { background: #FFFFFF; border-radius: 10px; }
.lt-empty-state { background: #FFFFFF; border-color: var(--brand-warm-gray); }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline-color: #28545A; }
@media (prefers-color-scheme: dark) { /* La identidad se mantiene clara para preservar la lectura editorial. */ }

/* Logo configurado desde Apariencia > Personalizar > Identidad del sitio. */
.lt-site-header__brand .custom-logo { max-width: 58px; max-height: 58px; }
@media (max-width: 900px) { .lt-site-header__brand .custom-logo { max-width: 48px; max-height: 48px; } }
