/* Zona técnica trabajo — estilos.
   Colores centralizados en variables para ajustarlos al tema Astra fácilmente. */
.btf {
	--btf-verde: #111111;        /* negro: acento principal del kit visual */
	--btf-verde-osc: #000000;
	--btf-crema: #f7f8f6;
	--btf-borde: #e2e6e1;
	--btf-texto: #24312a;
	--btf-suave: #5c6a61;
	--btf-rojo: #b32d2e;
	--btf-naranja: #EF640A;      /* acento del kit visual */
	--btf-naranja-osc: #c24f04;
	color: var(--btf-texto);
}

/* Avisos ------------------------------------------------------------ */
.btf-aviso { padding: 12px 16px; border-radius: 8px; border: 1px solid; margin: 0 0 20px; }
.btf-aviso--ok { background: #eaf6ee; border-color: #bfe3cc; color: #0d5530; }
.btf-aviso--error { background: #fdeeee; border-color: #f2c4c4; color: var(--btf-rojo); }
.btf-aviso--info { background: #eef4fb; border-color: #c9dcf2; color: #1e4d7b; }

/* Publicar (desplegable) ------------------------------------------- */
.btf-publicar { border: 1px solid var(--btf-borde); border-radius: 10px; margin: 0 0 20px; background: #fff; }
.btf-publicar > summary { cursor: pointer; padding: 14px 18px; font-weight: 600; color: var(--btf-verde-osc); list-style: none; }
.btf-publicar > summary::-webkit-details-marker { display: none; }
.btf-publicar > summary:hover { color: var(--btf-naranja); }
.btf-publicar[open] > summary { border-bottom: 1px solid var(--btf-borde); }
.btf-publicar .btf-form { padding: 18px; }

/* Formularios ------------------------------------------------------- */
.btf-form label { font-weight: 600; font-size: 0.92em; }
.btf-form input[type="text"],
.btf-form input[type="search"],
.btf-form input[type="number"],
.btf-form select,
.btf-form textarea {
	width: 100%; margin-top: 4px; padding: 9px 12px;
	border: 1px solid var(--btf-borde); border-radius: 8px; background: #fff;
	font: inherit; box-sizing: border-box;
}
.btf-form textarea { resize: vertical; }
.btf-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
@media (max-width: 640px) { .btf-grid2 { grid-template-columns: 1fr; } }
.btf-hp { position: absolute !important; left: -9999px !important; height: 1px; width: 1px; opacity: 0; }

/* Filtros ----------------------------------------------------------- */
.btf-filtros { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.btf-filtros input[type="search"], .btf-filtros select, .btf-filtros input[type="text"] {
	padding: 9px 12px; border: 1px solid var(--btf-borde); border-radius: 8px; font: inherit;
}
.btf-filtros select:disabled { color: #9aa39d; background: #f4f4f4; }
.btf-region-slot { display: contents; }
.btf-filtros input[type="search"] { flex: 1 1 220px; }
.btf-nota-filtro { font-size: 0.88em; color: var(--btf-suave); margin: -12px 0 20px; }
.btf-nota-filtro strong { color: var(--btf-naranja-osc); }

/* Botones ----------------------------------------------------------- */
.btf-btn {
	display: inline-block; padding: 9px 18px; border: 0; border-radius: 8px;
	background: var(--btf-verde); color: #fff !important; font-weight: 600; font-size: 0.95em;
	cursor: pointer; text-decoration: none; transition: background 0.15s ease;
}
.btf-btn:hover, .btf-btn:focus-visible { background: var(--btf-naranja); color: #fff; }
.btf-btn--suave { background: var(--btf-crema); color: var(--btf-verde-osc) !important; border: 1px solid var(--btf-borde); }
.btf-btn--suave:hover { background: #e9e9e9; color: #000; }
.btf-btn--peligro { background: #fff; color: var(--btf-rojo) !important; border: 1px solid #eecaca; }
.btf-btn--peligro:hover { background: #fdeeee; color: var(--btf-rojo); }

/* Cajas de anuncios -------------------------------------------------- */
.btf-cajas { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 20px; margin: 0 0 24px; }
.btf-caja {
	background: #fff; border: 1px solid var(--btf-borde); border-top: 4px solid var(--btf-verde);
	border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column;
	box-shadow: 0 1px 3px rgba(20, 40, 30, 0.06);
}
.btf-caja__cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.btf-caja__cab h3 { margin: 0; font-size: 1.12em; line-height: 1.3; }
.btf-datos { list-style: none; margin: 0 0 10px; padding: 0; font-size: 0.94em; }
.btf-datos li { margin: 3px 0; }
.btf-notas { background: var(--btf-crema); border-radius: 8px; padding: 10px 12px; font-size: 0.92em; color: var(--btf-suave); margin: 0 0 12px; }
.btf-caja__pie { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 10px; border-top: 1px dashed var(--btf-borde); }
.btf-fecha { font-size: 0.85em; color: var(--btf-suave); }
.btf-contacto { margin-top: 12px; }

/* Badges ------------------------------------------------------------- */
.btf-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 0.78em; font-weight: 700; white-space: nowrap; }
.btf-badge--ambito { background: #efefef; color: #000; }
.btf-badge--cont { background: #fdeadd; color: var(--btf-naranja-osc); border: 1px solid #f7c9a8; }
.btf-badge--nuevo { background: var(--btf-naranja); color: #fff; }
.btf-badge--cerrada { background: #fdeeee; color: var(--btf-rojo); }

/* Paginación ---------------------------------------------------------- */
.btf-paginas { display: flex; gap: 6px; justify-content: center; margin: 10px 0 24px; }
.btf-pag { padding: 6px 12px; border: 1px solid var(--btf-borde); border-radius: 8px; text-decoration: none; color: #000; }
.btf-pag:hover { border-color: var(--btf-naranja); color: var(--btf-naranja); }
.btf-pag--actual { background: var(--btf-verde); border-color: var(--btf-verde); color: #fff; }

/* Panel privado -------------------------------------------------------- */
.btf-panel-enlace { margin: 0 0 18px; font-weight: 600; }
.btf-titulo { margin: 26px 0 14px; padding-bottom: 6px; border-bottom: 3px solid var(--btf-naranja); display: inline-block; }
.btf-titulo:first-of-type { margin-top: 0; }
.btf-hilo-caja { background: #fff; border: 1px solid var(--btf-borde); border-radius: 12px; padding: 18px 20px; margin: 0 0 18px; }
.btf-hilo-caja h3 { margin: 0 0 8px; font-size: 1.08em; }
.btf-hilo-caja h3 small { color: var(--btf-suave); font-weight: 400; }
.btf-acciones { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 14px; }
.btf-inline { display: inline; }
.btf-conversacion { border-top: 1px dashed var(--btf-borde); padding-top: 12px; margin-top: 12px; }
.btf-conversacion h4 { margin: 0 0 8px; font-size: 0.98em; }

.btf-mensajes { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.btf-msg { max-width: 85%; padding: 8px 12px; border-radius: 10px; font-size: 0.93em; }
.btf-msg--otro { background: var(--btf-crema); border: 1px solid var(--btf-borde); align-self: flex-start; }
.btf-msg--mio { background: #ececec; border: 1px solid #d9d9d9; align-self: flex-end; }
.btf-msg__quien { display: block; font-size: 0.8em; font-weight: 700; color: var(--btf-suave); margin-bottom: 2px; }
.btf-form--respuesta p { margin: 0 0 8px; }

.btf-vacio { color: var(--btf-suave); font-style: italic; }
