.pagina-editorial { max-width: 1120px; margin: auto; padding: 32px 24px 80px; }
.invitacion-articulo { margin: 0 0 12px; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 600; letter-spacing: -.035em; }
.contacto-editorial .accion-editorial { border: 0; }
.contacto-editorial .accion-editorial:disabled { opacity: .65; cursor: wait; }
.foto-editorial { margin: 32px 0; }
.foto-editorial img { display: block; width: 100%; height: auto; max-height: 440px; object-fit: cover; border-radius: 20px; }
.foto-editorial.foto-moto img { aspect-ratio: 16 / 7; height: auto; object-position: center center; }
.foto-editorial figcaption { margin-top: 10px; color: var(--color-texto-suave); font-size: .78rem; line-height: 1.5; }
.ruta-editorial { display: flex; flex-wrap: wrap; gap: 12px; font-size: .85rem; margin-bottom: 44px; color: var(--color-texto-suave); }
.cabecera-editorial { padding-bottom: 40px; border-bottom: 1px solid var(--color-borde); }
.etiqueta-editorial { color: var(--color-primario); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pagina-editorial h1 { font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1.08; letter-spacing: -.045em; max-width: 850px; margin: 20px 0; }
.entrada-editorial { font-size: 1.2rem; line-height: 1.7; max-width: 760px; color: var(--color-texto-suave); }
.con-retrato { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: center; }
.con-retrato img { width: 100%; height: auto; border-radius: 24px; }
.con-retrato img.retrato-diego { aspect-ratio: 3 / 4; object-fit: cover; object-position: center; }
.cuerpo-editorial { max-width: 820px; margin: 44px auto; line-height: 1.8; }
.cuerpo-editorial h2 { font-size: 1.65rem; letter-spacing: -.025em; margin: 36px 0 16px; }
.cuerpo-editorial li { margin: 12px 0; }
.opciones-editoriales { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.opciones-editoriales section { padding: 24px; border: 1px solid var(--color-borde); border-radius: 16px; background: var(--color-panel); }
.opciones-editoriales h3 { font-size: 1.15rem; color: var(--color-primario); }
.opciones-editoriales p { margin-bottom: 0; }
.contacto-editorial { max-width: 820px; margin: auto; padding: 32px 0; background: transparent; border-top: 1px solid var(--color-borde); }
.contacto-editorial > p { margin: 0; color: var(--color-texto-suave); line-height: 1.6; }
.acciones-editoriales { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 24px; }
.accion-editorial { display: inline-block; padding: 13px 22px; background: var(--color-primario); color: #fff; text-decoration: none; border-radius: 8px; font-weight: 600; }
.accion-editorial:hover { background: var(--color-primario-oscuro); color: #fff; }
.accion-editorial { border: 1px solid var(--color-primario); cursor: pointer; font-family: inherit; }
.accion-editorial-secundaria { background: transparent; color: var(--color-primario); }
.accion-editorial-secundaria:hover { background: var(--color-panel); color: var(--color-primario); }
.accion-editorial:focus-visible { outline: 2px solid var(--color-primario); outline-offset: 4px; }
.nota-editorial { font-size: .9rem; color: var(--color-texto-suave); margin-top: 24px; }
.guia-visual { line-height: 1.65; }
.guia-visual > section { margin-bottom: 40px; }
.guia-visual h2 { margin: 0 0 12px; font-weight: 600; }
.guia-visual .opciones-editoriales { gap: 12px; }
.guia-visual .opciones-editoriales section { padding: 22px; }
.guia-visual .opciones-editoriales h3 { margin: 0 0 10px; color: var(--color-texto); font-weight: 600; }
.guia-visual .opciones-editoriales p { font-size: .95rem; color: var(--color-texto-suave); }
.numero-guia { display: block; margin-bottom: 18px; color: var(--color-primario); font-size: .8rem; font-weight: 600; }
.detalle-guia { margin: 16px 0 0; font-size: .85rem; color: var(--color-texto-suave); }
.destacado-guia { padding: 24px; margin: 0 0 40px; border: 1px solid var(--color-borde); border-radius: 16px; background: var(--color-panel); }
.destacado-guia > p:last-child { margin-bottom: 0; }
.ejemplo-franquicia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 20px 0; }
.ejemplo-franquicia div { display: grid; gap: 6px; }
.ejemplo-franquicia strong { font-size: clamp(1.5rem, 4vw, 2.2rem); font-weight: 600; letter-spacing: -.04em; }
.ejemplo-franquicia span { font-size: .85rem; color: var(--color-texto-suave); }
.lista-revision { margin: 20px 0 0; }
.lista-revision > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--color-borde); }
.lista-revision dt { font-weight: 600; }
.lista-revision dd { margin: 0; color: var(--color-texto-suave); }
.pasos-guia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 24px 0 0; list-style: none; counter-reset: paso; }
.guia-visual .pasos-guia li { margin: 0; padding: 22px; border: 1px solid var(--color-borde); border-radius: 16px; background: var(--color-panel); counter-increment: paso; }
.pasos-guia li::before { content: counter(paso, decimal-leading-zero); display: block; margin-bottom: 16px; color: var(--color-primario); font-size: .8rem; font-weight: 600; }
.pasos-guia h3 { margin: 0 0 10px; font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; }
.pasos-guia p { margin: 0; font-size: .95rem; color: var(--color-texto-suave); }
.respuestas-guia details, .fuentes-guia { padding: 16px 0; border-bottom: 1px solid var(--color-borde); }
.guia-visual summary { cursor: pointer; font-weight: 500; }
.guia-visual summary:focus-visible { outline: 2px solid var(--color-primario); outline-offset: 4px; }
.guia-visual details p { margin: 16px 0 0; color: var(--color-texto-suave); }
.fuentes-guia { font-size: .85rem; }
.enlace-guia { display: inline-flex; gap: 10px; align-items: center; font-size: .95rem; font-weight: 500; text-underline-offset: 4px; }
@media (max-width: 560px) {
    .pasos-guia, .lista-revision > div { grid-template-columns: 1fr; }
    .lista-revision > div { gap: 6px; }
    .destacado-guia { padding: 20px; }
    .ejemplo-franquicia { gap: 10px; }
    .ejemplo-franquicia span { font-size: .75rem; }
}
@media (max-width: 760px) {
    .con-retrato, .opciones-editoriales { grid-template-columns: 1fr; gap: 20px; }
    .con-retrato img { max-width: 300px; }
    .pagina-editorial { padding: 24px 20px 48px; }
    .ruta-editorial { margin-bottom: 28px; }
    .contacto-editorial { padding: 24px 0; }
}
