.foro-shell { width: min(920px, calc(100% - 48px)); margin: 0 auto; padding: 24px 0 56px; color: #24332b; }
.foro-header,.foro-hilo-cab { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding: 24px 0; margin: 0 0 20px; border-bottom: 1px solid #d7deda; }
.foro-header h1 { font-size: clamp(24px, 3vw, 30px); line-height: 1.3; margin: 0; color: #24332b; }
.foro-header p { color: #59675f; font-size: 15px; line-height: 1.5; margin: 8px 0 0; }
.foro-hilo-cab h1 { font-size: 22px; margin: 0; display: flex; align-items: center; gap: 8px; }
.foro-hilo-cab a { color: #176b3a; }
.foro-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.foro-shell :is(.btn,.enlace,.foro-link-button,.foro-link-button-icono) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.foro-shell .btn { border-radius: 6px; padding: 10px 20px; font-size: 14px; font-weight: 700; }
.foro-shell .btnPrimary { background: #176b3a; color: #fff; border: 1px solid #176b3a; }
.foro-shell .ghostNegro { color: #31523e; border: 1px solid #829087; background: #fff; }
.foro-shell :is(a,button,summary,textarea,select,input):focus-visible { outline: 2px solid #176b3a; outline-offset: 3px; }
.foro-compose { margin: 20px 0; border: 1px solid #d7deda; border-radius: 12px; background: #fff; }
.foro-compose > summary { cursor: pointer; padding: 20px 24px; font-weight: 700; color: #31523e; min-height: 56px; }
.foro-feed { display: grid; gap: 20px; }
.foro-post,.foro-detalle { padding: 24px; background: #fff; border: 1px solid #d7deda; border-radius: 12px; min-width: 0; }
.foro-post--oculta,.foro-fila-oculta { background: #f5f1e8; }
.foro-post__autor,.foro-author { display: flex; gap: 12px; align-items: center; }
.foro-post__autor > div,.foro-author > div { flex: 1; min-width: 0; }
.foro-author img,.foro-post__avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: 0 0 44px; }
.foro-author strong,.foro-post__autor strong { color: #24332b; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.foro-author time,.foro-post__autor p { display: block; margin: 3px 0 0; color: #59675f; font-size: 13px; line-height: 1.5; }
.foro-post__texto,.foro-texto { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; font-size: 17px; margin: 20px 0; }
.foro-post__imagen,.foro-imagen { display: block; width: 100%; max-height: 520px; object-fit: contain; border-radius: 8px; margin: 16px 0; background: #f3f6f3; }
.foro-post__acciones,.foro-detalle-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 16px; border-top: 1px solid #e4e8e5; margin-top: 16px; padding-top: 12px; color: #59675f; font-size: 14px; }
.foro-link-button { border: 0; padding: 8px 4px; background: none; color: #31523e; text-decoration: none; font: inherit; font-weight: 600; cursor: pointer; }
.foro-link-button:hover { text-decoration: underline; }
.foro-link-button-icono { width: 44px; border: 0; padding: 10px; border-radius: 6px; background: none; cursor: pointer; }
.foro-link-button-icono:hover { background: #edf2ee; }
.foro-badge,.foro-badge-oculta { display: inline-block; color: #31523e; background: #eaf3ed; padding: 4px 8px; border-radius: 4px; font-size: 12px; line-height: 1.4; }
.foro-badge-oculta { color: #735315; background: #f9edcc; }
.foro-form { padding: 24px; margin: 20px 0; background: #fff; border: 1px solid #d7deda; border-radius: 12px; min-width: 0; }
.foro-compose .foro-form { margin: 0; border: 0; padding-top: 4px; }
.foro-form h2 { font-size: 20px; margin: 0 0 16px; }
.foro-form label { display: block; margin: 12px 0 6px; font-size: 14px; font-weight: 600; color: #31523e; }
.foro-form :is(textarea,select) { width: 100%; box-sizing: border-box; max-width: 100%; padding: 12px; border: 1px solid #829087; border-radius: 8px; font: inherit; color: #24332b; background: #f8faf8; }
.foro-form textarea { min-height: 88px; resize: vertical; line-height: 1.5; }
.foro-form .btn { margin-top: 12px; }
.foro-form .text-danger { display: block; margin-top: 6px; color: #a02a28; }
.foro-form-normas,.foro-meta { color: #59675f; font-size: 13px; line-height: 1.5; }
.foro-form-normas { margin: 12px 0 0; }
.foro-normas-link { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; color: #176b3a; font-weight: 600; }
.foro-comentarios-titulo { font-size: 20px; margin: 28px 0 20px; }
.foro-comentario { position: relative; margin: 16px 0 0; padding: 16px; background: #f3f6f3; border-radius: 10px; min-width: 0; scroll-margin-top: calc(var(--busho-header-height,145px) + 20px); }
.foro-comentario > p { padding-left: 56px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; font-size: 16px; margin: 12px 0 4px; }
.foro-comentario-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding-left: 56px; color: #59675f; font-size: 13px; }
.foro-comentario--respuesta { margin-left: 40px; background: #f8faf8; }
.foro-comentario:target { outline: 2px solid #176b3a; outline-offset: 2px; }
.foro-responder { margin: 0 0 16px 56px; }
.foro-responder summary { color: #31523e; font-size: 14px; font-weight: 600; cursor: pointer; padding: 12px 0; min-height: 44px; }
.foro-respuesta-form { margin: 0; padding: 16px; }
.foro-cita { display: block; margin: 12px 0 8px 56px; padding: 12px; color: #31523e; text-decoration: none; border: 1px solid #d7deda; border-radius: 6px; background: #fff; }
.foro-cita-autor { display: block; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.foro-cita-texto { font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.foro-reportar summary { list-style: none; }
.foro-reportar-form { display: flex; flex-direction: column; gap: 8px; max-width: 340px; padding: 12px 0; }
.foro-reportar-form :is(select,textarea) { border: 1px solid #829087; padding: 10px; border-radius: 6px; font: inherit; max-width: 100%; }
.foro-alert { padding: 16px; background: #fff3d7; color: #624c20; border-radius: 8px; margin: 16px 0; }
.foro-empty,.foro-vacio,.foro-fila-vacia { padding: 32px 24px; line-height: 1.6; color: #59675f; display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; }
.foro-empty strong,.foro-vacio strong,.foro-fila-vacia strong { color: #24332b; }
.foro-board { border: 1px solid #d7deda; border-radius: 12px; overflow: hidden; background: #fff; }
.foro-board-row { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-bottom: 1px solid #e4e8e5; }
.foro-board-row:last-child { border-bottom: 0; }
.foro-board-icono { width: 48px; height: 48px; border-radius: 8px; display: grid; place-items: center; background: #edf3ef; flex-shrink: 0; }
.foro-board-cuerpo { min-width: 0; flex: 1; }
.foro-board-nombre { font-size: 17px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.foro-board-ubic { color: #59675f; font-size: 14px; line-height: 1.5; margin-top: 4px; overflow-wrap: anywhere; }
@media(max-width: 640px) {
    .foro-shell { width: 100%; padding: 16px 16px 40px; }
    .foro-header,.foro-hilo-cab { padding: 16px 0; }
    .foro-post,.foro-detalle,.foro-form { padding: 18px; }
    .foro-post__texto,.foro-texto { font-size: 16px; }
    .foro-comentario { padding: 12px; }
    .foro-comentario--respuesta { margin-left: 20px; }
    .foro-comentario > p,.foro-comentario-footer { padding-left: 0; }
    .foro-cita { margin-left: 0; }
    .foro-responder { margin-left: 12px; }
    .foro-board-row { padding: 16px; flex-wrap: wrap; }
    .foro-board-row .btn { margin-left: 64px; }
}
